Badge
nswds-ui/badgeFreeComponent
A badge component with variants, colours, sizes, and interactive button/link variants.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/digitalnsw/nswds-ui/main/apps/registry/public/r/badge.jsonSource
1'use client'23import { Button as ButtonPrimitive } from '@base-ui/react/button'4import { cva, type VariantProps } from 'class-variance-authority'5import clsx from 'clsx'6import React from 'react'78import { cn } from '@/lib/utils'9import { TouchTarget } from '@/components/button'10import { Link } from '@/components/link'1112const focusOutline = {13 'primary/grey': [14 // Base15 '[--focus-outline:var(--color-primary-800)]',16 // Base dark mode17 'dark:[--focus-outline:var(--color-grey-600)]',18 // Soft, Surface and outline19 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',20 // Soft, Surface and outline dark mode21 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',22 ],23 light: [24 // Base25 '[--focus-outline:var(--color-grey-300)]',26 // Base dark mode27 'dark:[--focus-outline:var(--color-grey-100)]',28 // Soft dark mode29 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',30 // Surface31 'data-[variant=surface]:[--focus-outline:var(--color-grey-600)]',32 // Surface dark mode33 'dark:data-[variant=surface]:[--focus-outline:var(--color-white)]/70',34 ],35 'primary/white': [36 // Base37 '[--focus-outline:var(--color-primary-800)]',38 // Base dark mode39 'dark:[--focus-outline:var(--color-white)]',40 // Soft41 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',42 // Soft dark mode43 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',44 ],45 grey: [46 // Base47 '[--focus-outline:var(--color-grey-600)]',48 // Base dark mode49 'dark:[--focus-outline:var(--color-grey-500)]',50 // Soft51 'data-[variant=soft]:[--focus-outline:var(--color-grey-600)]/20',52 // Soft dark mode53 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/20',54 // Outline dark mode55 'dark:data-[variant=outline]:[--focus-outline:var(--color-grey-100)]/30',56 // Surface dark mode57 'dark:data-[variant=surface]:[--focus-outline:var(--color-grey-200)]/20',58 ],59 white: [60 // Base61 '[--focus-outline:var(--color-white)]',62 // Soft63 'data-[variant=soft]:[--focus-outline:var(--color-white)]/20',64 ],65 primary: [66 // Base67 '[--focus-outline:var(--color-primary-800)]',68 // Soft69 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',70 // Soft dark mode71 'dark:data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/60',72 ],73 secondary: [74 // Base75// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from @nswds/ui
All 46 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Aspect Ratioaspect-ratio | @nswds/ui | Components | Free | 2 deps · 2 files | |
| Buttonbutton | @nswds/ui | Components | Free | 4 deps · 2 files | |
| Cardcard | @nswds/ui | Components | Free | 2 deps · 2 files | |
| Collapsiblecollapsible | @nswds/ui | Components | Free | 1 dep | |
| Drawerdrawer | @nswds/ui | Components | Free | 3 deps · 2 files | |
| Expandable Searchexpandable-search | @nswds/ui | Components | Free | 3 deps · 2 files | |
| Fieldfield | @nswds/ui | Components | Free | 4 deps · 2 files | |
| Footerfooter | @nswds/ui | Components | Free | 3 deps · 2 files |
