{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "theme", "title": "NSWDS Theme", "description": "NSW Government semantic design tokens — maps the shadcn token names onto the @nswds/tokens palette for light and dark mode.", "dependencies": [ "@nswds/tokens" ], "cssVars": { "theme": { "font-heading": "var(--font-sans)" }, "light": { "background": "var(--surface-default)", "foreground": "var(--text-default)", "card": "var(--surface-raised)", "card-foreground": "var(--text-default)", "popover": "var(--surface-raised)", "popover-foreground": "var(--text-default)", "primary": "var(--action-default)", "primary-foreground": "var(--text-inverse)", "secondary": "var(--surface-sunken)", "secondary-foreground": "var(--text-default)", "muted": "var(--background-subtle)", "muted-foreground": "var(--text-muted)", "accent": "var(--background-subtle)", "accent-foreground": "var(--text-default)", "destructive": "var(--danger-solid)", "border": "var(--border-default)", "input": "var(--border-default)", "ring": "var(--border-strong)", "chart-1": "var(--primary-450)", "chart-2": "var(--primary-550)", "chart-3": "var(--primary-600)", "chart-4": "var(--primary-650)", "chart-5": "var(--primary-700)", "radius": "var(--radius-md)", "sidebar": "var(--background-subtle)", "sidebar-foreground": "var(--text-default)", "sidebar-primary": "var(--action-default)", "sidebar-primary-foreground": "var(--text-inverse)", "sidebar-accent": "var(--background-subtle)", "sidebar-accent-foreground": "var(--text-default)", "sidebar-border": "var(--border-default)", "sidebar-ring": "var(--border-strong)", "input-border": "var(--border-strong)", "input-foreground": "var(--text-default)", "input-placeholder": "var(--text-muted)", "input-surface": "var(--surface-default)", "input-surface-hover": "var(--surface-sunken)", "input-ring": "var(--border-strong)", "input-invalid-border": "var(--danger-border)", "input-invalid-surface-hover": "var(--danger-surface)", "input-invalid-ring": "var(--danger-solid)" }, "dark": {} }, "docs": "Add the @nswds/tokens token layers to your Tailwind entry CSS (after `@import \"tailwindcss\";`):\n\n@import \"@nswds/tokens/tailwind/preset.css\";\n@import \"@nswds/tokens/css/colors/global/oklch.css\";\n@import \"@nswds/tokens/css/colors/semantic/oklch.css\";\n@import \"@nswds/tokens/css/colors/semantic/oklch.dark.css\";\n@import \"@nswds/tokens/css/colors/themes/masterbrand/oklch.css\";\n@import \"@nswds/tokens/tailwind/colors/themes/masterbrand/oklch.css\";\n\n`preset.css` wires every token category (colour, radius, space, typography, motion, shadow, border) into Tailwind in a single import. Keep the oklch colour layers AFTER it so the palette stays oklch (preset bundles hex values); the masterbrand layers add the brand theme, which preset excludes. The semantic DARK layer is scoped `.dark`, so the role tokens these variables map onto flip automatically — toggle the `.dark` class on your root element for dark mode (no separate dark variable block needed).\n\nSee https://github.com/digitalnsw/nswds-ui/blob/main/docs/installing-from-the-registry.md", "type": "registry:theme", "meta": { "nswdsVersion": "5.1.0" } }