@nswds/app 1.28.2 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Icons.tsx","../src/lib/utils.ts","../src/components/Accordion.tsx","../src/components/Alert.tsx","../src/components/AspectRatio.tsx","../src/components/Avatar.tsx","../src/components/Link.tsx","../src/components/Button.tsx","../src/components/Badge.tsx","../src/lib/colors.ts","../src/components/BaseColorSwatches.tsx","../src/components/Breadcrumb.tsx","../src/components/DropdownMenu.tsx","../src/components/Breadcrumbs.tsx","../src/components/Card.tsx","../src/components/Checkbox.tsx","../src/components/Social.tsx","../src/components/Tooltip.tsx","../src/components/PreWithCopy.tsx","../src/components/CodeHighlight.tsx","../src/components/Select.tsx","../src/components/Popover.tsx","../src/components/Label.tsx","../src/components/RadioGroup.tsx","../src/components/SegmentedControl.tsx","../src/components/ThemeSelector.tsx","../src/lib/color-palette.ts","../src/components/CodeDemo.tsx","../src/components/Collapsible.tsx","../src/components/ColorCard.tsx","../src/components/ColourScale.tsx","../src/components/ColorSwatches.tsx","../src/components/Dialog.tsx","../src/components/Command.tsx","../src/components/ContextMenu.tsx","../src/components/Drawer.tsx","../src/components/DynamicFavicon.tsx","../src/components/ExpandableSearch.tsx","../src/components/Separator.tsx","../src/components/Footer.tsx","../src/components/Form.tsx","../src/components/Toggle.tsx","../src/components/ToggleGroup.tsx","../src/components/FormatToggle.tsx","../src/components/Heading.tsx","../package.json","../src/components/Logo.tsx","../src/components/ThemeSwitcher.tsx","../src/components/SiteSearch.tsx","../src/components/Header.tsx","../src/components/Input.tsx","../src/components/List.tsx","../src/components/Masthead.tsx","../src/components/Menubar.tsx","../src/components/Navigation.tsx","../src/components/NavigationMenu.tsx","../src/components/Pagination.tsx","../src/components/PrevNextLinks.tsx","../src/components/Progress.tsx","../src/components/Resizable.tsx","../src/components/ScrollArea.tsx","../src/components/Sheet.tsx","../src/components/SidebarNavigation.tsx","../src/components/StepIndicator.tsx","../src/components/StepNavigation.tsx","../src/components/Skeleton.tsx","../src/components/Slider.tsx","../src/components/Sonner.tsx","../src/components/Spinner.tsx","../src/components/Switch.tsx","../src/components/Table.tsx","../src/components/TableOfContents.tsx","../src/components/Tabs.tsx","../src/components/Text.tsx","../src/components/Textarea.tsx","../src/components/ViewToggle.tsx","../src/components/ThemeColorPalette.tsx","../src/components/ThemeProvider.tsx","../src/components/TocProvider.tsx","../src/lib/sections.ts","../src/lib/create-form-store.ts","../src/types/types.ts"],"names":["jsx","twMerge","clsx","AccordionPrimitive","jsxs","cva","AspectRatioPrimitive","AvatarPrimitive","forwardRef","Link","Headless","NextLink","Button","Headless2","Fragment","styles","BadgeButton","Headless3","culori","colors","colorThemes","culori2","Slot","DropdownMenuPrimitive","usePathname","React4","CheckboxPrimitive","TooltipPrimitive","useRef","useState","Prism","SelectPrimitive","PopoverPrimitive","Label","LabelPrimitive","RadioGroup","RadioGroupPrimitive","TabsPrimitive","theme","useTheme","useEffect","React","data","variant","code","document","useMemo","Icon","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","rgb","oklch","useCopyToClipboard","toast","DialogPrimitive","CommandPrimitive","ContextMenuPrimitive","DrawerPrimitive","React6","Separator","SeparatorPrimitive","FormProvider","React7","Controller","useFormContext","useFormState","TogglePrimitive","React8","ToggleGroupPrimitive","navigation","React9","useRouter","open","page","Header","cn","List","React10","MenubarPrimitive","NavigationMenuPrimitive","ProgressPrimitive","ResizablePrimitive","ScrollAreaPrimitive","SheetPrimitive","React11","React12","SliderPrimitive","Sonner","SwitchPrimitive","getHeadings","useCallback","tableOfContents","Tabs","TabsPrimitive2","NextThemesProvider","createContext","useContext","slugify","slugifyWithCounter","create","persist","createJSONStorage"],"mappings":"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","file":"index.cjs","sourcesContent":["import { IconProps } from '../types/types'\n\nexport const Icons = {\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z' />\n </svg>\n ),\n add: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M440-440H240q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h200v-200q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v200h200q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H520v200q0 17-11.5 28.5T480-200q-17 0-28.5-11.5T440-240v-200Z' />\n </svg>\n ),\n attach_file: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-330q0-17 11.5-28.5T400-720q17 0 28.5 11.5T440-680v330q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-350q0-17 11.5-28.5T680-720q17 0 28.5 11.5T720-680v350Z' />\n </svg>\n ),\n calendar_month: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-40q0-17 11.5-28.5T280-880q17 0 28.5 11.5T320-840v40h320v-40q0-17 11.5-28.5T680-880q17 0 28.5 11.5T720-840v40h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-160 0q-17 0-28.5-11.5T280-440q0-17 11.5-28.5T320-480q17 0 28.5 11.5T360-440q0 17-11.5 28.5T320-400Zm320 0q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-160 0q-17 0-28.5-11.5T280-280q0-17 11.5-28.5T320-320q17 0 28.5 11.5T360-280q0 17-11.5 28.5T320-240Zm320 0q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z' />\n </svg>\n ),\n calendar_today: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-40q0-17 11.5-28.5T280-880q17 0 28.5 11.5T320-840v40h320v-40q0-17 11.5-28.5T680-880q17 0 28.5 11.5T720-840v40h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Z' />\n </svg>\n ),\n cancel: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check_circle: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z' />\n </svg>\n ),\n chevron_down: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z' />\n </svg>\n ),\n chevron_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m432-480 156 156q11 11 11 28t-11 28q-11 11-28 11t-28-11L348-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 28-11t28 11q11 11 11 28t-11 28L432-480Z' />\n </svg>\n ),\n chevron_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z' />\n </svg>\n ),\n chevron_up: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z' />\n </svg>\n ),\n circle: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n close: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z' />\n </svg>\n ),\n collapse_all: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-264 324-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l155-155q23-23 57-23t57 23l155 155q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-264Zm0-432 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L537-641q-23 23-57 23t-57-23L268-796q-11-11-11-28t11-28q11-11 28-11t28 11l156 156Z' />\n </svg>\n ),\n computer: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M80-120q-17 0-28.5-11.5T40-160q0-17 11.5-28.5T80-200h800q17 0 28.5 11.5T920-160q0 17-11.5 28.5T880-120H80Zm80-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n contrast: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm40-83q119-15 199.5-104.5T800-480q0-123-80.5-212.5T520-797v634Z' />\n </svg>\n ),\n copy: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-520q0-17 11.5-28.5T160-720q17 0 28.5 11.5T200-680v520h400q17 0 28.5 11.5T640-120q0 17-11.5 28.5T600-80H200Zm160-240v-480 480Z' />\n </svg>\n ),\n dark_mode: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-120q-151 0-255.5-104.5T120-480q0-138 90-239.5T440-838q13-2 23 3.5t16 14.5q6 9 6.5 21t-7.5 23q-17 26-25.5 55t-8.5 61q0 90 63 153t153 63q31 0 61.5-9t54.5-25q11-7 22.5-6.5T819-479q10 5 15.5 15t3.5 24q-14 138-117.5 229T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z' />\n </svg>\n ),\n delete: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M280-120q-33 0-56.5-23.5T200-200v-520q-17 0-28.5-11.5T160-760q0-17 11.5-28.5T200-800h160q0-17 11.5-28.5T400-840h160q17 0 28.5 11.5T600-800h160q17 0 28.5 11.5T800-760q0 17-11.5 28.5T760-720v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM400-280q17 0 28.5-11.5T440-320v-280q0-17-11.5-28.5T400-640q-17 0-28.5 11.5T360-600v280q0 17 11.5 28.5T400-280Zm160 0q17 0 28.5-11.5T600-320v-280q0-17-11.5-28.5T560-640q-17 0-28.5 11.5T520-600v280q0 17 11.5 28.5T560-280ZM280-720v520-520Z' />\n </svg>\n ),\n desktop: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200v-80H160q-33 0-56.5-23.5T80-360v-400q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v400q0 33-23.5 56.5T800-280H560v80h40q17 0 28.5 11.5T640-160q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160q0-17 11.5-28.5T360-200h40ZM160-360h640v-400H160v400Zm0 0v-400 400Z' />\n </svg>\n ),\n display_settings: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M300-410v20q0 13 8.5 21.5T330-360q13 0 21.5-8.5T360-390v-100q0-13-8.5-21.5T330-520q-13 0-21.5 8.5T300-490v20h-30q-13 0-21.5 8.5T240-440q0 13 8.5 21.5T270-410h30Zm130 0h260q13 0 21.5-8.5T720-440q0-13-8.5-21.5T690-470H430q-13 0-21.5 8.5T400-440q0 13 8.5 21.5T430-410Zm230-160h30q13 0 21.5-8.5T720-600q0-13-8.5-21.5T690-630h-30v-20q0-13-8.5-21.5T630-680q-13 0-21.5 8.5T600-650v100q0 13 8.5 21.5T630-520q13 0 21.5-8.5T660-550v-20Zm-390 0h260q13 0 21.5-8.5T560-600q0-13-8.5-21.5T530-630H270q-13 0-21.5 8.5T240-600q0 13 8.5 21.5T270-570ZM160-200q-33 0-56.5-23.5T80-280v-480q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v480q0 33-23.5 56.5T800-200H640v40q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160v-40H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm440-80h120v-560H640v560Zm-80 0v-560H200v560h360Zm80 0h120-120Z' />\n </svg>\n ),\n dock_to_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z' />\n </svg>\n ),\n double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m313-480 155 156q11 11 11.5 27.5T468-268q-11 11-28 11t-28-11L228-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T468-692q11 11 11 28t-11 28L313-480Zm264 0 155 156q11 11 11.5 27.5T732-268q-11 11-28 11t-28-11L492-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T732-692q11 11 11 28t-11 28L577-480Z' />\n </svg>\n ),\n double_arrow_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M383-480 228-636q-11-11-11.5-27.5T228-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L284-268q-11 11-27.5 11.5T228-268q-11-11-11-28t11-28l155-156Zm264 0L492-636q-11-11-11.5-27.5T492-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L548-268q-11 11-27.5 11.5T492-268q-11-11-11-28t11-28l155-156Z' />\n </svg>\n ),\n download: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-337q-8 0-15-2.5t-13-8.5L308-492q-12-12-11.5-28t11.5-28q12-12 28.5-12.5T365-549l75 75v-286q0-17 11.5-28.5T480-800q17 0 28.5 11.5T520-760v286l75-75q12-12 28.5-11.5T652-548q11 12 11.5 28T652-492L508-348q-6 6-13 8.5t-15 2.5ZM240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Z' />\n </svg>\n ),\n drag_indicator: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160Zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160ZM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400Zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400ZM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640Zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640Z' />\n </svg>\n ),\n east: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M727-440H120q-17 0-28.5-11.5T80-480q0-17 11.5-28.5T120-520h607L572-676q-11-11-11.5-27.5T572-732q11-11 28-11t28 11l224 224q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L628-228q-11 11-27.5 11T572-228q-12-12-12-28.5t12-28.5l155-155Z' />\n </svg>\n ),\n error: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm0-160q17 0 28.5-11.5T520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n exclamation: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-400q-17 0-28.5-11.5T440-440v-280q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v280q0 17-11.5 28.5T480-400Zm0 200q-17 0-28.5-11.5T440-240q0-17 11.5-28.5T480-280q17 0 28.5 11.5T520-240q0 17-11.5 28.5T480-200Z' />\n </svg>\n ),\n eye: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-72q-45 0-76.5-31.5T372-500q0-45 31.5-76.5T480-608q45 0 76.5 31.5T588-500q0 45-31.5 76.5T480-392Zm0 192q-134 0-244.5-72T61-462q-5-9-7.5-18.5T51-500q0-10 2.5-19.5T61-538q64-118 174.5-190T480-800q134 0 244.5 72T899-538q5 9 7.5 18.5T909-500q0 10-2.5 19.5T899-462q-64 118-174.5 190T480-200Zm0-300Zm0 220q113 0 207.5-59.5T832-500q-50-101-144.5-160.5T480-720q-113 0-207.5 59.5T128-500q50 101 144.5 160.5T480-280Z' />\n </svg>\n ),\n favorite: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-147q-14 0-28.5-5T426-168l-69-63q-106-97-191.5-192.5T80-634q0-94 63-157t157-63q53 0 100 22.5t80 61.5q33-39 80-61.5T660-854q94 0 157 63t63 157q0 115-85 211T602-230l-68 62q-11 11-25.5 16t-28.5 5Zm-38-543q-29-41-62-62.5T300-774q-60 0-100 40t-40 100q0 52 37 110.5T285.5-410q51.5 55 106 103t88.5 79q34-31 88.5-79t106-103Q726-465 763-523.5T800-634q0-60-40-100t-100-40q-47 0-80 21.5T518-690q-7 10-17 15t-21 5q-11 0-21-5t-17-15Zm38 189Z' />\n </svg>\n ),\n format_align_center: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Zm160-160q-17 0-28.5-11.5T280-320q0-17 11.5-28.5T320-360h320q17 0 28.5 11.5T680-320q0 17-11.5 28.5T640-280H320ZM160-440q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm160-160q-17 0-28.5-11.5T280-640q0-17 11.5-28.5T320-680h320q17 0 28.5 11.5T680-640q0 17-11.5 28.5T640-600H320ZM160-760q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Z' />\n </svg>\n ),\n format_align_justify: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Zm0-160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360h640q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H160Zm0-160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-160q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680h640q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600H160Zm0-160q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Z' />\n </svg>\n ),\n format_align_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Zm0-160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360h400q17 0 28.5 11.5T600-320q0 17-11.5 28.5T560-280H160Zm0-160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-160q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680h400q17 0 28.5 11.5T600-640q0 17-11.5 28.5T560-600H160Zm0-160q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Z' />\n </svg>\n ),\n format_align_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-760q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Zm240 160q-17 0-28.5-11.5T360-640q0-17 11.5-28.5T400-680h400q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600H400ZM160-440q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm240 160q-17 0-28.5-11.5T360-320q0-17 11.5-28.5T400-360h400q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H400ZM160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Z' />\n </svg>\n ),\n format_bold: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M352-200q-33 0-56.5-23.5T272-280v-400q0-33 23.5-56.5T352-760h141q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H352Zm41-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z' />\n </svg>\n ),\n format_color_text: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M120 0q-17 0-28.5-11.5T80-40v-80q0-17 11.5-28.5T120-160h720q17 0 28.5 11.5T880-120v80q0 17-11.5 28.5T840 0H120Zm165-280q-23 0-36.5-19.5T243-341l176-469q5-14 17-22t26-8h36q15 0 26.5 8t16.5 22l177 470q8 22-5.5 41T676-280q-14 0-26-8t-17-22l-39-114H368l-41 115q-5 14-16.5 21.5T285-280Zm111-224h168l-82-232h-4l-82 232Z' />\n </svg>\n ),\n format_h1: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-280q-17 0-28.5-11.5T200-320v-320q0-17 11.5-28.5T240-680q17 0 28.5 11.5T280-640v120h160v-120q0-17 11.5-28.5T480-680q17 0 28.5 11.5T520-640v320q0 17-11.5 28.5T480-280q-17 0-28.5-11.5T440-320v-120H280v120q0 17-11.5 28.5T240-280Zm480 0q-17 0-28.5-11.5T680-320v-280h-40q-17 0-28.5-11.5T600-640q0-17 11.5-28.5T640-680h80q17 0 28.5 11.5T760-640v320q0 17-11.5 28.5T720-280Z' />\n </svg>\n ),\n format_h2: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320v-320q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640v120h160v-120q0-17 11.5-28.5T400-680q17 0 28.5 11.5T440-640v320q0 17-11.5 28.5T400-280q-17 0-28.5-11.5T360-320v-120H200v120q0 17-11.5 28.5T160-280Zm400 0q-17 0-28.5-11.5T520-320v-120q0-33 23.5-56.5T600-520h160v-80H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h200q33 0 56.5 23.5T840-600v80q0 33-23.5 56.5T760-440H600v80h200q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H560Z' />\n </svg>\n ),\n format_h3: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320v-320q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640v120h160v-120q0-17 11.5-28.5T400-680q17 0 28.5 11.5T440-640v320q0 17-11.5 28.5T400-280q-17 0-28.5-11.5T360-320v-120H200v120q0 17-11.5 28.5T160-280Zm400 0q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h200v-80H640q-17 0-28.5-11.5T600-480q0-17 11.5-28.5T640-520h120v-80H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h200q33 0 56.5 23.5T840-600v240q0 33-23.5 56.5T760-280H560Z' />\n </svg>\n ),\n format_h4: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320v-320q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640v120h160v-120q0-17 11.5-28.5T400-680q17 0 28.5 11.5T440-640v320q0 17-11.5 28.5T400-280q-17 0-28.5-11.5T360-320v-120H200v120q0 17-11.5 28.5T160-280Zm600 0q-17 0-28.5-11.5T720-320v-80H560q-17 0-28.5-11.5T520-440v-200q0-17 11.5-28.5T560-680q17 0 28.5 11.5T600-640v160h120v-160q0-17 11.5-28.5T760-680q17 0 28.5 11.5T800-640v160h40q17 0 28.5 11.5T880-440q0 17-11.5 28.5T840-400h-40v80q0 17-11.5 28.5T760-280Z' />\n </svg>\n ),\n format_italic: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M250-200q-21 0-35.5-14.5T200-250q0-21 14.5-35.5T250-300h110l120-360H370q-21 0-35.5-14.5T320-710q0-21 14.5-35.5T370-760h300q21 0 35.5 14.5T720-710q0 21-14.5 35.5T670-660h-90L460-300h90q21 0 35.5 14.5T600-250q0 21-14.5 35.5T550-200H250Z' />\n </svg>\n ),\n format_list_bulleted: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200q-17 0-28.5-11.5T360-240q0-17 11.5-28.5T400-280h400q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H400Zm0-240q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h400q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H400Zm0-240q-17 0-28.5-11.5T360-720q0-17 11.5-28.5T400-760h400q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H400ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm0-240q-33 0-56.5-23.5T120-720q0-33 23.5-56.5T200-800q33 0 56.5 23.5T280-720q0 33-23.5 56.5T200-640Z' />\n </svg>\n ),\n format_list_numbered: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M150-80q-13 0-21.5-8.5T120-110q0-13 8.5-21.5T150-140h70v-30h-30q-13 0-21.5-8.5T160-200q0-13 8.5-21.5T190-230h30v-30h-70q-13 0-21.5-8.5T120-290q0-13 8.5-21.5T150-320h90q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80h-90Zm0-280q-13 0-21.5-8.5T120-390v-80q0-17 11.5-28.5T160-510h60v-30h-70q-13 0-21.5-8.5T120-570q0-13 8.5-21.5T150-600h90q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h70q13 0 21.5 8.5T280-390q0 13-8.5 21.5T250-360H150Zm60-280q-13 0-21.5-8.5T180-670v-150h-30q-13 0-21.5-8.5T120-850q0-13 8.5-21.5T150-880h60q13 0 21.5 8.5T240-850v180q0 13-8.5 21.5T210-640Zm190 440q-17 0-28.5-11.5T360-240q0-17 11.5-28.5T400-280h400q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H400Zm0-240q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h400q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H400Zm0-240q-17 0-28.5-11.5T360-720q0-17 11.5-28.5T400-760h400q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H400Z' />\n </svg>\n ),\n format_quote: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m262-300 58-100q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 23-5.5 42.5T458-480L331-260q-5 9-14 14.5t-20 5.5q-23 0-34.5-20t-.5-40Zm360 0 58-100q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 23-5.5 42.5T818-480L691-260q-5 9-14 14.5t-20 5.5q-23 0-34.5-20t-.5-40ZM320-500q25 0 42.5-17.5T380-560q0-25-17.5-42.5T320-620q-25 0-42.5 17.5T260-560q0 25 17.5 42.5T320-500Zm360 0q25 0 42.5-17.5T740-560q0-25-17.5-42.5T680-620q-25 0-42.5 17.5T620-560q0 25 17.5 42.5T680-500Zm0-60Zm-360 0Z' />\n </svg>\n ),\n format_size: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M560-680H420q-25 0-42.5-17.5T360-740q0-25 17.5-42.5T420-800h400q25 0 42.5 17.5T880-740q0 25-17.5 42.5T820-680H680v460q0 25-17.5 42.5T620-160q-25 0-42.5-17.5T560-220v-460ZM200-480h-60q-25 0-42.5-17.5T80-540q0-25 17.5-42.5T140-600h240q25 0 42.5 17.5T440-540q0 25-17.5 42.5T380-480h-60v260q0 25-17.5 42.5T260-160q-25 0-42.5-17.5T200-220v-260Z' />\n </svg>\n ),\n format_underlined: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-120q-17 0-28.5-11.5T200-160q0-17 11.5-28.5T240-200h480q17 0 28.5 11.5T760-160q0 17-11.5 28.5T720-120H240Zm240-160q-101 0-157-63t-56-167v-279q0-21 15.5-36t36.5-15q21 0 36 15t15 36v285q0 56 28 91t82 35q54 0 82-35t28-91v-285q0-21 15.5-36t36.5-15q21 0 36 15t15 36v279q0 104-56 167t-157 63Z' />\n </svg>\n ),\n grid_on: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h133v-133H200v133Zm213 0h134v-133H413v133Zm214 0h133v-133H627v133ZM200-413h133v-134H200v134Zm213 0h134v-134H413v134Zm214 0h133v-134H627v134ZM200-627h133v-133H200v133Zm213 0h134v-133H413v133Zm214 0h133v-133H627v133Z' />\n </svg>\n ),\n grid_view: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-520q-33 0-56.5-23.5T120-600v-160q0-33 23.5-56.5T200-840h160q33 0 56.5 23.5T440-760v160q0 33-23.5 56.5T360-520H200Zm0 400q-33 0-56.5-23.5T120-200v-160q0-33 23.5-56.5T200-440h160q33 0 56.5 23.5T440-360v160q0 33-23.5 56.5T360-120H200Zm400-400q-33 0-56.5-23.5T520-600v-160q0-33 23.5-56.5T600-840h160q33 0 56.5 23.5T840-760v160q0 33-23.5 56.5T760-520H600Zm0 400q-33 0-56.5-23.5T520-200v-160q0-33 23.5-56.5T600-440h160q33 0 56.5 23.5T840-360v160q0 33-23.5 56.5T760-120H600ZM200-600h160v-160H200v160Zm400 0h160v-160H600v160Zm0 400h160v-160H600v160Zm-400 0h160v-160H200v160Zm400-400Zm0 240Zm-240 0Zm0-240Z' />\n </svg>\n ),\n help: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm2 160q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Zm4-172q25 0 43.5 16t18.5 40q0 22-13.5 39T502-525q-23 20-40.5 44T444-427q0 14 10.5 23.5T479-394q15 0 25.5-10t13.5-25q4-21 18-37.5t30-31.5q23-22 39.5-48t16.5-58q0-51-41.5-83.5T484-720q-38 0-72.5 16T359-655q-7 12-4.5 25.5T368-609q14 8 29 5t25-17q11-15 27.5-23t34.5-8Z' />\n </svg>\n ),\n info: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320v-160q0-17-11.5-28.5T480-520q-17 0-28.5 11.5T440-480v160q0 17 11.5 28.5T480-280Zm0-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n language: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q83 0 155.5 31.5t127 86q54.5 54.5 86 127T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Zm0-82q26-36 45-75t31-83H404q12 44 31 83t45 75Zm-104-16q-18-33-31.5-68.5T322-320H204q29 50 72.5 87t99.5 55Zm208 0q56-18 99.5-55t72.5-87H638q-9 38-22.5 73.5T584-178ZM170-400h136q-3-20-4.5-39.5T300-480q0-21 1.5-40.5T306-560H170q-5 20-7.5 39.5T160-480q0 21 2.5 40.5T170-400Zm216 0h188q3-20 4.5-39.5T580-480q0-21-1.5-40.5T574-560H386q-3 20-4.5 39.5T380-480q0 21 1.5 40.5T386-400Zm268 0h136q5-20 7.5-39.5T800-480q0-21-2.5-40.5T790-560H654q3 20 4.5 39.5T660-480q0 21-1.5 40.5T654-400Zm-16-240h118q-29-50-72.5-87T584-782q18 33 31.5 68.5T638-640Zm-234 0h152q-12-44-31-83t-45-75q-26 36-45 75t-31 83Zm-200 0h118q9-38 22.5-73.5T376-782q-56 18-99.5 55T204-640Z' />\n </svg>\n ),\n laptop: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M80-160q-33 0-56.5-23.5T0-240h160q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240h160q0 33-23.5 56.5T880-160H80Zm400-40q17 0 28.5-11.5T520-240q0-17-11.5-28.5T480-280q-17 0-28.5 11.5T440-240q0 17 11.5 28.5T480-200ZM160-320h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n light_mode: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM80-440q-17 0-28.5-11.5T40-480q0-17 11.5-28.5T80-520h80q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440H80Zm720 0q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520h80q17 0 28.5 11.5T920-480q0 17-11.5 28.5T880-440h-80ZM480-760q-17 0-28.5-11.5T440-800v-80q0-17 11.5-28.5T480-920q17 0 28.5 11.5T520-880v80q0 17-11.5 28.5T480-760Zm0 720q-17 0-28.5-11.5T440-80v-80q0-17 11.5-28.5T480-200q17 0 28.5 11.5T520-160v80q0 17-11.5 28.5T480-40ZM226-678l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226-678Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734-282l43 42q12 11 11.5 28T777-183q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678-734l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183-183q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282-226l-42 43q-11 12-28 11.5T183-183Zm297-297Z' />\n </svg>\n ),\n link: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M280-280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h120q17 0 28.5 11.5T440-640q0 17-11.5 28.5T400-600H280q-50 0-85 35t-35 85q0 50 35 85t85 35h120q17 0 28.5 11.5T440-320q0 17-11.5 28.5T400-280H280Zm80-160q-17 0-28.5-11.5T320-480q0-17 11.5-28.5T360-520h240q17 0 28.5 11.5T640-480q0 17-11.5 28.5T600-440H360Zm200 160q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h120q50 0 85-35t35-85q0-50-35-85t-85-35H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h120q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H560Z' />\n </svg>\n ),\n list: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M320-600q-17 0-28.5-11.5T280-640q0-17 11.5-28.5T320-680h480q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600H320Zm0 160q-17 0-28.5-11.5T280-480q0-17 11.5-28.5T320-520h480q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H320Zm0 160q-17 0-28.5-11.5T280-320q0-17 11.5-28.5T320-360h480q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H320ZM160-600q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640q0 17-11.5 28.5T160-600Zm0 160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440Zm0 160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360q17 0 28.5 11.5T200-320q0 17-11.5 28.5T160-280Z' />\n </svg>\n ),\n login: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M520-120q-17 0-28.5-11.5T480-160q0-17 11.5-28.5T520-200h240v-560H520q-17 0-28.5-11.5T480-800q0-17 11.5-28.5T520-840h240q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H520Zm-73-320H160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L429-309q-12 12-28.5 11.5T372-310q-11-12-10.5-28.5T373-366l74-74Z' />\n </svg>\n ),\n logout: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h240q17 0 28.5 11.5T480-160q0 17-11.5 28.5T440-120H200Zm487-320H400q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L669-309q-12 12-28.5 11.5T612-310q-11-12-10.5-28.5T613-366l74-74Z' />\n </svg>\n ),\n mail: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm640-480L501-453q-5 3-10.5 4.5T480-447q-5 0-10.5-1.5T459-453L160-640v400h640v-400ZM480-520l320-200H160l320 200ZM160-640v10-59 1-32 32-.5 58.5-10 400-400Z' />\n </svg>\n ),\n menu: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-240q-17 0-28.5-11.5T120-280q0-17 11.5-28.5T160-320h640q17 0 28.5 11.5T840-280q0 17-11.5 28.5T800-240H160Zm0-200q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-200q-17 0-28.5-11.5T120-680q0-17 11.5-28.5T160-720h640q17 0 28.5 11.5T840-680q0 17-11.5 28.5T800-640H160Z' />\n </svg>\n ),\n more_horiz: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z' />\n </svg>\n ),\n more_vert: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z' />\n </svg>\n ),\n north: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-17 0-28.5-11.5T440-120v-607L284-572q-11 11-27.5 11.5T228-572q-11-11-11-28t11-28l224-224q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l224 224q11 11 11 27.5T732-572q-12 12-28.5 12T675-572L520-727v607q0 17-11.5 28.5T480-80Z' />\n </svg>\n ),\n notifications: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-200q-17 0-28.5-11.5T160-240q0-17 11.5-28.5T200-280h40v-280q0-83 50-147.5T420-792v-28q0-25 17.5-42.5T480-880q25 0 42.5 17.5T540-820v28q80 20 130 84.5T720-560v280h40q17 0 28.5 11.5T800-240q0 17-11.5 28.5T760-200H200Zm280-300Zm0 420q-33 0-56.5-23.5T400-160h160q0 33-23.5 56.5T480-80ZM320-280h320v-280q0-66-47-113t-113-47q-66 0-113 47t-47 113v280Z' />\n </svg>\n ),\n open_in_new: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z' />\n </svg>\n ),\n palette: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 32.5-156t88-127Q256-817 330-848.5T488-880q80 0 151 27.5t124.5 76q53.5 48.5 85 115T880-518q0 115-70 176.5T640-280h-74q-9 0-12.5 5t-3.5 11q0 12 15 34.5t15 51.5q0 50-27.5 74T480-80Zm0-400Zm-220 40q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120-160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm200 0q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120 160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17ZM480-160q9 0 14.5-5t5.5-13q0-14-15-33t-15-57q0-42 29-67t71-25h70q66 0 113-38.5T800-518q0-121-92.5-201.5T488-800q-136 0-232 93t-96 227q0 133 93.5 226.5T480-160Z' />\n </svg>\n ),\n person: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-480q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 66-47 113t-113 47ZM160-240v-32q0-34 17.5-62.5T224-378q62-31 126-46.5T480-440q66 0 130 15.5T736-378q29 15 46.5 43.5T800-272v32q0 33-23.5 56.5T720-160H240q-33 0-56.5-23.5T160-240Zm80 0h480v-32q0-11-5.5-20T700-306q-54-27-109-40.5T480-360q-56 0-111 13.5T260-306q-9 5-14.5 14t-5.5 20v32Zm240-320q33 0 56.5-23.5T560-640q0-33-23.5-56.5T480-720q-33 0-56.5 23.5T400-640q0 33 23.5 56.5T480-560Zm0-80Zm0 400Z' />\n </svg>\n ),\n print: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M320-120q-33 0-56.5-23.5T240-200v-80h-80q-33 0-56.5-23.5T80-360v-160q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v160q0 33-23.5 56.5T800-280h-80v80q0 33-23.5 56.5T640-120H320ZM160-360h80q0-33 23.5-56.5T320-440h320q33 0 56.5 23.5T720-360h80v-160q0-17-11.5-28.5T760-560H200q-17 0-28.5 11.5T160-520v160Zm480-280v-120H320v120h-80v-120q0-33 23.5-56.5T320-840h320q33 0 56.5 23.5T720-760v120h-80Zm80 180q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460Zm-80 260v-160H320v160h320ZM160-560h640-640Z' />\n </svg>\n ),\n progress_activity: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z' />\n </svg>\n ),\n remove: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-440q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h480q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H240Z' />\n </svg>\n ),\n search: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z' />\n </svg>\n ),\n sentiment_dissatisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-420q-54 0-101.5 23.5T302-328q-11 16-3 32t26 16q8 0 14.5-3.5T351-294q23-31 57-48.5t72-17.5q38 0 72 17.5t57 48.5q4 7 10.5 10.5T634-280q18 0 26-16.5t-3-33.5q-29-44-76.5-67T480-420Zm140-100q25 0 42.5-17.5T680-580q0-25-17.5-42.5T620-640q-25 0-42.5 17.5T560-580q0 25 17.5 42.5T620-520Zm-280 0q25 0 42.5-17.5T400-580q0-25-17.5-42.5T340-640q-25 0-42.5 17.5T280-580q0 25 17.5 42.5T340-520ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n sentiment_neutral: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M620-520q25 0 42.5-17.5T680-580q0-25-17.5-42.5T620-640q-25 0-42.5 17.5T560-580q0 25 17.5 42.5T620-520Zm-280 0q25 0 42.5-17.5T400-580q0-25-17.5-42.5T340-640q-25 0-42.5 17.5T280-580q0 25 17.5 42.5T340-520Zm50 180h180q13 0 21.5-8.5T600-370q0-13-8.5-21.5T570-400H390q-13 0-21.5 8.5T360-370q0 13 8.5 21.5T390-340Zm90 260q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n sentiment_satisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-260q53 0 100.5-23t76.5-67q11-17 3-33.5T634-400q-8 0-14.5 3.5T609-386q-23 31-57 48.5T480-320q-38 0-72-17.5T351-386q-5-7-11.5-10.5T325-400q-18 0-26 16t3 32q29 45 76.5 68.5T480-260Zm140-260q25 0 42.5-17.5T680-580q0-25-17.5-42.5T620-640q-25 0-42.5 17.5T560-580q0 25 17.5 42.5T620-520Zm-280 0q25 0 42.5-17.5T400-580q0-25-17.5-42.5T340-640q-25 0-42.5 17.5T280-580q0 25 17.5 42.5T340-520ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n sentiment_very_dissatisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m356-522 21 22q8 8 20.5 8t21.5-9q8-8 8-20.5t-8-21.5l-21-21 22-23q8-8 7.5-20.5T419-629q-9-8-21.5-8t-20.5 8l-21 21-24-22q-8-8-20.5-7.5T290-628q-8 8-8.5 20.5T290-587l22 23-22 22q-8 8-8 20.5t9 21.5q8 8 20.5 8.5T332-500l24-22Zm248 0 23 23q8 8 20.5 7.5T669-501q8-8 8-20.5t-8-21.5l-21-21 22-23q8-8 7.5-20.5T668-629q-8-8-20.5-8.5T627-629l-23 21-22-21q-8-8-20.5-8t-21.5 9q-8 8-8.5 20.5T540-587l22 23-22 22q-8 8-8 20.5t9 20.5q8 9 20.5 9t21.5-9l21-21ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-155.5t85.5-127q54-54.5 127-86T480-880q83 0 155.5 31.5t127 86q54.5 54.5 86 127T880-480q0 83-31.5 156t-86 127q-54.5 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93T800-480q0-133-93.5-226.5T480-800q-134 0-227 93.5T160-480q0 134 93 227t227 93Zm0-260q-57 0-107 28t-80 77q-6 12 1 23.5t21 11.5h329q14 0 21-11.5t1-23.5q-30-49-79.5-77T480-420Z' />\n </svg>\n ),\n sentiment_very_satisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-260q58 0 107-28t79-76q6-12-1-24t-21-12H316q-14 0-21 12t-1 24q30 48 79.5 76T480-260ZM356-562l21 21q9 9 21 9t21-9q9-9 8.5-21t-8.5-21l-35-36q-12-12-28.5-12T327-619l-36 36q-9 9-9 21t9 21q8 8 20.5 8.5T333-540l23-22Zm248 0 23 22q9 8 21 8t21-9q9-9 9-21t-9-21l-36-36q-12-12-28.5-12T576-619l-36 36q-8 9-8 21t9 21q9 9 21 9t21-9l21-21ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m420-320 46 46q6 6 14 6t14-6l46-46h80q8 0 14-6t6-14v-80l46-46q6-6 6-14t-6-14l-46-46v-80q0-8-6-14t-14-6h-80l-46-46q-6-6-14-6t-14 6l-46 46h-80q-8 0-14 6t-6 14v80l-46 46q-6 6-6 14t6 14l46 46v80q0 8 6 14t14 6h80Zm60-40v-240q50 0 85 35t35 85q0 50-35 85t-85 35ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n settings: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M433-80q-27 0-46.5-18T363-142l-9-66q-13-5-24.5-12T307-235l-62 26q-25 11-50 2t-39-32l-47-82q-14-23-8-49t27-43l53-40q-1-7-1-13.5v-27q0-6.5 1-13.5l-53-40q-21-17-27-43t8-49l47-82q14-23 39-32t50 2l62 26q11-8 23-15t24-12l9-66q4-26 23.5-44t46.5-18h94q27 0 46.5 18t23.5 44l9 66q13 5 24.5 12t22.5 15l62-26q25-11 50-2t39 32l47 82q14 23 8 49t-27 43l-53 40q1 7 1 13.5v27q0 6.5-2 13.5l53 40q21 17 27 43t-8 49l-48 82q-14 23-39 32t-50-2l-60-26q-11 8-23 15t-24 12l-9 66q-4 26-23.5 44T527-80h-94Zm7-80h79l14-106q31-8 57.5-23.5T639-327l99 41 39-68-86-65q5-14 7-29.5t2-31.5q0-16-2-31.5t-7-29.5l86-65-39-68-99 42q-22-23-48.5-38.5T533-694l-13-106h-79l-14 106q-31 8-57.5 23.5T321-633l-99-41-39 68 86 64q-5 15-7 30t-2 32q0 16 2 31t7 30l-86 65 39 68 99-42q22 23 48.5 38.5T427-266l13 106Zm42-180q58 0 99-41t41-99q0-58-41-99t-99-41q-59 0-99.5 41T342-480q0 58 40.5 99t99.5 41Zm-2-140Z' />\n </svg>\n ),\n share: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M680-80q-50 0-85-35t-35-85q0-6 3-28L282-392q-16 15-37 23.5t-45 8.5q-50 0-85-35t-35-85q0-50 35-85t85-35q24 0 45 8.5t37 23.5l281-164q-2-7-2.5-13.5T560-760q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-24 0-45-8.5T598-672L317-508q2 7 2.5 13.5t.5 14.5q0 8-.5 14.5T317-452l281 164q16-15 37-23.5t45-8.5q50 0 85 35t35 85q0 50-35 85t-85 35Zm0-80q17 0 28.5-11.5T720-200q0-17-11.5-28.5T680-240q-17 0-28.5 11.5T640-200q0 17 11.5 28.5T680-160ZM200-440q17 0 28.5-11.5T240-480q0-17-11.5-28.5T200-520q-17 0-28.5 11.5T160-480q0 17 11.5 28.5T200-440Zm480-280q17 0 28.5-11.5T720-760q0-17-11.5-28.5T680-800q-17 0-28.5 11.5T640-760q0 17 11.5 28.5T680-720Zm0 520ZM200-480Zm480-280Z' />\n </svg>\n ),\n side_navigation: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm280-80h280v-560H480v560Z' />\n </svg>\n ),\n smartphone: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M280-40q-33 0-56.5-23.5T200-120v-720q0-33 23.5-56.5T280-920h400q33 0 56.5 23.5T760-840v720q0 33-23.5 56.5T680-40H280Zm0-120v40h400v-40H280Zm0-80h400v-480H280v480Zm0-560h400v-40H280v40Zm0 0v-40 40Zm0 640v40-40Z' />\n </svg>\n ),\n south: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-97q-8 0-15-2.5t-13-8.5L228-332q-11-11-11-28t11-28q12-12 28.5-11.5T284-388l156 155v-607q0-17 11.5-28.5T480-880q17 0 28.5 11.5T520-840v607l155-155q12-12 28.5-12t28.5 12q11 12 11 28.5T732-332L508-108q-6 6-13 8.5T480-97Z' />\n </svg>\n ),\n tablet: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-140q17 0 28.5-11.5T520-180q0-17-11.5-28.5T480-220q-17 0-28.5 11.5T440-180q0 17 11.5 28.5T480-140ZM200-40q-33 0-56.5-23.5T120-120v-720q0-33 23.5-56.5T200-920h560q33 0 56.5 23.5T840-840v720q0 33-23.5 56.5T760-40H200Zm0-200v120h560v-120H200Zm0-80h560v-400H200v400Zm0-480h560v-40H200v40Zm0 0v-40 40Zm0 560v120-120Z' />\n </svg>\n ),\n toc: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360h480q17 0 28.5 11.5T680-320q0 17-11.5 28.5T640-280H160Zm0-160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h480q17 0 28.5 11.5T680-480q0 17-11.5 28.5T640-440H160Zm0-160q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680h480q17 0 28.5 11.5T680-640q0 17-11.5 28.5T640-600H160Zm640 320q-17 0-28.5-11.5T760-320q0-17 11.5-28.5T800-360q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280Zm0-160q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440Zm0-160q-17 0-28.5-11.5T760-640q0-17 11.5-28.5T800-680q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600Z' />\n </svg>\n ),\n unfold_less: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m480-284-96 96q-11 11-28 11t-28-11q-11-11-11-28t11-28l124-124q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l124 124q11 11 11 28t-11 28q-11 11-28 11t-28-11l-96-96Zm0-392 96-96q11-11 28-11t28 11q11 11 11 28t-11 28L508-592q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L328-716q-11-11-11-28t11-28q11-11 28-11t28 11l96 96Z' />\n </svg>\n ),\n unfold_more: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m480-236 93-93q12-12 29-12t29 12q12 12 12 29t-12 29L508-148q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L329-271q-12-12-12-29t12-29q12-12 29-12t29 12l93 93Zm0-484-93 93q-12 12-29 12t-29-12q-12-12-12-29t12-29l123-123q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l123 123q12 12 12 29t-12 29q-12 12-29 12t-29-12l-93-93Z' />\n </svg>\n ),\n upload: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Zm200-486-75 75q-12 12-28.5 11.5T308-572q-11-12-11.5-28t11.5-28l144-144q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l144 144q12 12 11.5 28T652-572q-12 12-28.5 12.5T595-571l-75-75v286q0 17-11.5 28.5T480-320q-17 0-28.5-11.5T440-360v-286Z' />\n </svg>\n ),\n view_column: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M121-280v-400q0-33 23.5-56.5T201-760h559q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H201q-33 0-56.5-23.5T121-280Zm79 0h133v-400H200v400Zm213 0h133v-400H413v400Zm213 0h133v-400H626v400Z' />\n </svg>\n ),\n view_list: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M120-280v-400q0-33 23.5-56.5T200-760h560q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H200q-33 0-56.5-23.5T120-280Zm80-320h80v-80h-80v80Zm160 0h400v-80H360v80Zm0 160h400v-80H360v80Zm0 160h400v-80H360v80Zm-160 0h80v-80h-80v80Zm0-160h80v-80h-80v80Z' />\n </svg>\n ),\n warning: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M109-120q-11 0-20-5.5T75-140q-5-9-5.5-19.5T75-180l370-640q6-10 15.5-15t19.5-5q10 0 19.5 5t15.5 15l370 640q6 10 5.5 20.5T885-140q-5 9-14 14.5t-20 5.5H109Zm69-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm0-120q17 0 28.5-11.5T520-400v-120q0-17-11.5-28.5T480-560q-17 0-28.5 11.5T440-520v120q0 17 11.5 28.5T480-360Zm0-100Z' />\n </svg>\n ),\n west: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M233-440h607q17 0 28.5-11.5T880-480q0-17-11.5-28.5T840-520H233l155-156q11-11 11.5-27.5T388-732q-11-11-28-11t-28 11L108-508q-6 6-8.5 13T97-480q0 8 2.5 15t8.5 13l224 224q11 11 27.5 11t28.5-11q12-12 12-28.5T388-285L233-440Z' />\n </svg>\n ),\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function truncate(text: string, maxLength: number): string {\n if (text.length <= maxLength) {\n return text\n }\n return text.slice(0, maxLength) + '...'\n}\n\nexport function kebabCase(str: string) {\n return str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n}\n\nexport function camelCase(str: string) {\n return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())\n}\n\nexport function humaniseVariant(key: string): string {\n return key\n .replace(/([a-z])([A-Z0-9])/g, '$1 $2')\n .replace(/([0-9])([A-Za-z])/g, '$1 $2')\n .replace(/_/g, ' ')\n .replace(/\\bFull\\s?Width\\b/gi, 'full width')\n .replace(/\\s+/g, ' ')\n .trim()\n .replace(/^./, (s) => s.toUpperCase())\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as AccordionPrimitive from '@radix-ui/react-accordion'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot='accordion' {...props} />\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot='accordion-item'\n className={cn(\n 'border-nsw-grey-200 dark:border-nsw-grey-200/20 border-b last:border-b-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className='flex'>\n <AccordionPrimitive.Trigger\n data-slot='accordion-trigger'\n className={cn(\n [\n // Base\n 'bg-nsw-grey-50 flex flex-1 cursor-pointer items-start justify-between gap-4 p-4 text-left text-base font-medium transition-all',\n // Focus\n 'focus-visible:border-ring focus-visible:ring-ring/50 outline-none focus-visible:ring-[2px]',\n // State\n 'hover:bg-nsw-grey-100 hover:text-nsw-grey-850 [&[data-state=open]>svg]:rotate-180',\n // Disabled\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n // Dark mode\n 'dark:bg-nsw-grey-800 dark:hover:bg-nsw-grey-700 dark:text-white',\n // Dark mode hover\n 'dark:hover:bg-nsw-grey-700 dark:hover:text-white [&[data-state=open]>svg]:rotate-180',\n ],\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_down className='fill-primary pointer-events-none size-6 shrink-0 translate-y-0.5 transition-transform duration-200 dark:fill-white' />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot='accordion-content'\n className='data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden py-4 text-base'\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot='alert'\n role='alert'\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='alert-title'\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='alert-description'\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n","'use client'\n\nimport * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio'\n\nfunction AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {\n return <AspectRatioPrimitive.Root data-slot='aspect-ratio' {...props} />\n}\n\nexport { AspectRatio }\n","'use client'\n\nimport * as React from 'react'\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\n\nimport { cn } from '../lib/utils'\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot='avatar'\n className={cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot='avatar-image'\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot='avatar-fallback'\n className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","import * as Headless from '@headlessui/react'\nimport NextLink, { type LinkProps } from 'next/link'\nimport React, { forwardRef } from 'react'\n\nexport const Link = forwardRef(function Link(\n props: LinkProps & React.ComponentPropsWithoutRef<'a'>,\n ref: React.ForwardedRef<HTMLAnchorElement>,\n) {\n return (\n <Headless.DataInteractive>\n <NextLink {...props} ref={ref} />\n </Headless.DataInteractive>\n )\n})\n","import * as Headless from '@headlessui/react'\nimport clsx from 'clsx'\nimport React, { forwardRef } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Link } from '../components/Link'\nimport { cn } from '../lib/utils'\n\nconst styles = {\n base: [\n // Base\n 'relative isolate inline-flex items-baseline justify-center gap-x-2 rounded-sm border text-base/7 sm:text-sm/6 font-semibold transition-all',\n // Focus\n 'focus:outline focus:outline-2 focus:outline-offset-2 focus:outline-(--btn-bg)',\n // Disabled\n 'data-disabled:opacity-50 data-disabled:pointer-events-none',\n // Icon\n '*:data-[slot=icon]:-mx-0.25 *:data-[slot=icon]:my-0.25 sm:*:data-[slot=icon]:my-0.5 *:data-[slot=icon]:size-6 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:self-center *:data-[slot=icon]:text-(--btn-icon) sm:*:data-[slot=icon]:size-5 forced-colors:[--btn-icon:ButtonText] forced-colors:data-hover:[--btn-icon:ButtonText]',\n ],\n solid: [\n // Text color\n 'text-(--btn-text)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--btn-border)',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--btn-bg)',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-bg)',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n soft: [\n // Text color\n 'text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--btn-bg)/10',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--btn-bg)/20',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-bg)/10',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:bg-white/5',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n surface: [\n // Text color\n 'text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-(--btn-bg)/50 bg-(--btn-bg)/5',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--btn-bg)/30',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-bg)/5',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--btn-bg)/50',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // Border color on hover\n 'data-active:border-(--btn-bg) data-hover:border-(--btn-bg)',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n outline: [\n // Text color\n 'border-(--btn-bg) text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'bg-transparent',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-transparent',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--btn-bg)',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n ghost: [\n // Text color\n 'text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--btn-transparent)',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-transparent)',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n colors: {\n 'primary/grey': [\n // Base\n '[--btn-bg:var(--color-primary-800)] [--btn-border:var(--color-primary-800)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--btn-bg:var(--color-grey-600)] dark:[--btn-border:var(--color-grey-600)]/90 dark:[--btn-text:white] dark:text-white',\n // Soft dark mode\n 'dark:data-[variant=soft]:[--btn-bg:var(--color-grey-400)]',\n // Surface dark mode\n 'dark:data-[variant=surface]:[--btn-bg:var(--color-grey-400)]',\n // Outline dark mode\n 'dark:data-[variant=outline]:[--btn-border:var(--color-grey-600)]',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-grey-600)]/50 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/5',\n ],\n light: [\n // Base\n '[--btn-bg:var(--color-grey-200)] [--btn-border:var(--color-grey-200)] [--btn-text:var(--color-grey-800)] text-grey-800',\n // States\n '[--btn-hover-overlay:var(--color-grey-200)]/50 data-[variant=solid]:[--btn-hover-overlay:var(--color-grey-800)]/10',\n // Dark mode\n 'dark:text-white dark:data-[variant=solid]:text-grey-800',\n // Dark mode states\n '',\n // Soft\n 'data-[variant=soft]:[--btn-bg:var(--color-grey-400)]',\n // Soft states\n '',\n // Surface\n 'data-[variant=surface]:[--btn-bg:var(--color-grey-400)]',\n // Surface states\n 'data-[variant=surface]:data-active:[--btn-border:var(--color-grey-300)]',\n 'data-[variant=surface]:data-hover:[--btn-border:var(--color-grey-300)]',\n ],\n 'primary/white': [\n // Base\n '[--btn-bg:var(--color-primary-800)] [--btn-border:var(--color-primary-800)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--btn-bg:var(--color-white)] dark:[--btn-border:var(--color-white)]/90 dark:[--btn-text:var(--color-grey-800)]',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-white)]/15',\n ],\n grey: [\n // Base\n '[--btn-bg:var(--color-grey-600)] [--btn-border:var(--color-grey-600)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-grey-600)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white',\n // Soft dark mode\n 'dark:data-[variant=soft]:[--btn-bg:var(--color-grey-400)]',\n // Surface dark mode\n 'dark:data-[variant=surface]:[--btn-bg:var(--color-grey-400)]',\n // Outline dark mode\n 'dark:data-[variant=outline]:[--btn-border:var(--color-grey-600)]',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-grey-600)]/50 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/5',\n ],\n white: [\n // Base\n '[--btn-bg:var(--color-white)] [--btn-border:var(--color-white)]/90 [--btn-text:var(--color-grey-800)]',\n // States\n '[--btn-hover-overlay:var(--color-white)]/15 data-[variant=solid]:[--btn-hover-overlay:var(--color-grey-800)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n primary: [\n // Base\n '[--btn-bg:var(--color-primary-800)] [--btn-border:var(--color-primary-800)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white dark:bg-[--btn-hover-overlay:var(--color-primary-800)]/40 dark:data-[variant=solid]:bg-[--btn-hover-overlay:var(--color-primary-800)]',\n // Ghost\n 'dark:data-[variant=ghost]:bg-transparent',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-primary-800)]/50 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/5',\n // Dark border\n 'dark:data-[variant=surface]:border-[--btn-hover-overlay:var(--color-primary-700)]/60',\n 'dark:data-[variant=outline]:border-[--btn-hover-overlay:var(--color-primary-700)]',\n // Dark border states\n 'dark:data-[variant=surface]:data-active:border-[--btn-hover-overlay:var(--color-primary-700)]',\n 'dark:data-[variant=surface]:data-hover:border-[--btn-hover-overlay:var(--color-primary-700)]',\n // Hover\n '',\n ],\n secondary: [\n // Base\n '[--btn-bg:var(--color-primary-200)] [--btn-border:var(--color-primary-200)]/90 [--btn-text:var(--color-primary-800)]',\n // States\n '[--btn-hover-overlay:var(--color-primary-200)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-primary-800)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n tertiary: [\n // Base\n '[--btn-bg:var(--color-primary-600)] [--btn-border:var(--color-primary-600)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-600)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-white)]/10',\n ],\n accent: [\n // Base\n '[--btn-bg:var(--color-accent-600)] [--btn-border:var(--color-accent-600)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-accent-600)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-white)]/10',\n ],\n danger: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n // Icon\n '',\n // Icon states\n '',\n // Icon dark mode\n '',\n // Icon dark mode states\n '',\n ],\n },\n size: {\n default:\n 'px-[calc(--spacing(5)-1px)] py-[calc(--spacing(4)-1px)] sm:px-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(3)-1px)]',\n sm: 'px-[calc(--spacing(4)-1px)] py-[calc(--spacing(3)-1px)] sm:px-[calc(--spacing(3.5)-1px)] sm:py-[calc(--spacing(2)-1px)]',\n lg: 'px-[calc(--spacing(6)-1px)] py-[calc(--spacing(5)-1px)] sm:px-[calc(--spacing(5.5)-1px)] sm:py-[calc(--spacing(4)-1px)]',\n icon: 'size-10',\n },\n}\n\nconst buttonVariants = cva(styles.base, {\n variants: {\n variant: {\n solid: styles.solid,\n soft: styles.soft,\n surface: styles.surface,\n outline: styles.outline,\n ghost: styles.ghost,\n },\n color: {\n 'primary/grey': styles.colors['primary/grey'],\n light: styles.colors.light,\n 'primary/white': styles.colors['primary/white'],\n white: styles.colors.white,\n grey: styles.colors.grey,\n primary: styles.colors.primary,\n secondary: styles.colors.secondary,\n tertiary: styles.colors.tertiary,\n accent: styles.colors.accent,\n danger: styles.colors.danger,\n },\n size: {\n default: styles.size.default,\n sm: styles.size.sm,\n lg: styles.size.lg,\n icon: styles.size.icon,\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'default',\n },\n})\n\ntype ButtonProps = VariantProps<typeof buttonVariants> & {\n className?: string\n children: React.ReactNode\n} & (\n | Omit<Headless.ButtonProps, 'as' | 'className'>\n | Omit<React.ComponentPropsWithoutRef<typeof Link>, 'className'>\n )\n\nconst Button = forwardRef(function Button(\n { className, variant, color, size, children, ...props }: ButtonProps,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const classes = cn(buttonVariants({ variant, color, size }), className)\n\n return 'href' in props ? (\n <Link\n data-variant={variant}\n {...props}\n className={classes}\n ref={ref as React.ForwardedRef<HTMLAnchorElement>}\n >\n <TouchTarget>{children}</TouchTarget>\n </Link>\n ) : (\n <Headless.Button\n data-variant={variant}\n {...props}\n className={clsx(classes, 'cursor-pointer')}\n ref={ref}\n >\n <TouchTarget>{children}</TouchTarget>\n </Headless.Button>\n )\n})\n\n/**\n * Expand the hit area to at least 44×44px on touch devices\n */\nfunction TouchTarget({ children }: { children: React.ReactNode }) {\n return (\n <>\n <span\n className='absolute top-1/2 left-1/2 size-[max(100%,2.75rem)] -translate-x-1/2 -translate-y-1/2 rounded-sm bg-transparent [@media(pointer:fine)]:hidden'\n aria-hidden='true'\n />\n {children}\n </>\n )\n}\n\nexport { Button, buttonVariants, TouchTarget }\n","import * as Headless from '@headlessui/react'\nimport clsx from 'clsx'\nimport React, { forwardRef } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { TouchTarget } from '@/components/Button'\nimport { Link } from '@/components/Link'\nimport { cn } from '../lib/utils'\n\nconst focusOutline = {\n 'primary/grey': [\n // Base\n '[--focus-outline:var(--color-primary-800)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-grey-600)]',\n // Soft, Surface and outline\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',\n // Soft, Surface and outline dark mode\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',\n ],\n light: [\n // Base\n '[--focus-outline:var(--color-grey-300)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-grey-100)]',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',\n // Surface\n 'data-[variant=surface]:[--focus-outline:var(--color-grey-600)]',\n // Soft, Surface and outline dark mode\n 'dark:data-[variant=surface]:[--focus-outline:var(--color-white)]/70',\n ],\n 'primary/white': [\n // Base\n '[--focus-outline:var(--color-primary-800)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-white)]',\n // Soft\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',\n // Surface\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',\n ],\n grey: [\n // Base\n '[--focus-outline:var(--color-grey-600)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-grey-500)]',\n // Soft\n 'data-[variant=soft]:[--focus-outline:var(--color-grey-600)]/20',\n // Soft dark mode\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/20',\n // Outline dark mode\n 'dark:data-[variant=outline]:[--focus-outline:var(--color-grey-100)]/30',\n // Surface dark mode\n 'dark:data-[variant=surface]:[--focus-outline:var(--color-grey-200)]/20',\n ],\n white: [\n // Base\n '[--focus-outline:var(--color-white)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-white)]/20',\n // Soft\n '',\n // Surface\n '',\n ],\n primary: [\n // Base\n '[--focus-outline:var(--color-primary-800)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/60',\n // Surface\n '',\n ],\n secondary: [\n // Base\n '[--focus-outline:var(--color-primary-200)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-200)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-primary-200)]/60',\n // Surface\n '',\n ],\n tertiary: [\n // Base\n '[--focus-outline:var(--color-primary-600)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-600)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-primary-600)]/60',\n // Surface\n '',\n ],\n accent: [\n // Base\n '[--focus-outline:var(--color-accent-600)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-accent-600)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-accent-600)]/60',\n ],\n error: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n success: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n warning: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n info: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n}\n\nconst styles = {\n base: [\n // Base\n 'relative isolate inline-flex items-center rounded-sm font-normal border forced-colors:outline transition-all h-fit shrink-0',\n // Icon\n '*:data-[slot=icon]:size-4 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:self-center sm:*:data-[slot=icon]:size-3',\n ],\n solid: [\n // Text color\n 'text-(--badge-text)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--badge-border)',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--badge-bg)',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--badge-bg)',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n soft: [\n // Text color\n 'text-(--badge-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--badge-bg)/5',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--badge-bg)/20',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--badge-bg)/5',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:bg-white/5',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n surface: [\n // Text color\n 'text-(--badge-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-(--badge-bg)/50 bg-(--badge-bg)/5',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--badge-bg)/30',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--badge-bg)/5',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--badge-bg)/50',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // Border color on hover\n 'group-data-active:border-(--badge-bg) group-data-hover:border-(--badge-bg)',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n outline: [\n // Text color\n 'border-(--badge-bg) text-(--badge-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'bg-transparent',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-transparent',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--badge-bg)',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n colors: {\n 'primary/grey': [\n // Base\n '[--badge-bg:var(--color-primary-800)] [--badge-border:var(--color-primary-800)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--badge-bg:var(--color-grey-600)] dark:[--badge-border:var(--color-grey-600)]/90 dark:[--badge-text:var(--color-white)] dark:text-white',\n // Dark mode states\n 'dark:[--badge-hover-overlay:var(--color-grey-200)]/20',\n ],\n light: [\n // Base\n '[--badge-bg:var(--color-grey-200)] [--badge-border:var(--color-grey-200)]/90 [--badge-text:var(--color-grey-800)]',\n 'text-grey-800',\n // Soft\n 'data-[variant=soft]:[--badge-bg:var(--color-grey-500)]',\n // Surface\n 'data-[variant=surface]:[--badge-bg:var(--color-grey-500)]',\n // States\n '[--badge-hover-overlay:var(--color-grey-200)]/10 data-[variant=outline]:[--badge-hover-overlay:var(--color-grey-200)]/20 data-[variant=solid]:[--badge-hover-overlay:var(--color-grey-400)]/50',\n // Dark mode\n 'dark:text-grey-200 dark:data-[variant=solid]:text-grey-800',\n // Dark mode states\n '',\n ],\n 'primary/white': [\n // Base\n '[--badge-bg:var(--color-primary-800)] [--badge-border:var(--color-primary-800)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--badge-bg:var(--color-white)] dark:[--badge-border:var(--color-white)]/90 dark:[--badge-text:var(--color-grey-800)]',\n // Dark mode states\n '',\n ],\n grey: [\n // Base\n '[--badge-bg:var(--color-grey-600)] [--badge-border:var(--color-grey-600)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white',\n // Dark mode states\n '',\n ],\n white: [\n // Base\n '[--badge-bg:var(--color-white)] [--badge-border:var(--color-white)]/90 text-white data-[variant=solid]:text-grey-800',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-grey-200 dark:data-[variant=solid]:text-grey-800',\n // Dark mode states\n '',\n ],\n primary: [\n // Base\n '[--badge-bg:var(--color-primary-800)] [--badge-border:var(--color-primary-800)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white dark:bg-[--badge-hover-overlay:var(--color-primary-800)]/40 dark:data-[variant=solid]:bg-[--badge-hover-overlay:var(--color-primary-800)]',\n // Dark mode states\n 'dark:[--badge-hover-overlay:var(--color-primary-800)]/50 dark:data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/5',\n // Dark border\n 'dark:data-[variant=surface]:border-[--badge-hover-overlay:var(--color-primary-700)]/60',\n 'dark:data-[variant=outline]:border-[--badge-hover-overlay:var(--color-primary-700)]',\n // Dark border states\n 'dark:data-[variant=surface]:data-active:border-[--badge-hover-overlay:var(--color-primary-700)]',\n 'dark:data-[variant=surface]:data-hover:border-[--badge-hover-overlay:var(--color-primary-700)]',\n ],\n secondary: [\n // Base\n '[--badge-bg:var(--color-primary-200)] [--badge-border:var(--color-primary-200)]/90 [--badge-text:var(--color-primary-800)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-200)]/30 data-[variant=solid]:[--badge-hover-overlay:var(--color-primary-250)]',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n tertiary: [\n // Base\n '[--badge-bg:var(--color-primary-600)] [--badge-border:var(--color-primary-600)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-600)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n accent: [\n // Base\n '[--badge-bg:var(--color-accent-600)] [--badge-border:var(--color-accent-600)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-accent-600)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n danger: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n success: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n warning: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n info: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n },\n size: {\n default:\n 'py-[calc(--spacing(1))] px-[calc(--spacing(2))] gap-[calc(--spacing(1)*1.5)] text-sm/5 sm:text-xs/5',\n sm: 'py-[calc(--spacing(1)*0.5)] px-[calc(--spacing(1)*1.5)] gap-[calc(--spacing(1)*1.5)] text-sm/5 sm:text-xs/5',\n lg: 'py-[calc(--spacing(1))] px-[calc(--spacing(2)*1.25)] gap-[calc(--spacing(2))] text-base/5 sm:text-sm/5',\n },\n}\n\nconst badgeVariants = cva(styles.base, {\n variants: {\n variant: {\n solid: styles.solid,\n soft: styles.soft,\n surface: styles.surface,\n outline: styles.outline,\n },\n color: {\n 'primary/grey': styles.colors['primary/grey'],\n light: styles.colors.light,\n 'primary/white': styles.colors['primary/white'],\n white: styles.colors.white,\n grey: styles.colors.grey,\n primary: styles.colors.primary,\n secondary: styles.colors.secondary,\n tertiary: styles.colors.tertiary,\n accent: styles.colors.accent,\n danger: styles.colors.danger,\n success: styles.colors.success,\n warning: styles.colors.warning,\n info: styles.colors.info,\n },\n size: {\n default: styles.size.default,\n sm: styles.size.sm,\n lg: styles.size.lg,\n },\n },\n defaultVariants: {\n variant: 'soft',\n color: 'primary',\n size: 'default',\n },\n})\n\nfunction Badge({\n variant,\n color,\n size,\n className,\n ...props\n}: VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span\n {...props}\n data-variant={variant}\n className={cn(badgeVariants({ variant, color, size }), className)}\n />\n )\n}\n\nconst BadgeButton = forwardRef(function BadgeButton(\n {\n variant,\n color,\n size,\n className,\n children,\n ...props\n }: VariantProps<typeof badgeVariants> & { className?: string; children: React.ReactNode } & (\n | Omit<Headless.ButtonProps, 'as' | 'className'>\n | Omit<React.ComponentPropsWithoutRef<typeof Link>, 'className'>\n ),\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const classes = clsx(className, focusOutline[color as keyof typeof focusOutline], [\n // Base\n 'group relative inline-flex rounded-sm',\n // Focus\n 'focus:outline-1 focus:outline-offset-1 focus:outline-(--focus-outline)',\n // Disabled\n 'disabled:opacity-50 disabled:pointer-events-none',\n ])\n\n return 'href' in props ? (\n <Link\n data-variant={variant}\n {...props}\n className={classes}\n ref={ref as React.ForwardedRef<HTMLAnchorElement>}\n >\n <TouchTarget>\n <Badge variant={variant} color={color} size={size}>\n {children}\n </Badge>\n </TouchTarget>\n </Link>\n ) : (\n <Headless.Button\n data-variant={variant}\n {...props}\n className={clsx(classes, 'cursor-pointer')}\n ref={ref}\n >\n <TouchTarget>\n <Badge variant={variant} color={color} size={size}>\n {children}\n </Badge>\n </TouchTarget>\n </Headless.Button>\n )\n})\n\nexport { Badge, BadgeButton, badgeVariants }\n","import * as culori from 'culori'\nimport { kebabCase, camelCase } from '@/lib/utils'\nimport {\n ColorData,\n // DesignTokensTheme,\n ColorProperty,\n DesignTokensShades,\n Format,\n Output,\n Variant,\n ColorThemes,\n} from '../types/types'\n\nvoid culori.rgb('tomato')\n\nexport const shades = ['lightest', 'lighter', 'light', 'DEFAULT', 'dark', 'darker', 'darkest']\n\nexport const darkenColor = (color: string, factor = 0.3) => {\n const parsed = culori.parse(color) // Parse input color\n if (!parsed || parsed.mode !== 'oklch') return color // Ensure it's OKLCH\n\n // Reduce lightness\n parsed.l = Math.max(0, parsed.l * factor)\n\n // Reduce chroma slightly\n parsed.c = Math.max(0, parsed.c * 0.4)\n\n return culori.formatCss(parsed)\n}\n\nexport const lightenColor = (color: string, factor = 2) => {\n const parsed = culori.parse(color) // Parse input color\n if (!parsed || parsed.mode !== 'oklch') return color // Ensure it's OKLCH\n\n // Increase lightness, but ensure it doesn't exceed 1\n parsed.l = Math.min(1, parsed.l * factor)\n\n // Reduce chroma slightly to avoid color distortion\n parsed.c = parsed.c * 0.1\n\n return culori.formatCss(parsed)\n}\n\nexport const addStartStopToColorArray = (colorArray: string[]): string[] => {\n const darkColor = (color: string) => darkenColor(color, 0.3)\n const lightColor = (color: string) => lightenColor(color, 2)\n\n const colors = [...colorArray]\n colors.unshift(darkColor(colorArray[0]))\n colors.push(lightColor(colorArray[colorArray.length - 1]))\n return colors\n}\n\nexport const interpolateColors = (color1: string, color2: string, steps: number): ColorData[] => {\n const results: ColorData[] = []\n\n const interpolator = culori.interpolate([color1, color2], 'oklch')\n\n for (let i = 0; i < steps; i++) {\n const t = i / (steps - 1)\n const color = interpolator(t)\n results.push({\n oklch: culori.formatCss(color),\n hex: culori.formatHex(color),\n rgb: culori.formatRgb(color),\n hsl: culori.formatHsl(color),\n })\n }\n\n return results\n}\n\nexport const GenerateInterpolatedColors = (colorArray: string[]): ColorData[] => {\n const newColorArray = addStartStopToColorArray(colorArray)\n\n let fullPalette: ColorData[] = []\n\n // Interpolate between pairs of colors\n for (let i = 0; i < newColorArray.length - 1; i++) {\n const color1 = newColorArray[i]\n const color2 = newColorArray[i + 1]\n const steps = 5\n\n const interpolated = interpolateColors(color1, color2, steps)\n // Remove the last color to avoid duplication, except for the last set\n if (i < newColorArray.length - 2) {\n fullPalette = [...fullPalette, ...interpolated.slice(0, -1)]\n } else {\n fullPalette = [...fullPalette, ...interpolated]\n }\n }\n\n const finalPaletteColours = fullPalette.slice(1, -1).reverse()\n\n return finalPaletteColours\n}\n\nexport const getSurroundingColors = (colors: ColorData[], themeColor: string) => {\n const index = colors.findIndex((color) => color.oklch === themeColor)\n\n if (index === -1) return []\n\n const start = Math.max(0, index - 3)\n const end = Math.min(colors.length, index + 4)\n\n const surroundingColors = colors.slice(start, end)\n\n return surroundingColors\n}\n\nexport const colorDataArray = (\n colorsToUse: ColorData[],\n paletteName: string,\n format: Format,\n output: Output,\n variant: Variant,\n) => {\n return colorsToUse.map((color, index) => {\n const shade = (index + 1) * 50\n const value = color[format]\n const key = variant === 'shades' ? shade : shades[index]\n\n const fullKey =\n variant === 'shades'\n ? `${paletteName}-${shade}`\n : shades[index].includes('DEFAULT')\n ? `${paletteName}`\n : `${paletteName}-${shades[index]}`\n\n switch (output) {\n case 'js':\n case 'ts':\n return `'${key}': '${value}'`\n\n case 'css':\n return `--${fullKey}: ${value};`\n\n case 'scss':\n return `$${fullKey}: ${value};`\n\n case 'less':\n return `@${fullKey}: ${value};`\n\n case 'tailwind':\n return `--color-${fullKey}: ${value};`\n\n case 'json':\n return `\"${fullKey}\": \"${value}\"`\n\n default:\n return ''\n }\n })\n}\n\nexport function createColorArray(colorArray: ColorData[], name: string, type: string) {\n const colorCategories = []\n const kebab = kebabCase(name)\n\n colorCategories.push({\n name: name,\n colors: colorArray.map((color, index) => {\n const value = 50 + index * 50\n const colorName =\n type === 'shades'\n ? `${kebab}-${value}`\n : shades[index].includes('DEFAULT')\n ? `${kebab}`\n : `${kebab}-${shades[index]}`\n\n return {\n token: colorName,\n ...color,\n ...(value === 200 ? { name: `${name} 04` } : {}),\n ...(value === 400 ? { name: `${name} 03` } : {}),\n ...(value === 600 ? { name: `${name} 02` } : {}),\n ...(value === 800 ? { name: `${name} 01` } : {}),\n }\n }),\n })\n\n return colorCategories\n}\n\nexport const isLightColor = (hexColor: string) => {\n const hex = hexColor.replace('#', '')\n const r = Number.parseInt(hex.substring(0, 2), 16)\n const g = Number.parseInt(hex.substring(2, 4), 16)\n const b = Number.parseInt(hex.substring(4, 6), 16)\n const brightness = (r * 299 + g * 587 + b * 114) / 1000\n return brightness > 128\n}\n\nexport const renderColorOutput = (\n colorsToUse: ColorData[],\n paletteName: string,\n format: Format,\n output: Output,\n variant: Variant,\n) => {\n const lines = colorDataArray(colorsToUse, paletteName, format, output, variant)\n\n const indent = (str: string, level = 1) => ' '.repeat(level) + str\n\n switch (output) {\n case 'js':\n case 'ts':\n return `export const ${camelCase(paletteName)} = {\\n${lines\n .map((line) => indent(line + ','))\n .join('\\n')}\\n}`\n\n case 'json':\n return `{\\n \"${paletteName}\": {\\n${lines\n .map((line) => indent(line + ',', 2))\n .join('\\n')}\\n }\\n}`\n\n case 'scss':\n case 'less':\n case 'css':\n case 'tailwind':\n return lines.join('\\n')\n\n default:\n return lines.join('\\n')\n }\n}\n\nexport const renderColorOutputToDTFM = (\n colorsToUse: ColorData[],\n paletteName: string,\n format: Format,\n variant: Variant,\n): string => {\n const isStructured = format !== 'hex'\n\n const parseToStructuredColor = (str: string) => {\n const regex = /([a-z]+)\\(([^)]+)\\)/i\n const match = str.match(regex)\n if (!match) return str\n\n const colorSpace = match[1]\n const channelValues = match[2].split(/[\\s,]+/).map((val) => parseFloat(val))\n\n return {\n colorSpace,\n channels: channelValues,\n alpha: 1,\n }\n }\n\n if (variant === 'shades') {\n const tokens: DesignTokensShades = {\n [paletteName]: {},\n }\n\n colorsToUse.forEach((color, index) => {\n const shade = `${(index + 1) * 50}`\n const raw = color[format]\n const value = {\n $type: 'color' as const,\n $value: isStructured ? parseToStructuredColor(raw) : raw,\n }\n\n tokens[paletteName][shade] = value\n })\n\n return JSON.stringify(tokens, null, 2)\n } else {\n const tokens: Record<string, ColorProperty> = {}\n\n colorsToUse.forEach((color, index) => {\n const shade =\n shades[index] === 'DEFAULT' ? `${paletteName}` : `${paletteName}-${shades[index]}`\n const raw = color[format]\n const value = isStructured ? parseToStructuredColor(raw) : raw\n\n tokens[shade] = {\n value,\n type: 'color',\n }\n })\n\n return JSON.stringify(tokens, null, 2)\n }\n\n /* if (variant === 'shades') {\n const tokens: DesignTokensShades = {\n [paletteName]: {},\n }\n\n colorsToUse.forEach((color, index) => {\n const shade = `${(index + 1) * 50}`\n const raw = color[format]\n const value = {\n $type: 'color' as const,\n $value: isStructured ? parseToStructuredColor(raw) : raw,\n }\n\n tokens[paletteName][shade] = value\n })\n\n return JSON.stringify(tokens, null, 2)\n } else {\n const tokens: DesignTokensTheme = {\n [paletteName]: {\n value: '',\n type: 'color' as const,\n variants: {},\n },\n }\n\n colorsToUse.forEach((color, index) => {\n const shade = shades[index]\n const raw = color[format]\n const value = isStructured ? parseToStructuredColor(raw) : raw\n\n if (shade === 'DEFAULT') {\n tokens[paletteName].value = value\n } else {\n tokens[paletteName].variants[shade] = {\n value,\n type: 'color',\n }\n }\n })\n\n return JSON.stringify(tokens, null, 2)\n } */\n}\n\nexport const themeIndices = [3, 7, 11, 15]\nexport const themeTokens = [200, 400, 600, 800]\n\nexport const generateColorThemes = (colors: ColorThemes) => {\n const colorThemes: ColorThemes = {}\n\n for (const category in colors) {\n colorThemes[category] = {}\n\n for (const shade in colors[category]) {\n const base = colors[category][shade]\n colorThemes[category][shade] = {\n name: base.name,\n colors: themeIndices.map((idx) => {\n const c = base.colors[idx]\n return {\n token: c.token,\n oklch: c.oklch,\n hex: c.hex,\n rgb: c.rgb,\n hsl: c.hsl,\n name: c.name,\n }\n }),\n }\n }\n }\n\n return colorThemes\n}\n\nexport function oklchConverter(hex: string): string {\n const converted = culori.oklch(hex)\n if (!converted) {\n throw new Error(`Invalid hex color: ${hex}`)\n }\n return culori.formatCss(converted)\n}\n\nexport const getColorValue = (\n color: { oklch: string; hex: string; rgb: string; hsl: string },\n colorFormat: 'oklch' | 'rgb' | 'hsl' | 'hex',\n): string => {\n switch (colorFormat) {\n case 'oklch':\n return color.oklch\n case 'rgb':\n return color.rgb\n case 'hsl':\n return color.hsl\n case 'hex':\n default:\n return color.hex\n }\n}\n\nexport const createColorData = (baseColors: string[], format: Format) => {\n return baseColors.map((color) => {\n const parsedColor = culori.parse(color)\n if (!parsedColor) {\n console.warn(`Invalid color: ${color}`)\n return null\n }\n\n const colorData = {\n oklch: culori.formatCss(color) || '',\n hex: culori.formatHex(color) || '',\n rgb: culori.formatRgb(color) || '',\n hsl: culori.formatHsl(color) || '',\n }\n\n return getColorValue(colorData, format)\n })\n}\n","import * as culori from 'culori'\nimport { createColorData } from '../lib/colors'\nimport { Format } from '../types/types'\n\nexport function BaseColorSwatches({\n baseColors,\n format,\n}: {\n baseColors: string[] | undefined\n format: Format\n}) {\n const formattedColor = createColorData(baseColors ?? [], format)\n\n return (\n <div className='flex flex-wrap gap-2'>\n <span className='text-sm font-medium'>Base Colours:</span>\n\n {baseColors?.map((color, index) => (\n <div key={`base-${index}`} className='inline-flex items-center gap-2 text-sm'>\n <div\n className='border-border h-4 w-4 rounded-full border'\n style={{\n backgroundColor: culori.formatHex(culori.parse(color)),\n }}\n />\n <span className='font-mono text-xs'>{formattedColor[index]}</span>\n </div>\n ))}\n </div>\n )\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label='breadcrumb' data-slot='breadcrumb' {...props} />\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot='breadcrumb-list'\n className={cn(\n [\n // Base\n 'text-primary flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot='breadcrumb-item'\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n data-slot='breadcrumb-link'\n className={cn(\n [\n // Base\n '-m-1 rounded p-2 transition-colors',\n // Hover\n 'hover:text-primary-850 hover:bg-primary-800/10',\n // Dark\n 'dark:hover:bg-white/10 dark:hover:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='breadcrumb-page'\n role='link'\n aria-disabled='true'\n aria-current='page'\n className={cn(\n [\n // Base\n 'text-primary-800 font-normal',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot='breadcrumb-separator'\n role='presentation'\n aria-hidden='true'\n className={cn(\n [\n // Base\n 'text-primary-800 [&>svg]:size-5',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n >\n {children ?? <Icons.chevron_right />}\n </li>\n )\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='breadcrumb-ellipsis'\n role='presentation'\n aria-hidden='true'\n className={cn(\n [\n // Base\n 'text-primary-800 flex size-9 items-center justify-center',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n >\n <Icons.more_horiz\n className={cn(\n [\n // Base\n 'text-primary-800 size-5',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n />\n <span className='sr-only'>More</span>\n </span>\n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot='dropdown-menu' {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot='dropdown-menu-portal' {...props} />\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot='dropdown-menu-trigger' {...props} />\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot='dropdown-menu-content'\n sideOffset={sideOffset}\n className={cn(\n [\n // Base\n 'bg-background text-foreground z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border p-1 shadow-md',\n // Open\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n // Closed\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n // Side\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n // Hover\n '',\n // Focus\n '',\n // Active\n '',\n ],\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot='dropdown-menu-group' {...props} />\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot='dropdown-menu-item'\n data-inset={inset}\n data-variant={variant}\n className={cn(\n [\n // Base\n '',\n ],\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot='dropdown-menu-checkbox-item'\n className={cn(\n [\n // Base\n '',\n ],\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <DropdownMenuPrimitive.ItemIndicator>\n <Icons.check className='size-4' />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot='dropdown-menu-radio-group' {...props} />\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot='dropdown-menu-radio-item'\n className={cn(\n [\n // Base\n '',\n ],\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <DropdownMenuPrimitive.ItemIndicator>\n <Icons.circle className='size-2 fill-current' />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot='dropdown-menu-label'\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot='dropdown-menu-separator'\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='dropdown-menu-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot='dropdown-menu-sub' {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot='dropdown-menu-sub-trigger'\n data-inset={inset}\n className={cn(\n [\n // Base\n '',\n ],\n 'focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_right className='ml-auto size-4' />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot='dropdown-menu-sub-content'\n className={cn(\n [\n // Base\n '',\n ],\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { usePathname } from 'next/navigation'\nimport Link from 'next/link'\n\nimport { BreadcrumbsProps } from '../types/types'\n\nimport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../components/Breadcrumb'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../components/DropdownMenu'\n\nexport function Breadcrumbs({\n homeLabel = 'Home',\n pathLabels = {},\n showHome = true,\n transformLabel = true,\n maxItems = 4,\n forceShow = false,\n demoPath,\n}: BreadcrumbsProps) {\n const actualPathname = usePathname()\n const pathname = demoPath || actualPathname\n\n // Don't render breadcrumbs on home page unless forceShow is true\n if (pathname === '/' && !forceShow) return null\n\n // Split pathname into segments and remove empty segments\n const segments = pathname.split('/').filter(Boolean)\n\n // Function to transform path segment to readable label\n const getLabel = (segment: string, path: string): string => {\n // Check if we have a custom label for this path\n if (pathLabels[path]) {\n return pathLabels[path]\n }\n\n // Handle dynamic route segments [id], [slug], etc.\n if (segment.startsWith('[') && segment.endsWith(']')) {\n return segment.slice(1, -1).charAt(0).toUpperCase() + segment.slice(2, -1)\n }\n\n // Skip route group segments (folders with parentheses)\n if (segment.startsWith('(') && segment.endsWith(')')) {\n return ''\n }\n\n // Transform kebab-case or snake_case to Title Case\n if (transformLabel) {\n return segment\n .replace(/-/g, ' ')\n .replace(/_/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n }\n\n return segment\n }\n\n // Build breadcrumb items\n const breadcrumbItems = []\n let currentPath = ''\n\n // Add home breadcrumb if enabled\n if (showHome) {\n breadcrumbItems.push({\n label: homeLabel,\n path: '/',\n isHome: true,\n isCurrent: false,\n })\n }\n\n // Add segment breadcrumbs\n segments.forEach((segment, index) => {\n currentPath += `/${segment}`\n\n // Skip route groups\n if (segment.startsWith('(') && segment.endsWith(')')) {\n return\n }\n\n const label = getLabel(segment, currentPath)\n if (!label) return\n\n breadcrumbItems.push({\n label,\n path: currentPath,\n isHome: false,\n isCurrent: index === segments.length - 1,\n })\n })\n\n // Determine if we need to collapse items\n const shouldCollapse = breadcrumbItems.length > maxItems\n\n // Render the breadcrumb items\n if (!shouldCollapse) {\n // If we don't need to collapse, render all items normally\n return (\n <Breadcrumb className='-ml-1'>\n <BreadcrumbList>\n {breadcrumbItems.map((item, index) => (\n <React.Fragment key={item.path}>\n <BreadcrumbItem>\n {item.isCurrent ? (\n <BreadcrumbPage>{item.label}</BreadcrumbPage>\n ) : (\n <BreadcrumbLink asChild>\n <Link href={item.path}>{item.label}</Link>\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < breadcrumbItems.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n )\n }\n\n // If we need to collapse, calculate how many items to show at the start and end\n const startItems = Math.ceil((maxItems - 1) / 2)\n const endItems = Math.floor((maxItems - 1) / 2)\n\n // Get the items to show at the start and end\n const itemsAtStart = breadcrumbItems.slice(0, startItems)\n const itemsAtEnd = breadcrumbItems.slice(-endItems)\n\n // Get the items to collapse in the dropdown\n const collapsedItems = breadcrumbItems.slice(startItems, breadcrumbItems.length - endItems)\n\n return (\n <Breadcrumb>\n <BreadcrumbList>\n {/* Render start items */}\n {itemsAtStart.map((item, index) => (\n <React.Fragment key={item.path}>\n <BreadcrumbItem>\n {item.isCurrent ? (\n <BreadcrumbPage>{item.label}</BreadcrumbPage>\n ) : (\n <BreadcrumbLink asChild>\n <Link href={item.path}>{item.label}</Link>\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < itemsAtStart.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n\n {/* Add separator before dropdown if there are start items */}\n {itemsAtStart.length > 0 && <BreadcrumbSeparator />}\n\n {/* Add ellipsis dropdown */}\n <BreadcrumbItem>\n <DropdownMenu>\n <DropdownMenuTrigger className='hover:bg-primary-800/10 -m-1 flex cursor-pointer items-center gap-1 rounded p-2 transition-colors'>\n <BreadcrumbEllipsis className='h-4 w-4' />\n <span className='sr-only'>Toggle menu</span>\n </DropdownMenuTrigger>\n <DropdownMenuContent align='start'>\n {collapsedItems.map((item) => (\n <DropdownMenuItem key={item.path} asChild>\n <Link href={item.path}>{item.label}</Link>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </BreadcrumbItem>\n\n {/* Add separator after dropdown if there are end items */}\n {itemsAtEnd.length > 0 && <BreadcrumbSeparator />}\n\n {/* Render end items */}\n {itemsAtEnd.map((item, index) => (\n <React.Fragment key={item.path}>\n <BreadcrumbItem>\n {item.isCurrent ? (\n <BreadcrumbPage>{item.label}</BreadcrumbPage>\n ) : (\n <BreadcrumbLink asChild>\n <Link href={item.path}>{item.label}</Link>\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < itemsAtEnd.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n )\n}\n","'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card'\n className={cn(\n 'border-nsw-grey-200 dark:border-nsw-grey-50 bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-header'\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-title'\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-action'\n className={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot='card-content' className={cn('px-6', className)} {...props} />\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-footer'\n className={cn('flex items-center px-6 [.border-t]:pt-6', className)}\n {...props}\n />\n )\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent }\n","'use client'\n\nimport * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { Icons } from '../components/Icons'\n\nimport { cn } from '../lib/utils'\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot='checkbox'\n className={cn(\n 'peer border-grey-200 dark:bg-input/30 data-[state=checked]:bg-primary-800 data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary-800 data-[state=checked]:border-primary-800 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot='checkbox-indicator'\n className='flex items-center justify-center text-current transition-none'\n >\n <Icons.check className='size-3.5' />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n","import { IconProps } from '../types/types'\n\nexport const Social = {\n Facebook: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z'\n clipRule='evenodd'\n />\n </svg>\n ),\n Github: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z'\n clipRule='evenodd'\n />\n </svg>\n ),\n Instagram: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z'\n clipRule='evenodd'\n />\n </svg>\n ),\n LinkedIn: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path d='M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z' />\n </svg>\n ),\n X: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path d='M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z' />\n </svg>\n ),\n YouTube: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M19.812 5.418c.861.23 1.538.907 1.768 1.768C21.998 8.746 22 12 22 12s0 3.255-.418 4.814a2.504 2.504 0 0 1-1.768 1.768c-1.56.419-7.814.419-7.814.419s-6.255 0-7.814-.419a2.505 2.505 0 0 1-1.768-1.768C2 15.255 2 12 2 12s0-3.255.417-4.814a2.507 2.507 0 0 1 1.768-1.768C5.744 5 11.998 5 11.998 5s6.255 0 7.814.418ZM15.194 12 10 15V9l5.194 3Z'\n clipRule='evenodd'\n />\n </svg>\n ),\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { cn } from '../lib/utils'\n\nfunction TooltipProvider({\n delayDuration,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot='tooltip-provider'\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot='tooltip' {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot='tooltip-trigger' {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot='tooltip-content'\n sideOffset={sideOffset}\n className={cn(\n 'bg-nsw-grey-800 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance text-white',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className='bg-nsw-grey-800 fill-nsw-grey-800 z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]' />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","'use client'\n\nimport { useRef, useState } from 'react'\nimport { twMerge } from 'tailwind-merge'\nimport { Icons } from '../components/Icons'\n\nexport function PreWithCopy(props: React.HTMLAttributes<HTMLPreElement>) {\n const textInput = useRef<HTMLPreElement>(null)\n const [isJustCopied, setJustCopied] = useState(false)\n\n function handleCopy() {\n if (textInput.current) {\n navigator.clipboard.writeText(textInput.current.textContent || '')\n setJustCopied(true)\n setTimeout(() => setJustCopied(false), 2000)\n }\n }\n\n return (\n <div className='group relative'>\n <pre\n ref={textInput}\n {...props}\n className={twMerge('max-h-[40rem] overflow-auto', props.className)}\n />\n <button\n className='absolute top-2 right-2 m-0.5 inline-flex h-8 items-center justify-center rounded-lg border border-gray-200 bg-white px-2.5 py-2 text-gray-900 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-gray-100 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700'\n aria-label='Copy code to clipboard'\n onClick={handleCopy}\n >\n <span className={twMerge(isJustCopied && 'hidden')}>\n <span className='inline-flex items-center'>\n <Icons.copy className='me-1.5 size-3' />\n <span className='text-xs font-semibold'>Copy code</span>\n </span>\n </span>\n <span className={twMerge(isJustCopied ? 'block' : 'hidden')}>\n <span className='inline-flex items-center'>\n <Icons.check className='text-primary-700 dark:text-primary-500 me-1.5 size-3' />\n <span className='text-primary-700 dark:text-primary-500 text-xs font-semibold'>\n Copied\n </span>\n </span>\n </span>\n </button>\n </div>\n )\n}\n","import Prism from 'prismjs'\nimport { twMerge } from 'tailwind-merge'\nimport { PreWithCopy } from '../components/PreWithCopy'\nimport { CodeHighlightProps } from '../types/types'\n\nimport 'prismjs/components/prism-bash'\nimport 'prismjs/components/prism-css'\nimport 'prismjs/components/prism-javascript'\nimport 'prismjs/components/prism-json'\nimport 'prismjs/components/prism-jsx'\nimport 'prismjs/components/prism-tsx'\nimport 'prismjs/components/prism-typescript'\n\nPrism.manual = true\n\nexport function CodeHighlight({\n code,\n language,\n className,\n withCopy = false,\n ...props\n}: CodeHighlightProps) {\n const highlightedCode = Prism.highlight(code.trim(), Prism.languages[language], language)\n const Component = withCopy ? PreWithCopy : 'pre'\n\n return (\n <Component className={twMerge(`language-${language}`, className)} {...props}>\n <code\n className={`language-${language}`}\n dangerouslySetInnerHTML={{ __html: highlightedCode }}\n />\n </Component>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot='select' {...props} />\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot='select-group' {...props} />\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot='select-value' {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default'\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot='select-trigger'\n data-size={size}\n className={cn(\n // Base styles\n \"border-nsw-grey-600 [&_svg:not([class*='text-'])]:text-nsw-grey-600 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n // Disabled styles\n 'disabled:cursor-not-allowed disabled:opacity-50',\n // aria-invalid styles\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n // Focus styles\n 'focus:outline-primary-650/70 focus:outline focus:outline-2 focus:outline-offset-2',\n // Placeholder styles\n 'data-[placeholder]:text-nsw-grey-600',\n // Dark mode styles\n 'dark:bg-input/30 dark:hover:bg-input/50',\n // Size styles\n 'data-[size=default]:h-12 data-[size=sm]:h-9',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <Icons.chevron_down className='size-6 opacity-80' />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot='select-content'\n className={cn(\n // Base styles\n 'text-nsw-grey-800 bg-white',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot='select-label'\n className={cn('text-nsw-grey-600 px-2 py-1.5 text-xs', className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot='select-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-primary-800 [&_svg:not([class*='text-'])]:text-nsw-grey-600 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:font-bold data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className='absolute right-2 flex size-3.5 items-center justify-center'>\n <SelectPrimitive.ItemIndicator>\n <Icons.check className='size-6' />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot='select-separator'\n className={cn('bg-nsw-primary-800/20 pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot='select-scroll-up-button'\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <Icons.chevron_up className='size-6' />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot='select-scroll-down-button'\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <Icons.chevron_down className='size-6' />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\n\nimport { cn } from '../lib/utils'\n\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot='popover' {...props} />\n}\n\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot='popover-trigger' {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot='popover-content'\n align={align}\n sideOffset={sideOffset}\n className={cn(\n [\n // Base\n 'bg-background text-foreground z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n // Open\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n // Closed\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n // Side\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n ],\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot='popover-anchor' {...props} />\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n","'use client'\n\nimport * as React from 'react'\nimport * as LabelPrimitive from '@radix-ui/react-label'\n\nimport { cn } from '../lib/utils'\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot='label'\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","'use client'\n\nimport * as React from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot='radio-group'\n className={cn('grid gap-3', className)}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot='radio-group-item'\n className={cn(\n 'border-nsw-grey-200 text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot='radio-group-indicator'\n className='relative flex items-center justify-center'\n >\n <Icons.circle className='fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2' />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n","'use client'\n\nimport * as React from 'react'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\n\nimport { cn } from '../lib/utils'\n\nfunction SegmentedControl({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='seg-control'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n )\n}\n\nfunction SegmentedControlList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='seg-control-list'\n className={cn(\n [\n // Base\n 'inline-flex h-9 w-fit items-center justify-center rounded-md p-[2px]',\n // Light mode\n 'bg-nsw-grey-100 text-nsw-grey-800',\n // Dark mode\n 'dark:bg-nsw-grey-100/20 dark:text-white',\n // Dark mode hover\n '',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SegmentedControlTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='seg-control-trigger'\n className={cn(\n [\n // Base\n 'inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-3 py-2 text-base font-medium whitespace-nowrap transition-[color,box-shadow]',\n // Light mode\n 'text-nsw-grey-800',\n // Focus\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring focus:z-10 focus-visible:ring-[3px] focus-visible:outline-1',\n // Active\n 'data-[state=active]:bg-background data-[state=active]:shadow-sm',\n // Hover\n '',\n // Disabled\n 'disabled:pointer-events-none disabled:opacity-50',\n // Dark mode\n 'dark:text-muted-foreground',\n // Dark mode hover\n '',\n // Dark mode active\n 'dark:data-[state=active]:text-foreground dark:data-[state=active]:bg-input/30',\n // Icon\n '[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\"size-\"])]:size-4',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SegmentedControlContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='seg-control-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nexport { SegmentedControl, SegmentedControlList, SegmentedControlTrigger, SegmentedControlContent }\n","'use client'\n\nimport { Label } from '../components/Label'\nimport { RadioGroup, RadioGroupItem } from '../components/RadioGroup'\nimport { ThemeCategory, ThemeSelectorProps } from '../types/types'\nimport {\n SegmentedControl,\n SegmentedControlList,\n SegmentedControlTrigger,\n} from '@/components/SegmentedControl'\nimport { cn } from '../lib/utils'\n\nconst findGreyKey = (themes: Record<string, unknown>) =>\n Object.keys(themes).find((k) => k.toLowerCase().includes('grey')) ?? ''\n\nexport function ThemeSelector({\n themeCategory,\n setThemeCategory,\n primaryColor,\n setPrimaryColor,\n accentColor,\n setAccentColor,\n greyColor,\n setGreyColor,\n availableAccentColors,\n colorThemes,\n}: ThemeSelectorProps) {\n const handleCategoryChange = (newCategory: ThemeCategory) => {\n setThemeCategory(newCategory)\n\n const availableColors = Object.keys(colorThemes[newCategory])\n\n const neutral = findGreyKey(colorThemes[newCategory])\n if (neutral && neutral !== greyColor) {\n setGreyColor(neutral)\n }\n\n if (availableColors.length > 0) {\n if (availableColors.includes(primaryColor)) {\n const newAccentColor = availableColors.find((color) => color !== primaryColor)\n if (newAccentColor && newAccentColor !== accentColor) {\n setAccentColor(newAccentColor)\n }\n } else {\n setPrimaryColor(availableColors[0])\n\n if (availableColors.length > 1) {\n setAccentColor(availableColors[1])\n }\n }\n }\n }\n\n const labelStyles = {\n base: [\n // Base\n 'group relative flex w-full items-center gap-2 rounded-sm border px-3 py-2',\n // Light mode\n 'border-nsw-grey-200 bg-background',\n // Hover\n 'hover:bg-primary-800/10 hover:text-foreground',\n // Active\n '[&:has([data-state=checked])]:border-nsw-grey-800',\n // Dark mode\n '',\n // Dark hover\n 'dark:hover:bg-white/10',\n // Dark active\n 'dark:group-data-[state=checked]:border-nsw-grey-400',\n ],\n label: [\n // Base\n 'cursor-pointer flex items-center justify-between',\n // Active\n '',\n ],\n }\n\n return (\n <div className='flex flex-col gap-6'>\n <div className='flex flex-col gap-2'>\n <h3 className='font-medium'>Theme Category</h3>\n <SegmentedControl\n value={themeCategory}\n onValueChange={(value) => handleCategoryChange(value as ThemeCategory)}\n >\n <SegmentedControlList className='w-full'>\n <SegmentedControlTrigger value='brand'>Brand Colors</SegmentedControlTrigger>\n <SegmentedControlTrigger value='aboriginal'>Aboriginal Colors</SegmentedControlTrigger>\n </SegmentedControlList>\n </SegmentedControl>\n </div>\n\n <div className='grid gap-6'>\n <div className='flex flex-col gap-3'>\n <h3 className='font-medium'>Primary Color</h3>\n <RadioGroup\n value={primaryColor}\n onValueChange={(value) => setPrimaryColor(value)}\n className='grid grid-cols-2 gap-2'\n >\n {Object.entries(colorThemes[themeCategory]).map(([key, theme]) => (\n <div key={key} className={cn(labelStyles.base, '')}>\n <RadioGroupItem value={key} id={`primary-${key}`} className='peer sr-only' />\n <Label htmlFor={`primary-${key}`} className={cn(labelStyles.label, '')}>\n <div\n className='h-5 w-5 flex-none rounded-full'\n style={{ backgroundColor: theme.colors[3].hex }}\n />\n <span className='shrink'>\n {theme.colors[3].name\n ?.replace(/\\b(NSW|0[1-4])\\b/g, '')\n .replace(/\\s+/g, ' ')\n .trim()}\n </span>\n <span className='absolute inset-0' aria-hidden={true} />\n </Label>\n </div>\n ))}\n </RadioGroup>\n </div>\n\n <div className='flex flex-col gap-3'>\n <h3 className='font-medium'>Accent Color</h3>\n <RadioGroup\n value={accentColor}\n onValueChange={(value) => setAccentColor(value)}\n className='grid grid-cols-2 gap-2'\n >\n {availableAccentColors.map((key) => (\n <div key={key} className={cn(labelStyles.base, '')}>\n <RadioGroupItem value={key} id={`accent-${key}`} className='peer sr-only' />\n <Label htmlFor={`accent-${key}`} className={cn(labelStyles.label, '')}>\n <div\n className='size-5 flex-none rounded-full'\n style={{ backgroundColor: colorThemes[themeCategory][key].colors[2].hex }}\n />\n <span className='shrink'>\n {colorThemes[themeCategory][key].colors[2].name\n ?.replace(/\\b(NSW|0[1-4])\\b/g, '')\n .replace(/\\s+/g, ' ')\n .trim()}\n </span>\n <span className='absolute inset-0' aria-hidden={true} />\n </Label>\n </div>\n ))}\n </RadioGroup>\n </div>\n </div>\n </div>\n )\n}\n","import { ColorThemes, Palette } from '@/types/types'\nimport { oklchConverter } from '@/lib/colors'\nimport { generateColorThemes } from '@/lib/colors'\n\nexport const brand: Record<string, string[]> = {\n grey: [\n oklchConverter('#22272b'),\n oklchConverter('#495054'),\n oklchConverter('#cdd3d6'),\n oklchConverter('#ebebeb'),\n ],\n green: [\n oklchConverter('#004000'),\n oklchConverter('#00aa45'),\n oklchConverter('#a8edb3'),\n oklchConverter('#dbfadf'),\n ],\n teal: [\n oklchConverter('#0b3f47'),\n oklchConverter('#2e808e'),\n oklchConverter('#8cdbe5'),\n oklchConverter('#d1eeea'),\n ],\n blue: [\n oklchConverter('#002664'),\n oklchConverter('#146cfd'),\n oklchConverter('#8ce0ff'),\n oklchConverter('#cbedfd'),\n ],\n purple: [\n oklchConverter('#441170'),\n oklchConverter('#8055f1'),\n oklchConverter('#cebfff'),\n oklchConverter('#e6e1fd'),\n ],\n fuchsia: [\n oklchConverter('#65004d'),\n oklchConverter('#d912ae'),\n oklchConverter('#f4b5e6'),\n oklchConverter('#fddef2'),\n ],\n red: [\n oklchConverter('#630019'),\n oklchConverter('#d7153a'),\n oklchConverter('#ffb8c1'),\n oklchConverter('#ffe6ea'),\n ],\n orange: [\n oklchConverter('#941b00'),\n oklchConverter('#f3631b'),\n oklchConverter('#ffce99'),\n oklchConverter('#fdeddf'),\n ],\n yellow: [\n oklchConverter('#694800'),\n oklchConverter('#faaf05'),\n oklchConverter('#fde79a'),\n oklchConverter('#fff4cf'),\n ],\n brown: [\n oklchConverter('#523719'),\n oklchConverter('#b68d5d'),\n oklchConverter('#e8d0b5'),\n oklchConverter('#ede3d7'),\n ],\n}\n\nexport const aboriginal: Record<string, string[]> = {\n grey: [\n oklchConverter('#2D2D2D'),\n oklchConverter('#555555'),\n oklchConverter('#CCC6C2'),\n oklchConverter('#E5E3E0'),\n ],\n red: [\n oklchConverter('#950906'),\n oklchConverter('#E1261C'),\n oklchConverter('#FBB4B3'),\n oklchConverter('#FDD9D9'),\n ],\n orange: [\n oklchConverter('#882600'),\n oklchConverter('#EE6314'),\n oklchConverter('#F4AA7D'),\n oklchConverter('#F9D4BE'),\n ],\n brown: [\n oklchConverter('#552105'),\n oklchConverter('#9E5332'),\n oklchConverter('#D39165'),\n oklchConverter('#E9C8B2'),\n ],\n yellow: [\n oklchConverter('#895E00'),\n oklchConverter('#FEA927'),\n oklchConverter('#FEE48C'),\n oklchConverter('#FFF1C5'),\n ],\n green: [\n oklchConverter('#215834'),\n oklchConverter('#78A146'),\n oklchConverter('#B5CDA4'),\n oklchConverter('#DAE6D1'),\n ],\n blue: [\n oklchConverter('#162953'),\n oklchConverter('#0D6791'),\n oklchConverter('#84C5D1'),\n oklchConverter('#C1E2E8'),\n ],\n purple: [\n oklchConverter('#472642'),\n oklchConverter('#9A5E93'),\n oklchConverter('#C99AC2'),\n oklchConverter('#E4CCE0'),\n ],\n}\n\nexport const semantic: Record<string, string[]> = {\n success: [\n oklchConverter('#002f00'),\n oklchConverter('#008a07'),\n oklchConverter('#58a854'),\n oklchConverter('#c4e5c0'),\n ],\n warning: [\n oklchConverter('#4b1200'),\n oklchConverter('#C95000'),\n oklchConverter('#dd7d53'),\n oklchConverter('#fdd2c0'),\n ],\n danger: [\n oklchConverter('#44000a'),\n oklchConverter('#B81237'),\n oklchConverter('#d35d65'),\n oklchConverter('#fdc6c6'),\n ],\n info: [\n oklchConverter('#071738'),\n oklchConverter('#2E5299'),\n oklchConverter('#5775ae'),\n oklchConverter('#acbbd5'),\n ],\n}\n\nexport const allPalettes: Palette[] = [\n {\n baseColors: brand.blue,\n name: 'Primary',\n },\n {\n baseColors: brand.red,\n name: 'Accent',\n },\n {\n baseColors: brand.grey,\n name: 'Grey',\n },\n {\n baseColors: semantic.success,\n name: 'Success',\n },\n {\n baseColors: semantic.warning,\n name: 'Warning',\n },\n {\n baseColors: semantic.danger,\n name: 'Danger',\n },\n {\n baseColors: semantic.info,\n name: 'Info',\n },\n {\n baseColors: brand.grey,\n name: 'NSW Grey',\n },\n {\n baseColors: brand.green,\n name: 'NSW Green',\n },\n {\n baseColors: brand.teal,\n name: 'NSW Teal',\n },\n {\n baseColors: brand.blue,\n name: 'NSW Blue',\n },\n {\n baseColors: brand.purple,\n name: 'NSW Purple',\n },\n {\n baseColors: brand.fuchsia,\n name: 'NSW Fuchsia',\n },\n {\n baseColors: brand.red,\n name: 'NSW Red',\n },\n {\n baseColors: brand.orange,\n name: 'NSW Orange',\n },\n {\n baseColors: brand.yellow,\n name: 'NSW Yellow',\n },\n {\n baseColors: brand.brown,\n name: 'NSW Brown',\n },\n {\n baseColors: aboriginal.grey,\n name: 'NSW Aboriginal Grey',\n },\n {\n baseColors: aboriginal.red,\n name: 'NSW Aboriginal Red',\n },\n {\n baseColors: aboriginal.orange,\n name: 'NSW Aboriginal Orange',\n },\n {\n baseColors: aboriginal.brown,\n name: 'NSW Aboriginal Brown',\n },\n {\n baseColors: aboriginal.yellow,\n name: 'NSW Aboriginal Yellow',\n },\n {\n baseColors: aboriginal.green,\n name: 'NSW Aboriginal Green',\n },\n {\n baseColors: aboriginal.blue,\n name: 'NSW Aboriginal Blue',\n },\n {\n baseColors: aboriginal.purple,\n name: 'NSW Aboriginal Purple',\n },\n]\n\nexport const colors: ColorThemes = {\n brand: {\n green: {\n name: 'NSW Green',\n colors: [\n {\n token: 'nsw-green-50',\n oklch: 'oklch(0.9888862054005949 0.015684460842301393 148.90450809902686)',\n hex: '#f5fff6',\n rgb: 'rgb(245, 255, 246)',\n hsl: 'hsl(126.92, 92.48%, 97.87%)',\n },\n {\n token: 'nsw-green-100',\n oklch: 'oklch(0.9777724108011899 0.026542933733125437 148.90450809902686)',\n hex: '#ecfdee',\n rgb: 'rgb(236, 253, 238)',\n hsl: 'hsl(127.18, 81.76%, 95.93%)',\n },\n {\n token: 'nsw-green-150',\n oklch: 'oklch(0.966658616201785 0.03740140662394948 148.90450809902686)',\n hex: '#e4fce7',\n rgb: 'rgb(228, 252, 231)',\n hsl: 'hsl(127.45, 77.77%, 93.96%)',\n },\n {\n token: 'nsw-green-200',\n oklch: 'oklch(0.9555448216023799 0.04825987951477352 148.90450809902686)',\n hex: '#dbfadf',\n rgb: 'rgb(219, 250, 223)',\n hsl: 'hsl(127.74, 75.61%, 91.96%)',\n name: 'NSW Green 04',\n },\n {\n token: 'nsw-green-250',\n oklch: 'oklch(0.93795442561214 0.06251830190357965 148.8847612358868)',\n hex: '#cff7d4',\n rgb: 'rgb(207, 247, 212)',\n hsl: 'hsl(128.12, 71.21%, 88.91%)',\n },\n {\n token: 'nsw-green-300',\n oklch: 'oklch(0.9203640296219002 0.07677672429238579 148.86501437274677)',\n hex: '#c2f4c9',\n rgb: 'rgb(194, 244, 201)',\n hsl: 'hsl(128.55, 68.62%, 85.81%)',\n },\n {\n token: 'nsw-green-350',\n oklch: 'oklch(0.9027736336316604 0.09103514668119192 148.84526750960674)',\n hex: '#b5f0be',\n rgb: 'rgb(181, 240, 190)',\n hsl: 'hsl(129.02, 66.91%, 82.65%)',\n },\n {\n token: 'nsw-green-400',\n oklch: 'oklch(0.8851832376414206 0.10529356906999805 148.82552064646669)',\n hex: '#a8edb3',\n rgb: 'rgb(168, 237, 179)',\n hsl: 'hsl(129.57, 65.71%, 79.41%)',\n name: 'NSW Green 03',\n },\n {\n token: 'nsw-green-450',\n oklch: 'oklch(0.8248441293359839 0.12523789819884273 148.68573660212806)',\n hex: '#8adc98',\n rgb: 'rgb(138, 220, 152)',\n hsl: 'hsl(130.48, 54.36%, 70.18%)',\n },\n {\n token: 'nsw-green-500',\n oklch: 'oklch(0.7645050210305473 0.14518222732768743 148.54595255778946)',\n hex: '#6acc7d',\n rgb: 'rgb(106, 204, 125)',\n hsl: 'hsl(131.91, 48.76%, 60.63%)',\n },\n {\n token: 'nsw-green-550',\n oklch: 'oklch(0.7041659127251108 0.16512655645653213 148.40616851345084)',\n hex: '#45bb62',\n rgb: 'rgb(69, 187, 98)',\n hsl: 'hsl(134.54, 46.29%, 50.21%)',\n },\n {\n token: 'nsw-green-600',\n oklch: 'oklch(0.6438268044196741 0.18507088558537682 148.2663844691122)',\n hex: '#00aa45',\n rgb: 'rgb(0, 170, 69)',\n hsl: 'hsl(144.35, 100%, 33.33%)',\n name: 'NSW Green 02',\n },\n {\n token: 'nsw-green-650',\n oklch: 'oklch(0.5633395874961222 0.16618487162330642 146.82362307378662)',\n hex: '#078e32',\n rgb: 'rgb(7, 142, 50)',\n hsl: 'hsl(139.28, 90.98%, 29.11%)',\n },\n {\n token: 'nsw-green-700',\n oklch: 'oklch(0.4828523705725703 0.147298857661236 145.38086167846106)',\n hex: '#077320',\n rgb: 'rgb(7, 115, 32)',\n hsl: 'hsl(134.23, 89.08%, 23.77%)',\n },\n {\n token: 'nsw-green-750',\n oklch: 'oklch(0.40236515364901837 0.12841284369916556 143.9381002831355)',\n hex: '#03590f',\n rgb: 'rgb(3, 89, 15)',\n hsl: 'hsl(127.99, 92.45%, 18.06%)',\n },\n {\n token: 'nsw-green-800',\n oklch: 'oklch(0.3218779367254665 0.10952682973709514 142.4953388878099)',\n hex: '#004000',\n rgb: 'rgb(0, 64, 0)',\n hsl: 'hsl(120, 100%, 12.55%)',\n name: 'NSW Green 01',\n },\n {\n token: 'nsw-green-850',\n oklch: 'oklch(0.2655492977985099 0.09309780527653087 142.4953388878099)',\n hex: '#003000',\n rgb: 'rgb(0, 48, 0)',\n hsl: 'hsl(120.41, 100%, 8.99%)',\n },\n {\n token: 'nsw-green-900',\n oklch: 'oklch(0.20922065887155322 0.07666878081596659 142.4953388878099)',\n hex: '#002000',\n rgb: 'rgb(0, 32, 0)',\n hsl: 'hsl(120.77, 100%, 5.85%)',\n },\n {\n token: 'nsw-green-950',\n oklch: 'oklch(0.15289201994459659 0.060239756355402324 142.4953388878099)',\n hex: '#001100',\n rgb: 'rgb(0, 17, 0)',\n hsl: 'hsl(121.17, 100%, 3.07%)',\n },\n ],\n },\n teal: {\n name: 'NSW Teal',\n colors: [\n {\n token: 'nsw-teal-50',\n oklch: 'oklch(0.9817421856952406 0.010019570541999173 186.58790176853086)',\n hex: '#f2fbfa',\n rgb: 'rgb(242, 251, 250)',\n hsl: 'hsl(171.22, 56.11%, 96.73%)',\n },\n {\n token: 'nsw-teal-100',\n oklch: 'oklch(0.9634843713904812 0.01695619630184475 186.58790176853086)',\n hex: '#e7f7f5',\n rgb: 'rgb(231, 247, 245)',\n hsl: 'hsl(171.38, 49.48%, 93.72%)',\n },\n {\n token: 'nsw-teal-150',\n oklch: 'oklch(0.9452265570857217 0.02389282206169033 186.58790176853086)',\n hex: '#dcf2ef',\n rgb: 'rgb(220, 242, 239)',\n hsl: 'hsl(171.55, 47.18%, 90.69%)',\n },\n {\n token: 'nsw-teal-200',\n oklch: 'oklch(0.9269687427809623 0.03082944782153591 186.58790176853086)',\n hex: '#d1eeea',\n rgb: 'rgb(209, 238, 234)',\n hsl: 'hsl(171.72, 46.03%, 87.65%)',\n name: 'NSW Teal 04',\n },\n {\n token: 'nsw-teal-250',\n oklch: 'oklch(0.9062032463653427 0.042800313186136286 191.43372937544774)',\n hex: '#c1eae7',\n rgb: 'rgb(193, 234, 231)',\n hsl: 'hsl(176, 49.12%, 83.57%)',\n },\n {\n token: 'nsw-teal-300',\n oklch: 'oklch(0.8854377499497231 0.054771178550736654 196.27955698236462)',\n hex: '#afe5e5',\n rgb: 'rgb(175, 229, 229)',\n hsl: 'hsl(180.06, 50.95%, 79.35%)',\n },\n {\n token: 'nsw-teal-350',\n oklch: 'oklch(0.8646722535341036 0.06674204391533703 201.1253845892815)',\n hex: '#9ee0e5',\n rgb: 'rgb(158, 224, 229)',\n hsl: 'hsl(183.68, 57.18%, 75.79%)',\n },\n {\n token: 'nsw-teal-400',\n oklch: 'oklch(0.843906757118484 0.0787129092799374 205.9712121961984)',\n hex: '#8cdbe5',\n rgb: 'rgb(140, 219, 229)',\n hsl: 'hsl(186.74, 63.12%, 72.35%)',\n name: 'NSW Teal 03',\n },\n {\n token: 'nsw-teal-450',\n oklch: 'oklch(0.7720750773324279 0.0790813961169628 207.2003147622988)',\n hex: '#75c4cf',\n rgb: 'rgb(117, 196, 207)',\n hsl: 'hsl(187.41, 48.14%, 63.4%)',\n },\n {\n token: 'nsw-teal-500',\n oklch: 'oklch(0.7002433975463718 0.07944988295398821 208.4294173283992)',\n hex: '#5eacb9',\n rgb: 'rgb(94, 172, 185)',\n hsl: 'hsl(188, 39.25%, 54.56%)',\n },\n {\n token: 'nsw-teal-550',\n oklch: 'oklch(0.6284117177603156 0.07981836979101362 209.6585198944996)',\n hex: '#4696a3',\n rgb: 'rgb(70, 150, 163)',\n hsl: 'hsl(188.48, 39.69%, 45.78%)',\n },\n {\n token: 'nsw-teal-600',\n oklch: 'oklch(0.5565800379742595 0.08018685662803901 210.8876224606)',\n hex: '#2e808e',\n rgb: 'rgb(46, 128, 142)',\n hsl: 'hsl(188.75, 51.06%, 36.86%)',\n name: 'NSW Teal 02',\n },\n {\n token: 'nsw-teal-650',\n oklch: 'oklch(0.5022148272886866 0.07346217392494098 210.7415844616744)',\n hex: '#256f7b',\n rgb: 'rgb(37, 111, 123)',\n hsl: 'hsl(188.61, 53.88%, 31.46%)',\n },\n {\n token: 'nsw-teal-700',\n oklch: 'oklch(0.44784961660311384 0.06673749122184294 210.5955464627488)',\n hex: '#1c5f69',\n rgb: 'rgb(28, 95, 105)',\n hsl: 'hsl(188.45, 57.8%, 26.19%)',\n },\n {\n token: 'nsw-teal-750',\n oklch: 'oklch(0.39348440591754097 0.06001280851874492 210.4495084638232)',\n hex: '#144e58',\n rgb: 'rgb(20, 78, 88)',\n hsl: 'hsl(188.26, 63.6%, 21.07%)',\n },\n {\n token: 'nsw-teal-800',\n oklch: 'oklch(0.33911919523196815 0.05328812581564689 210.3034704648976)',\n hex: '#0b3f47',\n rgb: 'rgb(11, 63, 71)',\n hsl: 'hsl(188, 73.17%, 16.08%)',\n name: 'NSW Teal 01',\n },\n {\n token: 'nsw-teal-850',\n oklch: 'oklch(0.2797733360663737 0.04529490694329986 210.3034704648976)',\n hex: '#042f35',\n rgb: 'rgb(4, 47, 53)',\n hsl: 'hsl(187.99, 84.92%, 11.28%)',\n },\n {\n token: 'nsw-teal-900',\n oklch: 'oklch(0.2204274769007793 0.037301688070952826 210.3034704648976)',\n hex: '#011f24',\n rgb: 'rgb(1, 31, 36)',\n hsl: 'hsl(188.56, 96.03%, 7.26%)',\n },\n {\n token: 'nsw-teal-950',\n oklch: 'oklch(0.16108161773518487 0.029308469198605788 210.3034704648976)',\n hex: '#001114',\n rgb: 'rgb(0, 17, 20)',\n hsl: 'hsl(190.58, 100%, 3.88%)',\n },\n ],\n },\n blue: {\n name: 'NSW Blue',\n colors: [\n {\n token: 'nsw-blue-50',\n oklch: 'oklch(0.9816683948128555 0.013540580086234762 227.890755564881)',\n hex: '#f0fbff',\n rgb: 'rgb(240, 251, 255)',\n hsl: 'hsl(199.45, 100%, 97.34%)',\n },\n {\n token: 'nsw-blue-100',\n oklch: 'oklch(0.9633367896257109 0.022914827838243446 227.890755564881)',\n hex: '#e4f6ff',\n rgb: 'rgb(228, 246, 255)',\n hsl: 'hsl(199.38, 100%, 94.73%)',\n },\n {\n token: 'nsw-blue-150',\n oklch: 'oklch(0.9450051844385663 0.032289075590252125 227.890755564881)',\n hex: '#d7f2fe',\n rgb: 'rgb(215, 242, 254)',\n hsl: 'hsl(199.3, 95.85%, 92.09%)',\n },\n {\n token: 'nsw-blue-200',\n oklch: 'oklch(0.9266735792514218 0.04166332334226081 227.890755564881)',\n hex: '#cbedfd',\n rgb: 'rgb(203, 237, 253)',\n hsl: 'hsl(199.2, 92.59%, 89.41%)',\n name: 'NSW Blue 04',\n },\n {\n token: 'nsw-blue-250',\n oklch: 'oklch(0.9110280326138016 0.05428316129852959 226.81685418252806)',\n hex: '#bceafe',\n rgb: 'rgb(188, 234, 254)',\n hsl: 'hsl(198.5, 96.87%, 86.75%)',\n },\n {\n token: 'nsw-blue-300',\n oklch: 'oklch(0.8953824859761815 0.06690299925479838 225.74295280017512)',\n hex: '#ade7ff',\n rgb: 'rgb(173, 231, 255)',\n hsl: 'hsl(197.76, 98.99%, 83.89%)',\n },\n {\n token: 'nsw-blue-350',\n oklch: 'oklch(0.8797369393385615 0.07952283721106716 224.66905141782217)',\n hex: '#9de3ff',\n rgb: 'rgb(157, 227, 255)',\n hsl: 'hsl(197, 99.87%, 80.82%)',\n },\n {\n token: 'nsw-blue-400',\n oklch: 'oklch(0.8640913927009413 0.09214267516733594 223.59515003546923)',\n hex: '#8ce0ff',\n rgb: 'rgb(140, 224, 255)',\n hsl: 'hsl(196.17, 100%, 77.45%)',\n name: 'NSW Blue 03',\n },\n {\n token: 'nsw-blue-450',\n oklch: 'oklch(0.7918467078448571 0.12656541375136143 232.8854457721009)',\n hex: '#5ac9ff',\n rgb: 'rgb(90, 201, 255)',\n hsl: 'hsl(199.74, 99.83%, 67.57%)',\n },\n {\n token: 'nsw-blue-500',\n oklch: 'oklch(0.719602022988773 0.1609881523353869 242.17574150873253)',\n hex: '#26aeff',\n rgb: 'rgb(38, 174, 255)',\n hsl: 'hsl(202.52, 100%, 57.55%)',\n },\n {\n token: 'nsw-blue-550',\n oklch: 'oklch(0.6473573381326887 0.19541089091941238 251.4660372453642)',\n hex: '#008fff',\n rgb: 'rgb(0, 143, 255)',\n hsl: 'hsl(204.76, 100%, 46.97%)',\n },\n {\n token: 'nsw-blue-600',\n oklch: 'oklch(0.5751126532766045 0.2298336295034379 260.75633298199585)',\n hex: '#146cfd',\n rgb: 'rgb(20, 108, 253)',\n hsl: 'hsl(217.34, 98.31%, 53.53%)',\n name: 'NSW Blue 02',\n },\n {\n token: 'nsw-blue-650',\n oklch: 'oklch(0.5038341615701663 0.20169915825513662 260.52773388396713)',\n hex: '#0c5ad4',\n rgb: 'rgb(12, 90, 212)',\n hsl: 'hsl(216.77, 89.43%, 43.98%)',\n },\n {\n token: 'nsw-blue-700',\n oklch: 'oklch(0.43255566986372795 0.17356468700683536 260.29913478593846)',\n hex: '#0548ad',\n rgb: 'rgb(5, 72, 173)',\n hsl: 'hsl(216.29, 94.14%, 35%)',\n },\n {\n token: 'nsw-blue-750',\n oklch: 'oklch(0.3612771781572896 0.1454302157585341 260.07053568790974)',\n hex: '#023688',\n rgb: 'rgb(2, 54, 136)',\n hsl: 'hsl(216.37, 97.67%, 26.93%)',\n },\n {\n token: 'nsw-blue-800',\n oklch: 'oklch(0.2899986864508513 0.11729574451023282 259.841936589881)',\n hex: '#002664',\n rgb: 'rgb(0, 38, 100)',\n hsl: 'hsl(217.2, 100%, 19.61%)',\n name: 'NSW Blue 01',\n },\n {\n token: 'nsw-blue-850',\n oklch: 'oklch(0.23924891632195233 0.0997013828336979 259.841936589881)',\n hex: '#001a4d',\n rgb: 'rgb(0, 26, 77)',\n hsl: 'hsl(218.95, 100%, 14.93%)',\n },\n {\n token: 'nsw-blue-900',\n oklch: 'oklch(0.18849914619305336 0.08210702115716298 259.841936589881)',\n hex: '#001037',\n rgb: 'rgb(0, 16, 55)',\n hsl: 'hsl(222.31, 100%, 10.59%)',\n },\n {\n token: 'nsw-blue-950',\n oklch: 'oklch(0.13774937606415438 0.06451265948062805 259.841936589881)',\n hex: '#000622',\n rgb: 'rgb(0, 6, 34)',\n hsl: 'hsl(228.65, 100%, 6.6%)',\n },\n ],\n },\n purple: {\n name: 'NSW Purple',\n colors: [\n {\n token: 'nsw-purple-50',\n oklch: 'oklch(0.9805379794123148 0.012378795916481191 293.8323307371206)',\n hex: '#f9f7ff',\n rgb: 'rgb(249, 247, 255)',\n hsl: 'hsl(250, 100%, 98.76%)',\n },\n {\n token: 'nsw-purple-100',\n oklch: 'oklch(0.9610759588246297 0.020948731550968172 293.8323307371206)',\n hex: '#f2f0ff',\n rgb: 'rgb(242, 240, 255)',\n hsl: 'hsl(250.23, 100%, 97.09%)',\n },\n {\n token: 'nsw-purple-150',\n oklch: 'oklch(0.9416139382369446 0.029518667185455153 293.8323307371206)',\n hex: '#ece8fe',\n rgb: 'rgb(236, 232, 254)',\n hsl: 'hsl(250.47, 93.41%, 95.41%)',\n },\n {\n token: 'nsw-purple-200',\n oklch: 'oklch(0.9221519176492594 0.038088602819942134 293.8323307371206)',\n hex: '#e6e1fd',\n rgb: 'rgb(230, 225, 253)',\n hsl: 'hsl(250.71, 87.5%, 93.73%)',\n name: 'NSW Purple 04',\n },\n {\n token: 'nsw-purple-250',\n oklch: 'oklch(0.9013385389929451 0.05096960178613127 294.16162791277)',\n hex: '#e0d9fe',\n rgb: 'rgb(224, 217, 254)',\n hsl: 'hsl(251.53, 93.83%, 92.23%)',\n },\n {\n token: 'nsw-purple-300',\n oklch: 'oklch(0.8805251603366309 0.06385060075232041 294.4909250884194)',\n hex: '#dad0fe',\n rgb: 'rgb(218, 208, 254)',\n hsl: 'hsl(252.35, 97.33%, 90.69%)',\n },\n {\n token: 'nsw-purple-350',\n oklch: 'oklch(0.8597117816803166 0.07673159971850954 294.8202222640688)',\n hex: '#d4c8ff',\n rgb: 'rgb(212, 200, 255)',\n hsl: 'hsl(253.2, 99.18%, 89.09%)',\n },\n {\n token: 'nsw-purple-400',\n oklch: 'oklch(0.8388984030240023 0.08961259868469867 295.1495194397181)',\n hex: '#cebfff',\n rgb: 'rgb(206, 191, 255)',\n hsl: 'hsl(254.06, 100%, 87.45%)',\n name: 'NSW Purple 03',\n },\n {\n token: 'nsw-purple-450',\n oklch: 'oklch(0.7746062729566157 0.12261307668256607 293.98756051942956)',\n hex: '#baa6fc',\n rgb: 'rgb(186, 166, 252)',\n hsl: 'hsl(253.9, 94.13%, 82.01%)',\n },\n {\n token: 'nsw-purple-500',\n oklch: 'oklch(0.7103141428892291 0.15561355468043347 292.825601599141)',\n hex: '#a68df9',\n rgb: 'rgb(166, 141, 249)',\n hsl: 'hsl(254.11, 90.14%, 76.39%)',\n },\n {\n token: 'nsw-purple-550',\n oklch: 'oklch(0.6460220128218426 0.1886140326783009 291.6636426788525)',\n hex: '#9372f5',\n rgb: 'rgb(147, 114, 245)',\n hsl: 'hsl(254.88, 87.11%, 70.46%)',\n },\n {\n token: 'nsw-purple-600',\n oklch: 'oklch(0.5817298827544559 0.2216145106761683 290.50168375856396)',\n hex: '#8055f1',\n rgb: 'rgb(128, 85, 241)',\n hsl: 'hsl(256.54, 84.78%, 63.92%)',\n name: 'NSW Purple 02',\n },\n {\n token: 'nsw-purple-650',\n oklch: 'oklch(0.5169868726378744 0.203439148040165 293.5593313045061)',\n hex: '#7243cf',\n rgb: 'rgb(114, 67, 207)',\n hsl: 'hsl(260.32, 59.17%, 53.67%)',\n },\n {\n token: 'nsw-purple-700',\n oklch: 'oklch(0.4522438625212928 0.18526378540416166 296.6169788504482)',\n hex: '#6432ae',\n rgb: 'rgb(100, 50, 174)',\n hsl: 'hsl(264.12, 55.46%, 43.83%)',\n },\n {\n token: 'nsw-purple-750',\n oklch: 'oklch(0.3875008524047112 0.16708842276815833 299.67462639639035)',\n hex: '#54218e',\n rgb: 'rgb(84, 33, 142)',\n hsl: 'hsl(268.02, 62.04%, 34.39%)',\n },\n {\n token: 'nsw-purple-800',\n oklch: 'oklch(0.32275784228812965 0.14891306013215502 302.7322739423325)',\n hex: '#441170',\n rgb: 'rgb(68, 17, 112)',\n hsl: 'hsl(272.21, 73.64%, 25.29%)',\n name: 'NSW Purple 01',\n },\n {\n token: 'nsw-purple-850',\n oklch: 'oklch(0.26627521988770697 0.12657610111233178 302.7322739423325)',\n hex: '#330856',\n rgb: 'rgb(51, 8, 86)',\n hsl: 'hsl(272.75, 82.69%, 18.56%)',\n },\n {\n token: 'nsw-purple-900',\n oklch: 'oklch(0.2097925974872843 0.10423914209250851 302.7322739423325)',\n hex: '#23023e',\n rgb: 'rgb(35, 2, 62)',\n hsl: 'hsl(272.45, 92.77%, 12.64%)',\n },\n {\n token: 'nsw-purple-950',\n oklch: 'oklch(0.1533099750868616 0.08190218307268526 302.7322739423325)',\n hex: '#130027',\n rgb: 'rgb(19, 0, 39)',\n hsl: 'hsl(269.95, 100%, 7.66%)',\n },\n ],\n },\n fuchsia: {\n name: 'NSW Fuchsia',\n colors: [\n {\n token: 'nsw-fuchsia-50',\n oklch: 'oklch(0.9829623738966177 0.01392018614736864 339.13418980883597)',\n hex: '#fff6fd',\n rgb: 'rgb(255, 246, 253)',\n hsl: 'hsl(322.15, 100%, 98.49%)',\n },\n {\n token: 'nsw-fuchsia-100',\n oklch: 'oklch(0.9659247477932353 0.023557238095546926 339.13418980883597)',\n hex: '#ffeef9',\n rgb: 'rgb(255, 238, 249)',\n hsl: 'hsl(321.87, 100%, 96.73%)',\n },\n {\n token: 'nsw-fuchsia-150',\n oklch: 'oklch(0.9488871216898529 0.03319429004372521 339.13418980883597)',\n hex: '#fee6f6',\n rgb: 'rgb(254, 230, 246)',\n hsl: 'hsl(321.58, 93.98%, 94.94%)',\n },\n {\n token: 'nsw-fuchsia-200',\n oklch: 'oklch(0.9318494955864706 0.0428313419919035 339.13418980883597)',\n hex: '#fddef2',\n rgb: 'rgb(253, 222, 242)',\n hsl: 'hsl(321.29, 88.57%, 93.14%)',\n name: 'NSW Fuchsia 04',\n },\n {\n token: 'nsw-fuchsia-250',\n oklch: 'oklch(0.9103421700940119 0.056169859500935226 337.9783379111923)',\n hex: '#fbd4ef',\n rgb: 'rgb(251, 212, 239)',\n hsl: 'hsl(319.35, 84.42%, 90.79%)',\n },\n {\n token: 'nsw-fuchsia-300',\n oklch: 'oklch(0.8888348446015532 0.06950837700996695 336.8224860135486)',\n hex: '#f9c9eb',\n rgb: 'rgb(249, 201, 235)',\n hsl: 'hsl(317.38, 80.69%, 88.38%)',\n },\n {\n token: 'nsw-fuchsia-350',\n oklch: 'oklch(0.8673275191090944 0.08284689451899868 335.6666341159049)',\n hex: '#f7bfe9',\n rgb: 'rgb(247, 191, 233)',\n hsl: 'hsl(315.37, 77.28%, 85.89%)',\n },\n {\n token: 'nsw-fuchsia-400',\n oklch: 'oklch(0.8458201936166357 0.09618541202803041 334.5107822182612)',\n hex: '#f4b5e6',\n rgb: 'rgb(244, 181, 230)',\n hsl: 'hsl(313.33, 74.12%, 83.33%)',\n name: 'NSW Fuchsia 03',\n },\n {\n token: 'nsw-fuchsia-450',\n oklch: 'oklch(0.78467847613666 0.13569730252807746 335.94616447972885)',\n hex: '#ef96da',\n rgb: 'rgb(239, 150, 218)',\n hsl: 'hsl(314.16, 73.33%, 76.26%)',\n },\n {\n token: 'nsw-fuchsia-500',\n oklch: 'oklch(0.7235367586566843 0.17520919302812454 337.3815467411964)',\n hex: '#e975cc',\n rgb: 'rgb(233, 117, 204)',\n hsl: 'hsl(314.67, 72.14%, 68.62%)',\n },\n {\n token: 'nsw-fuchsia-550',\n oklch: 'oklch(0.6623950411767086 0.2147210835281716 338.816929002664)',\n hex: '#e150be',\n rgb: 'rgb(225, 80, 190)',\n hsl: 'hsl(314.69, 71.13%, 59.86%)',\n },\n {\n token: 'nsw-fuchsia-600',\n oklch: 'oklch(0.6012533236967328 0.25423297402821865 340.2523112641316)',\n hex: '#d912ae',\n rgb: 'rgb(217, 18, 174)',\n hsl: 'hsl(312.96, 84.68%, 46.08%)',\n name: 'NSW Fuchsia 02',\n },\n {\n token: 'nsw-fuchsia-650',\n oklch: 'oklch(0.5360839646226407 0.22738751413049402 340.61577057263503)',\n hex: '#bb0c94',\n rgb: 'rgb(187, 12, 148)',\n hsl: 'hsl(313.17, 88.39%, 38.86%)',\n },\n {\n token: 'nsw-fuchsia-700',\n oklch: 'oklch(0.4709146055485488 0.20054205423276938 340.9792298811385)',\n hex: '#9d067b',\n rgb: 'rgb(157, 6, 123)',\n hsl: 'hsl(313.38, 92.9%, 31.95%)',\n },\n {\n token: 'nsw-fuchsia-750',\n oklch: 'oklch(0.40574524647445687 0.17369659433504472 341.342689189642)',\n hex: '#810264',\n rgb: 'rgb(129, 2, 100)',\n hsl: 'hsl(313.72, 96.8%, 25.62%)',\n },\n {\n token: 'nsw-fuchsia-800',\n oklch: 'oklch(0.3405758874003649 0.1468511344373201 341.7061484981454)',\n hex: '#65004d',\n rgb: 'rgb(101, 0, 77)',\n hsl: 'hsl(314.26, 100%, 19.8%)',\n name: 'NSW Fuchsia 01',\n },\n {\n token: 'nsw-fuchsia-850',\n oklch: 'oklch(0.28097510710530105 0.12482346427172208 341.7061484981454)',\n hex: '#4d003a',\n rgb: 'rgb(77, 0, 58)',\n hsl: 'hsl(314.51, 100%, 14.68%)',\n },\n {\n token: 'nsw-fuchsia-900',\n oklch: 'oklch(0.22137432681023717 0.10279579410612406 341.7061484981454)',\n hex: '#370028',\n rgb: 'rgb(55, 0, 40)',\n hsl: 'hsl(315.33, 100%, 10.15%)',\n },\n {\n token: 'nsw-fuchsia-950',\n oklch: 'oklch(0.1617735465151733 0.08076812394052604 341.7061484981454)',\n hex: '#220017',\n rgb: 'rgb(34, 0, 23)',\n hsl: 'hsl(317.48, 100%, 6.11%)',\n },\n ],\n },\n red: {\n name: 'NSW Red',\n colors: [\n {\n token: 'nsw-red-50',\n oklch: 'oklch(0.9865629857873716 0.009043874600495525 6.653158456152784)',\n hex: '#fff8f9',\n rgb: 'rgb(255, 248, 249)',\n hsl: 'hsl(350.85, 100%, 98.97%)',\n },\n {\n token: 'nsw-red-100',\n oklch: 'oklch(0.9731259715747431 0.015305018554684736 6.653158456152784)',\n hex: '#fff2f4',\n rgb: 'rgb(255, 242, 244)',\n hsl: 'hsl(350.7, 100%, 97.7%)',\n },\n {\n token: 'nsw-red-150',\n oklch: 'oklch(0.9596889573621147 0.021566162508873946 6.653158456152784)',\n hex: '#ffecef',\n rgb: 'rgb(255, 236, 239)',\n hsl: 'hsl(350.55, 100%, 96.41%)',\n },\n {\n token: 'nsw-red-200',\n oklch: 'oklch(0.9462519431494862 0.027827306463063157 6.653158456152784)',\n hex: '#ffe6ea',\n rgb: 'rgb(255, 230, 234)',\n hsl: 'hsl(350.4, 100%, 95.1%)',\n name: 'NSW Red 04',\n },\n {\n token: 'nsw-red-250',\n oklch: 'oklch(0.9224097820035976 0.041627996281084 7.632544925274676)',\n hex: '#ffdbe0',\n rgb: 'rgb(255, 219, 224)',\n hsl: 'hsl(350.92, 100%, 92.94%)',\n },\n {\n token: 'nsw-red-300',\n oklch: 'oklch(0.8985676208577089 0.05542868609910484 8.611931394396567)',\n hex: '#ffcfd6',\n rgb: 'rgb(255, 207, 214)',\n hsl: 'hsl(351.43, 100%, 90.72%)',\n },\n {\n token: 'nsw-red-350',\n oklch: 'oklch(0.8747254597118204 0.06922937591712569 9.59131786351846)',\n hex: '#ffc4cc',\n rgb: 'rgb(255, 196, 204)',\n hsl: 'hsl(351.92, 100%, 88.44%)',\n },\n {\n token: 'nsw-red-400',\n oklch: 'oklch(0.8508832985659317 0.08303006573514653 10.570704332640352)',\n hex: '#ffb8c1',\n rgb: 'rgb(255, 184, 193)',\n hsl: 'hsl(352.39, 100%, 86.08%)',\n name: 'NSW Red 03',\n },\n {\n token: 'nsw-red-450',\n oklch: 'oklch(0.7786513285230947 0.11664880226231811 13.011419492803782)',\n hex: '#f897a2',\n rgb: 'rgb(248, 151, 162)',\n hsl: 'hsl(353.39, 86.96%, 78.18%)',\n },\n {\n token: 'nsw-red-500',\n oklch: 'oklch(0.7064193584802577 0.15026753878948967 15.45213465296721)',\n hex: '#ef7581',\n rgb: 'rgb(239, 117, 129)',\n hsl: 'hsl(353.95, 78.84%, 69.69%)',\n },\n {\n token: 'nsw-red-550',\n oklch: 'oklch(0.6341873884374207 0.18388627531666124 17.892849813130642)',\n hex: '#e44f5f',\n rgb: 'rgb(228, 79, 95)',\n hsl: 'hsl(353.52, 73.17%, 60.13%)',\n },\n {\n token: 'nsw-red-600',\n oklch: 'oklch(0.5619554183945837 0.2175050118438328 20.33356497329407)',\n hex: '#d7153a',\n rgb: 'rgb(215, 21, 58)',\n hsl: 'hsl(348.56, 82.2%, 46.27%)',\n name: 'NSW Red 02',\n },\n {\n token: 'nsw-red-650',\n oklch: 'oklch(0.5007084126233001 0.1948505033631296 19.53345435711309)',\n hex: '#b90e32',\n rgb: 'rgb(185, 14, 50)',\n hsl: 'hsl(347.26, 85.91%, 38.92%)',\n },\n {\n token: 'nsw-red-700',\n oklch: 'oklch(0.4394614068520166 0.17219599488242637 18.733343740932114)',\n hex: '#9b072a',\n rgb: 'rgb(155, 7, 42)',\n hsl: 'hsl(345.89, 91%, 31.81%)',\n },\n {\n token: 'nsw-red-750',\n oklch: 'oklch(0.3782144010807331 0.14954148640172313 17.933233124751133)',\n hex: '#7e0322',\n rgb: 'rgb(126, 3, 34)',\n hsl: 'hsl(345, 95.87%, 25.31%)',\n },\n {\n token: 'nsw-red-800',\n oklch: 'oklch(0.31696739530944956 0.1268869779210199 17.133122508570153)',\n hex: '#630019',\n rgb: 'rgb(99, 0, 25)',\n hsl: 'hsl(344.85, 100%, 19.41%)',\n name: 'NSW Red 01',\n },\n {\n token: 'nsw-red-850',\n oklch: 'oklch(0.2614981011302959 0.10785393123286692 17.133122508570153)',\n hex: '#4c0010',\n rgb: 'rgb(76, 0, 16)',\n hsl: 'hsl(346.11, 100%, 14.46%)',\n },\n {\n token: 'nsw-red-900',\n oklch: 'oklch(0.20602880695114223 0.08882088454471393 17.133122508570153)',\n hex: '#360008',\n rgb: 'rgb(54, 0, 8)',\n hsl: 'hsl(349.15, 100%, 10.03%)',\n },\n {\n token: 'nsw-red-950',\n oklch: 'oklch(0.15055951277198854 0.06978783785656095 17.133122508570153)',\n hex: '#210003',\n rgb: 'rgb(33, 0, 3)',\n hsl: 'hsl(352.16, 100%, 6.06%)',\n },\n ],\n },\n orange: {\n name: 'NSW Orange',\n colors: [\n {\n token: 'nsw-orange-50',\n oklch: 'oklch(0.9887596459640142 0.008284590272523786 63.743373146104155)',\n hex: '#fffaf6',\n rgb: 'rgb(255, 250, 246)',\n hsl: 'hsl(27.87, 100%, 98.29%)',\n },\n {\n token: 'nsw-orange-100',\n oklch: 'oklch(0.9775192919280284 0.014020075845809487 63.743373146104155)',\n hex: '#fff6ee',\n rgb: 'rgb(255, 246, 238)',\n hsl: 'hsl(27.91, 96.98%, 96.64%)',\n },\n {\n token: 'nsw-orange-150',\n oklch: 'oklch(0.9662789378920427 0.019755561419095187 63.743373146104155)',\n hex: '#fef1e7',\n rgb: 'rgb(254, 241, 231)',\n hsl: 'hsl(27.96, 91.29%, 94.99%)',\n },\n {\n token: 'nsw-orange-200',\n oklch: 'oklch(0.9550385838560569 0.025491046992380886 63.743373146104155)',\n hex: '#fdeddf',\n rgb: 'rgb(253, 237, 223)',\n hsl: 'hsl(28, 88.24%, 93.33%)',\n name: 'NSW Orange 04',\n },\n {\n token: 'nsw-orange-250',\n oklch: 'oklch(0.9367837854692349 0.041089180700628024 64.93015241128123)',\n hex: '#fee5ce',\n rgb: 'rgb(254, 229, 206)',\n hsl: 'hsl(28.75, 96.77%, 90.26%)',\n },\n {\n token: 'nsw-orange-300',\n oklch: 'oklch(0.9185289870824129 0.05668731440887516 66.1169316764583)',\n hex: '#ffddbd',\n rgb: 'rgb(255, 221, 189)',\n hsl: 'hsl(29.52, 99.73%, 87.03%)',\n },\n {\n token: 'nsw-orange-350',\n oklch: 'oklch(0.900274188695591 0.07228544811712229 67.30371094163536)',\n hex: '#ffd6ab',\n rgb: 'rgb(255, 214, 171)',\n hsl: 'hsl(30.32, 100%, 83.62%)',\n },\n {\n token: 'nsw-orange-400',\n oklch: 'oklch(0.882019390308769 0.08788358182536943 68.49049020681242)',\n hex: '#ffce99',\n rgb: 'rgb(255, 206, 153)',\n hsl: 'hsl(31.18, 100%, 80%)',\n name: 'NSW Orange 03',\n },\n {\n token: 'nsw-orange-450',\n oklch: 'oklch(0.8301180073463059 0.11402000052072006 61.90488982503486)',\n hex: '#fdb678',\n rgb: 'rgb(253, 182, 120)',\n hsl: 'hsl(28.25, 96.8%, 73.02%)',\n },\n {\n token: 'nsw-orange-500',\n oklch: 'oklch(0.7782166243838429 0.1401564192160707 55.31928944325728)',\n hex: '#fb9d58',\n rgb: 'rgb(251, 157, 88)',\n hsl: 'hsl(25.48, 94.77%, 66.34%)',\n },\n {\n token: 'nsw-orange-550',\n oklch: 'oklch(0.7263152414213797 0.16629283791142135 48.73368906147971)',\n hex: '#f78139',\n rgb: 'rgb(247, 129, 57)',\n hsl: 'hsl(22.75, 92.62%, 59.79%)',\n },\n {\n token: 'nsw-orange-600',\n oklch: 'oklch(0.6744138584589167 0.192429256606772 42.14808867970214)',\n hex: '#f3631b',\n rgb: 'rgb(243, 99, 27)',\n hsl: 'hsl(20, 90%, 52.94%)',\n name: 'NSW Orange 02',\n },\n {\n token: 'nsw-orange-650',\n oklch: 'oklch(0.6138601814796794 0.18416658101442235 39.866677723327115)',\n hex: '#db5115',\n rgb: 'rgb(219, 81, 21)',\n hsl: 'hsl(18.26, 82.63%, 47%)',\n },\n {\n token: 'nsw-orange-700',\n oklch: 'oklch(0.5533065045004422 0.17590390542207268 37.585266766952095)',\n hex: '#c33f0e',\n rgb: 'rgb(195, 63, 14)',\n hsl: 'hsl(16.43, 86.72%, 40.94%)',\n },\n {\n token: 'nsw-orange-750',\n oklch: 'oklch(0.49275282752120486 0.16764122982972302 35.303855810577076)',\n hex: '#ab2e06',\n rgb: 'rgb(171, 46, 6)',\n hsl: 'hsl(14.39, 93.12%, 34.79%)',\n },\n {\n token: 'nsw-orange-800',\n oklch: 'oklch(0.4321991505419676 0.15937855423737338 33.02244485420205)',\n hex: '#941b00',\n rgb: 'rgb(148, 27, 0)',\n hsl: 'hsl(10.95, 100%, 29.02%)',\n name: 'NSW Orange 01',\n },\n {\n token: 'nsw-orange-850',\n oklch: 'oklch(0.3565642991971233 0.13547177110176736 33.02244485420205)',\n hex: '#730f00',\n rgb: 'rgb(115, 15, 0)',\n hsl: 'hsl(9.09, 100%, 21.91%)',\n },\n {\n token: 'nsw-orange-900',\n oklch: 'oklch(0.2809294478522789 0.11156498796616136 33.02244485420205)',\n hex: '#530400',\n rgb: 'rgb(83, 4, 0)',\n hsl: 'hsl(5.29, 100%, 15.58%)',\n },\n {\n token: 'nsw-orange-950',\n oklch: 'oklch(0.2052945965074346 0.08765820483055536 33.02244485420205)',\n hex: '#350000',\n rgb: 'rgb(53, 0, 0)',\n hsl: 'hsl(2.01, 100%, 9.91%)',\n },\n ],\n },\n yellow: {\n name: 'NSW Yellow',\n colors: [\n {\n token: 'nsw-yellow-50',\n oklch: 'oklch(0.9916099103487608 0.016065385220578425 93.38344614252667)',\n hex: '#fffcf0',\n rgb: 'rgb(255, 252, 240)',\n hsl: 'hsl(46.46, 100%, 97.31%)',\n },\n {\n token: 'nsw-yellow-100',\n oklch: 'oklch(0.9832198206975215 0.02718757498867118 93.38344614252667)',\n hex: '#fffae5',\n rgb: 'rgb(255, 250, 229)',\n hsl: 'hsl(46.38, 100%, 95.09%)',\n },\n {\n token: 'nsw-yellow-150',\n oklch: 'oklch(0.9748297310462821 0.03830976475676393 93.38344614252667)',\n hex: '#fff7da',\n rgb: 'rgb(255, 247, 218)',\n hsl: 'hsl(46.31, 100%, 92.85%)',\n },\n {\n token: 'nsw-yellow-200',\n oklch: 'oklch(0.9664396413950429 0.049431954524856686 93.38344614252667)',\n hex: '#fff4cf',\n rgb: 'rgb(255, 244, 207)',\n hsl: 'hsl(46.25, 100%, 90.59%)',\n name: 'NSW Yellow 04',\n },\n {\n token: 'nsw-yellow-250',\n oklch: 'oklch(0.9570183122704129 0.061834853226387446 93.5472306553523)',\n hex: '#fff1c2',\n rgb: 'rgb(255, 241, 194)',\n hsl: 'hsl(46.33, 98.56%, 88%)',\n },\n {\n token: 'nsw-yellow-300',\n oklch: 'oklch(0.9475969831457829 0.0742377519279182 93.71101516817794)',\n hex: '#feeeb5',\n rgb: 'rgb(254, 238, 181)',\n hsl: 'hsl(46.42, 97.54%, 85.35%)',\n },\n {\n token: 'nsw-yellow-350',\n oklch: 'oklch(0.938175654021153 0.08664065062944896 93.87479968100357)',\n hex: '#feeaa8',\n rgb: 'rgb(254, 234, 168)',\n hsl: 'hsl(46.53, 96.75%, 82.62%)',\n },\n {\n token: 'nsw-yellow-400',\n oklch: 'oklch(0.928754324896523 0.09904354933097972 94.0385841938292)',\n hex: '#fde79a',\n rgb: 'rgb(253, 231, 154)',\n hsl: 'hsl(46.67, 96.12%, 79.8%)',\n name: 'NSW Yellow 03',\n },\n {\n token: 'nsw-yellow-450',\n oklch: 'oklch(0.8978251501132377 0.11612212707646741 89.92658895694369)',\n hex: '#fbda80',\n rgb: 'rgb(251, 218, 128)',\n hsl: 'hsl(43.95, 94.26%, 74.28%)',\n },\n {\n token: 'nsw-yellow-500',\n oklch: 'oklch(0.8668959753299523 0.13320070482195506 85.81459372005818)',\n hex: '#facd63',\n rgb: 'rgb(250, 205, 99)',\n hsl: 'hsl(41.83, 94.17%, 68.55%)',\n },\n {\n token: 'nsw-yellow-550',\n oklch: 'oklch(0.8359668005466669 0.15027928256744275 81.7025984831727)',\n hex: '#fabe42',\n rgb: 'rgb(250, 190, 66)',\n hsl: 'hsl(40.46, 94.83%, 62.04%)',\n },\n {\n token: 'nsw-yellow-600',\n oklch: 'oklch(0.8050376257633817 0.16735786031293043 77.59060324628719)',\n hex: '#faaf05',\n rgb: 'rgb(250, 175, 5)',\n hsl: 'hsl(41.63, 96.08%, 50%)',\n name: 'NSW Yellow 02',\n },\n {\n token: 'nsw-yellow-650',\n oklch: 'oklch(0.7106097269644318 0.14773585550069343 77.86265854004408)',\n hex: '#d49403',\n rgb: 'rgb(212, 148, 3)',\n hsl: 'hsl(41.71, 97.59%, 41.99%)',\n },\n {\n token: 'nsw-yellow-700',\n oklch: 'oklch(0.6161818281654818 0.12811385068845643 78.13471383380096)',\n hex: '#af7a01',\n rgb: 'rgb(175, 122, 1)',\n hsl: 'hsl(41.69, 98.72%, 34.44%)',\n },\n {\n token: 'nsw-yellow-750',\n oklch: 'oklch(0.521753929366532 0.1084918458762194 78.40676912755785)',\n hex: '#8b6000',\n rgb: 'rgb(139, 96, 0)',\n hsl: 'hsl(41.53, 99.5%, 27.31%)',\n },\n {\n token: 'nsw-yellow-800',\n oklch: 'oklch(0.42732603056758206 0.08886984106398241 78.67882442131474)',\n hex: '#694800',\n rgb: 'rgb(105, 72, 0)',\n hsl: 'hsl(41.14, 100%, 20.59%)',\n name: 'NSW Yellow 01',\n },\n {\n token: 'nsw-yellow-850',\n oklch: 'oklch(0.3525439752182552 0.07553936490438505 78.67882442131474)',\n hex: '#503500',\n rgb: 'rgb(80, 53, 0)',\n hsl: 'hsl(40.68, 100%, 15.12%)',\n },\n {\n token: 'nsw-yellow-900',\n oklch: 'oklch(0.27776191986892834 0.06220888874478769 78.67882442131474)',\n hex: '#392400',\n rgb: 'rgb(57, 36, 0)',\n hsl: 'hsl(39.24, 100%, 10.36%)',\n },\n {\n token: 'nsw-yellow-950',\n oklch: 'oklch(0.20297986451960148 0.04887841258519032 78.67882442131474)',\n hex: '#221300',\n rgb: 'rgb(34, 19, 0)',\n hsl: 'hsl(35.52, 100%, 6.19%)',\n },\n ],\n },\n brown: {\n name: 'NSW Brown',\n colors: [\n {\n token: 'nsw-brown-50',\n oklch: 'oklch(0.9801175930362143 0.006321527123876961 72.56545339108834)',\n hex: '#fbf8f4',\n rgb: 'rgb(251, 248, 244)',\n hsl: 'hsl(32.66, 48.5%, 97.07%)',\n },\n {\n token: 'nsw-brown-100',\n oklch: 'oklch(0.9602351860724284 0.010697968978868705 72.56545339108834)',\n hex: '#f6f1ea',\n rgb: 'rgb(246, 241, 234)',\n hsl: 'hsl(32.68, 41.61%, 94.25%)',\n },\n {\n token: 'nsw-brown-150',\n oklch: 'oklch(0.9403527791086426 0.01507441083386045 72.56545339108834)',\n hex: '#f2eae1',\n rgb: 'rgb(242, 234, 225)',\n hsl: 'hsl(32.7, 39.2%, 91.43%)',\n },\n {\n token: 'nsw-brown-200',\n oklch: 'oklch(0.9204703721448568 0.01945085268885219 72.56545339108834)',\n hex: '#ede3d7',\n rgb: 'rgb(237, 227, 215)',\n hsl: 'hsl(32.73, 37.93%, 88.63%)',\n name: 'NSW Brown 04',\n },\n {\n token: 'nsw-brown-250',\n oklch: 'oklch(0.9079853218058483 0.0258503316070154 72.0409329158382)',\n hex: '#ecdece',\n rgb: 'rgb(236, 222, 206)',\n hsl: 'hsl(32.47, 43.13%, 86.7%)',\n },\n {\n token: 'nsw-brown-300',\n oklch: 'oklch(0.8955002714668399 0.03224981052517861 71.51641244058807)',\n hex: '#eadac6',\n rgb: 'rgb(234, 218, 198)',\n hsl: 'hsl(32.23, 47.04%, 84.79%)',\n },\n {\n token: 'nsw-brown-350',\n oklch: 'oklch(0.8830152211278313 0.03864928944334182 70.99189196533794)',\n hex: '#e9d5bd',\n rgb: 'rgb(233, 213, 189)',\n hsl: 'hsl(31.99, 50.11%, 82.88%)',\n },\n {\n token: 'nsw-brown-400',\n oklch: 'oklch(0.8705301707888228 0.04504876836150503 70.4673714900878)',\n hex: '#e8d0b5',\n rgb: 'rgb(232, 208, 181)',\n hsl: 'hsl(31.76, 52.58%, 80.98%)',\n name: 'NSW Brown 03',\n },\n {\n token: 'nsw-brown-450',\n oklch: 'oklch(0.8207420162298631 0.05412276224933329 70.37812098088949)',\n hex: '#dbbf9f',\n rgb: 'rgb(219, 191, 159)',\n hsl: 'hsl(31.83, 46.02%, 74.17%)',\n },\n {\n token: 'nsw-brown-500',\n oklch: 'oklch(0.7709538616709035 0.06319675613716154 70.2888704716912)',\n hex: '#cfae89',\n rgb: 'rgb(207, 174, 137)',\n hsl: 'hsl(31.93, 42.16%, 67.4%)',\n },\n {\n token: 'nsw-brown-550',\n oklch: 'oklch(0.7211657071119438 0.0722707500249898 70.1996199624929)',\n hex: '#c29d73',\n rgb: 'rgb(194, 157, 115)',\n hsl: 'hsl(32.1, 39.63%, 60.67%)',\n },\n {\n token: 'nsw-brown-600',\n oklch: 'oklch(0.6713775525529841 0.08134474391281805 70.1103694532946)',\n hex: '#b68d5d',\n rgb: 'rgb(182, 141, 93)',\n hsl: 'hsl(32.36, 37.87%, 53.92%)',\n name: 'NSW Brown 02',\n },\n {\n token: 'nsw-brown-650',\n oklch: 'oklch(0.5938734136361322 0.0756351453597017 69.31281465877314)',\n hex: '#9c764b',\n rgb: 'rgb(156, 118, 75)',\n hsl: 'hsl(32.04, 34.94%, 45.3%)',\n },\n {\n token: 'nsw-brown-700',\n oklch: 'oklch(0.5163692747192803 0.06992554680658533 68.51525986425168)',\n hex: '#82603a',\n rgb: 'rgb(130, 96, 58)',\n hsl: 'hsl(31.77, 38.54%, 36.92%)',\n },\n {\n token: 'nsw-brown-750',\n oklch: 'oklch(0.4388651358024283 0.06421594825346898 67.71770506973021)',\n hex: '#6a4b29',\n rgb: 'rgb(106, 75, 41)',\n hsl: 'hsl(31.59, 43.99%, 28.81%)',\n },\n {\n token: 'nsw-brown-800',\n oklch: 'oklch(0.3613609968855764 0.058506349700352615 66.92015027520875)',\n hex: '#523719',\n rgb: 'rgb(82, 55, 25)',\n hsl: 'hsl(31.58, 53.27%, 20.98%)',\n name: 'NSW Brown 01',\n },\n {\n token: 'nsw-brown-850',\n oklch: 'oklch(0.2981228224306005 0.04973039724529972 66.92015027520875)',\n hex: '#3e280f',\n rgb: 'rgb(62, 40, 15)',\n hsl: 'hsl(31.74, 60.03%, 15.18%)',\n },\n {\n token: 'nsw-brown-900',\n oklch: 'oklch(0.23488464797562464 0.04095444479024683 66.92015027520875)',\n hex: '#2b1a07',\n rgb: 'rgb(43, 26, 7)',\n hsl: 'hsl(31.73, 72.62%, 9.74%)',\n },\n {\n token: 'nsw-brown-950',\n oklch: 'oklch(0.17164647352064877 0.03217849233519394 66.92015027520875)',\n hex: '#190d02',\n rgb: 'rgb(25, 13, 2)',\n hsl: 'hsl(27.95, 86.11%, 5.27%)',\n },\n ],\n },\n grey: {\n name: 'NSW Grey',\n colors: [\n {\n token: 'nsw-grey-50',\n oklch: 'oklch(0.9850175274112574 0 none)',\n hex: '#fafafa',\n rgb: 'rgb(250, 250, 250)',\n hsl: 'hsl(223.81, 0%, 98.03%)',\n },\n {\n token: 'nsw-grey-100',\n oklch: 'oklch(0.9700350548225147 0 none)',\n hex: '#f5f5f5',\n rgb: 'rgb(245, 245, 245)',\n hsl: 'hsl(223.81, 0%, 96.06%)',\n },\n {\n token: 'nsw-grey-150',\n oklch: 'oklch(0.9550525822337722 0 none)',\n hex: '#f0f0f0',\n rgb: 'rgb(240, 240, 240)',\n hsl: 'hsl(223.81, 0%, 94.11%)',\n },\n {\n token: 'nsw-grey-200',\n oklch: 'oklch(0.9400701096450296 0 none)',\n hex: '#ebebeb',\n rgb: 'rgb(235, 235, 235)',\n hsl: 'hsl(223.81, 0%, 92.16%)',\n name: 'NSW Grey 04',\n },\n {\n token: 'nsw-grey-250',\n oklch: 'oklch(0.9208267112856119 0.0019440594503795112 228.8687380011113)',\n hex: '#e3e5e6',\n rgb: 'rgb(227, 229, 230)',\n hsl: 'hsl(200.05, 4.31%, 89.64%)',\n },\n {\n token: 'nsw-grey-300',\n oklch: 'oklch(0.9015833129261941 0.0038881189007590215 228.8687380011113)',\n hex: '#dcdfe0',\n rgb: 'rgb(220, 223, 224)',\n hsl: 'hsl(200.03, 6.92%, 87.13%)',\n },\n {\n token: 'nsw-grey-350',\n oklch: 'oklch(0.8823399145667763 0.005832178351138532 228.8687380011113)',\n hex: '#d4d9db',\n rgb: 'rgb(212, 217, 219)',\n hsl: 'hsl(200.02, 8.65%, 84.64%)',\n },\n {\n token: 'nsw-grey-400',\n oklch: 'oklch(0.8630965162073586 0.007776237801518043 228.8687380011113)',\n hex: '#cdd3d6',\n rgb: 'rgb(205, 211, 214)',\n hsl: 'hsl(200, 9.89%, 82.16%)',\n name: 'NSW Grey 03',\n },\n {\n token: 'nsw-grey-450',\n oklch: 'oklch(0.7539290831519737 0.008632737257709678 229.8058410593526)',\n hex: '#aab0b4',\n rgb: 'rgb(170, 176, 180)',\n hsl: 'hsl(200.47, 6.03%, 68.52%)',\n },\n {\n token: 'nsw-grey-500',\n oklch: 'oklch(0.6447616500965888 0.009489236713901311 230.74294411759388)',\n hex: '#888f92',\n rgb: 'rgb(136, 143, 146)',\n hsl: 'hsl(200.94, 4.51%, 55.36%)',\n },\n {\n token: 'nsw-grey-550',\n oklch: 'oklch(0.5355942170412039 0.010345736170092946 231.68004717583517)',\n hex: '#686f72',\n rgb: 'rgb(104, 111, 114)',\n hsl: 'hsl(201.39, 4.91%, 42.76%)',\n },\n {\n token: 'nsw-grey-600',\n oklch: 'oklch(0.426426783985819 0.011202235626284581 232.61715023407646)',\n hex: '#495054',\n rgb: 'rgb(73, 80, 84)',\n hsl: 'hsl(201.82, 7.01%, 30.78%)',\n name: 'NSW Grey 02',\n },\n {\n token: 'nsw-grey-650',\n oklch: 'oklch(0.3871732148397997 0.010991669591883444 234.98382249287215)',\n hex: '#3f4549',\n rgb: 'rgb(63, 69, 73)',\n hsl: 'hsl(203.03, 7.74%, 26.71%)',\n },\n {\n token: 'nsw-grey-700',\n oklch: 'oklch(0.3479196456937804 0.010781103557482309 237.35049475166784)',\n hex: '#353b3f',\n rgb: 'rgb(53, 59, 63)',\n hsl: 'hsl(204.24, 8.68%, 22.73%)',\n },\n {\n token: 'nsw-grey-750',\n oklch: 'oklch(0.3086660765477611 0.010570537523081174 239.71716701046353)',\n hex: '#2b3135',\n rgb: 'rgb(43, 49, 53)',\n hsl: 'hsl(205.45, 9.93%, 18.85%)',\n },\n {\n token: 'nsw-grey-800',\n oklch: 'oklch(0.26941250740174183 0.010359971488680036 242.08383926925922)',\n hex: '#22272b',\n rgb: 'rgb(34, 39, 43)',\n hsl: 'hsl(206.67, 11.69%, 15.1%)',\n name: 'NSW Grey 01',\n },\n {\n token: 'nsw-grey-850',\n oklch: 'oklch(0.222265318606437 0.00880597576537803 242.08383926925922)',\n hex: '#181c1f',\n rgb: 'rgb(24, 28, 31)',\n hsl: 'hsl(206.66, 13.37%, 10.7%)',\n },\n {\n token: 'nsw-grey-900',\n oklch: 'oklch(0.17511812981113217 0.007251980042076026 242.08383926925922)',\n hex: '#0e1113',\n rgb: 'rgb(14, 17, 19)',\n hsl: 'hsl(206.64, 17.01%, 6.52%)',\n },\n {\n token: 'nsw-grey-950',\n oklch: 'oklch(0.12797094101582737 0.005697984318774021 242.08383926925922)',\n hex: '#050709',\n rgb: 'rgb(5, 7, 9)',\n hsl: 'hsl(208.68, 23.47%, 2.8%)',\n },\n ],\n },\n },\n aboriginal: {\n red: {\n name: 'NSW Aboriginal Red',\n colors: [\n {\n token: 'nsw-aboriginal-red-50',\n oklch: 'oklch(0.978848545028836 0.013064906949875194 17.91008855652266)',\n hex: '#fff5f5',\n rgb: 'rgb(255, 245, 245)',\n hsl: 'hsl(0.45, 100%, 98.34%)',\n },\n {\n token: 'nsw-aboriginal-red-100',\n oklch: 'oklch(0.9576970900576719 0.022109842530558015 17.91008855652266)',\n hex: '#ffebeb',\n rgb: 'rgb(255, 235, 235)',\n hsl: 'hsl(0.31, 100%, 96.31%)',\n },\n {\n token: 'nsw-aboriginal-red-150',\n oklch: 'oklch(0.9365456350865078 0.031154778111240837 17.91008855652266)',\n hex: '#fee2e2',\n rgb: 'rgb(254, 226, 226)',\n hsl: 'hsl(0.16, 96.42%, 94.24%)',\n },\n {\n token: 'nsw-aboriginal-red-200',\n oklch: 'oklch(0.9153941801153438 0.04019971369192366 17.91008855652266)',\n hex: '#fdd9d9',\n rgb: 'rgb(253, 217, 217)',\n hsl: 'hsl(360, 90%, 92.16%)',\n name: 'Galah Pink',\n },\n {\n token: 'nsw-aboriginal-red-250',\n oklch: 'oklch(0.8955549511653824 0.05093833595471205 18.4044656497934)',\n hex: '#fdd0d0',\n rgb: 'rgb(253, 208, 208)',\n hsl: 'hsl(0.23, 91.24%, 90.28%)',\n },\n {\n token: 'nsw-aboriginal-red-300',\n oklch: 'oklch(0.875715722215421 0.06167695821750044 18.898842743064147)',\n hex: '#fcc7c6',\n rgb: 'rgb(252, 199, 198)',\n hsl: 'hsl(0.45, 91.36%, 88.35%)',\n },\n {\n token: 'nsw-aboriginal-red-350',\n oklch: 'oklch(0.8558764932654596 0.07241558048028882 19.393219836334893)',\n hex: '#fcbdbd',\n rgb: 'rgb(252, 189, 189)',\n hsl: 'hsl(0.65, 90.86%, 86.36%)',\n },\n {\n token: 'nsw-aboriginal-red-400',\n oklch: 'oklch(0.8360372643154982 0.08315420274307721 19.887596929605635)',\n hex: '#fbb4b3',\n rgb: 'rgb(251, 180, 179)',\n hsl: 'hsl(0.83, 90%, 84.31%)',\n name: 'Coral Pink',\n },\n {\n token: 'nsw-aboriginal-red-450',\n oklch: 'oklch(0.7733920694093943 0.11749463840365235 22.199733756281407)',\n hex: '#f79693',\n rgb: 'rgb(247, 150, 147)',\n hsl: 'hsl(1.95, 86.73%, 77.32%)',\n },\n {\n token: 'nsw-aboriginal-red-500',\n oklch: 'oklch(0.7107468745032904 0.15183507406422747 24.51187058295718)',\n hex: '#f27771',\n rgb: 'rgb(242, 119, 113)',\n hsl: 'hsl(2.8, 82.84%, 69.6%)',\n },\n {\n token: 'nsw-aboriginal-red-550',\n oklch: 'oklch(0.6481016795971866 0.1861755097248026 26.824007409632948)',\n hex: '#ea554c',\n rgb: 'rgb(234, 85, 76)',\n hsl: 'hsl(3.23, 79.15%, 60.92%)',\n },\n {\n token: 'nsw-aboriginal-red-600',\n oklch: 'oklch(0.5854564846910827 0.22051594538537772 29.13614423630872)',\n hex: '#e1261c',\n rgb: 'rgb(225, 38, 28)',\n hsl: 'hsl(3.05, 77.87%, 49.61%)',\n name: 'Lap Lap Red',\n },\n {\n token: 'nsw-aboriginal-red-650',\n oklch: 'oklch(0.5451949665626711 0.20759504477588905 29.116922576503878)',\n hex: '#cd1f17',\n rgb: 'rgb(205, 31, 23)',\n hsl: 'hsl(2.8, 80.26%, 44.7%)',\n },\n {\n token: 'nsw-aboriginal-red-700',\n oklch: 'oklch(0.5049334484342595 0.1946741441664004 29.09770091669904)',\n hex: '#ba1811',\n rgb: 'rgb(186, 24, 17)',\n hsl: 'hsl(2.5, 83.29%, 39.86%)',\n },\n {\n token: 'nsw-aboriginal-red-750',\n oklch: 'oklch(0.4646719303058479 0.1817532435569117 29.078479256894198)',\n hex: '#a7110b',\n rgb: 'rgb(167, 17, 11)',\n hsl: 'hsl(2.1, 87.31%, 35.06%)',\n },\n {\n token: 'nsw-aboriginal-red-800',\n oklch: 'oklch(0.4244104121774363 0.16883234294742303 29.059257597089356)',\n hex: '#950906',\n rgb: 'rgb(149, 9, 6)',\n hsl: 'hsl(1.26, 92.26%, 30.39%)',\n name: 'Red Earth',\n },\n {\n token: 'nsw-aboriginal-red-850',\n oklch: 'oklch(0.3501385900463849 0.14350749150530956 29.059257597089356)',\n hex: '#740001',\n rgb: 'rgb(116, 0, 1)',\n hsl: 'hsl(359.74, 99.82%, 22.68%)',\n },\n {\n token: 'nsw-aboriginal-red-900',\n oklch: 'oklch(0.2758667679153336 0.11818264006319612 29.059257597089356)',\n hex: '#540000',\n rgb: 'rgb(84, 0, 0)',\n hsl: 'hsl(358.63, 100%, 15.69%)',\n },\n {\n token: 'nsw-aboriginal-red-950',\n oklch: 'oklch(0.20159494578428225 0.09285778862108267 29.059257597089356)',\n hex: '#360000',\n rgb: 'rgb(54, 0, 0)',\n hsl: 'hsl(357.82, 100%, 9.76%)',\n },\n ],\n },\n orange: {\n name: 'NSW Aboriginal Orange',\n colors: [\n {\n token: 'nsw-aboriginal-orange-50',\n oklch: 'oklch(0.9738855126989008 0.016602591530904584 52.55546216454561)',\n hex: '#fff4ec',\n rgb: 'rgb(255, 244, 236)',\n hsl: 'hsl(22.11, 100%, 96.57%)',\n },\n {\n token: 'nsw-aboriginal-orange-100',\n oklch: 'oklch(0.9477710253978014 0.028096693359992375 52.55546216454561)',\n hex: '#fee9dd',\n rgb: 'rgb(254, 233, 221)',\n hsl: 'hsl(22.19, 93.98%, 93.1%)',\n },\n {\n token: 'nsw-aboriginal-orange-150',\n oklch: 'oklch(0.9216565380967021 0.039590795189080166 52.55546216454561)',\n hex: '#fcdfcd',\n rgb: 'rgb(252, 223, 205)',\n hsl: 'hsl(22.28, 87.05%, 89.61%)',\n },\n {\n token: 'nsw-aboriginal-orange-200',\n oklch: 'oklch(0.8955420507956029 0.05108489701816796 52.55546216454561)',\n hex: '#f9d4be',\n rgb: 'rgb(249, 212, 190)',\n hsl: 'hsl(22.37, 83.1%, 86.08%)',\n name: 'Sunset Orange',\n },\n {\n token: 'nsw-aboriginal-orange-250',\n oklch: 'oklch(0.8714459985514821 0.06477537243882539 52.40983339193463)',\n hex: '#f8caae',\n rgb: 'rgb(248, 202, 174)',\n hsl: 'hsl(22.42, 84.33%, 82.75%)',\n },\n {\n token: 'nsw-aboriginal-orange-300',\n oklch: 'oklch(0.8473499463073613 0.07846584785948284 52.264204619323664)',\n hex: '#f7bf9e',\n rgb: 'rgb(247, 191, 158)',\n hsl: 'hsl(22.48, 84.74%, 79.37%)',\n },\n {\n token: 'nsw-aboriginal-orange-350',\n oklch: 'oklch(0.8232538940632406 0.09215632328014028 52.11857584671269)',\n hex: '#f6b58e',\n rgb: 'rgb(246, 181, 142)',\n hsl: 'hsl(22.56, 84.7%, 75.91%)',\n },\n {\n token: 'nsw-aboriginal-orange-400',\n oklch: 'oklch(0.7991578418191198 0.10584679870079772 51.97294707410171)',\n hex: '#f4aa7d',\n rgb: 'rgb(244, 170, 125)',\n hsl: 'hsl(22.69, 84.4%, 72.35%)',\n name: 'Orange Clay',\n },\n {\n token: 'nsw-aboriginal-orange-450',\n oklch: 'oklch(0.7660019575057643 0.12652886278666134 49.87887684512948)',\n hex: '#f39a66',\n rgb: 'rgb(243, 154, 102)',\n hsl: 'hsl(21.88, 85.61%, 67.77%)',\n },\n {\n token: 'nsw-aboriginal-orange-500',\n oklch: 'oklch(0.7328460731924087 0.14721092687252496 47.784806616157255)',\n hex: '#f2894f',\n rgb: 'rgb(242, 137, 79)',\n hsl: 'hsl(21.18, 86.15%, 63.01%)',\n },\n {\n token: 'nsw-aboriginal-orange-550',\n oklch: 'oklch(0.6996901888790532 0.16789299095838855 45.69073638718503)',\n hex: '#f07736',\n rgb: 'rgb(240, 119, 54)',\n hsl: 'hsl(20.78, 86.28%, 57.76%)',\n },\n {\n token: 'nsw-aboriginal-orange-600',\n oklch: 'oklch(0.6665343045656977 0.18857505504425218 43.5966661582128)',\n hex: '#ee6314',\n rgb: 'rgb(238, 99, 20)',\n hsl: 'hsl(21.74, 86.51%, 50.59%)',\n name: 'Ochre',\n },\n {\n token: 'nsw-aboriginal-orange-650',\n oklch: 'oklch(0.6048689295059245 0.17619193861850896 42.06662366880586)',\n hex: '#d45310',\n rgb: 'rgb(212, 83, 16)',\n hsl: 'hsl(20.61, 86.17%, 44.61%)',\n },\n {\n token: 'nsw-aboriginal-orange-700',\n oklch: 'oklch(0.5432035544461513 0.16380882219276577 40.53658117939892)',\n hex: '#ba440a',\n rgb: 'rgb(186, 68, 10)',\n hsl: 'hsl(19.56, 89.48%, 38.49%)',\n },\n {\n token: 'nsw-aboriginal-orange-750',\n oklch: 'oklch(0.48153817938637805 0.15142570576702258 39.00653868999199)',\n hex: '#a13505',\n rgb: 'rgb(161, 53, 5)',\n hsl: 'hsl(18.46, 94.45%, 32.41%)',\n },\n {\n token: 'nsw-aboriginal-orange-800',\n oklch: 'oklch(0.41987280432660484 0.13904258934127936 37.47649620058505)',\n hex: '#882600',\n rgb: 'rgb(136, 38, 0)',\n hsl: 'hsl(16.76, 100%, 26.67%)',\n name: 'Deep Orange',\n },\n {\n token: 'nsw-aboriginal-orange-850',\n oklch: 'oklch(0.346395063569449 0.11818620094008746 37.47649620058505)',\n hex: '#691900',\n rgb: 'rgb(105, 25, 0)',\n hsl: 'hsl(15.47, 100%, 20.07%)',\n },\n {\n token: 'nsw-aboriginal-orange-900',\n oklch: 'oklch(0.27291732281229314 0.09732981253889555 37.47649620058505)',\n hex: '#4c0d00',\n rgb: 'rgb(76, 13, 0)',\n hsl: 'hsl(12.18, 100%, 14.2%)',\n },\n {\n token: 'nsw-aboriginal-orange-950',\n oklch: 'oklch(0.1994395820551373 0.07647342413770365 37.47649620058505)',\n hex: '#300300',\n rgb: 'rgb(48, 3, 0)',\n hsl: 'hsl(6.72, 100%, 8.94%)',\n },\n ],\n },\n brown: {\n name: 'NSW Aboriginal Brown',\n colors: [\n {\n token: 'nsw-aboriginal-brown-50',\n oklch: 'oklch(0.9637894047428377 0.015576586829445453 55.65798606883124)',\n hex: '#fcf1e9',\n rgb: 'rgb(252, 241, 233)',\n hsl: 'hsl(23.71, 74.46%, 95.12%)',\n },\n {\n token: 'nsw-aboriginal-brown-100',\n oklch: 'oklch(0.9275788094856755 0.02636037771136923 55.65798606883124)',\n hex: '#f6e3d7',\n rgb: 'rgb(246, 227, 215)',\n hsl: 'hsl(23.8, 62.46%, 90.28%)',\n },\n {\n token: 'nsw-aboriginal-brown-150',\n oklch: 'oklch(0.8913682142285133 0.037144168593293 55.65798606883124)',\n hex: '#efd5c4',\n rgb: 'rgb(239, 213, 196)',\n hsl: 'hsl(23.89, 58.05%, 85.44%)',\n },\n {\n token: 'nsw-aboriginal-brown-200',\n oklch: 'oklch(0.855157618971351 0.04792795947521678 55.65798606883124)',\n hex: '#e9c8b2',\n rgb: 'rgb(233, 200, 178)',\n hsl: 'hsl(24, 55.56%, 80.59%)',\n name: 'Macadamia',\n },\n {\n token: 'nsw-aboriginal-brown-250',\n oklch: 'oklch(0.819495130372929 0.060854957675237686 55.274819963495716)',\n hex: '#e4ba9f',\n rgb: 'rgb(228, 186, 159)',\n hsl: 'hsl(23.94, 55.92%, 75.8%)',\n },\n {\n token: 'nsw-aboriginal-brown-300',\n oklch: 'oklch(0.783832641774507 0.07378195587525858 54.8916538581602)',\n hex: '#dead8c',\n rgb: 'rgb(222, 173, 140)',\n hsl: 'hsl(23.91, 55.95%, 70.98%)',\n },\n {\n token: 'nsw-aboriginal-brown-350',\n oklch: 'oklch(0.7481701531760849 0.0867089540752795 54.50848775282467)',\n hex: '#d99f78',\n rgb: 'rgb(217, 159, 120)',\n hsl: 'hsl(23.92, 55.79%, 66.12%)',\n },\n {\n token: 'nsw-aboriginal-brown-400',\n oklch: 'oklch(0.7125076645776629 0.0996359522753004 54.125321647489145)',\n hex: '#d39165',\n rgb: 'rgb(211, 145, 101)',\n hsl: 'hsl(24, 55.56%, 61.18%)',\n name: 'Claystone',\n },\n {\n token: 'nsw-aboriginal-brown-450',\n oklch: 'oklch(0.6658642886991106 0.10220482966257746 51.472089235271014)',\n hex: '#c68158',\n rgb: 'rgb(198, 129, 88)',\n hsl: 'hsl(22.67, 49.07%, 55.96%)',\n },\n {\n token: 'nsw-aboriginal-brown-500',\n oklch: 'oklch(0.6192209128205584 0.10477370704985453 48.81885682305288)',\n hex: '#b9724b',\n rgb: 'rgb(185, 114, 75)',\n hsl: 'hsl(21.29, 43.84%, 50.82%)',\n },\n {\n token: 'nsw-aboriginal-brown-550',\n oklch: 'oklch(0.5725775369420062 0.1073425844371316 46.165624410834745)',\n hex: '#ab623e',\n rgb: 'rgb(171, 98, 62)',\n hsl: 'hsl(19.86, 46.79%, 45.77%)',\n },\n {\n token: 'nsw-aboriginal-brown-600',\n oklch: 'oklch(0.5259341610634539 0.10991146182440867 43.512391998616614)',\n hex: '#9e5332',\n rgb: 'rgb(158, 83, 50)',\n hsl: 'hsl(18.33, 51.92%, 40.78%)',\n name: 'Firewood',\n },\n {\n token: 'nsw-aboriginal-brown-650',\n oklch: 'oklch(0.4745053224355554 0.10391808522528324 43.80561561418423)',\n hex: '#8b4627',\n rgb: 'rgb(139, 70, 39)',\n hsl: 'hsl(18.72, 56.45%, 34.86%)',\n },\n {\n token: 'nsw-aboriginal-brown-700',\n oklch: 'oklch(0.42307648380765683 0.09792470862615782 44.09883922975184)',\n hex: '#79391c',\n rgb: 'rgb(121, 57, 28)',\n hsl: 'hsl(19.21, 62.79%, 29.04%)',\n },\n {\n token: 'nsw-aboriginal-brown-750',\n oklch: 'oklch(0.37164764517975835 0.09193133202703241 44.39206284531945)',\n hex: '#672d10',\n rgb: 'rgb(103, 45, 16)',\n hsl: 'hsl(19.97, 72.56%, 23.3%)',\n },\n {\n token: 'nsw-aboriginal-brown-800',\n oklch: 'oklch(0.3202188065518598 0.08593795542790698 44.68528646088706)',\n hex: '#552105',\n rgb: 'rgb(85, 33, 5)',\n hsl: 'hsl(21, 88.89%, 17.65%)',\n name: 'Riverbed',\n },\n {\n token: 'nsw-aboriginal-brown-850',\n oklch: 'oklch(0.2641805154052843 0.07304726211372094 44.68528646088706)',\n hex: '#411602',\n rgb: 'rgb(65, 22, 2)',\n hsl: 'hsl(19.73, 95.19%, 12.97%)',\n },\n {\n token: 'nsw-aboriginal-brown-900',\n oklch: 'oklch(0.20814222425870887 0.06015656879953489 44.68528646088706)',\n hex: '#2d0c00',\n rgb: 'rgb(45, 12, 0)',\n hsl: 'hsl(16.27, 100%, 8.82%)',\n },\n {\n token: 'nsw-aboriginal-brown-950',\n oklch: 'oklch(0.15210393311213338 0.04726587548534884 44.68528646088706)',\n hex: '#1b0400',\n rgb: 'rgb(27, 4, 0)',\n hsl: 'hsl(10.45, 100%, 5.14%)',\n },\n ],\n },\n yellow: {\n name: 'NSW Aboriginal Yellow',\n colors: [\n {\n token: 'nsw-aboriginal-yellow-50',\n oklch: 'oklch(0.989587621092196 0.019103088481096563 92.48002960723814)',\n hex: '#fffcee',\n rgb: 'rgb(255, 252, 238)',\n hsl: 'hsl(45.72, 100%, 96.78%)',\n },\n {\n token: 'nsw-aboriginal-yellow-100',\n oklch: 'oklch(0.979175242184392 0.03232830358339418 92.48002960723814)',\n hex: '#fff8e0',\n rgb: 'rgb(255, 248, 224)',\n hsl: 'hsl(45.63, 100%, 94.1%)',\n },\n {\n token: 'nsw-aboriginal-yellow-150',\n oklch: 'oklch(0.9687628632765881 0.0455535186856918 92.48002960723814)',\n hex: '#fff5d3',\n rgb: 'rgb(255, 245, 211)',\n hsl: 'hsl(45.57, 100%, 91.38%)',\n },\n {\n token: 'nsw-aboriginal-yellow-200',\n oklch: 'oklch(0.9583504843687841 0.05877873378798942 92.48002960723814)',\n hex: '#fff1c5',\n rgb: 'rgb(255, 241, 197)',\n hsl: 'hsl(45.52, 100%, 88.63%)',\n name: 'Sunbeam',\n },\n {\n token: 'nsw-aboriginal-yellow-250',\n oklch: 'oklch(0.9491347371136292 0.07198796755327139 92.7305165933987)',\n hex: '#ffeeb7',\n rgb: 'rgb(255, 238, 183)',\n hsl: 'hsl(45.68, 99.59%, 85.94%)',\n },\n {\n token: 'nsw-aboriginal-yellow-300',\n oklch: 'oklch(0.9399189898584743 0.08519720131855335 92.98100357955929)',\n hex: '#ffeba9',\n rgb: 'rgb(255, 235, 169)',\n hsl: 'hsl(45.86, 99.15%, 83.16%)',\n },\n {\n token: 'nsw-aboriginal-yellow-350',\n oklch: 'oklch(0.9307032426033194 0.09840643508383531 93.23149056571987)',\n hex: '#fee79b',\n rgb: 'rgb(254, 231, 155)',\n hsl: 'hsl(46.07, 98.71%, 80.28%)',\n },\n {\n token: 'nsw-aboriginal-yellow-400',\n oklch: 'oklch(0.9214874953481644 0.11161566884911728 93.48197755188043)',\n hex: '#fee48c',\n rgb: 'rgb(254, 228, 140)',\n hsl: 'hsl(46.32, 98.28%, 77.25%)',\n name: 'Golden Wattle',\n },\n {\n token: 'nsw-aboriginal-yellow-450',\n oklch: 'oklch(0.8910195189839808 0.12436290150788638 87.85568397462671)',\n hex: '#fed675',\n rgb: 'rgb(254, 214, 117)',\n hsl: 'hsl(42.77, 97.91%, 72.64%)',\n },\n {\n token: 'nsw-aboriginal-yellow-500',\n oklch: 'oklch(0.8605515426197972 0.1371101341666555 82.22939039737301)',\n hex: '#fec85d',\n rgb: 'rgb(254, 200, 93)',\n hsl: 'hsl(39.92, 98.26%, 68.02%)',\n },\n {\n token: 'nsw-aboriginal-yellow-550',\n oklch: 'oklch(0.8300835662556136 0.1498573668254246 76.60309682011929)',\n hex: '#feb944',\n rgb: 'rgb(254, 185, 68)',\n hsl: 'hsl(37.69, 98.75%, 63.17%)',\n },\n {\n token: 'nsw-aboriginal-yellow-600',\n oklch: 'oklch(0.79961558989143 0.1626045994841937 70.97680324286557)',\n hex: '#fea927',\n rgb: 'rgb(254, 169, 39)',\n hsl: 'hsl(36.28, 99.08%, 57.45%)',\n name: 'Sandstone Yellow',\n },\n {\n token: 'nsw-aboriginal-yellow-650',\n oklch: 'oklch(0.7283788119804733 0.14880860016855085 72.64225880919277)',\n hex: '#df961c',\n rgb: 'rgb(223, 150, 28)',\n hsl: 'hsl(37.45, 77.64%, 49.26%)',\n },\n {\n token: 'nsw-aboriginal-yellow-700',\n oklch: 'oklch(0.6571420340695165 0.13501260085290803 74.30771437551996)',\n hex: '#c18312',\n rgb: 'rgb(193, 131, 18)',\n hsl: 'hsl(38.69, 83.35%, 41.35%)',\n },\n {\n token: 'nsw-aboriginal-yellow-750',\n oklch: 'oklch(0.5859052561585598 0.1212166015372652 75.97316994184717)',\n hex: '#a57007',\n rgb: 'rgb(165, 112, 7)',\n hsl: 'hsl(40.07, 91.76%, 33.66%)',\n },\n {\n token: 'nsw-aboriginal-yellow-800',\n oklch: 'oklch(0.5146684782476031 0.10742060222162236 77.63862550817437)',\n hex: '#895e00',\n rgb: 'rgb(137, 94, 0)',\n hsl: 'hsl(41.17, 100%, 26.86%)',\n name: 'Bush Honey',\n },\n {\n token: 'nsw-aboriginal-yellow-850',\n oklch: 'oklch(0.42460149455427254 0.09130751188837902 77.63862550817437)',\n hex: '#694700',\n rgb: 'rgb(105, 71, 0)',\n hsl: 'hsl(41.1, 100%, 19.64%)',\n },\n {\n token: 'nsw-aboriginal-yellow-900',\n oklch: 'oklch(0.334534510860942 0.07519442155513566 77.63862550817437)',\n hex: '#4c3000',\n rgb: 'rgb(76, 48, 0)',\n hsl: 'hsl(40.13, 100%, 13.55%)',\n },\n {\n token: 'nsw-aboriginal-yellow-950',\n oklch: 'oklch(0.24446752716761147 0.059081331221892304 77.63862550817437)',\n hex: '#2f1c00',\n rgb: 'rgb(47, 28, 0)',\n hsl: 'hsl(37.35, 100%, 8.33%)',\n },\n ],\n },\n green: {\n name: 'NSW Aboriginal Green',\n colors: [\n {\n token: 'nsw-aboriginal-green-50',\n oklch: 'oklch(0.9775400515432829 0.010033373009012674 131.56364967590204)',\n hex: '#f5f9f2',\n rgb: 'rgb(245, 249, 242)',\n hsl: 'hsl(94.61, 37.03%, 96.34%)',\n },\n {\n token: 'nsw-aboriginal-green-100',\n oklch: 'oklch(0.9550801030865659 0.016979554322944526 131.56364967590204)',\n hex: '#ecf3e7',\n rgb: 'rgb(236, 243, 231)',\n hsl: 'hsl(94.51, 32.21%, 92.9%)',\n },\n {\n token: 'nsw-aboriginal-green-150',\n oklch: 'oklch(0.9326201546298487 0.023925735636876375 131.56364967590204)',\n hex: '#e3ecdc',\n rgb: 'rgb(227, 236, 220)',\n hsl: 'hsl(94.4, 30.49%, 89.48%)',\n },\n {\n token: 'nsw-aboriginal-green-200',\n oklch: 'oklch(0.9101602061731316 0.030871916950808227 131.56364967590204)',\n hex: '#dae6d1',\n rgb: 'rgb(218, 230, 209)',\n hsl: 'hsl(94.29, 29.58%, 86.08%)',\n name: 'Gumleaf Green',\n },\n {\n token: 'nsw-aboriginal-green-250',\n oklch: 'oklch(0.8874934999312177 0.03857982981011093 131.78279512830795)',\n hex: '#d1e0c6',\n rgb: 'rgb(209, 224, 198)',\n hsl: 'hsl(94.5, 29.43%, 82.62%)',\n },\n {\n token: 'nsw-aboriginal-green-300',\n oklch: 'oklch(0.8648267936893037 0.04628774266941364 132.0019405807139)',\n hex: '#c7d9ba',\n rgb: 'rgb(199, 217, 186)',\n hsl: 'hsl(94.72, 29.3%, 79.18%)',\n },\n {\n token: 'nsw-aboriginal-green-350',\n oklch: 'oklch(0.8421600874473898 0.053995655528716345 132.22108603311983)',\n hex: '#bed3af',\n rgb: 'rgb(190, 211, 175)',\n hsl: 'hsl(94.92, 29.18%, 75.76%)',\n },\n {\n token: 'nsw-aboriginal-green-400',\n oklch: 'oklch(0.8194933812054759 0.061703568388019055 132.44023148552574)',\n hex: '#b5cda4',\n rgb: 'rgb(181, 205, 164)',\n hsl: 'hsl(95.12, 29.08%, 72.35%)',\n name: 'Saltbush Green',\n },\n {\n token: 'nsw-aboriginal-green-450',\n oklch: 'oklch(0.7793221671789816 0.078504962905952 131.72356982833844)',\n hex: '#a5c28e',\n rgb: 'rgb(165, 194, 142)',\n hsl: 'hsl(93.46, 30.08%, 65.88%)',\n },\n {\n token: 'nsw-aboriginal-green-500',\n oklch: 'oklch(0.7391509531524875 0.09530635742388496 131.0069081711511)',\n hex: '#95b777',\n rgb: 'rgb(149, 183, 119)',\n hsl: 'hsl(91.63, 30.85%, 59.29%)',\n },\n {\n token: 'nsw-aboriginal-green-550',\n oklch: 'oklch(0.6989797391259933 0.11210775194181792 130.29024651396378)',\n hex: '#86ac60',\n rgb: 'rgb(134, 172, 96)',\n hsl: 'hsl(89.55, 31.61%, 52.5%)',\n },\n {\n token: 'nsw-aboriginal-green-600',\n oklch: 'oklch(0.658808525099499 0.12890914645975088 129.57358485677648)',\n hex: '#78a146',\n rgb: 'rgb(120, 161, 70)',\n hsl: 'hsl(87.03, 39.39%, 45.29%)',\n name: 'Marshland Lime',\n },\n {\n token: 'nsw-aboriginal-green-650',\n oklch: 'oklch(0.5974184207826408 0.11760535943305413 135.2430093260659)',\n hex: '#5f8f44',\n rgb: 'rgb(95, 143, 68)',\n hsl: 'hsl(97.99, 35.67%, 41.28%)',\n },\n {\n token: 'nsw-aboriginal-green-700',\n oklch: 'oklch(0.5360283164657826 0.10630157240635738 140.91243379535533)',\n hex: '#497d40',\n rgb: 'rgb(73, 125, 64)',\n hsl: 'hsl(111.48, 32.13%, 36.95%)',\n },\n {\n token: 'nsw-aboriginal-green-750',\n oklch: 'oklch(0.47463821214892454 0.09499778537966062 146.58185826464475)',\n hex: '#346a3b',\n rgb: 'rgb(52, 106, 59)',\n hsl: 'hsl(127.58, 34.41%, 30.98%)',\n },\n {\n token: 'nsw-aboriginal-green-800',\n oklch: 'oklch(0.41324810783206634 0.08369399835296387 152.25128273393418)',\n hex: '#215834',\n rgb: 'rgb(33, 88, 52)',\n hsl: 'hsl(140.73, 45.45%, 23.73%)',\n name: 'Bushland Green',\n },\n {\n token: 'nsw-aboriginal-green-850',\n oklch: 'oklch(0.3409296889614547 0.07113989860001929 152.25128273393418)',\n hex: '#154225',\n rgb: 'rgb(21, 66, 37)',\n hsl: 'hsl(141.23, 51.5%, 17.2%)',\n },\n {\n token: 'nsw-aboriginal-green-900',\n oklch: 'oklch(0.2686112700908431 0.05858579884707471 152.25128273393418)',\n hex: '#0a2e17',\n rgb: 'rgb(10, 46, 23)',\n hsl: 'hsl(142.1, 64.01%, 11%)',\n },\n {\n token: 'nsw-aboriginal-green-950',\n oklch: 'oklch(0.1962928512202315 0.04603169909413013 152.25128273393418)',\n hex: '#021b0a',\n rgb: 'rgb(2, 27, 10)',\n hsl: 'hsl(139.39, 83.32%, 5.75%)',\n },\n ],\n },\n blue: {\n name: 'NSW Aboriginal Blue',\n colors: [\n {\n token: 'nsw-aboriginal-blue-50',\n oklch: 'oklch(0.9726963960813712 0.01158607281784324 209.8212580578204)',\n hex: '#eef8fa',\n rgb: 'rgb(238, 248, 250)',\n hsl: 'hsl(189.24, 57.11%, 95.67%)',\n },\n {\n token: 'nsw-aboriginal-blue-100',\n oklch: 'oklch(0.9453927921627423 0.019607200153273174 209.8212580578204)',\n hex: '#dff1f4',\n rgb: 'rgb(223, 241, 244)',\n hsl: 'hsl(189.24, 49.64%, 91.57%)',\n },\n {\n token: 'nsw-aboriginal-blue-150',\n oklch: 'oklch(0.9180891882441133 0.027628327488703107 209.8212580578204)',\n hex: '#d0e9ee',\n rgb: 'rgb(208, 233, 238)',\n hsl: 'hsl(189.24, 47.11%, 87.45%)',\n },\n {\n token: 'nsw-aboriginal-blue-200',\n oklch: 'oklch(0.8907855843254845 0.035649454824133044 209.8212580578204)',\n hex: '#c1e2e8',\n rgb: 'rgb(193, 226, 232)',\n hsl: 'hsl(189.23, 45.88%, 83.33%)',\n name: 'Coastal Blue',\n },\n {\n token: 'nsw-aboriginal-blue-250',\n oklch: 'oklch(0.8640751367196432 0.04375221215713473 209.95866132774938)',\n hex: '#b2dbe2',\n rgb: 'rgb(178, 219, 226)',\n hsl: 'hsl(189.29, 45.53%, 79.28%)',\n },\n {\n token: 'nsw-aboriginal-blue-300',\n oklch: 'oklch(0.8373646891138018 0.05185496949013642 210.09606459767838)',\n hex: '#a3d4dc',\n rgb: 'rgb(163, 212, 220)',\n hsl: 'hsl(189.34, 45.39%, 75.19%)',\n },\n {\n token: 'nsw-aboriginal-blue-350',\n oklch: 'oklch(0.8106542415079605 0.0599577268231381 210.23346786760737)',\n hex: '#94ccd7',\n rgb: 'rgb(148, 204, 215)',\n hsl: 'hsl(189.36, 45.41%, 71.06%)',\n },\n {\n token: 'nsw-aboriginal-blue-400',\n oklch: 'oklch(0.7839437939021192 0.06806048415613979 210.37087113753637)',\n hex: '#84c5d1',\n rgb: 'rgb(132, 197, 209)',\n hsl: 'hsl(189.35, 45.56%, 66.86%)',\n name: 'Light Water Blue',\n },\n {\n token: 'nsw-aboriginal-blue-450',\n oklch: 'oklch(0.7096613718024245 0.0763659542620009 216.89866687611752)',\n hex: '#67aec0',\n rgb: 'rgb(103, 174, 192)',\n hsl: 'hsl(192.66, 41.82%, 57.86%)',\n },\n {\n token: 'nsw-aboriginal-blue-500',\n oklch: 'oklch(0.6353789497027299 0.08467142436786204 223.42646261469866)',\n hex: '#4a96b0',\n rgb: 'rgb(74, 150, 176)',\n hsl: 'hsl(195.5, 40.89%, 49.12%)',\n },\n {\n token: 'nsw-aboriginal-blue-550',\n oklch: 'oklch(0.5610965276030352 0.09297689447372316 229.9542583532798)',\n hex: '#2e7fa1',\n rgb: 'rgb(46, 127, 161)',\n hsl: 'hsl(197.85, 55.74%, 40.47%)',\n },\n {\n token: 'nsw-aboriginal-blue-600',\n oklch: 'oklch(0.48681410550334053 0.10128236457958428 236.48205409186096)',\n hex: '#0d6791',\n rgb: 'rgb(13, 103, 145)',\n hsl: 'hsl(199.09, 83.54%, 30.98%)',\n name: 'Saltwater Blue',\n },\n {\n token: 'nsw-aboriginal-blue-650',\n oklch: 'oklch(0.43774688628471914 0.09607362828959434 243.31473157010598)',\n hex: '#145782',\n rgb: 'rgb(20, 87, 130)',\n hsl: 'hsl(203.84, 73.26%, 29.5%)',\n },\n {\n token: 'nsw-aboriginal-blue-700',\n oklch: 'oklch(0.3886796670660978 0.09086489199960439 250.147409048351)',\n hex: '#174773',\n rgb: 'rgb(23, 71, 115)',\n hsl: 'hsl(208.96, 66.46%, 27.09%)',\n },\n {\n token: 'nsw-aboriginal-blue-750',\n oklch: 'oklch(0.3396124478474764 0.08565615570961443 256.980086526596)',\n hex: '#183763',\n rgb: 'rgb(24, 55, 99)',\n hsl: 'hsl(214.68, 61.55%, 24.07%)',\n },\n {\n token: 'nsw-aboriginal-blue-800',\n oklch: 'oklch(0.290545228628855 0.0804474194196245 263.81276400484103)',\n hex: '#162953',\n rgb: 'rgb(22, 41, 83)',\n hsl: 'hsl(221.31, 58.1%, 20.59%)',\n name: 'River Blue',\n },\n {\n token: 'nsw-aboriginal-blue-850',\n oklch: 'oklch(0.23969981361880538 0.06838030650668082 263.81276400484103)',\n hex: '#0e1d3f',\n rgb: 'rgb(14, 29, 63)',\n hsl: 'hsl(221.4, 64.27%, 15.08%)',\n },\n {\n token: 'nsw-aboriginal-blue-900',\n oklch: 'oklch(0.18885439860875575 0.05631319359373715 263.81276400484103)',\n hex: '#06122c',\n rgb: 'rgb(6, 18, 44)',\n hsl: 'hsl(222.04, 74.71%, 9.95%)',\n },\n {\n token: 'nsw-aboriginal-blue-950',\n oklch: 'oklch(0.13800898359870611 0.04424608068079347 263.81276400484103)',\n hex: '#02071b',\n rgb: 'rgb(2, 7, 27)',\n hsl: 'hsl(227.14, 84.88%, 5.65%)',\n },\n ],\n },\n purple: {\n name: 'NSW Aboriginal Purple',\n colors: [\n {\n token: 'nsw-aboriginal-purple-50',\n oklch: 'oklch(0.9677519235816936 0.01225423399018933 331.39469318233586)',\n hex: '#faf1f8',\n rgb: 'rgb(250, 241, 248)',\n hsl: 'hsl(310.68, 42.61%, 96.28%)',\n },\n {\n token: 'nsw-aboriginal-purple-100',\n oklch: 'oklch(0.9355038471633873 0.020737934444935786 331.39469318233586)',\n hex: '#f2e5f0',\n rgb: 'rgb(242, 229, 240)',\n hsl: 'hsl(310.46, 34.93%, 92.41%)',\n },\n {\n token: 'nsw-aboriginal-purple-150',\n oklch: 'oklch(0.903255770745081 0.02922163489968224 331.39469318233586)',\n hex: '#ebd8e8',\n rgb: 'rgb(235, 216, 232)',\n hsl: 'hsl(310.24, 32.24%, 88.56%)',\n },\n {\n token: 'nsw-aboriginal-purple-200',\n oklch: 'oklch(0.8710076943267746 0.0377053353544287 331.39469318233586)',\n hex: '#e4cce0',\n rgb: 'rgb(228, 204, 224)',\n hsl: 'hsl(310, 30.77%, 84.71%)',\n name: 'Dusk Purple',\n },\n {\n token: 'nsw-aboriginal-purple-250',\n oklch: 'oklch(0.8389191100209297 0.04764157951006853 331.4172179039917)',\n hex: '#ddbfd8',\n rgb: 'rgb(221, 191, 216)',\n hsl: 'hsl(309.75, 30.82%, 80.93%)',\n },\n {\n token: 'nsw-aboriginal-purple-300',\n oklch: 'oklch(0.8068305257150847 0.05757782366570837 331.4397426256475)',\n hex: '#d7b3d1',\n rgb: 'rgb(215, 179, 209)',\n hsl: 'hsl(309.5, 30.72%, 77.16%)',\n },\n {\n token: 'nsw-aboriginal-purple-350',\n oklch: 'oklch(0.7747419414092399 0.06751406782134821 331.46226734730334)',\n hex: '#d0a6c9',\n rgb: 'rgb(208, 166, 201)',\n hsl: 'hsl(309.22, 30.55%, 73.39%)',\n },\n {\n token: 'nsw-aboriginal-purple-400',\n oklch: 'oklch(0.742653357103395 0.07745031197698804 331.48479206895917)',\n hex: '#c99ac2',\n rgb: 'rgb(201, 154, 194)',\n hsl: 'hsl(308.94, 30.32%, 69.61%)',\n name: 'Lilli Pilli',\n },\n {\n token: 'nsw-aboriginal-purple-450',\n oklch: 'oklch(0.6987279730890662 0.08461715270888535 331.3997569775923)',\n hex: '#bd8bb6',\n rgb: 'rgb(189, 139, 182)',\n hsl: 'hsl(308.5, 27.72%, 64.31%)',\n },\n {\n token: 'nsw-aboriginal-purple-500',\n oklch: 'oklch(0.6548025890747375 0.09178399344078267 331.31472188622536)',\n hex: '#b17caa',\n rgb: 'rgb(177, 124, 170)',\n hsl: 'hsl(308.03, 25.74%, 59.05%)',\n },\n {\n token: 'nsw-aboriginal-purple-550',\n oklch: 'oklch(0.6108772050604088 0.09895083417268 331.2296867948585)',\n hex: '#a66d9f',\n rgb: 'rgb(166, 109, 159)',\n hsl: 'hsl(307.53, 24.18%, 53.83%)',\n },\n {\n token: 'nsw-aboriginal-purple-600',\n oklch: 'oklch(0.56695182104608 0.10611767490457731 331.1446517034916)',\n hex: '#9a5e93',\n rgb: 'rgb(154, 94, 147)',\n hsl: 'hsl(307, 24.19%, 48.63%)',\n name: 'Spirit Lilac',\n },\n {\n token: 'nsw-aboriginal-purple-650',\n oklch: 'oklch(0.5059681066477375 0.09597195429905764 331.53840819994554)',\n hex: '#844f7e',\n rgb: 'rgb(132, 79, 126)',\n hsl: 'hsl(307.56, 25.08%, 41.48%)',\n },\n {\n token: 'nsw-aboriginal-purple-700',\n oklch: 'oklch(0.4449843922493949 0.08582623369353798 331.93216469639947)',\n hex: '#6f4169',\n rgb: 'rgb(111, 65, 105)',\n hsl: 'hsl(308.1, 26.24%, 34.55%)',\n },\n {\n token: 'nsw-aboriginal-purple-750',\n oklch: 'oklch(0.38400067785105235 0.07568051308801832 332.32592119285346)',\n hex: '#5b3355',\n rgb: 'rgb(91, 51, 85)',\n hsl: 'hsl(308.61, 27.86%, 27.83%)',\n },\n {\n token: 'nsw-aboriginal-purple-800',\n oklch: 'oklch(0.3230169634527098 0.06553479248249865 332.7196776893074)',\n hex: '#472642',\n rgb: 'rgb(71, 38, 66)',\n hsl: 'hsl(309.09, 30.28%, 21.37%)',\n name: 'Bush Plum',\n },\n {\n token: 'nsw-aboriginal-purple-850',\n oklch: 'oklch(0.2664889948484856 0.05570457361012385 332.7196776893074)',\n hex: '#351a31',\n rgb: 'rgb(53, 26, 49)',\n hsl: 'hsl(308.99, 33.57%, 15.63%)',\n },\n {\n token: 'nsw-aboriginal-purple-900',\n oklch: 'oklch(0.20996102624426138 0.04587435473774905 332.7196776893074)',\n hex: '#241021',\n rgb: 'rgb(36, 16, 33)',\n hsl: 'hsl(308.83, 40.05%, 10.18%)',\n },\n {\n token: 'nsw-aboriginal-purple-950',\n oklch: 'oklch(0.15343305764003715 0.036044135865374256 332.7196776893074)',\n hex: '#150612',\n rgb: 'rgb(21, 6, 18)',\n hsl: 'hsl(308.92, 54.82%, 5.21%)',\n },\n ],\n },\n grey: {\n name: 'NSW Aboriginal Grey',\n colors: [\n {\n token: 'nsw-aboriginal-grey-50',\n oklch: 'oklch(0.9791354942965652 0.0014935040072708932 78.29695339492076)',\n hex: '#f9f8f7',\n rgb: 'rgb(249, 248, 247)',\n hsl: 'hsl(35.99, 11.4%, 97.16%)',\n },\n {\n token: 'nsw-aboriginal-grey-100',\n oklch: 'oklch(0.9582709885931304 0.002527468319996896 78.29695339492076)',\n hex: '#f2f1ef',\n rgb: 'rgb(242, 241, 239)',\n hsl: 'hsl(36, 9.67%, 94.37%)',\n },\n {\n token: 'nsw-aboriginal-grey-150',\n oklch: 'oklch(0.9374064828896956 0.0035614326327228986 78.29695339492076)',\n hex: '#ebeae8',\n rgb: 'rgb(235, 234, 232)',\n hsl: 'hsl(36, 9.08%, 91.59%)',\n },\n {\n token: 'nsw-aboriginal-grey-200',\n oklch: 'oklch(0.9165419771862608 0.004595396945448901 78.29695339492076)',\n hex: '#e5e3e0',\n rgb: 'rgb(229, 227, 224)',\n hsl: 'hsl(36, 8.77%, 88.82%)',\n name: 'Smoky Grey',\n },\n {\n token: 'nsw-aboriginal-grey-250',\n oklch: 'oklch(0.8949688443848074 0.005626888799288963 72.79487392970944)',\n hex: '#dfdcd8',\n rgb: 'rgb(223, 220, 216)',\n hsl: 'hsl(32.79, 8.86%, 86.06%)',\n },\n {\n token: 'nsw-aboriginal-grey-300',\n oklch: 'oklch(0.8733957115833539 0.006658380653129026 67.29279446449813)',\n hex: '#d8d4d1',\n rgb: 'rgb(216, 212, 209)',\n hsl: 'hsl(29.76, 8.93%, 83.34%)',\n },\n {\n token: 'nsw-aboriginal-grey-350',\n oklch: 'oklch(0.8518225787819006 0.007689872506969089 61.79071499928681)',\n hex: '#d2cdc9',\n rgb: 'rgb(210, 205, 201)',\n hsl: 'hsl(26.85, 8.96%, 80.67%)',\n },\n {\n token: 'nsw-aboriginal-grey-400',\n oklch: 'oklch(0.8302494459804471 0.00872136436080915 56.288635534075496)',\n hex: '#ccc6c2',\n rgb: 'rgb(204, 198, 194)',\n hsl: 'hsl(24, 8.93%, 78.04%)',\n name: 'Ash Grey',\n },\n {\n token: 'nsw-aboriginal-grey-450',\n oklch: 'oklch(0.7350703829754051 0.006541023270606863 56.288635534075496)',\n hex: '#ada8a5',\n rgb: 'rgb(173, 168, 165)',\n hsl: 'hsl(23.99, 4.23%, 66.26%)',\n },\n {\n token: 'nsw-aboriginal-grey-500',\n oklch: 'oklch(0.6398913199703631 0.004360682180404575 56.288635534075496)',\n hex: '#8e8b8a',\n rgb: 'rgb(142, 139, 138)',\n hsl: 'hsl(23.97, 2.04%, 54.85%)',\n },\n {\n token: 'nsw-aboriginal-grey-550',\n oklch: 'oklch(0.544712256965321 0.0021803410902022876 56.288635534075496)',\n hex: '#71706f',\n rgb: 'rgb(113, 112, 111)',\n hsl: 'hsl(23.95, 1.01%, 43.86%)',\n },\n {\n token: 'nsw-aboriginal-grey-600',\n oklch: 'oklch(0.4495331939602789 0 none)',\n hex: '#555555',\n rgb: 'rgb(85, 85, 85)',\n hsl: 'hsl(223.81, 0%, 33.33%)',\n name: 'Emu Grey',\n },\n {\n token: 'nsw-aboriginal-grey-650',\n oklch: 'oklch(0.4114406365077532 0 none)',\n hex: '#4b4b4b',\n rgb: 'rgb(75, 75, 75)',\n hsl: 'hsl(223.81, 0%, 29.26%)',\n },\n {\n token: 'nsw-aboriginal-grey-700',\n oklch: 'oklch(0.3733480790552275 0 none)',\n hex: '#404040',\n rgb: 'rgb(64, 64, 64)',\n hsl: 'hsl(223.81, 0%, 25.29%)',\n },\n {\n token: 'nsw-aboriginal-grey-750',\n oklch: 'oklch(0.3352555216027018 0 none)',\n hex: '#373737',\n rgb: 'rgb(55, 55, 55)',\n hsl: 'hsl(223.81, 0%, 21.41%)',\n },\n {\n token: 'nsw-aboriginal-grey-800',\n oklch: 'oklch(0.29716296415017607 0 none)',\n hex: '#2d2d2d',\n rgb: 'rgb(45, 45, 45)',\n hsl: 'hsl(223.81, 0%, 17.65%)',\n name: 'Charcoal Rock',\n },\n {\n token: 'nsw-aboriginal-grey-850',\n oklch: 'oklch(0.24515944542389526 0 none)',\n hex: '#202020',\n rgb: 'rgb(32, 32, 32)',\n hsl: 'hsl(223.81, 0%, 12.7%)',\n },\n {\n token: 'nsw-aboriginal-grey-900',\n oklch: 'oklch(0.19315592669761444 0 none)',\n hex: '#141414',\n rgb: 'rgb(20, 20, 20)',\n hsl: 'hsl(223.81, 0%, 8.01%)',\n },\n {\n token: 'nsw-aboriginal-grey-950',\n oklch: 'oklch(0.14115240797133363 0 none)',\n hex: '#090909',\n rgb: 'rgb(9, 9, 9)',\n hsl: 'hsl(223.81, 0%, 3.63%)',\n },\n ],\n },\n },\n semantic: {\n success: {\n name: 'Success',\n colors: [\n {\n token: 'success-50',\n oklch: 'oklch(0.9720355476100955 0.01978729853872853 142.11752406542539)',\n hex: '#eff9ed',\n rgb: 'rgb(239, 249, 237)',\n hsl: 'hsl(113.15, 52.52%, 95.43%)',\n },\n {\n token: 'success-100',\n oklch: 'oklch(0.944071095220191 0.03348619752707904 142.11752406542539)',\n hex: '#e0f3de',\n rgb: 'rgb(224, 243, 222)',\n hsl: 'hsl(113.26, 45.54%, 91.13%)',\n },\n {\n token: 'success-150',\n oklch: 'oklch(0.9161066428302864 0.04718509651542956 142.11752406542539)',\n hex: '#d2eccf',\n rgb: 'rgb(210, 236, 207)',\n hsl: 'hsl(113.38, 42.97%, 86.84%)',\n },\n {\n token: 'success-200',\n oklch: 'oklch(0.8881421904403819 0.06088399550378008 142.11752406542539)',\n hex: '#c4e5c0',\n rgb: 'rgb(196, 229, 192)',\n hsl: 'hsl(113.51, 41.57%, 82.55%)',\n name: 'Success 04',\n },\n {\n token: 'success-250',\n oklch: 'oklch(0.8312289461835737 0.0814134964867239 142.2964842668701)',\n hex: '#aad6a5',\n rgb: 'rgb(170, 214, 165)',\n hsl: 'hsl(114.16, 37.16%, 74.26%)',\n },\n {\n token: 'success-300',\n oklch: 'oklch(0.7743157019267655 0.10194299746966773 142.47544446831483)',\n hex: '#8fc78a',\n rgb: 'rgb(143, 199, 138)',\n hsl: 'hsl(114.93, 34.81%, 66.02%)',\n },\n {\n token: 'success-350',\n oklch: 'oklch(0.7174024576699572 0.12247249845261154 142.65440466975954)',\n hex: '#74b76f',\n rgb: 'rgb(116, 183, 111)',\n hsl: 'hsl(115.88, 33.38%, 57.78%)',\n },\n {\n token: 'success-400',\n oklch: 'oklch(0.660489213413149 0.14300199943555536 142.83336487120425)',\n hex: '#58a854',\n rgb: 'rgb(88, 168, 84)',\n hsl: 'hsl(117.14, 33.33%, 49.41%)',\n name: 'Success 03',\n },\n {\n token: 'success-450',\n oklch: 'oklch(0.6326270919832794 0.153487552492673 142.8252122365381)',\n hex: '#49a146',\n rgb: 'rgb(73, 161, 70)',\n hsl: 'hsl(117.67, 39.56%, 45.11%)',\n },\n {\n token: 'success-500',\n oklch: 'oklch(0.6047649705534097 0.16397310554979067 142.81705960187193)',\n hex: '#399936',\n rgb: 'rgb(57, 153, 54)',\n hsl: 'hsl(118.38, 47.88%, 40.58%)',\n },\n {\n token: 'success-550',\n oklch: 'oklch(0.57690284912354 0.17445865860690835 142.80890696720576)',\n hex: '#259224',\n rgb: 'rgb(37, 146, 36)',\n hsl: 'hsl(119.53, 60.48%, 35.56%)',\n },\n {\n token: 'success-600',\n oklch: 'oklch(0.5490407276936703 0.184944211664026 142.8007543325396)',\n hex: '#008a07',\n rgb: 'rgb(0, 138, 7)',\n hsl: 'hsl(123.04, 100%, 27.06%)',\n name: 'Success 02',\n },\n {\n token: 'success-650',\n oklch: 'oklch(0.4778879989458421 0.16120283434453703 142.72440047135717)',\n hex: '#007204',\n rgb: 'rgb(0, 114, 4)',\n hsl: 'hsl(121.8, 99.36%, 22.38%)',\n },\n {\n token: 'success-700',\n oklch: 'oklch(0.40673527019801387 0.13746145702504803 142.64804661017473)',\n hex: '#005a02',\n rgb: 'rgb(0, 90, 2)',\n hsl: 'hsl(120.9, 99.22%, 17.81%)',\n },\n {\n token: 'success-750',\n oklch: 'oklch(0.3355825414501856 0.11372007970555903 142.57169274899232)',\n hex: '#004401',\n rgb: 'rgb(0, 68, 1)',\n hsl: 'hsl(120.32, 99.47%, 13.4%)',\n },\n {\n token: 'success-800',\n oklch: 'oklch(0.26442981270235744 0.08997870238607004 142.49533888780988)',\n hex: '#002f00',\n rgb: 'rgb(0, 47, 0)',\n hsl: 'hsl(120, 100%, 9.22%)',\n name: 'Success 01',\n },\n {\n token: 'success-850',\n oklch: 'oklch(0.21815459547944488 0.07648189702815954 142.49533888780988)',\n hex: '#002200',\n rgb: 'rgb(0, 34, 0)',\n hsl: 'hsl(120.32, 100%, 6.51%)',\n },\n {\n token: 'success-900',\n oklch: 'oklch(0.17187937825653232 0.06298509167024903 142.49533888780988)',\n hex: '#001600',\n rgb: 'rgb(0, 22, 0)',\n hsl: 'hsl(120.63, 100%, 4.07%)',\n },\n {\n token: 'success-950',\n oklch: 'oklch(0.12560416103361977 0.04948828631233853 142.49533888780988)',\n hex: '#000b00',\n rgb: 'rgb(0, 11, 0)',\n hsl: 'hsl(121.08, 100%, 1.88%)',\n },\n ],\n },\n warning: {\n name: 'Warning',\n colors: [\n {\n token: 'warning-50',\n oklch: 'oklch(0.9739777778864123 0.017695077274685146 43.9454781334139)',\n hex: '#fff3ed',\n rgb: 'rgb(255, 243, 237)',\n hsl: 'hsl(17.53, 100%, 96.97%)',\n },\n {\n token: 'warning-100',\n oklch: 'oklch(0.9479555557728245 0.029945515387928705 43.9454781334139)',\n hex: '#ffe8de',\n rgb: 'rgb(255, 232, 222)',\n hsl: 'hsl(17.59, 100%, 93.77%)',\n },\n {\n token: 'warning-150',\n oklch: 'oklch(0.9219333336592369 0.042195953501172265 43.9454781334139)',\n hex: '#ffddcf',\n rgb: 'rgb(255, 221, 207)',\n hsl: 'hsl(17.65, 99.09%, 90.53%)',\n },\n {\n token: 'warning-200',\n oklch: 'oklch(0.8959111115456492 0.05444639161441583 43.9454781334139)',\n hex: '#fdd2c0',\n rgb: 'rgb(253, 210, 192)',\n hsl: 'hsl(17.7, 93.85%, 87.25%)',\n name: 'Warning 04',\n },\n {\n token: 'warning-250',\n oklch: 'oklch(0.8436567377995562 0.07383969866253859 43.88732593200177)',\n hex: '#f6bda5',\n rgb: 'rgb(246, 189, 165)',\n hsl: 'hsl(17.77, 81.71%, 80.57%)',\n },\n {\n token: 'warning-300',\n oklch: 'oklch(0.7914023640534633 0.09323300571066136 43.829173730589645)',\n hex: '#eea88a',\n rgb: 'rgb(238, 168, 138)',\n hsl: 'hsl(17.84, 74.94%, 73.78%)',\n },\n {\n token: 'warning-350',\n oklch: 'oklch(0.7391479903073703 0.11262631275878413 43.77102152917751)',\n hex: '#e6936f',\n rgb: 'rgb(230, 147, 111)',\n hsl: 'hsl(17.98, 70.36%, 66.84%)',\n },\n {\n token: 'warning-400',\n oklch: 'oklch(0.6868936165612773 0.13201961980690688 43.71286932776538)',\n hex: '#dd7d53',\n rgb: 'rgb(221, 125, 83)',\n hsl: 'hsl(18.26, 66.99%, 59.61%)',\n name: 'Warning 03',\n },\n {\n token: 'warning-450',\n oklch: 'oklch(0.6610028202949751 0.14144095719007027 43.78396833320002)',\n hex: '#d87244',\n rgb: 'rgb(216, 114, 68)',\n hsl: 'hsl(18.61, 65.61%, 55.79%)',\n },\n {\n token: 'warning-500',\n oklch: 'oklch(0.635112024028673 0.15086229457323366 43.85506733863466)',\n hex: '#d36734',\n rgb: 'rgb(211, 103, 52)',\n hsl: 'hsl(19.18, 64.53%, 51.69%)',\n },\n {\n token: 'warning-550',\n oklch: 'oklch(0.6092212277623706 0.16028363195639705 43.9261663440693)',\n hex: '#ce5c21',\n rgb: 'rgb(206, 92, 33)',\n hsl: 'hsl(20.31, 72.21%, 46.96%)',\n },\n {\n token: 'warning-600',\n oklch: 'oklch(0.5833304314960684 0.16970496933956045 43.99726534950394)',\n hex: '#c95000',\n rgb: 'rgb(201, 80, 0)',\n hsl: 'hsl(23.88, 100%, 39.41%)',\n name: 'Warning 02',\n },\n {\n token: 'warning-650',\n oklch: 'oklch(0.507009085738871 0.149901753081645 42.56483564766481)',\n hex: '#a83f03',\n rgb: 'rgb(168, 63, 3)',\n hsl: 'hsl(21.95, 96.66%, 33.46%)',\n },\n {\n token: 'warning-700',\n oklch: 'oklch(0.43068773998167365 0.13009853682372957 41.13240594582567)',\n hex: '#882f03',\n rgb: 'rgb(136, 47, 3)',\n hsl: 'hsl(20.07, 95.99%, 27.13%)',\n },\n {\n token: 'warning-750',\n oklch: 'oklch(0.3543663942244763 0.11029532056581412 39.69997624398653)',\n hex: '#692001',\n rgb: 'rgb(105, 32, 1)',\n hsl: 'hsl(17.86, 97.32%, 20.78%)',\n },\n {\n token: 'warning-800',\n oklch: 'oklch(0.2780450484672789 0.09049210430789867 38.26754654214739)',\n hex: '#4b1200',\n rgb: 'rgb(75, 18, 0)',\n hsl: 'hsl(14.4, 100%, 14.71%)',\n name: 'Warning 01',\n },\n {\n token: 'warning-850',\n oklch: 'oklch(0.2293871649855051 0.07691828866171387 38.26754654214739)',\n hex: '#390a00',\n rgb: 'rgb(57, 10, 0)',\n hsl: 'hsl(11.43, 100%, 10.95%)',\n },\n {\n token: 'warning-900',\n oklch: 'oklch(0.1807292815037313 0.06334447301552906 38.26754654214739)',\n hex: '#270400',\n rgb: 'rgb(39, 4, 0)',\n hsl: 'hsl(7.67, 100%, 7.5%)',\n },\n {\n token: 'warning-950',\n oklch: 'oklch(0.13207139802195747 0.04977065736934427 38.26754654214739)',\n hex: '#170100',\n rgb: 'rgb(23, 1, 0)',\n hsl: 'hsl(4.64, 100%, 4.34%)',\n },\n ],\n },\n danger: {\n name: 'Danger',\n colors: [\n {\n token: 'danger-50',\n oklch: 'oklch(0.9688081012787089 0.02046893571008903 18.42817489942577)',\n hex: '#fff0ef',\n rgb: 'rgb(255, 240, 239)',\n hsl: 'hsl(0.78, 100%, 97.61%)',\n },\n {\n token: 'danger-100',\n oklch: 'oklch(0.9376162025574177 0.034639737355535286 18.42817489942577)',\n hex: '#ffe2e1',\n rgb: 'rgb(255, 226, 225)',\n hsl: 'hsl(0.56, 100%, 94.61%)',\n },\n {\n token: 'danger-150',\n oklch: 'oklch(0.9064243038361265 0.048810539000981534 18.42817489942577)',\n hex: '#ffd4d4',\n rgb: 'rgb(255, 212, 212)',\n hsl: 'hsl(0.3, 100%, 91.55%)',\n },\n {\n token: 'danger-200',\n oklch: 'oklch(0.8752324051148354 0.06298134064642778 18.42817489942577)',\n hex: '#fdc6c6',\n rgb: 'rgb(253, 198, 198)',\n hsl: 'hsl(0, 93.22%, 88.43%)',\n name: 'Danger 04',\n },\n {\n token: 'danger-250',\n oklch: 'oklch(0.8133068732197568 0.08452871651344564 18.398482771634782)',\n hex: '#f4acad',\n rgb: 'rgb(244, 172, 173)',\n hsl: 'hsl(359.39, 76.34%, 81.59%)',\n },\n {\n token: 'danger-300',\n oklch: 'oklch(0.7513813413246784 0.1060760923804635 18.368790643843795)',\n hex: '#ea9294',\n rgb: 'rgb(234, 146, 148)',\n hsl: 'hsl(358.59, 67.4%, 74.56%)',\n },\n {\n token: 'danger-350',\n oklch: 'oklch(0.6894558094295998 0.12762346824748136 18.339098516052807)',\n hex: '#df787c',\n rgb: 'rgb(223, 120, 124)',\n hsl: 'hsl(357.51, 61.52%, 67.27%)',\n },\n {\n token: 'danger-400',\n oklch: 'oklch(0.6275302775345213 0.1491708441144992 18.30940638826182)',\n hex: '#d35d65',\n rgb: 'rgb(211, 93, 101)',\n hsl: 'hsl(355.93, 57.28%, 59.61%)',\n name: 'Danger 03',\n },\n {\n token: 'danger-450',\n oklch: 'oklch(0.5961466901234453 0.1600594003984286 18.251840020312933)',\n hex: '#cd4e59',\n rgb: 'rgb(205, 78, 89)',\n hsl: 'hsl(354.77, 55.6%, 55.49%)',\n },\n {\n token: 'danger-500',\n oklch: 'oklch(0.5647631027123693 0.17094795668235796 18.194273652364046)',\n hex: '#c63f4e',\n rgb: 'rgb(198, 63, 78)',\n hsl: 'hsl(353.23, 54.28%, 51.09%)',\n },\n {\n token: 'danger-550',\n oklch: 'oklch(0.5333795153012932 0.1818365129662873 18.13670728441516)',\n hex: '#bf2c42',\n rgb: 'rgb(191, 44, 66)',\n hsl: 'hsl(350.97, 62.34%, 46.16%)',\n },\n {\n token: 'danger-600',\n oklch: 'oklch(0.5019959278902173 0.19272506925021668 18.079140916466272)',\n hex: '#b81237',\n rgb: 'rgb(184, 18, 55)',\n hsl: 'hsl(346.63, 82.18%, 39.61%)',\n name: 'Danger 02',\n },\n {\n token: 'danger-650',\n oklch: 'oklch(0.43761291207168196 0.16911051005163913 18.72632727121819)',\n hex: '#990b2a',\n rgb: 'rgb(153, 11, 42)',\n hsl: 'hsl(346.89, 86.15%, 32.28%)',\n },\n {\n token: 'danger-700',\n oklch: 'oklch(0.3732298962531466 0.1454959508530616 19.3735136259701)',\n hex: '#7c061f',\n rgb: 'rgb(124, 6, 31)',\n hsl: 'hsl(347.25, 91.31%, 25.33%)',\n },\n {\n token: 'danger-750',\n oklch: 'oklch(0.30884688043461134 0.12188139165448407 20.020699980722014)',\n hex: '#5f0214',\n rgb: 'rgb(95, 2, 20)',\n hsl: 'hsl(348.45, 96%, 19.02%)',\n },\n {\n token: 'danger-800',\n oklch: 'oklch(0.244463864616076 0.09826683245590653 20.66788633547393)',\n hex: '#44000a',\n rgb: 'rgb(68, 0, 10)',\n hsl: 'hsl(351.18, 100%, 13.33%)',\n name: 'Danger 01',\n },\n {\n token: 'danger-850',\n oklch: 'oklch(0.2016826883082627 0.08352680758752055 20.66788633547393)',\n hex: '#330005',\n rgb: 'rgb(51, 0, 5)',\n hsl: 'hsl(352.99, 100%, 9.85%)',\n },\n {\n token: 'danger-900',\n oklch: 'oklch(0.15890151200044939 0.06878678271913458 20.66788633547393)',\n hex: '#230002',\n rgb: 'rgb(35, 0, 2)',\n hsl: 'hsl(354.47, 100%, 6.66%)',\n },\n {\n token: 'danger-950',\n oklch: 'oklch(0.1161203356926361 0.0540467578507486 20.66788633547393)',\n hex: '#140001',\n rgb: 'rgb(20, 0, 1)',\n hsl: 'hsl(355.5, 100%, 3.76%)',\n },\n ],\n },\n info: {\n name: 'Info',\n colors: [\n {\n token: 'info-50',\n oklch: 'oklch(0.9472470414070251 0.01319114316017373 261.49146551846417)',\n hex: '#e9eef7',\n rgb: 'rgb(233, 238, 247)',\n hsl: 'hsl(217.99, 45.88%, 94%)',\n },\n {\n token: 'info-100',\n oklch: 'oklch(0.8944940828140502 0.02232347304029401 261.49146551846417)',\n hex: '#d4ddeb',\n rgb: 'rgb(212, 221, 235)',\n hsl: 'hsl(218, 37.47%, 87.77%)',\n },\n {\n token: 'info-150',\n oklch: 'oklch(0.8417411242210754 0.03145580292041429 261.49146551846417)',\n hex: '#c0cce0',\n rgb: 'rgb(192, 204, 224)',\n hsl: 'hsl(218.02, 34.49%, 81.6%)',\n },\n {\n token: 'info-200',\n oklch: 'oklch(0.7889881656281005 0.04058813280053457 261.49146551846417)',\n hex: '#acbbd5',\n rgb: 'rgb(172, 187, 213)',\n hsl: 'hsl(218.05, 32.8%, 75.49%)',\n name: 'Info 04',\n },\n {\n token: 'info-250',\n oklch: 'oklch(0.7327975333484203 0.05432284288357939 261.7505460408388)',\n hex: '#96a9cc',\n rgb: 'rgb(150, 169, 204)',\n hsl: 'hsl(218.29, 34.23%, 69.31%)',\n },\n {\n token: 'info-300',\n oklch: 'oklch(0.6766069010687401 0.06805755296662422 262.0096265632134)',\n hex: '#8098c2',\n rgb: 'rgb(128, 152, 194)',\n hsl: 'hsl(218.57, 34.87%, 63.2%)',\n },\n {\n token: 'info-350',\n oklch: 'oklch(0.62041626878906 0.08179226304966905 262.268707085588)',\n hex: '#6b86b8',\n rgb: 'rgb(107, 134, 184)',\n hsl: 'hsl(218.9, 35.05%, 57.15%)',\n },\n {\n token: 'info-400',\n oklch: 'oklch(0.5642256365093798 0.09552697313271387 262.52778760796264)',\n hex: '#5775ae',\n rgb: 'rgb(87, 117, 174)',\n hsl: 'hsl(219.31, 34.94%, 51.18%)',\n name: 'Info 03',\n },\n {\n token: 'info-450',\n oklch: 'oklch(0.5358247299257868 0.10246599429811404 262.4837143651888)',\n hex: '#4d6ca9',\n rgb: 'rgb(77, 108, 169)',\n hsl: 'hsl(219.41, 37.55%, 48.13%)',\n },\n {\n token: 'info-500',\n oklch: 'oklch(0.5074238233421937 0.10940501546351422 262.4396411224149)',\n hex: '#4264a4',\n rgb: 'rgb(66, 100, 164)',\n hsl: 'hsl(219.52, 42.28%, 45.1%)',\n },\n {\n token: 'info-550',\n oklch: 'oklch(0.47902291675860065 0.1163440366289144 262.395567879641)',\n hex: '#385b9e',\n rgb: 'rgb(56, 91, 158)',\n hsl: 'hsl(219.66, 47.62%, 42.06%)',\n },\n {\n token: 'info-600',\n oklch: 'oklch(0.4506220101750076 0.12328305779431457 262.3514946368672)',\n hex: '#2e5299',\n rgb: 'rgb(46, 82, 153)',\n hsl: 'hsl(219.81, 53.77%, 39.02%)',\n name: 'Info 02',\n },\n {\n token: 'info-650',\n oklch: 'oklch(0.3914472612047992 0.10948475002303204 262.3659717757216)',\n hex: '#23427f',\n rgb: 'rgb(35, 66, 127)',\n hsl: 'hsl(219.87, 56.39%, 31.92%)',\n },\n {\n token: 'info-700',\n oklch: 'oklch(0.33227251223459087 0.09568644225174952 262.3804489145761)',\n hex: '#193366',\n rgb: 'rgb(25, 51, 102)',\n hsl: 'hsl(219.93, 60.27%, 25.07%)',\n },\n {\n token: 'info-750',\n oklch: 'oklch(0.2730977632643825 0.08188813448046699 262.3949260534306)',\n hex: '#10254f',\n rgb: 'rgb(16, 37, 79)',\n hsl: 'hsl(220.02, 66.59%, 18.51%)',\n },\n {\n token: 'info-800',\n oklch: 'oklch(0.21392301429417415 0.06808982670918445 262.409403192285)',\n hex: '#071738',\n rgb: 'rgb(7, 23, 56)',\n hsl: 'hsl(220.41, 77.78%, 12.35%)',\n name: 'Info 01',\n },\n {\n token: 'info-850',\n oklch: 'oklch(0.1764864867926937 0.057876352702806784 262.409403192285)',\n hex: '#040f2a',\n rgb: 'rgb(4, 15, 42)',\n hsl: 'hsl(222.21, 84%, 8.9%)',\n },\n {\n token: 'info-900',\n oklch: 'oklch(0.13904995929121322 0.047662878696429115 262.409403192285)',\n hex: '#02071c',\n rgb: 'rgb(2, 7, 28)',\n hsl: 'hsl(226.63, 89.54%, 5.83%)',\n },\n {\n token: 'info-950',\n oklch: 'oklch(0.10161343178973273 0.03744940469005145 262.409403192285)',\n hex: '#00030f',\n rgb: 'rgb(0, 3, 15)',\n hsl: 'hsl(230.65, 94.13%, 3.12%)',\n },\n ],\n },\n },\n}\n\nexport const colorThemes = generateColorThemes(colors)\n","'use client'\n\nimport React from 'react'\nimport { useEffect, useRef, useState, useMemo } from 'react'\nimport type { ComponentProps, PropsWithChildren } from 'react'\nimport { useTheme } from 'next-themes'\nimport { clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nimport { humaniseVariant } from '../lib/utils'\n\nimport { Social } from '../components/Social'\nimport { Icons } from '../components/Icons'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../components/Tooltip'\nimport { CodeHighlight } from '../components/CodeHighlight'\nimport { Button } from '../components/Button'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../components/Select'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/Popover'\nimport { ThemeSelector } from '@/components/ThemeSelector'\nimport {\n CodeDemoProps,\n View,\n CodeData,\n Variants,\n Code,\n CodeItem,\n IFrameData,\n IFrameMap,\n IconProps,\n ThemeOption,\n ThemeCategory,\n ThemeMessage,\n IFrameProps,\n ThemeSelectorDropDownProps,\n IFrameOptions,\n} from '../types/types'\nimport { colorThemes, colors } from '@/lib/color-palette'\n\nexport function CodeDemo({ data, hide = {} }: CodeDemoProps) {\n const { resolvedTheme } = useTheme()\n const { rtl = false, darkMode = false, themeSelector = false } = hide\n\n const [tabIndex, setTabIndex] = useState(0)\n const [variant, setVariant] = useState(getInitialVariant(data))\n\n const [view, setView] = useState<View>('desktop')\n const [isRTL, setIsRTL] = useState(false)\n const [isDarkMode, setDarkMode] = useState<boolean | null>(null)\n const [isExpanded, setExpanded] = useState(false)\n const [isJustCopied, setJustCopied] = useState(false)\n\n const [themeCategory, setThemeCategory] = useState<ThemeCategory>('brand')\n const [primaryColor, setPrimaryColor] = useState<ThemeOption>('blue')\n const [accentColor, setAccentColor] = useState<ThemeOption>('red')\n const [greyColor, setGreyColor] = useState<ThemeOption>('grey')\n\n useEffect(() => {\n setDarkMode(resolvedTheme === 'dark')\n }, [resolvedTheme])\n\n const iframeRef = useRef<HTMLIFrameElement>(null)\n\n const getShades = (prefix: 'primary' | 'accent' | 'grey', colorKey: string, themeCat: string) =>\n colors[themeCat][colorKey].colors.reduce<Record<string, string>>((acc, shade) => {\n const suffix = shade.token.split('-').pop()\n acc[`${prefix}${suffix}`] = shade.hex\n return acc\n }, {})\n\n const themeValues = React.useMemo(\n () => ({\n ...getShades('primary', primaryColor, themeCategory),\n ...getShades('accent', accentColor, themeCategory),\n ...getShades('grey', greyColor, themeCategory),\n }),\n [themeCategory, primaryColor, accentColor, greyColor],\n )\n\n React.useEffect(() => {\n const frame = iframeRef.current\n if (!frame) return\n\n const send = () => {\n const msg: ThemeMessage = { type: 'nswds-theme', payload: themeValues }\n frame.contentWindow?.postMessage(msg, '*')\n }\n\n send()\n frame.addEventListener('load', send)\n return () => frame.removeEventListener('load', send)\n }, [themeValues])\n\n function copyToClipboard(value: string) {\n setJustCopied(true)\n navigator.clipboard.writeText(value)\n setTimeout(() => setJustCopied(false), 2000)\n }\n\n function getInitialVariant(data: CodeData): Variants {\n if (data.type === 'variant') return data.variant\n\n return ''\n }\n\n function getVariants(data: CodeData): Variants[] {\n if (data.type === 'variant') return Object.keys(data.code)\n\n return []\n }\n\n function getCode(data: CodeData, variant: Variants): Code {\n if (data.type === 'variant') return data.code[variant]\n\n return data.code\n }\n\n function getCodeItems(code: Code): CodeItem[] {\n return Array.isArray(code) ? code : [code]\n }\n\n function getCurrent(items: CodeItem[], index: number): CodeItem {\n return items[index]\n }\n\n function handleSelectVariant(variant: Variants) {\n setTabIndex(0)\n setVariant(variant)\n }\n\n function getShouldExpand(rawCode: string) {\n const rem = 16\n const offset = 41 // expand/collapse button height\n const padding = 28\n const maxHeight = 18 * rem + offset // mirror `max-h-72`\n const codeHeight = getTextHeight(rawCode) + padding\n\n return codeHeight > maxHeight\n }\n\n function getTextHeight(value: string) {\n const fontSize = 16.5\n const lineHeight = 1.25\n\n return countLines(value) * fontSize * lineHeight\n }\n\n function countLines(value: string) {\n return (value.match(/\\n/g) || '').length + 1\n }\n\n function selectIframe<V extends Variants>(\n data: CodeData<V>,\n currentVariant: V,\n ): IFrameData | undefined {\n const { iframe } = data\n if (!iframe) return\n\n if (typeof iframe === 'number') return iframe\n\n if ('src' in iframe) return iframe as IFrameOptions\n\n return (iframe as IFrameMap<V>)[currentVariant]\n }\n\n const iframeData = selectIframe(data, variant)\n\n const variants = getVariants(data)\n const code = getCode(data, variant)\n const codeItems = getCodeItems(code)\n const current = getCurrent(codeItems, tabIndex)\n const shouldExpand = getShouldExpand(current.code.trim())\n\n const variantLabels = React.useMemo<Record<string, string>>(() => {\n const explicit: Record<string, string> =\n (data as { labels?: Record<string, string> }).labels ?? {}\n return Object.fromEntries(variants.map((v) => [v, explicit[v] ?? humaniseVariant(v)]))\n }, [variants, data])\n\n return (\n <div className='mt-8'>\n <div className='border-grey-200 bg-grey-50 dark:border-grey-600 dark:bg-grey-700 w-full rounded-t-xl border p-4'>\n <div className='grid grid-cols-2 sm:grid-cols-3'>\n <EditOnGithubButton githubSlug={data.githubSlug} />\n <ToggleViewButtons onSelect={setView} />\n <div className='col-span-1 flex justify-end gap-3'>\n {!themeSelector && (\n <ThemeSelectorDropDown\n themeCategory={themeCategory}\n setThemeCategory={setThemeCategory}\n primaryColor={primaryColor}\n setPrimaryColor={setPrimaryColor}\n accentColor={accentColor}\n setAccentColor={setAccentColor}\n greyColor={greyColor}\n setGreyColor={setGreyColor}\n />\n )}\n {!rtl && <ToggleRTLButton isRTL={isRTL} onClick={() => setIsRTL((state) => !state)} />}\n {!darkMode && (\n <ToggleDarkModeButton\n isDarkMode={isDarkMode}\n onClick={() => setDarkMode((state) => !state)}\n />\n )}\n </div>\n </div>\n </div>\n <CodePreview\n view={view}\n isRTL={isRTL}\n isDarkMode={isDarkMode}\n iframe={iframeData}\n themeValues={themeValues}\n >\n {iframeData ? (\n <IFrame\n sandbox='allow-scripts allow-same-origin'\n ref={iframeRef}\n iframe={iframeData}\n isRTL={isRTL}\n isDarkMode={isDarkMode}\n />\n ) : (\n <>{data.component}</>\n )}\n </CodePreview>\n <div className='code-syntax-wrapper'>\n <div\n className={twMerge(\n 'code-syntax border-grey-200 dark:border-grey-600 relative border',\n shouldExpand && 'pb-[41px]',\n )}\n >\n <div className='border-grey-200 bg-grey-50 dark:border-grey-600 dark:bg-grey-700 flex w-full rounded-t-md border-b'>\n <Tabs tabIndex={tabIndex} items={codeItems} onSelect={setTabIndex} />\n {variants.length > 0 && (\n <Select onValueChange={(value) => handleSelectVariant(value)}>\n <SelectTrigger size='sm'>\n <SelectValue placeholder='Select a variant' />\n </SelectTrigger>\n <SelectContent>\n {variants.map((v) => (\n <SelectItem key={v} value={v}>\n {variantLabels[v]}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )}\n <div className='flex justify-end'>\n <CopyToClipboardButton\n isJustCopied={isJustCopied}\n onClick={() => copyToClipboard(current.code)}\n />\n </div>\n </div>\n <div className={twMerge('!overflow-y-hidden', shouldExpand && !isExpanded && 'max-h-72')}>\n <CodeHighlight\n className='!mb-0 !rounded-none'\n code={current.code}\n language={current.language}\n />\n </div>\n {shouldExpand && (\n <CollapseExpandButton\n isExpanded={isExpanded}\n onClick={() => setExpanded((state) => !state)}\n />\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst IFrame = React.forwardRef<HTMLIFrameElement, IFrameProps>(\n ({ iframe, isRTL, isDarkMode }, ref) => {\n useEffect(() => {\n const document = (ref as React.RefObject<HTMLIFrameElement>)?.current?.contentDocument\n const root = document?.documentElement\n\n if (document && root) {\n root.setAttribute('dir', isRTL ? 'rtl' : 'ltr')\n root.classList.toggle('dark', !!isDarkMode)\n }\n }, [isRTL, isDarkMode, ref])\n\n if (typeof iframe === 'number') {\n return <iframe ref={ref} src='' height={iframe} width='100%' className='w-full' />\n }\n\n if (typeof iframe === 'object' && iframe?.src) {\n const { src, height = 0, width = 100, noPadding } = iframe\n const finalSrc = noPadding ? `${src}?noPadding` : src\n const finalWidth = width === 100 ? '100%' : width\n\n return (\n <iframe ref={ref} src={finalSrc} height={height} width={finalWidth} className='w-full' />\n )\n }\n\n return null\n },\n)\n\nIFrame.displayName = 'IFrame'\n\nfunction Tabs({\n tabIndex,\n items,\n onSelect,\n}: {\n tabIndex: number\n items: CodeItem[]\n onSelect(index: number): void\n}) {\n return (\n <ul className='text-grey-500 dark:text-grey-400 flex flex-1 text-center text-sm font-medium'>\n {items.map((item, index) => (\n <li key={item.fileName}>\n <button type='button' role='tab' onClick={() => onSelect(index)}>\n <span\n className={twMerge(\n 'border-grey-200 bg-grey-100 dark:border-grey-600 dark:bg-grey-800 inline-block w-full cursor-pointer border-r p-2 px-3',\n index === tabIndex\n ? 'text-grey-800 dark:text-white'\n : 'hover:text-grey-600 hover:dark:text-grey-300',\n )}\n >\n {item.fileName + `.${item.language}`}\n </span>\n </button>\n </li>\n ))}\n </ul>\n )\n}\n\nfunction CodePreview({\n view,\n isRTL,\n isDarkMode,\n iframe,\n themeValues,\n children,\n}: PropsWithChildren<{\n view: View\n isRTL: boolean\n isDarkMode: boolean | null\n iframe?: IFrameData\n themeValues: Record<string, string>\n}>) {\n const cssVars = React.useMemo<React.CSSProperties>(() => {\n const withCssVarNames = Object.entries(themeValues).map(([key, value]) => {\n const kebab = key.replace(/(\\D+)(\\d+)/, '$1-$2')\n return [`--color-${kebab}`, value]\n })\n\n return Object.fromEntries(withCssVarNames)\n }, [themeValues])\n\n return (\n <div\n {...(isRTL && { dir: 'rtl' })}\n className='code-preview-wrapper'\n style={cssVars as React.CSSProperties}\n >\n <div className='border-grey-200 dark:border-grey-600 dark:bg-grey-900 flex border-x bg-white bg-gradient-to-r p-0'>\n <div\n className={twMerge(\n 'code-responsive-wrapper w-full',\n isDarkMode !== null && (isDarkMode ? 'dark' : 'light'),\n )}\n data-theme={isDarkMode !== null && (isDarkMode ? 'dark' : 'light')}\n >\n <div\n className={clsx(\n 'group dark:bg-grey-900 mx-auto bg-white bg-gradient-to-r',\n view === 'desktop' && 'w-full',\n view === 'tablet' && 'max-w-lg',\n view === 'mobile' && 'max-w-sm',\n !iframe && 'p-5',\n )}\n >\n {children}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nfunction EditOnGithubButton({ githubSlug }: { githubSlug: string }) {\n const githubSrcHref = 'https://github.com'\n const href = `${githubSrcHref}${githubSlug}`\n\n return (\n <Button\n variant='outline'\n color='light'\n href={href}\n target='_blank'\n rel='nofollow noopener noreferrer'\n className='flex h-10 w-fit items-center text-sm'\n >\n <Social.Github data-slot='icon' />\n Edit on GitHub\n </Button>\n )\n}\n\nfunction ToggleViewButtons({ onSelect }: { onSelect(view: View): void }) {\n const views: {\n name: View\n title: string\n icon: React.FC<IconProps>\n }[] = [\n { name: 'desktop', title: 'Toggle full screen', icon: Icons.desktop },\n { name: 'tablet', title: 'Toggle tablet view', icon: Icons.tablet },\n { name: 'mobile', title: 'Toggle mobile view', icon: Icons.smartphone },\n ]\n\n return (\n <div className='hidden items-center justify-center space-x-2 sm:flex'>\n {views.map((v) => (\n <TooltipProvider key={v.name}>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button onClick={() => onSelect(v.name)} color='light' variant='outline' size='icon'>\n <v.icon />\n </Button>\n </TooltipTrigger>\n </Tooltip>\n </TooltipProvider>\n ))}\n </div>\n )\n}\n\nfunction ThemeSelectorDropDown({\n themeCategory,\n setThemeCategory,\n primaryColor,\n setPrimaryColor,\n accentColor,\n setAccentColor,\n greyColor,\n setGreyColor,\n}: ThemeSelectorDropDownProps) {\n const filteredColorThemes = useMemo(() => {\n const filtered = {} as typeof colorThemes\n\n for (const category of Object.keys(colorThemes) as ThemeCategory[]) {\n filtered[category] = Object.fromEntries(\n Object.entries(colorThemes[category]).filter(\n ([key]) => !key.toLowerCase().includes('grey'),\n ),\n )\n }\n\n return filtered\n }, [])\n\n const availableAccentColors = useMemo(() => {\n const allColors = Object.keys(filteredColorThemes[themeCategory])\n return allColors.filter((color) => color !== primaryColor)\n }, [filteredColorThemes, themeCategory, primaryColor])\n\n useEffect(() => {\n const neutralKey =\n Object.keys(colorThemes[themeCategory]).find((k) => k.toLowerCase().includes('grey')) ?? ''\n\n if (neutralKey && neutralKey !== greyColor) {\n setGreyColor(neutralKey)\n }\n const availableColors = Object.keys(colorThemes[themeCategory])\n\n if (!availableColors.includes(primaryColor)) {\n setPrimaryColor(availableColors[0])\n if (availableColors.length > 1) {\n setAccentColor(availableColors[1])\n }\n return\n }\n\n if (accentColor === primaryColor || !availableColors.includes(accentColor)) {\n const newAccentColor = availableColors.find((color) => color !== primaryColor)\n if (newAccentColor) {\n setAccentColor(newAccentColor)\n }\n }\n }, [\n themeCategory,\n primaryColor,\n accentColor,\n greyColor,\n setPrimaryColor,\n setAccentColor,\n setGreyColor,\n ])\n\n const primaryColorSwatch = colorThemes[themeCategory][primaryColor]?.colors[3]?.hex || '#000000'\n const accentColorSwatch = colorThemes[themeCategory][accentColor]?.colors[2]?.hex || '#000000'\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button color='light' variant='outline' className='flex h-10 items-center text-sm'>\n <Icons.palette />\n <span>Theme</span>\n <div className='ml-2 flex gap-1'>\n <div className='h-3 w-3 rounded-full' style={{ backgroundColor: primaryColorSwatch }} />\n <div className='h-3 w-3 rounded-full' style={{ backgroundColor: accentColorSwatch }} />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent className='w-80'>\n <ThemeSelector\n themeCategory={themeCategory}\n setThemeCategory={setThemeCategory}\n primaryColor={primaryColor}\n setPrimaryColor={setPrimaryColor}\n accentColor={accentColor}\n setAccentColor={setAccentColor}\n greyColor={greyColor}\n setGreyColor={setGreyColor}\n availableAccentColors={availableAccentColors}\n colorThemes={filteredColorThemes}\n />\n </PopoverContent>\n </Popover>\n )\n}\n\nfunction ToggleRTLButton({ isRTL, onClick }: ComponentProps<'button'> & { isRTL: boolean }) {\n const dir = isRTL ? 'LTR' : 'RTL'\n const title = `Toggle ${dir} mode`\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n onClick={onClick}\n color='light'\n variant='outline'\n className='flex h-10 items-center text-sm'\n >\n <span className='sr-only'>{title}</span>\n {dir}\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Add to library</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nfunction ToggleDarkModeButton({\n isDarkMode,\n onClick,\n}: ComponentProps<'button'> & { isDarkMode: boolean | null }) {\n const title = isDarkMode ? 'Toggle light mode' : 'Toggle dark mode'\n const Icon = isDarkMode ? Icons.light_mode : Icons.dark_mode\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button onClick={onClick} color='light' variant='outline' size='icon'>\n <span className='sr-only'>{title}</span>\n {isDarkMode !== null ? (\n <Icon />\n ) : (\n <>\n <Icons.light_mode className='hidden dark:block' />\n <Icons.dark_mode className='dark:hidden' />\n </>\n )}\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Add to library</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nfunction CopyToClipboardButton({\n isJustCopied,\n onClick,\n}: ComponentProps<'button'> & { isJustCopied: boolean }) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={onClick}\n className='hover:text-primary-800 hover:bg-grey-300 dark:border-grey-600 dark:bg-grey-800 dark:text-grey-400 border-grey-200 bg-grey-100 text-grey-600 flex h-full cursor-pointer items-center border-l px-3 py-2 text-xs font-medium transition-colors duration-200 ease-in-out dark:hover:text-white'\n >\n <Icons.copy className='mr-2 size-3.5' />\n {isJustCopied ? 'Copied' : 'Copy'}\n </button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Copy to clipboard</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nfunction CollapseExpandButton({\n isExpanded,\n onClick,\n}: ComponentProps<'button'> & { isExpanded: boolean }) {\n return (\n <button\n onClick={onClick}\n className='hover:text-primary-700 border-grey-200 bg-grey-100 text-grey-900 hover:bg-grey-100 dark:border-grey-600 dark:bg-grey-700 dark:text-grey-400 dark:hover:bg-grey-700 absolute bottom-0 left-0 z-30 w-full cursor-pointer border-t px-5 py-2.5 text-sm font-medium dark:hover:text-white'\n >\n {isExpanded ? 'Collapse code' : 'Expand code'}\n </button>\n )\n}\n","'use client'\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible'\n\nfunction Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot='collapsible' {...props} />\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot='collapsible-trigger' {...props} />\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return <CollapsiblePrimitive.CollapsibleContent data-slot='collapsible-content' {...props} />\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","'use client'\n\nimport { useEffect, useRef, useState } from 'react'\nimport { clsx } from 'clsx'\nimport { useCopyToClipboard } from '@uidotdev/usehooks'\nimport { toast } from 'sonner'\n\nimport { getColorValue, isLightColor } from '../lib/colors'\nimport { ColorCardProps } from '../types/types'\n\nimport { Icons } from '../components/Icons'\nimport { Card } from '../components/Card'\nimport { Button } from '../components/Button'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../components/Tooltip'\n\nconst TruncatingTooltip = ({ children, className }: { children: string; className?: string }) => {\n const textRef = useRef<HTMLDivElement>(null)\n const [isTruncated, setIsTruncated] = useState(false)\n\n useEffect(() => {\n const el = textRef.current\n if (el) {\n setIsTruncated(el.scrollWidth > el.clientWidth)\n }\n }, [children])\n\n return (\n <TooltipProvider>\n <Tooltip delayDuration={500}>\n <TooltipTrigger asChild>\n <p ref={textRef} className={`truncate ${className}`}>\n {children}\n </p>\n </TooltipTrigger>\n {isTruncated && <TooltipContent>{children}</TooltipContent>}\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nexport function ColorCard({ name, token, hex, rgb, hsl, oklch, format, viewMode }: ColorCardProps) {\n const [, copyToClipboardRaw] = useCopyToClipboard()\n const [copied, setCopied] = useState(false)\n\n const formattedColor = getColorValue({ oklch, hex, rgb, hsl }, format)\n\n const copyToClipboard = () => {\n copyToClipboardRaw(formattedColor)\n setCopied(true)\n toast('Color value copied to clipboard', {\n duration: 2000,\n })\n setTimeout(() => setCopied(false), 2000)\n }\n\n if (viewMode === 'grid') {\n return (\n <Card className='gap-0 overflow-hidden border-1 py-0'>\n <div\n className='flex h-24 w-full items-center justify-center'\n style={{ backgroundColor: hex }}\n >\n <p className={clsx('font-medium', isLightColor(hex) ? 'text-primary-950' : 'text-white')}>\n {name}\n </p>\n </div>\n <div className='flex flex-col gap-2 p-4'>\n <div className='flex items-center justify-between'>\n <div className='min-w-0 flex-1 pr-1'>\n <p className='font-medium'>{token}</p>\n <TruncatingTooltip className='text-muted-foreground font-mono text-sm'>\n {formattedColor}\n </TruncatingTooltip>\n </div>\n <Button variant='ghost' size='icon' onClick={copyToClipboard}>\n {copied ? <Icons.check data-slot='icon' /> : <Icons.copy data-slot='icon' />}\n <span className='sr-only'>Copy color value</span>\n </Button>\n </div>\n </div>\n </Card>\n )\n }\n\n return (\n <Card className='gap-0 overflow-hidden border-1 py-0'>\n <div className='flex items-center gap-4 p-4'>\n <div className='h-12 w-48 flex-shrink-0 rounded-md' style={{ backgroundColor: hex }} />\n <div className='min-w-0 flex-1'>\n <p className='font-medium'>{name}</p>\n <p className='font-medium'>{token}</p>\n <TruncatingTooltip className='text-muted-foreground font-mono text-sm'>\n {formattedColor}\n </TruncatingTooltip>\n </div>\n <Button variant='ghost' size='icon' className='flex-shrink-0' onClick={copyToClipboard}>\n {copied ? <Icons.check data-slot='icon' /> : <Icons.copy data-slot='icon' />}\n <span className='sr-only'>Copy color value</span>\n </Button>\n </div>\n </Card>\n )\n}\n","import { ColourScaleProps } from '../types/types'\n\nexport function ColourScale({ colorsToUse }: ColourScaleProps) {\n return (\n <div className='grid grid-cols-6 gap-1 overflow-hidden rounded-lg md:grid-cols-19'>\n {colorsToUse.map((color, index) => (\n <div\n className='group relative h-12 transition-transform hover:z-10 hover:scale-105 md:h-16'\n style={{ backgroundColor: color.hex }}\n key={index}\n ></div>\n ))}\n </div>\n )\n}\n","import { ColorSwatchesProps } from '../types/types'\n\nimport { ColorCard } from '../components/ColorCard'\n\nexport function ColorSwatches({ theme, format, viewMode }: ColorSwatchesProps) {\n return (\n <div\n className={\n viewMode === 'grid'\n ? 'grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4'\n : 'space-y-4'\n }\n >\n {theme.map((color) => (\n <ColorCard\n key={color.hex}\n name={color.name || ''}\n token={color.token}\n hex={color.hex}\n rgb={color.rgb}\n hsl={color.hsl}\n oklch={color.oklch}\n format={format}\n viewMode={viewMode}\n />\n ))}\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { Icons } from '../components/Icons'\nimport { Button } from '../components/Button'\nimport { cn } from '../lib/utils'\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot='dialog' {...props} />\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot='dialog-trigger' {...props} />\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot='dialog-portal' {...props} />\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot='dialog-close' {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot='dialog-overlay'\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot='dialog-portal'>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot='dialog-content'\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className='absolute top-1 right-1' asChild>\n <Button variant='ghost' size='icon'>\n <Icons.close className='size-6' aria-hidden='true' />\n <span className='sr-only'>Close</span>\n </Button>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='dialog-header'\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='dialog-footer'\n className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot='dialog-title'\n className={cn('text-lg leading-none font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot='dialog-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '../components/Dialog'\n\nfunction Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot='command'\n className={cn(\n 'bg-background text-foreground flex h-full w-full flex-col overflow-hidden rounded-md',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string\n description?: string\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className='sr-only'>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className='overflow-hidden p-0'>\n <Command className='[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5'>\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div data-slot='command-input-wrapper' className='flex h-9 items-center gap-2 border-b px-3'>\n <Icons.search className='size-5 shrink-0 opacity-50' />\n <CommandPrimitive.Input\n data-slot='command-input'\n className={cn(\n 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot='command-list'\n className={cn('max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto', className)}\n {...props}\n />\n )\n}\n\nfunction CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot='command-empty'\n className='py-6 text-center text-sm'\n {...props}\n />\n )\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot='command-group'\n className={cn(\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot='command-separator'\n className={cn('bg-border -mx-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot='command-item'\n className={cn(\n \"data-[selected=true]:bg-primary-800/10 data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CommandShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='command-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as ContextMenuPrimitive from '@radix-ui/react-context-menu'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot='context-menu' {...props} />\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return <ContextMenuPrimitive.Trigger data-slot='context-menu-trigger' {...props} />\n}\n\nfunction ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return <ContextMenuPrimitive.Group data-slot='context-menu-group' {...props} />\n}\n\nfunction ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return <ContextMenuPrimitive.Portal data-slot='context-menu-portal' {...props} />\n}\n\nfunction ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot='context-menu-sub' {...props} />\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return <ContextMenuPrimitive.RadioGroup data-slot='context-menu-radio-group' {...props} />\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot='context-menu-sub-trigger'\n data-inset={inset}\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_right className='ml-auto' />\n </ContextMenuPrimitive.SubTrigger>\n )\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot='context-menu-sub-content'\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot='context-menu-content'\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot='context-menu-item'\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot='context-menu-checkbox-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <ContextMenuPrimitive.ItemIndicator>\n <Icons.check className='size-4' />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot='context-menu-radio-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <ContextMenuPrimitive.ItemIndicator>\n <Icons.circle className='size-2 fill-current' />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n )\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot='context-menu-label'\n data-inset={inset}\n className={cn('text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot='context-menu-separator'\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='context-menu-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Drawer as DrawerPrimitive } from 'vaul'\n\nimport { cn } from '../lib/utils'\n\nfunction Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot='drawer' {...props} />\n}\n\nfunction DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot='drawer-trigger' {...props} />\n}\n\nfunction DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot='drawer-portal' {...props} />\n}\n\nfunction DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot='drawer-close' {...props} />\n}\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot='drawer-overlay'\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DrawerContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot='drawer-portal'>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot='drawer-content'\n className={cn(\n 'group/drawer-content bg-background fixed z-50 flex h-auto flex-col',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n className,\n )}\n {...props}\n >\n <div className='bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block' />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n )\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='drawer-header'\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='drawer-footer'\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot='drawer-title'\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction DrawerDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return (\n <DrawerPrimitive.Description\n data-slot='drawer-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","'use client'\n\nimport { useEffect } from 'react'\n\ninterface DynamicFaviconProps {\n lightModeFavicon: string\n darkModeFavicon: string\n}\n\nexport function DynamicFavicon({ lightModeFavicon, darkModeFavicon }: DynamicFaviconProps) {\n useEffect(() => {\n // Function to update favicon based on color scheme\n const updateFavicon = () => {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n const favicon = document.querySelector(\"link[rel='icon']\") as HTMLLinkElement\n\n if (favicon) {\n favicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n } else {\n // Create favicon link if it doesn't exist\n const newFavicon = document.createElement('link')\n newFavicon.rel = 'icon'\n newFavicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n document.head.appendChild(newFavicon)\n }\n }\n\n // Initial update\n updateFavicon()\n\n // Listen for changes in color scheme\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n mediaQuery.addEventListener('change', updateFavicon)\n\n // Clean up\n return () => mediaQuery.removeEventListener('change', updateFavicon)\n }, [lightModeFavicon, darkModeFavicon])\n\n // This component doesn't render anything visible\n return null\n}\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '@/lib/utils'\n\nimport { Icons } from '../components/Icons'\n\nconst ExpandableSearchContext = React.createContext<{\n value: string\n setValue: (value: string) => void\n formRef: React.RefObject<HTMLFormElement | null>\n} | null>(null)\n\nconst ExpandableSearch = React.forwardRef<\n HTMLFormElement,\n React.HTMLAttributes<HTMLFormElement> & {\n onAction?: (value: string) => void\n defaultValue?: string\n }\n>(({ className, onAction, defaultValue = '', ...props }, ref) => {\n const [value, setValue] = React.useState(defaultValue)\n const formRef = React.useRef<HTMLFormElement | null>(null)\n\n const handleAction = (e: React.FormEvent) => {\n e.preventDefault()\n if (onAction) {\n onAction(value)\n }\n }\n\n return (\n <ExpandableSearchContext.Provider value={{ value, setValue, formRef }}>\n <form\n ref={ref}\n className={cn('relative inline-block select-none', className)}\n onSubmit={handleAction}\n {...props}\n />\n </ExpandableSearchContext.Provider>\n )\n})\nExpandableSearch.displayName = 'ExpandableSearch'\n\nconst ExpandableSearchField = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement>\n>(({ className, ...props }, ref) => {\n const context = React.useContext(ExpandableSearchContext)\n if (!context) throw new Error('ExpandableSearchField must be used within ExpandableSearch')\n\n const [isFocused, setIsFocused] = React.useState(false)\n\n const isActive = context.value.length > 0 || isFocused\n\n return (\n <div className='relative flex-1'>\n <label className='sr-only' htmlFor='expandable-search'>\n Search\n </label>\n\n <input\n ref={ref}\n value={context.value}\n onChange={(e) => context.setValue(e.target.value)}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n className={cn(\n 'peer align-center bg-grey-100 hover:bg-primary-800/10 placeholder:text-grey-500 flex h-12 w-12 cursor-pointer overflow-hidden rounded-sm border-0 text-transparent',\n 'focus-visible:ring-primary-650/70 ring-offset-white focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',\n 'transition-[width,box-shadow,background-color] duration-300 ease-in-out',\n 'placeholder:text-transparent placeholder:opacity-0',\n 'expandable-search__input',\n // Conditionally apply classes based on active state\n {\n 'p-0': !isActive,\n 'bg-grey-100 text-grey-800 w-96 cursor-auto pt-0 pr-12 pb-0 pl-4 outline-none select-auto':\n isActive,\n 'placeholder:text-grey-700 placeholder:opacity-100': isActive,\n },\n className,\n )}\n {...props}\n />\n\n <button\n type='button'\n className='hover:bg-primary-800/10 group-focus-within:bg-primary-800/10 pointer-events-none absolute top-0 right-0 z-10 flex h-12 w-12 rounded-sm transition-colors duration-200 peer-focus:pointer-events-auto'\n >\n <Icons.search className='fill-primary m-auto block h-8 w-8 shrink-0 leading-none' />\n </button>\n </div>\n )\n})\nExpandableSearchField.displayName = 'ExpandableSearchField'\n\nexport { ExpandableSearch, ExpandableSearchField }\n","'use client'\n\nimport * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\n\nimport { cn } from '../lib/utils'\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot='separator-root'\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-primary-800/20 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","'use client'\n\nimport Link from 'next/link'\nimport { Button } from '../components/Button'\nimport { Separator } from '../components/Separator'\n\nfunction FooterSocialLink({\n href,\n icon: Icon,\n children,\n}: {\n href: string\n icon: React.ComponentType<{ className?: string }>\n children: React.ReactNode\n}) {\n return (\n <Button href={href} variant='ghost' size='icon' className='group'>\n <span className='sr-only'>{children}</span>\n <Icon\n data-slot='icon'\n className='group-hover:fill-nsw-grey-900 dark:group-hover:fill-nsw-grey-500 fill-nsw-grey-700 transition'\n />\n </Button>\n )\n}\n\nfunction FooterAcknowledgement() {\n return (\n <div className='border-nsw-grey-200 flex flex-row items-center gap-5 border-t pt-8 pb-4 dark:border-white/5'>\n <p className='text-nsw-grey-600 dark:text-nsw-grey-400 text-center text-base text-pretty lg:text-left'>\n We acknowledge the Traditional Custodians of the land on which we work and live, and pay our\n respects to Elders past, present and emerging.\n </p>\n </div>\n )\n}\n\nfunction FooterSmallPrint({\n socialLinks,\n department,\n}: {\n socialLinks?: Array<{\n name: string\n href: string\n icon: React.ComponentType<{ className?: string }>\n }>\n department?: string\n}) {\n return (\n <div className='flex flex-col items-center justify-between gap-5 pt-4 sm:flex-row dark:border-white/5'>\n <p className='text-nsw-grey-600 dark:text-nsw-grey-400 text-center text-sm lg:text-left'>\n &copy; Copyright {new Date().getFullYear()}\n {department && ' '}\n {department}. All rights reserved.\n </p>\n <div className='flex justify-center gap-4 lg:justify-end'>\n {socialLinks?.map((item) => (\n <FooterSocialLink key={item.name} href={item.href} icon={item.icon}>\n Follow us on {item.name}\n </FooterSocialLink>\n ))}\n </div>\n </div>\n )\n}\n\nfunction FooterLegalLinks({ legalLinks }: { legalLinks: Array<{ name: string; href: string }> }) {\n return (\n <nav\n aria-label='Footer'\n className='flex flex-wrap justify-center gap-x-4 gap-y-3 py-4 text-sm lg:justify-start'\n >\n {legalLinks?.map((item) => (\n <Link\n key={item.name}\n href={item.href}\n className='text-nsw-grey-600 hover:text-nsw-grey-600 hover:bg-primary-800/10 -m-1 rounded p-1 underline underline-offset-4 hover:decoration-2'\n >\n {item.name}\n </Link>\n ))}\n </nav>\n )\n}\n\nfunction Footer({\n legalLinks,\n department,\n socialLinks,\n}: {\n legalLinks: Array<{ name: string; href: string }>\n department?: string\n socialLinks?: Array<{\n name: string\n href: string\n icon: React.ComponentType<{ className?: string }>\n }>\n}) {\n return (\n <footer className='mx-auto w-full px-4 py-16 pb-16 lg:pr-0 lg:pl-8'>\n <FooterAcknowledgement />\n <Separator className='bg-nsw-grey-200 my-4' />\n <FooterLegalLinks legalLinks={legalLinks} />\n <FooterSmallPrint department={department} socialLinks={socialLinks} />\n </footer>\n )\n}\n\nexport { Footer, FooterLegalLinks, FooterSmallPrint, FooterAcknowledgement, FooterSocialLink }\n","'use client'\n\nimport * as React from 'react'\nimport * as LabelPrimitive from '@radix-ui/react-label'\nimport { Slot } from '@radix-ui/react-slot'\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from 'react-hook-form'\n\nimport { cn } from '../lib/utils'\nimport { Label } from '../components/Label'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot='form-item' className={cn('grid gap-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n data-slot='form-label'\n data-error={!!error}\n className={cn('data-[error=true]:text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n data-slot='form-control'\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n data-slot='form-description'\n id={formDescriptionId}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message ?? '') : props.children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n data-slot='form-message'\n id={formMessageId}\n className={cn('text-destructive text-sm', className)}\n {...props}\n >\n {body}\n </p>\n )\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n","'use client'\n\nimport * as React from 'react'\nimport clsx from 'clsx'\nimport * as TogglePrimitive from '@radix-ui/react-toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst styles = {\n base: [\n // Base\n 'inline-flex items-center justify-center gap-2 rounded-sm text-sm font-medium bg-transparent transition-all whitespace-nowrap cursor-pointer border-(--toggle-border) [--toggle-border:var(--color-nsw-grey-200)] text-nsw-grey-800',\n // States\n 'data-[state=on]:bg-nsw-grey-100 data-[state=on]:text-nsw-grey-850',\n // Hover\n 'hover:bg-nsw-grey-100 hover:text-nsw-grey-850',\n // Focus\n 'focus:outline focus:outline-2 focus:outline-offset-0 focus:outline-(--toggle-border)',\n // Dark mode\n 'dark:text-white',\n // Dark mode states\n 'dark:data-[state=on]:bg-white/10 dark:data-[state=on]:text-white',\n // Dark mode hover\n 'dark:hover:bg-white/10 dark:hover:text-white',\n // Disabled\n 'disabled:pointer-events-none disabled:opacity-50',\n // Icon\n '[&_svg]:pointer-events-none [&_svg:not([class*=\"size-\"])]:size-4 [&_svg]:shrink-0',\n // Aria invalid\n 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive',\n // Aria invalid dark mode\n 'dark:aria-invalid:ring-destructive/40',\n ],\n outline: [\n // Base\n 'text-nsw-grey-800 border [--toggle-border:var(--color-nsw-grey-300)]',\n // States\n 'hover:[--toggle-border:var(--color-nsw-grey-400)]',\n // Dark mode\n 'dark:[--toggle-border:white]/40',\n // Dark mode states\n 'dark:hover:[--toggle-border:white]/50',\n // Data on\n 'data-[state=on]:bg-primary-800/10',\n ],\n}\n\nconst toggleVariants = cva(styles.base, {\n variants: {\n variant: {\n ghost: '',\n outline: clsx(styles.outline),\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'ghost',\n size: 'default',\n },\n})\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot='toggle'\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n","'use client'\n\nimport * as React from 'react'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\nimport { type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { toggleVariants } from '../components/Toggle'\n\nconst ToggleGroupContext = React.createContext<VariantProps<typeof toggleVariants>>({\n size: 'default',\n variant: 'ghost',\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot='toggle-group'\n data-variant={variant}\n data-size={size}\n className={cn(\n 'group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs',\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot='toggle-group-item'\n data-variant={context.variant || variant}\n data-size={context.size || size}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n 'min-w-0 shrink-0 rounded-none shadow-none first:rounded-l-sm last:rounded-r-sm focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l',\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n","'use client'\n\nimport { ToggleGroup, ToggleGroupItem } from '../components/ToggleGroup'\nimport { Format, FormatToggleProps } from '../types/types'\n\nexport function FormatToggle({ format, setFormat }: FormatToggleProps) {\n return (\n <div className='flex items-center gap-2'>\n <span className='text-sm font-medium'>Format:</span>\n <ToggleGroup\n type='single'\n value={format}\n onValueChange={(value) => value && setFormat(value as Format)}\n >\n <ToggleGroupItem value='hex' aria-label='HEX format'>\n HEX\n </ToggleGroupItem>\n <ToggleGroupItem value='rgb' aria-label='RGB format'>\n RGB\n </ToggleGroupItem>\n <ToggleGroupItem value='hsl' aria-label='HSL format'>\n HSL\n </ToggleGroupItem>\n <ToggleGroupItem value='oklch' aria-label='OKLCH format'>\n OKLCH\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n )\n}\n","import clsx from 'clsx'\n\ntype BaseProps = React.ComponentPropsWithoutRef<'h1'>\n\ntype HeadingProps =\n | ({\n display?: false\n size?: 1 | 2 | 3 | 4 | 5 | 6\n trim?: 'normal' | 'start' | 'end' | 'both'\n level?: 1 | 2 | 3 | 4 | 5 | 6\n } & BaseProps)\n | ({\n display: true\n size?: 1 | 2 | 3 | 4\n level?: 1 | 2 | 3 | 4 | 5 | 6\n trim?: 'normal' | 'start' | 'end' | 'both'\n } & BaseProps)\n\nexport function Heading({\n className,\n trim = 'normal',\n size = 1,\n level = 1,\n display = false,\n ...props\n}: HeadingProps) {\n const Element: `h${typeof level}` = `h${level}`\n\n /* ───────────────────────────────── heading (1-6) ────────────────────────── */\n const headingSizeClasses = {\n 1: 'text-[calc(var(--heading-font-size-1)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-52)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 2: 'text-[calc(var(--heading-font-size-2)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-44)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 3: 'text-[calc(var(--heading-font-size-3)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-40)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 4: 'text-[calc(var(--heading-font-size-4)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-36)] tracking-[calc(var(--heading-letter-spacing-1)_+_var(--heading-letter-spacing))]',\n 5: 'text-[calc(var(--heading-font-size-5)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-32)] tracking-[calc(var(--heading-letter-spacing-1)_+_var(--heading-letter-spacing))]',\n 6: 'text-[calc(var(--heading-font-size-6)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-28)] tracking-[calc(var(--letter-spacing-0)_+_var(--heading-letter-spacing))]',\n } as const\n\n /* ───────────────────────────────── display (1-4) ────────────────────────── */\n const displaySizeClasses = {\n 1: 'text-[calc(var(--display-font-size-1)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-96)] tracking-[calc(var(--heading-letter-spacing-3)_+_var(--heading-letter-spacing))]',\n 2: 'text-[calc(var(--display-font-size-2)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-60)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 3: 'text-[calc(var(--display-font-size-3)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-52)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 4: 'text-[calc(var(--display-font-size-4)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-44)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n } as const\n\n const sizeClass = display\n ? displaySizeClasses[size as 1 | 2 | 3 | 4]\n : headingSizeClasses[size as 1 | 2 | 3 | 4 | 5 | 6]\n\n const trimClasses = {\n normal: ['before:content-none after:content-none'],\n start: [\n 'before:content-[\"\"] before:table after:content-none',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n end: [\n 'before:content-none after:content-[\"\"] after:table',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n both: [\n 'before:content-[\"\"] before:table after:content-[\"\"] after:table',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n }\n\n return (\n <Element\n {...props}\n className={clsx(\n className,\n trimClasses[trim],\n 'm-0',\n 'leading-[var(--line-height)] font-[var(--heading-font-family)] font-bold',\n '[--leading-trim-end:var(--heading-leading-trim-end)] [--leading-trim-start:var(--heading-leading-trim-start)]',\n 'text-primary-800 dark:text-white',\n sizeClass,\n )}\n />\n )\n}\n","{\n \"name\": \"@nswds/app\",\n \"version\": \"1.27.0\",\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"dist/index.d.ts\",\n \"private\": false,\n \"type\": \"module\",\n \"files\": [\n \"dist\",\n \"dist/globals.css\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./globals.css\": \"./dist/globals.css\"\n },\n \"scripts\": {\n \"build:npm\": \"tsup --config tsup.config.ts && cp dist-package.json dist/package.json\",\n \"type-check\": \"tsc -b\",\n \"format\": \"prettier --write .\",\n \"dev\": \"next dev --turbopack\",\n \"build\": \"next build\",\n \"start\": \"next start\",\n \"lint\": \"next lint\",\n \"storybook\": \"storybook dev -p 6006\",\n \"build-storybook\": \"storybook build\",\n \"serve-storybook\": \"serve storybook-static\",\n \"semantic-release\": \"semantic-release\"\n },\n \"dependencies\": {\n \"@headlessui/react\": \"^2.2.1\",\n \"@hookform/resolvers\": \"^5.0.1\",\n \"@nswds/tokens\": \"^2.10.0\",\n \"@radix-ui/react-accordion\": \"^1.2.10\",\n \"@radix-ui/react-alert-dialog\": \"^1.1.7\",\n \"@radix-ui/react-aspect-ratio\": \"^1.1.2\",\n \"@radix-ui/react-avatar\": \"^1.1.3\",\n \"@radix-ui/react-checkbox\": \"^1.3.1\",\n \"@radix-ui/react-collapsible\": \"^1.1.10\",\n \"@radix-ui/react-context-menu\": \"^2.2.6\",\n \"@radix-ui/react-dialog\": \"^1.1.13\",\n \"@radix-ui/react-dropdown-menu\": \"^2.1.6\",\n \"@radix-ui/react-hover-card\": \"^1.1.6\",\n \"@radix-ui/react-label\": \"^2.1.7\",\n \"@radix-ui/react-menubar\": \"^1.1.6\",\n \"@radix-ui/react-navigation-menu\": \"^1.2.5\",\n \"@radix-ui/react-popover\": \"^1.1.6\",\n \"@radix-ui/react-progress\": \"^1.1.2\",\n \"@radix-ui/react-radio-group\": \"^1.2.3\",\n \"@radix-ui/react-scroll-area\": \"^1.2.3\",\n \"@radix-ui/react-select\": \"^2.1.6\",\n \"@radix-ui/react-separator\": \"^1.1.3\",\n \"@radix-ui/react-slider\": \"^1.2.3\",\n \"@radix-ui/react-slot\": \"^1.2.3\",\n \"@radix-ui/react-switch\": \"^1.1.3\",\n \"@radix-ui/react-tabs\": \"^1.1.4\",\n \"@radix-ui/react-toggle\": \"^1.1.3\",\n \"@radix-ui/react-toggle-group\": \"^1.1.3\",\n \"@radix-ui/react-tooltip\": \"^1.1.8\",\n \"@react-email/components\": \"0.0.39\",\n \"@responsive-email/react-email\": \"^0.0.4\",\n \"@sindresorhus/slugify\": \"^2.2.1\",\n \"@tailwindcss/postcss\": \"^4.1.3\",\n \"@tailwindcss/typography\": \"^0.5.16\",\n \"@uidotdev/usehooks\": \"^2.4.1\",\n \"class-variance-authority\": \"^0.7.1\",\n \"clsx\": \"^2.1.1\",\n \"cmdk\": \"^1.1.1\",\n \"culori\": \"^4.0.1\",\n \"date-fns\": \"^4.1.0\",\n \"embla-carousel-react\": \"^8.6.0\",\n \"lucide-react\": \"^0.509.0\",\n \"motion\": \"^12.7.2\",\n \"prismjs\": \"^1.30.0\",\n \"react\": \"19.1.0\",\n \"react-day-picker\": \"^9.6.4\",\n \"react-dom\": \"19.1.0\",\n \"react-hook-form\": \"^7.57.0\",\n \"react-resizable-panels\": \"^2.1.7\",\n \"sonner\": \"^2.0.3\",\n \"tailwind-merge\": \"^3.1.0\",\n \"tailwindcss\": \"^4.1.3\",\n \"tailwindcss-animate\": \"^1.0.7\",\n \"vaul\": \"^1.1.2\",\n \"zod\": \"^3.25.46\",\n \"zustand\": \"^5.0.5\"\n },\n \"devDependencies\": {\n \"@chromatic-com/storybook\": \"^3.2.6\",\n \"@eslint/eslintrc\": \"^3\",\n \"@semantic-release/changelog\": \"^6.0.3\",\n \"@semantic-release/git\": \"^10.0.1\",\n \"@storybook/addon-a11y\": \"^8.6.12\",\n \"@storybook/addon-essentials\": \"^8.6.12\",\n \"@storybook/addon-interactions\": \"^8.6.12\",\n \"@storybook/addon-links\": \"^8.6.12\",\n \"@storybook/addon-onboarding\": \"^8.6.12\",\n \"@storybook/addon-storysource\": \"^8.6.12\",\n \"@storybook/addon-themes\": \"^8.6.12\",\n \"@storybook/blocks\": \"^8.6.12\",\n \"@storybook/experimental-addon-test\": \"^8.6.12\",\n \"@storybook/experimental-nextjs-vite\": \"^8.6.12\",\n \"@storybook/manager-api\": \"^8.6.12\",\n \"@storybook/react\": \"^8.6.12\",\n \"@storybook/test\": \"^8.6.12\",\n \"@storybook/theming\": \"^8.6.12\",\n \"@types/culori\": \"^2.1.1\",\n \"@types/node\": \"^20.17.28\",\n \"@types/prismjs\": \"^1.26.5\",\n \"@types/react\": \"^19.1.2\",\n \"@types/react-dom\": \"^19.1.2\",\n \"@vitest/browser\": \"^3.0.9\",\n \"@vitest/coverage-v8\": \"^3.0.9\",\n \"eslint\": \"^9\",\n \"eslint-config-next\": \"15.2.3\",\n \"eslint-config-prettier\": \"^10.1.1\",\n \"eslint-plugin-prettier\": \"^5.2.3\",\n \"eslint-plugin-storybook\": \"^0.12.0\",\n \"playwright\": \"^1.51.1\",\n \"postcss\": \"^8.5.3\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-tailwindcss\": \"^0.6.11\",\n \"react-email\": \"4.0.7\",\n \"semantic-release\": \"^24.2.3\",\n \"storybook\": \"^8.6.12\",\n \"tsup\": \"^8.4.0\",\n \"typescript\": \"^5.8.3\",\n \"vitest\": \"^3.0.9\"\n },\n \"peerDependencies\": {\n \"next\": \">=13.0.0\",\n \"next-themes\": \"^0.4.6\"\n },\n \"eslintConfig\": {\n \"extends\": [\n \"plugin:storybook/recommended\"\n ]\n }\n}\n","export function Logo(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <>\n <span className='sr-only'>NSW Government</span>\n <svg viewBox='0 0 259 280' aria-hidden='true' {...props}>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M24.208 270.207h-5.045v-4.277l11.15.054v13.676H26.08v-2.491c-.266.278-.553.556-.86.833-.673.585-1.49 1.07-2.433 1.434-.96.373-2.143.564-3.513.564-2.33 0-4.385-.539-6.109-1.6-1.727-1.065-3.073-2.594-4.007-4.538-.926-1.927-1.395-4.231-1.395-6.85 0-2.657.494-4.994 1.47-6.946.971-1.96 2.363-3.498 4.132-4.571 1.768-1.065 3.849-1.604 6.183-1.604 1.515 0 2.915.245 4.156.725 1.255.485 2.36 1.157 3.273 1.985a9.61 9.61 0 0 1 2.192 2.852 8.196 8.196 0 0 1 .872 3.319l.021.435h-6.038l-.062-.339a5.22 5.22 0 0 0-.814-1.981 4.562 4.562 0 0 0-1.537-1.43c-.614-.352-1.345-.531-2.175-.531-1.005 0-1.931.261-2.741.775-.806.51-1.458 1.351-1.935 2.495-.486 1.169-.731 2.74-.731 4.679 0 1.579.162 2.897.482 3.925.311 1.011.739 1.819 1.266 2.403.523.581 1.117.991 1.773 1.219a6.036 6.036 0 0 0 2.089.369c.669 0 1.27-.112 1.79-.328.523-.224.98-.514 1.354-.866.377-.356.676-.746.884-1.152.216-.41.349-.816.399-1.21l.14-1.028Zm20.878-16.312c2.354 0 4.435.534 6.179 1.587 1.752 1.061 3.13 2.59 4.086 4.546.947 1.935 1.428 4.281 1.428 6.967 0 2.648-.473 4.969-1.412 6.9-.946 1.948-2.317 3.469-4.073 4.521-1.744 1.053-3.837 1.583-6.212 1.583-2.396 0-4.502-.534-6.254-1.583-1.753-1.044-3.135-2.557-4.099-4.505-.947-1.927-1.428-4.252-1.428-6.912 0-2.673.486-5.015 1.449-6.954.968-1.956 2.355-3.486 4.12-4.551 1.764-1.061 3.853-1.599 6.216-1.599Zm0 21.185c1.117 0 2.093-.265 2.898-.787.802-.523 1.433-1.372 1.881-2.516.453-1.185.686-2.772.686-4.712 0-1.993-.237-3.618-.698-4.832-.444-1.181-1.08-2.056-1.885-2.603-.814-.543-1.782-.82-2.878-.82-1.1 0-2.072.277-2.886.82-.81.543-1.453 1.422-1.906 2.611-.47 1.223-.706 2.843-.706 4.82 0 1.944.237 3.531.702 4.712.452 1.148 1.092 1.997 1.902 2.515.81.527 1.781.792 2.89.792Zm23.764-2.93-6.162-17.829H57.09l8.654 25.251h6.195l8.73-25.251h-5.607L68.85 272.15Zm30.312-2.827H88.863v5.206l12.043.016v5.027H83.103v-25.251h17.632l-.016 4.99H88.892v5.089h10.27v4.923Zm22.482-1.529c.685-.613 1.246-1.401 1.678-2.341.419-.933.635-2.081.635-3.419 0-1.497-.311-2.835-.93-3.983-.619-1.169-1.599-2.093-2.919-2.756-1.3-.647-2.973-.974-4.975-.974h-10.738v25.243h5.759v-9.404h4.24l3.991 9.404h6.046l-4.651-10.456c.673-.357 1.3-.8 1.864-1.314Zm-3.513-5.64c0 .999-.336 1.79-1.025 2.428-.69.63-1.649.949-2.857.949h-4.095v-6.606h4.456c1.038 0 1.873.286 2.545.875.657.576.976 1.347.976 2.354Zm15.159-7.833 10.527 15.23v-15.23h5.776v25.251h-5.086l-10.98-15.86v15.86h-5.759v-25.251h5.522Zm33.949 16.461-5.29-16.461h-7.894v25.251h5.809v-16.266l5.124 16.266h4.485l5.162-16.357v16.357h5.826v-25.251h-7.878l-5.344 16.461Zm33.727-1.459h-10.298v5.206l12.046.016v5.027h-17.806v-25.251h17.636l-.021 4.99h-11.818v5.089h10.261v4.923Zm21.494.228-10.523-15.23h-5.527v25.251h5.756v-15.86l10.979 15.86h5.087v-25.251h-5.772v15.23Zm15.586-10.004h-7.388v-5.226h20.402v5.226h-7.217v20.025h-5.797v-20.025Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M146.699 209.236c-1.482-2.395-3.717-4.571-6.64-6.465-2.919-1.894-6.897-3.34-11.81-4.297l-13.678-2.814c-4.132-.891-6.981-2.043-8.468-3.419-1.449-1.343-2.184-3.129-2.184-5.309 0-1.388.316-2.652.943-3.759.623-1.111 1.528-2.093 2.687-2.922 1.166-.828 2.616-1.483 4.306-1.943 1.711-.469 3.633-.705 5.714-.705 2.74 0 5.211.361 7.346 1.078 2.109.713 3.857 1.881 5.194 3.481 1.338 1.6 2.16 3.775 2.442 6.465l.038.373h16.971l-.008-.427c-.075-4.575-1.371-8.773-3.85-12.474-2.483-3.705-6.141-6.681-10.879-8.852-4.726-2.164-10.623-3.262-17.528-3.262-5.801 0-11.117 1.011-15.805 3.009-4.7 2.002-8.475 4.89-11.212 8.587-2.749 3.717-4.12 8.164-4.078 13.224.112 6.175 1.99 11.186 5.577 14.903 3.576 3.697 8.476 6.158 14.567 7.306l13.795 2.81c2.529.502 4.825 1.16 6.823 1.96 1.96.784 3.525 1.803 4.651 3.03 1.1 1.197 1.657 2.772 1.657 4.67 0 2.114-.694 3.9-2.06 5.301-1.4 1.434-3.301 2.515-5.643 3.224-2.388.721-5.058 1.086-7.936 1.086-2.807 0-5.394-.435-7.686-1.297-2.28-.85-4.194-2.093-5.689-3.693-1.491-1.591-2.513-3.585-3.04-5.918l-.075-.327H83.846l.045.46c.407 4.045 1.666 7.629 3.738 10.659 2.068 3.009 4.717 5.545 7.873 7.551 3.148 1.993 6.677 3.514 10.494 4.513a46.33 46.33 0 0 0 11.693 1.5c6.466 0 12.2-1.019 17.046-3.034 4.867-2.022 8.717-4.807 11.449-8.276 2.753-3.493 4.148-7.476 4.148-11.848 0-2.064-.232-4.36-.697-6.822-.478-2.482-1.466-4.948-2.936-7.327ZM25.937 191.763l36.916 53.312H77.87v-79.724H61.072v51.282L25.754 165.53l-.125-.179H9.19v79.724h16.748v-53.312Zm196.637 24.577 14.388-50.987h16.457l-23.587 79.724h-13.367l-14.554-50.469-14.659 50.469h-13.147l-23.533-79.724h16.511l14.384 50.979 14.389-50.979h12.167l14.551 50.987Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n d='M122.291 145.572c-19.75-2.424-38.934 3.904-72.69-5.263-3.447-.937-4.718 2.694-2.854 5.736 9.07 14.803 54.881 3.203 75.635 1.065.906-.095.814-1.426-.091-1.538ZM208.735 140.309c-33.756 9.167-52.941 2.839-72.691 5.263-.905.112-1 1.447-.091 1.538 20.759 2.138 66.566 13.738 75.635-1.065 1.864-3.042.594-6.673-2.853-5.736ZM59.882 119.132c-6.864-10.058-12.474-21.31-16.818-33.69-13.101 3.826-26.51 9.346-40.16 16.57a5.388 5.388 0 0 0-2.902 4.67 5.38 5.38 0 0 0 2.653 4.812c26.431 15.802 52.273 24.841 76.93 26.933-7.34-4.475-14.072-11.044-19.703-19.295ZM23.059 85.513a201.529 201.529 0 0 1 17.976-6.233c-2.126-6.896-3.87-14.12-5.249-21.658-6.827-.85-13.89-1.4-21.199-1.641-.062 0-.128-.004-.19-.004a5.391 5.391 0 0 0-4.647 2.602 5.383 5.383 0 0 0-.12 5.483c4.243 7.659 8.724 14.808 13.429 21.45ZM88.005 135.572c4.099 1.807 8.293 2.818 12.358 3.029-9.953-7.12-17.773-19.192-22.278-34.58-5.805-19.81-7.745-41.666-5.83-65.247-7.832-4.936-16.32-9.557-25.46-13.85a5.428 5.428 0 0 0-5.402.43 5.396 5.396 0 0 0-2.388 4.841c2.126 34.215 10.95 62.915 26.223 85.298 6.404 9.391 14.281 16.332 22.777 20.079ZM107.488 23.577A253.323 253.323 0 0 0 92.235 6.735c-1.063-1.078-2.433-1.65-3.85-1.65-.506 0-1.017.075-1.523.224-1.923.568-3.314 2.106-3.733 4.115-1.072 5.164-3.11 15.69-4.012 26.101 7.014 4.613 13.492 9.49 19.426 14.621 2.3-8.757 5.29-17.63 8.945-26.569ZM255.42 102.007c-13.65-7.223-27.058-12.744-40.16-16.569-4.343 12.38-9.953 23.631-16.818 33.689-5.63 8.255-12.362 14.82-19.708 19.296 24.658-2.093 50.5-11.132 76.931-26.934 1.715-1.024 2.707-2.822 2.653-4.811-.045-1.99-1.133-3.734-2.898-4.671ZM235.273 85.513c4.705-6.643 9.186-13.796 13.43-21.455.963-1.74.922-3.788-.121-5.483a5.4 5.4 0 0 0-4.837-2.598c-7.309.24-14.377.796-21.199 1.641-1.375 7.539-3.123 14.762-5.249 21.658a203.803 203.803 0 0 1 17.976 6.237ZM180.247 104.025c-4.505 15.384-12.329 27.46-22.278 34.58 4.065-.211 8.263-1.227 12.358-3.034 8.496-3.746 16.373-10.688 22.777-20.075 15.273-22.383 24.097-51.082 26.223-85.297a5.394 5.394 0 0 0-2.388-4.84 5.428 5.428 0 0 0-5.402-.432c-9.14 4.29-17.628 8.91-25.46 13.85 1.915 23.582-.029 45.434-5.83 65.248ZM179.214 35.52c-.901-10.406-2.94-20.932-4.011-26.1-.416-2.01-1.811-3.547-3.733-4.115a5.39 5.39 0 0 0-1.524-.224c-1.416 0-2.787.572-3.85 1.65-5.485 5.549-10.568 11.164-15.252 16.842 3.654 8.939 6.644 17.812 8.949 26.565 5.934-5.127 12.407-10.005 19.421-14.617ZM129.144 87.229c6.64-13.092 17.246-24.829 25.21-32.243-4.372-17.779-11.104-34.55-20.397-52.097C132.998 1.078 131.195 0 129.148 0s-3.845 1.082-4.808 2.889c-9.389 17.604-16.237 35.122-20.377 52.093 8.313 7.688 19.28 20.224 25.181 32.247Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n\n <path\n d='M153.541 133.686c6.885-4.833 13.77-13.254 18.139-24.97 8.458-22.681 9.334-47.945 8.122-65.823-15.331 10.215-39.665 31.55-47.975 54.36-3.911 10.734-5.734 25.355-2.72 33.511 1.259 3.411 3.401 5.997 6.345 7.227 4.46 1.865 11.312.456 18.089-4.305ZM125.713 95.261c-2.027-4.724-4.261-9.18-7.728-14.186-9.809-14.16-23.026-26.933-39.475-38.185-.17 2.652-2.57 31.297 5.851 59.304 6.408 21.302 17.354 29.98 23.354 33.333 6.038 3.369 11.561 4.165 18.039 2.557-6.565-8.935-5.747-27.27-.041-42.823Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n </svg>\n </>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { useTheme } from 'next-themes'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n const classes = 'fill-nsw-grey-600 dark:fill-nsw-grey-100'\n\n // Avoid hydration mismatch by only rendering after mount\n useEffect(() => {\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return (\n <Button variant='ghost' size='icon' disabled>\n <Icons.light_mode data-slot='icon' className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='surface'\n color='light'\n size='icon'\n onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}\n aria-label={`Switch to ${resolvedTheme === 'dark' ? 'light' : 'dark'} theme`}\n >\n {resolvedTheme === 'dark' ? (\n <Icons.light_mode data-slot='icon' className={classes} />\n ) : (\n <Icons.dark_mode data-slot='icon' className={classes} />\n )}\n <span className='sr-only'>\n {resolvedTheme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'}\n </span>\n </Button>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport { useRouter } from 'next/navigation'\n\nimport { NavigationSection } from '../types/types.js'\n\nimport {\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../components/Command'\nimport { Button } from '../components/Button'\n\nexport function SiteSearch({ navigation }: { navigation: NavigationSection[] }) {\n const [open, setOpen] = React.useState(false)\n const router = useRouter()\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n setOpen((open) => !open)\n }\n }\n\n document.addEventListener('keydown', down)\n return () => document.removeEventListener('keydown', down)\n }, [])\n\n const runCommand = React.useCallback((command: () => unknown) => {\n setOpen(false)\n command()\n }, [])\n\n return (\n <>\n <Button\n variant='surface'\n color='light'\n className='relative h-10 w-full items-center justify-start sm:pr-12 md:w-40 lg:w-64'\n onClick={() => setOpen(true)}\n >\n <span className='text-nsw-grey-600 hidden lg:inline-flex'>Search site...</span>\n <span className='inline-flex lg:hidden'>Search...</span>\n <kbd className='bg-muted pointer-events-none absolute top-2 right-2 hidden h-5 items-center gap-1 rounded border px-2 font-mono text-xs font-medium opacity-100 select-none sm:flex'>\n <span className='text-xs'>⌘</span>K\n </kbd>\n </Button>\n <CommandDialog open={open} onOpenChange={setOpen}>\n <CommandInput placeholder='Type to search across the site...' />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n\n {navigation.map((page, index) => (\n <CommandGroup key={index} heading={page.title}>\n {page.links.map((page) => (\n <CommandItem\n key={page.href}\n onSelect={() => runCommand(() => router.push(page.href))}\n >\n <span>{page.title}</span>\n </CommandItem>\n ))}\n </CommandGroup>\n ))}\n </CommandList>\n </CommandDialog>\n </>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types.js'\nimport packageJson from '../../package.json'\n\nimport { Button } from '../components/Button'\nimport { Heading } from '../components/Heading'\nimport { Logo } from '../components/Logo'\nimport { ThemeSwitcher } from '../components/ThemeSwitcher'\nimport { Social } from '../components/Social'\nimport { SiteSearch } from '../components/SiteSearch'\nimport { Badge } from '../components/Badge'\n\nexport function Header({\n sitename,\n navigation,\n version = false,\n hide = {},\n}: {\n sitename?: string\n navigation: NavigationSection[]\n version?: boolean\n hide?: {\n search?: boolean\n themeSwitcher?: boolean\n github?: boolean\n }\n}) {\n const [isScrolled, setIsScrolled] = useState(false)\n const { search = false, themeSwitcher = false, github = false } = hide\n\n useEffect(() => {\n function onScroll() {\n setIsScrolled(window.scrollY > 0)\n }\n onScroll()\n window.addEventListener('scroll', onScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [])\n\n return (\n <header\n className={clsx(\n 'sticky top-0 z-50 flex flex-none flex-wrap items-center justify-between bg-white px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 sm:px-6 lg:px-8 dark:shadow-none',\n isScrolled\n ? 'dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'\n : 'dark:bg-transparent',\n )}\n >\n <div className='mr-6 flex lg:hidden'>{/* <MobileNavigation /> */}</div>\n <div className='relative flex grow basis-0 items-center'>\n <Link href='/' aria-label='Home page' className='flex items-center justify-between'>\n <Logo className='h-12 w-auto lg:h-14' />\n <Heading level={2} size={6} className='ml-6'>\n {sitename}\n </Heading>\n </Link>\n {version && (\n <Badge variant='soft' color='primary' className='ml-2'>\n {packageJson.version}\n </Badge>\n )}\n </div>\n <div className='relative flex basis-0 justify-end gap-2 sm:gap-4 md:grow'>\n {!search && <SiteSearch navigation={navigation} />}\n {!themeSwitcher && <ThemeSwitcher />}\n {!github && (\n <Button\n variant='surface'\n color='light'\n size='icon'\n className='group'\n href='https://github.com/digitalnsw'\n aria-label='GitHub'\n >\n <Social.Github\n data-slot='icon'\n className='fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6'\n />\n </Button>\n )}\n </div>\n </header>\n )\n}\n","'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot='input'\n className={cn(\n // Base styles\n 'border-nsw-grey-200 flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm',\n // Selection styles\n 'selection:bg-primary-800 selection:text-primary-foreground',\n // Placeholder styles\n 'placeholder:text-muted-foreground',\n // File input styles\n 'file:text-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium',\n // Focus styles\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n // Disabled styles\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n // aria-invalid styles\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n // Dark mode styles\n 'dark:bg-input/30',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nfunction cn(...inputs: (string | undefined | null | false)[]) {\n return twMerge(clsx(inputs))\n}\n\nexport interface ListProps extends React.HTMLAttributes<HTMLElement> {\n asChild?: boolean\n variant?: 'disc' | 'decimal' | 'icon' | 'none'\n size?: 'sm' | 'md' | 'lg'\n gap?: 'sm' | 'md' | 'lg'\n}\n\nconst sizeStyles = {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n} as const\n\nconst variantStyles = {\n disc: 'list-disc pl-5',\n decimal: 'list-decimal pl-5',\n icon: 'list-none',\n none: 'list-none',\n} as const\n\nconst gapStyles = {\n sm: 'space-y-1',\n md: 'space-y-2',\n lg: 'space-y-3',\n} as const\n\nconst List = React.forwardRef<HTMLUListElement, ListProps>(\n ({ asChild, variant = 'disc', size = 'md', gap = 'md', className, ...props }, ref) => {\n const Comp: React.ElementType = asChild ? Slot : 'ul'\n\n return (\n <Comp\n ref={ref}\n data-slot='list'\n className={cn(sizeStyles[size], variantStyles[variant], gapStyles[gap], className)}\n {...props}\n />\n )\n },\n)\n\ntype ListComponent = React.ForwardRefExoticComponent<\n ListProps & React.RefAttributes<HTMLUListElement>\n> & {\n Item: typeof ListItem\n}\n\nList.displayName = 'List'\n\nexport interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n icon?: React.ReactNode\n}\n\nconst ListItem = React.forwardRef<HTMLLIElement, ListItemProps>(\n ({ icon, className, children, ...props }, ref) => {\n if (icon) {\n return (\n <li ref={ref} data-slot='list-item' className={cn('flex gap-2', className)} {...props}>\n <span className='mt-0.5'>{icon}</span>\n <span>{children}</span>\n </li>\n )\n }\n\n return (\n <li ref={ref} data-slot='list-item' className={cn(className)} {...props}>\n {children}\n </li>\n )\n },\n)\nListItem.displayName = 'List.Item'\n\nconst _List = List as ListComponent\n_List.Item = ListItem\n\nexport { _List as List, ListItem }\n","'use client'\n\nexport function Masthead() {\n return (\n <div className='bg-primary-800 h-[var(--masthead-height)] w-full'>\n <div className='mx-auto flex w-full items-center justify-between px-4 py-2 sm:px-6 lg:px-8'>\n <div className='flex items-center gap-x-12'>\n <p className='text-xs text-white'>A NSW Government website</p>\n </div>\n </div>\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as MenubarPrimitive from '@radix-ui/react-menubar'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot='menubar'\n className={cn(\n 'bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot='menubar-menu' {...props} />\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot='menubar-group' {...props} />\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot='menubar-portal' {...props} />\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup data-slot='menubar-radio-group' {...props} />\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot='menubar-trigger'\n className={cn(\n 'focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MenubarContent({\n className,\n align = 'start',\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot='menubar-content'\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n )\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot='menubar-item'\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot='menubar-checkbox-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <MenubarPrimitive.ItemIndicator>\n <Icons.check className='size-4' />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n )\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot='menubar-radio-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <MenubarPrimitive.ItemIndicator>\n <Icons.circle className='size-2 fill-current' />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n )\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot='menubar-label'\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n )\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot='menubar-separator'\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='menubar-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot='menubar-sub' {...props} />\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot='menubar-sub-trigger'\n data-inset={inset}\n className={cn(\n 'focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_right className='ml-auto h-4 w-4' />\n </MenubarPrimitive.SubTrigger>\n )\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot='menubar-sub-content'\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n}\n","'use client'\n\nimport React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { NavigationSection } from '../types/types.js'\n\nexport function Navigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section) => (\n <li key={section.title}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <li key={link.href} className='-ml-px flex flex-col items-start gap-2'>\n <Link\n href={link.href}\n onClick={onLinkClick}\n className={clsx(\n 'text-foreground inline-block border-l border-transparent pl-5 text-base/8 sm:pl-4 sm:text-sm/6',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold',\n 'dark:text-nsw-grey-400',\n 'dark:hover:border-nsw-grey-400 dark:hover:text-white',\n link.href === pathname &&\n 'border-primary text-primary border-l font-semibold dark:border-white',\n )}\n >\n {link.title}\n </Link>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu'\nimport { cva } from 'class-variance-authority'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot='navigation-menu'\n data-viewport={viewport}\n className={cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n )\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot='navigation-menu-list'\n className={cn('group flex flex-1 list-none items-center justify-center gap-1', className)}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot='navigation-menu-item'\n className={cn('relative', className)}\n {...props}\n />\n )\n}\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-primary-800/10 hover:text-accent-foreground focus:bg-primary-800/10 focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-primary-800/10 data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-primary-800/10 data-[state=open]:bg-primary-800/10 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1',\n)\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot='navigation-menu-trigger'\n className={cn(navigationMenuTriggerStyle(), 'group', className)}\n {...props}\n >\n {children}{' '}\n <Icons.chevron_down\n className='relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180'\n aria-hidden='true'\n />\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot='navigation-menu-content'\n className={cn(\n 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto',\n 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div className={cn('absolute top-full left-0 isolate z-50 flex justify-center')}>\n <NavigationMenuPrimitive.Viewport\n data-slot='navigation-menu-viewport'\n className={cn(\n 'origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]',\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot='navigation-menu-link'\n className={cn(\n \"data-[active=true]:focus:bg-primary-800/10 data-[active=true]:hover:bg-primary-800/10 data-[active=true]:bg-primary-800/10/50 data-[active=true]:text-accent-foreground hover:bg-primary-800/10 hover:text-accent-foreground focus:bg-primary-800/10 focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot='navigation-menu-indicator'\n className={cn(\n 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',\n className,\n )}\n {...props}\n >\n <div className='bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md' />\n </NavigationMenuPrimitive.Indicator>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\nimport { Button, buttonVariants } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nfunction Pagination({ className, ...props }: React.ComponentProps<'nav'>) {\n return (\n <nav\n role='navigation'\n aria-label='pagination'\n data-slot='pagination'\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n />\n )\n}\n\nfunction PaginationContent({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot='pagination-content'\n className={cn('flex flex-row items-center gap-1', className)}\n {...props}\n />\n )\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<'li'>) {\n return <li data-slot='pagination-item' {...props} />\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, 'size'> &\n React.ComponentProps<'a'>\n\nfunction PaginationLink({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? 'page' : undefined}\n data-slot='pagination-link'\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? 'outline' : 'ghost',\n size,\n }),\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction PaginationPrevious({ className, ...props }: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label='Go to previous page'\n size='default'\n className={cn('gap-1 px-2.5 sm:pl-2.5', className)}\n {...props}\n >\n <Icons.chevron_left />\n <span className='hidden sm:block'>Previous</span>\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({ className, ...props }: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label='Go to next page'\n size='default'\n className={cn('gap-1 px-2.5 sm:pr-2.5', className)}\n {...props}\n >\n <span className='hidden sm:block'>Next</span>\n <Icons.chevron_right />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n aria-hidden\n data-slot='pagination-ellipsis'\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <Icons.more_horiz className='size-4' />\n <span className='sr-only'>More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { PrevNextLinksProps } from '../types/types'\nimport { Icons } from '../components/Icons'\n\nfunction PrevNextLinksPageLink({\n title,\n href,\n dir = 'next',\n ...props\n}: Omit<React.ComponentPropsWithoutRef<'div'>, 'dir' | 'title'> & {\n title: string\n href: string\n dir?: 'previous' | 'next'\n}) {\n return (\n <div {...props}>\n <dt className='font-display text-sm font-medium text-slate-900 dark:text-white'>\n {dir === 'next' ? 'Next' : 'Previous'}\n </dt>\n <dd className='mt-1'>\n <Link\n href={href}\n className={clsx(\n 'flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300',\n dir === 'previous' && 'flex-row-reverse',\n )}\n >\n {title}\n <Icons.east\n className={clsx('size-5 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\nfunction PrevNextLinks({ navigation }: PrevNextLinksProps) {\n const pathname = usePathname()\n const allLinks = navigation.flatMap((section) => section.links)\n const linkIndex = allLinks.findIndex((link) => link.href === pathname)\n const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null\n const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null\n\n if (!nextPage && !previousPage) {\n return null\n }\n\n return (\n <dl className='mt-12 flex border-t border-slate-200 pt-6 dark:border-slate-800'>\n {previousPage && <PrevNextLinksPageLink dir='previous' {...previousPage} />}\n {nextPage && <PrevNextLinksPageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n\nexport { PrevNextLinks, PrevNextLinksPageLink }\n","'use client'\n\nimport * as React from 'react'\nimport * as ProgressPrimitive from '@radix-ui/react-progress'\n\nimport { cn } from '../lib/utils'\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot='progress'\n className={cn(\n 'bg-primary-800/20 relative h-2 w-full overflow-hidden rounded-full',\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot='progress-indicator'\n className='bg-primary-800 h-full w-full flex-1 transition-all'\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress }\n","'use client'\n\nimport * as React from 'react'\nimport * as ResizablePrimitive from 'react-resizable-panels'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n return (\n <ResizablePrimitive.PanelGroup\n data-slot='resizable-panel-group'\n className={cn('flex h-full w-full data-[panel-group-direction=vertical]:flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n return <ResizablePrimitive.Panel data-slot='resizable-panel' {...props} />\n}\n\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean\n}) {\n return (\n <ResizablePrimitive.PanelResizeHandle\n data-slot='resizable-handle'\n className={cn(\n 'bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className='bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border'>\n <Icons.drag_indicator className='size-2.5' />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n )\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle }\n","'use client'\n\nimport * as React from 'react'\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'\n\nimport { cn } from '../lib/utils'\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot='scroll-area'\n className={cn('relative', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot='scroll-area-viewport'\n className='focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1'\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot='scroll-area-scrollbar'\n orientation={orientation}\n className={cn(\n 'flex touch-none p-px transition-colors select-none',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot='scroll-area-thumb'\n className='bg-border relative flex-1 rounded-full'\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\nimport { Icons } from '../components/Icons'\nimport { Button } from '../components/Button'\nimport { cn } from '../lib/utils'\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot='sheet' {...props} />\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot='sheet-trigger' {...props} />\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot='sheet-close' {...props} />\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot='sheet-portal' {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot='sheet-overlay'\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot='sheet-content'\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className,\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close data-slot='sheet-close' className='absolute top-4 right-4' asChild>\n <Button variant='ghost' size='icon'>\n <Icons.close className='size-6' aria-hidden='true' />\n <span className='sr-only'>Close</span>\n </Button>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='sheet-header'\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='sheet-footer'\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot='sheet-title'\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot='sheet-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\nimport clsx from 'clsx'\nimport { usePathname } from 'next/navigation'\nimport NextLink from 'next/link'\n\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../components/Collapsible'\nimport { Icons } from '../components/Icons'\nimport { Link, NavigationSection, SidebarLinkProps } from '../types/types'\n\nfunction SidebarNavigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section, sectionIndex) => (\n <li key={sectionIndex}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <SidebarLink\n key={link.href}\n link={link}\n pathname={pathname}\n onLinkClick={onLinkClick || (() => {})}\n depth={1}\n />\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n\nfunction SidebarLink({ link, pathname, onLinkClick, depth }: SidebarLinkProps) {\n const hasChildren = Array.isArray(link.links) && link.links.length > 0\n const isActive = pathname === link.href\n\n const baseLinkClasses = clsx(\n 'border-l border-transparent pl-4 pr-2 text-base/8 sm:text-sm/6 w-full text-left py-1 rounded-r-md cursor-pointer',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold hover:bg-primary-800/10',\n 'dark:text-nsw-grey-400 dark:hover:border-nsw-grey-400 dark:hover:text-white',\n isActive &&\n 'border-primary text-primary font-bold dark:border-white bg-nsw-sky-100 dark:bg-nsw-sky-900/20',\n )\n\n return (\n <li className='-ml-px flex flex-col items-start gap-1'>\n {hasChildren ? (\n <Collapsible className='w-full' defaultOpen={isActive}>\n <CollapsibleTrigger asChild>\n <button\n className={clsx(baseLinkClasses, 'group flex items-center justify-between gap-1')}\n >\n <span>{link.title}</span>\n <Icons.chevron_right\n className={clsx(\n 'ml-2 size-5 transition-transform duration-200',\n 'group-data-[state=open]:rotate-90',\n )}\n />\n </button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <ul\n className={clsx(\n 'border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0',\n )}\n >\n {link.links &&\n link.links.map((childLink: Link) => (\n <SidebarLink\n key={childLink.href}\n link={childLink}\n pathname={pathname}\n onLinkClick={onLinkClick}\n depth={depth + 1}\n />\n ))}\n </ul>\n </CollapsibleContent>\n </Collapsible>\n ) : (\n <NextLink href={link.href} onClick={onLinkClick} className={baseLinkClasses}>\n {link.title}\n </NextLink>\n )}\n </li>\n )\n}\n\nexport { SidebarNavigation, SidebarLink }\n","import * as React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { cn } from '@/lib/utils'\nimport { Icons } from '@/components/Icons'\n\n// Define the type for the step\ninterface Step {\n title: string\n description?: string\n href: string\n status?:\n | 'default'\n | 'completed'\n | 'saved'\n | 'in-progress'\n | 'error'\n | 'not-started'\n | 'cannot-start'\n}\n\n// Define the type for the component props\ninterface StepIndicatorProps extends React.HTMLAttributes<HTMLUListElement> {\n array: Step[]\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nconst StepIndicator = React.forwardRef<HTMLUListElement, StepIndicatorProps>(\n ({ className, array, onLinkClick, ...props }, ref) => {\n const pathname = usePathname()\n\n return (\n <ul role='list' ref={ref} className={cn('w-full', className)} {...props}>\n {array.map((step, stepIdx) => (\n <li\n key={step.title}\n className={clsx(stepIdx !== array.length - 1 ? 'pb-3' : '', 'relative')}\n >\n {step.href === pathname &&\n !(\n step.status === 'completed' ||\n step.status === 'error' ||\n step.status === 'saved' ||\n step.status === 'cannot-start'\n ) ? (\n <>\n {step.status === 'in-progress' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='-ml-1 flex h-9 items-center'>\n <span className='border-primary-500 relative z-10 flex size-8 items-center justify-center rounded-full border-2 bg-white'>\n <span className='border-primary-500 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white'>\n <Icons.more_horiz\n aria-hidden='true'\n className='text-primary-500 size-4'\n />\n </span>\n </span>\n </span>\n <span className='ml-3 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n aria-current='step'\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span aria-hidden='true' className='flex h-9 items-center'>\n <span className='border-primary-500 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white'>\n <span className='bg-primary-500 size-2 rounded-full' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n )}\n </>\n ) : step.status === 'completed' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-success-500 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='bg-success-450 group-hover:bg-success-500 group-hover:border-success-550 relative z-10 flex size-6 items-center justify-center rounded-full'>\n <Icons.check aria-hidden='true' className='size-4 text-white' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'saved' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='border-success-450 group-hover:bg-success-450 text-success-450 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:text-white'>\n <Icons.check aria-hidden='true' className='size-4' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'in-progress' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='border-primary-500 group-hover:border-primary-550 group-hover:bg-primary-550 text-primary-500 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:text-white'>\n <Icons.more_horiz aria-hidden='true' className='size-4' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'error' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-danger-450 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='bg-danger-450 group-hover:bg-danger-500 group-hover:border-danger-500 relative z-10 flex size-6 items-center justify-center rounded-full'>\n <Icons.exclamation aria-hidden='true' className='size-4 text-white' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'not-started' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span aria-hidden='true' className='flex h-9 items-center'>\n <span className='border-grey-300 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:border-gray-400'>\n <span className='group-hover:bg-grey-300 size-2 rounded-full bg-transparent' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'cannot-start' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='bg-nsw-grey-600 group-hover:bg-nsw-grey-800 relative z-10 flex size-6 items-center justify-center rounded-full'>\n <Icons.remove aria-hidden='true' className='size-4 text-white' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span aria-hidden='true' className='flex h-9 items-center'>\n <span className='border-grey-300 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:border-gray-400'>\n <span className='group-hover:bg-grey-300 size-2 rounded-full bg-transparent' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n )}\n </li>\n ))}\n </ul>\n )\n },\n)\nStepIndicator.displayName = 'StepIndicator'\n\nexport { StepIndicator }\n","'use client'\n\nimport clsx from 'clsx'\nimport { useMemo } from 'react'\nimport { StepIndicator } from '../components/StepIndicator'\nimport { NavigationSection } from '../types/types'\nimport type { FormStatusHook } from '../lib/create-form-store'\n\ntype StepStatus =\n | 'completed'\n | 'saved'\n | 'in-progress'\n | 'error'\n | 'not-started'\n | 'cannot-start'\n | 'default'\n | undefined\n\nfunction defaultGetStatus(id: string, storeStatus: Record<string, string>): StepStatus {\n const status = storeStatus[id]\n if (\n status === 'completed' ||\n status === 'saved' ||\n status === 'in-progress' ||\n status === 'error' ||\n status === 'not-started' ||\n status === 'cannot-start' ||\n status === 'default'\n ) {\n return status\n }\n return 'default'\n}\n\ninterface StepNavigationProps {\n className?: string\n navigation: NavigationSection[]\n useFormStore: FormStatusHook\n getStatus?: (id: string, storeStatus: Record<string, string>) => StepStatus\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nexport function StepNavigation({\n className,\n navigation,\n useFormStore,\n getStatus = defaultGetStatus,\n}: StepNavigationProps) {\n const { formStatus } = useFormStore()\n\n const navigationWithStatus = useMemo(\n () =>\n navigation.map((section) => ({\n ...section,\n links: section.links.map((link) => ({\n ...link,\n status: getStatus(link.id ?? '', formStatus),\n })),\n })),\n [navigation, formStatus, getStatus],\n )\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='space-y-9'>\n {navigationWithStatus.map((section) => (\n <li key={section.title}>\n <h2 className='font-display font-medium text-slate-900 dark:text-white'>\n {section.title}\n </h2>\n <StepIndicator className='mt-2 lg:mt-4' array={section.links} />\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","import { cn } from '../lib/utils'\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='skeleton'\n className={cn('bg-primary-800/10 animate-pulse rounded-md', className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n","'use client'\n\nimport * as React from 'react'\nimport * as SliderPrimitive from '@radix-ui/react-slider'\n\nimport { cn } from '../lib/utils'\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () => (Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max]),\n [value, defaultValue, min, max],\n )\n\n return (\n <SliderPrimitive.Root\n data-slot='slider'\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n 'relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col',\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot='slider-track'\n className={cn(\n 'bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5',\n )}\n >\n <SliderPrimitive.Range\n data-slot='slider-range'\n className={cn(\n 'bg-primary-800 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full',\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot='slider-thumb'\n key={index}\n className='border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50'\n />\n ))}\n </SliderPrimitive.Root>\n )\n}\n\nexport { Slider }\n","'use client'\n\nimport { useTheme } from 'next-themes'\nimport { Toaster as Sonner, ToasterProps } from 'sonner'\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme()\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n className='toaster group'\n style={\n {\n '--normal-bg': 'var(--background)',\n '--normal-text': 'var(--foreground)',\n '--normal-border': 'var(--border)',\n } as React.CSSProperties\n }\n {...props}\n />\n )\n}\n\nexport { Toaster }\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\n\nconst theme = {\n size: {\n xs: 'h-3 w-3',\n sm: 'h-4 w-4',\n md: 'h-6 w-6',\n lg: 'h-8 w-8',\n xl: 'h-10 w-10',\n },\n}\n\ntype SpinnerProps = {\n className?: string\n size?: keyof typeof theme.size\n} & React.HTMLAttributes<HTMLSpanElement>\n\nfunction Spinner({ className, size = 'md', ...props }: SpinnerProps) {\n return (\n <span role='status' {...props}>\n <svg\n fill='none'\n viewBox='0 0 100 101'\n className={cn(\n 'text-grey-300 inline animate-spin',\n 'fill-primary-800',\n theme.size[size],\n className,\n )}\n >\n <path\n d='M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z'\n fill='currentColor'\n />\n <path\n d='M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z'\n fill='currentFill'\n />\n </svg>\n </span>\n )\n}\n\nexport { Spinner }\n","'use client'\n\nimport * as React from 'react'\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\n\nimport { cn } from '../lib/utils'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot='switch'\n className={cn(\n 'peer data-[state=checked]:bg-primary-800 data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot='switch-thumb'\n className={cn(\n 'bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n","'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div data-slot='table-container' className='relative w-full overflow-x-auto'>\n <table\n data-slot='table'\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n />\n </div>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot='table-header' className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return (\n <tbody\n data-slot='table-body'\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot='table-footer'\n className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot='table-row'\n className={cn(\n 'hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot='table-head'\n className={cn(\n 'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot='table-cell'\n className={cn(\n 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption\n data-slot='table-caption'\n className={cn('text-muted-foreground mt-4 text-sm', className)}\n {...props}\n />\n )\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption }\n","'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\nimport { TableOfContentsProps, TableOfContentsItem } from '../types/types'\n\nexport function TableOfContents({ tableOfContents }: TableOfContentsProps) {\n const [currentSection, setCurrentSection] = useState(tableOfContents[0]?.id)\n\n const getHeadings = useCallback((tableOfContents: TableOfContentsItem[]) => {\n return tableOfContents\n .flatMap((node) => [node.id, ...node.children.map((child) => child.id)])\n .map((id) => {\n const el = document.getElementById(id)\n if (!el) return null\n\n const style = window.getComputedStyle(el)\n const scrollMt = parseFloat(style.scrollMarginTop)\n\n const top = window.scrollY + el.getBoundingClientRect().top - scrollMt\n return { id, top }\n })\n .filter((x): x is { id: string; top: number } => x !== null)\n }, [])\n\n useEffect(() => {\n if (tableOfContents.length === 0) return\n const headings = getHeadings(tableOfContents)\n function onScroll() {\n const top = window.scrollY\n let current = headings[0].id\n for (const heading of headings) {\n if (top >= heading.top - 10) {\n current = heading.id\n } else {\n break\n }\n }\n setCurrentSection(current)\n }\n window.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [getHeadings, tableOfContents])\n\n function isActive(section: TableOfContentsItem) {\n if (section.id === currentSection) {\n return true\n }\n if (!section.children) {\n return false\n }\n return section.children.findIndex(isActive) > -1\n }\n\n return (\n <div className='hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6'>\n <nav aria-labelledby='on-this-page-title' className='w-56'>\n {tableOfContents.length > 0 && (\n <>\n <h2\n id='on-this-page-title'\n className='font-display text-sm font-medium text-slate-900 dark:text-white'\n >\n On this page\n </h2>\n <ol role='list' className='mt-4 space-y-3 text-sm'>\n {tableOfContents.map((section) => (\n <li key={section.id}>\n <h3>\n <Link\n href={`#${section.id}`}\n className={clsx(\n isActive(section)\n ? 'text-primary font-semibold'\n : 'font-normal text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300',\n )}\n >\n {section.title}\n </Link>\n </h3>\n {section.children.length > 0 && (\n <ol\n role='list'\n className='mt-2 space-y-3 pl-5 text-slate-500 dark:text-slate-400'\n >\n {section.children.map((subSection) => (\n <li key={subSection.id}>\n <Link\n href={`#${subSection.id}`}\n className={\n isActive(subSection)\n ? 'text-primary-750 font-semibold'\n : 'hover:text-slate-600 dark:hover:text-slate-300'\n }\n >\n {subSection.title}\n </Link>\n </li>\n ))}\n </ol>\n )}\n </li>\n ))}\n </ol>\n </>\n )}\n </nav>\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\n\nimport { cn } from '@/lib/utils'\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n )\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <div className='bg-background border-b border-gray-200'>\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n [\n // Base\n '-mb-px flex',\n // Dark mode\n '',\n ],\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n [\n // Base\n 'text-nsw-grey-800 cursor-pointer border-b-1 border-transparent p-4 text-base font-medium whitespace-nowrap',\n // Focus\n 'focus:z-10',\n // Active\n 'data-[state=active]:border-accent',\n // Hover\n 'hover:bg-nsw-grey-100 hover:text-nsw-grey-850',\n // Dark mode\n 'dark:text-white',\n // Dark mode hover\n 'dark:hover:bg-white/10 dark:hover:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import clsx from 'clsx'\nimport { Link } from '../components/Link'\n\ntype BaseProps = React.ComponentPropsWithoutRef<'p'>\n\ntype TextProps =\n | ({\n label?: false\n size?: 1 | 2 | 3 | 4\n trim?: 'normal' | 'start' | 'end' | 'both'\n } & BaseProps)\n | ({\n label: true\n size?: 1 | 2 | 3 | 4\n trim?: 'normal' | 'start' | 'end' | 'both'\n } & BaseProps)\n\nexport function Text({ className, trim = 'normal', size = 2, label = false, ...props }: TextProps) {\n const textSizeClasses = {\n 1: 'text-[length:var(--font-size-1)] leading-[var(--line-height-28)] tracking-[var(--letter-spacing-0)]',\n 2: 'text-[length:var(--font-size-2)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]',\n 3: 'text-[length:var(--font-size-3)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]',\n 4: 'text-[length:var(--font-size-4)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]',\n } as const\n\n const labelSizeClasses = {\n 1: 'text-[length:var(--font-size-1)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]',\n 2: 'text-[length:var(--font-size-2)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]',\n 3: 'text-[length:var(--font-size-3)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]',\n 4: 'text-[length:var(--font-size-4)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]',\n } as const\n\n const sizeClass = label\n ? labelSizeClasses[size as 1 | 2 | 3 | 4]\n : textSizeClasses[size as 1 | 2 | 3 | 4]\n\n const trimClasses = {\n normal: ['before:content-none after:content-none'],\n start: [\n 'before:content-[\"\"] before:table after:content-none',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n end: [\n 'before:content-none after:content-[\"\"] after:table',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n both: [\n 'before:content-[\"\"] before:table after:content-[\"\"] after:table',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n }\n\n return (\n <p\n data-slot='text'\n {...props}\n className={clsx(className, trimClasses[trim], 'text-grey-800 dark:text-grey-400', sizeClass)}\n />\n )\n}\n\nexport function TextLink({ className, ...props }: React.ComponentPropsWithoutRef<typeof Link>) {\n return (\n <Link\n {...props}\n className={clsx(\n className,\n 'text-primary-800 decoration-primary-800/50 data-hover:decoration-primary-800 underline dark:text-white dark:decoration-white/50 dark:data-hover:decoration-white',\n )}\n />\n )\n}\n\nexport function Strong({ className, ...props }: React.ComponentPropsWithoutRef<'strong'>) {\n return (\n <strong {...props} className={clsx(className, 'text-grey-950 font-medium dark:text-white')} />\n )\n}\n\nexport function Code({ className, ...props }: React.ComponentPropsWithoutRef<'code'>) {\n return (\n <code\n {...props}\n className={clsx(\n className,\n 'border-grey-950/10 bg-grey-950/[2.5%] text-grey-950 rounded-sm border px-0.5 text-sm font-medium sm:text-[0.8125rem] dark:border-white/20 dark:bg-white/5 dark:text-white',\n )}\n />\n )\n}\n","import * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot='textarea'\n className={cn(\n 'border-nsw-grey-200 placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n","'use client'\n\nimport { Icons } from '../components/Icons'\nimport { ToggleGroup, ToggleGroupItem } from '../components/ToggleGroup'\nimport { ViewMode, ViewToggleProps } from '../types/types'\n\nexport function ViewToggle({ viewMode, setViewMode }: ViewToggleProps) {\n return (\n <div className='flex items-center gap-2'>\n <span className='text-sm font-medium'>View:</span>\n <ToggleGroup\n type='single'\n value={viewMode}\n onValueChange={(value) => value && setViewMode(value as ViewMode)}\n >\n <ToggleGroupItem value='grid' aria-label='Grid view'>\n <Icons.grid_view />\n </ToggleGroupItem>\n <ToggleGroupItem value='list' aria-label='List view'>\n <Icons.list />\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n )\n}\n","'use client'\n\nimport { useState, useMemo, useEffect } from 'react'\n\nimport { colorThemes, colors, brand, aboriginal } from '../lib/color-palette'\nimport { Format, ViewMode, ThemeOption, ThemeCategory } from '../types/types'\n\nimport { ColourScale } from '../components/ColourScale'\nimport { BaseColorSwatches } from '../components/BaseColorSwatches'\nimport { ColorSwatches } from '../components/ColorSwatches'\nimport { ViewToggle } from '../components/ViewToggle'\nimport { FormatToggle } from '../components/FormatToggle'\nimport { ThemeSelector } from '../components/ThemeSelector'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n} from '../components/Sheet'\n\nexport function ThemeColorPalette() {\n const baseColors = {\n brand: brand,\n aboriginal: aboriginal,\n }\n const [format, setFormat] = useState<Format>('hex')\n const [viewMode, setViewMode] = useState<ViewMode>('grid')\n const [themeCategory, setThemeCategory] = useState<ThemeCategory>('brand')\n const [primaryColor, setPrimaryColor] = useState<ThemeOption>('blue')\n const [accentColor, setAccentColor] = useState<ThemeOption>('red')\n const [greyColor, setGreyColor] = useState<ThemeOption>('grey')\n const [sheetOpen, setSheetOpen] = useState(false)\n\n const filteredColorThemes = useMemo(() => {\n const filtered = {} as typeof colorThemes\n\n for (const category of Object.keys(colorThemes) as ThemeCategory[]) {\n filtered[category] = Object.fromEntries(\n Object.entries(colorThemes[category]).filter(\n ([key]) => !key.toLowerCase().includes('grey'),\n ),\n )\n }\n\n return filtered\n }, [])\n\n const availableAccentColors = useMemo(() => {\n const allColors = Object.keys(filteredColorThemes[themeCategory])\n return allColors.filter((color) => color !== primaryColor)\n }, [filteredColorThemes, themeCategory, primaryColor])\n\n useEffect(() => {\n const neutralKey =\n Object.keys(colorThemes[themeCategory]).find((k) => k.toLowerCase().includes('grey')) ?? ''\n\n if (neutralKey && neutralKey !== greyColor) {\n setGreyColor(neutralKey)\n }\n const availableColors = Object.keys(colorThemes[themeCategory])\n\n if (!availableColors.includes(primaryColor)) {\n setPrimaryColor(availableColors[0])\n if (availableColors.length > 1) {\n setAccentColor(availableColors[1])\n }\n return\n }\n\n if (accentColor === primaryColor || !availableColors.includes(accentColor)) {\n const newAccentColor = availableColors.find((color) => color !== primaryColor)\n if (newAccentColor) {\n setAccentColor(newAccentColor)\n }\n }\n }, [themeCategory, primaryColor, accentColor, greyColor])\n\n const currentColorPalette = useMemo(() => {\n if (\n !colorThemes[themeCategory] ||\n !colorThemes[themeCategory][primaryColor] ||\n !colorThemes[themeCategory][accentColor]\n ) {\n return [\n {\n name: 'Primary',\n colors: [],\n },\n {\n name: 'Accent',\n colors: [],\n },\n {\n name: 'Grey',\n colors: [],\n },\n ]\n }\n\n return [\n {\n name: 'Primary',\n colors: colors[themeCategory][primaryColor].colors,\n },\n {\n name: 'Accent',\n colors: colors[themeCategory][accentColor].colors,\n },\n colors[themeCategory].grey,\n ]\n }, [themeCategory, primaryColor, accentColor])\n\n const primaryColorSwatch = colorThemes[themeCategory][primaryColor]?.colors[3]?.hex || '#000000'\n const accentColorSwatch = colorThemes[themeCategory][accentColor]?.colors[2]?.hex || '#000000'\n\n return (\n <div className='space-y-8'>\n <div className='flex flex-col items-center justify-between gap-4 sm:flex-row'>\n <div className='flex flex-col items-center gap-4 sm:flex-row'>\n <ViewToggle viewMode={viewMode} setViewMode={setViewMode} />\n <FormatToggle format={format} setFormat={setFormat} />\n </div>\n\n <Sheet open={sheetOpen} onOpenChange={setSheetOpen}>\n <SheetTrigger asChild>\n <Button variant='outline'>\n <Icons.palette />\n <span>Theme</span>\n <div className='ml-2 flex gap-1'>\n <div\n className='h-3 w-3 rounded-full'\n style={{ backgroundColor: primaryColorSwatch }}\n />\n <div\n className='h-3 w-3 rounded-full'\n style={{ backgroundColor: accentColorSwatch }}\n />\n </div>\n </Button>\n </SheetTrigger>\n <SheetContent className='overflow-y-auto p-6 sm:max-w-md'>\n <SheetHeader className='p-0'>\n <SheetTitle className='text-primary-800 text-lg font-semibold'>\n Theme Settings\n </SheetTitle>\n <SheetDescription>\n Choose your primary and accent colors to customize the palette.\n </SheetDescription>\n </SheetHeader>\n <div className=''>\n <ThemeSelector\n themeCategory={themeCategory}\n setThemeCategory={setThemeCategory}\n primaryColor={primaryColor}\n setPrimaryColor={setPrimaryColor}\n accentColor={accentColor}\n setAccentColor={setAccentColor}\n greyColor={greyColor}\n setGreyColor={setGreyColor}\n availableAccentColors={availableAccentColors}\n colorThemes={filteredColorThemes}\n />\n </div>\n </SheetContent>\n </Sheet>\n </div>\n\n <div className='space-y-12'>\n {currentColorPalette.map((theme) => {\n const baseKey =\n theme.name === 'Primary' ? primaryColor : theme.name === 'Accent' ? accentColor : 'grey'\n\n return (\n <div key={theme.name} className='space-y-4'>\n <h2 className='text-2xl font-semibold'>{theme.name}</h2>\n\n <BaseColorSwatches baseColors={baseColors[themeCategory][baseKey]} format={format} />\n\n <ColourScale colorsToUse={theme.colors} />\n <ColorSwatches theme={theme.colors} format={format} viewMode={viewMode} />\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n","'use client'\n\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from 'next-themes'\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","'use client'\n\nimport { createContext, useContext, useState, ReactNode } from 'react'\nimport { TocContextType } from '../types/types'\n\nconst TocContext = createContext<TocContextType>({\n toc: true,\n setToc: () => {},\n})\n\nfunction TocProvider({ children }: { children: ReactNode }) {\n const [toc, setToc] = useState(true)\n return <TocContext.Provider value={{ toc, setToc }}>{children}</TocContext.Provider>\n}\n\nfunction useToc() {\n return useContext(TocContext)\n}\n\nexport { useToc, TocContext, TocProvider }\n","import { slugifyWithCounter } from '@sindresorhus/slugify'\nimport { SimpleNode, HeadingNode } from '../types/types'\n\nexport function getNodeText(node: HTMLElement | SimpleNode): string {\n let text = ''\n\n for (const child of node.children ?? []) {\n if ('type' in child && child.type === 'text') {\n text += child.attributes?.content ?? ''\n } else if (child instanceof HTMLElement) {\n text += getNodeText(child)\n }\n }\n\n return text\n}\n\nexport function domToSimple(node: Node): SimpleNode {\n if (node.nodeType === Node.TEXT_NODE) {\n return {\n type: 'text',\n attributes: {\n content: node.textContent ?? undefined,\n },\n }\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n return {\n type: node.nodeName.toLowerCase(),\n attributes: {},\n children: Array.from(node.childNodes).map(domToSimple),\n }\n }\n\n if (node.nodeType === Node.COMMENT_NODE) {\n return {\n type: 'comment',\n attributes: {},\n }\n }\n\n throw new Error('Unsupported node type')\n}\n\nexport function getHeadings(slugify = slugifyWithCounter()) {\n const content = document.querySelector('article')\n if (!content) {\n return []\n }\n const headings = Array.from(content.querySelectorAll('h2, h3, h4, h5, h6'))\n\n const result: HeadingNode[] = []\n const stack: HeadingNode[] = []\n\n headings.forEach((el) => {\n const simplifiedNode = domToSimple(el)\n const title = getNodeText(simplifiedNode).trim()\n const slugifiedTitle = slugify(title)\n const id = el.id || slugifiedTitle\n\n const level = parseInt(el.tagName[1])\n const node = { level, id, title, children: [] }\n\n if (!el.id) el.id = id\n\n if (level === 2) {\n result.push(node)\n stack.length = 0\n stack.push(node)\n } else {\n while (stack.length && stack[stack.length - 1].level >= level) {\n stack.pop()\n }\n if (stack.length) {\n stack[stack.length - 1].children.push(node)\n }\n stack.push(node)\n }\n })\n\n return result\n}\n","// lib/createFormStore.ts\nimport { create } from 'zustand'\nimport { persist, createJSONStorage } from 'zustand/middleware'\nimport type { FormStatus } from '@/types/form'\n\nexport interface FormStore<FD extends Record<string, unknown>> {\n formData: FD\n formStatus: Record<keyof FD & string, FormStatus>\n isLoading: boolean\n updateFormData: <K extends keyof FD>(page: K, data: Partial<FD[K]>) => void\n updateFormStatus: (page: keyof FD & string, status: FormStatus) => void\n resetForm: () => void\n setIsLoading: (loading: boolean) => void\n}\n\nexport function createFormStore<FD extends Record<string, unknown>>(opts: {\n storageKey: string\n initialFormData: FD\n initialFormStatus: Record<keyof FD & string, FormStatus>\n}) {\n const { storageKey, initialFormData, initialFormStatus } = opts\n\n return create<FormStore<FD>>()(\n persist(\n (set) => ({\n formData: initialFormData,\n formStatus: initialFormStatus,\n isLoading: true,\n updateFormData: (page, data) =>\n set((state) => ({\n formData: {\n ...state.formData,\n [page]: { ...(state.formData[page] || {}), ...data },\n },\n })),\n updateFormStatus: (page, status) =>\n set((state) => ({\n formStatus: { ...state.formStatus, [page]: status },\n })),\n resetForm: () => set({ formData: initialFormData, formStatus: initialFormStatus }),\n setIsLoading: (loading) => set({ isLoading: loading }),\n }),\n {\n name: storageKey,\n storage: createJSONStorage(() => localStorage),\n onRehydrateStorage: () => (state) => {\n state?.setIsLoading(false)\n },\n },\n ),\n )\n}\n\nexport type FormStatusHook = () => { formStatus: Record<string, FormStatus> }\n","import { Dispatch, SetStateAction } from 'react'\n\nexport type IconProps = React.HTMLAttributes<SVGElement>\n\nexport interface LayoutProps {\n children: React.ReactNode\n sitename?: string\n toc?: boolean\n}\n\n// Types for colors and palettes\nexport type Format = 'hex' | 'oklch' | 'hsl' | 'rgb'\nexport type Variant = 'shades' | 'theme'\nexport type Output = 'css' | 'ts' | 'scss' | 'less' | 'tailwind' | 'json' | 'json-DTFM' | 'js'\nexport type ViewMode = 'grid' | 'list'\nexport type DataType = 'css' | 'scss' | 'less' | 'tailwind' | 'json' | 'json-DTFM' | 'js'\nexport type ThemeCategory = 'brand' | 'aboriginal'\nexport type ThemeOption = string\n\nexport type ColorProperty = {\n value: string | { colorSpace: string; channels: number[]; alpha: number }\n type: 'color'\n}\n\nexport type Palette = {\n baseColors: string[]\n name: string\n themeColor?: string\n}\n\nexport interface ColourScaleProps {\n colorsToUse: ColorData[]\n}\n\nexport type colorCategories = {\n name: string\n colors: {\n token: string\n oklch: string\n hex: string\n rgb: string\n hsl: string\n name?: string\n }[]\n}\n\nexport type ColorThemes = {\n [key: string]: {\n [key: string]: colorCategories\n }\n}\n\nexport type ColorTheme = {\n [key: string]: {\n name: string\n colors: {\n token: string\n oklch: string\n hex: string\n rgb: string\n hsl: string\n name?: string\n }[]\n }\n}\n\nexport interface ColorCardProps {\n name: string\n token: string\n hex: string\n rgb: string\n hsl: string\n oklch: string\n format: 'hex' | 'rgb' | 'hsl' | 'oklch'\n viewMode: 'grid' | 'list'\n}\n\nexport interface ViewToggleProps {\n viewMode: ViewMode\n setViewMode: (mode: ViewMode) => void\n}\n\nexport interface Color {\n token: string\n oklch: string\n hex: string\n rgb: string\n hsl: string\n name?: string\n}\n\nexport interface ColorData {\n oklch: string\n hex: string\n rgb: string\n hsl: string\n [key: string]: string\n}\n\nexport interface ColorsDisplayProps {\n colorCategories?: colorCategories[]\n baseColors?: string[]\n themeColor?: string | undefined\n colorsToUse: ColorData[]\n paletteName: string\n variant: Variant\n format: Format\n viewMode: ViewMode\n}\n\nexport interface ColorSwatchesProps {\n theme: Color[]\n format: Format\n viewMode: ViewMode\n}\n\nexport interface ColourOutputProps {\n colorCategories: colorCategories[]\n colorsToUse: ColorData[]\n paletteName: string\n format: Format\n output: Output\n variant: Variant\n}\n\nexport interface ThemeSelectorProps {\n themeCategory: ThemeCategory\n setThemeCategory: (category: ThemeCategory) => void\n primaryColor: string\n setPrimaryColor: (color: string) => void\n accentColor: string\n setAccentColor: (color: string) => void\n greyColor: string\n setGreyColor: (color: string) => void\n availableAccentColors: string[]\n colorThemes: ColorThemes\n}\n\nexport interface DesignTokensShades {\n [paletteName: string]: {\n [shade: string]: {\n $type: 'color'\n $value:\n | string\n | {\n colorSpace: string\n channels: number[]\n alpha: number\n }\n }\n }\n}\n\nexport interface StructuredColor {\n colorSpace: string\n channels: number[]\n alpha: number\n}\n\nexport interface DesignTokensTheme {\n [paletteName: string]: {\n value: string | StructuredColor\n type: 'color'\n variants: Record<string, { value: string | StructuredColor; type: 'color' }>\n }\n}\n\n// Format toggle types\nexport interface FormatToggleProps {\n format: Format\n setFormat: (format: Format) => void\n}\n\nexport interface DataTypeSelectProps {\n dataType: DataType\n setDataType: (format: DataType) => void\n}\n\n// Table of contents types\nexport type TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\nexport type TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\n\nexport interface TocContextType {\n toc: boolean\n setToc: Dispatch<SetStateAction<boolean>>\n}\n\nexport type SimpleNode = {\n type: string\n attributes: {\n content?: string\n [key: string]: string | number | boolean | undefined\n }\n children?: SimpleNode[]\n}\n\nexport type HeadingNode = {\n level: number\n id: string\n title: string\n children: HeadingNode[]\n}\n\n// Navigation types\nexport type Link = {\n href: string\n title: string\n links?: Link[]\n}\n\nexport type NavigationLink = {\n id?: string\n title: string\n href: string\n links?: NavigationLink[]\n}\n\nexport type NavigationSection = {\n title: string\n links: NavigationLink[]\n}\n\nexport interface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport type SidebarLinkProps = {\n link: Link\n pathname: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n depth: number\n}\n\nexport interface BreadcrumbsProps {\n homeLabel?: string\n /**\n * Custom labels for specific paths\n * e.g. { \"/dashboard\": \"Control Panel\", \"/users/[id]\": \"User Profile\" }\n */\n pathLabels?: Record<string, string>\n /**\n * Whether to show the home breadcrumb\n */\n showHome?: boolean\n /**\n * Whether to transform path segments to title case (e.g., \"my-page\" -> \"My Page\")\n */\n transformLabel?: boolean\n /**\n * Maximum number of items to show before collapsing into dropdown\n */\n maxItems?: number\n /**\n * Force showing breadcrumbs even on home page\n */\n forceShow?: boolean\n /**\n * Override the current path (for demonstration purposes)\n */\n demoPath?: string\n}\n\n// Code block types\nexport type View = 'desktop' | 'tablet' | 'mobile'\n\nexport const languages = [\n 'bash',\n 'css',\n 'javascript',\n 'js',\n 'json',\n 'jsx',\n 'ts',\n 'tsx',\n 'typescript',\n 'html',\n] as const\n\nexport type Language = (typeof languages)[number]\n\nexport type IFrameData = number | IFrameOptions\n\nexport interface IFrameOptions {\n src: string\n width?: number | undefined\n height: number\n noPadding?: boolean\n}\n\nexport interface BaseCodeData<T extends 'single' | 'variant'> {\n type: T\n githubSlug: string\n component: React.ReactNode\n}\n\nexport interface VariantCodeData<V extends Variants> extends BaseCodeData<'variant'> {\n variant: V\n code: CodeVariant<V>\n labels?: Record<string, string>\n iframe?: IFrameData | IFrameMap<V>\n}\n\nexport interface SingleCodeData extends BaseCodeData<'single'> {\n code: Code\n iframe?: IFrameData\n}\n\nexport interface CodeItem {\n fileName: string\n language: Language\n code: string\n}\n\nexport type Variants = string\nexport type CodeVariant<V extends Variants> = Record<V, Code>\nexport type Code = CodeItem | [CodeItem, ...CodeItem[]]\n\nexport type CodeData<V extends Variants = Variants> = SingleCodeData | VariantCodeData<V>\n\nexport interface CodeDemoProps {\n data: CodeData\n hide?: {\n rtl?: boolean\n darkMode?: boolean\n themeSelector?: boolean\n }\n}\n\nexport interface CodeHighlightProps extends React.ComponentProps<'pre'> {\n code: string\n language: Language\n withCopy?: boolean\n}\n\nexport type ThemeMessage = {\n type: 'nswds-theme'\n payload: {\n [key: string]: string\n }\n}\n\nexport type IFrameProps = {\n iframe: IFrameData\n isRTL: boolean\n isDarkMode: boolean | null\n sandbox?: string\n}\n\nexport interface ThemeSelectorDropDownProps {\n themeCategory: ThemeCategory\n setThemeCategory: (category: ThemeCategory) => void\n primaryColor: string\n setPrimaryColor: (color: string) => void\n accentColor: string\n setAccentColor: (color: string) => void\n greyColor: string\n setGreyColor: (color: string) => void\n}\n\nexport type IFrameMap<V extends Variants = Variants> = Record<V, IFrameOptions>\n\n// Typography types\nexport interface TypeSpecs {\n size: string\n lineHeight: string\n letterSpacing: string\n}\n\nexport interface HeadingTypeProps {\n trim: 'normal' | 'start' | 'end' | 'both'\n size: 1 | 2 | 3 | 4 | 5 | 6\n level: 1 | 2 | 3 | 4 | 5 | 6\n display: boolean\n}\n\nexport interface TextTypeProps {\n trim: 'normal' | 'start' | 'end' | 'both'\n size: 1 | 2 | 3 | 4\n level: 1 | 2 | 3 | 4\n label: boolean\n}\n\nexport type TypeExampleProps =\n | { name: string; specs: TypeSpecs; typeProps: HeadingTypeProps }\n | { name: string; specs: TypeSpecs; typeProps: TextTypeProps }\n\n// Form types\nexport type FormStatus =\n | 'completed'\n | 'saved'\n | 'in-progress'\n | 'error'\n | 'not-started'\n | 'cannot-start'\n"]}
1
+ {"version":3,"sources":["../src/components/Icons.tsx","../src/lib/utils.ts","../src/components/Accordion.tsx","../src/components/Alert.tsx","../src/components/AspectRatio.tsx","../src/components/Avatar.tsx","../src/components/Link.tsx","../src/components/Button.tsx","../src/components/Badge.tsx","../src/lib/colors.ts","../src/components/BaseColorSwatches.tsx","../src/components/Breadcrumb.tsx","../src/components/DropdownMenu.tsx","../src/components/Breadcrumbs.tsx","../src/components/Card.tsx","../src/components/Checkbox.tsx","../src/components/Social.tsx","../src/components/Tooltip.tsx","../src/components/PreWithCopy.tsx","../src/components/CodeHighlight.tsx","../src/components/Select.tsx","../src/components/Popover.tsx","../src/components/Label.tsx","../src/components/RadioGroup.tsx","../src/components/SegmentedControl.tsx","../src/components/ThemeSelector.tsx","../src/lib/color-palette.ts","../src/components/CodeDemo.tsx","../src/components/Collapsible.tsx","../src/components/ColorCard.tsx","../src/components/ColourScale.tsx","../src/components/ColorSwatches.tsx","../src/components/Dialog.tsx","../src/components/Command.tsx","../src/components/ContextMenu.tsx","../src/components/Drawer.tsx","../src/components/DynamicFavicon.tsx","../src/components/ExpandableSearch.tsx","../src/components/Separator.tsx","../src/components/Footer.tsx","../src/components/Form.tsx","../src/components/Toggle.tsx","../src/components/ToggleGroup.tsx","../src/components/FormatToggle.tsx","../src/components/Heading.tsx","../package.json","../src/components/Logo.tsx","../src/components/ThemeSwitcher.tsx","../src/components/SiteSearch.tsx","../src/components/Header.tsx","../src/components/Input.tsx","../src/components/List.tsx","../src/components/Masthead.tsx","../src/components/Menubar.tsx","../src/components/Navigation.tsx","../src/components/NavigationMenu.tsx","../src/components/Pagination.tsx","../src/components/PrevNextLinks.tsx","../src/components/Progress.tsx","../src/components/Resizable.tsx","../src/components/ScrollArea.tsx","../src/components/Sheet.tsx","../src/components/SidebarNavigation.tsx","../src/components/StepIndicator.tsx","../src/components/StepNavigation.tsx","../src/components/Skeleton.tsx","../src/components/Slider.tsx","../src/components/Sonner.tsx","../src/components/Spinner.tsx","../src/components/Switch.tsx","../src/components/Table.tsx","../src/components/TableOfContents.tsx","../src/components/Tabs.tsx","../src/components/Text.tsx","../src/components/Textarea.tsx","../src/components/ViewToggle.tsx","../src/components/ThemeColorPalette.tsx","../src/components/ThemeProvider.tsx","../src/components/TocProvider.tsx","../src/lib/sections.ts","../src/lib/create-form-store.ts","../src/types/types.ts"],"names":["jsx","twMerge","clsx","AccordionPrimitive","jsxs","cva","AspectRatioPrimitive","AvatarPrimitive","forwardRef","Link","Headless","NextLink","Button","Headless2","Fragment","styles","BadgeButton","Headless3","culori","colors","colorThemes","culori2","Slot","DropdownMenuPrimitive","usePathname","React4","CheckboxPrimitive","TooltipPrimitive","useRef","useState","Prism","SelectPrimitive","PopoverPrimitive","Label","LabelPrimitive","RadioGroup","RadioGroupPrimitive","TabsPrimitive","theme","useTheme","useEffect","React","data","variant","code","document","useMemo","Icon","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","rgb","oklch","useCopyToClipboard","toast","DialogPrimitive","CommandPrimitive","ContextMenuPrimitive","DrawerPrimitive","React6","Separator","SeparatorPrimitive","FormProvider","React7","Controller","useFormContext","useFormState","TogglePrimitive","React8","ToggleGroupPrimitive","navigation","React9","useRouter","open","page","Header","cn","List","React10","MenubarPrimitive","NavigationMenuPrimitive","ProgressPrimitive","ResizablePrimitive","ScrollAreaPrimitive","SheetPrimitive","React11","React12","SliderPrimitive","Sonner","SwitchPrimitive","getHeadings","useCallback","tableOfContents","Tabs","TabsPrimitive2","NextThemesProvider","createContext","useContext","slugify","slugifyWithCounter","create","persist","createJSONStorage"],"mappings":"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","file":"index.cjs","sourcesContent":["import { IconProps } from '../types/types'\n\nexport const Icons = {\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z' />\n </svg>\n ),\n add: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M440-440H240q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h200v-200q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v200h200q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H520v200q0 17-11.5 28.5T480-200q-17 0-28.5-11.5T440-240v-200Z' />\n </svg>\n ),\n attach_file: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-330q0-17 11.5-28.5T400-720q17 0 28.5 11.5T440-680v330q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-350q0-17 11.5-28.5T680-720q17 0 28.5 11.5T720-680v350Z' />\n </svg>\n ),\n calendar_month: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-40q0-17 11.5-28.5T280-880q17 0 28.5 11.5T320-840v40h320v-40q0-17 11.5-28.5T680-880q17 0 28.5 11.5T720-840v40h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-160 0q-17 0-28.5-11.5T280-440q0-17 11.5-28.5T320-480q17 0 28.5 11.5T360-440q0 17-11.5 28.5T320-400Zm320 0q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-160 0q-17 0-28.5-11.5T280-280q0-17 11.5-28.5T320-320q17 0 28.5 11.5T360-280q0 17-11.5 28.5T320-240Zm320 0q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z' />\n </svg>\n ),\n calendar_today: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-40q0-17 11.5-28.5T280-880q17 0 28.5 11.5T320-840v40h320v-40q0-17 11.5-28.5T680-880q17 0 28.5 11.5T720-840v40h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Z' />\n </svg>\n ),\n cancel: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check_circle: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z' />\n </svg>\n ),\n chevron_down: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z' />\n </svg>\n ),\n chevron_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m432-480 156 156q11 11 11 28t-11 28q-11 11-28 11t-28-11L348-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 28-11t28 11q11 11 11 28t-11 28L432-480Z' />\n </svg>\n ),\n chevron_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z' />\n </svg>\n ),\n chevron_up: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z' />\n </svg>\n ),\n circle: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n close: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z' />\n </svg>\n ),\n collapse_all: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-264 324-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l155-155q23-23 57-23t57 23l155 155q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-264Zm0-432 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L537-641q-23 23-57 23t-57-23L268-796q-11-11-11-28t11-28q11-11 28-11t28 11l156 156Z' />\n </svg>\n ),\n computer: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M80-120q-17 0-28.5-11.5T40-160q0-17 11.5-28.5T80-200h800q17 0 28.5 11.5T920-160q0 17-11.5 28.5T880-120H80Zm80-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n contrast: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm40-83q119-15 199.5-104.5T800-480q0-123-80.5-212.5T520-797v634Z' />\n </svg>\n ),\n copy: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-520q0-17 11.5-28.5T160-720q17 0 28.5 11.5T200-680v520h400q17 0 28.5 11.5T640-120q0 17-11.5 28.5T600-80H200Zm160-240v-480 480Z' />\n </svg>\n ),\n dark_mode: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-120q-151 0-255.5-104.5T120-480q0-138 90-239.5T440-838q13-2 23 3.5t16 14.5q6 9 6.5 21t-7.5 23q-17 26-25.5 55t-8.5 61q0 90 63 153t153 63q31 0 61.5-9t54.5-25q11-7 22.5-6.5T819-479q10 5 15.5 15t3.5 24q-14 138-117.5 229T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z' />\n </svg>\n ),\n delete: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M280-120q-33 0-56.5-23.5T200-200v-520q-17 0-28.5-11.5T160-760q0-17 11.5-28.5T200-800h160q0-17 11.5-28.5T400-840h160q17 0 28.5 11.5T600-800h160q17 0 28.5 11.5T800-760q0 17-11.5 28.5T760-720v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM400-280q17 0 28.5-11.5T440-320v-280q0-17-11.5-28.5T400-640q-17 0-28.5 11.5T360-600v280q0 17 11.5 28.5T400-280Zm160 0q17 0 28.5-11.5T600-320v-280q0-17-11.5-28.5T560-640q-17 0-28.5 11.5T520-600v280q0 17 11.5 28.5T560-280ZM280-720v520-520Z' />\n </svg>\n ),\n desktop: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200v-80H160q-33 0-56.5-23.5T80-360v-400q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v400q0 33-23.5 56.5T800-280H560v80h40q17 0 28.5 11.5T640-160q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160q0-17 11.5-28.5T360-200h40ZM160-360h640v-400H160v400Zm0 0v-400 400Z' />\n </svg>\n ),\n display_settings: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M300-410v20q0 13 8.5 21.5T330-360q13 0 21.5-8.5T360-390v-100q0-13-8.5-21.5T330-520q-13 0-21.5 8.5T300-490v20h-30q-13 0-21.5 8.5T240-440q0 13 8.5 21.5T270-410h30Zm130 0h260q13 0 21.5-8.5T720-440q0-13-8.5-21.5T690-470H430q-13 0-21.5 8.5T400-440q0 13 8.5 21.5T430-410Zm230-160h30q13 0 21.5-8.5T720-600q0-13-8.5-21.5T690-630h-30v-20q0-13-8.5-21.5T630-680q-13 0-21.5 8.5T600-650v100q0 13 8.5 21.5T630-520q13 0 21.5-8.5T660-550v-20Zm-390 0h260q13 0 21.5-8.5T560-600q0-13-8.5-21.5T530-630H270q-13 0-21.5 8.5T240-600q0 13 8.5 21.5T270-570ZM160-200q-33 0-56.5-23.5T80-280v-480q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v480q0 33-23.5 56.5T800-200H640v40q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160v-40H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm440-80h120v-560H640v560Zm-80 0v-560H200v560h360Zm80 0h120-120Z' />\n </svg>\n ),\n dock_to_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z' />\n </svg>\n ),\n double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m313-480 155 156q11 11 11.5 27.5T468-268q-11 11-28 11t-28-11L228-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T468-692q11 11 11 28t-11 28L313-480Zm264 0 155 156q11 11 11.5 27.5T732-268q-11 11-28 11t-28-11L492-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T732-692q11 11 11 28t-11 28L577-480Z' />\n </svg>\n ),\n double_arrow_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M383-480 228-636q-11-11-11.5-27.5T228-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L284-268q-11 11-27.5 11.5T228-268q-11-11-11-28t11-28l155-156Zm264 0L492-636q-11-11-11.5-27.5T492-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L548-268q-11 11-27.5 11.5T492-268q-11-11-11-28t11-28l155-156Z' />\n </svg>\n ),\n download: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-337q-8 0-15-2.5t-13-8.5L308-492q-12-12-11.5-28t11.5-28q12-12 28.5-12.5T365-549l75 75v-286q0-17 11.5-28.5T480-800q17 0 28.5 11.5T520-760v286l75-75q12-12 28.5-11.5T652-548q11 12 11.5 28T652-492L508-348q-6 6-13 8.5t-15 2.5ZM240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Z' />\n </svg>\n ),\n drag_indicator: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M360-160q-33 0-56.5-23.5T280-240q0-33 23.5-56.5T360-320q33 0 56.5 23.5T440-240q0 33-23.5 56.5T360-160Zm240 0q-33 0-56.5-23.5T520-240q0-33 23.5-56.5T600-320q33 0 56.5 23.5T680-240q0 33-23.5 56.5T600-160ZM360-400q-33 0-56.5-23.5T280-480q0-33 23.5-56.5T360-560q33 0 56.5 23.5T440-480q0 33-23.5 56.5T360-400Zm240 0q-33 0-56.5-23.5T520-480q0-33 23.5-56.5T600-560q33 0 56.5 23.5T680-480q0 33-23.5 56.5T600-400ZM360-640q-33 0-56.5-23.5T280-720q0-33 23.5-56.5T360-800q33 0 56.5 23.5T440-720q0 33-23.5 56.5T360-640Zm240 0q-33 0-56.5-23.5T520-720q0-33 23.5-56.5T600-800q33 0 56.5 23.5T680-720q0 33-23.5 56.5T600-640Z' />\n </svg>\n ),\n east: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M727-440H120q-17 0-28.5-11.5T80-480q0-17 11.5-28.5T120-520h607L572-676q-11-11-11.5-27.5T572-732q11-11 28-11t28 11l224 224q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L628-228q-11 11-27.5 11T572-228q-12-12-12-28.5t12-28.5l155-155Z' />\n </svg>\n ),\n error: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm0-160q17 0 28.5-11.5T520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n exclamation: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-400q-17 0-28.5-11.5T440-440v-280q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v280q0 17-11.5 28.5T480-400Zm0 200q-17 0-28.5-11.5T440-240q0-17 11.5-28.5T480-280q17 0 28.5 11.5T520-240q0 17-11.5 28.5T480-200Z' />\n </svg>\n ),\n eye: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-72q-45 0-76.5-31.5T372-500q0-45 31.5-76.5T480-608q45 0 76.5 31.5T588-500q0 45-31.5 76.5T480-392Zm0 192q-134 0-244.5-72T61-462q-5-9-7.5-18.5T51-500q0-10 2.5-19.5T61-538q64-118 174.5-190T480-800q134 0 244.5 72T899-538q5 9 7.5 18.5T909-500q0 10-2.5 19.5T899-462q-64 118-174.5 190T480-200Zm0-300Zm0 220q113 0 207.5-59.5T832-500q-50-101-144.5-160.5T480-720q-113 0-207.5 59.5T128-500q50 101 144.5 160.5T480-280Z' />\n </svg>\n ),\n favorite: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-147q-14 0-28.5-5T426-168l-69-63q-106-97-191.5-192.5T80-634q0-94 63-157t157-63q53 0 100 22.5t80 61.5q33-39 80-61.5T660-854q94 0 157 63t63 157q0 115-85 211T602-230l-68 62q-11 11-25.5 16t-28.5 5Zm-38-543q-29-41-62-62.5T300-774q-60 0-100 40t-40 100q0 52 37 110.5T285.5-410q51.5 55 106 103t88.5 79q34-31 88.5-79t106-103Q726-465 763-523.5T800-634q0-60-40-100t-100-40q-47 0-80 21.5T518-690q-7 10-17 15t-21 5q-11 0-21-5t-17-15Zm38 189Z' />\n </svg>\n ),\n format_align_center: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Zm160-160q-17 0-28.5-11.5T280-320q0-17 11.5-28.5T320-360h320q17 0 28.5 11.5T680-320q0 17-11.5 28.5T640-280H320ZM160-440q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm160-160q-17 0-28.5-11.5T280-640q0-17 11.5-28.5T320-680h320q17 0 28.5 11.5T680-640q0 17-11.5 28.5T640-600H320ZM160-760q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Z' />\n </svg>\n ),\n format_align_justify: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Zm0-160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360h640q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H160Zm0-160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-160q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680h640q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600H160Zm0-160q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Z' />\n </svg>\n ),\n format_align_left: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Zm0-160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360h400q17 0 28.5 11.5T600-320q0 17-11.5 28.5T560-280H160Zm0-160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-160q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680h400q17 0 28.5 11.5T600-640q0 17-11.5 28.5T560-600H160Zm0-160q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Z' />\n </svg>\n ),\n format_align_right: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-760q-17 0-28.5-11.5T120-800q0-17 11.5-28.5T160-840h640q17 0 28.5 11.5T840-800q0 17-11.5 28.5T800-760H160Zm240 160q-17 0-28.5-11.5T360-640q0-17 11.5-28.5T400-680h400q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600H400ZM160-440q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm240 160q-17 0-28.5-11.5T360-320q0-17 11.5-28.5T400-360h400q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H400ZM160-120q-17 0-28.5-11.5T120-160q0-17 11.5-28.5T160-200h640q17 0 28.5 11.5T840-160q0 17-11.5 28.5T800-120H160Z' />\n </svg>\n ),\n format_bold: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M352-200q-33 0-56.5-23.5T272-280v-400q0-33 23.5-56.5T352-760h141q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H352Zm41-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z' />\n </svg>\n ),\n format_color_text: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M120 0q-17 0-28.5-11.5T80-40v-80q0-17 11.5-28.5T120-160h720q17 0 28.5 11.5T880-120v80q0 17-11.5 28.5T840 0H120Zm165-280q-23 0-36.5-19.5T243-341l176-469q5-14 17-22t26-8h36q15 0 26.5 8t16.5 22l177 470q8 22-5.5 41T676-280q-14 0-26-8t-17-22l-39-114H368l-41 115q-5 14-16.5 21.5T285-280Zm111-224h168l-82-232h-4l-82 232Z' />\n </svg>\n ),\n format_h1: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-280q-17 0-28.5-11.5T200-320v-320q0-17 11.5-28.5T240-680q17 0 28.5 11.5T280-640v120h160v-120q0-17 11.5-28.5T480-680q17 0 28.5 11.5T520-640v320q0 17-11.5 28.5T480-280q-17 0-28.5-11.5T440-320v-120H280v120q0 17-11.5 28.5T240-280Zm480 0q-17 0-28.5-11.5T680-320v-280h-40q-17 0-28.5-11.5T600-640q0-17 11.5-28.5T640-680h80q17 0 28.5 11.5T760-640v320q0 17-11.5 28.5T720-280Z' />\n </svg>\n ),\n format_h2: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320v-320q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640v120h160v-120q0-17 11.5-28.5T400-680q17 0 28.5 11.5T440-640v320q0 17-11.5 28.5T400-280q-17 0-28.5-11.5T360-320v-120H200v120q0 17-11.5 28.5T160-280Zm400 0q-17 0-28.5-11.5T520-320v-120q0-33 23.5-56.5T600-520h160v-80H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h200q33 0 56.5 23.5T840-600v80q0 33-23.5 56.5T760-440H600v80h200q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H560Z' />\n </svg>\n ),\n format_h3: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320v-320q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640v120h160v-120q0-17 11.5-28.5T400-680q17 0 28.5 11.5T440-640v320q0 17-11.5 28.5T400-280q-17 0-28.5-11.5T360-320v-120H200v120q0 17-11.5 28.5T160-280Zm400 0q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h200v-80H640q-17 0-28.5-11.5T600-480q0-17 11.5-28.5T640-520h120v-80H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h200q33 0 56.5 23.5T840-600v240q0 33-23.5 56.5T760-280H560Z' />\n </svg>\n ),\n format_h4: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320v-320q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640v120h160v-120q0-17 11.5-28.5T400-680q17 0 28.5 11.5T440-640v320q0 17-11.5 28.5T400-280q-17 0-28.5-11.5T360-320v-120H200v120q0 17-11.5 28.5T160-280Zm600 0q-17 0-28.5-11.5T720-320v-80H560q-17 0-28.5-11.5T520-440v-200q0-17 11.5-28.5T560-680q17 0 28.5 11.5T600-640v160h120v-160q0-17 11.5-28.5T760-680q17 0 28.5 11.5T800-640v160h40q17 0 28.5 11.5T880-440q0 17-11.5 28.5T840-400h-40v80q0 17-11.5 28.5T760-280Z' />\n </svg>\n ),\n format_italic: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M250-200q-21 0-35.5-14.5T200-250q0-21 14.5-35.5T250-300h110l120-360H370q-21 0-35.5-14.5T320-710q0-21 14.5-35.5T370-760h300q21 0 35.5 14.5T720-710q0 21-14.5 35.5T670-660h-90L460-300h90q21 0 35.5 14.5T600-250q0 21-14.5 35.5T550-200H250Z' />\n </svg>\n ),\n format_list_bulleted: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200q-17 0-28.5-11.5T360-240q0-17 11.5-28.5T400-280h400q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H400Zm0-240q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h400q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H400Zm0-240q-17 0-28.5-11.5T360-720q0-17 11.5-28.5T400-760h400q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H400ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm0-240q-33 0-56.5-23.5T120-720q0-33 23.5-56.5T200-800q33 0 56.5 23.5T280-720q0 33-23.5 56.5T200-640Z' />\n </svg>\n ),\n format_list_numbered: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M150-80q-13 0-21.5-8.5T120-110q0-13 8.5-21.5T150-140h70v-30h-30q-13 0-21.5-8.5T160-200q0-13 8.5-21.5T190-230h30v-30h-70q-13 0-21.5-8.5T120-290q0-13 8.5-21.5T150-320h90q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80h-90Zm0-280q-13 0-21.5-8.5T120-390v-80q0-17 11.5-28.5T160-510h60v-30h-70q-13 0-21.5-8.5T120-570q0-13 8.5-21.5T150-600h90q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h70q13 0 21.5 8.5T280-390q0 13-8.5 21.5T250-360H150Zm60-280q-13 0-21.5-8.5T180-670v-150h-30q-13 0-21.5-8.5T120-850q0-13 8.5-21.5T150-880h60q13 0 21.5 8.5T240-850v180q0 13-8.5 21.5T210-640Zm190 440q-17 0-28.5-11.5T360-240q0-17 11.5-28.5T400-280h400q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H400Zm0-240q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h400q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H400Zm0-240q-17 0-28.5-11.5T360-720q0-17 11.5-28.5T400-760h400q17 0 28.5 11.5T840-720q0 17-11.5 28.5T800-680H400Z' />\n </svg>\n ),\n format_quote: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m262-300 58-100q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 23-5.5 42.5T458-480L331-260q-5 9-14 14.5t-20 5.5q-23 0-34.5-20t-.5-40Zm360 0 58-100q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 23-5.5 42.5T818-480L691-260q-5 9-14 14.5t-20 5.5q-23 0-34.5-20t-.5-40ZM320-500q25 0 42.5-17.5T380-560q0-25-17.5-42.5T320-620q-25 0-42.5 17.5T260-560q0 25 17.5 42.5T320-500Zm360 0q25 0 42.5-17.5T740-560q0-25-17.5-42.5T680-620q-25 0-42.5 17.5T620-560q0 25 17.5 42.5T680-500Zm0-60Zm-360 0Z' />\n </svg>\n ),\n format_size: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M560-680H420q-25 0-42.5-17.5T360-740q0-25 17.5-42.5T420-800h400q25 0 42.5 17.5T880-740q0 25-17.5 42.5T820-680H680v460q0 25-17.5 42.5T620-160q-25 0-42.5-17.5T560-220v-460ZM200-480h-60q-25 0-42.5-17.5T80-540q0-25 17.5-42.5T140-600h240q25 0 42.5 17.5T440-540q0 25-17.5 42.5T380-480h-60v260q0 25-17.5 42.5T260-160q-25 0-42.5-17.5T200-220v-260Z' />\n </svg>\n ),\n format_underlined: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-120q-17 0-28.5-11.5T200-160q0-17 11.5-28.5T240-200h480q17 0 28.5 11.5T760-160q0 17-11.5 28.5T720-120H240Zm240-160q-101 0-157-63t-56-167v-279q0-21 15.5-36t36.5-15q21 0 36 15t15 36v285q0 56 28 91t82 35q54 0 82-35t28-91v-285q0-21 15.5-36t36.5-15q21 0 36 15t15 36v279q0 104-56 167t-157 63Z' />\n </svg>\n ),\n grid_on: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h133v-133H200v133Zm213 0h134v-133H413v133Zm214 0h133v-133H627v133ZM200-413h133v-134H200v134Zm213 0h134v-134H413v134Zm214 0h133v-134H627v134ZM200-627h133v-133H200v133Zm213 0h134v-133H413v133Zm214 0h133v-133H627v133Z' />\n </svg>\n ),\n grid_view: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-520q-33 0-56.5-23.5T120-600v-160q0-33 23.5-56.5T200-840h160q33 0 56.5 23.5T440-760v160q0 33-23.5 56.5T360-520H200Zm0 400q-33 0-56.5-23.5T120-200v-160q0-33 23.5-56.5T200-440h160q33 0 56.5 23.5T440-360v160q0 33-23.5 56.5T360-120H200Zm400-400q-33 0-56.5-23.5T520-600v-160q0-33 23.5-56.5T600-840h160q33 0 56.5 23.5T840-760v160q0 33-23.5 56.5T760-520H600Zm0 400q-33 0-56.5-23.5T520-200v-160q0-33 23.5-56.5T600-440h160q33 0 56.5 23.5T840-360v160q0 33-23.5 56.5T760-120H600ZM200-600h160v-160H200v160Zm400 0h160v-160H600v160Zm0 400h160v-160H600v160Zm-400 0h160v-160H200v160Zm400-400Zm0 240Zm-240 0Zm0-240Z' />\n </svg>\n ),\n help: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm2 160q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Zm4-172q25 0 43.5 16t18.5 40q0 22-13.5 39T502-525q-23 20-40.5 44T444-427q0 14 10.5 23.5T479-394q15 0 25.5-10t13.5-25q4-21 18-37.5t30-31.5q23-22 39.5-48t16.5-58q0-51-41.5-83.5T484-720q-38 0-72.5 16T359-655q-7 12-4.5 25.5T368-609q14 8 29 5t25-17q11-15 27.5-23t34.5-8Z' />\n </svg>\n ),\n info: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320v-160q0-17-11.5-28.5T480-520q-17 0-28.5 11.5T440-480v160q0 17 11.5 28.5T480-280Zm0-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n language: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q83 0 155.5 31.5t127 86q54.5 54.5 86 127T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Zm0-82q26-36 45-75t31-83H404q12 44 31 83t45 75Zm-104-16q-18-33-31.5-68.5T322-320H204q29 50 72.5 87t99.5 55Zm208 0q56-18 99.5-55t72.5-87H638q-9 38-22.5 73.5T584-178ZM170-400h136q-3-20-4.5-39.5T300-480q0-21 1.5-40.5T306-560H170q-5 20-7.5 39.5T160-480q0 21 2.5 40.5T170-400Zm216 0h188q3-20 4.5-39.5T580-480q0-21-1.5-40.5T574-560H386q-3 20-4.5 39.5T380-480q0 21 1.5 40.5T386-400Zm268 0h136q5-20 7.5-39.5T800-480q0-21-2.5-40.5T790-560H654q3 20 4.5 39.5T660-480q0 21-1.5 40.5T654-400Zm-16-240h118q-29-50-72.5-87T584-782q18 33 31.5 68.5T638-640Zm-234 0h152q-12-44-31-83t-45-75q-26 36-45 75t-31 83Zm-200 0h118q9-38 22.5-73.5T376-782q-56 18-99.5 55T204-640Z' />\n </svg>\n ),\n laptop: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M80-160q-33 0-56.5-23.5T0-240h160q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240h160q0 33-23.5 56.5T880-160H80Zm400-40q17 0 28.5-11.5T520-240q0-17-11.5-28.5T480-280q-17 0-28.5 11.5T440-240q0 17 11.5 28.5T480-200ZM160-320h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n light_mode: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM80-440q-17 0-28.5-11.5T40-480q0-17 11.5-28.5T80-520h80q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440H80Zm720 0q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520h80q17 0 28.5 11.5T920-480q0 17-11.5 28.5T880-440h-80ZM480-760q-17 0-28.5-11.5T440-800v-80q0-17 11.5-28.5T480-920q17 0 28.5 11.5T520-880v80q0 17-11.5 28.5T480-760Zm0 720q-17 0-28.5-11.5T440-80v-80q0-17 11.5-28.5T480-200q17 0 28.5 11.5T520-160v80q0 17-11.5 28.5T480-40ZM226-678l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226-678Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734-282l43 42q12 11 11.5 28T777-183q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678-734l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183-183q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282-226l-42 43q-11 12-28 11.5T183-183Zm297-297Z' />\n </svg>\n ),\n link: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M280-280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h120q17 0 28.5 11.5T440-640q0 17-11.5 28.5T400-600H280q-50 0-85 35t-35 85q0 50 35 85t85 35h120q17 0 28.5 11.5T440-320q0 17-11.5 28.5T400-280H280Zm80-160q-17 0-28.5-11.5T320-480q0-17 11.5-28.5T360-520h240q17 0 28.5 11.5T640-480q0 17-11.5 28.5T600-440H360Zm200 160q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h120q50 0 85-35t35-85q0-50-35-85t-85-35H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h120q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H560Z' />\n </svg>\n ),\n list: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M320-600q-17 0-28.5-11.5T280-640q0-17 11.5-28.5T320-680h480q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600H320Zm0 160q-17 0-28.5-11.5T280-480q0-17 11.5-28.5T320-520h480q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H320Zm0 160q-17 0-28.5-11.5T280-320q0-17 11.5-28.5T320-360h480q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280H320ZM160-600q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680q17 0 28.5 11.5T200-640q0 17-11.5 28.5T160-600Zm0 160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440Zm0 160q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360q17 0 28.5 11.5T200-320q0 17-11.5 28.5T160-280Z' />\n </svg>\n ),\n login: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M520-120q-17 0-28.5-11.5T480-160q0-17 11.5-28.5T520-200h240v-560H520q-17 0-28.5-11.5T480-800q0-17 11.5-28.5T520-840h240q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H520Zm-73-320H160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L429-309q-12 12-28.5 11.5T372-310q-11-12-10.5-28.5T373-366l74-74Z' />\n </svg>\n ),\n logout: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h240q17 0 28.5 11.5T480-160q0 17-11.5 28.5T440-120H200Zm487-320H400q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L669-309q-12 12-28.5 11.5T612-310q-11-12-10.5-28.5T613-366l74-74Z' />\n </svg>\n ),\n mail: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm640-480L501-453q-5 3-10.5 4.5T480-447q-5 0-10.5-1.5T459-453L160-640v400h640v-400ZM480-520l320-200H160l320 200ZM160-640v10-59 1-32 32-.5 58.5-10 400-400Z' />\n </svg>\n ),\n menu: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-240q-17 0-28.5-11.5T120-280q0-17 11.5-28.5T160-320h640q17 0 28.5 11.5T840-280q0 17-11.5 28.5T800-240H160Zm0-200q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-200q-17 0-28.5-11.5T120-680q0-17 11.5-28.5T160-720h640q17 0 28.5 11.5T840-680q0 17-11.5 28.5T800-640H160Z' />\n </svg>\n ),\n more_horiz: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z' />\n </svg>\n ),\n more_vert: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z' />\n </svg>\n ),\n north: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-17 0-28.5-11.5T440-120v-607L284-572q-11 11-27.5 11.5T228-572q-11-11-11-28t11-28l224-224q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l224 224q11 11 11 27.5T732-572q-12 12-28.5 12T675-572L520-727v607q0 17-11.5 28.5T480-80Z' />\n </svg>\n ),\n notifications: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-200q-17 0-28.5-11.5T160-240q0-17 11.5-28.5T200-280h40v-280q0-83 50-147.5T420-792v-28q0-25 17.5-42.5T480-880q25 0 42.5 17.5T540-820v28q80 20 130 84.5T720-560v280h40q17 0 28.5 11.5T800-240q0 17-11.5 28.5T760-200H200Zm280-300Zm0 420q-33 0-56.5-23.5T400-160h160q0 33-23.5 56.5T480-80ZM320-280h320v-280q0-66-47-113t-113-47q-66 0-113 47t-47 113v280Z' />\n </svg>\n ),\n open_in_new: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z' />\n </svg>\n ),\n palette: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 32.5-156t88-127Q256-817 330-848.5T488-880q80 0 151 27.5t124.5 76q53.5 48.5 85 115T880-518q0 115-70 176.5T640-280h-74q-9 0-12.5 5t-3.5 11q0 12 15 34.5t15 51.5q0 50-27.5 74T480-80Zm0-400Zm-220 40q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120-160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm200 0q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120 160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17ZM480-160q9 0 14.5-5t5.5-13q0-14-15-33t-15-57q0-42 29-67t71-25h70q66 0 113-38.5T800-518q0-121-92.5-201.5T488-800q-136 0-232 93t-96 227q0 133 93.5 226.5T480-160Z' />\n </svg>\n ),\n person: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-480q-66 0-113-47t-47-113q0-66 47-113t113-47q66 0 113 47t47 113q0 66-47 113t-113 47ZM160-240v-32q0-34 17.5-62.5T224-378q62-31 126-46.5T480-440q66 0 130 15.5T736-378q29 15 46.5 43.5T800-272v32q0 33-23.5 56.5T720-160H240q-33 0-56.5-23.5T160-240Zm80 0h480v-32q0-11-5.5-20T700-306q-54-27-109-40.5T480-360q-56 0-111 13.5T260-306q-9 5-14.5 14t-5.5 20v32Zm240-320q33 0 56.5-23.5T560-640q0-33-23.5-56.5T480-720q-33 0-56.5 23.5T400-640q0 33 23.5 56.5T480-560Zm0-80Zm0 400Z' />\n </svg>\n ),\n print: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M320-120q-33 0-56.5-23.5T240-200v-80h-80q-33 0-56.5-23.5T80-360v-160q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v160q0 33-23.5 56.5T800-280h-80v80q0 33-23.5 56.5T640-120H320ZM160-360h80q0-33 23.5-56.5T320-440h320q33 0 56.5 23.5T720-360h80v-160q0-17-11.5-28.5T760-560H200q-17 0-28.5 11.5T160-520v160Zm480-280v-120H320v120h-80v-120q0-33 23.5-56.5T320-840h320q33 0 56.5 23.5T720-760v120h-80Zm80 180q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460Zm-80 260v-160H320v160h320ZM160-560h640-640Z' />\n </svg>\n ),\n progress_activity: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z' />\n </svg>\n ),\n remove: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-440q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h480q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H240Z' />\n </svg>\n ),\n search: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z' />\n </svg>\n ),\n sentiment_dissatisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-420q-54 0-101.5 23.5T302-328q-11 16-3 32t26 16q8 0 14.5-3.5T351-294q23-31 57-48.5t72-17.5q38 0 72 17.5t57 48.5q4 7 10.5 10.5T634-280q18 0 26-16.5t-3-33.5q-29-44-76.5-67T480-420Zm140-100q25 0 42.5-17.5T680-580q0-25-17.5-42.5T620-640q-25 0-42.5 17.5T560-580q0 25 17.5 42.5T620-520Zm-280 0q25 0 42.5-17.5T400-580q0-25-17.5-42.5T340-640q-25 0-42.5 17.5T280-580q0 25 17.5 42.5T340-520ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n sentiment_neutral: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M620-520q25 0 42.5-17.5T680-580q0-25-17.5-42.5T620-640q-25 0-42.5 17.5T560-580q0 25 17.5 42.5T620-520Zm-280 0q25 0 42.5-17.5T400-580q0-25-17.5-42.5T340-640q-25 0-42.5 17.5T280-580q0 25 17.5 42.5T340-520Zm50 180h180q13 0 21.5-8.5T600-370q0-13-8.5-21.5T570-400H390q-13 0-21.5 8.5T360-370q0 13 8.5 21.5T390-340Zm90 260q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n sentiment_satisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-260q53 0 100.5-23t76.5-67q11-17 3-33.5T634-400q-8 0-14.5 3.5T609-386q-23 31-57 48.5T480-320q-38 0-72-17.5T351-386q-5-7-11.5-10.5T325-400q-18 0-26 16t3 32q29 45 76.5 68.5T480-260Zm140-260q25 0 42.5-17.5T680-580q0-25-17.5-42.5T620-640q-25 0-42.5 17.5T560-580q0 25 17.5 42.5T620-520Zm-280 0q25 0 42.5-17.5T400-580q0-25-17.5-42.5T340-640q-25 0-42.5 17.5T280-580q0 25 17.5 42.5T340-520ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n sentiment_very_dissatisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m356-522 21 22q8 8 20.5 8t21.5-9q8-8 8-20.5t-8-21.5l-21-21 22-23q8-8 7.5-20.5T419-629q-9-8-21.5-8t-20.5 8l-21 21-24-22q-8-8-20.5-7.5T290-628q-8 8-8.5 20.5T290-587l22 23-22 22q-8 8-8 20.5t9 21.5q8 8 20.5 8.5T332-500l24-22Zm248 0 23 23q8 8 20.5 7.5T669-501q8-8 8-20.5t-8-21.5l-21-21 22-23q8-8 7.5-20.5T668-629q-8-8-20.5-8.5T627-629l-23 21-22-21q-8-8-20.5-8t-21.5 9q-8 8-8.5 20.5T540-587l22 23-22 22q-8 8-8 20.5t9 20.5q8 9 20.5 9t21.5-9l21-21ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-155.5t85.5-127q54-54.5 127-86T480-880q83 0 155.5 31.5t127 86q54.5 54.5 86 127T880-480q0 83-31.5 156t-86 127q-54.5 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93T800-480q0-133-93.5-226.5T480-800q-134 0-227 93.5T160-480q0 134 93 227t227 93Zm0-260q-57 0-107 28t-80 77q-6 12 1 23.5t21 11.5h329q14 0 21-11.5t1-23.5q-30-49-79.5-77T480-420Z' />\n </svg>\n ),\n sentiment_very_satisfied: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-260q58 0 107-28t79-76q6-12-1-24t-21-12H316q-14 0-21 12t-1 24q30 48 79.5 76T480-260ZM356-562l21 21q9 9 21 9t21-9q9-9 8.5-21t-8.5-21l-35-36q-12-12-28.5-12T327-619l-36 36q-9 9-9 21t9 21q8 8 20.5 8.5T333-540l23-22Zm248 0 23 22q9 8 21 8t21-9q9-9 9-21t-9-21l-36-36q-12-12-28.5-12T576-619l-36 36q-8 9-8 21t9 21q9 9 21 9t21-9l21-21ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Z' />\n </svg>\n ),\n settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m420-320 46 46q6 6 14 6t14-6l46-46h80q8 0 14-6t6-14v-80l46-46q6-6 6-14t-6-14l-46-46v-80q0-8-6-14t-14-6h-80l-46-46q-6-6-14-6t-14 6l-46 46h-80q-8 0-14 6t-6 14v80l-46 46q-6 6-6 14t6 14l46 46v80q0 8 6 14t14 6h80Zm60-40v-240q50 0 85 35t35 85q0 50-35 85t-85 35ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n settings: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M433-80q-27 0-46.5-18T363-142l-9-66q-13-5-24.5-12T307-235l-62 26q-25 11-50 2t-39-32l-47-82q-14-23-8-49t27-43l53-40q-1-7-1-13.5v-27q0-6.5 1-13.5l-53-40q-21-17-27-43t8-49l47-82q14-23 39-32t50 2l62 26q11-8 23-15t24-12l9-66q4-26 23.5-44t46.5-18h94q27 0 46.5 18t23.5 44l9 66q13 5 24.5 12t22.5 15l62-26q25-11 50-2t39 32l47 82q14 23 8 49t-27 43l-53 40q1 7 1 13.5v27q0 6.5-2 13.5l53 40q21 17 27 43t-8 49l-48 82q-14 23-39 32t-50-2l-60-26q-11 8-23 15t-24 12l-9 66q-4 26-23.5 44T527-80h-94Zm7-80h79l14-106q31-8 57.5-23.5T639-327l99 41 39-68-86-65q5-14 7-29.5t2-31.5q0-16-2-31.5t-7-29.5l86-65-39-68-99 42q-22-23-48.5-38.5T533-694l-13-106h-79l-14 106q-31 8-57.5 23.5T321-633l-99-41-39 68 86 64q-5 15-7 30t-2 32q0 16 2 31t7 30l-86 65 39 68 99-42q22 23 48.5 38.5T427-266l13 106Zm42-180q58 0 99-41t41-99q0-58-41-99t-99-41q-59 0-99.5 41T342-480q0 58 40.5 99t99.5 41Zm-2-140Z' />\n </svg>\n ),\n share: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M680-80q-50 0-85-35t-35-85q0-6 3-28L282-392q-16 15-37 23.5t-45 8.5q-50 0-85-35t-35-85q0-50 35-85t85-35q24 0 45 8.5t37 23.5l281-164q-2-7-2.5-13.5T560-760q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-24 0-45-8.5T598-672L317-508q2 7 2.5 13.5t.5 14.5q0 8-.5 14.5T317-452l281 164q16-15 37-23.5t45-8.5q50 0 85 35t35 85q0 50-35 85t-85 35Zm0-80q17 0 28.5-11.5T720-200q0-17-11.5-28.5T680-240q-17 0-28.5 11.5T640-200q0 17 11.5 28.5T680-160ZM200-440q17 0 28.5-11.5T240-480q0-17-11.5-28.5T200-520q-17 0-28.5 11.5T160-480q0 17 11.5 28.5T200-440Zm480-280q17 0 28.5-11.5T720-760q0-17-11.5-28.5T680-800q-17 0-28.5 11.5T640-760q0 17 11.5 28.5T680-720Zm0 520ZM200-480Zm480-280Z' />\n </svg>\n ),\n side_navigation: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm280-80h280v-560H480v560Z' />\n </svg>\n ),\n smartphone: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M280-40q-33 0-56.5-23.5T200-120v-720q0-33 23.5-56.5T280-920h400q33 0 56.5 23.5T760-840v720q0 33-23.5 56.5T680-40H280Zm0-120v40h400v-40H280Zm0-80h400v-480H280v480Zm0-560h400v-40H280v40Zm0 0v-40 40Zm0 640v40-40Z' />\n </svg>\n ),\n south: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-97q-8 0-15-2.5t-13-8.5L228-332q-11-11-11-28t11-28q12-12 28.5-11.5T284-388l156 155v-607q0-17 11.5-28.5T480-880q17 0 28.5 11.5T520-840v607l155-155q12-12 28.5-12t28.5 12q11 12 11 28.5T732-332L508-108q-6 6-13 8.5T480-97Z' />\n </svg>\n ),\n tablet: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M480-140q17 0 28.5-11.5T520-180q0-17-11.5-28.5T480-220q-17 0-28.5 11.5T440-180q0 17 11.5 28.5T480-140ZM200-40q-33 0-56.5-23.5T120-120v-720q0-33 23.5-56.5T200-920h560q33 0 56.5 23.5T840-840v720q0 33-23.5 56.5T760-40H200Zm0-200v120h560v-120H200Zm0-80h560v-400H200v400Zm0-480h560v-40H200v40Zm0 0v-40 40Zm0 560v120-120Z' />\n </svg>\n ),\n toc: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M160-280q-17 0-28.5-11.5T120-320q0-17 11.5-28.5T160-360h480q17 0 28.5 11.5T680-320q0 17-11.5 28.5T640-280H160Zm0-160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h480q17 0 28.5 11.5T680-480q0 17-11.5 28.5T640-440H160Zm0-160q-17 0-28.5-11.5T120-640q0-17 11.5-28.5T160-680h480q17 0 28.5 11.5T680-640q0 17-11.5 28.5T640-600H160Zm640 320q-17 0-28.5-11.5T760-320q0-17 11.5-28.5T800-360q17 0 28.5 11.5T840-320q0 17-11.5 28.5T800-280Zm0-160q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440Zm0-160q-17 0-28.5-11.5T760-640q0-17 11.5-28.5T800-680q17 0 28.5 11.5T840-640q0 17-11.5 28.5T800-600Z' />\n </svg>\n ),\n unfold_less: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m480-284-96 96q-11 11-28 11t-28-11q-11-11-11-28t11-28l124-124q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l124 124q11 11 11 28t-11 28q-11 11-28 11t-28-11l-96-96Zm0-392 96-96q11-11 28-11t28 11q11 11 11 28t-11 28L508-592q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L328-716q-11-11-11-28t11-28q11-11 28-11t28 11l96 96Z' />\n </svg>\n ),\n unfold_more: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='m480-236 93-93q12-12 29-12t29 12q12 12 12 29t-12 29L508-148q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L329-271q-12-12-12-29t12-29q12-12 29-12t29 12l93 93Zm0-484-93 93q-12 12-29 12t-29-12q-12-12-12-29t12-29l123-123q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l123 123q12 12 12 29t-12 29q-12 12-29 12t-29-12l-93-93Z' />\n </svg>\n ),\n upload: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Zm200-486-75 75q-12 12-28.5 11.5T308-572q-11-12-11.5-28t11.5-28l144-144q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l144 144q12 12 11.5 28T652-572q-12 12-28.5 12.5T595-571l-75-75v286q0 17-11.5 28.5T480-320q-17 0-28.5-11.5T440-360v-286Z' />\n </svg>\n ),\n view_column: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M121-280v-400q0-33 23.5-56.5T201-760h559q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H201q-33 0-56.5-23.5T121-280Zm79 0h133v-400H200v400Zm213 0h133v-400H413v400Zm213 0h133v-400H626v400Z' />\n </svg>\n ),\n view_list: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M120-280v-400q0-33 23.5-56.5T200-760h560q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H200q-33 0-56.5-23.5T120-280Zm80-320h80v-80h-80v80Zm160 0h400v-80H360v80Zm0 160h400v-80H360v80Zm0 160h400v-80H360v80Zm-160 0h80v-80h-80v80Zm0-160h80v-80h-80v80Z' />\n </svg>\n ),\n warning: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M109-120q-11 0-20-5.5T75-140q-5-9-5.5-19.5T75-180l370-640q6-10 15.5-15t19.5-5q10 0 19.5 5t15.5 15l370 640q6 10 5.5 20.5T885-140q-5 9-14 14.5t-20 5.5H109Zm69-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm0-120q17 0 28.5-11.5T520-400v-120q0-17-11.5-28.5T480-560q-17 0-28.5 11.5T440-520v120q0 17 11.5 28.5T480-360Zm0-100Z' />\n </svg>\n ),\n west: (props: IconProps) => (\n <svg fill='currentColor' data-slot='icon' viewBox='0 -960 960 960' {...props}>\n <path d='M233-440h607q17 0 28.5-11.5T880-480q0-17-11.5-28.5T840-520H233l155-156q11-11 11.5-27.5T388-732q-11-11-28-11t-28 11L108-508q-6 6-8.5 13T97-480q0 8 2.5 15t8.5 13l224 224q11 11 27.5 11t28.5-11q12-12 12-28.5T388-285L233-440Z' />\n </svg>\n ),\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function truncate(text: string, maxLength: number): string {\n if (text.length <= maxLength) {\n return text\n }\n return text.slice(0, maxLength) + '...'\n}\n\nexport function kebabCase(str: string) {\n return str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n}\n\nexport function camelCase(str: string) {\n return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())\n}\n\nexport function humaniseVariant(key: string): string {\n return key\n .replace(/([a-z])([A-Z0-9])/g, '$1 $2')\n .replace(/([0-9])([A-Za-z])/g, '$1 $2')\n .replace(/_/g, ' ')\n .replace(/\\bFull\\s?Width\\b/gi, 'full width')\n .replace(/\\s+/g, ' ')\n .trim()\n .replace(/^./, (s) => s.toUpperCase())\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as AccordionPrimitive from '@radix-ui/react-accordion'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot='accordion' {...props} />\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot='accordion-item'\n className={cn(\n 'border-nsw-grey-200 dark:border-nsw-grey-200/20 border-b last:border-b-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AccordionTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {\n return (\n <AccordionPrimitive.Header className='flex'>\n <AccordionPrimitive.Trigger\n data-slot='accordion-trigger'\n className={cn(\n [\n // Base\n 'bg-nsw-grey-50 flex flex-1 cursor-pointer items-start justify-between gap-4 p-4 text-left text-base font-medium transition-all',\n // Focus\n 'focus-visible:border-ring focus-visible:ring-ring/50 outline-none focus-visible:ring-[2px]',\n // State\n 'hover:bg-nsw-grey-100 hover:text-nsw-grey-850 [&[data-state=open]>svg]:rotate-180',\n // Disabled\n 'data-disabled:pointer-events-none data-disabled:opacity-50',\n // Dark mode\n 'dark:bg-nsw-grey-800 dark:hover:bg-nsw-grey-700 dark:text-white',\n // Dark mode hover\n 'dark:hover:bg-nsw-grey-700 dark:hover:text-white [&[data-state=open]>svg]:rotate-180',\n ],\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_down className='fill-primary pointer-events-none size-6 shrink-0 translate-y-0.5 transition-transform duration-200 dark:fill-white' />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n )\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot='accordion-content'\n className='data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden py-4 text-base'\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n )\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot='alert'\n role='alert'\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='alert-title'\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='alert-description'\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription }\n","'use client'\n\nimport * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio'\n\nfunction AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {\n return <AspectRatioPrimitive.Root data-slot='aspect-ratio' {...props} />\n}\n\nexport { AspectRatio }\n","'use client'\n\nimport * as React from 'react'\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\n\nimport { cn } from '../lib/utils'\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot='avatar'\n className={cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot='avatar-image'\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot='avatar-fallback'\n className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","import * as Headless from '@headlessui/react'\nimport NextLink, { type LinkProps } from 'next/link'\nimport React, { forwardRef } from 'react'\n\nexport const Link = forwardRef(function Link(\n props: LinkProps & React.ComponentPropsWithoutRef<'a'>,\n ref: React.ForwardedRef<HTMLAnchorElement>,\n) {\n return (\n <Headless.DataInteractive>\n <NextLink {...props} ref={ref} />\n </Headless.DataInteractive>\n )\n})\n","import * as Headless from '@headlessui/react'\nimport clsx from 'clsx'\nimport React, { forwardRef } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { Link } from '../components/Link'\nimport { cn } from '../lib/utils'\n\nconst styles = {\n base: [\n // Base\n 'relative isolate inline-flex items-baseline justify-center gap-x-2 rounded-sm border text-base/7 sm:text-sm/6 font-semibold transition-all',\n // Focus\n 'focus:outline focus:outline-2 focus:outline-offset-2 focus:outline-(--btn-bg)',\n // Disabled\n 'data-disabled:opacity-50 data-disabled:pointer-events-none',\n // Icon\n '*:data-[slot=icon]:-mx-0.25 *:data-[slot=icon]:my-0.25 sm:*:data-[slot=icon]:my-0.5 *:data-[slot=icon]:size-6 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:self-center *:data-[slot=icon]:text-(--btn-icon) sm:*:data-[slot=icon]:size-5 forced-colors:[--btn-icon:ButtonText] forced-colors:data-hover:[--btn-icon:ButtonText]',\n ],\n solid: [\n // Text color\n 'text-(--btn-text)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--btn-border)',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--btn-bg)',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-bg)',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n soft: [\n // Text color\n 'text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--btn-bg)/10',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--btn-bg)/20',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-bg)/10',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:bg-white/5',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n surface: [\n // Text color\n 'text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-(--btn-bg)/50 bg-(--btn-bg)/5',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--btn-bg)/30',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-bg)/5',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--btn-bg)/50',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // Border color on hover\n 'data-active:border-(--btn-bg) data-hover:border-(--btn-bg)',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n outline: [\n // Text color\n 'border-(--btn-bg) text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'bg-transparent',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-transparent',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--btn-bg)',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n ghost: [\n // Text color\n 'text-(--btn-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--btn-transparent)',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--btn-transparent)',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'data-active:after:bg-(--btn-hover-overlay) data-hover:after:bg-(--btn-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n colors: {\n 'primary/grey': [\n // Base\n '[--btn-bg:var(--color-primary-800)] [--btn-border:var(--color-primary-800)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--btn-bg:var(--color-grey-600)] dark:[--btn-border:var(--color-grey-600)]/90 dark:[--btn-text:white] dark:text-white',\n // Soft dark mode\n 'dark:data-[variant=soft]:[--btn-bg:var(--color-grey-400)]',\n // Surface dark mode\n 'dark:data-[variant=surface]:[--btn-bg:var(--color-grey-400)]',\n // Outline dark mode\n 'dark:data-[variant=outline]:[--btn-border:var(--color-grey-600)]',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-grey-600)]/50 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/5',\n ],\n light: [\n // Base\n '[--btn-bg:var(--color-grey-200)] [--btn-border:var(--color-grey-200)] [--btn-text:var(--color-grey-800)] text-grey-800',\n // States\n '[--btn-hover-overlay:var(--color-grey-200)]/50 data-[variant=solid]:[--btn-hover-overlay:var(--color-grey-800)]/10',\n // Dark mode\n 'dark:text-white dark:data-[variant=solid]:text-grey-800',\n // Dark mode states\n '',\n // Soft\n 'data-[variant=soft]:[--btn-bg:var(--color-grey-400)]',\n // Soft states\n '',\n // Surface\n 'data-[variant=surface]:[--btn-bg:var(--color-grey-400)]',\n // Surface states\n 'data-[variant=surface]:data-active:[--btn-border:var(--color-grey-300)]',\n 'data-[variant=surface]:data-hover:[--btn-border:var(--color-grey-300)]',\n ],\n 'primary/white': [\n // Base\n '[--btn-bg:var(--color-primary-800)] [--btn-border:var(--color-primary-800)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--btn-bg:var(--color-white)] dark:[--btn-border:var(--color-white)]/90 dark:[--btn-text:var(--color-grey-800)]',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-white)]/15',\n ],\n grey: [\n // Base\n '[--btn-bg:var(--color-grey-600)] [--btn-border:var(--color-grey-600)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-grey-600)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white',\n // Soft dark mode\n 'dark:data-[variant=soft]:[--btn-bg:var(--color-grey-400)]',\n // Surface dark mode\n 'dark:data-[variant=surface]:[--btn-bg:var(--color-grey-400)]',\n // Outline dark mode\n 'dark:data-[variant=outline]:[--btn-border:var(--color-grey-600)]',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-grey-600)]/50 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/5',\n ],\n white: [\n // Base\n '[--btn-bg:var(--color-white)] [--btn-border:var(--color-white)]/90 [--btn-text:var(--color-grey-800)]',\n // States\n '[--btn-hover-overlay:var(--color-white)]/15 data-[variant=solid]:[--btn-hover-overlay:var(--color-grey-800)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n primary: [\n // Base\n '[--btn-bg:var(--color-primary-800)] [--btn-border:var(--color-primary-800)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white dark:bg-[--btn-hover-overlay:var(--color-primary-800)]/40 dark:data-[variant=solid]:bg-[--btn-hover-overlay:var(--color-primary-800)]',\n // Ghost\n 'dark:data-[variant=ghost]:bg-transparent',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-primary-800)]/50 dark:data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/5',\n // Dark border\n 'dark:data-[variant=surface]:border-[--btn-hover-overlay:var(--color-primary-700)]/60',\n 'dark:data-[variant=outline]:border-[--btn-hover-overlay:var(--color-primary-700)]',\n // Dark border states\n 'dark:data-[variant=surface]:data-active:border-[--btn-hover-overlay:var(--color-primary-700)]',\n 'dark:data-[variant=surface]:data-hover:border-[--btn-hover-overlay:var(--color-primary-700)]',\n // Hover\n '',\n ],\n secondary: [\n // Base\n '[--btn-bg:var(--color-primary-200)] [--btn-border:var(--color-primary-200)]/90 [--btn-text:var(--color-primary-800)]',\n // States\n '[--btn-hover-overlay:var(--color-primary-200)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-primary-800)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n tertiary: [\n // Base\n '[--btn-bg:var(--color-primary-600)] [--btn-border:var(--color-primary-600)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-primary-600)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-white)]/10',\n ],\n accent: [\n // Base\n '[--btn-bg:var(--color-accent-600)] [--btn-border:var(--color-accent-600)]/90 [--btn-text:white]',\n // States\n '[--btn-hover-overlay:var(--color-accent-600)]/10 data-[variant=solid]:[--btn-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n 'dark:[--btn-hover-overlay:var(--color-white)]/10',\n ],\n danger: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n // Icon\n '',\n // Icon states\n '',\n // Icon dark mode\n '',\n // Icon dark mode states\n '',\n ],\n },\n size: {\n default:\n 'px-[calc(--spacing(5)-1px)] py-[calc(--spacing(4)-1px)] sm:px-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(3)-1px)]',\n sm: 'px-[calc(--spacing(4)-1px)] py-[calc(--spacing(3)-1px)] sm:px-[calc(--spacing(3.5)-1px)] sm:py-[calc(--spacing(2)-1px)]',\n lg: 'px-[calc(--spacing(6)-1px)] py-[calc(--spacing(5)-1px)] sm:px-[calc(--spacing(5.5)-1px)] sm:py-[calc(--spacing(4)-1px)]',\n icon: 'size-10',\n },\n}\n\nconst buttonVariants = cva(styles.base, {\n variants: {\n variant: {\n solid: styles.solid,\n soft: styles.soft,\n surface: styles.surface,\n outline: styles.outline,\n ghost: styles.ghost,\n },\n color: {\n 'primary/grey': styles.colors['primary/grey'],\n light: styles.colors.light,\n 'primary/white': styles.colors['primary/white'],\n white: styles.colors.white,\n grey: styles.colors.grey,\n primary: styles.colors.primary,\n secondary: styles.colors.secondary,\n tertiary: styles.colors.tertiary,\n accent: styles.colors.accent,\n danger: styles.colors.danger,\n },\n size: {\n default: styles.size.default,\n sm: styles.size.sm,\n lg: styles.size.lg,\n icon: styles.size.icon,\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'default',\n },\n})\n\ntype ButtonProps = VariantProps<typeof buttonVariants> & {\n className?: string\n children: React.ReactNode\n} & (\n | Omit<Headless.ButtonProps, 'as' | 'className'>\n | Omit<React.ComponentPropsWithoutRef<typeof Link>, 'className'>\n )\n\nconst Button = forwardRef(function Button(\n { className, variant, color, size, children, ...props }: ButtonProps,\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const classes = cn(buttonVariants({ variant, color, size }), className)\n\n return 'href' in props ? (\n <Link\n data-variant={variant}\n {...props}\n className={classes}\n ref={ref as React.ForwardedRef<HTMLAnchorElement>}\n >\n <TouchTarget>{children}</TouchTarget>\n </Link>\n ) : (\n <Headless.Button\n data-variant={variant}\n {...props}\n className={clsx(classes, 'cursor-pointer')}\n ref={ref}\n >\n <TouchTarget>{children}</TouchTarget>\n </Headless.Button>\n )\n})\n\n/**\n * Expand the hit area to at least 44×44px on touch devices\n */\nfunction TouchTarget({ children }: { children: React.ReactNode }) {\n return (\n <>\n <span\n className='absolute top-1/2 left-1/2 size-[max(100%,2.75rem)] -translate-x-1/2 -translate-y-1/2 rounded-sm bg-transparent [@media(pointer:fine)]:hidden'\n aria-hidden='true'\n />\n {children}\n </>\n )\n}\n\nexport { Button, buttonVariants, TouchTarget }\n","import * as Headless from '@headlessui/react'\nimport clsx from 'clsx'\nimport React, { forwardRef } from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { TouchTarget } from '@/components/Button'\nimport { Link } from '@/components/Link'\nimport { cn } from '../lib/utils'\n\nconst focusOutline = {\n 'primary/grey': [\n // Base\n '[--focus-outline:var(--color-primary-800)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-grey-600)]',\n // Soft, Surface and outline\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',\n // Soft, Surface and outline dark mode\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',\n ],\n light: [\n // Base\n '[--focus-outline:var(--color-grey-300)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-grey-100)]',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',\n // Surface\n 'data-[variant=surface]:[--focus-outline:var(--color-grey-600)]',\n // Soft, Surface and outline dark mode\n 'dark:data-[variant=surface]:[--focus-outline:var(--color-white)]/70',\n ],\n 'primary/white': [\n // Base\n '[--focus-outline:var(--color-primary-800)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-white)]',\n // Soft\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',\n // Surface\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/30',\n ],\n grey: [\n // Base\n '[--focus-outline:var(--color-grey-600)]',\n // Base dark mode\n 'dark:[--focus-outline:var(--color-grey-500)]',\n // Soft\n 'data-[variant=soft]:[--focus-outline:var(--color-grey-600)]/20',\n // Soft dark mode\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-grey-200)]/20',\n // Outline dark mode\n 'dark:data-[variant=outline]:[--focus-outline:var(--color-grey-100)]/30',\n // Surface dark mode\n 'dark:data-[variant=surface]:[--focus-outline:var(--color-grey-200)]/20',\n ],\n white: [\n // Base\n '[--focus-outline:var(--color-white)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-white)]/20',\n // Soft\n '',\n // Surface\n '',\n ],\n primary: [\n // Base\n '[--focus-outline:var(--color-primary-800)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-primary-800)]/60',\n // Surface\n '',\n ],\n secondary: [\n // Base\n '[--focus-outline:var(--color-primary-200)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-200)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-primary-200)]/60',\n // Surface\n '',\n ],\n tertiary: [\n // Base\n '[--focus-outline:var(--color-primary-600)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-primary-600)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-primary-600)]/60',\n // Surface\n '',\n ],\n accent: [\n // Base\n '[--focus-outline:var(--color-accent-600)]',\n // Base dark mode\n 'data-[variant=soft]:[--focus-outline:var(--color-accent-600)]/20',\n // Soft\n 'dark:data-[variant=soft]:[--focus-outline:var(--color-accent-600)]/60',\n ],\n error: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n success: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n warning: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n info: [\n // Base\n '',\n // Base dark mode\n '',\n // Soft\n '',\n // Surface\n '',\n ],\n}\n\nconst styles = {\n base: [\n // Base\n 'relative isolate inline-flex items-center rounded-sm font-normal border forced-colors:outline transition-all h-fit shrink-0',\n // Icon\n '*:data-[slot=icon]:size-4 *:data-[slot=icon]:shrink-0 *:data-[slot=icon]:self-center sm:*:data-[slot=icon]:size-3',\n ],\n solid: [\n // Text color\n 'text-(--badge-text)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--badge-border)',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--badge-bg)',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--badge-bg)',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n soft: [\n // Text color\n 'text-(--badge-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-transparent bg-(--badge-bg)/5',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--badge-bg)/20',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--badge-bg)/5',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:bg-white/5',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-white/5',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n surface: [\n // Text color\n 'text-(--badge-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'border-(--badge-bg)/50 bg-(--badge-bg)/5',\n // Dark mode: border is rendered on `after` so background is set to button background\n 'dark:bg-(--badge-bg)/30',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-(--badge-bg)/5',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--badge-bg)/50',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // Border color on hover\n 'group-data-active:border-(--badge-bg) group-data-hover:border-(--badge-bg)',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n outline: [\n // Text color\n 'border-(--badge-bg) text-(--badge-bg)',\n // Optical border, implemented as the button background to avoid corner artifacts\n 'bg-transparent',\n // Button background, implemented as foreground layer to stack on top of pseudo-border layer\n 'before:absolute before:inset-0 before:-z-10 before:rounded-[calc(var(--radius-sm)-1px)] before:bg-transparent',\n // Drop shadow, applied to the inset `before` layer so it blends with the border\n 'before:shadow-sm',\n // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo\n 'dark:before:hidden',\n // Dark mode: Subtle white outline is applied using a border\n 'dark:border-(--badge-bg)',\n // Shim/overlay, inset to match button foreground and used for hover state + highlight shadow\n 'after:absolute after:inset-0 after:-z-10 after:rounded-[calc(var(--radius-sm)-1px)]',\n // White overlay on hover\n 'group-data-active:after:bg-(--badge-hover-overlay) group-data-hover:after:bg-(--badge-hover-overlay)',\n // Dark mode: `after` layer expands to cover entire button\n 'dark:after:-inset-px dark:after:rounded-sm',\n // Disabled\n 'data-disabled:before:shadow-none data-disabled:after:shadow-none',\n ],\n colors: {\n 'primary/grey': [\n // Base\n '[--badge-bg:var(--color-primary-800)] [--badge-border:var(--color-primary-800)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--badge-bg:var(--color-grey-600)] dark:[--badge-border:var(--color-grey-600)]/90 dark:[--badge-text:var(--color-white)] dark:text-white',\n // Dark mode states\n 'dark:[--badge-hover-overlay:var(--color-grey-200)]/20',\n ],\n light: [\n // Base\n '[--badge-bg:var(--color-grey-200)] [--badge-border:var(--color-grey-200)]/90 [--badge-text:var(--color-grey-800)]',\n 'text-grey-800',\n // Soft\n 'data-[variant=soft]:[--badge-bg:var(--color-grey-500)]',\n // Surface\n 'data-[variant=surface]:[--badge-bg:var(--color-grey-500)]',\n // States\n '[--badge-hover-overlay:var(--color-grey-200)]/10 data-[variant=outline]:[--badge-hover-overlay:var(--color-grey-200)]/20 data-[variant=solid]:[--badge-hover-overlay:var(--color-grey-400)]/50',\n // Dark mode\n 'dark:text-grey-200 dark:data-[variant=solid]:text-grey-800',\n // Dark mode states\n '',\n ],\n 'primary/white': [\n // Base\n '[--badge-bg:var(--color-primary-800)] [--badge-border:var(--color-primary-800)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:[--badge-bg:var(--color-white)] dark:[--badge-border:var(--color-white)]/90 dark:[--badge-text:var(--color-grey-800)]',\n // Dark mode states\n '',\n ],\n grey: [\n // Base\n '[--badge-bg:var(--color-grey-600)] [--badge-border:var(--color-grey-600)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white',\n // Dark mode states\n '',\n ],\n white: [\n // Base\n '[--badge-bg:var(--color-white)] [--badge-border:var(--color-white)]/90 text-white data-[variant=solid]:text-grey-800',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-grey-200 dark:data-[variant=solid]:text-grey-800',\n // Dark mode states\n '',\n ],\n primary: [\n // Base\n '[--badge-bg:var(--color-primary-800)] [--badge-border:var(--color-primary-800)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-800)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n 'dark:text-white dark:bg-[--badge-hover-overlay:var(--color-primary-800)]/40 dark:data-[variant=solid]:bg-[--badge-hover-overlay:var(--color-primary-800)]',\n // Dark mode states\n 'dark:[--badge-hover-overlay:var(--color-primary-800)]/50 dark:data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/5',\n // Dark border\n 'dark:data-[variant=surface]:border-[--badge-hover-overlay:var(--color-primary-700)]/60',\n 'dark:data-[variant=outline]:border-[--badge-hover-overlay:var(--color-primary-700)]',\n // Dark border states\n 'dark:data-[variant=surface]:data-active:border-[--badge-hover-overlay:var(--color-primary-700)]',\n 'dark:data-[variant=surface]:data-hover:border-[--badge-hover-overlay:var(--color-primary-700)]',\n ],\n secondary: [\n // Base\n '[--badge-bg:var(--color-primary-200)] [--badge-border:var(--color-primary-200)]/90 [--badge-text:var(--color-primary-800)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-200)]/30 data-[variant=solid]:[--badge-hover-overlay:var(--color-primary-250)]',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n tertiary: [\n // Base\n '[--badge-bg:var(--color-primary-600)] [--badge-border:var(--color-primary-600)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-primary-600)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n accent: [\n // Base\n '[--badge-bg:var(--color-accent-600)] [--badge-border:var(--color-accent-600)]/90 [--badge-text:var(--color-white)]',\n // States\n '[--badge-hover-overlay:var(--color-accent-600)]/10 data-[variant=solid]:[--badge-hover-overlay:var(--color-white)]/10',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n danger: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n success: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n warning: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n info: [\n // Base\n '',\n // States\n '',\n // Dark mode\n '',\n // Dark mode states\n '',\n ],\n },\n size: {\n default:\n 'py-[calc(--spacing(1))] px-[calc(--spacing(2))] gap-[calc(--spacing(1)*1.5)] text-sm/5 sm:text-xs/5',\n sm: 'py-[calc(--spacing(1)*0.5)] px-[calc(--spacing(1)*1.5)] gap-[calc(--spacing(1)*1.5)] text-sm/5 sm:text-xs/5',\n lg: 'py-[calc(--spacing(1))] px-[calc(--spacing(2)*1.25)] gap-[calc(--spacing(2))] text-base/5 sm:text-sm/5',\n },\n}\n\nconst badgeVariants = cva(styles.base, {\n variants: {\n variant: {\n solid: styles.solid,\n soft: styles.soft,\n surface: styles.surface,\n outline: styles.outline,\n },\n color: {\n 'primary/grey': styles.colors['primary/grey'],\n light: styles.colors.light,\n 'primary/white': styles.colors['primary/white'],\n white: styles.colors.white,\n grey: styles.colors.grey,\n primary: styles.colors.primary,\n secondary: styles.colors.secondary,\n tertiary: styles.colors.tertiary,\n accent: styles.colors.accent,\n danger: styles.colors.danger,\n success: styles.colors.success,\n warning: styles.colors.warning,\n info: styles.colors.info,\n },\n size: {\n default: styles.size.default,\n sm: styles.size.sm,\n lg: styles.size.lg,\n },\n },\n defaultVariants: {\n variant: 'soft',\n color: 'primary',\n size: 'default',\n },\n})\n\nfunction Badge({\n variant,\n color,\n size,\n className,\n ...props\n}: VariantProps<typeof badgeVariants> & React.ComponentPropsWithoutRef<'span'>) {\n return (\n <span\n {...props}\n data-variant={variant}\n className={cn(badgeVariants({ variant, color, size }), className)}\n />\n )\n}\n\nconst BadgeButton = forwardRef(function BadgeButton(\n {\n variant,\n color,\n size,\n className,\n children,\n ...props\n }: VariantProps<typeof badgeVariants> & { className?: string; children: React.ReactNode } & (\n | Omit<Headless.ButtonProps, 'as' | 'className'>\n | Omit<React.ComponentPropsWithoutRef<typeof Link>, 'className'>\n ),\n ref: React.ForwardedRef<HTMLElement>,\n) {\n const classes = clsx(className, focusOutline[color as keyof typeof focusOutline], [\n // Base\n 'group relative inline-flex rounded-sm',\n // Focus\n 'focus:outline-1 focus:outline-offset-1 focus:outline-(--focus-outline)',\n // Disabled\n 'disabled:opacity-50 disabled:pointer-events-none',\n ])\n\n return 'href' in props ? (\n <Link\n data-variant={variant}\n {...props}\n className={classes}\n ref={ref as React.ForwardedRef<HTMLAnchorElement>}\n >\n <TouchTarget>\n <Badge variant={variant} color={color} size={size}>\n {children}\n </Badge>\n </TouchTarget>\n </Link>\n ) : (\n <Headless.Button\n data-variant={variant}\n {...props}\n className={clsx(classes, 'cursor-pointer')}\n ref={ref}\n >\n <TouchTarget>\n <Badge variant={variant} color={color} size={size}>\n {children}\n </Badge>\n </TouchTarget>\n </Headless.Button>\n )\n})\n\nexport { Badge, BadgeButton, badgeVariants }\n","import * as culori from 'culori'\nimport { kebabCase, camelCase } from '@/lib/utils'\nimport {\n ColorData,\n // DesignTokensTheme,\n ColorProperty,\n DesignTokensShades,\n Format,\n Output,\n Variant,\n ColorThemes,\n} from '../types/types'\n\nvoid culori.rgb('tomato')\n\nexport const shades = ['lightest', 'lighter', 'light', 'DEFAULT', 'dark', 'darker', 'darkest']\n\nexport const darkenColor = (color: string, factor = 0.3) => {\n const parsed = culori.parse(color) // Parse input color\n if (!parsed || parsed.mode !== 'oklch') return color // Ensure it's OKLCH\n\n // Reduce lightness\n parsed.l = Math.max(0, parsed.l * factor)\n\n // Reduce chroma slightly\n parsed.c = Math.max(0, parsed.c * 0.4)\n\n return culori.formatCss(parsed)\n}\n\nexport const lightenColor = (color: string, factor = 2) => {\n const parsed = culori.parse(color) // Parse input color\n if (!parsed || parsed.mode !== 'oklch') return color // Ensure it's OKLCH\n\n // Increase lightness, but ensure it doesn't exceed 1\n parsed.l = Math.min(1, parsed.l * factor)\n\n // Reduce chroma slightly to avoid color distortion\n parsed.c = parsed.c * 0.1\n\n return culori.formatCss(parsed)\n}\n\nexport const addStartStopToColorArray = (colorArray: string[]): string[] => {\n const darkColor = (color: string) => darkenColor(color, 0.3)\n const lightColor = (color: string) => lightenColor(color, 2)\n\n const colors = [...colorArray]\n colors.unshift(darkColor(colorArray[0]))\n colors.push(lightColor(colorArray[colorArray.length - 1]))\n return colors\n}\n\nexport const interpolateColors = (color1: string, color2: string, steps: number): ColorData[] => {\n const results: ColorData[] = []\n\n const interpolator = culori.interpolate([color1, color2], 'oklch')\n\n for (let i = 0; i < steps; i++) {\n const t = i / (steps - 1)\n const color = interpolator(t)\n results.push({\n oklch: culori.formatCss(color),\n hex: culori.formatHex(color),\n rgb: culori.formatRgb(color),\n hsl: culori.formatHsl(color),\n })\n }\n\n return results\n}\n\nexport const GenerateInterpolatedColors = (colorArray: string[]): ColorData[] => {\n const newColorArray = addStartStopToColorArray(colorArray)\n\n let fullPalette: ColorData[] = []\n\n // Interpolate between pairs of colors\n for (let i = 0; i < newColorArray.length - 1; i++) {\n const color1 = newColorArray[i]\n const color2 = newColorArray[i + 1]\n const steps = 5\n\n const interpolated = interpolateColors(color1, color2, steps)\n // Remove the last color to avoid duplication, except for the last set\n if (i < newColorArray.length - 2) {\n fullPalette = [...fullPalette, ...interpolated.slice(0, -1)]\n } else {\n fullPalette = [...fullPalette, ...interpolated]\n }\n }\n\n const finalPaletteColours = fullPalette.slice(1, -1).reverse()\n\n return finalPaletteColours\n}\n\nexport const getSurroundingColors = (colors: ColorData[], themeColor: string) => {\n const index = colors.findIndex((color) => color.oklch === themeColor)\n\n if (index === -1) return []\n\n const start = Math.max(0, index - 3)\n const end = Math.min(colors.length, index + 4)\n\n const surroundingColors = colors.slice(start, end)\n\n return surroundingColors\n}\n\nexport const colorDataArray = (\n colorsToUse: ColorData[],\n paletteName: string,\n format: Format,\n output: Output,\n variant: Variant,\n) => {\n return colorsToUse.map((color, index) => {\n const shade = (index + 1) * 50\n const value = color[format]\n const key = variant === 'shades' ? shade : shades[index]\n\n const fullKey =\n variant === 'shades'\n ? `${paletteName}-${shade}`\n : shades[index].includes('DEFAULT')\n ? `${paletteName}`\n : `${paletteName}-${shades[index]}`\n\n switch (output) {\n case 'js':\n case 'ts':\n return `'${key}': '${value}'`\n\n case 'css':\n return `--${fullKey}: ${value};`\n\n case 'scss':\n return `$${fullKey}: ${value};`\n\n case 'less':\n return `@${fullKey}: ${value};`\n\n case 'tailwind':\n return `--color-${fullKey}: ${value};`\n\n case 'json':\n return `\"${fullKey}\": \"${value}\"`\n\n default:\n return ''\n }\n })\n}\n\nexport function createColorArray(colorArray: ColorData[], name: string, type: string) {\n const colorCategories = []\n const kebab = kebabCase(name)\n\n colorCategories.push({\n name: name,\n colors: colorArray.map((color, index) => {\n const value = 50 + index * 50\n const colorName =\n type === 'shades'\n ? `${kebab}-${value}`\n : shades[index].includes('DEFAULT')\n ? `${kebab}`\n : `${kebab}-${shades[index]}`\n\n return {\n token: colorName,\n ...color,\n ...(value === 200 ? { name: `${name} 04` } : {}),\n ...(value === 400 ? { name: `${name} 03` } : {}),\n ...(value === 600 ? { name: `${name} 02` } : {}),\n ...(value === 800 ? { name: `${name} 01` } : {}),\n }\n }),\n })\n\n return colorCategories\n}\n\nexport const isLightColor = (hexColor: string) => {\n const hex = hexColor.replace('#', '')\n const r = Number.parseInt(hex.substring(0, 2), 16)\n const g = Number.parseInt(hex.substring(2, 4), 16)\n const b = Number.parseInt(hex.substring(4, 6), 16)\n const brightness = (r * 299 + g * 587 + b * 114) / 1000\n return brightness > 128\n}\n\nexport const renderColorOutput = (\n colorsToUse: ColorData[],\n paletteName: string,\n format: Format,\n output: Output,\n variant: Variant,\n) => {\n const lines = colorDataArray(colorsToUse, paletteName, format, output, variant)\n\n const indent = (str: string, level = 1) => ' '.repeat(level) + str\n\n switch (output) {\n case 'js':\n case 'ts':\n return `export const ${camelCase(paletteName)} = {\\n${lines\n .map((line) => indent(line + ','))\n .join('\\n')}\\n}`\n\n case 'json':\n return `{\\n \"${paletteName}\": {\\n${lines\n .map((line) => indent(line + ',', 2))\n .join('\\n')}\\n }\\n}`\n\n case 'scss':\n case 'less':\n case 'css':\n case 'tailwind':\n return lines.join('\\n')\n\n default:\n return lines.join('\\n')\n }\n}\n\nexport const renderColorOutputToDTFM = (\n colorsToUse: ColorData[],\n paletteName: string,\n format: Format,\n variant: Variant,\n): string => {\n const isStructured = format !== 'hex'\n\n const parseToStructuredColor = (str: string) => {\n const regex = /([a-z]+)\\(([^)]+)\\)/i\n const match = str.match(regex)\n if (!match) return str\n\n const colorSpace = match[1]\n const channelValues = match[2].split(/[\\s,]+/).map((val) => parseFloat(val))\n\n return {\n colorSpace,\n channels: channelValues,\n alpha: 1,\n }\n }\n\n if (variant === 'shades') {\n const tokens: DesignTokensShades = {\n [paletteName]: {},\n }\n\n colorsToUse.forEach((color, index) => {\n const shade = `${(index + 1) * 50}`\n const raw = color[format]\n const value = {\n $type: 'color' as const,\n $value: isStructured ? parseToStructuredColor(raw) : raw,\n }\n\n tokens[paletteName][shade] = value\n })\n\n return JSON.stringify(tokens, null, 2)\n } else {\n const tokens: Record<string, ColorProperty> = {}\n\n colorsToUse.forEach((color, index) => {\n const shade =\n shades[index] === 'DEFAULT' ? `${paletteName}` : `${paletteName}-${shades[index]}`\n const raw = color[format]\n const value = isStructured ? parseToStructuredColor(raw) : raw\n\n tokens[shade] = {\n value,\n type: 'color',\n }\n })\n\n return JSON.stringify(tokens, null, 2)\n }\n\n /* if (variant === 'shades') {\n const tokens: DesignTokensShades = {\n [paletteName]: {},\n }\n\n colorsToUse.forEach((color, index) => {\n const shade = `${(index + 1) * 50}`\n const raw = color[format]\n const value = {\n $type: 'color' as const,\n $value: isStructured ? parseToStructuredColor(raw) : raw,\n }\n\n tokens[paletteName][shade] = value\n })\n\n return JSON.stringify(tokens, null, 2)\n } else {\n const tokens: DesignTokensTheme = {\n [paletteName]: {\n value: '',\n type: 'color' as const,\n variants: {},\n },\n }\n\n colorsToUse.forEach((color, index) => {\n const shade = shades[index]\n const raw = color[format]\n const value = isStructured ? parseToStructuredColor(raw) : raw\n\n if (shade === 'DEFAULT') {\n tokens[paletteName].value = value\n } else {\n tokens[paletteName].variants[shade] = {\n value,\n type: 'color',\n }\n }\n })\n\n return JSON.stringify(tokens, null, 2)\n } */\n}\n\nexport const themeIndices = [3, 7, 11, 15]\nexport const themeTokens = [200, 400, 600, 800]\n\nexport const generateColorThemes = (colors: ColorThemes) => {\n const colorThemes: ColorThemes = {}\n\n for (const category in colors) {\n colorThemes[category] = {}\n\n for (const shade in colors[category]) {\n const base = colors[category][shade]\n colorThemes[category][shade] = {\n name: base.name,\n colors: themeIndices.map((idx) => {\n const c = base.colors[idx]\n return {\n token: c.token,\n oklch: c.oklch,\n hex: c.hex,\n rgb: c.rgb,\n hsl: c.hsl,\n name: c.name,\n }\n }),\n }\n }\n }\n\n return colorThemes\n}\n\nexport function oklchConverter(hex: string): string {\n const converted = culori.oklch(hex)\n if (!converted) {\n throw new Error(`Invalid hex color: ${hex}`)\n }\n return culori.formatCss(converted)\n}\n\nexport const getColorValue = (\n color: { oklch: string; hex: string; rgb: string; hsl: string },\n colorFormat: 'oklch' | 'rgb' | 'hsl' | 'hex',\n): string => {\n switch (colorFormat) {\n case 'oklch':\n return color.oklch\n case 'rgb':\n return color.rgb\n case 'hsl':\n return color.hsl\n case 'hex':\n default:\n return color.hex\n }\n}\n\nexport const createColorData = (baseColors: string[], format: Format) => {\n return baseColors.map((color) => {\n const parsedColor = culori.parse(color)\n if (!parsedColor) {\n console.warn(`Invalid color: ${color}`)\n return null\n }\n\n const colorData = {\n oklch: culori.formatCss(color) || '',\n hex: culori.formatHex(color) || '',\n rgb: culori.formatRgb(color) || '',\n hsl: culori.formatHsl(color) || '',\n }\n\n return getColorValue(colorData, format)\n })\n}\n","import * as culori from 'culori'\nimport { createColorData } from '../lib/colors'\nimport { Format } from '../types/types'\n\nexport function BaseColorSwatches({\n baseColors,\n format,\n}: {\n baseColors: string[] | undefined\n format: Format\n}) {\n const formattedColor = createColorData(baseColors ?? [], format)\n\n return (\n <div className='flex flex-wrap gap-2'>\n <span className='text-sm font-medium'>Base Colours:</span>\n\n {baseColors?.map((color, index) => (\n <div key={`base-${index}`} className='inline-flex items-center gap-2 text-sm'>\n <div\n className='border-border h-4 w-4 rounded-full border'\n style={{\n backgroundColor: culori.formatHex(culori.parse(color)),\n }}\n />\n <span className='font-mono text-xs'>{formattedColor[index]}</span>\n </div>\n ))}\n </div>\n )\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label='breadcrumb' data-slot='breadcrumb' {...props} />\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot='breadcrumb-list'\n className={cn(\n [\n // Base\n 'text-primary flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot='breadcrumb-item'\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n data-slot='breadcrumb-link'\n className={cn(\n [\n // Base\n '-m-1 rounded p-2 transition-colors',\n // Hover\n 'hover:text-primary-850 hover:bg-primary-800/10',\n // Dark\n 'dark:hover:bg-white/10 dark:hover:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='breadcrumb-page'\n role='link'\n aria-disabled='true'\n aria-current='page'\n className={cn(\n [\n // Base\n 'text-primary-800 font-normal',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot='breadcrumb-separator'\n role='presentation'\n aria-hidden='true'\n className={cn(\n [\n // Base\n 'text-primary-800 [&>svg]:size-5',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n >\n {children ?? <Icons.chevron_right />}\n </li>\n )\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='breadcrumb-ellipsis'\n role='presentation'\n aria-hidden='true'\n className={cn(\n [\n // Base\n 'text-primary-800 flex size-9 items-center justify-center',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n {...props}\n >\n <Icons.more_horiz\n className={cn(\n [\n // Base\n 'text-primary-800 size-5',\n // Dark\n 'dark:text-white',\n ],\n className,\n )}\n />\n <span className='sr-only'>More</span>\n </span>\n )\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot='dropdown-menu' {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot='dropdown-menu-portal' {...props} />\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot='dropdown-menu-trigger' {...props} />\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot='dropdown-menu-content'\n sideOffset={sideOffset}\n className={cn(\n [\n // Base\n 'bg-background text-foreground z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border p-1 shadow-md',\n // Open\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n // Closed\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n // Side\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n // Hover\n '',\n // Focus\n '',\n // Active\n '',\n ],\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot='dropdown-menu-group' {...props} />\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot='dropdown-menu-item'\n data-inset={inset}\n data-variant={variant}\n className={cn(\n [\n // Base\n '',\n ],\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot='dropdown-menu-checkbox-item'\n className={cn(\n [\n // Base\n '',\n ],\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <DropdownMenuPrimitive.ItemIndicator>\n <Icons.check className='size-4' />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot='dropdown-menu-radio-group' {...props} />\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot='dropdown-menu-radio-item'\n className={cn(\n [\n // Base\n '',\n ],\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <DropdownMenuPrimitive.ItemIndicator>\n <Icons.circle className='size-2 fill-current' />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot='dropdown-menu-label'\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot='dropdown-menu-separator'\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='dropdown-menu-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot='dropdown-menu-sub' {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot='dropdown-menu-sub-trigger'\n data-inset={inset}\n className={cn(\n [\n // Base\n '',\n ],\n 'focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_right className='ml-auto size-4' />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot='dropdown-menu-sub-content'\n className={cn(\n [\n // Base\n '',\n ],\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { usePathname } from 'next/navigation'\nimport Link from 'next/link'\n\nimport { BreadcrumbsProps } from '../types/types'\n\nimport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n} from '../components/Breadcrumb'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../components/DropdownMenu'\n\nexport function Breadcrumbs({\n homeLabel = 'Home',\n pathLabels = {},\n showHome = true,\n transformLabel = true,\n maxItems = 4,\n forceShow = false,\n demoPath,\n}: BreadcrumbsProps) {\n const actualPathname = usePathname()\n const pathname = demoPath || actualPathname\n\n // Don't render breadcrumbs on home page unless forceShow is true\n if (pathname === '/' && !forceShow) return null\n\n // Split pathname into segments and remove empty segments\n const segments = pathname.split('/').filter(Boolean)\n\n // Function to transform path segment to readable label\n const getLabel = (segment: string, path: string): string => {\n // Check if we have a custom label for this path\n if (pathLabels[path]) {\n return pathLabels[path]\n }\n\n // Handle dynamic route segments [id], [slug], etc.\n if (segment.startsWith('[') && segment.endsWith(']')) {\n return segment.slice(1, -1).charAt(0).toUpperCase() + segment.slice(2, -1)\n }\n\n // Skip route group segments (folders with parentheses)\n if (segment.startsWith('(') && segment.endsWith(')')) {\n return ''\n }\n\n // Transform kebab-case or snake_case to Title Case\n if (transformLabel) {\n return segment\n .replace(/-/g, ' ')\n .replace(/_/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n }\n\n return segment\n }\n\n // Build breadcrumb items\n const breadcrumbItems = []\n let currentPath = ''\n\n // Add home breadcrumb if enabled\n if (showHome) {\n breadcrumbItems.push({\n label: homeLabel,\n path: '/',\n isHome: true,\n isCurrent: false,\n })\n }\n\n // Add segment breadcrumbs\n segments.forEach((segment, index) => {\n currentPath += `/${segment}`\n\n // Skip route groups\n if (segment.startsWith('(') && segment.endsWith(')')) {\n return\n }\n\n const label = getLabel(segment, currentPath)\n if (!label) return\n\n breadcrumbItems.push({\n label,\n path: currentPath,\n isHome: false,\n isCurrent: index === segments.length - 1,\n })\n })\n\n // Determine if we need to collapse items\n const shouldCollapse = breadcrumbItems.length > maxItems\n\n // Render the breadcrumb items\n if (!shouldCollapse) {\n // If we don't need to collapse, render all items normally\n return (\n <Breadcrumb className='-ml-1'>\n <BreadcrumbList>\n {breadcrumbItems.map((item, index) => (\n <React.Fragment key={item.path}>\n <BreadcrumbItem>\n {item.isCurrent ? (\n <BreadcrumbPage>{item.label}</BreadcrumbPage>\n ) : (\n <BreadcrumbLink asChild>\n <Link href={item.path}>{item.label}</Link>\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < breadcrumbItems.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n )\n }\n\n // If we need to collapse, calculate how many items to show at the start and end\n const startItems = Math.ceil((maxItems - 1) / 2)\n const endItems = Math.floor((maxItems - 1) / 2)\n\n // Get the items to show at the start and end\n const itemsAtStart = breadcrumbItems.slice(0, startItems)\n const itemsAtEnd = breadcrumbItems.slice(-endItems)\n\n // Get the items to collapse in the dropdown\n const collapsedItems = breadcrumbItems.slice(startItems, breadcrumbItems.length - endItems)\n\n return (\n <Breadcrumb>\n <BreadcrumbList>\n {/* Render start items */}\n {itemsAtStart.map((item, index) => (\n <React.Fragment key={item.path}>\n <BreadcrumbItem>\n {item.isCurrent ? (\n <BreadcrumbPage>{item.label}</BreadcrumbPage>\n ) : (\n <BreadcrumbLink asChild>\n <Link href={item.path}>{item.label}</Link>\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < itemsAtStart.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n\n {/* Add separator before dropdown if there are start items */}\n {itemsAtStart.length > 0 && <BreadcrumbSeparator />}\n\n {/* Add ellipsis dropdown */}\n <BreadcrumbItem>\n <DropdownMenu>\n <DropdownMenuTrigger className='hover:bg-primary-800/10 -m-1 flex cursor-pointer items-center gap-1 rounded p-2 transition-colors'>\n <BreadcrumbEllipsis className='h-4 w-4' />\n <span className='sr-only'>Toggle menu</span>\n </DropdownMenuTrigger>\n <DropdownMenuContent align='start'>\n {collapsedItems.map((item) => (\n <DropdownMenuItem key={item.path} asChild>\n <Link href={item.path}>{item.label}</Link>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </BreadcrumbItem>\n\n {/* Add separator after dropdown if there are end items */}\n {itemsAtEnd.length > 0 && <BreadcrumbSeparator />}\n\n {/* Render end items */}\n {itemsAtEnd.map((item, index) => (\n <React.Fragment key={item.path}>\n <BreadcrumbItem>\n {item.isCurrent ? (\n <BreadcrumbPage>{item.label}</BreadcrumbPage>\n ) : (\n <BreadcrumbLink asChild>\n <Link href={item.path}>{item.label}</Link>\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {index < itemsAtEnd.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n )\n}\n","'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card'\n className={cn(\n 'border-nsw-grey-200 dark:border-nsw-grey-50 bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-header'\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-title'\n className={cn('leading-none font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-action'\n className={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot='card-content' className={cn('px-6', className)} {...props} />\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='card-footer'\n className={cn('flex items-center px-6 [.border-t]:pt-6', className)}\n {...props}\n />\n )\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent }\n","'use client'\n\nimport * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { Icons } from '../components/Icons'\n\nimport { cn } from '../lib/utils'\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot='checkbox'\n className={cn(\n 'peer border-grey-200 dark:bg-input/30 data-[state=checked]:bg-primary-800 data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary-800 data-[state=checked]:border-primary-800 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot='checkbox-indicator'\n className='flex items-center justify-center text-current transition-none'\n >\n <Icons.check className='size-3.5' />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n","import { IconProps } from '../types/types'\n\nexport const Social = {\n Facebook: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z'\n clipRule='evenodd'\n />\n </svg>\n ),\n Github: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z'\n clipRule='evenodd'\n />\n </svg>\n ),\n Instagram: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z'\n clipRule='evenodd'\n />\n </svg>\n ),\n LinkedIn: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path d='M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z' />\n </svg>\n ),\n X: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path d='M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z' />\n </svg>\n ),\n YouTube: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' data-slot='icon' {...props}>\n <path\n fillRule='evenodd'\n d='M19.812 5.418c.861.23 1.538.907 1.768 1.768C21.998 8.746 22 12 22 12s0 3.255-.418 4.814a2.504 2.504 0 0 1-1.768 1.768c-1.56.419-7.814.419-7.814.419s-6.255 0-7.814-.419a2.505 2.505 0 0 1-1.768-1.768C2 15.255 2 12 2 12s0-3.255.417-4.814a2.507 2.507 0 0 1 1.768-1.768C5.744 5 11.998 5 11.998 5s6.255 0 7.814.418ZM15.194 12 10 15V9l5.194 3Z'\n clipRule='evenodd'\n />\n </svg>\n ),\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport { cn } from '../lib/utils'\n\nfunction TooltipProvider({\n delayDuration,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot='tooltip-provider'\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot='tooltip' {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot='tooltip-trigger' {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot='tooltip-content'\n sideOffset={sideOffset}\n className={cn(\n 'bg-nsw-grey-800 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance text-white',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className='bg-nsw-grey-800 fill-nsw-grey-800 z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]' />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","'use client'\n\nimport { useRef, useState } from 'react'\nimport { twMerge } from 'tailwind-merge'\nimport { Icons } from '../components/Icons'\n\nexport function PreWithCopy(props: React.HTMLAttributes<HTMLPreElement>) {\n const textInput = useRef<HTMLPreElement>(null)\n const [isJustCopied, setJustCopied] = useState(false)\n\n function handleCopy() {\n if (textInput.current) {\n navigator.clipboard.writeText(textInput.current.textContent || '')\n setJustCopied(true)\n setTimeout(() => setJustCopied(false), 2000)\n }\n }\n\n return (\n <div className='group relative'>\n <pre\n ref={textInput}\n {...props}\n className={twMerge('max-h-[40rem] overflow-auto', props.className)}\n />\n <button\n className='absolute top-2 right-2 m-0.5 inline-flex h-8 items-center justify-center rounded-lg border border-gray-200 bg-white px-2.5 py-2 text-gray-900 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-gray-100 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700'\n aria-label='Copy code to clipboard'\n onClick={handleCopy}\n >\n <span className={twMerge(isJustCopied && 'hidden')}>\n <span className='inline-flex items-center'>\n <Icons.copy className='me-1.5 size-3' />\n <span className='text-xs font-semibold'>Copy code</span>\n </span>\n </span>\n <span className={twMerge(isJustCopied ? 'block' : 'hidden')}>\n <span className='inline-flex items-center'>\n <Icons.check className='text-primary-700 dark:text-primary-500 me-1.5 size-3' />\n <span className='text-primary-700 dark:text-primary-500 text-xs font-semibold'>\n Copied\n </span>\n </span>\n </span>\n </button>\n </div>\n )\n}\n","import Prism from 'prismjs'\nimport { twMerge } from 'tailwind-merge'\nimport { PreWithCopy } from '../components/PreWithCopy'\nimport { CodeHighlightProps } from '../types/types'\n\nimport 'prismjs/components/prism-bash'\nimport 'prismjs/components/prism-css'\nimport 'prismjs/components/prism-javascript'\nimport 'prismjs/components/prism-json'\nimport 'prismjs/components/prism-jsx'\nimport 'prismjs/components/prism-tsx'\nimport 'prismjs/components/prism-typescript'\n\nPrism.manual = true\n\nexport function CodeHighlight({\n code,\n language,\n className,\n withCopy = false,\n ...props\n}: CodeHighlightProps) {\n const highlightedCode = Prism.highlight(code.trim(), Prism.languages[language], language)\n const Component = withCopy ? PreWithCopy : 'pre'\n\n return (\n <Component className={twMerge(`language-${language}`, className)} {...props}>\n <code\n className={`language-${language}`}\n dangerouslySetInnerHTML={{ __html: highlightedCode }}\n />\n </Component>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot='select' {...props} />\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot='select-group' {...props} />\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot='select-value' {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default'\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot='select-trigger'\n data-size={size}\n className={cn(\n // Base styles\n \"border-nsw-grey-600 [&_svg:not([class*='text-'])]:text-nsw-grey-600 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n // Disabled styles\n 'disabled:cursor-not-allowed disabled:opacity-50',\n // aria-invalid styles\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n // Focus styles\n 'focus:outline-primary-650/70 focus:outline focus:outline-2 focus:outline-offset-2',\n // Placeholder styles\n 'data-[placeholder]:text-nsw-grey-600',\n // Dark mode styles\n 'dark:bg-input/30 dark:hover:bg-input/50',\n // Size styles\n 'data-[size=default]:h-12 data-[size=sm]:h-9',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <Icons.chevron_down className='size-6 opacity-80' />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot='select-content'\n className={cn(\n // Base styles\n 'text-nsw-grey-800 bg-white',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot='select-label'\n className={cn('text-nsw-grey-600 px-2 py-1.5 text-xs', className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot='select-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-primary-800 [&_svg:not([class*='text-'])]:text-nsw-grey-600 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:font-bold data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className='absolute right-2 flex size-3.5 items-center justify-center'>\n <SelectPrimitive.ItemIndicator>\n <Icons.check className='size-6' />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot='select-separator'\n className={cn('bg-nsw-primary-800/20 pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot='select-scroll-up-button'\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <Icons.chevron_up className='size-6' />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot='select-scroll-down-button'\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <Icons.chevron_down className='size-6' />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\n\nimport { cn } from '../lib/utils'\n\nfunction Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot='popover' {...props} />\n}\n\nfunction PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot='popover-trigger' {...props} />\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot='popover-content'\n align={align}\n sideOffset={sideOffset}\n className={cn(\n [\n // Base\n 'bg-background text-foreground z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n // Open\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95',\n // Closed\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n // Side\n 'data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n ],\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot='popover-anchor' {...props} />\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n","'use client'\n\nimport * as React from 'react'\nimport * as LabelPrimitive from '@radix-ui/react-label'\n\nimport { cn } from '../lib/utils'\n\nfunction Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot='label'\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","'use client'\n\nimport * as React from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot='radio-group'\n className={cn('grid gap-3', className)}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot='radio-group-item'\n className={cn(\n 'border-nsw-grey-200 text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot='radio-group-indicator'\n className='relative flex items-center justify-center'\n >\n <Icons.circle className='fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2' />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n","'use client'\n\nimport * as React from 'react'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\n\nimport { cn } from '../lib/utils'\n\nfunction SegmentedControl({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='seg-control'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n )\n}\n\nfunction SegmentedControlList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='seg-control-list'\n className={cn(\n [\n // Base\n 'inline-flex h-9 w-fit items-center justify-center rounded-md p-[2px]',\n // Light mode\n 'bg-nsw-grey-100 text-nsw-grey-800',\n // Dark mode\n 'dark:bg-nsw-grey-100/20 dark:text-white',\n // Dark mode hover\n '',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SegmentedControlTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='seg-control-trigger'\n className={cn(\n [\n // Base\n 'inline-flex h-[calc(100%-1px)] flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md border border-transparent px-3 py-2 text-base font-medium whitespace-nowrap transition-[color,box-shadow]',\n // Light mode\n 'text-nsw-grey-800',\n // Focus\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring focus:z-10 focus-visible:ring-[3px] focus-visible:outline-1',\n // Active\n 'data-[state=active]:bg-background data-[state=active]:shadow-sm',\n // Hover\n '',\n // Disabled\n 'disabled:pointer-events-none disabled:opacity-50',\n // Dark mode\n 'dark:text-muted-foreground',\n // Dark mode hover\n '',\n // Dark mode active\n 'dark:data-[state=active]:text-foreground dark:data-[state=active]:bg-input/30',\n // Icon\n '[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\"size-\"])]:size-4',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SegmentedControlContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='seg-control-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nexport { SegmentedControl, SegmentedControlList, SegmentedControlTrigger, SegmentedControlContent }\n","'use client'\n\nimport { Label } from '../components/Label'\nimport { RadioGroup, RadioGroupItem } from '../components/RadioGroup'\nimport { ThemeCategory, ThemeSelectorProps } from '../types/types'\nimport {\n SegmentedControl,\n SegmentedControlList,\n SegmentedControlTrigger,\n} from '@/components/SegmentedControl'\nimport { cn } from '../lib/utils'\n\nconst findGreyKey = (themes: Record<string, unknown>) =>\n Object.keys(themes).find((k) => k.toLowerCase().includes('grey')) ?? ''\n\nexport function ThemeSelector({\n themeCategory,\n setThemeCategory,\n primaryColor,\n setPrimaryColor,\n accentColor,\n setAccentColor,\n greyColor,\n setGreyColor,\n availableAccentColors,\n colorThemes,\n}: ThemeSelectorProps) {\n const handleCategoryChange = (newCategory: ThemeCategory) => {\n setThemeCategory(newCategory)\n\n const availableColors = Object.keys(colorThemes[newCategory])\n\n const neutral = findGreyKey(colorThemes[newCategory])\n if (neutral && neutral !== greyColor) {\n setGreyColor(neutral)\n }\n\n if (availableColors.length > 0) {\n if (availableColors.includes(primaryColor)) {\n const newAccentColor = availableColors.find((color) => color !== primaryColor)\n if (newAccentColor && newAccentColor !== accentColor) {\n setAccentColor(newAccentColor)\n }\n } else {\n setPrimaryColor(availableColors[0])\n\n if (availableColors.length > 1) {\n setAccentColor(availableColors[1])\n }\n }\n }\n }\n\n const labelStyles = {\n base: [\n // Base\n 'group relative flex w-full items-center gap-2 rounded-sm border px-3 py-2',\n // Light mode\n 'border-nsw-grey-200 bg-background',\n // Hover\n 'hover:bg-primary-800/10 hover:text-foreground',\n // Active\n '[&:has([data-state=checked])]:border-nsw-grey-800',\n // Dark mode\n '',\n // Dark hover\n 'dark:hover:bg-white/10',\n // Dark active\n 'dark:group-data-[state=checked]:border-nsw-grey-400',\n ],\n label: [\n // Base\n 'cursor-pointer flex items-center justify-between',\n // Active\n '',\n ],\n }\n\n return (\n <div className='flex flex-col gap-6'>\n <div className='flex flex-col gap-2'>\n <h3 className='font-medium'>Theme Category</h3>\n <SegmentedControl\n value={themeCategory}\n onValueChange={(value) => handleCategoryChange(value as ThemeCategory)}\n >\n <SegmentedControlList className='w-full'>\n <SegmentedControlTrigger value='brand'>Brand Colors</SegmentedControlTrigger>\n <SegmentedControlTrigger value='aboriginal'>Aboriginal Colors</SegmentedControlTrigger>\n </SegmentedControlList>\n </SegmentedControl>\n </div>\n\n <div className='grid gap-6'>\n <div className='flex flex-col gap-3'>\n <h3 className='font-medium'>Primary Color</h3>\n <RadioGroup\n value={primaryColor}\n onValueChange={(value) => setPrimaryColor(value)}\n className='grid grid-cols-2 gap-2'\n >\n {Object.entries(colorThemes[themeCategory]).map(([key, theme]) => (\n <div key={key} className={cn(labelStyles.base, '')}>\n <RadioGroupItem value={key} id={`primary-${key}`} className='peer sr-only' />\n <Label htmlFor={`primary-${key}`} className={cn(labelStyles.label, '')}>\n <div\n className='h-5 w-5 flex-none rounded-full'\n style={{ backgroundColor: theme.colors[3].hex }}\n />\n <span className='shrink'>\n {theme.colors[3].name\n ?.replace(/\\b(NSW|0[1-4])\\b/g, '')\n .replace(/\\s+/g, ' ')\n .trim()}\n </span>\n <span className='absolute inset-0' aria-hidden={true} />\n </Label>\n </div>\n ))}\n </RadioGroup>\n </div>\n\n <div className='flex flex-col gap-3'>\n <h3 className='font-medium'>Accent Color</h3>\n <RadioGroup\n value={accentColor}\n onValueChange={(value) => setAccentColor(value)}\n className='grid grid-cols-2 gap-2'\n >\n {availableAccentColors.map((key) => (\n <div key={key} className={cn(labelStyles.base, '')}>\n <RadioGroupItem value={key} id={`accent-${key}`} className='peer sr-only' />\n <Label htmlFor={`accent-${key}`} className={cn(labelStyles.label, '')}>\n <div\n className='size-5 flex-none rounded-full'\n style={{ backgroundColor: colorThemes[themeCategory][key].colors[2].hex }}\n />\n <span className='shrink'>\n {colorThemes[themeCategory][key].colors[2].name\n ?.replace(/\\b(NSW|0[1-4])\\b/g, '')\n .replace(/\\s+/g, ' ')\n .trim()}\n </span>\n <span className='absolute inset-0' aria-hidden={true} />\n </Label>\n </div>\n ))}\n </RadioGroup>\n </div>\n </div>\n </div>\n )\n}\n","import { ColorThemes, Palette } from '@/types/types'\nimport { oklchConverter } from '@/lib/colors'\nimport { generateColorThemes } from '@/lib/colors'\n\nexport const brand: Record<string, string[]> = {\n grey: [\n oklchConverter('#22272b'),\n oklchConverter('#495054'),\n oklchConverter('#cdd3d6'),\n oklchConverter('#ebebeb'),\n ],\n green: [\n oklchConverter('#004000'),\n oklchConverter('#00aa45'),\n oklchConverter('#a8edb3'),\n oklchConverter('#dbfadf'),\n ],\n teal: [\n oklchConverter('#0b3f47'),\n oklchConverter('#2e808e'),\n oklchConverter('#8cdbe5'),\n oklchConverter('#d1eeea'),\n ],\n blue: [\n oklchConverter('#002664'),\n oklchConverter('#146cfd'),\n oklchConverter('#8ce0ff'),\n oklchConverter('#cbedfd'),\n ],\n purple: [\n oklchConverter('#441170'),\n oklchConverter('#8055f1'),\n oklchConverter('#cebfff'),\n oklchConverter('#e6e1fd'),\n ],\n fuchsia: [\n oklchConverter('#65004d'),\n oklchConverter('#d912ae'),\n oklchConverter('#f4b5e6'),\n oklchConverter('#fddef2'),\n ],\n red: [\n oklchConverter('#630019'),\n oklchConverter('#d7153a'),\n oklchConverter('#ffb8c1'),\n oklchConverter('#ffe6ea'),\n ],\n orange: [\n oklchConverter('#941b00'),\n oklchConverter('#f3631b'),\n oklchConverter('#ffce99'),\n oklchConverter('#fdeddf'),\n ],\n yellow: [\n oklchConverter('#694800'),\n oklchConverter('#faaf05'),\n oklchConverter('#fde79a'),\n oklchConverter('#fff4cf'),\n ],\n brown: [\n oklchConverter('#523719'),\n oklchConverter('#b68d5d'),\n oklchConverter('#e8d0b5'),\n oklchConverter('#ede3d7'),\n ],\n}\n\nexport const aboriginal: Record<string, string[]> = {\n grey: [\n oklchConverter('#2D2D2D'),\n oklchConverter('#555555'),\n oklchConverter('#CCC6C2'),\n oklchConverter('#E5E3E0'),\n ],\n red: [\n oklchConverter('#950906'),\n oklchConverter('#E1261C'),\n oklchConverter('#FBB4B3'),\n oklchConverter('#FDD9D9'),\n ],\n orange: [\n oklchConverter('#882600'),\n oklchConverter('#EE6314'),\n oklchConverter('#F4AA7D'),\n oklchConverter('#F9D4BE'),\n ],\n brown: [\n oklchConverter('#552105'),\n oklchConverter('#9E5332'),\n oklchConverter('#D39165'),\n oklchConverter('#E9C8B2'),\n ],\n yellow: [\n oklchConverter('#895E00'),\n oklchConverter('#FEA927'),\n oklchConverter('#FEE48C'),\n oklchConverter('#FFF1C5'),\n ],\n green: [\n oklchConverter('#215834'),\n oklchConverter('#78A146'),\n oklchConverter('#B5CDA4'),\n oklchConverter('#DAE6D1'),\n ],\n blue: [\n oklchConverter('#162953'),\n oklchConverter('#0D6791'),\n oklchConverter('#84C5D1'),\n oklchConverter('#C1E2E8'),\n ],\n purple: [\n oklchConverter('#472642'),\n oklchConverter('#9A5E93'),\n oklchConverter('#C99AC2'),\n oklchConverter('#E4CCE0'),\n ],\n}\n\nexport const semantic: Record<string, string[]> = {\n success: [\n oklchConverter('#002f00'),\n oklchConverter('#008a07'),\n oklchConverter('#58a854'),\n oklchConverter('#c4e5c0'),\n ],\n warning: [\n oklchConverter('#4b1200'),\n oklchConverter('#C95000'),\n oklchConverter('#dd7d53'),\n oklchConverter('#fdd2c0'),\n ],\n danger: [\n oklchConverter('#44000a'),\n oklchConverter('#B81237'),\n oklchConverter('#d35d65'),\n oklchConverter('#fdc6c6'),\n ],\n info: [\n oklchConverter('#071738'),\n oklchConverter('#2E5299'),\n oklchConverter('#5775ae'),\n oklchConverter('#acbbd5'),\n ],\n}\n\nexport const allPalettes: Palette[] = [\n {\n baseColors: brand.blue,\n name: 'Primary',\n },\n {\n baseColors: brand.red,\n name: 'Accent',\n },\n {\n baseColors: brand.grey,\n name: 'Grey',\n },\n {\n baseColors: semantic.success,\n name: 'Success',\n },\n {\n baseColors: semantic.warning,\n name: 'Warning',\n },\n {\n baseColors: semantic.danger,\n name: 'Danger',\n },\n {\n baseColors: semantic.info,\n name: 'Info',\n },\n {\n baseColors: brand.grey,\n name: 'NSW Grey',\n },\n {\n baseColors: brand.green,\n name: 'NSW Green',\n },\n {\n baseColors: brand.teal,\n name: 'NSW Teal',\n },\n {\n baseColors: brand.blue,\n name: 'NSW Blue',\n },\n {\n baseColors: brand.purple,\n name: 'NSW Purple',\n },\n {\n baseColors: brand.fuchsia,\n name: 'NSW Fuchsia',\n },\n {\n baseColors: brand.red,\n name: 'NSW Red',\n },\n {\n baseColors: brand.orange,\n name: 'NSW Orange',\n },\n {\n baseColors: brand.yellow,\n name: 'NSW Yellow',\n },\n {\n baseColors: brand.brown,\n name: 'NSW Brown',\n },\n {\n baseColors: aboriginal.grey,\n name: 'NSW Aboriginal Grey',\n },\n {\n baseColors: aboriginal.red,\n name: 'NSW Aboriginal Red',\n },\n {\n baseColors: aboriginal.orange,\n name: 'NSW Aboriginal Orange',\n },\n {\n baseColors: aboriginal.brown,\n name: 'NSW Aboriginal Brown',\n },\n {\n baseColors: aboriginal.yellow,\n name: 'NSW Aboriginal Yellow',\n },\n {\n baseColors: aboriginal.green,\n name: 'NSW Aboriginal Green',\n },\n {\n baseColors: aboriginal.blue,\n name: 'NSW Aboriginal Blue',\n },\n {\n baseColors: aboriginal.purple,\n name: 'NSW Aboriginal Purple',\n },\n]\n\nexport const colors: ColorThemes = {\n brand: {\n green: {\n name: 'NSW Green',\n colors: [\n {\n token: 'nsw-green-50',\n oklch: 'oklch(0.9888862054005949 0.015684460842301393 148.90450809902686)',\n hex: '#f5fff6',\n rgb: 'rgb(245, 255, 246)',\n hsl: 'hsl(126.92, 92.48%, 97.87%)',\n },\n {\n token: 'nsw-green-100',\n oklch: 'oklch(0.9777724108011899 0.026542933733125437 148.90450809902686)',\n hex: '#ecfdee',\n rgb: 'rgb(236, 253, 238)',\n hsl: 'hsl(127.18, 81.76%, 95.93%)',\n },\n {\n token: 'nsw-green-150',\n oklch: 'oklch(0.966658616201785 0.03740140662394948 148.90450809902686)',\n hex: '#e4fce7',\n rgb: 'rgb(228, 252, 231)',\n hsl: 'hsl(127.45, 77.77%, 93.96%)',\n },\n {\n token: 'nsw-green-200',\n oklch: 'oklch(0.9555448216023799 0.04825987951477352 148.90450809902686)',\n hex: '#dbfadf',\n rgb: 'rgb(219, 250, 223)',\n hsl: 'hsl(127.74, 75.61%, 91.96%)',\n name: 'NSW Green 04',\n },\n {\n token: 'nsw-green-250',\n oklch: 'oklch(0.93795442561214 0.06251830190357965 148.8847612358868)',\n hex: '#cff7d4',\n rgb: 'rgb(207, 247, 212)',\n hsl: 'hsl(128.12, 71.21%, 88.91%)',\n },\n {\n token: 'nsw-green-300',\n oklch: 'oklch(0.9203640296219002 0.07677672429238579 148.86501437274677)',\n hex: '#c2f4c9',\n rgb: 'rgb(194, 244, 201)',\n hsl: 'hsl(128.55, 68.62%, 85.81%)',\n },\n {\n token: 'nsw-green-350',\n oklch: 'oklch(0.9027736336316604 0.09103514668119192 148.84526750960674)',\n hex: '#b5f0be',\n rgb: 'rgb(181, 240, 190)',\n hsl: 'hsl(129.02, 66.91%, 82.65%)',\n },\n {\n token: 'nsw-green-400',\n oklch: 'oklch(0.8851832376414206 0.10529356906999805 148.82552064646669)',\n hex: '#a8edb3',\n rgb: 'rgb(168, 237, 179)',\n hsl: 'hsl(129.57, 65.71%, 79.41%)',\n name: 'NSW Green 03',\n },\n {\n token: 'nsw-green-450',\n oklch: 'oklch(0.8248441293359839 0.12523789819884273 148.68573660212806)',\n hex: '#8adc98',\n rgb: 'rgb(138, 220, 152)',\n hsl: 'hsl(130.48, 54.36%, 70.18%)',\n },\n {\n token: 'nsw-green-500',\n oklch: 'oklch(0.7645050210305473 0.14518222732768743 148.54595255778946)',\n hex: '#6acc7d',\n rgb: 'rgb(106, 204, 125)',\n hsl: 'hsl(131.91, 48.76%, 60.63%)',\n },\n {\n token: 'nsw-green-550',\n oklch: 'oklch(0.7041659127251108 0.16512655645653213 148.40616851345084)',\n hex: '#45bb62',\n rgb: 'rgb(69, 187, 98)',\n hsl: 'hsl(134.54, 46.29%, 50.21%)',\n },\n {\n token: 'nsw-green-600',\n oklch: 'oklch(0.6438268044196741 0.18507088558537682 148.2663844691122)',\n hex: '#00aa45',\n rgb: 'rgb(0, 170, 69)',\n hsl: 'hsl(144.35, 100%, 33.33%)',\n name: 'NSW Green 02',\n },\n {\n token: 'nsw-green-650',\n oklch: 'oklch(0.5633395874961222 0.16618487162330642 146.82362307378662)',\n hex: '#078e32',\n rgb: 'rgb(7, 142, 50)',\n hsl: 'hsl(139.28, 90.98%, 29.11%)',\n },\n {\n token: 'nsw-green-700',\n oklch: 'oklch(0.4828523705725703 0.147298857661236 145.38086167846106)',\n hex: '#077320',\n rgb: 'rgb(7, 115, 32)',\n hsl: 'hsl(134.23, 89.08%, 23.77%)',\n },\n {\n token: 'nsw-green-750',\n oklch: 'oklch(0.40236515364901837 0.12841284369916556 143.9381002831355)',\n hex: '#03590f',\n rgb: 'rgb(3, 89, 15)',\n hsl: 'hsl(127.99, 92.45%, 18.06%)',\n },\n {\n token: 'nsw-green-800',\n oklch: 'oklch(0.3218779367254665 0.10952682973709514 142.4953388878099)',\n hex: '#004000',\n rgb: 'rgb(0, 64, 0)',\n hsl: 'hsl(120, 100%, 12.55%)',\n name: 'NSW Green 01',\n },\n {\n token: 'nsw-green-850',\n oklch: 'oklch(0.2655492977985099 0.09309780527653087 142.4953388878099)',\n hex: '#003000',\n rgb: 'rgb(0, 48, 0)',\n hsl: 'hsl(120.41, 100%, 8.99%)',\n },\n {\n token: 'nsw-green-900',\n oklch: 'oklch(0.20922065887155322 0.07666878081596659 142.4953388878099)',\n hex: '#002000',\n rgb: 'rgb(0, 32, 0)',\n hsl: 'hsl(120.77, 100%, 5.85%)',\n },\n {\n token: 'nsw-green-950',\n oklch: 'oklch(0.15289201994459659 0.060239756355402324 142.4953388878099)',\n hex: '#001100',\n rgb: 'rgb(0, 17, 0)',\n hsl: 'hsl(121.17, 100%, 3.07%)',\n },\n ],\n },\n teal: {\n name: 'NSW Teal',\n colors: [\n {\n token: 'nsw-teal-50',\n oklch: 'oklch(0.9817421856952406 0.010019570541999173 186.58790176853086)',\n hex: '#f2fbfa',\n rgb: 'rgb(242, 251, 250)',\n hsl: 'hsl(171.22, 56.11%, 96.73%)',\n },\n {\n token: 'nsw-teal-100',\n oklch: 'oklch(0.9634843713904812 0.01695619630184475 186.58790176853086)',\n hex: '#e7f7f5',\n rgb: 'rgb(231, 247, 245)',\n hsl: 'hsl(171.38, 49.48%, 93.72%)',\n },\n {\n token: 'nsw-teal-150',\n oklch: 'oklch(0.9452265570857217 0.02389282206169033 186.58790176853086)',\n hex: '#dcf2ef',\n rgb: 'rgb(220, 242, 239)',\n hsl: 'hsl(171.55, 47.18%, 90.69%)',\n },\n {\n token: 'nsw-teal-200',\n oklch: 'oklch(0.9269687427809623 0.03082944782153591 186.58790176853086)',\n hex: '#d1eeea',\n rgb: 'rgb(209, 238, 234)',\n hsl: 'hsl(171.72, 46.03%, 87.65%)',\n name: 'NSW Teal 04',\n },\n {\n token: 'nsw-teal-250',\n oklch: 'oklch(0.9062032463653427 0.042800313186136286 191.43372937544774)',\n hex: '#c1eae7',\n rgb: 'rgb(193, 234, 231)',\n hsl: 'hsl(176, 49.12%, 83.57%)',\n },\n {\n token: 'nsw-teal-300',\n oklch: 'oklch(0.8854377499497231 0.054771178550736654 196.27955698236462)',\n hex: '#afe5e5',\n rgb: 'rgb(175, 229, 229)',\n hsl: 'hsl(180.06, 50.95%, 79.35%)',\n },\n {\n token: 'nsw-teal-350',\n oklch: 'oklch(0.8646722535341036 0.06674204391533703 201.1253845892815)',\n hex: '#9ee0e5',\n rgb: 'rgb(158, 224, 229)',\n hsl: 'hsl(183.68, 57.18%, 75.79%)',\n },\n {\n token: 'nsw-teal-400',\n oklch: 'oklch(0.843906757118484 0.0787129092799374 205.9712121961984)',\n hex: '#8cdbe5',\n rgb: 'rgb(140, 219, 229)',\n hsl: 'hsl(186.74, 63.12%, 72.35%)',\n name: 'NSW Teal 03',\n },\n {\n token: 'nsw-teal-450',\n oklch: 'oklch(0.7720750773324279 0.0790813961169628 207.2003147622988)',\n hex: '#75c4cf',\n rgb: 'rgb(117, 196, 207)',\n hsl: 'hsl(187.41, 48.14%, 63.4%)',\n },\n {\n token: 'nsw-teal-500',\n oklch: 'oklch(0.7002433975463718 0.07944988295398821 208.4294173283992)',\n hex: '#5eacb9',\n rgb: 'rgb(94, 172, 185)',\n hsl: 'hsl(188, 39.25%, 54.56%)',\n },\n {\n token: 'nsw-teal-550',\n oklch: 'oklch(0.6284117177603156 0.07981836979101362 209.6585198944996)',\n hex: '#4696a3',\n rgb: 'rgb(70, 150, 163)',\n hsl: 'hsl(188.48, 39.69%, 45.78%)',\n },\n {\n token: 'nsw-teal-600',\n oklch: 'oklch(0.5565800379742595 0.08018685662803901 210.8876224606)',\n hex: '#2e808e',\n rgb: 'rgb(46, 128, 142)',\n hsl: 'hsl(188.75, 51.06%, 36.86%)',\n name: 'NSW Teal 02',\n },\n {\n token: 'nsw-teal-650',\n oklch: 'oklch(0.5022148272886866 0.07346217392494098 210.7415844616744)',\n hex: '#256f7b',\n rgb: 'rgb(37, 111, 123)',\n hsl: 'hsl(188.61, 53.88%, 31.46%)',\n },\n {\n token: 'nsw-teal-700',\n oklch: 'oklch(0.44784961660311384 0.06673749122184294 210.5955464627488)',\n hex: '#1c5f69',\n rgb: 'rgb(28, 95, 105)',\n hsl: 'hsl(188.45, 57.8%, 26.19%)',\n },\n {\n token: 'nsw-teal-750',\n oklch: 'oklch(0.39348440591754097 0.06001280851874492 210.4495084638232)',\n hex: '#144e58',\n rgb: 'rgb(20, 78, 88)',\n hsl: 'hsl(188.26, 63.6%, 21.07%)',\n },\n {\n token: 'nsw-teal-800',\n oklch: 'oklch(0.33911919523196815 0.05328812581564689 210.3034704648976)',\n hex: '#0b3f47',\n rgb: 'rgb(11, 63, 71)',\n hsl: 'hsl(188, 73.17%, 16.08%)',\n name: 'NSW Teal 01',\n },\n {\n token: 'nsw-teal-850',\n oklch: 'oklch(0.2797733360663737 0.04529490694329986 210.3034704648976)',\n hex: '#042f35',\n rgb: 'rgb(4, 47, 53)',\n hsl: 'hsl(187.99, 84.92%, 11.28%)',\n },\n {\n token: 'nsw-teal-900',\n oklch: 'oklch(0.2204274769007793 0.037301688070952826 210.3034704648976)',\n hex: '#011f24',\n rgb: 'rgb(1, 31, 36)',\n hsl: 'hsl(188.56, 96.03%, 7.26%)',\n },\n {\n token: 'nsw-teal-950',\n oklch: 'oklch(0.16108161773518487 0.029308469198605788 210.3034704648976)',\n hex: '#001114',\n rgb: 'rgb(0, 17, 20)',\n hsl: 'hsl(190.58, 100%, 3.88%)',\n },\n ],\n },\n blue: {\n name: 'NSW Blue',\n colors: [\n {\n token: 'nsw-blue-50',\n oklch: 'oklch(0.9816683948128555 0.013540580086234762 227.890755564881)',\n hex: '#f0fbff',\n rgb: 'rgb(240, 251, 255)',\n hsl: 'hsl(199.45, 100%, 97.34%)',\n },\n {\n token: 'nsw-blue-100',\n oklch: 'oklch(0.9633367896257109 0.022914827838243446 227.890755564881)',\n hex: '#e4f6ff',\n rgb: 'rgb(228, 246, 255)',\n hsl: 'hsl(199.38, 100%, 94.73%)',\n },\n {\n token: 'nsw-blue-150',\n oklch: 'oklch(0.9450051844385663 0.032289075590252125 227.890755564881)',\n hex: '#d7f2fe',\n rgb: 'rgb(215, 242, 254)',\n hsl: 'hsl(199.3, 95.85%, 92.09%)',\n },\n {\n token: 'nsw-blue-200',\n oklch: 'oklch(0.9266735792514218 0.04166332334226081 227.890755564881)',\n hex: '#cbedfd',\n rgb: 'rgb(203, 237, 253)',\n hsl: 'hsl(199.2, 92.59%, 89.41%)',\n name: 'NSW Blue 04',\n },\n {\n token: 'nsw-blue-250',\n oklch: 'oklch(0.9110280326138016 0.05428316129852959 226.81685418252806)',\n hex: '#bceafe',\n rgb: 'rgb(188, 234, 254)',\n hsl: 'hsl(198.5, 96.87%, 86.75%)',\n },\n {\n token: 'nsw-blue-300',\n oklch: 'oklch(0.8953824859761815 0.06690299925479838 225.74295280017512)',\n hex: '#ade7ff',\n rgb: 'rgb(173, 231, 255)',\n hsl: 'hsl(197.76, 98.99%, 83.89%)',\n },\n {\n token: 'nsw-blue-350',\n oklch: 'oklch(0.8797369393385615 0.07952283721106716 224.66905141782217)',\n hex: '#9de3ff',\n rgb: 'rgb(157, 227, 255)',\n hsl: 'hsl(197, 99.87%, 80.82%)',\n },\n {\n token: 'nsw-blue-400',\n oklch: 'oklch(0.8640913927009413 0.09214267516733594 223.59515003546923)',\n hex: '#8ce0ff',\n rgb: 'rgb(140, 224, 255)',\n hsl: 'hsl(196.17, 100%, 77.45%)',\n name: 'NSW Blue 03',\n },\n {\n token: 'nsw-blue-450',\n oklch: 'oklch(0.7918467078448571 0.12656541375136143 232.8854457721009)',\n hex: '#5ac9ff',\n rgb: 'rgb(90, 201, 255)',\n hsl: 'hsl(199.74, 99.83%, 67.57%)',\n },\n {\n token: 'nsw-blue-500',\n oklch: 'oklch(0.719602022988773 0.1609881523353869 242.17574150873253)',\n hex: '#26aeff',\n rgb: 'rgb(38, 174, 255)',\n hsl: 'hsl(202.52, 100%, 57.55%)',\n },\n {\n token: 'nsw-blue-550',\n oklch: 'oklch(0.6473573381326887 0.19541089091941238 251.4660372453642)',\n hex: '#008fff',\n rgb: 'rgb(0, 143, 255)',\n hsl: 'hsl(204.76, 100%, 46.97%)',\n },\n {\n token: 'nsw-blue-600',\n oklch: 'oklch(0.5751126532766045 0.2298336295034379 260.75633298199585)',\n hex: '#146cfd',\n rgb: 'rgb(20, 108, 253)',\n hsl: 'hsl(217.34, 98.31%, 53.53%)',\n name: 'NSW Blue 02',\n },\n {\n token: 'nsw-blue-650',\n oklch: 'oklch(0.5038341615701663 0.20169915825513662 260.52773388396713)',\n hex: '#0c5ad4',\n rgb: 'rgb(12, 90, 212)',\n hsl: 'hsl(216.77, 89.43%, 43.98%)',\n },\n {\n token: 'nsw-blue-700',\n oklch: 'oklch(0.43255566986372795 0.17356468700683536 260.29913478593846)',\n hex: '#0548ad',\n rgb: 'rgb(5, 72, 173)',\n hsl: 'hsl(216.29, 94.14%, 35%)',\n },\n {\n token: 'nsw-blue-750',\n oklch: 'oklch(0.3612771781572896 0.1454302157585341 260.07053568790974)',\n hex: '#023688',\n rgb: 'rgb(2, 54, 136)',\n hsl: 'hsl(216.37, 97.67%, 26.93%)',\n },\n {\n token: 'nsw-blue-800',\n oklch: 'oklch(0.2899986864508513 0.11729574451023282 259.841936589881)',\n hex: '#002664',\n rgb: 'rgb(0, 38, 100)',\n hsl: 'hsl(217.2, 100%, 19.61%)',\n name: 'NSW Blue 01',\n },\n {\n token: 'nsw-blue-850',\n oklch: 'oklch(0.23924891632195233 0.0997013828336979 259.841936589881)',\n hex: '#001a4d',\n rgb: 'rgb(0, 26, 77)',\n hsl: 'hsl(218.95, 100%, 14.93%)',\n },\n {\n token: 'nsw-blue-900',\n oklch: 'oklch(0.18849914619305336 0.08210702115716298 259.841936589881)',\n hex: '#001037',\n rgb: 'rgb(0, 16, 55)',\n hsl: 'hsl(222.31, 100%, 10.59%)',\n },\n {\n token: 'nsw-blue-950',\n oklch: 'oklch(0.13774937606415438 0.06451265948062805 259.841936589881)',\n hex: '#000622',\n rgb: 'rgb(0, 6, 34)',\n hsl: 'hsl(228.65, 100%, 6.6%)',\n },\n ],\n },\n purple: {\n name: 'NSW Purple',\n colors: [\n {\n token: 'nsw-purple-50',\n oklch: 'oklch(0.9805379794123148 0.012378795916481191 293.8323307371206)',\n hex: '#f9f7ff',\n rgb: 'rgb(249, 247, 255)',\n hsl: 'hsl(250, 100%, 98.76%)',\n },\n {\n token: 'nsw-purple-100',\n oklch: 'oklch(0.9610759588246297 0.020948731550968172 293.8323307371206)',\n hex: '#f2f0ff',\n rgb: 'rgb(242, 240, 255)',\n hsl: 'hsl(250.23, 100%, 97.09%)',\n },\n {\n token: 'nsw-purple-150',\n oklch: 'oklch(0.9416139382369446 0.029518667185455153 293.8323307371206)',\n hex: '#ece8fe',\n rgb: 'rgb(236, 232, 254)',\n hsl: 'hsl(250.47, 93.41%, 95.41%)',\n },\n {\n token: 'nsw-purple-200',\n oklch: 'oklch(0.9221519176492594 0.038088602819942134 293.8323307371206)',\n hex: '#e6e1fd',\n rgb: 'rgb(230, 225, 253)',\n hsl: 'hsl(250.71, 87.5%, 93.73%)',\n name: 'NSW Purple 04',\n },\n {\n token: 'nsw-purple-250',\n oklch: 'oklch(0.9013385389929451 0.05096960178613127 294.16162791277)',\n hex: '#e0d9fe',\n rgb: 'rgb(224, 217, 254)',\n hsl: 'hsl(251.53, 93.83%, 92.23%)',\n },\n {\n token: 'nsw-purple-300',\n oklch: 'oklch(0.8805251603366309 0.06385060075232041 294.4909250884194)',\n hex: '#dad0fe',\n rgb: 'rgb(218, 208, 254)',\n hsl: 'hsl(252.35, 97.33%, 90.69%)',\n },\n {\n token: 'nsw-purple-350',\n oklch: 'oklch(0.8597117816803166 0.07673159971850954 294.8202222640688)',\n hex: '#d4c8ff',\n rgb: 'rgb(212, 200, 255)',\n hsl: 'hsl(253.2, 99.18%, 89.09%)',\n },\n {\n token: 'nsw-purple-400',\n oklch: 'oklch(0.8388984030240023 0.08961259868469867 295.1495194397181)',\n hex: '#cebfff',\n rgb: 'rgb(206, 191, 255)',\n hsl: 'hsl(254.06, 100%, 87.45%)',\n name: 'NSW Purple 03',\n },\n {\n token: 'nsw-purple-450',\n oklch: 'oklch(0.7746062729566157 0.12261307668256607 293.98756051942956)',\n hex: '#baa6fc',\n rgb: 'rgb(186, 166, 252)',\n hsl: 'hsl(253.9, 94.13%, 82.01%)',\n },\n {\n token: 'nsw-purple-500',\n oklch: 'oklch(0.7103141428892291 0.15561355468043347 292.825601599141)',\n hex: '#a68df9',\n rgb: 'rgb(166, 141, 249)',\n hsl: 'hsl(254.11, 90.14%, 76.39%)',\n },\n {\n token: 'nsw-purple-550',\n oklch: 'oklch(0.6460220128218426 0.1886140326783009 291.6636426788525)',\n hex: '#9372f5',\n rgb: 'rgb(147, 114, 245)',\n hsl: 'hsl(254.88, 87.11%, 70.46%)',\n },\n {\n token: 'nsw-purple-600',\n oklch: 'oklch(0.5817298827544559 0.2216145106761683 290.50168375856396)',\n hex: '#8055f1',\n rgb: 'rgb(128, 85, 241)',\n hsl: 'hsl(256.54, 84.78%, 63.92%)',\n name: 'NSW Purple 02',\n },\n {\n token: 'nsw-purple-650',\n oklch: 'oklch(0.5169868726378744 0.203439148040165 293.5593313045061)',\n hex: '#7243cf',\n rgb: 'rgb(114, 67, 207)',\n hsl: 'hsl(260.32, 59.17%, 53.67%)',\n },\n {\n token: 'nsw-purple-700',\n oklch: 'oklch(0.4522438625212928 0.18526378540416166 296.6169788504482)',\n hex: '#6432ae',\n rgb: 'rgb(100, 50, 174)',\n hsl: 'hsl(264.12, 55.46%, 43.83%)',\n },\n {\n token: 'nsw-purple-750',\n oklch: 'oklch(0.3875008524047112 0.16708842276815833 299.67462639639035)',\n hex: '#54218e',\n rgb: 'rgb(84, 33, 142)',\n hsl: 'hsl(268.02, 62.04%, 34.39%)',\n },\n {\n token: 'nsw-purple-800',\n oklch: 'oklch(0.32275784228812965 0.14891306013215502 302.7322739423325)',\n hex: '#441170',\n rgb: 'rgb(68, 17, 112)',\n hsl: 'hsl(272.21, 73.64%, 25.29%)',\n name: 'NSW Purple 01',\n },\n {\n token: 'nsw-purple-850',\n oklch: 'oklch(0.26627521988770697 0.12657610111233178 302.7322739423325)',\n hex: '#330856',\n rgb: 'rgb(51, 8, 86)',\n hsl: 'hsl(272.75, 82.69%, 18.56%)',\n },\n {\n token: 'nsw-purple-900',\n oklch: 'oklch(0.2097925974872843 0.10423914209250851 302.7322739423325)',\n hex: '#23023e',\n rgb: 'rgb(35, 2, 62)',\n hsl: 'hsl(272.45, 92.77%, 12.64%)',\n },\n {\n token: 'nsw-purple-950',\n oklch: 'oklch(0.1533099750868616 0.08190218307268526 302.7322739423325)',\n hex: '#130027',\n rgb: 'rgb(19, 0, 39)',\n hsl: 'hsl(269.95, 100%, 7.66%)',\n },\n ],\n },\n fuchsia: {\n name: 'NSW Fuchsia',\n colors: [\n {\n token: 'nsw-fuchsia-50',\n oklch: 'oklch(0.9829623738966177 0.01392018614736864 339.13418980883597)',\n hex: '#fff6fd',\n rgb: 'rgb(255, 246, 253)',\n hsl: 'hsl(322.15, 100%, 98.49%)',\n },\n {\n token: 'nsw-fuchsia-100',\n oklch: 'oklch(0.9659247477932353 0.023557238095546926 339.13418980883597)',\n hex: '#ffeef9',\n rgb: 'rgb(255, 238, 249)',\n hsl: 'hsl(321.87, 100%, 96.73%)',\n },\n {\n token: 'nsw-fuchsia-150',\n oklch: 'oklch(0.9488871216898529 0.03319429004372521 339.13418980883597)',\n hex: '#fee6f6',\n rgb: 'rgb(254, 230, 246)',\n hsl: 'hsl(321.58, 93.98%, 94.94%)',\n },\n {\n token: 'nsw-fuchsia-200',\n oklch: 'oklch(0.9318494955864706 0.0428313419919035 339.13418980883597)',\n hex: '#fddef2',\n rgb: 'rgb(253, 222, 242)',\n hsl: 'hsl(321.29, 88.57%, 93.14%)',\n name: 'NSW Fuchsia 04',\n },\n {\n token: 'nsw-fuchsia-250',\n oklch: 'oklch(0.9103421700940119 0.056169859500935226 337.9783379111923)',\n hex: '#fbd4ef',\n rgb: 'rgb(251, 212, 239)',\n hsl: 'hsl(319.35, 84.42%, 90.79%)',\n },\n {\n token: 'nsw-fuchsia-300',\n oklch: 'oklch(0.8888348446015532 0.06950837700996695 336.8224860135486)',\n hex: '#f9c9eb',\n rgb: 'rgb(249, 201, 235)',\n hsl: 'hsl(317.38, 80.69%, 88.38%)',\n },\n {\n token: 'nsw-fuchsia-350',\n oklch: 'oklch(0.8673275191090944 0.08284689451899868 335.6666341159049)',\n hex: '#f7bfe9',\n rgb: 'rgb(247, 191, 233)',\n hsl: 'hsl(315.37, 77.28%, 85.89%)',\n },\n {\n token: 'nsw-fuchsia-400',\n oklch: 'oklch(0.8458201936166357 0.09618541202803041 334.5107822182612)',\n hex: '#f4b5e6',\n rgb: 'rgb(244, 181, 230)',\n hsl: 'hsl(313.33, 74.12%, 83.33%)',\n name: 'NSW Fuchsia 03',\n },\n {\n token: 'nsw-fuchsia-450',\n oklch: 'oklch(0.78467847613666 0.13569730252807746 335.94616447972885)',\n hex: '#ef96da',\n rgb: 'rgb(239, 150, 218)',\n hsl: 'hsl(314.16, 73.33%, 76.26%)',\n },\n {\n token: 'nsw-fuchsia-500',\n oklch: 'oklch(0.7235367586566843 0.17520919302812454 337.3815467411964)',\n hex: '#e975cc',\n rgb: 'rgb(233, 117, 204)',\n hsl: 'hsl(314.67, 72.14%, 68.62%)',\n },\n {\n token: 'nsw-fuchsia-550',\n oklch: 'oklch(0.6623950411767086 0.2147210835281716 338.816929002664)',\n hex: '#e150be',\n rgb: 'rgb(225, 80, 190)',\n hsl: 'hsl(314.69, 71.13%, 59.86%)',\n },\n {\n token: 'nsw-fuchsia-600',\n oklch: 'oklch(0.6012533236967328 0.25423297402821865 340.2523112641316)',\n hex: '#d912ae',\n rgb: 'rgb(217, 18, 174)',\n hsl: 'hsl(312.96, 84.68%, 46.08%)',\n name: 'NSW Fuchsia 02',\n },\n {\n token: 'nsw-fuchsia-650',\n oklch: 'oklch(0.5360839646226407 0.22738751413049402 340.61577057263503)',\n hex: '#bb0c94',\n rgb: 'rgb(187, 12, 148)',\n hsl: 'hsl(313.17, 88.39%, 38.86%)',\n },\n {\n token: 'nsw-fuchsia-700',\n oklch: 'oklch(0.4709146055485488 0.20054205423276938 340.9792298811385)',\n hex: '#9d067b',\n rgb: 'rgb(157, 6, 123)',\n hsl: 'hsl(313.38, 92.9%, 31.95%)',\n },\n {\n token: 'nsw-fuchsia-750',\n oklch: 'oklch(0.40574524647445687 0.17369659433504472 341.342689189642)',\n hex: '#810264',\n rgb: 'rgb(129, 2, 100)',\n hsl: 'hsl(313.72, 96.8%, 25.62%)',\n },\n {\n token: 'nsw-fuchsia-800',\n oklch: 'oklch(0.3405758874003649 0.1468511344373201 341.7061484981454)',\n hex: '#65004d',\n rgb: 'rgb(101, 0, 77)',\n hsl: 'hsl(314.26, 100%, 19.8%)',\n name: 'NSW Fuchsia 01',\n },\n {\n token: 'nsw-fuchsia-850',\n oklch: 'oklch(0.28097510710530105 0.12482346427172208 341.7061484981454)',\n hex: '#4d003a',\n rgb: 'rgb(77, 0, 58)',\n hsl: 'hsl(314.51, 100%, 14.68%)',\n },\n {\n token: 'nsw-fuchsia-900',\n oklch: 'oklch(0.22137432681023717 0.10279579410612406 341.7061484981454)',\n hex: '#370028',\n rgb: 'rgb(55, 0, 40)',\n hsl: 'hsl(315.33, 100%, 10.15%)',\n },\n {\n token: 'nsw-fuchsia-950',\n oklch: 'oklch(0.1617735465151733 0.08076812394052604 341.7061484981454)',\n hex: '#220017',\n rgb: 'rgb(34, 0, 23)',\n hsl: 'hsl(317.48, 100%, 6.11%)',\n },\n ],\n },\n red: {\n name: 'NSW Red',\n colors: [\n {\n token: 'nsw-red-50',\n oklch: 'oklch(0.9865629857873716 0.009043874600495525 6.653158456152784)',\n hex: '#fff8f9',\n rgb: 'rgb(255, 248, 249)',\n hsl: 'hsl(350.85, 100%, 98.97%)',\n },\n {\n token: 'nsw-red-100',\n oklch: 'oklch(0.9731259715747431 0.015305018554684736 6.653158456152784)',\n hex: '#fff2f4',\n rgb: 'rgb(255, 242, 244)',\n hsl: 'hsl(350.7, 100%, 97.7%)',\n },\n {\n token: 'nsw-red-150',\n oklch: 'oklch(0.9596889573621147 0.021566162508873946 6.653158456152784)',\n hex: '#ffecef',\n rgb: 'rgb(255, 236, 239)',\n hsl: 'hsl(350.55, 100%, 96.41%)',\n },\n {\n token: 'nsw-red-200',\n oklch: 'oklch(0.9462519431494862 0.027827306463063157 6.653158456152784)',\n hex: '#ffe6ea',\n rgb: 'rgb(255, 230, 234)',\n hsl: 'hsl(350.4, 100%, 95.1%)',\n name: 'NSW Red 04',\n },\n {\n token: 'nsw-red-250',\n oklch: 'oklch(0.9224097820035976 0.041627996281084 7.632544925274676)',\n hex: '#ffdbe0',\n rgb: 'rgb(255, 219, 224)',\n hsl: 'hsl(350.92, 100%, 92.94%)',\n },\n {\n token: 'nsw-red-300',\n oklch: 'oklch(0.8985676208577089 0.05542868609910484 8.611931394396567)',\n hex: '#ffcfd6',\n rgb: 'rgb(255, 207, 214)',\n hsl: 'hsl(351.43, 100%, 90.72%)',\n },\n {\n token: 'nsw-red-350',\n oklch: 'oklch(0.8747254597118204 0.06922937591712569 9.59131786351846)',\n hex: '#ffc4cc',\n rgb: 'rgb(255, 196, 204)',\n hsl: 'hsl(351.92, 100%, 88.44%)',\n },\n {\n token: 'nsw-red-400',\n oklch: 'oklch(0.8508832985659317 0.08303006573514653 10.570704332640352)',\n hex: '#ffb8c1',\n rgb: 'rgb(255, 184, 193)',\n hsl: 'hsl(352.39, 100%, 86.08%)',\n name: 'NSW Red 03',\n },\n {\n token: 'nsw-red-450',\n oklch: 'oklch(0.7786513285230947 0.11664880226231811 13.011419492803782)',\n hex: '#f897a2',\n rgb: 'rgb(248, 151, 162)',\n hsl: 'hsl(353.39, 86.96%, 78.18%)',\n },\n {\n token: 'nsw-red-500',\n oklch: 'oklch(0.7064193584802577 0.15026753878948967 15.45213465296721)',\n hex: '#ef7581',\n rgb: 'rgb(239, 117, 129)',\n hsl: 'hsl(353.95, 78.84%, 69.69%)',\n },\n {\n token: 'nsw-red-550',\n oklch: 'oklch(0.6341873884374207 0.18388627531666124 17.892849813130642)',\n hex: '#e44f5f',\n rgb: 'rgb(228, 79, 95)',\n hsl: 'hsl(353.52, 73.17%, 60.13%)',\n },\n {\n token: 'nsw-red-600',\n oklch: 'oklch(0.5619554183945837 0.2175050118438328 20.33356497329407)',\n hex: '#d7153a',\n rgb: 'rgb(215, 21, 58)',\n hsl: 'hsl(348.56, 82.2%, 46.27%)',\n name: 'NSW Red 02',\n },\n {\n token: 'nsw-red-650',\n oklch: 'oklch(0.5007084126233001 0.1948505033631296 19.53345435711309)',\n hex: '#b90e32',\n rgb: 'rgb(185, 14, 50)',\n hsl: 'hsl(347.26, 85.91%, 38.92%)',\n },\n {\n token: 'nsw-red-700',\n oklch: 'oklch(0.4394614068520166 0.17219599488242637 18.733343740932114)',\n hex: '#9b072a',\n rgb: 'rgb(155, 7, 42)',\n hsl: 'hsl(345.89, 91%, 31.81%)',\n },\n {\n token: 'nsw-red-750',\n oklch: 'oklch(0.3782144010807331 0.14954148640172313 17.933233124751133)',\n hex: '#7e0322',\n rgb: 'rgb(126, 3, 34)',\n hsl: 'hsl(345, 95.87%, 25.31%)',\n },\n {\n token: 'nsw-red-800',\n oklch: 'oklch(0.31696739530944956 0.1268869779210199 17.133122508570153)',\n hex: '#630019',\n rgb: 'rgb(99, 0, 25)',\n hsl: 'hsl(344.85, 100%, 19.41%)',\n name: 'NSW Red 01',\n },\n {\n token: 'nsw-red-850',\n oklch: 'oklch(0.2614981011302959 0.10785393123286692 17.133122508570153)',\n hex: '#4c0010',\n rgb: 'rgb(76, 0, 16)',\n hsl: 'hsl(346.11, 100%, 14.46%)',\n },\n {\n token: 'nsw-red-900',\n oklch: 'oklch(0.20602880695114223 0.08882088454471393 17.133122508570153)',\n hex: '#360008',\n rgb: 'rgb(54, 0, 8)',\n hsl: 'hsl(349.15, 100%, 10.03%)',\n },\n {\n token: 'nsw-red-950',\n oklch: 'oklch(0.15055951277198854 0.06978783785656095 17.133122508570153)',\n hex: '#210003',\n rgb: 'rgb(33, 0, 3)',\n hsl: 'hsl(352.16, 100%, 6.06%)',\n },\n ],\n },\n orange: {\n name: 'NSW Orange',\n colors: [\n {\n token: 'nsw-orange-50',\n oklch: 'oklch(0.9887596459640142 0.008284590272523786 63.743373146104155)',\n hex: '#fffaf6',\n rgb: 'rgb(255, 250, 246)',\n hsl: 'hsl(27.87, 100%, 98.29%)',\n },\n {\n token: 'nsw-orange-100',\n oklch: 'oklch(0.9775192919280284 0.014020075845809487 63.743373146104155)',\n hex: '#fff6ee',\n rgb: 'rgb(255, 246, 238)',\n hsl: 'hsl(27.91, 96.98%, 96.64%)',\n },\n {\n token: 'nsw-orange-150',\n oklch: 'oklch(0.9662789378920427 0.019755561419095187 63.743373146104155)',\n hex: '#fef1e7',\n rgb: 'rgb(254, 241, 231)',\n hsl: 'hsl(27.96, 91.29%, 94.99%)',\n },\n {\n token: 'nsw-orange-200',\n oklch: 'oklch(0.9550385838560569 0.025491046992380886 63.743373146104155)',\n hex: '#fdeddf',\n rgb: 'rgb(253, 237, 223)',\n hsl: 'hsl(28, 88.24%, 93.33%)',\n name: 'NSW Orange 04',\n },\n {\n token: 'nsw-orange-250',\n oklch: 'oklch(0.9367837854692349 0.041089180700628024 64.93015241128123)',\n hex: '#fee5ce',\n rgb: 'rgb(254, 229, 206)',\n hsl: 'hsl(28.75, 96.77%, 90.26%)',\n },\n {\n token: 'nsw-orange-300',\n oklch: 'oklch(0.9185289870824129 0.05668731440887516 66.1169316764583)',\n hex: '#ffddbd',\n rgb: 'rgb(255, 221, 189)',\n hsl: 'hsl(29.52, 99.73%, 87.03%)',\n },\n {\n token: 'nsw-orange-350',\n oklch: 'oklch(0.900274188695591 0.07228544811712229 67.30371094163536)',\n hex: '#ffd6ab',\n rgb: 'rgb(255, 214, 171)',\n hsl: 'hsl(30.32, 100%, 83.62%)',\n },\n {\n token: 'nsw-orange-400',\n oklch: 'oklch(0.882019390308769 0.08788358182536943 68.49049020681242)',\n hex: '#ffce99',\n rgb: 'rgb(255, 206, 153)',\n hsl: 'hsl(31.18, 100%, 80%)',\n name: 'NSW Orange 03',\n },\n {\n token: 'nsw-orange-450',\n oklch: 'oklch(0.8301180073463059 0.11402000052072006 61.90488982503486)',\n hex: '#fdb678',\n rgb: 'rgb(253, 182, 120)',\n hsl: 'hsl(28.25, 96.8%, 73.02%)',\n },\n {\n token: 'nsw-orange-500',\n oklch: 'oklch(0.7782166243838429 0.1401564192160707 55.31928944325728)',\n hex: '#fb9d58',\n rgb: 'rgb(251, 157, 88)',\n hsl: 'hsl(25.48, 94.77%, 66.34%)',\n },\n {\n token: 'nsw-orange-550',\n oklch: 'oklch(0.7263152414213797 0.16629283791142135 48.73368906147971)',\n hex: '#f78139',\n rgb: 'rgb(247, 129, 57)',\n hsl: 'hsl(22.75, 92.62%, 59.79%)',\n },\n {\n token: 'nsw-orange-600',\n oklch: 'oklch(0.6744138584589167 0.192429256606772 42.14808867970214)',\n hex: '#f3631b',\n rgb: 'rgb(243, 99, 27)',\n hsl: 'hsl(20, 90%, 52.94%)',\n name: 'NSW Orange 02',\n },\n {\n token: 'nsw-orange-650',\n oklch: 'oklch(0.6138601814796794 0.18416658101442235 39.866677723327115)',\n hex: '#db5115',\n rgb: 'rgb(219, 81, 21)',\n hsl: 'hsl(18.26, 82.63%, 47%)',\n },\n {\n token: 'nsw-orange-700',\n oklch: 'oklch(0.5533065045004422 0.17590390542207268 37.585266766952095)',\n hex: '#c33f0e',\n rgb: 'rgb(195, 63, 14)',\n hsl: 'hsl(16.43, 86.72%, 40.94%)',\n },\n {\n token: 'nsw-orange-750',\n oklch: 'oklch(0.49275282752120486 0.16764122982972302 35.303855810577076)',\n hex: '#ab2e06',\n rgb: 'rgb(171, 46, 6)',\n hsl: 'hsl(14.39, 93.12%, 34.79%)',\n },\n {\n token: 'nsw-orange-800',\n oklch: 'oklch(0.4321991505419676 0.15937855423737338 33.02244485420205)',\n hex: '#941b00',\n rgb: 'rgb(148, 27, 0)',\n hsl: 'hsl(10.95, 100%, 29.02%)',\n name: 'NSW Orange 01',\n },\n {\n token: 'nsw-orange-850',\n oklch: 'oklch(0.3565642991971233 0.13547177110176736 33.02244485420205)',\n hex: '#730f00',\n rgb: 'rgb(115, 15, 0)',\n hsl: 'hsl(9.09, 100%, 21.91%)',\n },\n {\n token: 'nsw-orange-900',\n oklch: 'oklch(0.2809294478522789 0.11156498796616136 33.02244485420205)',\n hex: '#530400',\n rgb: 'rgb(83, 4, 0)',\n hsl: 'hsl(5.29, 100%, 15.58%)',\n },\n {\n token: 'nsw-orange-950',\n oklch: 'oklch(0.2052945965074346 0.08765820483055536 33.02244485420205)',\n hex: '#350000',\n rgb: 'rgb(53, 0, 0)',\n hsl: 'hsl(2.01, 100%, 9.91%)',\n },\n ],\n },\n yellow: {\n name: 'NSW Yellow',\n colors: [\n {\n token: 'nsw-yellow-50',\n oklch: 'oklch(0.9916099103487608 0.016065385220578425 93.38344614252667)',\n hex: '#fffcf0',\n rgb: 'rgb(255, 252, 240)',\n hsl: 'hsl(46.46, 100%, 97.31%)',\n },\n {\n token: 'nsw-yellow-100',\n oklch: 'oklch(0.9832198206975215 0.02718757498867118 93.38344614252667)',\n hex: '#fffae5',\n rgb: 'rgb(255, 250, 229)',\n hsl: 'hsl(46.38, 100%, 95.09%)',\n },\n {\n token: 'nsw-yellow-150',\n oklch: 'oklch(0.9748297310462821 0.03830976475676393 93.38344614252667)',\n hex: '#fff7da',\n rgb: 'rgb(255, 247, 218)',\n hsl: 'hsl(46.31, 100%, 92.85%)',\n },\n {\n token: 'nsw-yellow-200',\n oklch: 'oklch(0.9664396413950429 0.049431954524856686 93.38344614252667)',\n hex: '#fff4cf',\n rgb: 'rgb(255, 244, 207)',\n hsl: 'hsl(46.25, 100%, 90.59%)',\n name: 'NSW Yellow 04',\n },\n {\n token: 'nsw-yellow-250',\n oklch: 'oklch(0.9570183122704129 0.061834853226387446 93.5472306553523)',\n hex: '#fff1c2',\n rgb: 'rgb(255, 241, 194)',\n hsl: 'hsl(46.33, 98.56%, 88%)',\n },\n {\n token: 'nsw-yellow-300',\n oklch: 'oklch(0.9475969831457829 0.0742377519279182 93.71101516817794)',\n hex: '#feeeb5',\n rgb: 'rgb(254, 238, 181)',\n hsl: 'hsl(46.42, 97.54%, 85.35%)',\n },\n {\n token: 'nsw-yellow-350',\n oklch: 'oklch(0.938175654021153 0.08664065062944896 93.87479968100357)',\n hex: '#feeaa8',\n rgb: 'rgb(254, 234, 168)',\n hsl: 'hsl(46.53, 96.75%, 82.62%)',\n },\n {\n token: 'nsw-yellow-400',\n oklch: 'oklch(0.928754324896523 0.09904354933097972 94.0385841938292)',\n hex: '#fde79a',\n rgb: 'rgb(253, 231, 154)',\n hsl: 'hsl(46.67, 96.12%, 79.8%)',\n name: 'NSW Yellow 03',\n },\n {\n token: 'nsw-yellow-450',\n oklch: 'oklch(0.8978251501132377 0.11612212707646741 89.92658895694369)',\n hex: '#fbda80',\n rgb: 'rgb(251, 218, 128)',\n hsl: 'hsl(43.95, 94.26%, 74.28%)',\n },\n {\n token: 'nsw-yellow-500',\n oklch: 'oklch(0.8668959753299523 0.13320070482195506 85.81459372005818)',\n hex: '#facd63',\n rgb: 'rgb(250, 205, 99)',\n hsl: 'hsl(41.83, 94.17%, 68.55%)',\n },\n {\n token: 'nsw-yellow-550',\n oklch: 'oklch(0.8359668005466669 0.15027928256744275 81.7025984831727)',\n hex: '#fabe42',\n rgb: 'rgb(250, 190, 66)',\n hsl: 'hsl(40.46, 94.83%, 62.04%)',\n },\n {\n token: 'nsw-yellow-600',\n oklch: 'oklch(0.8050376257633817 0.16735786031293043 77.59060324628719)',\n hex: '#faaf05',\n rgb: 'rgb(250, 175, 5)',\n hsl: 'hsl(41.63, 96.08%, 50%)',\n name: 'NSW Yellow 02',\n },\n {\n token: 'nsw-yellow-650',\n oklch: 'oklch(0.7106097269644318 0.14773585550069343 77.86265854004408)',\n hex: '#d49403',\n rgb: 'rgb(212, 148, 3)',\n hsl: 'hsl(41.71, 97.59%, 41.99%)',\n },\n {\n token: 'nsw-yellow-700',\n oklch: 'oklch(0.6161818281654818 0.12811385068845643 78.13471383380096)',\n hex: '#af7a01',\n rgb: 'rgb(175, 122, 1)',\n hsl: 'hsl(41.69, 98.72%, 34.44%)',\n },\n {\n token: 'nsw-yellow-750',\n oklch: 'oklch(0.521753929366532 0.1084918458762194 78.40676912755785)',\n hex: '#8b6000',\n rgb: 'rgb(139, 96, 0)',\n hsl: 'hsl(41.53, 99.5%, 27.31%)',\n },\n {\n token: 'nsw-yellow-800',\n oklch: 'oklch(0.42732603056758206 0.08886984106398241 78.67882442131474)',\n hex: '#694800',\n rgb: 'rgb(105, 72, 0)',\n hsl: 'hsl(41.14, 100%, 20.59%)',\n name: 'NSW Yellow 01',\n },\n {\n token: 'nsw-yellow-850',\n oklch: 'oklch(0.3525439752182552 0.07553936490438505 78.67882442131474)',\n hex: '#503500',\n rgb: 'rgb(80, 53, 0)',\n hsl: 'hsl(40.68, 100%, 15.12%)',\n },\n {\n token: 'nsw-yellow-900',\n oklch: 'oklch(0.27776191986892834 0.06220888874478769 78.67882442131474)',\n hex: '#392400',\n rgb: 'rgb(57, 36, 0)',\n hsl: 'hsl(39.24, 100%, 10.36%)',\n },\n {\n token: 'nsw-yellow-950',\n oklch: 'oklch(0.20297986451960148 0.04887841258519032 78.67882442131474)',\n hex: '#221300',\n rgb: 'rgb(34, 19, 0)',\n hsl: 'hsl(35.52, 100%, 6.19%)',\n },\n ],\n },\n brown: {\n name: 'NSW Brown',\n colors: [\n {\n token: 'nsw-brown-50',\n oklch: 'oklch(0.9801175930362143 0.006321527123876961 72.56545339108834)',\n hex: '#fbf8f4',\n rgb: 'rgb(251, 248, 244)',\n hsl: 'hsl(32.66, 48.5%, 97.07%)',\n },\n {\n token: 'nsw-brown-100',\n oklch: 'oklch(0.9602351860724284 0.010697968978868705 72.56545339108834)',\n hex: '#f6f1ea',\n rgb: 'rgb(246, 241, 234)',\n hsl: 'hsl(32.68, 41.61%, 94.25%)',\n },\n {\n token: 'nsw-brown-150',\n oklch: 'oklch(0.9403527791086426 0.01507441083386045 72.56545339108834)',\n hex: '#f2eae1',\n rgb: 'rgb(242, 234, 225)',\n hsl: 'hsl(32.7, 39.2%, 91.43%)',\n },\n {\n token: 'nsw-brown-200',\n oklch: 'oklch(0.9204703721448568 0.01945085268885219 72.56545339108834)',\n hex: '#ede3d7',\n rgb: 'rgb(237, 227, 215)',\n hsl: 'hsl(32.73, 37.93%, 88.63%)',\n name: 'NSW Brown 04',\n },\n {\n token: 'nsw-brown-250',\n oklch: 'oklch(0.9079853218058483 0.0258503316070154 72.0409329158382)',\n hex: '#ecdece',\n rgb: 'rgb(236, 222, 206)',\n hsl: 'hsl(32.47, 43.13%, 86.7%)',\n },\n {\n token: 'nsw-brown-300',\n oklch: 'oklch(0.8955002714668399 0.03224981052517861 71.51641244058807)',\n hex: '#eadac6',\n rgb: 'rgb(234, 218, 198)',\n hsl: 'hsl(32.23, 47.04%, 84.79%)',\n },\n {\n token: 'nsw-brown-350',\n oklch: 'oklch(0.8830152211278313 0.03864928944334182 70.99189196533794)',\n hex: '#e9d5bd',\n rgb: 'rgb(233, 213, 189)',\n hsl: 'hsl(31.99, 50.11%, 82.88%)',\n },\n {\n token: 'nsw-brown-400',\n oklch: 'oklch(0.8705301707888228 0.04504876836150503 70.4673714900878)',\n hex: '#e8d0b5',\n rgb: 'rgb(232, 208, 181)',\n hsl: 'hsl(31.76, 52.58%, 80.98%)',\n name: 'NSW Brown 03',\n },\n {\n token: 'nsw-brown-450',\n oklch: 'oklch(0.8207420162298631 0.05412276224933329 70.37812098088949)',\n hex: '#dbbf9f',\n rgb: 'rgb(219, 191, 159)',\n hsl: 'hsl(31.83, 46.02%, 74.17%)',\n },\n {\n token: 'nsw-brown-500',\n oklch: 'oklch(0.7709538616709035 0.06319675613716154 70.2888704716912)',\n hex: '#cfae89',\n rgb: 'rgb(207, 174, 137)',\n hsl: 'hsl(31.93, 42.16%, 67.4%)',\n },\n {\n token: 'nsw-brown-550',\n oklch: 'oklch(0.7211657071119438 0.0722707500249898 70.1996199624929)',\n hex: '#c29d73',\n rgb: 'rgb(194, 157, 115)',\n hsl: 'hsl(32.1, 39.63%, 60.67%)',\n },\n {\n token: 'nsw-brown-600',\n oklch: 'oklch(0.6713775525529841 0.08134474391281805 70.1103694532946)',\n hex: '#b68d5d',\n rgb: 'rgb(182, 141, 93)',\n hsl: 'hsl(32.36, 37.87%, 53.92%)',\n name: 'NSW Brown 02',\n },\n {\n token: 'nsw-brown-650',\n oklch: 'oklch(0.5938734136361322 0.0756351453597017 69.31281465877314)',\n hex: '#9c764b',\n rgb: 'rgb(156, 118, 75)',\n hsl: 'hsl(32.04, 34.94%, 45.3%)',\n },\n {\n token: 'nsw-brown-700',\n oklch: 'oklch(0.5163692747192803 0.06992554680658533 68.51525986425168)',\n hex: '#82603a',\n rgb: 'rgb(130, 96, 58)',\n hsl: 'hsl(31.77, 38.54%, 36.92%)',\n },\n {\n token: 'nsw-brown-750',\n oklch: 'oklch(0.4388651358024283 0.06421594825346898 67.71770506973021)',\n hex: '#6a4b29',\n rgb: 'rgb(106, 75, 41)',\n hsl: 'hsl(31.59, 43.99%, 28.81%)',\n },\n {\n token: 'nsw-brown-800',\n oklch: 'oklch(0.3613609968855764 0.058506349700352615 66.92015027520875)',\n hex: '#523719',\n rgb: 'rgb(82, 55, 25)',\n hsl: 'hsl(31.58, 53.27%, 20.98%)',\n name: 'NSW Brown 01',\n },\n {\n token: 'nsw-brown-850',\n oklch: 'oklch(0.2981228224306005 0.04973039724529972 66.92015027520875)',\n hex: '#3e280f',\n rgb: 'rgb(62, 40, 15)',\n hsl: 'hsl(31.74, 60.03%, 15.18%)',\n },\n {\n token: 'nsw-brown-900',\n oklch: 'oklch(0.23488464797562464 0.04095444479024683 66.92015027520875)',\n hex: '#2b1a07',\n rgb: 'rgb(43, 26, 7)',\n hsl: 'hsl(31.73, 72.62%, 9.74%)',\n },\n {\n token: 'nsw-brown-950',\n oklch: 'oklch(0.17164647352064877 0.03217849233519394 66.92015027520875)',\n hex: '#190d02',\n rgb: 'rgb(25, 13, 2)',\n hsl: 'hsl(27.95, 86.11%, 5.27%)',\n },\n ],\n },\n grey: {\n name: 'NSW Grey',\n colors: [\n {\n token: 'nsw-grey-50',\n oklch: 'oklch(0.9850175274112574 0 none)',\n hex: '#fafafa',\n rgb: 'rgb(250, 250, 250)',\n hsl: 'hsl(223.81, 0%, 98.03%)',\n },\n {\n token: 'nsw-grey-100',\n oklch: 'oklch(0.9700350548225147 0 none)',\n hex: '#f5f5f5',\n rgb: 'rgb(245, 245, 245)',\n hsl: 'hsl(223.81, 0%, 96.06%)',\n },\n {\n token: 'nsw-grey-150',\n oklch: 'oklch(0.9550525822337722 0 none)',\n hex: '#f0f0f0',\n rgb: 'rgb(240, 240, 240)',\n hsl: 'hsl(223.81, 0%, 94.11%)',\n },\n {\n token: 'nsw-grey-200',\n oklch: 'oklch(0.9400701096450296 0 none)',\n hex: '#ebebeb',\n rgb: 'rgb(235, 235, 235)',\n hsl: 'hsl(223.81, 0%, 92.16%)',\n name: 'NSW Grey 04',\n },\n {\n token: 'nsw-grey-250',\n oklch: 'oklch(0.9208267112856119 0.0019440594503795112 228.8687380011113)',\n hex: '#e3e5e6',\n rgb: 'rgb(227, 229, 230)',\n hsl: 'hsl(200.05, 4.31%, 89.64%)',\n },\n {\n token: 'nsw-grey-300',\n oklch: 'oklch(0.9015833129261941 0.0038881189007590215 228.8687380011113)',\n hex: '#dcdfe0',\n rgb: 'rgb(220, 223, 224)',\n hsl: 'hsl(200.03, 6.92%, 87.13%)',\n },\n {\n token: 'nsw-grey-350',\n oklch: 'oklch(0.8823399145667763 0.005832178351138532 228.8687380011113)',\n hex: '#d4d9db',\n rgb: 'rgb(212, 217, 219)',\n hsl: 'hsl(200.02, 8.65%, 84.64%)',\n },\n {\n token: 'nsw-grey-400',\n oklch: 'oklch(0.8630965162073586 0.007776237801518043 228.8687380011113)',\n hex: '#cdd3d6',\n rgb: 'rgb(205, 211, 214)',\n hsl: 'hsl(200, 9.89%, 82.16%)',\n name: 'NSW Grey 03',\n },\n {\n token: 'nsw-grey-450',\n oklch: 'oklch(0.7539290831519737 0.008632737257709678 229.8058410593526)',\n hex: '#aab0b4',\n rgb: 'rgb(170, 176, 180)',\n hsl: 'hsl(200.47, 6.03%, 68.52%)',\n },\n {\n token: 'nsw-grey-500',\n oklch: 'oklch(0.6447616500965888 0.009489236713901311 230.74294411759388)',\n hex: '#888f92',\n rgb: 'rgb(136, 143, 146)',\n hsl: 'hsl(200.94, 4.51%, 55.36%)',\n },\n {\n token: 'nsw-grey-550',\n oklch: 'oklch(0.5355942170412039 0.010345736170092946 231.68004717583517)',\n hex: '#686f72',\n rgb: 'rgb(104, 111, 114)',\n hsl: 'hsl(201.39, 4.91%, 42.76%)',\n },\n {\n token: 'nsw-grey-600',\n oklch: 'oklch(0.426426783985819 0.011202235626284581 232.61715023407646)',\n hex: '#495054',\n rgb: 'rgb(73, 80, 84)',\n hsl: 'hsl(201.82, 7.01%, 30.78%)',\n name: 'NSW Grey 02',\n },\n {\n token: 'nsw-grey-650',\n oklch: 'oklch(0.3871732148397997 0.010991669591883444 234.98382249287215)',\n hex: '#3f4549',\n rgb: 'rgb(63, 69, 73)',\n hsl: 'hsl(203.03, 7.74%, 26.71%)',\n },\n {\n token: 'nsw-grey-700',\n oklch: 'oklch(0.3479196456937804 0.010781103557482309 237.35049475166784)',\n hex: '#353b3f',\n rgb: 'rgb(53, 59, 63)',\n hsl: 'hsl(204.24, 8.68%, 22.73%)',\n },\n {\n token: 'nsw-grey-750',\n oklch: 'oklch(0.3086660765477611 0.010570537523081174 239.71716701046353)',\n hex: '#2b3135',\n rgb: 'rgb(43, 49, 53)',\n hsl: 'hsl(205.45, 9.93%, 18.85%)',\n },\n {\n token: 'nsw-grey-800',\n oklch: 'oklch(0.26941250740174183 0.010359971488680036 242.08383926925922)',\n hex: '#22272b',\n rgb: 'rgb(34, 39, 43)',\n hsl: 'hsl(206.67, 11.69%, 15.1%)',\n name: 'NSW Grey 01',\n },\n {\n token: 'nsw-grey-850',\n oklch: 'oklch(0.222265318606437 0.00880597576537803 242.08383926925922)',\n hex: '#181c1f',\n rgb: 'rgb(24, 28, 31)',\n hsl: 'hsl(206.66, 13.37%, 10.7%)',\n },\n {\n token: 'nsw-grey-900',\n oklch: 'oklch(0.17511812981113217 0.007251980042076026 242.08383926925922)',\n hex: '#0e1113',\n rgb: 'rgb(14, 17, 19)',\n hsl: 'hsl(206.64, 17.01%, 6.52%)',\n },\n {\n token: 'nsw-grey-950',\n oklch: 'oklch(0.12797094101582737 0.005697984318774021 242.08383926925922)',\n hex: '#050709',\n rgb: 'rgb(5, 7, 9)',\n hsl: 'hsl(208.68, 23.47%, 2.8%)',\n },\n ],\n },\n },\n aboriginal: {\n red: {\n name: 'NSW Aboriginal Red',\n colors: [\n {\n token: 'nsw-aboriginal-red-50',\n oklch: 'oklch(0.978848545028836 0.013064906949875194 17.91008855652266)',\n hex: '#fff5f5',\n rgb: 'rgb(255, 245, 245)',\n hsl: 'hsl(0.45, 100%, 98.34%)',\n },\n {\n token: 'nsw-aboriginal-red-100',\n oklch: 'oklch(0.9576970900576719 0.022109842530558015 17.91008855652266)',\n hex: '#ffebeb',\n rgb: 'rgb(255, 235, 235)',\n hsl: 'hsl(0.31, 100%, 96.31%)',\n },\n {\n token: 'nsw-aboriginal-red-150',\n oklch: 'oklch(0.9365456350865078 0.031154778111240837 17.91008855652266)',\n hex: '#fee2e2',\n rgb: 'rgb(254, 226, 226)',\n hsl: 'hsl(0.16, 96.42%, 94.24%)',\n },\n {\n token: 'nsw-aboriginal-red-200',\n oklch: 'oklch(0.9153941801153438 0.04019971369192366 17.91008855652266)',\n hex: '#fdd9d9',\n rgb: 'rgb(253, 217, 217)',\n hsl: 'hsl(360, 90%, 92.16%)',\n name: 'Galah Pink',\n },\n {\n token: 'nsw-aboriginal-red-250',\n oklch: 'oklch(0.8955549511653824 0.05093833595471205 18.4044656497934)',\n hex: '#fdd0d0',\n rgb: 'rgb(253, 208, 208)',\n hsl: 'hsl(0.23, 91.24%, 90.28%)',\n },\n {\n token: 'nsw-aboriginal-red-300',\n oklch: 'oklch(0.875715722215421 0.06167695821750044 18.898842743064147)',\n hex: '#fcc7c6',\n rgb: 'rgb(252, 199, 198)',\n hsl: 'hsl(0.45, 91.36%, 88.35%)',\n },\n {\n token: 'nsw-aboriginal-red-350',\n oklch: 'oklch(0.8558764932654596 0.07241558048028882 19.393219836334893)',\n hex: '#fcbdbd',\n rgb: 'rgb(252, 189, 189)',\n hsl: 'hsl(0.65, 90.86%, 86.36%)',\n },\n {\n token: 'nsw-aboriginal-red-400',\n oklch: 'oklch(0.8360372643154982 0.08315420274307721 19.887596929605635)',\n hex: '#fbb4b3',\n rgb: 'rgb(251, 180, 179)',\n hsl: 'hsl(0.83, 90%, 84.31%)',\n name: 'Coral Pink',\n },\n {\n token: 'nsw-aboriginal-red-450',\n oklch: 'oklch(0.7733920694093943 0.11749463840365235 22.199733756281407)',\n hex: '#f79693',\n rgb: 'rgb(247, 150, 147)',\n hsl: 'hsl(1.95, 86.73%, 77.32%)',\n },\n {\n token: 'nsw-aboriginal-red-500',\n oklch: 'oklch(0.7107468745032904 0.15183507406422747 24.51187058295718)',\n hex: '#f27771',\n rgb: 'rgb(242, 119, 113)',\n hsl: 'hsl(2.8, 82.84%, 69.6%)',\n },\n {\n token: 'nsw-aboriginal-red-550',\n oklch: 'oklch(0.6481016795971866 0.1861755097248026 26.824007409632948)',\n hex: '#ea554c',\n rgb: 'rgb(234, 85, 76)',\n hsl: 'hsl(3.23, 79.15%, 60.92%)',\n },\n {\n token: 'nsw-aboriginal-red-600',\n oklch: 'oklch(0.5854564846910827 0.22051594538537772 29.13614423630872)',\n hex: '#e1261c',\n rgb: 'rgb(225, 38, 28)',\n hsl: 'hsl(3.05, 77.87%, 49.61%)',\n name: 'Lap Lap Red',\n },\n {\n token: 'nsw-aboriginal-red-650',\n oklch: 'oklch(0.5451949665626711 0.20759504477588905 29.116922576503878)',\n hex: '#cd1f17',\n rgb: 'rgb(205, 31, 23)',\n hsl: 'hsl(2.8, 80.26%, 44.7%)',\n },\n {\n token: 'nsw-aboriginal-red-700',\n oklch: 'oklch(0.5049334484342595 0.1946741441664004 29.09770091669904)',\n hex: '#ba1811',\n rgb: 'rgb(186, 24, 17)',\n hsl: 'hsl(2.5, 83.29%, 39.86%)',\n },\n {\n token: 'nsw-aboriginal-red-750',\n oklch: 'oklch(0.4646719303058479 0.1817532435569117 29.078479256894198)',\n hex: '#a7110b',\n rgb: 'rgb(167, 17, 11)',\n hsl: 'hsl(2.1, 87.31%, 35.06%)',\n },\n {\n token: 'nsw-aboriginal-red-800',\n oklch: 'oklch(0.4244104121774363 0.16883234294742303 29.059257597089356)',\n hex: '#950906',\n rgb: 'rgb(149, 9, 6)',\n hsl: 'hsl(1.26, 92.26%, 30.39%)',\n name: 'Red Earth',\n },\n {\n token: 'nsw-aboriginal-red-850',\n oklch: 'oklch(0.3501385900463849 0.14350749150530956 29.059257597089356)',\n hex: '#740001',\n rgb: 'rgb(116, 0, 1)',\n hsl: 'hsl(359.74, 99.82%, 22.68%)',\n },\n {\n token: 'nsw-aboriginal-red-900',\n oklch: 'oklch(0.2758667679153336 0.11818264006319612 29.059257597089356)',\n hex: '#540000',\n rgb: 'rgb(84, 0, 0)',\n hsl: 'hsl(358.63, 100%, 15.69%)',\n },\n {\n token: 'nsw-aboriginal-red-950',\n oklch: 'oklch(0.20159494578428225 0.09285778862108267 29.059257597089356)',\n hex: '#360000',\n rgb: 'rgb(54, 0, 0)',\n hsl: 'hsl(357.82, 100%, 9.76%)',\n },\n ],\n },\n orange: {\n name: 'NSW Aboriginal Orange',\n colors: [\n {\n token: 'nsw-aboriginal-orange-50',\n oklch: 'oklch(0.9738855126989008 0.016602591530904584 52.55546216454561)',\n hex: '#fff4ec',\n rgb: 'rgb(255, 244, 236)',\n hsl: 'hsl(22.11, 100%, 96.57%)',\n },\n {\n token: 'nsw-aboriginal-orange-100',\n oklch: 'oklch(0.9477710253978014 0.028096693359992375 52.55546216454561)',\n hex: '#fee9dd',\n rgb: 'rgb(254, 233, 221)',\n hsl: 'hsl(22.19, 93.98%, 93.1%)',\n },\n {\n token: 'nsw-aboriginal-orange-150',\n oklch: 'oklch(0.9216565380967021 0.039590795189080166 52.55546216454561)',\n hex: '#fcdfcd',\n rgb: 'rgb(252, 223, 205)',\n hsl: 'hsl(22.28, 87.05%, 89.61%)',\n },\n {\n token: 'nsw-aboriginal-orange-200',\n oklch: 'oklch(0.8955420507956029 0.05108489701816796 52.55546216454561)',\n hex: '#f9d4be',\n rgb: 'rgb(249, 212, 190)',\n hsl: 'hsl(22.37, 83.1%, 86.08%)',\n name: 'Sunset Orange',\n },\n {\n token: 'nsw-aboriginal-orange-250',\n oklch: 'oklch(0.8714459985514821 0.06477537243882539 52.40983339193463)',\n hex: '#f8caae',\n rgb: 'rgb(248, 202, 174)',\n hsl: 'hsl(22.42, 84.33%, 82.75%)',\n },\n {\n token: 'nsw-aboriginal-orange-300',\n oklch: 'oklch(0.8473499463073613 0.07846584785948284 52.264204619323664)',\n hex: '#f7bf9e',\n rgb: 'rgb(247, 191, 158)',\n hsl: 'hsl(22.48, 84.74%, 79.37%)',\n },\n {\n token: 'nsw-aboriginal-orange-350',\n oklch: 'oklch(0.8232538940632406 0.09215632328014028 52.11857584671269)',\n hex: '#f6b58e',\n rgb: 'rgb(246, 181, 142)',\n hsl: 'hsl(22.56, 84.7%, 75.91%)',\n },\n {\n token: 'nsw-aboriginal-orange-400',\n oklch: 'oklch(0.7991578418191198 0.10584679870079772 51.97294707410171)',\n hex: '#f4aa7d',\n rgb: 'rgb(244, 170, 125)',\n hsl: 'hsl(22.69, 84.4%, 72.35%)',\n name: 'Orange Clay',\n },\n {\n token: 'nsw-aboriginal-orange-450',\n oklch: 'oklch(0.7660019575057643 0.12652886278666134 49.87887684512948)',\n hex: '#f39a66',\n rgb: 'rgb(243, 154, 102)',\n hsl: 'hsl(21.88, 85.61%, 67.77%)',\n },\n {\n token: 'nsw-aboriginal-orange-500',\n oklch: 'oklch(0.7328460731924087 0.14721092687252496 47.784806616157255)',\n hex: '#f2894f',\n rgb: 'rgb(242, 137, 79)',\n hsl: 'hsl(21.18, 86.15%, 63.01%)',\n },\n {\n token: 'nsw-aboriginal-orange-550',\n oklch: 'oklch(0.6996901888790532 0.16789299095838855 45.69073638718503)',\n hex: '#f07736',\n rgb: 'rgb(240, 119, 54)',\n hsl: 'hsl(20.78, 86.28%, 57.76%)',\n },\n {\n token: 'nsw-aboriginal-orange-600',\n oklch: 'oklch(0.6665343045656977 0.18857505504425218 43.5966661582128)',\n hex: '#ee6314',\n rgb: 'rgb(238, 99, 20)',\n hsl: 'hsl(21.74, 86.51%, 50.59%)',\n name: 'Ochre',\n },\n {\n token: 'nsw-aboriginal-orange-650',\n oklch: 'oklch(0.6048689295059245 0.17619193861850896 42.06662366880586)',\n hex: '#d45310',\n rgb: 'rgb(212, 83, 16)',\n hsl: 'hsl(20.61, 86.17%, 44.61%)',\n },\n {\n token: 'nsw-aboriginal-orange-700',\n oklch: 'oklch(0.5432035544461513 0.16380882219276577 40.53658117939892)',\n hex: '#ba440a',\n rgb: 'rgb(186, 68, 10)',\n hsl: 'hsl(19.56, 89.48%, 38.49%)',\n },\n {\n token: 'nsw-aboriginal-orange-750',\n oklch: 'oklch(0.48153817938637805 0.15142570576702258 39.00653868999199)',\n hex: '#a13505',\n rgb: 'rgb(161, 53, 5)',\n hsl: 'hsl(18.46, 94.45%, 32.41%)',\n },\n {\n token: 'nsw-aboriginal-orange-800',\n oklch: 'oklch(0.41987280432660484 0.13904258934127936 37.47649620058505)',\n hex: '#882600',\n rgb: 'rgb(136, 38, 0)',\n hsl: 'hsl(16.76, 100%, 26.67%)',\n name: 'Deep Orange',\n },\n {\n token: 'nsw-aboriginal-orange-850',\n oklch: 'oklch(0.346395063569449 0.11818620094008746 37.47649620058505)',\n hex: '#691900',\n rgb: 'rgb(105, 25, 0)',\n hsl: 'hsl(15.47, 100%, 20.07%)',\n },\n {\n token: 'nsw-aboriginal-orange-900',\n oklch: 'oklch(0.27291732281229314 0.09732981253889555 37.47649620058505)',\n hex: '#4c0d00',\n rgb: 'rgb(76, 13, 0)',\n hsl: 'hsl(12.18, 100%, 14.2%)',\n },\n {\n token: 'nsw-aboriginal-orange-950',\n oklch: 'oklch(0.1994395820551373 0.07647342413770365 37.47649620058505)',\n hex: '#300300',\n rgb: 'rgb(48, 3, 0)',\n hsl: 'hsl(6.72, 100%, 8.94%)',\n },\n ],\n },\n brown: {\n name: 'NSW Aboriginal Brown',\n colors: [\n {\n token: 'nsw-aboriginal-brown-50',\n oklch: 'oklch(0.9637894047428377 0.015576586829445453 55.65798606883124)',\n hex: '#fcf1e9',\n rgb: 'rgb(252, 241, 233)',\n hsl: 'hsl(23.71, 74.46%, 95.12%)',\n },\n {\n token: 'nsw-aboriginal-brown-100',\n oklch: 'oklch(0.9275788094856755 0.02636037771136923 55.65798606883124)',\n hex: '#f6e3d7',\n rgb: 'rgb(246, 227, 215)',\n hsl: 'hsl(23.8, 62.46%, 90.28%)',\n },\n {\n token: 'nsw-aboriginal-brown-150',\n oklch: 'oklch(0.8913682142285133 0.037144168593293 55.65798606883124)',\n hex: '#efd5c4',\n rgb: 'rgb(239, 213, 196)',\n hsl: 'hsl(23.89, 58.05%, 85.44%)',\n },\n {\n token: 'nsw-aboriginal-brown-200',\n oklch: 'oklch(0.855157618971351 0.04792795947521678 55.65798606883124)',\n hex: '#e9c8b2',\n rgb: 'rgb(233, 200, 178)',\n hsl: 'hsl(24, 55.56%, 80.59%)',\n name: 'Macadamia',\n },\n {\n token: 'nsw-aboriginal-brown-250',\n oklch: 'oklch(0.819495130372929 0.060854957675237686 55.274819963495716)',\n hex: '#e4ba9f',\n rgb: 'rgb(228, 186, 159)',\n hsl: 'hsl(23.94, 55.92%, 75.8%)',\n },\n {\n token: 'nsw-aboriginal-brown-300',\n oklch: 'oklch(0.783832641774507 0.07378195587525858 54.8916538581602)',\n hex: '#dead8c',\n rgb: 'rgb(222, 173, 140)',\n hsl: 'hsl(23.91, 55.95%, 70.98%)',\n },\n {\n token: 'nsw-aboriginal-brown-350',\n oklch: 'oklch(0.7481701531760849 0.0867089540752795 54.50848775282467)',\n hex: '#d99f78',\n rgb: 'rgb(217, 159, 120)',\n hsl: 'hsl(23.92, 55.79%, 66.12%)',\n },\n {\n token: 'nsw-aboriginal-brown-400',\n oklch: 'oklch(0.7125076645776629 0.0996359522753004 54.125321647489145)',\n hex: '#d39165',\n rgb: 'rgb(211, 145, 101)',\n hsl: 'hsl(24, 55.56%, 61.18%)',\n name: 'Claystone',\n },\n {\n token: 'nsw-aboriginal-brown-450',\n oklch: 'oklch(0.6658642886991106 0.10220482966257746 51.472089235271014)',\n hex: '#c68158',\n rgb: 'rgb(198, 129, 88)',\n hsl: 'hsl(22.67, 49.07%, 55.96%)',\n },\n {\n token: 'nsw-aboriginal-brown-500',\n oklch: 'oklch(0.6192209128205584 0.10477370704985453 48.81885682305288)',\n hex: '#b9724b',\n rgb: 'rgb(185, 114, 75)',\n hsl: 'hsl(21.29, 43.84%, 50.82%)',\n },\n {\n token: 'nsw-aboriginal-brown-550',\n oklch: 'oklch(0.5725775369420062 0.1073425844371316 46.165624410834745)',\n hex: '#ab623e',\n rgb: 'rgb(171, 98, 62)',\n hsl: 'hsl(19.86, 46.79%, 45.77%)',\n },\n {\n token: 'nsw-aboriginal-brown-600',\n oklch: 'oklch(0.5259341610634539 0.10991146182440867 43.512391998616614)',\n hex: '#9e5332',\n rgb: 'rgb(158, 83, 50)',\n hsl: 'hsl(18.33, 51.92%, 40.78%)',\n name: 'Firewood',\n },\n {\n token: 'nsw-aboriginal-brown-650',\n oklch: 'oklch(0.4745053224355554 0.10391808522528324 43.80561561418423)',\n hex: '#8b4627',\n rgb: 'rgb(139, 70, 39)',\n hsl: 'hsl(18.72, 56.45%, 34.86%)',\n },\n {\n token: 'nsw-aboriginal-brown-700',\n oklch: 'oklch(0.42307648380765683 0.09792470862615782 44.09883922975184)',\n hex: '#79391c',\n rgb: 'rgb(121, 57, 28)',\n hsl: 'hsl(19.21, 62.79%, 29.04%)',\n },\n {\n token: 'nsw-aboriginal-brown-750',\n oklch: 'oklch(0.37164764517975835 0.09193133202703241 44.39206284531945)',\n hex: '#672d10',\n rgb: 'rgb(103, 45, 16)',\n hsl: 'hsl(19.97, 72.56%, 23.3%)',\n },\n {\n token: 'nsw-aboriginal-brown-800',\n oklch: 'oklch(0.3202188065518598 0.08593795542790698 44.68528646088706)',\n hex: '#552105',\n rgb: 'rgb(85, 33, 5)',\n hsl: 'hsl(21, 88.89%, 17.65%)',\n name: 'Riverbed',\n },\n {\n token: 'nsw-aboriginal-brown-850',\n oklch: 'oklch(0.2641805154052843 0.07304726211372094 44.68528646088706)',\n hex: '#411602',\n rgb: 'rgb(65, 22, 2)',\n hsl: 'hsl(19.73, 95.19%, 12.97%)',\n },\n {\n token: 'nsw-aboriginal-brown-900',\n oklch: 'oklch(0.20814222425870887 0.06015656879953489 44.68528646088706)',\n hex: '#2d0c00',\n rgb: 'rgb(45, 12, 0)',\n hsl: 'hsl(16.27, 100%, 8.82%)',\n },\n {\n token: 'nsw-aboriginal-brown-950',\n oklch: 'oklch(0.15210393311213338 0.04726587548534884 44.68528646088706)',\n hex: '#1b0400',\n rgb: 'rgb(27, 4, 0)',\n hsl: 'hsl(10.45, 100%, 5.14%)',\n },\n ],\n },\n yellow: {\n name: 'NSW Aboriginal Yellow',\n colors: [\n {\n token: 'nsw-aboriginal-yellow-50',\n oklch: 'oklch(0.989587621092196 0.019103088481096563 92.48002960723814)',\n hex: '#fffcee',\n rgb: 'rgb(255, 252, 238)',\n hsl: 'hsl(45.72, 100%, 96.78%)',\n },\n {\n token: 'nsw-aboriginal-yellow-100',\n oklch: 'oklch(0.979175242184392 0.03232830358339418 92.48002960723814)',\n hex: '#fff8e0',\n rgb: 'rgb(255, 248, 224)',\n hsl: 'hsl(45.63, 100%, 94.1%)',\n },\n {\n token: 'nsw-aboriginal-yellow-150',\n oklch: 'oklch(0.9687628632765881 0.0455535186856918 92.48002960723814)',\n hex: '#fff5d3',\n rgb: 'rgb(255, 245, 211)',\n hsl: 'hsl(45.57, 100%, 91.38%)',\n },\n {\n token: 'nsw-aboriginal-yellow-200',\n oklch: 'oklch(0.9583504843687841 0.05877873378798942 92.48002960723814)',\n hex: '#fff1c5',\n rgb: 'rgb(255, 241, 197)',\n hsl: 'hsl(45.52, 100%, 88.63%)',\n name: 'Sunbeam',\n },\n {\n token: 'nsw-aboriginal-yellow-250',\n oklch: 'oklch(0.9491347371136292 0.07198796755327139 92.7305165933987)',\n hex: '#ffeeb7',\n rgb: 'rgb(255, 238, 183)',\n hsl: 'hsl(45.68, 99.59%, 85.94%)',\n },\n {\n token: 'nsw-aboriginal-yellow-300',\n oklch: 'oklch(0.9399189898584743 0.08519720131855335 92.98100357955929)',\n hex: '#ffeba9',\n rgb: 'rgb(255, 235, 169)',\n hsl: 'hsl(45.86, 99.15%, 83.16%)',\n },\n {\n token: 'nsw-aboriginal-yellow-350',\n oklch: 'oklch(0.9307032426033194 0.09840643508383531 93.23149056571987)',\n hex: '#fee79b',\n rgb: 'rgb(254, 231, 155)',\n hsl: 'hsl(46.07, 98.71%, 80.28%)',\n },\n {\n token: 'nsw-aboriginal-yellow-400',\n oklch: 'oklch(0.9214874953481644 0.11161566884911728 93.48197755188043)',\n hex: '#fee48c',\n rgb: 'rgb(254, 228, 140)',\n hsl: 'hsl(46.32, 98.28%, 77.25%)',\n name: 'Golden Wattle',\n },\n {\n token: 'nsw-aboriginal-yellow-450',\n oklch: 'oklch(0.8910195189839808 0.12436290150788638 87.85568397462671)',\n hex: '#fed675',\n rgb: 'rgb(254, 214, 117)',\n hsl: 'hsl(42.77, 97.91%, 72.64%)',\n },\n {\n token: 'nsw-aboriginal-yellow-500',\n oklch: 'oklch(0.8605515426197972 0.1371101341666555 82.22939039737301)',\n hex: '#fec85d',\n rgb: 'rgb(254, 200, 93)',\n hsl: 'hsl(39.92, 98.26%, 68.02%)',\n },\n {\n token: 'nsw-aboriginal-yellow-550',\n oklch: 'oklch(0.8300835662556136 0.1498573668254246 76.60309682011929)',\n hex: '#feb944',\n rgb: 'rgb(254, 185, 68)',\n hsl: 'hsl(37.69, 98.75%, 63.17%)',\n },\n {\n token: 'nsw-aboriginal-yellow-600',\n oklch: 'oklch(0.79961558989143 0.1626045994841937 70.97680324286557)',\n hex: '#fea927',\n rgb: 'rgb(254, 169, 39)',\n hsl: 'hsl(36.28, 99.08%, 57.45%)',\n name: 'Sandstone Yellow',\n },\n {\n token: 'nsw-aboriginal-yellow-650',\n oklch: 'oklch(0.7283788119804733 0.14880860016855085 72.64225880919277)',\n hex: '#df961c',\n rgb: 'rgb(223, 150, 28)',\n hsl: 'hsl(37.45, 77.64%, 49.26%)',\n },\n {\n token: 'nsw-aboriginal-yellow-700',\n oklch: 'oklch(0.6571420340695165 0.13501260085290803 74.30771437551996)',\n hex: '#c18312',\n rgb: 'rgb(193, 131, 18)',\n hsl: 'hsl(38.69, 83.35%, 41.35%)',\n },\n {\n token: 'nsw-aboriginal-yellow-750',\n oklch: 'oklch(0.5859052561585598 0.1212166015372652 75.97316994184717)',\n hex: '#a57007',\n rgb: 'rgb(165, 112, 7)',\n hsl: 'hsl(40.07, 91.76%, 33.66%)',\n },\n {\n token: 'nsw-aboriginal-yellow-800',\n oklch: 'oklch(0.5146684782476031 0.10742060222162236 77.63862550817437)',\n hex: '#895e00',\n rgb: 'rgb(137, 94, 0)',\n hsl: 'hsl(41.17, 100%, 26.86%)',\n name: 'Bush Honey',\n },\n {\n token: 'nsw-aboriginal-yellow-850',\n oklch: 'oklch(0.42460149455427254 0.09130751188837902 77.63862550817437)',\n hex: '#694700',\n rgb: 'rgb(105, 71, 0)',\n hsl: 'hsl(41.1, 100%, 19.64%)',\n },\n {\n token: 'nsw-aboriginal-yellow-900',\n oklch: 'oklch(0.334534510860942 0.07519442155513566 77.63862550817437)',\n hex: '#4c3000',\n rgb: 'rgb(76, 48, 0)',\n hsl: 'hsl(40.13, 100%, 13.55%)',\n },\n {\n token: 'nsw-aboriginal-yellow-950',\n oklch: 'oklch(0.24446752716761147 0.059081331221892304 77.63862550817437)',\n hex: '#2f1c00',\n rgb: 'rgb(47, 28, 0)',\n hsl: 'hsl(37.35, 100%, 8.33%)',\n },\n ],\n },\n green: {\n name: 'NSW Aboriginal Green',\n colors: [\n {\n token: 'nsw-aboriginal-green-50',\n oklch: 'oklch(0.9775400515432829 0.010033373009012674 131.56364967590204)',\n hex: '#f5f9f2',\n rgb: 'rgb(245, 249, 242)',\n hsl: 'hsl(94.61, 37.03%, 96.34%)',\n },\n {\n token: 'nsw-aboriginal-green-100',\n oklch: 'oklch(0.9550801030865659 0.016979554322944526 131.56364967590204)',\n hex: '#ecf3e7',\n rgb: 'rgb(236, 243, 231)',\n hsl: 'hsl(94.51, 32.21%, 92.9%)',\n },\n {\n token: 'nsw-aboriginal-green-150',\n oklch: 'oklch(0.9326201546298487 0.023925735636876375 131.56364967590204)',\n hex: '#e3ecdc',\n rgb: 'rgb(227, 236, 220)',\n hsl: 'hsl(94.4, 30.49%, 89.48%)',\n },\n {\n token: 'nsw-aboriginal-green-200',\n oklch: 'oklch(0.9101602061731316 0.030871916950808227 131.56364967590204)',\n hex: '#dae6d1',\n rgb: 'rgb(218, 230, 209)',\n hsl: 'hsl(94.29, 29.58%, 86.08%)',\n name: 'Gumleaf Green',\n },\n {\n token: 'nsw-aboriginal-green-250',\n oklch: 'oklch(0.8874934999312177 0.03857982981011093 131.78279512830795)',\n hex: '#d1e0c6',\n rgb: 'rgb(209, 224, 198)',\n hsl: 'hsl(94.5, 29.43%, 82.62%)',\n },\n {\n token: 'nsw-aboriginal-green-300',\n oklch: 'oklch(0.8648267936893037 0.04628774266941364 132.0019405807139)',\n hex: '#c7d9ba',\n rgb: 'rgb(199, 217, 186)',\n hsl: 'hsl(94.72, 29.3%, 79.18%)',\n },\n {\n token: 'nsw-aboriginal-green-350',\n oklch: 'oklch(0.8421600874473898 0.053995655528716345 132.22108603311983)',\n hex: '#bed3af',\n rgb: 'rgb(190, 211, 175)',\n hsl: 'hsl(94.92, 29.18%, 75.76%)',\n },\n {\n token: 'nsw-aboriginal-green-400',\n oklch: 'oklch(0.8194933812054759 0.061703568388019055 132.44023148552574)',\n hex: '#b5cda4',\n rgb: 'rgb(181, 205, 164)',\n hsl: 'hsl(95.12, 29.08%, 72.35%)',\n name: 'Saltbush Green',\n },\n {\n token: 'nsw-aboriginal-green-450',\n oklch: 'oklch(0.7793221671789816 0.078504962905952 131.72356982833844)',\n hex: '#a5c28e',\n rgb: 'rgb(165, 194, 142)',\n hsl: 'hsl(93.46, 30.08%, 65.88%)',\n },\n {\n token: 'nsw-aboriginal-green-500',\n oklch: 'oklch(0.7391509531524875 0.09530635742388496 131.0069081711511)',\n hex: '#95b777',\n rgb: 'rgb(149, 183, 119)',\n hsl: 'hsl(91.63, 30.85%, 59.29%)',\n },\n {\n token: 'nsw-aboriginal-green-550',\n oklch: 'oklch(0.6989797391259933 0.11210775194181792 130.29024651396378)',\n hex: '#86ac60',\n rgb: 'rgb(134, 172, 96)',\n hsl: 'hsl(89.55, 31.61%, 52.5%)',\n },\n {\n token: 'nsw-aboriginal-green-600',\n oklch: 'oklch(0.658808525099499 0.12890914645975088 129.57358485677648)',\n hex: '#78a146',\n rgb: 'rgb(120, 161, 70)',\n hsl: 'hsl(87.03, 39.39%, 45.29%)',\n name: 'Marshland Lime',\n },\n {\n token: 'nsw-aboriginal-green-650',\n oklch: 'oklch(0.5974184207826408 0.11760535943305413 135.2430093260659)',\n hex: '#5f8f44',\n rgb: 'rgb(95, 143, 68)',\n hsl: 'hsl(97.99, 35.67%, 41.28%)',\n },\n {\n token: 'nsw-aboriginal-green-700',\n oklch: 'oklch(0.5360283164657826 0.10630157240635738 140.91243379535533)',\n hex: '#497d40',\n rgb: 'rgb(73, 125, 64)',\n hsl: 'hsl(111.48, 32.13%, 36.95%)',\n },\n {\n token: 'nsw-aboriginal-green-750',\n oklch: 'oklch(0.47463821214892454 0.09499778537966062 146.58185826464475)',\n hex: '#346a3b',\n rgb: 'rgb(52, 106, 59)',\n hsl: 'hsl(127.58, 34.41%, 30.98%)',\n },\n {\n token: 'nsw-aboriginal-green-800',\n oklch: 'oklch(0.41324810783206634 0.08369399835296387 152.25128273393418)',\n hex: '#215834',\n rgb: 'rgb(33, 88, 52)',\n hsl: 'hsl(140.73, 45.45%, 23.73%)',\n name: 'Bushland Green',\n },\n {\n token: 'nsw-aboriginal-green-850',\n oklch: 'oklch(0.3409296889614547 0.07113989860001929 152.25128273393418)',\n hex: '#154225',\n rgb: 'rgb(21, 66, 37)',\n hsl: 'hsl(141.23, 51.5%, 17.2%)',\n },\n {\n token: 'nsw-aboriginal-green-900',\n oklch: 'oklch(0.2686112700908431 0.05858579884707471 152.25128273393418)',\n hex: '#0a2e17',\n rgb: 'rgb(10, 46, 23)',\n hsl: 'hsl(142.1, 64.01%, 11%)',\n },\n {\n token: 'nsw-aboriginal-green-950',\n oklch: 'oklch(0.1962928512202315 0.04603169909413013 152.25128273393418)',\n hex: '#021b0a',\n rgb: 'rgb(2, 27, 10)',\n hsl: 'hsl(139.39, 83.32%, 5.75%)',\n },\n ],\n },\n blue: {\n name: 'NSW Aboriginal Blue',\n colors: [\n {\n token: 'nsw-aboriginal-blue-50',\n oklch: 'oklch(0.9726963960813712 0.01158607281784324 209.8212580578204)',\n hex: '#eef8fa',\n rgb: 'rgb(238, 248, 250)',\n hsl: 'hsl(189.24, 57.11%, 95.67%)',\n },\n {\n token: 'nsw-aboriginal-blue-100',\n oklch: 'oklch(0.9453927921627423 0.019607200153273174 209.8212580578204)',\n hex: '#dff1f4',\n rgb: 'rgb(223, 241, 244)',\n hsl: 'hsl(189.24, 49.64%, 91.57%)',\n },\n {\n token: 'nsw-aboriginal-blue-150',\n oklch: 'oklch(0.9180891882441133 0.027628327488703107 209.8212580578204)',\n hex: '#d0e9ee',\n rgb: 'rgb(208, 233, 238)',\n hsl: 'hsl(189.24, 47.11%, 87.45%)',\n },\n {\n token: 'nsw-aboriginal-blue-200',\n oklch: 'oklch(0.8907855843254845 0.035649454824133044 209.8212580578204)',\n hex: '#c1e2e8',\n rgb: 'rgb(193, 226, 232)',\n hsl: 'hsl(189.23, 45.88%, 83.33%)',\n name: 'Coastal Blue',\n },\n {\n token: 'nsw-aboriginal-blue-250',\n oklch: 'oklch(0.8640751367196432 0.04375221215713473 209.95866132774938)',\n hex: '#b2dbe2',\n rgb: 'rgb(178, 219, 226)',\n hsl: 'hsl(189.29, 45.53%, 79.28%)',\n },\n {\n token: 'nsw-aboriginal-blue-300',\n oklch: 'oklch(0.8373646891138018 0.05185496949013642 210.09606459767838)',\n hex: '#a3d4dc',\n rgb: 'rgb(163, 212, 220)',\n hsl: 'hsl(189.34, 45.39%, 75.19%)',\n },\n {\n token: 'nsw-aboriginal-blue-350',\n oklch: 'oklch(0.8106542415079605 0.0599577268231381 210.23346786760737)',\n hex: '#94ccd7',\n rgb: 'rgb(148, 204, 215)',\n hsl: 'hsl(189.36, 45.41%, 71.06%)',\n },\n {\n token: 'nsw-aboriginal-blue-400',\n oklch: 'oklch(0.7839437939021192 0.06806048415613979 210.37087113753637)',\n hex: '#84c5d1',\n rgb: 'rgb(132, 197, 209)',\n hsl: 'hsl(189.35, 45.56%, 66.86%)',\n name: 'Light Water Blue',\n },\n {\n token: 'nsw-aboriginal-blue-450',\n oklch: 'oklch(0.7096613718024245 0.0763659542620009 216.89866687611752)',\n hex: '#67aec0',\n rgb: 'rgb(103, 174, 192)',\n hsl: 'hsl(192.66, 41.82%, 57.86%)',\n },\n {\n token: 'nsw-aboriginal-blue-500',\n oklch: 'oklch(0.6353789497027299 0.08467142436786204 223.42646261469866)',\n hex: '#4a96b0',\n rgb: 'rgb(74, 150, 176)',\n hsl: 'hsl(195.5, 40.89%, 49.12%)',\n },\n {\n token: 'nsw-aboriginal-blue-550',\n oklch: 'oklch(0.5610965276030352 0.09297689447372316 229.9542583532798)',\n hex: '#2e7fa1',\n rgb: 'rgb(46, 127, 161)',\n hsl: 'hsl(197.85, 55.74%, 40.47%)',\n },\n {\n token: 'nsw-aboriginal-blue-600',\n oklch: 'oklch(0.48681410550334053 0.10128236457958428 236.48205409186096)',\n hex: '#0d6791',\n rgb: 'rgb(13, 103, 145)',\n hsl: 'hsl(199.09, 83.54%, 30.98%)',\n name: 'Saltwater Blue',\n },\n {\n token: 'nsw-aboriginal-blue-650',\n oklch: 'oklch(0.43774688628471914 0.09607362828959434 243.31473157010598)',\n hex: '#145782',\n rgb: 'rgb(20, 87, 130)',\n hsl: 'hsl(203.84, 73.26%, 29.5%)',\n },\n {\n token: 'nsw-aboriginal-blue-700',\n oklch: 'oklch(0.3886796670660978 0.09086489199960439 250.147409048351)',\n hex: '#174773',\n rgb: 'rgb(23, 71, 115)',\n hsl: 'hsl(208.96, 66.46%, 27.09%)',\n },\n {\n token: 'nsw-aboriginal-blue-750',\n oklch: 'oklch(0.3396124478474764 0.08565615570961443 256.980086526596)',\n hex: '#183763',\n rgb: 'rgb(24, 55, 99)',\n hsl: 'hsl(214.68, 61.55%, 24.07%)',\n },\n {\n token: 'nsw-aboriginal-blue-800',\n oklch: 'oklch(0.290545228628855 0.0804474194196245 263.81276400484103)',\n hex: '#162953',\n rgb: 'rgb(22, 41, 83)',\n hsl: 'hsl(221.31, 58.1%, 20.59%)',\n name: 'River Blue',\n },\n {\n token: 'nsw-aboriginal-blue-850',\n oklch: 'oklch(0.23969981361880538 0.06838030650668082 263.81276400484103)',\n hex: '#0e1d3f',\n rgb: 'rgb(14, 29, 63)',\n hsl: 'hsl(221.4, 64.27%, 15.08%)',\n },\n {\n token: 'nsw-aboriginal-blue-900',\n oklch: 'oklch(0.18885439860875575 0.05631319359373715 263.81276400484103)',\n hex: '#06122c',\n rgb: 'rgb(6, 18, 44)',\n hsl: 'hsl(222.04, 74.71%, 9.95%)',\n },\n {\n token: 'nsw-aboriginal-blue-950',\n oklch: 'oklch(0.13800898359870611 0.04424608068079347 263.81276400484103)',\n hex: '#02071b',\n rgb: 'rgb(2, 7, 27)',\n hsl: 'hsl(227.14, 84.88%, 5.65%)',\n },\n ],\n },\n purple: {\n name: 'NSW Aboriginal Purple',\n colors: [\n {\n token: 'nsw-aboriginal-purple-50',\n oklch: 'oklch(0.9677519235816936 0.01225423399018933 331.39469318233586)',\n hex: '#faf1f8',\n rgb: 'rgb(250, 241, 248)',\n hsl: 'hsl(310.68, 42.61%, 96.28%)',\n },\n {\n token: 'nsw-aboriginal-purple-100',\n oklch: 'oklch(0.9355038471633873 0.020737934444935786 331.39469318233586)',\n hex: '#f2e5f0',\n rgb: 'rgb(242, 229, 240)',\n hsl: 'hsl(310.46, 34.93%, 92.41%)',\n },\n {\n token: 'nsw-aboriginal-purple-150',\n oklch: 'oklch(0.903255770745081 0.02922163489968224 331.39469318233586)',\n hex: '#ebd8e8',\n rgb: 'rgb(235, 216, 232)',\n hsl: 'hsl(310.24, 32.24%, 88.56%)',\n },\n {\n token: 'nsw-aboriginal-purple-200',\n oklch: 'oklch(0.8710076943267746 0.0377053353544287 331.39469318233586)',\n hex: '#e4cce0',\n rgb: 'rgb(228, 204, 224)',\n hsl: 'hsl(310, 30.77%, 84.71%)',\n name: 'Dusk Purple',\n },\n {\n token: 'nsw-aboriginal-purple-250',\n oklch: 'oklch(0.8389191100209297 0.04764157951006853 331.4172179039917)',\n hex: '#ddbfd8',\n rgb: 'rgb(221, 191, 216)',\n hsl: 'hsl(309.75, 30.82%, 80.93%)',\n },\n {\n token: 'nsw-aboriginal-purple-300',\n oklch: 'oklch(0.8068305257150847 0.05757782366570837 331.4397426256475)',\n hex: '#d7b3d1',\n rgb: 'rgb(215, 179, 209)',\n hsl: 'hsl(309.5, 30.72%, 77.16%)',\n },\n {\n token: 'nsw-aboriginal-purple-350',\n oklch: 'oklch(0.7747419414092399 0.06751406782134821 331.46226734730334)',\n hex: '#d0a6c9',\n rgb: 'rgb(208, 166, 201)',\n hsl: 'hsl(309.22, 30.55%, 73.39%)',\n },\n {\n token: 'nsw-aboriginal-purple-400',\n oklch: 'oklch(0.742653357103395 0.07745031197698804 331.48479206895917)',\n hex: '#c99ac2',\n rgb: 'rgb(201, 154, 194)',\n hsl: 'hsl(308.94, 30.32%, 69.61%)',\n name: 'Lilli Pilli',\n },\n {\n token: 'nsw-aboriginal-purple-450',\n oklch: 'oklch(0.6987279730890662 0.08461715270888535 331.3997569775923)',\n hex: '#bd8bb6',\n rgb: 'rgb(189, 139, 182)',\n hsl: 'hsl(308.5, 27.72%, 64.31%)',\n },\n {\n token: 'nsw-aboriginal-purple-500',\n oklch: 'oklch(0.6548025890747375 0.09178399344078267 331.31472188622536)',\n hex: '#b17caa',\n rgb: 'rgb(177, 124, 170)',\n hsl: 'hsl(308.03, 25.74%, 59.05%)',\n },\n {\n token: 'nsw-aboriginal-purple-550',\n oklch: 'oklch(0.6108772050604088 0.09895083417268 331.2296867948585)',\n hex: '#a66d9f',\n rgb: 'rgb(166, 109, 159)',\n hsl: 'hsl(307.53, 24.18%, 53.83%)',\n },\n {\n token: 'nsw-aboriginal-purple-600',\n oklch: 'oklch(0.56695182104608 0.10611767490457731 331.1446517034916)',\n hex: '#9a5e93',\n rgb: 'rgb(154, 94, 147)',\n hsl: 'hsl(307, 24.19%, 48.63%)',\n name: 'Spirit Lilac',\n },\n {\n token: 'nsw-aboriginal-purple-650',\n oklch: 'oklch(0.5059681066477375 0.09597195429905764 331.53840819994554)',\n hex: '#844f7e',\n rgb: 'rgb(132, 79, 126)',\n hsl: 'hsl(307.56, 25.08%, 41.48%)',\n },\n {\n token: 'nsw-aboriginal-purple-700',\n oklch: 'oklch(0.4449843922493949 0.08582623369353798 331.93216469639947)',\n hex: '#6f4169',\n rgb: 'rgb(111, 65, 105)',\n hsl: 'hsl(308.1, 26.24%, 34.55%)',\n },\n {\n token: 'nsw-aboriginal-purple-750',\n oklch: 'oklch(0.38400067785105235 0.07568051308801832 332.32592119285346)',\n hex: '#5b3355',\n rgb: 'rgb(91, 51, 85)',\n hsl: 'hsl(308.61, 27.86%, 27.83%)',\n },\n {\n token: 'nsw-aboriginal-purple-800',\n oklch: 'oklch(0.3230169634527098 0.06553479248249865 332.7196776893074)',\n hex: '#472642',\n rgb: 'rgb(71, 38, 66)',\n hsl: 'hsl(309.09, 30.28%, 21.37%)',\n name: 'Bush Plum',\n },\n {\n token: 'nsw-aboriginal-purple-850',\n oklch: 'oklch(0.2664889948484856 0.05570457361012385 332.7196776893074)',\n hex: '#351a31',\n rgb: 'rgb(53, 26, 49)',\n hsl: 'hsl(308.99, 33.57%, 15.63%)',\n },\n {\n token: 'nsw-aboriginal-purple-900',\n oklch: 'oklch(0.20996102624426138 0.04587435473774905 332.7196776893074)',\n hex: '#241021',\n rgb: 'rgb(36, 16, 33)',\n hsl: 'hsl(308.83, 40.05%, 10.18%)',\n },\n {\n token: 'nsw-aboriginal-purple-950',\n oklch: 'oklch(0.15343305764003715 0.036044135865374256 332.7196776893074)',\n hex: '#150612',\n rgb: 'rgb(21, 6, 18)',\n hsl: 'hsl(308.92, 54.82%, 5.21%)',\n },\n ],\n },\n grey: {\n name: 'NSW Aboriginal Grey',\n colors: [\n {\n token: 'nsw-aboriginal-grey-50',\n oklch: 'oklch(0.9791354942965652 0.0014935040072708932 78.29695339492076)',\n hex: '#f9f8f7',\n rgb: 'rgb(249, 248, 247)',\n hsl: 'hsl(35.99, 11.4%, 97.16%)',\n },\n {\n token: 'nsw-aboriginal-grey-100',\n oklch: 'oklch(0.9582709885931304 0.002527468319996896 78.29695339492076)',\n hex: '#f2f1ef',\n rgb: 'rgb(242, 241, 239)',\n hsl: 'hsl(36, 9.67%, 94.37%)',\n },\n {\n token: 'nsw-aboriginal-grey-150',\n oklch: 'oklch(0.9374064828896956 0.0035614326327228986 78.29695339492076)',\n hex: '#ebeae8',\n rgb: 'rgb(235, 234, 232)',\n hsl: 'hsl(36, 9.08%, 91.59%)',\n },\n {\n token: 'nsw-aboriginal-grey-200',\n oklch: 'oklch(0.9165419771862608 0.004595396945448901 78.29695339492076)',\n hex: '#e5e3e0',\n rgb: 'rgb(229, 227, 224)',\n hsl: 'hsl(36, 8.77%, 88.82%)',\n name: 'Smoky Grey',\n },\n {\n token: 'nsw-aboriginal-grey-250',\n oklch: 'oklch(0.8949688443848074 0.005626888799288963 72.79487392970944)',\n hex: '#dfdcd8',\n rgb: 'rgb(223, 220, 216)',\n hsl: 'hsl(32.79, 8.86%, 86.06%)',\n },\n {\n token: 'nsw-aboriginal-grey-300',\n oklch: 'oklch(0.8733957115833539 0.006658380653129026 67.29279446449813)',\n hex: '#d8d4d1',\n rgb: 'rgb(216, 212, 209)',\n hsl: 'hsl(29.76, 8.93%, 83.34%)',\n },\n {\n token: 'nsw-aboriginal-grey-350',\n oklch: 'oklch(0.8518225787819006 0.007689872506969089 61.79071499928681)',\n hex: '#d2cdc9',\n rgb: 'rgb(210, 205, 201)',\n hsl: 'hsl(26.85, 8.96%, 80.67%)',\n },\n {\n token: 'nsw-aboriginal-grey-400',\n oklch: 'oklch(0.8302494459804471 0.00872136436080915 56.288635534075496)',\n hex: '#ccc6c2',\n rgb: 'rgb(204, 198, 194)',\n hsl: 'hsl(24, 8.93%, 78.04%)',\n name: 'Ash Grey',\n },\n {\n token: 'nsw-aboriginal-grey-450',\n oklch: 'oklch(0.7350703829754051 0.006541023270606863 56.288635534075496)',\n hex: '#ada8a5',\n rgb: 'rgb(173, 168, 165)',\n hsl: 'hsl(23.99, 4.23%, 66.26%)',\n },\n {\n token: 'nsw-aboriginal-grey-500',\n oklch: 'oklch(0.6398913199703631 0.004360682180404575 56.288635534075496)',\n hex: '#8e8b8a',\n rgb: 'rgb(142, 139, 138)',\n hsl: 'hsl(23.97, 2.04%, 54.85%)',\n },\n {\n token: 'nsw-aboriginal-grey-550',\n oklch: 'oklch(0.544712256965321 0.0021803410902022876 56.288635534075496)',\n hex: '#71706f',\n rgb: 'rgb(113, 112, 111)',\n hsl: 'hsl(23.95, 1.01%, 43.86%)',\n },\n {\n token: 'nsw-aboriginal-grey-600',\n oklch: 'oklch(0.4495331939602789 0 none)',\n hex: '#555555',\n rgb: 'rgb(85, 85, 85)',\n hsl: 'hsl(223.81, 0%, 33.33%)',\n name: 'Emu Grey',\n },\n {\n token: 'nsw-aboriginal-grey-650',\n oklch: 'oklch(0.4114406365077532 0 none)',\n hex: '#4b4b4b',\n rgb: 'rgb(75, 75, 75)',\n hsl: 'hsl(223.81, 0%, 29.26%)',\n },\n {\n token: 'nsw-aboriginal-grey-700',\n oklch: 'oklch(0.3733480790552275 0 none)',\n hex: '#404040',\n rgb: 'rgb(64, 64, 64)',\n hsl: 'hsl(223.81, 0%, 25.29%)',\n },\n {\n token: 'nsw-aboriginal-grey-750',\n oklch: 'oklch(0.3352555216027018 0 none)',\n hex: '#373737',\n rgb: 'rgb(55, 55, 55)',\n hsl: 'hsl(223.81, 0%, 21.41%)',\n },\n {\n token: 'nsw-aboriginal-grey-800',\n oklch: 'oklch(0.29716296415017607 0 none)',\n hex: '#2d2d2d',\n rgb: 'rgb(45, 45, 45)',\n hsl: 'hsl(223.81, 0%, 17.65%)',\n name: 'Charcoal Rock',\n },\n {\n token: 'nsw-aboriginal-grey-850',\n oklch: 'oklch(0.24515944542389526 0 none)',\n hex: '#202020',\n rgb: 'rgb(32, 32, 32)',\n hsl: 'hsl(223.81, 0%, 12.7%)',\n },\n {\n token: 'nsw-aboriginal-grey-900',\n oklch: 'oklch(0.19315592669761444 0 none)',\n hex: '#141414',\n rgb: 'rgb(20, 20, 20)',\n hsl: 'hsl(223.81, 0%, 8.01%)',\n },\n {\n token: 'nsw-aboriginal-grey-950',\n oklch: 'oklch(0.14115240797133363 0 none)',\n hex: '#090909',\n rgb: 'rgb(9, 9, 9)',\n hsl: 'hsl(223.81, 0%, 3.63%)',\n },\n ],\n },\n },\n semantic: {\n success: {\n name: 'Success',\n colors: [\n {\n token: 'success-50',\n oklch: 'oklch(0.9720355476100955 0.01978729853872853 142.11752406542539)',\n hex: '#eff9ed',\n rgb: 'rgb(239, 249, 237)',\n hsl: 'hsl(113.15, 52.52%, 95.43%)',\n },\n {\n token: 'success-100',\n oklch: 'oklch(0.944071095220191 0.03348619752707904 142.11752406542539)',\n hex: '#e0f3de',\n rgb: 'rgb(224, 243, 222)',\n hsl: 'hsl(113.26, 45.54%, 91.13%)',\n },\n {\n token: 'success-150',\n oklch: 'oklch(0.9161066428302864 0.04718509651542956 142.11752406542539)',\n hex: '#d2eccf',\n rgb: 'rgb(210, 236, 207)',\n hsl: 'hsl(113.38, 42.97%, 86.84%)',\n },\n {\n token: 'success-200',\n oklch: 'oklch(0.8881421904403819 0.06088399550378008 142.11752406542539)',\n hex: '#c4e5c0',\n rgb: 'rgb(196, 229, 192)',\n hsl: 'hsl(113.51, 41.57%, 82.55%)',\n name: 'Success 04',\n },\n {\n token: 'success-250',\n oklch: 'oklch(0.8312289461835737 0.0814134964867239 142.2964842668701)',\n hex: '#aad6a5',\n rgb: 'rgb(170, 214, 165)',\n hsl: 'hsl(114.16, 37.16%, 74.26%)',\n },\n {\n token: 'success-300',\n oklch: 'oklch(0.7743157019267655 0.10194299746966773 142.47544446831483)',\n hex: '#8fc78a',\n rgb: 'rgb(143, 199, 138)',\n hsl: 'hsl(114.93, 34.81%, 66.02%)',\n },\n {\n token: 'success-350',\n oklch: 'oklch(0.7174024576699572 0.12247249845261154 142.65440466975954)',\n hex: '#74b76f',\n rgb: 'rgb(116, 183, 111)',\n hsl: 'hsl(115.88, 33.38%, 57.78%)',\n },\n {\n token: 'success-400',\n oklch: 'oklch(0.660489213413149 0.14300199943555536 142.83336487120425)',\n hex: '#58a854',\n rgb: 'rgb(88, 168, 84)',\n hsl: 'hsl(117.14, 33.33%, 49.41%)',\n name: 'Success 03',\n },\n {\n token: 'success-450',\n oklch: 'oklch(0.6326270919832794 0.153487552492673 142.8252122365381)',\n hex: '#49a146',\n rgb: 'rgb(73, 161, 70)',\n hsl: 'hsl(117.67, 39.56%, 45.11%)',\n },\n {\n token: 'success-500',\n oklch: 'oklch(0.6047649705534097 0.16397310554979067 142.81705960187193)',\n hex: '#399936',\n rgb: 'rgb(57, 153, 54)',\n hsl: 'hsl(118.38, 47.88%, 40.58%)',\n },\n {\n token: 'success-550',\n oklch: 'oklch(0.57690284912354 0.17445865860690835 142.80890696720576)',\n hex: '#259224',\n rgb: 'rgb(37, 146, 36)',\n hsl: 'hsl(119.53, 60.48%, 35.56%)',\n },\n {\n token: 'success-600',\n oklch: 'oklch(0.5490407276936703 0.184944211664026 142.8007543325396)',\n hex: '#008a07',\n rgb: 'rgb(0, 138, 7)',\n hsl: 'hsl(123.04, 100%, 27.06%)',\n name: 'Success 02',\n },\n {\n token: 'success-650',\n oklch: 'oklch(0.4778879989458421 0.16120283434453703 142.72440047135717)',\n hex: '#007204',\n rgb: 'rgb(0, 114, 4)',\n hsl: 'hsl(121.8, 99.36%, 22.38%)',\n },\n {\n token: 'success-700',\n oklch: 'oklch(0.40673527019801387 0.13746145702504803 142.64804661017473)',\n hex: '#005a02',\n rgb: 'rgb(0, 90, 2)',\n hsl: 'hsl(120.9, 99.22%, 17.81%)',\n },\n {\n token: 'success-750',\n oklch: 'oklch(0.3355825414501856 0.11372007970555903 142.57169274899232)',\n hex: '#004401',\n rgb: 'rgb(0, 68, 1)',\n hsl: 'hsl(120.32, 99.47%, 13.4%)',\n },\n {\n token: 'success-800',\n oklch: 'oklch(0.26442981270235744 0.08997870238607004 142.49533888780988)',\n hex: '#002f00',\n rgb: 'rgb(0, 47, 0)',\n hsl: 'hsl(120, 100%, 9.22%)',\n name: 'Success 01',\n },\n {\n token: 'success-850',\n oklch: 'oklch(0.21815459547944488 0.07648189702815954 142.49533888780988)',\n hex: '#002200',\n rgb: 'rgb(0, 34, 0)',\n hsl: 'hsl(120.32, 100%, 6.51%)',\n },\n {\n token: 'success-900',\n oklch: 'oklch(0.17187937825653232 0.06298509167024903 142.49533888780988)',\n hex: '#001600',\n rgb: 'rgb(0, 22, 0)',\n hsl: 'hsl(120.63, 100%, 4.07%)',\n },\n {\n token: 'success-950',\n oklch: 'oklch(0.12560416103361977 0.04948828631233853 142.49533888780988)',\n hex: '#000b00',\n rgb: 'rgb(0, 11, 0)',\n hsl: 'hsl(121.08, 100%, 1.88%)',\n },\n ],\n },\n warning: {\n name: 'Warning',\n colors: [\n {\n token: 'warning-50',\n oklch: 'oklch(0.9739777778864123 0.017695077274685146 43.9454781334139)',\n hex: '#fff3ed',\n rgb: 'rgb(255, 243, 237)',\n hsl: 'hsl(17.53, 100%, 96.97%)',\n },\n {\n token: 'warning-100',\n oklch: 'oklch(0.9479555557728245 0.029945515387928705 43.9454781334139)',\n hex: '#ffe8de',\n rgb: 'rgb(255, 232, 222)',\n hsl: 'hsl(17.59, 100%, 93.77%)',\n },\n {\n token: 'warning-150',\n oklch: 'oklch(0.9219333336592369 0.042195953501172265 43.9454781334139)',\n hex: '#ffddcf',\n rgb: 'rgb(255, 221, 207)',\n hsl: 'hsl(17.65, 99.09%, 90.53%)',\n },\n {\n token: 'warning-200',\n oklch: 'oklch(0.8959111115456492 0.05444639161441583 43.9454781334139)',\n hex: '#fdd2c0',\n rgb: 'rgb(253, 210, 192)',\n hsl: 'hsl(17.7, 93.85%, 87.25%)',\n name: 'Warning 04',\n },\n {\n token: 'warning-250',\n oklch: 'oklch(0.8436567377995562 0.07383969866253859 43.88732593200177)',\n hex: '#f6bda5',\n rgb: 'rgb(246, 189, 165)',\n hsl: 'hsl(17.77, 81.71%, 80.57%)',\n },\n {\n token: 'warning-300',\n oklch: 'oklch(0.7914023640534633 0.09323300571066136 43.829173730589645)',\n hex: '#eea88a',\n rgb: 'rgb(238, 168, 138)',\n hsl: 'hsl(17.84, 74.94%, 73.78%)',\n },\n {\n token: 'warning-350',\n oklch: 'oklch(0.7391479903073703 0.11262631275878413 43.77102152917751)',\n hex: '#e6936f',\n rgb: 'rgb(230, 147, 111)',\n hsl: 'hsl(17.98, 70.36%, 66.84%)',\n },\n {\n token: 'warning-400',\n oklch: 'oklch(0.6868936165612773 0.13201961980690688 43.71286932776538)',\n hex: '#dd7d53',\n rgb: 'rgb(221, 125, 83)',\n hsl: 'hsl(18.26, 66.99%, 59.61%)',\n name: 'Warning 03',\n },\n {\n token: 'warning-450',\n oklch: 'oklch(0.6610028202949751 0.14144095719007027 43.78396833320002)',\n hex: '#d87244',\n rgb: 'rgb(216, 114, 68)',\n hsl: 'hsl(18.61, 65.61%, 55.79%)',\n },\n {\n token: 'warning-500',\n oklch: 'oklch(0.635112024028673 0.15086229457323366 43.85506733863466)',\n hex: '#d36734',\n rgb: 'rgb(211, 103, 52)',\n hsl: 'hsl(19.18, 64.53%, 51.69%)',\n },\n {\n token: 'warning-550',\n oklch: 'oklch(0.6092212277623706 0.16028363195639705 43.9261663440693)',\n hex: '#ce5c21',\n rgb: 'rgb(206, 92, 33)',\n hsl: 'hsl(20.31, 72.21%, 46.96%)',\n },\n {\n token: 'warning-600',\n oklch: 'oklch(0.5833304314960684 0.16970496933956045 43.99726534950394)',\n hex: '#c95000',\n rgb: 'rgb(201, 80, 0)',\n hsl: 'hsl(23.88, 100%, 39.41%)',\n name: 'Warning 02',\n },\n {\n token: 'warning-650',\n oklch: 'oklch(0.507009085738871 0.149901753081645 42.56483564766481)',\n hex: '#a83f03',\n rgb: 'rgb(168, 63, 3)',\n hsl: 'hsl(21.95, 96.66%, 33.46%)',\n },\n {\n token: 'warning-700',\n oklch: 'oklch(0.43068773998167365 0.13009853682372957 41.13240594582567)',\n hex: '#882f03',\n rgb: 'rgb(136, 47, 3)',\n hsl: 'hsl(20.07, 95.99%, 27.13%)',\n },\n {\n token: 'warning-750',\n oklch: 'oklch(0.3543663942244763 0.11029532056581412 39.69997624398653)',\n hex: '#692001',\n rgb: 'rgb(105, 32, 1)',\n hsl: 'hsl(17.86, 97.32%, 20.78%)',\n },\n {\n token: 'warning-800',\n oklch: 'oklch(0.2780450484672789 0.09049210430789867 38.26754654214739)',\n hex: '#4b1200',\n rgb: 'rgb(75, 18, 0)',\n hsl: 'hsl(14.4, 100%, 14.71%)',\n name: 'Warning 01',\n },\n {\n token: 'warning-850',\n oklch: 'oklch(0.2293871649855051 0.07691828866171387 38.26754654214739)',\n hex: '#390a00',\n rgb: 'rgb(57, 10, 0)',\n hsl: 'hsl(11.43, 100%, 10.95%)',\n },\n {\n token: 'warning-900',\n oklch: 'oklch(0.1807292815037313 0.06334447301552906 38.26754654214739)',\n hex: '#270400',\n rgb: 'rgb(39, 4, 0)',\n hsl: 'hsl(7.67, 100%, 7.5%)',\n },\n {\n token: 'warning-950',\n oklch: 'oklch(0.13207139802195747 0.04977065736934427 38.26754654214739)',\n hex: '#170100',\n rgb: 'rgb(23, 1, 0)',\n hsl: 'hsl(4.64, 100%, 4.34%)',\n },\n ],\n },\n danger: {\n name: 'Danger',\n colors: [\n {\n token: 'danger-50',\n oklch: 'oklch(0.9688081012787089 0.02046893571008903 18.42817489942577)',\n hex: '#fff0ef',\n rgb: 'rgb(255, 240, 239)',\n hsl: 'hsl(0.78, 100%, 97.61%)',\n },\n {\n token: 'danger-100',\n oklch: 'oklch(0.9376162025574177 0.034639737355535286 18.42817489942577)',\n hex: '#ffe2e1',\n rgb: 'rgb(255, 226, 225)',\n hsl: 'hsl(0.56, 100%, 94.61%)',\n },\n {\n token: 'danger-150',\n oklch: 'oklch(0.9064243038361265 0.048810539000981534 18.42817489942577)',\n hex: '#ffd4d4',\n rgb: 'rgb(255, 212, 212)',\n hsl: 'hsl(0.3, 100%, 91.55%)',\n },\n {\n token: 'danger-200',\n oklch: 'oklch(0.8752324051148354 0.06298134064642778 18.42817489942577)',\n hex: '#fdc6c6',\n rgb: 'rgb(253, 198, 198)',\n hsl: 'hsl(0, 93.22%, 88.43%)',\n name: 'Danger 04',\n },\n {\n token: 'danger-250',\n oklch: 'oklch(0.8133068732197568 0.08452871651344564 18.398482771634782)',\n hex: '#f4acad',\n rgb: 'rgb(244, 172, 173)',\n hsl: 'hsl(359.39, 76.34%, 81.59%)',\n },\n {\n token: 'danger-300',\n oklch: 'oklch(0.7513813413246784 0.1060760923804635 18.368790643843795)',\n hex: '#ea9294',\n rgb: 'rgb(234, 146, 148)',\n hsl: 'hsl(358.59, 67.4%, 74.56%)',\n },\n {\n token: 'danger-350',\n oklch: 'oklch(0.6894558094295998 0.12762346824748136 18.339098516052807)',\n hex: '#df787c',\n rgb: 'rgb(223, 120, 124)',\n hsl: 'hsl(357.51, 61.52%, 67.27%)',\n },\n {\n token: 'danger-400',\n oklch: 'oklch(0.6275302775345213 0.1491708441144992 18.30940638826182)',\n hex: '#d35d65',\n rgb: 'rgb(211, 93, 101)',\n hsl: 'hsl(355.93, 57.28%, 59.61%)',\n name: 'Danger 03',\n },\n {\n token: 'danger-450',\n oklch: 'oklch(0.5961466901234453 0.1600594003984286 18.251840020312933)',\n hex: '#cd4e59',\n rgb: 'rgb(205, 78, 89)',\n hsl: 'hsl(354.77, 55.6%, 55.49%)',\n },\n {\n token: 'danger-500',\n oklch: 'oklch(0.5647631027123693 0.17094795668235796 18.194273652364046)',\n hex: '#c63f4e',\n rgb: 'rgb(198, 63, 78)',\n hsl: 'hsl(353.23, 54.28%, 51.09%)',\n },\n {\n token: 'danger-550',\n oklch: 'oklch(0.5333795153012932 0.1818365129662873 18.13670728441516)',\n hex: '#bf2c42',\n rgb: 'rgb(191, 44, 66)',\n hsl: 'hsl(350.97, 62.34%, 46.16%)',\n },\n {\n token: 'danger-600',\n oklch: 'oklch(0.5019959278902173 0.19272506925021668 18.079140916466272)',\n hex: '#b81237',\n rgb: 'rgb(184, 18, 55)',\n hsl: 'hsl(346.63, 82.18%, 39.61%)',\n name: 'Danger 02',\n },\n {\n token: 'danger-650',\n oklch: 'oklch(0.43761291207168196 0.16911051005163913 18.72632727121819)',\n hex: '#990b2a',\n rgb: 'rgb(153, 11, 42)',\n hsl: 'hsl(346.89, 86.15%, 32.28%)',\n },\n {\n token: 'danger-700',\n oklch: 'oklch(0.3732298962531466 0.1454959508530616 19.3735136259701)',\n hex: '#7c061f',\n rgb: 'rgb(124, 6, 31)',\n hsl: 'hsl(347.25, 91.31%, 25.33%)',\n },\n {\n token: 'danger-750',\n oklch: 'oklch(0.30884688043461134 0.12188139165448407 20.020699980722014)',\n hex: '#5f0214',\n rgb: 'rgb(95, 2, 20)',\n hsl: 'hsl(348.45, 96%, 19.02%)',\n },\n {\n token: 'danger-800',\n oklch: 'oklch(0.244463864616076 0.09826683245590653 20.66788633547393)',\n hex: '#44000a',\n rgb: 'rgb(68, 0, 10)',\n hsl: 'hsl(351.18, 100%, 13.33%)',\n name: 'Danger 01',\n },\n {\n token: 'danger-850',\n oklch: 'oklch(0.2016826883082627 0.08352680758752055 20.66788633547393)',\n hex: '#330005',\n rgb: 'rgb(51, 0, 5)',\n hsl: 'hsl(352.99, 100%, 9.85%)',\n },\n {\n token: 'danger-900',\n oklch: 'oklch(0.15890151200044939 0.06878678271913458 20.66788633547393)',\n hex: '#230002',\n rgb: 'rgb(35, 0, 2)',\n hsl: 'hsl(354.47, 100%, 6.66%)',\n },\n {\n token: 'danger-950',\n oklch: 'oklch(0.1161203356926361 0.0540467578507486 20.66788633547393)',\n hex: '#140001',\n rgb: 'rgb(20, 0, 1)',\n hsl: 'hsl(355.5, 100%, 3.76%)',\n },\n ],\n },\n info: {\n name: 'Info',\n colors: [\n {\n token: 'info-50',\n oklch: 'oklch(0.9472470414070251 0.01319114316017373 261.49146551846417)',\n hex: '#e9eef7',\n rgb: 'rgb(233, 238, 247)',\n hsl: 'hsl(217.99, 45.88%, 94%)',\n },\n {\n token: 'info-100',\n oklch: 'oklch(0.8944940828140502 0.02232347304029401 261.49146551846417)',\n hex: '#d4ddeb',\n rgb: 'rgb(212, 221, 235)',\n hsl: 'hsl(218, 37.47%, 87.77%)',\n },\n {\n token: 'info-150',\n oklch: 'oklch(0.8417411242210754 0.03145580292041429 261.49146551846417)',\n hex: '#c0cce0',\n rgb: 'rgb(192, 204, 224)',\n hsl: 'hsl(218.02, 34.49%, 81.6%)',\n },\n {\n token: 'info-200',\n oklch: 'oklch(0.7889881656281005 0.04058813280053457 261.49146551846417)',\n hex: '#acbbd5',\n rgb: 'rgb(172, 187, 213)',\n hsl: 'hsl(218.05, 32.8%, 75.49%)',\n name: 'Info 04',\n },\n {\n token: 'info-250',\n oklch: 'oklch(0.7327975333484203 0.05432284288357939 261.7505460408388)',\n hex: '#96a9cc',\n rgb: 'rgb(150, 169, 204)',\n hsl: 'hsl(218.29, 34.23%, 69.31%)',\n },\n {\n token: 'info-300',\n oklch: 'oklch(0.6766069010687401 0.06805755296662422 262.0096265632134)',\n hex: '#8098c2',\n rgb: 'rgb(128, 152, 194)',\n hsl: 'hsl(218.57, 34.87%, 63.2%)',\n },\n {\n token: 'info-350',\n oklch: 'oklch(0.62041626878906 0.08179226304966905 262.268707085588)',\n hex: '#6b86b8',\n rgb: 'rgb(107, 134, 184)',\n hsl: 'hsl(218.9, 35.05%, 57.15%)',\n },\n {\n token: 'info-400',\n oklch: 'oklch(0.5642256365093798 0.09552697313271387 262.52778760796264)',\n hex: '#5775ae',\n rgb: 'rgb(87, 117, 174)',\n hsl: 'hsl(219.31, 34.94%, 51.18%)',\n name: 'Info 03',\n },\n {\n token: 'info-450',\n oklch: 'oklch(0.5358247299257868 0.10246599429811404 262.4837143651888)',\n hex: '#4d6ca9',\n rgb: 'rgb(77, 108, 169)',\n hsl: 'hsl(219.41, 37.55%, 48.13%)',\n },\n {\n token: 'info-500',\n oklch: 'oklch(0.5074238233421937 0.10940501546351422 262.4396411224149)',\n hex: '#4264a4',\n rgb: 'rgb(66, 100, 164)',\n hsl: 'hsl(219.52, 42.28%, 45.1%)',\n },\n {\n token: 'info-550',\n oklch: 'oklch(0.47902291675860065 0.1163440366289144 262.395567879641)',\n hex: '#385b9e',\n rgb: 'rgb(56, 91, 158)',\n hsl: 'hsl(219.66, 47.62%, 42.06%)',\n },\n {\n token: 'info-600',\n oklch: 'oklch(0.4506220101750076 0.12328305779431457 262.3514946368672)',\n hex: '#2e5299',\n rgb: 'rgb(46, 82, 153)',\n hsl: 'hsl(219.81, 53.77%, 39.02%)',\n name: 'Info 02',\n },\n {\n token: 'info-650',\n oklch: 'oklch(0.3914472612047992 0.10948475002303204 262.3659717757216)',\n hex: '#23427f',\n rgb: 'rgb(35, 66, 127)',\n hsl: 'hsl(219.87, 56.39%, 31.92%)',\n },\n {\n token: 'info-700',\n oklch: 'oklch(0.33227251223459087 0.09568644225174952 262.3804489145761)',\n hex: '#193366',\n rgb: 'rgb(25, 51, 102)',\n hsl: 'hsl(219.93, 60.27%, 25.07%)',\n },\n {\n token: 'info-750',\n oklch: 'oklch(0.2730977632643825 0.08188813448046699 262.3949260534306)',\n hex: '#10254f',\n rgb: 'rgb(16, 37, 79)',\n hsl: 'hsl(220.02, 66.59%, 18.51%)',\n },\n {\n token: 'info-800',\n oklch: 'oklch(0.21392301429417415 0.06808982670918445 262.409403192285)',\n hex: '#071738',\n rgb: 'rgb(7, 23, 56)',\n hsl: 'hsl(220.41, 77.78%, 12.35%)',\n name: 'Info 01',\n },\n {\n token: 'info-850',\n oklch: 'oklch(0.1764864867926937 0.057876352702806784 262.409403192285)',\n hex: '#040f2a',\n rgb: 'rgb(4, 15, 42)',\n hsl: 'hsl(222.21, 84%, 8.9%)',\n },\n {\n token: 'info-900',\n oklch: 'oklch(0.13904995929121322 0.047662878696429115 262.409403192285)',\n hex: '#02071c',\n rgb: 'rgb(2, 7, 28)',\n hsl: 'hsl(226.63, 89.54%, 5.83%)',\n },\n {\n token: 'info-950',\n oklch: 'oklch(0.10161343178973273 0.03744940469005145 262.409403192285)',\n hex: '#00030f',\n rgb: 'rgb(0, 3, 15)',\n hsl: 'hsl(230.65, 94.13%, 3.12%)',\n },\n ],\n },\n },\n}\n\nexport const colorThemes = generateColorThemes(colors)\n","'use client'\n\nimport React from 'react'\nimport { useEffect, useRef, useState, useMemo } from 'react'\nimport type { ComponentProps, PropsWithChildren } from 'react'\nimport { useTheme } from 'next-themes'\nimport { clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nimport { humaniseVariant } from '../lib/utils'\n\nimport { Social } from '../components/Social'\nimport { Icons } from '../components/Icons'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../components/Tooltip'\nimport { CodeHighlight } from '../components/CodeHighlight'\nimport { Button } from '../components/Button'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../components/Select'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/Popover'\nimport { ThemeSelector } from '@/components/ThemeSelector'\nimport {\n CodeDemoProps,\n View,\n CodeData,\n Variants,\n Code,\n CodeItem,\n IFrameData,\n IFrameMap,\n IconProps,\n ThemeOption,\n ThemeCategory,\n ThemeMessage,\n IFrameProps,\n ThemeSelectorDropDownProps,\n IFrameOptions,\n} from '../types/types'\nimport { colorThemes, colors } from '@/lib/color-palette'\n\nexport function CodeDemo({ data, hide = {} }: CodeDemoProps) {\n const { resolvedTheme } = useTheme()\n const { rtl = false, darkMode = false, themeSelector = false } = hide\n\n const [tabIndex, setTabIndex] = useState(0)\n const [variant, setVariant] = useState(getInitialVariant(data))\n\n const [view, setView] = useState<View>('desktop')\n const [isRTL, setIsRTL] = useState(false)\n const [isDarkMode, setDarkMode] = useState<boolean | null>(null)\n const [isExpanded, setExpanded] = useState(false)\n const [isJustCopied, setJustCopied] = useState(false)\n\n const [themeCategory, setThemeCategory] = useState<ThemeCategory>('brand')\n const [primaryColor, setPrimaryColor] = useState<ThemeOption>('blue')\n const [accentColor, setAccentColor] = useState<ThemeOption>('red')\n const [greyColor, setGreyColor] = useState<ThemeOption>('grey')\n\n useEffect(() => {\n setDarkMode(resolvedTheme === 'dark')\n }, [resolvedTheme])\n\n const iframeRef = useRef<HTMLIFrameElement>(null)\n\n const getShades = (prefix: 'primary' | 'accent' | 'grey', colorKey: string, themeCat: string) =>\n colors[themeCat][colorKey].colors.reduce<Record<string, string>>((acc, shade) => {\n const suffix = shade.token.split('-').pop()\n acc[`${prefix}${suffix}`] = shade.hex\n return acc\n }, {})\n\n const themeValues = React.useMemo(\n () => ({\n ...getShades('primary', primaryColor, themeCategory),\n ...getShades('accent', accentColor, themeCategory),\n ...getShades('grey', greyColor, themeCategory),\n }),\n [themeCategory, primaryColor, accentColor, greyColor],\n )\n\n React.useEffect(() => {\n const frame = iframeRef.current\n if (!frame) return\n\n const send = () => {\n const msg: ThemeMessage = { type: 'nswds-theme', payload: themeValues }\n frame.contentWindow?.postMessage(msg, '*')\n }\n\n send()\n frame.addEventListener('load', send)\n return () => frame.removeEventListener('load', send)\n }, [themeValues])\n\n function copyToClipboard(value: string) {\n setJustCopied(true)\n navigator.clipboard.writeText(value)\n setTimeout(() => setJustCopied(false), 2000)\n }\n\n function getInitialVariant(data: CodeData): Variants {\n if (data.type === 'variant') return data.variant\n\n return ''\n }\n\n function getVariants(data: CodeData): Variants[] {\n if (data.type === 'variant') return Object.keys(data.code)\n\n return []\n }\n\n function getCode(data: CodeData, variant: Variants): Code {\n if (data.type === 'variant') return data.code[variant]\n\n return data.code\n }\n\n function getCodeItems(code: Code): CodeItem[] {\n return Array.isArray(code) ? code : [code]\n }\n\n function getCurrent(items: CodeItem[], index: number): CodeItem {\n return items[index]\n }\n\n function handleSelectVariant(variant: Variants) {\n setTabIndex(0)\n setVariant(variant)\n }\n\n function getShouldExpand(rawCode: string) {\n const rem = 16\n const offset = 41 // expand/collapse button height\n const padding = 28\n const maxHeight = 18 * rem + offset // mirror `max-h-72`\n const codeHeight = getTextHeight(rawCode) + padding\n\n return codeHeight > maxHeight\n }\n\n function getTextHeight(value: string) {\n const fontSize = 16.5\n const lineHeight = 1.25\n\n return countLines(value) * fontSize * lineHeight\n }\n\n function countLines(value: string) {\n return (value.match(/\\n/g) || '').length + 1\n }\n\n function selectIframe<V extends Variants>(\n data: CodeData<V>,\n currentVariant: V,\n ): IFrameData | undefined {\n const { iframe } = data\n if (!iframe) return\n\n if (typeof iframe === 'number') return iframe\n\n if ('src' in iframe) return iframe as IFrameOptions\n\n return (iframe as IFrameMap<V>)[currentVariant]\n }\n\n const iframeData = selectIframe(data, variant)\n\n const variants = getVariants(data)\n const code = getCode(data, variant)\n const codeItems = getCodeItems(code)\n const current = getCurrent(codeItems, tabIndex)\n const shouldExpand = getShouldExpand(current.code.trim())\n\n const variantLabels = React.useMemo<Record<string, string>>(() => {\n const explicit: Record<string, string> =\n (data as { labels?: Record<string, string> }).labels ?? {}\n return Object.fromEntries(variants.map((v) => [v, explicit[v] ?? humaniseVariant(v)]))\n }, [variants, data])\n\n return (\n <div className='mt-8'>\n <div className='border-grey-200 bg-grey-50 dark:border-grey-600 dark:bg-grey-700 w-full rounded-t-xl border p-4'>\n <div className='grid grid-cols-2 sm:grid-cols-3'>\n <EditOnGithubButton githubSlug={data.githubSlug} />\n <ToggleViewButtons onSelect={setView} />\n <div className='col-span-1 flex justify-end gap-3'>\n {!themeSelector && (\n <ThemeSelectorDropDown\n themeCategory={themeCategory}\n setThemeCategory={setThemeCategory}\n primaryColor={primaryColor}\n setPrimaryColor={setPrimaryColor}\n accentColor={accentColor}\n setAccentColor={setAccentColor}\n greyColor={greyColor}\n setGreyColor={setGreyColor}\n />\n )}\n {!rtl && <ToggleRTLButton isRTL={isRTL} onClick={() => setIsRTL((state) => !state)} />}\n {!darkMode && (\n <ToggleDarkModeButton\n isDarkMode={isDarkMode}\n onClick={() => setDarkMode((state) => !state)}\n />\n )}\n </div>\n </div>\n </div>\n <CodePreview\n view={view}\n isRTL={isRTL}\n isDarkMode={isDarkMode}\n iframe={iframeData}\n themeValues={themeValues}\n >\n {iframeData ? (\n <IFrame\n sandbox='allow-scripts allow-same-origin'\n ref={iframeRef}\n iframe={iframeData}\n isRTL={isRTL}\n isDarkMode={isDarkMode}\n />\n ) : (\n <>{data.component}</>\n )}\n </CodePreview>\n <div className='code-syntax-wrapper'>\n <div\n className={twMerge(\n 'code-syntax border-grey-200 dark:border-grey-600 relative border',\n shouldExpand && 'pb-[41px]',\n )}\n >\n <div className='border-grey-200 bg-grey-50 dark:border-grey-600 dark:bg-grey-700 flex w-full rounded-t-md border-b'>\n <Tabs tabIndex={tabIndex} items={codeItems} onSelect={setTabIndex} />\n {variants.length > 0 && (\n <Select onValueChange={(value) => handleSelectVariant(value)}>\n <SelectTrigger size='sm'>\n <SelectValue placeholder='Select a variant' />\n </SelectTrigger>\n <SelectContent>\n {variants.map((v) => (\n <SelectItem key={v} value={v}>\n {variantLabels[v]}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )}\n <div className='flex justify-end'>\n <CopyToClipboardButton\n isJustCopied={isJustCopied}\n onClick={() => copyToClipboard(current.code)}\n />\n </div>\n </div>\n <div className={twMerge('!overflow-y-hidden', shouldExpand && !isExpanded && 'max-h-72')}>\n <CodeHighlight\n className='!mb-0 !rounded-none'\n code={current.code}\n language={current.language}\n />\n </div>\n {shouldExpand && (\n <CollapseExpandButton\n isExpanded={isExpanded}\n onClick={() => setExpanded((state) => !state)}\n />\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst IFrame = React.forwardRef<HTMLIFrameElement, IFrameProps>(\n ({ iframe, isRTL, isDarkMode }, ref) => {\n useEffect(() => {\n const document = (ref as React.RefObject<HTMLIFrameElement>)?.current?.contentDocument\n const root = document?.documentElement\n\n if (document && root) {\n root.setAttribute('dir', isRTL ? 'rtl' : 'ltr')\n root.classList.toggle('dark', !!isDarkMode)\n }\n }, [isRTL, isDarkMode, ref])\n\n if (typeof iframe === 'number') {\n return <iframe ref={ref} src='' height={iframe} width='100%' className='w-full' />\n }\n\n if (typeof iframe === 'object' && iframe?.src) {\n const { src, height = 0, width = 100, noPadding } = iframe\n const finalSrc = noPadding ? `${src}?noPadding` : src\n const finalWidth = width === 100 ? '100%' : width\n\n return (\n <iframe ref={ref} src={finalSrc} height={height} width={finalWidth} className='w-full' />\n )\n }\n\n return null\n },\n)\n\nIFrame.displayName = 'IFrame'\n\nfunction Tabs({\n tabIndex,\n items,\n onSelect,\n}: {\n tabIndex: number\n items: CodeItem[]\n onSelect(index: number): void\n}) {\n return (\n <ul className='text-grey-500 dark:text-grey-400 flex flex-1 text-center text-sm font-medium'>\n {items.map((item, index) => (\n <li key={item.fileName}>\n <button type='button' role='tab' onClick={() => onSelect(index)}>\n <span\n className={twMerge(\n 'border-grey-200 bg-grey-100 dark:border-grey-600 dark:bg-grey-800 inline-block w-full cursor-pointer border-r p-2 px-3',\n index === tabIndex\n ? 'text-grey-800 dark:text-white'\n : 'hover:text-grey-600 hover:dark:text-grey-300',\n )}\n >\n {item.fileName + `.${item.language}`}\n </span>\n </button>\n </li>\n ))}\n </ul>\n )\n}\n\nfunction CodePreview({\n view,\n isRTL,\n isDarkMode,\n iframe,\n themeValues,\n children,\n}: PropsWithChildren<{\n view: View\n isRTL: boolean\n isDarkMode: boolean | null\n iframe?: IFrameData\n themeValues: Record<string, string>\n}>) {\n const cssVars = React.useMemo<React.CSSProperties>(() => {\n const withCssVarNames = Object.entries(themeValues).map(([key, value]) => {\n const kebab = key.replace(/(\\D+)(\\d+)/, '$1-$2')\n return [`--color-${kebab}`, value]\n })\n\n return Object.fromEntries(withCssVarNames)\n }, [themeValues])\n\n return (\n <div\n {...(isRTL && { dir: 'rtl' })}\n className='code-preview-wrapper'\n style={cssVars as React.CSSProperties}\n >\n <div className='border-grey-200 dark:border-grey-600 dark:bg-grey-900 flex border-x bg-white bg-gradient-to-r p-0'>\n <div\n className={twMerge(\n 'code-responsive-wrapper w-full',\n isDarkMode !== null && (isDarkMode ? 'dark' : 'light'),\n )}\n data-theme={isDarkMode !== null && (isDarkMode ? 'dark' : 'light')}\n >\n <div\n className={clsx(\n 'group dark:bg-grey-900 mx-auto bg-white bg-gradient-to-r',\n view === 'desktop' && 'w-full',\n view === 'tablet' && 'max-w-lg',\n view === 'mobile' && 'max-w-sm',\n !iframe && 'p-5',\n )}\n >\n {children}\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nfunction EditOnGithubButton({ githubSlug }: { githubSlug: string }) {\n const githubSrcHref = 'https://github.com'\n const href = `${githubSrcHref}${githubSlug}`\n\n return (\n <Button\n variant='outline'\n color='light'\n href={href}\n target='_blank'\n rel='nofollow noopener noreferrer'\n className='flex h-10 w-fit items-center text-sm'\n >\n <Social.Github data-slot='icon' />\n Edit on GitHub\n </Button>\n )\n}\n\nfunction ToggleViewButtons({ onSelect }: { onSelect(view: View): void }) {\n const views: {\n name: View\n title: string\n icon: React.FC<IconProps>\n }[] = [\n { name: 'desktop', title: 'Toggle full screen', icon: Icons.desktop },\n { name: 'tablet', title: 'Toggle tablet view', icon: Icons.tablet },\n { name: 'mobile', title: 'Toggle mobile view', icon: Icons.smartphone },\n ]\n\n return (\n <div className='hidden items-center justify-center space-x-2 sm:flex'>\n {views.map((v) => (\n <TooltipProvider key={v.name}>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button onClick={() => onSelect(v.name)} color='light' variant='outline' size='icon'>\n <v.icon />\n </Button>\n </TooltipTrigger>\n </Tooltip>\n </TooltipProvider>\n ))}\n </div>\n )\n}\n\nfunction ThemeSelectorDropDown({\n themeCategory,\n setThemeCategory,\n primaryColor,\n setPrimaryColor,\n accentColor,\n setAccentColor,\n greyColor,\n setGreyColor,\n}: ThemeSelectorDropDownProps) {\n const filteredColorThemes = useMemo(() => {\n const filtered = {} as typeof colorThemes\n\n for (const category of Object.keys(colorThemes) as ThemeCategory[]) {\n filtered[category] = Object.fromEntries(\n Object.entries(colorThemes[category]).filter(\n ([key]) => !key.toLowerCase().includes('grey'),\n ),\n )\n }\n\n return filtered\n }, [])\n\n const availableAccentColors = useMemo(() => {\n const allColors = Object.keys(filteredColorThemes[themeCategory])\n return allColors.filter((color) => color !== primaryColor)\n }, [filteredColorThemes, themeCategory, primaryColor])\n\n useEffect(() => {\n const neutralKey =\n Object.keys(colorThemes[themeCategory]).find((k) => k.toLowerCase().includes('grey')) ?? ''\n\n if (neutralKey && neutralKey !== greyColor) {\n setGreyColor(neutralKey)\n }\n const availableColors = Object.keys(colorThemes[themeCategory])\n\n if (!availableColors.includes(primaryColor)) {\n setPrimaryColor(availableColors[0])\n if (availableColors.length > 1) {\n setAccentColor(availableColors[1])\n }\n return\n }\n\n if (accentColor === primaryColor || !availableColors.includes(accentColor)) {\n const newAccentColor = availableColors.find((color) => color !== primaryColor)\n if (newAccentColor) {\n setAccentColor(newAccentColor)\n }\n }\n }, [\n themeCategory,\n primaryColor,\n accentColor,\n greyColor,\n setPrimaryColor,\n setAccentColor,\n setGreyColor,\n ])\n\n const primaryColorSwatch = colorThemes[themeCategory][primaryColor]?.colors[3]?.hex || '#000000'\n const accentColorSwatch = colorThemes[themeCategory][accentColor]?.colors[2]?.hex || '#000000'\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button color='light' variant='outline' className='flex h-10 items-center text-sm'>\n <Icons.palette />\n <span>Theme</span>\n <div className='ml-2 flex gap-1'>\n <div className='h-3 w-3 rounded-full' style={{ backgroundColor: primaryColorSwatch }} />\n <div className='h-3 w-3 rounded-full' style={{ backgroundColor: accentColorSwatch }} />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent className='w-80'>\n <ThemeSelector\n themeCategory={themeCategory}\n setThemeCategory={setThemeCategory}\n primaryColor={primaryColor}\n setPrimaryColor={setPrimaryColor}\n accentColor={accentColor}\n setAccentColor={setAccentColor}\n greyColor={greyColor}\n setGreyColor={setGreyColor}\n availableAccentColors={availableAccentColors}\n colorThemes={filteredColorThemes}\n />\n </PopoverContent>\n </Popover>\n )\n}\n\nfunction ToggleRTLButton({ isRTL, onClick }: ComponentProps<'button'> & { isRTL: boolean }) {\n const dir = isRTL ? 'LTR' : 'RTL'\n const title = `Toggle ${dir} mode`\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n onClick={onClick}\n color='light'\n variant='outline'\n className='flex h-10 items-center text-sm'\n >\n <span className='sr-only'>{title}</span>\n {dir}\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Add to library</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nfunction ToggleDarkModeButton({\n isDarkMode,\n onClick,\n}: ComponentProps<'button'> & { isDarkMode: boolean | null }) {\n const title = isDarkMode ? 'Toggle light mode' : 'Toggle dark mode'\n const Icon = isDarkMode ? Icons.light_mode : Icons.dark_mode\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button onClick={onClick} color='light' variant='outline' size='icon'>\n <span className='sr-only'>{title}</span>\n {isDarkMode !== null ? (\n <Icon />\n ) : (\n <>\n <Icons.light_mode className='hidden dark:block' />\n <Icons.dark_mode className='dark:hidden' />\n </>\n )}\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Add to library</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nfunction CopyToClipboardButton({\n isJustCopied,\n onClick,\n}: ComponentProps<'button'> & { isJustCopied: boolean }) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={onClick}\n className='hover:text-primary-800 hover:bg-grey-300 dark:border-grey-600 dark:bg-grey-800 dark:text-grey-400 border-grey-200 bg-grey-100 text-grey-600 flex h-full cursor-pointer items-center border-l px-3 py-2 text-xs font-medium transition-colors duration-200 ease-in-out dark:hover:text-white'\n >\n <Icons.copy className='mr-2 size-3.5' />\n {isJustCopied ? 'Copied' : 'Copy'}\n </button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Copy to clipboard</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nfunction CollapseExpandButton({\n isExpanded,\n onClick,\n}: ComponentProps<'button'> & { isExpanded: boolean }) {\n return (\n <button\n onClick={onClick}\n className='hover:text-primary-700 border-grey-200 bg-grey-100 text-grey-900 hover:bg-grey-100 dark:border-grey-600 dark:bg-grey-700 dark:text-grey-400 dark:hover:bg-grey-700 absolute bottom-0 left-0 z-30 w-full cursor-pointer border-t px-5 py-2.5 text-sm font-medium dark:hover:text-white'\n >\n {isExpanded ? 'Collapse code' : 'Expand code'}\n </button>\n )\n}\n","'use client'\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible'\n\nfunction Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot='collapsible' {...props} />\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot='collapsible-trigger' {...props} />\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return <CollapsiblePrimitive.CollapsibleContent data-slot='collapsible-content' {...props} />\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","'use client'\n\nimport { useEffect, useRef, useState } from 'react'\nimport { clsx } from 'clsx'\nimport { useCopyToClipboard } from '@uidotdev/usehooks'\nimport { toast } from 'sonner'\n\nimport { getColorValue, isLightColor } from '../lib/colors'\nimport { ColorCardProps } from '../types/types'\n\nimport { Icons } from '../components/Icons'\nimport { Card } from '../components/Card'\nimport { Button } from '../components/Button'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../components/Tooltip'\n\nconst TruncatingTooltip = ({ children, className }: { children: string; className?: string }) => {\n const textRef = useRef<HTMLDivElement>(null)\n const [isTruncated, setIsTruncated] = useState(false)\n\n useEffect(() => {\n const el = textRef.current\n if (el) {\n setIsTruncated(el.scrollWidth > el.clientWidth)\n }\n }, [children])\n\n return (\n <TooltipProvider>\n <Tooltip delayDuration={500}>\n <TooltipTrigger asChild>\n <p ref={textRef} className={`truncate ${className}`}>\n {children}\n </p>\n </TooltipTrigger>\n {isTruncated && <TooltipContent>{children}</TooltipContent>}\n </Tooltip>\n </TooltipProvider>\n )\n}\n\nexport function ColorCard({ name, token, hex, rgb, hsl, oklch, format, viewMode }: ColorCardProps) {\n const [, copyToClipboardRaw] = useCopyToClipboard()\n const [copied, setCopied] = useState(false)\n\n const formattedColor = getColorValue({ oklch, hex, rgb, hsl }, format)\n\n const copyToClipboard = () => {\n copyToClipboardRaw(formattedColor)\n setCopied(true)\n toast('Color value copied to clipboard', {\n duration: 2000,\n })\n setTimeout(() => setCopied(false), 2000)\n }\n\n if (viewMode === 'grid') {\n return (\n <Card className='gap-0 overflow-hidden border-1 py-0'>\n <div\n className='flex h-24 w-full items-center justify-center'\n style={{ backgroundColor: hex }}\n >\n <p className={clsx('font-medium', isLightColor(hex) ? 'text-primary-950' : 'text-white')}>\n {name}\n </p>\n </div>\n <div className='flex flex-col gap-2 p-4'>\n <div className='flex items-center justify-between'>\n <div className='min-w-0 flex-1 pr-1'>\n <p className='font-medium'>{token}</p>\n <TruncatingTooltip className='text-muted-foreground font-mono text-sm'>\n {formattedColor}\n </TruncatingTooltip>\n </div>\n <Button variant='ghost' size='icon' onClick={copyToClipboard}>\n {copied ? <Icons.check data-slot='icon' /> : <Icons.copy data-slot='icon' />}\n <span className='sr-only'>Copy color value</span>\n </Button>\n </div>\n </div>\n </Card>\n )\n }\n\n return (\n <Card className='gap-0 overflow-hidden border-1 py-0'>\n <div className='flex items-center gap-4 p-4'>\n <div className='h-12 w-48 flex-shrink-0 rounded-md' style={{ backgroundColor: hex }} />\n <div className='min-w-0 flex-1'>\n <p className='font-medium'>{name}</p>\n <p className='font-medium'>{token}</p>\n <TruncatingTooltip className='text-muted-foreground font-mono text-sm'>\n {formattedColor}\n </TruncatingTooltip>\n </div>\n <Button variant='ghost' size='icon' className='flex-shrink-0' onClick={copyToClipboard}>\n {copied ? <Icons.check data-slot='icon' /> : <Icons.copy data-slot='icon' />}\n <span className='sr-only'>Copy color value</span>\n </Button>\n </div>\n </Card>\n )\n}\n","import { ColourScaleProps } from '../types/types'\n\nexport function ColourScale({ colorsToUse }: ColourScaleProps) {\n return (\n <div className='grid grid-cols-6 gap-1 overflow-hidden rounded-lg md:grid-cols-19'>\n {colorsToUse.map((color, index) => (\n <div\n className='group relative h-12 transition-transform hover:z-10 hover:scale-105 md:h-16'\n style={{ backgroundColor: color.hex }}\n key={index}\n ></div>\n ))}\n </div>\n )\n}\n","import { ColorSwatchesProps } from '../types/types'\n\nimport { ColorCard } from '../components/ColorCard'\n\nexport function ColorSwatches({ theme, format, viewMode }: ColorSwatchesProps) {\n return (\n <div\n className={\n viewMode === 'grid'\n ? 'grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4'\n : 'space-y-4'\n }\n >\n {theme.map((color) => (\n <ColorCard\n key={color.hex}\n name={color.name || ''}\n token={color.token}\n hex={color.hex}\n rgb={color.rgb}\n hsl={color.hsl}\n oklch={color.oklch}\n format={format}\n viewMode={viewMode}\n />\n ))}\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { Icons } from '../components/Icons'\nimport { Button } from '../components/Button'\nimport { cn } from '../lib/utils'\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot='dialog' {...props} />\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot='dialog-trigger' {...props} />\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot='dialog-portal' {...props} />\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot='dialog-close' {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot='dialog-overlay'\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot='dialog-portal'>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot='dialog-content'\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className='absolute top-1 right-1' asChild>\n <Button variant='ghost' size='icon'>\n <Icons.close className='size-6' aria-hidden='true' />\n <span className='sr-only'>Close</span>\n </Button>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='dialog-header'\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='dialog-footer'\n className={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot='dialog-title'\n className={cn('text-lg leading-none font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot='dialog-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '../components/Dialog'\n\nfunction Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot='command'\n className={cn(\n 'bg-background text-foreground flex h-full w-full flex-col overflow-hidden rounded-md',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CommandDialog({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string\n description?: string\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className='sr-only'>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className='overflow-hidden p-0'>\n <Command className='[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5'>\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div data-slot='command-input-wrapper' className='flex h-9 items-center gap-2 border-b px-3'>\n <Icons.search className='size-5 shrink-0 opacity-50' />\n <CommandPrimitive.Input\n data-slot='command-input'\n className={cn(\n 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot='command-list'\n className={cn('max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto', className)}\n {...props}\n />\n )\n}\n\nfunction CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot='command-empty'\n className='py-6 text-center text-sm'\n {...props}\n />\n )\n}\n\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot='command-group'\n className={cn(\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot='command-separator'\n className={cn('bg-border -mx-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot='command-item'\n className={cn(\n \"data-[selected=true]:bg-primary-800/10 data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CommandShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='command-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as ContextMenuPrimitive from '@radix-ui/react-context-menu'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction ContextMenu({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Root>) {\n return <ContextMenuPrimitive.Root data-slot='context-menu' {...props} />\n}\n\nfunction ContextMenuTrigger({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>) {\n return <ContextMenuPrimitive.Trigger data-slot='context-menu-trigger' {...props} />\n}\n\nfunction ContextMenuGroup({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Group>) {\n return <ContextMenuPrimitive.Group data-slot='context-menu-group' {...props} />\n}\n\nfunction ContextMenuPortal({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Portal>) {\n return <ContextMenuPrimitive.Portal data-slot='context-menu-portal' {...props} />\n}\n\nfunction ContextMenuSub({ ...props }: React.ComponentProps<typeof ContextMenuPrimitive.Sub>) {\n return <ContextMenuPrimitive.Sub data-slot='context-menu-sub' {...props} />\n}\n\nfunction ContextMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>) {\n return <ContextMenuPrimitive.RadioGroup data-slot='context-menu-radio-group' {...props} />\n}\n\nfunction ContextMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.SubTrigger\n data-slot='context-menu-sub-trigger'\n data-inset={inset}\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_right className='ml-auto' />\n </ContextMenuPrimitive.SubTrigger>\n )\n}\n\nfunction ContextMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>) {\n return (\n <ContextMenuPrimitive.SubContent\n data-slot='context-menu-sub-content'\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Content>) {\n return (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\n data-slot='context-menu-content'\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-context-menu-content-available-height) min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </ContextMenuPrimitive.Portal>\n )\n}\n\nfunction ContextMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <ContextMenuPrimitive.Item\n data-slot='context-menu-item'\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction ContextMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>) {\n return (\n <ContextMenuPrimitive.CheckboxItem\n data-slot='context-menu-checkbox-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <ContextMenuPrimitive.ItemIndicator>\n <Icons.check className='size-4' />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction ContextMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>) {\n return (\n <ContextMenuPrimitive.RadioItem\n data-slot='context-menu-radio-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <ContextMenuPrimitive.ItemIndicator>\n <Icons.circle className='size-2 fill-current' />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n )\n}\n\nfunction ContextMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <ContextMenuPrimitive.Label\n data-slot='context-menu-label'\n data-inset={inset}\n className={cn('text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof ContextMenuPrimitive.Separator>) {\n return (\n <ContextMenuPrimitive.Separator\n data-slot='context-menu-separator'\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='context-menu-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { Drawer as DrawerPrimitive } from 'vaul'\n\nimport { cn } from '../lib/utils'\n\nfunction Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot='drawer' {...props} />\n}\n\nfunction DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot='drawer-trigger' {...props} />\n}\n\nfunction DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot='drawer-portal' {...props} />\n}\n\nfunction DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot='drawer-close' {...props} />\n}\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot='drawer-overlay'\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction DrawerContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot='drawer-portal'>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot='drawer-content'\n className={cn(\n 'group/drawer-content bg-background fixed z-50 flex h-auto flex-col',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n className,\n )}\n {...props}\n >\n <div className='bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block' />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n )\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='drawer-header'\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='drawer-footer'\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot='drawer-title'\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction DrawerDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return (\n <DrawerPrimitive.Description\n data-slot='drawer-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","'use client'\n\nimport { useEffect } from 'react'\n\ninterface DynamicFaviconProps {\n lightModeFavicon: string\n darkModeFavicon: string\n}\n\nexport function DynamicFavicon({ lightModeFavicon, darkModeFavicon }: DynamicFaviconProps) {\n useEffect(() => {\n // Function to update favicon based on color scheme\n const updateFavicon = () => {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n const favicon = document.querySelector(\"link[rel='icon']\") as HTMLLinkElement\n\n if (favicon) {\n favicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n } else {\n // Create favicon link if it doesn't exist\n const newFavicon = document.createElement('link')\n newFavicon.rel = 'icon'\n newFavicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n document.head.appendChild(newFavicon)\n }\n }\n\n // Initial update\n updateFavicon()\n\n // Listen for changes in color scheme\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n mediaQuery.addEventListener('change', updateFavicon)\n\n // Clean up\n return () => mediaQuery.removeEventListener('change', updateFavicon)\n }, [lightModeFavicon, darkModeFavicon])\n\n // This component doesn't render anything visible\n return null\n}\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '@/lib/utils'\n\nimport { Icons } from '../components/Icons'\n\nconst ExpandableSearchContext = React.createContext<{\n value: string\n setValue: (value: string) => void\n formRef: React.RefObject<HTMLFormElement | null>\n} | null>(null)\n\nconst ExpandableSearch = React.forwardRef<\n HTMLFormElement,\n React.HTMLAttributes<HTMLFormElement> & {\n onAction?: (value: string) => void\n defaultValue?: string\n }\n>(({ className, onAction, defaultValue = '', ...props }, ref) => {\n const [value, setValue] = React.useState(defaultValue)\n const formRef = React.useRef<HTMLFormElement | null>(null)\n\n const handleAction = (e: React.FormEvent) => {\n e.preventDefault()\n if (onAction) {\n onAction(value)\n }\n }\n\n return (\n <ExpandableSearchContext.Provider value={{ value, setValue, formRef }}>\n <form\n ref={ref}\n className={cn('relative inline-block select-none', className)}\n onSubmit={handleAction}\n {...props}\n />\n </ExpandableSearchContext.Provider>\n )\n})\nExpandableSearch.displayName = 'ExpandableSearch'\n\nconst ExpandableSearchField = React.forwardRef<\n HTMLInputElement,\n React.InputHTMLAttributes<HTMLInputElement>\n>(({ className, ...props }, ref) => {\n const context = React.useContext(ExpandableSearchContext)\n if (!context) throw new Error('ExpandableSearchField must be used within ExpandableSearch')\n\n const [isFocused, setIsFocused] = React.useState(false)\n\n const isActive = context.value.length > 0 || isFocused\n\n return (\n <div className='relative flex-1'>\n <label className='sr-only' htmlFor='expandable-search'>\n Search\n </label>\n\n <input\n ref={ref}\n value={context.value}\n onChange={(e) => context.setValue(e.target.value)}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n className={cn(\n 'peer align-center bg-grey-100 hover:bg-primary-800/10 placeholder:text-grey-500 flex h-12 w-12 cursor-pointer overflow-hidden rounded-sm border-0 text-transparent',\n 'focus-visible:ring-primary-650/70 ring-offset-white focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',\n 'transition-[width,box-shadow,background-color] duration-300 ease-in-out',\n 'placeholder:text-transparent placeholder:opacity-0',\n 'expandable-search__input',\n // Conditionally apply classes based on active state\n {\n 'p-0': !isActive,\n 'bg-grey-100 text-grey-800 w-96 cursor-auto pt-0 pr-12 pb-0 pl-4 outline-none select-auto':\n isActive,\n 'placeholder:text-grey-700 placeholder:opacity-100': isActive,\n },\n className,\n )}\n {...props}\n />\n\n <button\n type='button'\n className='hover:bg-primary-800/10 group-focus-within:bg-primary-800/10 pointer-events-none absolute top-0 right-0 z-10 flex h-12 w-12 rounded-sm transition-colors duration-200 peer-focus:pointer-events-auto'\n >\n <Icons.search className='fill-primary m-auto block h-8 w-8 shrink-0 leading-none' />\n </button>\n </div>\n )\n})\nExpandableSearchField.displayName = 'ExpandableSearchField'\n\nexport { ExpandableSearch, ExpandableSearchField }\n","'use client'\n\nimport * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\n\nimport { cn } from '../lib/utils'\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot='separator-root'\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-primary-800/20 shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","'use client'\n\nimport Link from 'next/link'\nimport { Button } from '../components/Button'\nimport { Separator } from '../components/Separator'\n\nfunction FooterSocialLink({\n href,\n icon: Icon,\n children,\n}: {\n href: string\n icon: React.ComponentType<{ className?: string }>\n children: React.ReactNode\n}) {\n return (\n <Button href={href} variant='ghost' size='icon' className='group'>\n <span className='sr-only'>{children}</span>\n <Icon\n data-slot='icon'\n className='group-hover:fill-nsw-grey-900 dark:group-hover:fill-nsw-grey-500 fill-nsw-grey-700 transition'\n />\n </Button>\n )\n}\n\nfunction FooterAcknowledgement() {\n return (\n <div className='border-nsw-grey-200 flex flex-row items-center gap-5 border-t pt-8 pb-4 dark:border-white/5'>\n <p className='text-nsw-grey-600 dark:text-nsw-grey-400 text-center text-base text-pretty lg:text-left'>\n We acknowledge the Traditional Custodians of the land on which we work and live, and pay our\n respects to Elders past, present and emerging.\n </p>\n </div>\n )\n}\n\nfunction FooterSmallPrint({\n socialLinks,\n department,\n}: {\n socialLinks?: Array<{\n name: string\n href: string\n icon: React.ComponentType<{ className?: string }>\n }>\n department?: string\n}) {\n return (\n <div className='flex flex-col items-center justify-between gap-5 pt-4 sm:flex-row dark:border-white/5'>\n <p className='text-nsw-grey-600 dark:text-nsw-grey-400 text-center text-sm lg:text-left'>\n &copy; Copyright {new Date().getFullYear()}\n {department && ' '}\n {department}. All rights reserved.\n </p>\n <div className='flex justify-center gap-4 lg:justify-end'>\n {socialLinks?.map((item) => (\n <FooterSocialLink key={item.name} href={item.href} icon={item.icon}>\n Follow us on {item.name}\n </FooterSocialLink>\n ))}\n </div>\n </div>\n )\n}\n\nfunction FooterLegalLinks({ legalLinks }: { legalLinks: Array<{ name: string; href: string }> }) {\n return (\n <nav\n aria-label='Footer'\n className='flex flex-wrap justify-center gap-x-4 gap-y-3 py-4 text-sm lg:justify-start'\n >\n {legalLinks?.map((item) => (\n <Link\n key={item.name}\n href={item.href}\n className='text-nsw-grey-600 hover:text-nsw-grey-600 hover:bg-primary-800/10 -m-1 rounded p-1 underline underline-offset-4 hover:decoration-2'\n >\n {item.name}\n </Link>\n ))}\n </nav>\n )\n}\n\nfunction Footer({\n legalLinks,\n department,\n socialLinks,\n}: {\n legalLinks: Array<{ name: string; href: string }>\n department?: string\n socialLinks?: Array<{\n name: string\n href: string\n icon: React.ComponentType<{ className?: string }>\n }>\n}) {\n return (\n <footer className='mx-auto w-full px-4 py-16 pb-16 lg:pr-0 lg:pl-8'>\n <FooterAcknowledgement />\n <Separator className='bg-nsw-grey-200 my-4' />\n <FooterLegalLinks legalLinks={legalLinks} />\n <FooterSmallPrint department={department} socialLinks={socialLinks} />\n </footer>\n )\n}\n\nexport { Footer, FooterLegalLinks, FooterSmallPrint, FooterAcknowledgement, FooterSocialLink }\n","'use client'\n\nimport * as React from 'react'\nimport * as LabelPrimitive from '@radix-ui/react-label'\nimport { Slot } from '@radix-ui/react-slot'\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from 'react-hook-form'\n\nimport { cn } from '../lib/utils'\nimport { Label } from '../components/Label'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState } = useFormContext()\n const formState = useFormState({ name: fieldContext.name })\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue)\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div data-slot='form-item' className={cn('grid gap-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n}\n\nfunction FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n data-slot='form-label'\n data-error={!!error}\n className={cn('data-[error=true]:text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n data-slot='form-control'\n id={formItemId}\n aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={!!error}\n {...props}\n />\n )\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n data-slot='form-description'\n id={formDescriptionId}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message ?? '') : props.children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n data-slot='form-message'\n id={formMessageId}\n className={cn('text-destructive text-sm', className)}\n {...props}\n >\n {body}\n </p>\n )\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n","'use client'\n\nimport * as React from 'react'\nimport clsx from 'clsx'\nimport * as TogglePrimitive from '@radix-ui/react-toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst styles = {\n base: [\n // Base\n 'inline-flex items-center justify-center gap-2 rounded-sm text-sm font-medium bg-transparent transition-all whitespace-nowrap cursor-pointer border-(--toggle-border) [--toggle-border:var(--color-nsw-grey-200)] text-nsw-grey-800',\n // States\n 'data-[state=on]:bg-nsw-grey-100 data-[state=on]:text-nsw-grey-850',\n // Hover\n 'hover:bg-nsw-grey-100 hover:text-nsw-grey-850',\n // Focus\n 'focus:outline focus:outline-2 focus:outline-offset-0 focus:outline-(--toggle-border)',\n // Dark mode\n 'dark:text-white',\n // Dark mode states\n 'dark:data-[state=on]:bg-white/10 dark:data-[state=on]:text-white',\n // Dark mode hover\n 'dark:hover:bg-white/10 dark:hover:text-white',\n // Disabled\n 'disabled:pointer-events-none disabled:opacity-50',\n // Icon\n '[&_svg]:pointer-events-none [&_svg:not([class*=\"size-\"])]:size-4 [&_svg]:shrink-0',\n // Aria invalid\n 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive',\n // Aria invalid dark mode\n 'dark:aria-invalid:ring-destructive/40',\n ],\n outline: [\n // Base\n 'text-nsw-grey-800 border [--toggle-border:var(--color-nsw-grey-300)]',\n // States\n 'hover:[--toggle-border:var(--color-nsw-grey-400)]',\n // Dark mode\n 'dark:[--toggle-border:white]/40',\n // Dark mode states\n 'dark:hover:[--toggle-border:white]/50',\n // Data on\n 'data-[state=on]:bg-primary-800/10',\n ],\n}\n\nconst toggleVariants = cva(styles.base, {\n variants: {\n variant: {\n ghost: '',\n outline: clsx(styles.outline),\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'ghost',\n size: 'default',\n },\n})\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot='toggle'\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n","'use client'\n\nimport * as React from 'react'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\nimport { type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\nimport { toggleVariants } from '../components/Toggle'\n\nconst ToggleGroupContext = React.createContext<VariantProps<typeof toggleVariants>>({\n size: 'default',\n variant: 'ghost',\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot='toggle-group'\n data-variant={variant}\n data-size={size}\n className={cn(\n 'group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs',\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot='toggle-group-item'\n data-variant={context.variant || variant}\n data-size={context.size || size}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n 'min-w-0 shrink-0 rounded-none shadow-none first:rounded-l-sm last:rounded-r-sm focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l',\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n","'use client'\n\nimport { ToggleGroup, ToggleGroupItem } from '../components/ToggleGroup'\nimport { Format, FormatToggleProps } from '../types/types'\n\nexport function FormatToggle({ format, setFormat }: FormatToggleProps) {\n return (\n <div className='flex items-center gap-2'>\n <span className='text-sm font-medium'>Format:</span>\n <ToggleGroup\n type='single'\n value={format}\n onValueChange={(value) => value && setFormat(value as Format)}\n >\n <ToggleGroupItem value='hex' aria-label='HEX format'>\n HEX\n </ToggleGroupItem>\n <ToggleGroupItem value='rgb' aria-label='RGB format'>\n RGB\n </ToggleGroupItem>\n <ToggleGroupItem value='hsl' aria-label='HSL format'>\n HSL\n </ToggleGroupItem>\n <ToggleGroupItem value='oklch' aria-label='OKLCH format'>\n OKLCH\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n )\n}\n","import clsx from 'clsx'\n\ntype BaseProps = React.ComponentPropsWithoutRef<'h1'>\n\ntype HeadingProps =\n | ({\n display?: false\n size?: 1 | 2 | 3 | 4 | 5 | 6\n trim?: 'normal' | 'start' | 'end' | 'both'\n level?: 1 | 2 | 3 | 4 | 5 | 6\n } & BaseProps)\n | ({\n display: true\n size?: 1 | 2 | 3 | 4\n level?: 1 | 2 | 3 | 4 | 5 | 6\n trim?: 'normal' | 'start' | 'end' | 'both'\n } & BaseProps)\n\nexport function Heading({\n className,\n trim = 'normal',\n size = 1,\n level = 1,\n display = false,\n ...props\n}: HeadingProps) {\n const Element: `h${typeof level}` = `h${level}`\n\n /* ───────────────────────────────── heading (1-6) ────────────────────────── */\n const headingSizeClasses = {\n 1: 'text-[calc(var(--heading-font-size-1)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-52)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 2: 'text-[calc(var(--heading-font-size-2)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-44)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 3: 'text-[calc(var(--heading-font-size-3)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-40)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 4: 'text-[calc(var(--heading-font-size-4)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-36)] tracking-[calc(var(--heading-letter-spacing-1)_+_var(--heading-letter-spacing))]',\n 5: 'text-[calc(var(--heading-font-size-5)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-32)] tracking-[calc(var(--heading-letter-spacing-1)_+_var(--heading-letter-spacing))]',\n 6: 'text-[calc(var(--heading-font-size-6)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-28)] tracking-[calc(var(--letter-spacing-0)_+_var(--heading-letter-spacing))]',\n } as const\n\n /* ───────────────────────────────── display (1-4) ────────────────────────── */\n const displaySizeClasses = {\n 1: 'text-[calc(var(--display-font-size-1)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-96)] tracking-[calc(var(--heading-letter-spacing-3)_+_var(--heading-letter-spacing))]',\n 2: 'text-[calc(var(--display-font-size-2)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-60)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 3: 'text-[calc(var(--display-font-size-3)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-52)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n 4: 'text-[calc(var(--display-font-size-4)_*_var(--heading-font-size-adjust))] leading-[var(--line-height-44)] tracking-[calc(var(--heading-letter-spacing-2)_+_var(--heading-letter-spacing))]',\n } as const\n\n const sizeClass = display\n ? displaySizeClasses[size as 1 | 2 | 3 | 4]\n : headingSizeClasses[size as 1 | 2 | 3 | 4 | 5 | 6]\n\n const trimClasses = {\n normal: ['before:content-none after:content-none'],\n start: [\n 'before:content-[\"\"] before:table after:content-none',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n end: [\n 'before:content-none after:content-[\"\"] after:table',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n both: [\n 'before:content-[\"\"] before:table after:content-[\"\"] after:table',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n }\n\n return (\n <Element\n {...props}\n className={clsx(\n className,\n trimClasses[trim],\n 'm-0',\n 'leading-[var(--line-height)] font-[var(--heading-font-family)] font-bold',\n '[--leading-trim-end:var(--heading-leading-trim-end)] [--leading-trim-start:var(--heading-leading-trim-start)]',\n 'text-primary-800 dark:text-white',\n sizeClass,\n )}\n />\n )\n}\n","{\n \"name\": \"@nswds/app\",\n \"version\": \"1.28.3\",\n \"main\": \"dist/index.cjs\",\n \"module\": \"dist/index.js\",\n \"types\": \"dist/index.d.ts\",\n \"private\": false,\n \"type\": \"module\",\n \"files\": [\n \"dist\",\n \"dist/globals.css\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./globals.css\": \"./dist/globals.css\"\n },\n \"scripts\": {\n \"build:npm\": \"tsup --config tsup.config.ts && cp dist-package.json dist/package.json\",\n \"type-check\": \"tsc -b\",\n \"format\": \"prettier --write .\",\n \"dev\": \"next dev --turbopack\",\n \"build\": \"next build\",\n \"start\": \"next start\",\n \"lint\": \"next lint\",\n \"storybook\": \"storybook dev -p 6006\",\n \"build-storybook\": \"storybook build\",\n \"serve-storybook\": \"serve storybook-static\",\n \"semantic-release\": \"semantic-release\"\n },\n \"dependencies\": {\n \"@headlessui/react\": \"^2.2.1\",\n \"@hookform/resolvers\": \"^5.0.1\",\n \"@nswds/tokens\": \"^2.10.0\",\n \"@radix-ui/react-accordion\": \"^1.2.10\",\n \"@radix-ui/react-alert-dialog\": \"^1.1.7\",\n \"@radix-ui/react-aspect-ratio\": \"^1.1.2\",\n \"@radix-ui/react-avatar\": \"^1.1.3\",\n \"@radix-ui/react-checkbox\": \"^1.3.1\",\n \"@radix-ui/react-collapsible\": \"^1.1.10\",\n \"@radix-ui/react-context-menu\": \"^2.2.6\",\n \"@radix-ui/react-dialog\": \"^1.1.13\",\n \"@radix-ui/react-dropdown-menu\": \"^2.1.6\",\n \"@radix-ui/react-hover-card\": \"^1.1.6\",\n \"@radix-ui/react-label\": \"^2.1.7\",\n \"@radix-ui/react-menubar\": \"^1.1.6\",\n \"@radix-ui/react-navigation-menu\": \"^1.2.5\",\n \"@radix-ui/react-popover\": \"^1.1.6\",\n \"@radix-ui/react-progress\": \"^1.1.2\",\n \"@radix-ui/react-radio-group\": \"^1.2.3\",\n \"@radix-ui/react-scroll-area\": \"^1.2.3\",\n \"@radix-ui/react-select\": \"^2.1.6\",\n \"@radix-ui/react-separator\": \"^1.1.3\",\n \"@radix-ui/react-slider\": \"^1.2.3\",\n \"@radix-ui/react-slot\": \"^1.2.3\",\n \"@radix-ui/react-switch\": \"^1.1.3\",\n \"@radix-ui/react-tabs\": \"^1.1.4\",\n \"@radix-ui/react-toggle\": \"^1.1.3\",\n \"@radix-ui/react-toggle-group\": \"^1.1.3\",\n \"@radix-ui/react-tooltip\": \"^1.1.8\",\n \"@react-email/components\": \"0.0.41\",\n \"@responsive-email/react-email\": \"^0.0.4\",\n \"@sindresorhus/slugify\": \"^2.2.1\",\n \"@tailwindcss/postcss\": \"^4.1.3\",\n \"@tailwindcss/typography\": \"^0.5.16\",\n \"@uidotdev/usehooks\": \"^2.4.1\",\n \"class-variance-authority\": \"^0.7.1\",\n \"clsx\": \"^2.1.1\",\n \"cmdk\": \"^1.1.1\",\n \"culori\": \"^4.0.1\",\n \"date-fns\": \"^4.1.0\",\n \"embla-carousel-react\": \"^8.6.0\",\n \"lucide-react\": \"^0.511.0\",\n \"motion\": \"^12.7.2\",\n \"prismjs\": \"^1.30.0\",\n \"react\": \"19.1.0\",\n \"react-day-picker\": \"^9.6.4\",\n \"react-dom\": \"19.1.0\",\n \"react-hook-form\": \"^7.57.0\",\n \"react-resizable-panels\": \"^2.1.7\",\n \"sonner\": \"^2.0.3\",\n \"tailwind-merge\": \"^3.1.0\",\n \"tailwindcss\": \"^4.1.3\",\n \"tailwindcss-animate\": \"^1.0.7\",\n \"vaul\": \"^1.1.2\",\n \"zod\": \"^3.25.46\",\n \"zustand\": \"^5.0.5\"\n },\n \"devDependencies\": {\n \"@chromatic-com/storybook\": \"^3.2.6\",\n \"@eslint/eslintrc\": \"^3\",\n \"@semantic-release/changelog\": \"^6.0.3\",\n \"@semantic-release/git\": \"^10.0.1\",\n \"@storybook/addon-a11y\": \"^8.6.12\",\n \"@storybook/addon-essentials\": \"^8.6.12\",\n \"@storybook/addon-interactions\": \"^8.6.12\",\n \"@storybook/addon-links\": \"^8.6.12\",\n \"@storybook/addon-onboarding\": \"^8.6.12\",\n \"@storybook/addon-storysource\": \"^8.6.12\",\n \"@storybook/addon-themes\": \"^8.6.12\",\n \"@storybook/blocks\": \"^8.6.12\",\n \"@storybook/experimental-addon-test\": \"^8.6.12\",\n \"@storybook/experimental-nextjs-vite\": \"^8.6.12\",\n \"@storybook/manager-api\": \"^8.6.12\",\n \"@storybook/react\": \"^8.6.12\",\n \"@storybook/test\": \"^8.6.12\",\n \"@storybook/theming\": \"^8.6.12\",\n \"@types/culori\": \"^2.1.1\",\n \"@types/node\": \"^20.17.28\",\n \"@types/prismjs\": \"^1.26.5\",\n \"@types/react\": \"^19.1.2\",\n \"@types/react-dom\": \"^19.1.2\",\n \"@vitest/browser\": \"^3.0.9\",\n \"@vitest/coverage-v8\": \"^3.0.9\",\n \"eslint\": \"^9\",\n \"eslint-config-next\": \"15.2.3\",\n \"eslint-config-prettier\": \"^10.1.1\",\n \"eslint-plugin-prettier\": \"^5.2.3\",\n \"eslint-plugin-storybook\": \"^0.12.0\",\n \"playwright\": \"^1.51.1\",\n \"postcss\": \"^8.5.3\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-tailwindcss\": \"^0.6.11\",\n \"react-email\": \"4.0.7\",\n \"semantic-release\": \"^24.2.3\",\n \"storybook\": \"^8.6.12\",\n \"tsup\": \"^8.4.0\",\n \"typescript\": \"^5.8.3\",\n \"vitest\": \"^3.0.9\"\n },\n \"peerDependencies\": {\n \"next\": \">=13.0.0\",\n \"next-themes\": \"^0.4.6\"\n },\n \"eslintConfig\": {\n \"extends\": [\n \"plugin:storybook/recommended\"\n ]\n }\n}\n","export function Logo(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <>\n <span className='sr-only'>NSW Government</span>\n <svg viewBox='0 0 259 280' aria-hidden='true' {...props}>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M24.208 270.207h-5.045v-4.277l11.15.054v13.676H26.08v-2.491c-.266.278-.553.556-.86.833-.673.585-1.49 1.07-2.433 1.434-.96.373-2.143.564-3.513.564-2.33 0-4.385-.539-6.109-1.6-1.727-1.065-3.073-2.594-4.007-4.538-.926-1.927-1.395-4.231-1.395-6.85 0-2.657.494-4.994 1.47-6.946.971-1.96 2.363-3.498 4.132-4.571 1.768-1.065 3.849-1.604 6.183-1.604 1.515 0 2.915.245 4.156.725 1.255.485 2.36 1.157 3.273 1.985a9.61 9.61 0 0 1 2.192 2.852 8.196 8.196 0 0 1 .872 3.319l.021.435h-6.038l-.062-.339a5.22 5.22 0 0 0-.814-1.981 4.562 4.562 0 0 0-1.537-1.43c-.614-.352-1.345-.531-2.175-.531-1.005 0-1.931.261-2.741.775-.806.51-1.458 1.351-1.935 2.495-.486 1.169-.731 2.74-.731 4.679 0 1.579.162 2.897.482 3.925.311 1.011.739 1.819 1.266 2.403.523.581 1.117.991 1.773 1.219a6.036 6.036 0 0 0 2.089.369c.669 0 1.27-.112 1.79-.328.523-.224.98-.514 1.354-.866.377-.356.676-.746.884-1.152.216-.41.349-.816.399-1.21l.14-1.028Zm20.878-16.312c2.354 0 4.435.534 6.179 1.587 1.752 1.061 3.13 2.59 4.086 4.546.947 1.935 1.428 4.281 1.428 6.967 0 2.648-.473 4.969-1.412 6.9-.946 1.948-2.317 3.469-4.073 4.521-1.744 1.053-3.837 1.583-6.212 1.583-2.396 0-4.502-.534-6.254-1.583-1.753-1.044-3.135-2.557-4.099-4.505-.947-1.927-1.428-4.252-1.428-6.912 0-2.673.486-5.015 1.449-6.954.968-1.956 2.355-3.486 4.12-4.551 1.764-1.061 3.853-1.599 6.216-1.599Zm0 21.185c1.117 0 2.093-.265 2.898-.787.802-.523 1.433-1.372 1.881-2.516.453-1.185.686-2.772.686-4.712 0-1.993-.237-3.618-.698-4.832-.444-1.181-1.08-2.056-1.885-2.603-.814-.543-1.782-.82-2.878-.82-1.1 0-2.072.277-2.886.82-.81.543-1.453 1.422-1.906 2.611-.47 1.223-.706 2.843-.706 4.82 0 1.944.237 3.531.702 4.712.452 1.148 1.092 1.997 1.902 2.515.81.527 1.781.792 2.89.792Zm23.764-2.93-6.162-17.829H57.09l8.654 25.251h6.195l8.73-25.251h-5.607L68.85 272.15Zm30.312-2.827H88.863v5.206l12.043.016v5.027H83.103v-25.251h17.632l-.016 4.99H88.892v5.089h10.27v4.923Zm22.482-1.529c.685-.613 1.246-1.401 1.678-2.341.419-.933.635-2.081.635-3.419 0-1.497-.311-2.835-.93-3.983-.619-1.169-1.599-2.093-2.919-2.756-1.3-.647-2.973-.974-4.975-.974h-10.738v25.243h5.759v-9.404h4.24l3.991 9.404h6.046l-4.651-10.456c.673-.357 1.3-.8 1.864-1.314Zm-3.513-5.64c0 .999-.336 1.79-1.025 2.428-.69.63-1.649.949-2.857.949h-4.095v-6.606h4.456c1.038 0 1.873.286 2.545.875.657.576.976 1.347.976 2.354Zm15.159-7.833 10.527 15.23v-15.23h5.776v25.251h-5.086l-10.98-15.86v15.86h-5.759v-25.251h5.522Zm33.949 16.461-5.29-16.461h-7.894v25.251h5.809v-16.266l5.124 16.266h4.485l5.162-16.357v16.357h5.826v-25.251h-7.878l-5.344 16.461Zm33.727-1.459h-10.298v5.206l12.046.016v5.027h-17.806v-25.251h17.636l-.021 4.99h-11.818v5.089h10.261v4.923Zm21.494.228-10.523-15.23h-5.527v25.251h5.756v-15.86l10.979 15.86h5.087v-25.251h-5.772v15.23Zm15.586-10.004h-7.388v-5.226h20.402v5.226h-7.217v20.025h-5.797v-20.025Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M146.699 209.236c-1.482-2.395-3.717-4.571-6.64-6.465-2.919-1.894-6.897-3.34-11.81-4.297l-13.678-2.814c-4.132-.891-6.981-2.043-8.468-3.419-1.449-1.343-2.184-3.129-2.184-5.309 0-1.388.316-2.652.943-3.759.623-1.111 1.528-2.093 2.687-2.922 1.166-.828 2.616-1.483 4.306-1.943 1.711-.469 3.633-.705 5.714-.705 2.74 0 5.211.361 7.346 1.078 2.109.713 3.857 1.881 5.194 3.481 1.338 1.6 2.16 3.775 2.442 6.465l.038.373h16.971l-.008-.427c-.075-4.575-1.371-8.773-3.85-12.474-2.483-3.705-6.141-6.681-10.879-8.852-4.726-2.164-10.623-3.262-17.528-3.262-5.801 0-11.117 1.011-15.805 3.009-4.7 2.002-8.475 4.89-11.212 8.587-2.749 3.717-4.12 8.164-4.078 13.224.112 6.175 1.99 11.186 5.577 14.903 3.576 3.697 8.476 6.158 14.567 7.306l13.795 2.81c2.529.502 4.825 1.16 6.823 1.96 1.96.784 3.525 1.803 4.651 3.03 1.1 1.197 1.657 2.772 1.657 4.67 0 2.114-.694 3.9-2.06 5.301-1.4 1.434-3.301 2.515-5.643 3.224-2.388.721-5.058 1.086-7.936 1.086-2.807 0-5.394-.435-7.686-1.297-2.28-.85-4.194-2.093-5.689-3.693-1.491-1.591-2.513-3.585-3.04-5.918l-.075-.327H83.846l.045.46c.407 4.045 1.666 7.629 3.738 10.659 2.068 3.009 4.717 5.545 7.873 7.551 3.148 1.993 6.677 3.514 10.494 4.513a46.33 46.33 0 0 0 11.693 1.5c6.466 0 12.2-1.019 17.046-3.034 4.867-2.022 8.717-4.807 11.449-8.276 2.753-3.493 4.148-7.476 4.148-11.848 0-2.064-.232-4.36-.697-6.822-.478-2.482-1.466-4.948-2.936-7.327ZM25.937 191.763l36.916 53.312H77.87v-79.724H61.072v51.282L25.754 165.53l-.125-.179H9.19v79.724h16.748v-53.312Zm196.637 24.577 14.388-50.987h16.457l-23.587 79.724h-13.367l-14.554-50.469-14.659 50.469h-13.147l-23.533-79.724h16.511l14.384 50.979 14.389-50.979h12.167l14.551 50.987Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n d='M122.291 145.572c-19.75-2.424-38.934 3.904-72.69-5.263-3.447-.937-4.718 2.694-2.854 5.736 9.07 14.803 54.881 3.203 75.635 1.065.906-.095.814-1.426-.091-1.538ZM208.735 140.309c-33.756 9.167-52.941 2.839-72.691 5.263-.905.112-1 1.447-.091 1.538 20.759 2.138 66.566 13.738 75.635-1.065 1.864-3.042.594-6.673-2.853-5.736ZM59.882 119.132c-6.864-10.058-12.474-21.31-16.818-33.69-13.101 3.826-26.51 9.346-40.16 16.57a5.388 5.388 0 0 0-2.902 4.67 5.38 5.38 0 0 0 2.653 4.812c26.431 15.802 52.273 24.841 76.93 26.933-7.34-4.475-14.072-11.044-19.703-19.295ZM23.059 85.513a201.529 201.529 0 0 1 17.976-6.233c-2.126-6.896-3.87-14.12-5.249-21.658-6.827-.85-13.89-1.4-21.199-1.641-.062 0-.128-.004-.19-.004a5.391 5.391 0 0 0-4.647 2.602 5.383 5.383 0 0 0-.12 5.483c4.243 7.659 8.724 14.808 13.429 21.45ZM88.005 135.572c4.099 1.807 8.293 2.818 12.358 3.029-9.953-7.12-17.773-19.192-22.278-34.58-5.805-19.81-7.745-41.666-5.83-65.247-7.832-4.936-16.32-9.557-25.46-13.85a5.428 5.428 0 0 0-5.402.43 5.396 5.396 0 0 0-2.388 4.841c2.126 34.215 10.95 62.915 26.223 85.298 6.404 9.391 14.281 16.332 22.777 20.079ZM107.488 23.577A253.323 253.323 0 0 0 92.235 6.735c-1.063-1.078-2.433-1.65-3.85-1.65-.506 0-1.017.075-1.523.224-1.923.568-3.314 2.106-3.733 4.115-1.072 5.164-3.11 15.69-4.012 26.101 7.014 4.613 13.492 9.49 19.426 14.621 2.3-8.757 5.29-17.63 8.945-26.569ZM255.42 102.007c-13.65-7.223-27.058-12.744-40.16-16.569-4.343 12.38-9.953 23.631-16.818 33.689-5.63 8.255-12.362 14.82-19.708 19.296 24.658-2.093 50.5-11.132 76.931-26.934 1.715-1.024 2.707-2.822 2.653-4.811-.045-1.99-1.133-3.734-2.898-4.671ZM235.273 85.513c4.705-6.643 9.186-13.796 13.43-21.455.963-1.74.922-3.788-.121-5.483a5.4 5.4 0 0 0-4.837-2.598c-7.309.24-14.377.796-21.199 1.641-1.375 7.539-3.123 14.762-5.249 21.658a203.803 203.803 0 0 1 17.976 6.237ZM180.247 104.025c-4.505 15.384-12.329 27.46-22.278 34.58 4.065-.211 8.263-1.227 12.358-3.034 8.496-3.746 16.373-10.688 22.777-20.075 15.273-22.383 24.097-51.082 26.223-85.297a5.394 5.394 0 0 0-2.388-4.84 5.428 5.428 0 0 0-5.402-.432c-9.14 4.29-17.628 8.91-25.46 13.85 1.915 23.582-.029 45.434-5.83 65.248ZM179.214 35.52c-.901-10.406-2.94-20.932-4.011-26.1-.416-2.01-1.811-3.547-3.733-4.115a5.39 5.39 0 0 0-1.524-.224c-1.416 0-2.787.572-3.85 1.65-5.485 5.549-10.568 11.164-15.252 16.842 3.654 8.939 6.644 17.812 8.949 26.565 5.934-5.127 12.407-10.005 19.421-14.617ZM129.144 87.229c6.64-13.092 17.246-24.829 25.21-32.243-4.372-17.779-11.104-34.55-20.397-52.097C132.998 1.078 131.195 0 129.148 0s-3.845 1.082-4.808 2.889c-9.389 17.604-16.237 35.122-20.377 52.093 8.313 7.688 19.28 20.224 25.181 32.247Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n\n <path\n d='M153.541 133.686c6.885-4.833 13.77-13.254 18.139-24.97 8.458-22.681 9.334-47.945 8.122-65.823-15.331 10.215-39.665 31.55-47.975 54.36-3.911 10.734-5.734 25.355-2.72 33.511 1.259 3.411 3.401 5.997 6.345 7.227 4.46 1.865 11.312.456 18.089-4.305ZM125.713 95.261c-2.027-4.724-4.261-9.18-7.728-14.186-9.809-14.16-23.026-26.933-39.475-38.185-.17 2.652-2.57 31.297 5.851 59.304 6.408 21.302 17.354 29.98 23.354 33.333 6.038 3.369 11.561 4.165 18.039 2.557-6.565-8.935-5.747-27.27-.041-42.823Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n </svg>\n </>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { useTheme } from 'next-themes'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n const classes = 'fill-nsw-grey-600 dark:fill-nsw-grey-100'\n\n // Avoid hydration mismatch by only rendering after mount\n useEffect(() => {\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return (\n <Button variant='ghost' size='icon' disabled>\n <Icons.light_mode data-slot='icon' className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='surface'\n color='light'\n size='icon'\n onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}\n aria-label={`Switch to ${resolvedTheme === 'dark' ? 'light' : 'dark'} theme`}\n >\n {resolvedTheme === 'dark' ? (\n <Icons.light_mode data-slot='icon' className={classes} />\n ) : (\n <Icons.dark_mode data-slot='icon' className={classes} />\n )}\n <span className='sr-only'>\n {resolvedTheme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'}\n </span>\n </Button>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport { useRouter } from 'next/navigation'\n\nimport { NavigationSection } from '../types/types.js'\n\nimport {\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../components/Command'\nimport { Button } from '../components/Button'\n\nexport function SiteSearch({ navigation }: { navigation: NavigationSection[] }) {\n const [open, setOpen] = React.useState(false)\n const router = useRouter()\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n setOpen((open) => !open)\n }\n }\n\n document.addEventListener('keydown', down)\n return () => document.removeEventListener('keydown', down)\n }, [])\n\n const runCommand = React.useCallback((command: () => unknown) => {\n setOpen(false)\n command()\n }, [])\n\n return (\n <>\n <Button\n variant='surface'\n color='light'\n className='relative h-10 w-full items-center justify-start sm:pr-12 md:w-40 lg:w-64'\n onClick={() => setOpen(true)}\n >\n <span className='text-nsw-grey-600 hidden lg:inline-flex'>Search site...</span>\n <span className='inline-flex lg:hidden'>Search...</span>\n <kbd className='bg-muted pointer-events-none absolute top-2 right-2 hidden h-5 items-center gap-1 rounded border px-2 font-mono text-xs font-medium opacity-100 select-none sm:flex'>\n <span className='text-xs'>⌘</span>K\n </kbd>\n </Button>\n <CommandDialog open={open} onOpenChange={setOpen}>\n <CommandInput placeholder='Type to search across the site...' />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n\n {navigation.map((page, index) => (\n <CommandGroup key={index} heading={page.title}>\n {page.links.map((page) => (\n <CommandItem\n key={page.href}\n onSelect={() => runCommand(() => router.push(page.href))}\n >\n <span>{page.title}</span>\n </CommandItem>\n ))}\n </CommandGroup>\n ))}\n </CommandList>\n </CommandDialog>\n </>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types.js'\nimport packageJson from '../../package.json'\n\nimport { Button } from '../components/Button'\nimport { Heading } from '../components/Heading'\nimport { Logo } from '../components/Logo'\nimport { ThemeSwitcher } from '../components/ThemeSwitcher'\nimport { Social } from '../components/Social'\nimport { SiteSearch } from '../components/SiteSearch'\nimport { Badge } from '../components/Badge'\n\nexport function Header({\n sitename,\n navigation,\n version = false,\n hide = {},\n}: {\n sitename?: string\n navigation: NavigationSection[]\n version?: boolean\n hide?: {\n search?: boolean\n themeSwitcher?: boolean\n github?: boolean\n }\n}) {\n const [isScrolled, setIsScrolled] = useState(false)\n const { search = false, themeSwitcher = false, github = false } = hide\n\n useEffect(() => {\n function onScroll() {\n setIsScrolled(window.scrollY > 0)\n }\n onScroll()\n window.addEventListener('scroll', onScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [])\n\n return (\n <header\n className={clsx(\n 'sticky top-0 z-50 flex flex-none flex-wrap items-center justify-between bg-white px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 sm:px-6 lg:px-8 dark:shadow-none',\n isScrolled\n ? 'dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'\n : 'dark:bg-transparent',\n )}\n >\n <div className='mr-6 flex lg:hidden'>{/* <MobileNavigation /> */}</div>\n <div className='relative flex grow basis-0 items-center'>\n <Link href='/' aria-label='Home page' className='flex items-center justify-between'>\n <Logo className='h-12 w-auto lg:h-14' />\n <Heading level={2} size={6} className='ml-6'>\n {sitename}\n </Heading>\n </Link>\n {version && (\n <Badge variant='soft' color='primary' className='ml-2'>\n {packageJson.version}\n </Badge>\n )}\n </div>\n <div className='relative flex basis-0 justify-end gap-2 sm:gap-4 md:grow'>\n {!search && <SiteSearch navigation={navigation} />}\n {!themeSwitcher && <ThemeSwitcher />}\n {!github && (\n <Button\n variant='surface'\n color='light'\n size='icon'\n className='group'\n href='https://github.com/digitalnsw'\n aria-label='GitHub'\n >\n <Social.Github\n data-slot='icon'\n className='fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6'\n />\n </Button>\n )}\n </div>\n </header>\n )\n}\n","'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot='input'\n className={cn(\n // Base styles\n 'border-nsw-grey-200 flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm',\n // Selection styles\n 'selection:bg-primary-800 selection:text-primary-foreground',\n // Placeholder styles\n 'placeholder:text-muted-foreground',\n // File input styles\n 'file:text-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium',\n // Focus styles\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n // Disabled styles\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n // aria-invalid styles\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n // Dark mode styles\n 'dark:bg-input/30',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nfunction cn(...inputs: (string | undefined | null | false)[]) {\n return twMerge(clsx(inputs))\n}\n\nexport interface ListProps extends React.HTMLAttributes<HTMLElement> {\n asChild?: boolean\n variant?: 'disc' | 'decimal' | 'icon' | 'none'\n size?: 'sm' | 'md' | 'lg'\n gap?: 'sm' | 'md' | 'lg'\n}\n\nconst sizeStyles = {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n} as const\n\nconst variantStyles = {\n disc: 'list-disc pl-5',\n decimal: 'list-decimal pl-5',\n icon: 'list-none',\n none: 'list-none',\n} as const\n\nconst gapStyles = {\n sm: 'space-y-1',\n md: 'space-y-2',\n lg: 'space-y-3',\n} as const\n\nconst List = React.forwardRef<HTMLUListElement, ListProps>(\n ({ asChild, variant = 'disc', size = 'md', gap = 'md', className, ...props }, ref) => {\n const Comp: React.ElementType = asChild ? Slot : 'ul'\n\n return (\n <Comp\n ref={ref}\n data-slot='list'\n className={cn(sizeStyles[size], variantStyles[variant], gapStyles[gap], className)}\n {...props}\n />\n )\n },\n)\n\ntype ListComponent = React.ForwardRefExoticComponent<\n ListProps & React.RefAttributes<HTMLUListElement>\n> & {\n Item: typeof ListItem\n}\n\nList.displayName = 'List'\n\nexport interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {\n icon?: React.ReactNode\n}\n\nconst ListItem = React.forwardRef<HTMLLIElement, ListItemProps>(\n ({ icon, className, children, ...props }, ref) => {\n if (icon) {\n return (\n <li ref={ref} data-slot='list-item' className={cn('flex gap-2', className)} {...props}>\n <span className='mt-0.5'>{icon}</span>\n <span>{children}</span>\n </li>\n )\n }\n\n return (\n <li ref={ref} data-slot='list-item' className={cn(className)} {...props}>\n {children}\n </li>\n )\n },\n)\nListItem.displayName = 'List.Item'\n\nconst _List = List as ListComponent\n_List.Item = ListItem\n\nexport { _List as List, ListItem }\n","'use client'\n\nexport function Masthead() {\n return (\n <div className='bg-primary-800 h-[var(--masthead-height)] w-full'>\n <div className='mx-auto flex w-full items-center justify-between px-4 py-2 sm:px-6 lg:px-8'>\n <div className='flex items-center gap-x-12'>\n <p className='text-xs text-white'>A NSW Government website</p>\n </div>\n </div>\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as MenubarPrimitive from '@radix-ui/react-menubar'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot='menubar'\n className={cn(\n 'bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot='menubar-menu' {...props} />\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot='menubar-group' {...props} />\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot='menubar-portal' {...props} />\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup data-slot='menubar-radio-group' {...props} />\n}\n\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot='menubar-trigger'\n className={cn(\n 'focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MenubarContent({\n className,\n align = 'start',\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot='menubar-content'\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n )\n}\n\nfunction MenubarItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n variant?: 'default' | 'destructive'\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot='menubar-item'\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot='menubar-checkbox-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <MenubarPrimitive.ItemIndicator>\n <Icons.check className='size-4' />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n )\n}\n\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot='menubar-radio-item'\n className={cn(\n \"focus:bg-primary-800/10 focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className='pointer-events-none absolute left-2 flex size-3.5 items-center justify-center'>\n <MenubarPrimitive.ItemIndicator>\n <Icons.circle className='size-2 fill-current' />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n )\n}\n\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot='menubar-label'\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className)}\n {...props}\n />\n )\n}\n\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot='menubar-separator'\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n )\n}\n\nfunction MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot='menubar-shortcut'\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n )\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot='menubar-sub' {...props} />\n}\n\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot='menubar-sub-trigger'\n data-inset={inset}\n className={cn(\n 'focus:bg-primary-800/10 focus:text-accent-foreground data-[state=open]:bg-primary-800/10 data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <Icons.chevron_right className='ml-auto h-4 w-4' />\n </MenubarPrimitive.SubTrigger>\n )\n}\n\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot='menubar-sub-content'\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n}\n","'use client'\n\nimport React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { NavigationSection } from '../types/types.js'\n\nexport function Navigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section) => (\n <li key={section.title}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <li key={link.href} className='-ml-px flex flex-col items-start gap-2'>\n <Link\n href={link.href}\n onClick={onLinkClick}\n className={clsx(\n 'text-foreground inline-block border-l border-transparent pl-5 text-base/8 sm:pl-4 sm:text-sm/6',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold',\n 'dark:text-nsw-grey-400',\n 'dark:hover:border-nsw-grey-400 dark:hover:text-white',\n link.href === pathname &&\n 'border-primary text-primary border-l font-semibold dark:border-white',\n )}\n >\n {link.title}\n </Link>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu'\nimport { cva } from 'class-variance-authority'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot='navigation-menu'\n data-viewport={viewport}\n className={cn(\n 'group/navigation-menu relative flex max-w-max flex-1 items-center justify-center',\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n )\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot='navigation-menu-list'\n className={cn('group flex flex-1 list-none items-center justify-center gap-1', className)}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot='navigation-menu-item'\n className={cn('relative', className)}\n {...props}\n />\n )\n}\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-primary-800/10 hover:text-accent-foreground focus:bg-primary-800/10 focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-primary-800/10 data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-primary-800/10 data-[state=open]:bg-primary-800/10 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1',\n)\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot='navigation-menu-trigger'\n className={cn(navigationMenuTriggerStyle(), 'group', className)}\n {...props}\n >\n {children}{' '}\n <Icons.chevron_down\n className='relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180'\n aria-hidden='true'\n />\n </NavigationMenuPrimitive.Trigger>\n )\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot='navigation-menu-content'\n className={cn(\n 'data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto',\n 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div className={cn('absolute top-full left-0 isolate z-50 flex justify-center')}>\n <NavigationMenuPrimitive.Viewport\n data-slot='navigation-menu-viewport'\n className={cn(\n 'origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]',\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot='navigation-menu-link'\n className={cn(\n \"data-[active=true]:focus:bg-primary-800/10 data-[active=true]:hover:bg-primary-800/10 data-[active=true]:bg-primary-800/10/50 data-[active=true]:text-accent-foreground hover:bg-primary-800/10 hover:text-accent-foreground focus:bg-primary-800/10 focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot='navigation-menu-indicator'\n className={cn(\n 'data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',\n className,\n )}\n {...props}\n >\n <div className='bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md' />\n </NavigationMenuPrimitive.Indicator>\n )\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n}\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\nimport { Button, buttonVariants } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nfunction Pagination({ className, ...props }: React.ComponentProps<'nav'>) {\n return (\n <nav\n role='navigation'\n aria-label='pagination'\n data-slot='pagination'\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n />\n )\n}\n\nfunction PaginationContent({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot='pagination-content'\n className={cn('flex flex-row items-center gap-1', className)}\n {...props}\n />\n )\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<'li'>) {\n return <li data-slot='pagination-item' {...props} />\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<React.ComponentProps<typeof Button>, 'size'> &\n React.ComponentProps<'a'>\n\nfunction PaginationLink({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? 'page' : undefined}\n data-slot='pagination-link'\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? 'outline' : 'ghost',\n size,\n }),\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction PaginationPrevious({ className, ...props }: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label='Go to previous page'\n size='default'\n className={cn('gap-1 px-2.5 sm:pl-2.5', className)}\n {...props}\n >\n <Icons.chevron_left />\n <span className='hidden sm:block'>Previous</span>\n </PaginationLink>\n )\n}\n\nfunction PaginationNext({ className, ...props }: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label='Go to next page'\n size='default'\n className={cn('gap-1 px-2.5 sm:pr-2.5', className)}\n {...props}\n >\n <span className='hidden sm:block'>Next</span>\n <Icons.chevron_right />\n </PaginationLink>\n )\n}\n\nfunction PaginationEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n aria-hidden\n data-slot='pagination-ellipsis'\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <Icons.more_horiz className='size-4' />\n <span className='sr-only'>More pages</span>\n </span>\n )\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { PrevNextLinksProps } from '../types/types'\nimport { Icons } from '../components/Icons'\n\nfunction PrevNextLinksPageLink({\n title,\n href,\n dir = 'next',\n ...props\n}: Omit<React.ComponentPropsWithoutRef<'div'>, 'dir' | 'title'> & {\n title: string\n href: string\n dir?: 'previous' | 'next'\n}) {\n return (\n <div {...props}>\n <dt className='font-display text-sm font-medium text-slate-900 dark:text-white'>\n {dir === 'next' ? 'Next' : 'Previous'}\n </dt>\n <dd className='mt-1'>\n <Link\n href={href}\n className={clsx(\n 'flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300',\n dir === 'previous' && 'flex-row-reverse',\n )}\n >\n {title}\n <Icons.east\n className={clsx('size-5 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\nfunction PrevNextLinks({ navigation }: PrevNextLinksProps) {\n const pathname = usePathname()\n const allLinks = navigation.flatMap((section) => section.links)\n const linkIndex = allLinks.findIndex((link) => link.href === pathname)\n const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null\n const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null\n\n if (!nextPage && !previousPage) {\n return null\n }\n\n return (\n <dl className='mt-12 flex border-t border-slate-200 pt-6 dark:border-slate-800'>\n {previousPage && <PrevNextLinksPageLink dir='previous' {...previousPage} />}\n {nextPage && <PrevNextLinksPageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n\nexport { PrevNextLinks, PrevNextLinksPageLink }\n","'use client'\n\nimport * as React from 'react'\nimport * as ProgressPrimitive from '@radix-ui/react-progress'\n\nimport { cn } from '../lib/utils'\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot='progress'\n className={cn(\n 'bg-primary-800/20 relative h-2 w-full overflow-hidden rounded-full',\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot='progress-indicator'\n className='bg-primary-800 h-full w-full flex-1 transition-all'\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress }\n","'use client'\n\nimport * as React from 'react'\nimport * as ResizablePrimitive from 'react-resizable-panels'\nimport { Icons } from '../components/Icons'\nimport { cn } from '../lib/utils'\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n return (\n <ResizablePrimitive.PanelGroup\n data-slot='resizable-panel-group'\n className={cn('flex h-full w-full data-[panel-group-direction=vertical]:flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n return <ResizablePrimitive.Panel data-slot='resizable-panel' {...props} />\n}\n\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean\n}) {\n return (\n <ResizablePrimitive.PanelResizeHandle\n data-slot='resizable-handle'\n className={cn(\n 'bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className='bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border'>\n <Icons.drag_indicator className='size-2.5' />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n )\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle }\n","'use client'\n\nimport * as React from 'react'\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'\n\nimport { cn } from '../lib/utils'\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot='scroll-area'\n className={cn('relative', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot='scroll-area-viewport'\n className='focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1'\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot='scroll-area-scrollbar'\n orientation={orientation}\n className={cn(\n 'flex touch-none p-px transition-colors select-none',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot='scroll-area-thumb'\n className='bg-border relative flex-1 rounded-full'\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n","'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@radix-ui/react-dialog'\nimport { Icons } from '../components/Icons'\nimport { Button } from '../components/Button'\nimport { cn } from '../lib/utils'\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot='sheet' {...props} />\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot='sheet-trigger' {...props} />\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot='sheet-close' {...props} />\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot='sheet-portal' {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot='sheet-overlay'\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left'\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot='sheet-content'\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className,\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close data-slot='sheet-close' className='absolute top-4 right-4' asChild>\n <Button variant='ghost' size='icon'>\n <Icons.close className='size-6' aria-hidden='true' />\n <span className='sr-only'>Close</span>\n </Button>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='sheet-header'\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='sheet-footer'\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot='sheet-title'\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot='sheet-description'\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","'use client'\n\nimport * as React from 'react'\nimport clsx from 'clsx'\nimport { usePathname } from 'next/navigation'\nimport NextLink from 'next/link'\n\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../components/Collapsible'\nimport { Icons } from '../components/Icons'\nimport { Link, NavigationSection, SidebarLinkProps } from '../types/types'\n\nfunction SidebarNavigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section, sectionIndex) => (\n <li key={sectionIndex}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <SidebarLink\n key={link.href}\n link={link}\n pathname={pathname}\n onLinkClick={onLinkClick || (() => {})}\n depth={1}\n />\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n\nfunction SidebarLink({ link, pathname, onLinkClick, depth }: SidebarLinkProps) {\n const hasChildren = Array.isArray(link.links) && link.links.length > 0\n const isActive = pathname === link.href\n\n const baseLinkClasses = clsx(\n 'border-l border-transparent pl-4 pr-2 text-base/8 sm:text-sm/6 w-full text-left py-1 rounded-r-md cursor-pointer',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold hover:bg-primary-800/10',\n 'dark:text-nsw-grey-400 dark:hover:border-nsw-grey-400 dark:hover:text-white',\n isActive &&\n 'border-primary text-primary font-bold dark:border-white bg-nsw-sky-100 dark:bg-nsw-sky-900/20',\n )\n\n return (\n <li className='-ml-px flex flex-col items-start gap-1'>\n {hasChildren ? (\n <Collapsible className='w-full' defaultOpen={isActive}>\n <CollapsibleTrigger asChild>\n <button\n className={clsx(baseLinkClasses, 'group flex items-center justify-between gap-1')}\n >\n <span>{link.title}</span>\n <Icons.chevron_right\n className={clsx(\n 'ml-2 size-5 transition-transform duration-200',\n 'group-data-[state=open]:rotate-90',\n )}\n />\n </button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <ul\n className={clsx(\n 'border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0',\n )}\n >\n {link.links &&\n link.links.map((childLink: Link) => (\n <SidebarLink\n key={childLink.href}\n link={childLink}\n pathname={pathname}\n onLinkClick={onLinkClick}\n depth={depth + 1}\n />\n ))}\n </ul>\n </CollapsibleContent>\n </Collapsible>\n ) : (\n <NextLink href={link.href} onClick={onLinkClick} className={baseLinkClasses}>\n {link.title}\n </NextLink>\n )}\n </li>\n )\n}\n\nexport { SidebarNavigation, SidebarLink }\n","import * as React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { cn } from '@/lib/utils'\nimport { Icons } from '@/components/Icons'\n\n// Define the type for the step\ninterface Step {\n title: string\n description?: string\n href: string\n status?:\n | 'default'\n | 'completed'\n | 'saved'\n | 'in-progress'\n | 'error'\n | 'not-started'\n | 'cannot-start'\n}\n\n// Define the type for the component props\ninterface StepIndicatorProps extends React.HTMLAttributes<HTMLUListElement> {\n array: Step[]\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nconst StepIndicator = React.forwardRef<HTMLUListElement, StepIndicatorProps>(\n ({ className, array, onLinkClick, ...props }, ref) => {\n const pathname = usePathname()\n\n return (\n <ul role='list' ref={ref} className={cn('w-full', className)} {...props}>\n {array.map((step, stepIdx) => (\n <li\n key={step.title}\n className={clsx(stepIdx !== array.length - 1 ? 'pb-3' : '', 'relative')}\n >\n {step.href === pathname &&\n !(\n step.status === 'completed' ||\n step.status === 'error' ||\n step.status === 'saved' ||\n step.status === 'cannot-start'\n ) ? (\n <>\n {step.status === 'in-progress' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='-ml-1 flex h-9 items-center'>\n <span className='border-primary-500 relative z-10 flex size-8 items-center justify-center rounded-full border-2 bg-white'>\n <span className='border-primary-500 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white'>\n <Icons.more_horiz\n aria-hidden='true'\n className='text-primary-500 size-4'\n />\n </span>\n </span>\n </span>\n <span className='ml-3 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n aria-current='step'\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span aria-hidden='true' className='flex h-9 items-center'>\n <span className='border-primary-500 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white'>\n <span className='bg-primary-500 size-2 rounded-full' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-primary-500 text-sm font-semibold dark:text-slate-400'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n )}\n </>\n ) : step.status === 'completed' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-success-500 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='bg-success-450 group-hover:bg-success-500 group-hover:border-success-550 relative z-10 flex size-6 items-center justify-center rounded-full'>\n <Icons.check aria-hidden='true' className='size-4 text-white' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'saved' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='border-success-450 group-hover:bg-success-450 text-success-450 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:text-white'>\n <Icons.check aria-hidden='true' className='size-4' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'in-progress' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='border-primary-500 group-hover:border-primary-550 group-hover:bg-primary-550 text-primary-500 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:text-white'>\n <Icons.more_horiz aria-hidden='true' className='size-4' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'error' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-danger-450 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='bg-danger-450 group-hover:bg-danger-500 group-hover:border-danger-500 relative z-10 flex size-6 items-center justify-center rounded-full'>\n <Icons.exclamation aria-hidden='true' className='size-4 text-white' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'not-started' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span aria-hidden='true' className='flex h-9 items-center'>\n <span className='border-grey-300 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:border-gray-400'>\n <span className='group-hover:bg-grey-300 size-2 rounded-full bg-transparent' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : step.status === 'cannot-start' ? (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span className='flex h-9 items-center'>\n <span className='bg-nsw-grey-600 group-hover:bg-nsw-grey-800 relative z-10 flex size-6 items-center justify-center rounded-full'>\n <Icons.remove aria-hidden='true' className='size-4 text-white' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n ) : (\n <>\n {stepIdx !== array.length - 1 ? (\n <div\n aria-hidden='true'\n className='bg-grey-300 absolute top-4 left-3 mt-0.5 -ml-px h-full w-0.5'\n />\n ) : null}\n <Link\n href={step.href}\n className='group relative flex items-center'\n onClick={onLinkClick}\n >\n <span aria-hidden='true' className='flex h-9 items-center'>\n <span className='border-grey-300 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:border-gray-400'>\n <span className='group-hover:bg-grey-300 size-2 rounded-full bg-transparent' />\n </span>\n </span>\n <span className='ml-4 flex min-w-0 flex-col'>\n {step.title && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.title}\n </span>\n )}\n {step.description && (\n <span className='text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300'>\n {step.description}\n </span>\n )}\n </span>\n </Link>\n </>\n )}\n </li>\n ))}\n </ul>\n )\n },\n)\nStepIndicator.displayName = 'StepIndicator'\n\nexport { StepIndicator }\n","'use client'\n\nimport clsx from 'clsx'\nimport { useMemo } from 'react'\nimport { StepIndicator } from '../components/StepIndicator'\nimport { NavigationSection } from '../types/types'\nimport type { FormStatusHook } from '../lib/create-form-store'\n\ntype StepStatus =\n | 'completed'\n | 'saved'\n | 'in-progress'\n | 'error'\n | 'not-started'\n | 'cannot-start'\n | 'default'\n | undefined\n\nfunction defaultGetStatus(id: string, storeStatus: Record<string, string>): StepStatus {\n const status = storeStatus[id]\n if (\n status === 'completed' ||\n status === 'saved' ||\n status === 'in-progress' ||\n status === 'error' ||\n status === 'not-started' ||\n status === 'cannot-start' ||\n status === 'default'\n ) {\n return status\n }\n return 'default'\n}\n\ninterface StepNavigationProps {\n className?: string\n navigation: NavigationSection[]\n useFormStore: FormStatusHook\n getStatus?: (id: string, storeStatus: Record<string, string>) => StepStatus\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nexport function StepNavigation({\n className,\n navigation,\n useFormStore,\n getStatus = defaultGetStatus,\n}: StepNavigationProps) {\n const { formStatus } = useFormStore()\n\n const navigationWithStatus = useMemo(\n () =>\n navigation.map((section) => ({\n ...section,\n links: section.links.map((link) => ({\n ...link,\n status: getStatus(link.id ?? '', formStatus),\n })),\n })),\n [navigation, formStatus, getStatus],\n )\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='space-y-9'>\n {navigationWithStatus.map((section) => (\n <li key={section.title}>\n <h2 className='font-display font-medium text-slate-900 dark:text-white'>\n {section.title}\n </h2>\n <StepIndicator className='mt-2 lg:mt-4' array={section.links} />\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","import { cn } from '../lib/utils'\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='skeleton'\n className={cn('bg-primary-800/10 animate-pulse rounded-md', className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n","'use client'\n\nimport * as React from 'react'\nimport * as SliderPrimitive from '@radix-ui/react-slider'\n\nimport { cn } from '../lib/utils'\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () => (Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max]),\n [value, defaultValue, min, max],\n )\n\n return (\n <SliderPrimitive.Root\n data-slot='slider'\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n 'relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col',\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot='slider-track'\n className={cn(\n 'bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5',\n )}\n >\n <SliderPrimitive.Range\n data-slot='slider-range'\n className={cn(\n 'bg-primary-800 absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full',\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot='slider-thumb'\n key={index}\n className='border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50'\n />\n ))}\n </SliderPrimitive.Root>\n )\n}\n\nexport { Slider }\n","'use client'\n\nimport { useTheme } from 'next-themes'\nimport { Toaster as Sonner, ToasterProps } from 'sonner'\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme()\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n className='toaster group'\n style={\n {\n '--normal-bg': 'var(--background)',\n '--normal-text': 'var(--foreground)',\n '--normal-border': 'var(--border)',\n } as React.CSSProperties\n }\n {...props}\n />\n )\n}\n\nexport { Toaster }\n","'use client'\n\nimport * as React from 'react'\nimport { cn } from '../lib/utils'\n\nconst theme = {\n size: {\n xs: 'h-3 w-3',\n sm: 'h-4 w-4',\n md: 'h-6 w-6',\n lg: 'h-8 w-8',\n xl: 'h-10 w-10',\n },\n}\n\ntype SpinnerProps = {\n className?: string\n size?: keyof typeof theme.size\n} & React.HTMLAttributes<HTMLSpanElement>\n\nfunction Spinner({ className, size = 'md', ...props }: SpinnerProps) {\n return (\n <span role='status' {...props}>\n <svg\n fill='none'\n viewBox='0 0 100 101'\n className={cn(\n 'text-grey-300 inline animate-spin',\n 'fill-primary-800',\n theme.size[size],\n className,\n )}\n >\n <path\n d='M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z'\n fill='currentColor'\n />\n <path\n d='M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z'\n fill='currentFill'\n />\n </svg>\n </span>\n )\n}\n\nexport { Spinner }\n","'use client'\n\nimport * as React from 'react'\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\n\nimport { cn } from '../lib/utils'\n\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot='switch'\n className={cn(\n 'peer data-[state=checked]:bg-primary-800 data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot='switch-thumb'\n className={cn(\n 'bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n","'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div data-slot='table-container' className='relative w-full overflow-x-auto'>\n <table\n data-slot='table'\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n />\n </div>\n )\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot='table-header' className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return (\n <tbody\n data-slot='table-body'\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot='table-footer'\n className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot='table-row'\n className={cn(\n 'hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot='table-head'\n className={cn(\n 'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot='table-cell'\n className={cn(\n 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption\n data-slot='table-caption'\n className={cn('text-muted-foreground mt-4 text-sm', className)}\n {...props}\n />\n )\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption }\n","'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\nimport { TableOfContentsProps, TableOfContentsItem } from '../types/types'\n\nexport function TableOfContents({ tableOfContents }: TableOfContentsProps) {\n const [currentSection, setCurrentSection] = useState(tableOfContents[0]?.id)\n\n const getHeadings = useCallback((tableOfContents: TableOfContentsItem[]) => {\n return tableOfContents\n .flatMap((node) => [node.id, ...node.children.map((child) => child.id)])\n .map((id) => {\n const el = document.getElementById(id)\n if (!el) return null\n\n const style = window.getComputedStyle(el)\n const scrollMt = parseFloat(style.scrollMarginTop)\n\n const top = window.scrollY + el.getBoundingClientRect().top - scrollMt\n return { id, top }\n })\n .filter((x): x is { id: string; top: number } => x !== null)\n }, [])\n\n useEffect(() => {\n if (tableOfContents.length === 0) return\n\n // Small delay to ensure DOM is ready\n const timer = setTimeout(() => {\n const headings = getHeadings(tableOfContents)\n\n // Guard against empty headings array\n if (headings.length === 0) return\n\n function onScroll() {\n const top = window.scrollY\n let current = headings[0].id\n for (const heading of headings) {\n if (top >= heading.top - 10) {\n current = heading.id\n } else {\n break\n }\n }\n setCurrentSection(current)\n }\n\n window.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, 100)\n\n return () => {\n clearTimeout(timer)\n }\n }, [getHeadings, tableOfContents])\n\n function isActive(section: TableOfContentsItem) {\n if (section.id === currentSection) {\n return true\n }\n if (!section.children) {\n return false\n }\n return section.children.findIndex(isActive) > -1\n }\n\n return (\n <div className='hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6'>\n <nav aria-labelledby='on-this-page-title' className='w-56'>\n {tableOfContents.length > 0 && (\n <>\n <h2\n id='on-this-page-title'\n className='font-display text-sm font-medium text-slate-900 dark:text-white'\n >\n On this page\n </h2>\n <ol role='list' className='mt-4 space-y-3 text-sm'>\n {tableOfContents.map((section) => (\n <li key={section.id}>\n <h3>\n <Link\n href={`#${section.id}`}\n className={clsx(\n isActive(section)\n ? 'text-primary font-semibold'\n : 'font-normal text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300',\n )}\n >\n {section.title}\n </Link>\n </h3>\n {section.children.length > 0 && (\n <ol\n role='list'\n className='mt-2 space-y-3 pl-5 text-slate-500 dark:text-slate-400'\n >\n {section.children.map((subSection) => (\n <li key={subSection.id}>\n <Link\n href={`#${subSection.id}`}\n className={\n isActive(subSection)\n ? 'text-primary-750 font-semibold'\n : 'hover:text-slate-600 dark:hover:text-slate-300'\n }\n >\n {subSection.title}\n </Link>\n </li>\n ))}\n </ol>\n )}\n </li>\n ))}\n </ol>\n </>\n )}\n </nav>\n </div>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\n\nimport { cn } from '@/lib/utils'\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n )\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <div className='bg-background border-b border-gray-200'>\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n [\n // Base\n '-mb-px flex',\n // Dark mode\n '',\n ],\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n [\n // Base\n 'text-nsw-grey-800 cursor-pointer border-b-1 border-transparent p-4 text-base font-medium whitespace-nowrap',\n // Focus\n 'focus:z-10',\n // Active\n 'data-[state=active]:border-accent',\n // Hover\n 'hover:bg-nsw-grey-100 hover:text-nsw-grey-850',\n // Dark mode\n 'dark:text-white',\n // Dark mode hover\n 'dark:hover:bg-white/10 dark:hover:text-white',\n ],\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import clsx from 'clsx'\nimport { Link } from '../components/Link'\n\ntype BaseProps = React.ComponentPropsWithoutRef<'p'>\n\ntype TextProps =\n | ({\n label?: false\n size?: 1 | 2 | 3 | 4\n trim?: 'normal' | 'start' | 'end' | 'both'\n } & BaseProps)\n | ({\n label: true\n size?: 1 | 2 | 3 | 4\n trim?: 'normal' | 'start' | 'end' | 'both'\n } & BaseProps)\n\nexport function Text({ className, trim = 'normal', size = 2, label = false, ...props }: TextProps) {\n const textSizeClasses = {\n 1: 'text-[length:var(--font-size-1)] leading-[var(--line-height-28)] tracking-[var(--letter-spacing-0)]',\n 2: 'text-[length:var(--font-size-2)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]',\n 3: 'text-[length:var(--font-size-3)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]',\n 4: 'text-[length:var(--font-size-4)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]',\n } as const\n\n const labelSizeClasses = {\n 1: 'text-[length:var(--font-size-1)] leading-[var(--line-height-24)] tracking-[var(--letter-spacing-0)]',\n 2: 'text-[length:var(--font-size-2)] leading-[var(--line-height-20)] tracking-[var(--letter-spacing-0)]',\n 3: 'text-[length:var(--font-size-3)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]',\n 4: 'text-[length:var(--font-size-4)] leading-[var(--line-height-16)] tracking-[var(--letter-spacing-0)]',\n } as const\n\n const sizeClass = label\n ? labelSizeClasses[size as 1 | 2 | 3 | 4]\n : textSizeClasses[size as 1 | 2 | 3 | 4]\n\n const trimClasses = {\n normal: ['before:content-none after:content-none'],\n start: [\n 'before:content-[\"\"] before:table after:content-none',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n end: [\n 'before:content-none after:content-[\"\"] after:table',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n both: [\n 'before:content-[\"\"] before:table after:content-[\"\"] after:table',\n 'before:mb-[calc(var(--leading-trim-start,var(--default-leading-trim-start))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n 'after:mt-[calc(var(--leading-trim-end,var(--default-leading-trim-end))-var(--line-height,calc(1em*var(--default-line-height)))/2)]',\n ],\n }\n\n return (\n <p\n data-slot='text'\n {...props}\n className={clsx(className, trimClasses[trim], 'text-grey-800 dark:text-grey-400', sizeClass)}\n />\n )\n}\n\nexport function TextLink({ className, ...props }: React.ComponentPropsWithoutRef<typeof Link>) {\n return (\n <Link\n {...props}\n className={clsx(\n className,\n 'text-primary-800 decoration-primary-800/50 data-hover:decoration-primary-800 underline dark:text-white dark:decoration-white/50 dark:data-hover:decoration-white',\n )}\n />\n )\n}\n\nexport function Strong({ className, ...props }: React.ComponentPropsWithoutRef<'strong'>) {\n return (\n <strong {...props} className={clsx(className, 'text-grey-950 font-medium dark:text-white')} />\n )\n}\n\nexport function Code({ className, ...props }: React.ComponentPropsWithoutRef<'code'>) {\n return (\n <code\n {...props}\n className={clsx(\n className,\n 'border-grey-950/10 bg-grey-950/[2.5%] text-grey-950 rounded-sm border px-0.5 text-sm font-medium sm:text-[0.8125rem] dark:border-white/20 dark:bg-white/5 dark:text-white',\n )}\n />\n )\n}\n","import * as React from 'react'\n\nimport { cn } from '../lib/utils'\n\nfunction Textarea({ className, ...props }: React.ComponentProps<'textarea'>) {\n return (\n <textarea\n data-slot='textarea'\n className={cn(\n 'border-nsw-grey-200 placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n","'use client'\n\nimport { Icons } from '../components/Icons'\nimport { ToggleGroup, ToggleGroupItem } from '../components/ToggleGroup'\nimport { ViewMode, ViewToggleProps } from '../types/types'\n\nexport function ViewToggle({ viewMode, setViewMode }: ViewToggleProps) {\n return (\n <div className='flex items-center gap-2'>\n <span className='text-sm font-medium'>View:</span>\n <ToggleGroup\n type='single'\n value={viewMode}\n onValueChange={(value) => value && setViewMode(value as ViewMode)}\n >\n <ToggleGroupItem value='grid' aria-label='Grid view'>\n <Icons.grid_view />\n </ToggleGroupItem>\n <ToggleGroupItem value='list' aria-label='List view'>\n <Icons.list />\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n )\n}\n","'use client'\n\nimport { useState, useMemo, useEffect } from 'react'\n\nimport { colorThemes, colors, brand, aboriginal } from '../lib/color-palette'\nimport { Format, ViewMode, ThemeOption, ThemeCategory } from '../types/types'\n\nimport { ColourScale } from '../components/ColourScale'\nimport { BaseColorSwatches } from '../components/BaseColorSwatches'\nimport { ColorSwatches } from '../components/ColorSwatches'\nimport { ViewToggle } from '../components/ViewToggle'\nimport { FormatToggle } from '../components/FormatToggle'\nimport { ThemeSelector } from '../components/ThemeSelector'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n} from '../components/Sheet'\n\nexport function ThemeColorPalette() {\n const baseColors = {\n brand: brand,\n aboriginal: aboriginal,\n }\n const [format, setFormat] = useState<Format>('hex')\n const [viewMode, setViewMode] = useState<ViewMode>('grid')\n const [themeCategory, setThemeCategory] = useState<ThemeCategory>('brand')\n const [primaryColor, setPrimaryColor] = useState<ThemeOption>('blue')\n const [accentColor, setAccentColor] = useState<ThemeOption>('red')\n const [greyColor, setGreyColor] = useState<ThemeOption>('grey')\n const [sheetOpen, setSheetOpen] = useState(false)\n\n const filteredColorThemes = useMemo(() => {\n const filtered = {} as typeof colorThemes\n\n for (const category of Object.keys(colorThemes) as ThemeCategory[]) {\n filtered[category] = Object.fromEntries(\n Object.entries(colorThemes[category]).filter(\n ([key]) => !key.toLowerCase().includes('grey'),\n ),\n )\n }\n\n return filtered\n }, [])\n\n const availableAccentColors = useMemo(() => {\n const allColors = Object.keys(filteredColorThemes[themeCategory])\n return allColors.filter((color) => color !== primaryColor)\n }, [filteredColorThemes, themeCategory, primaryColor])\n\n useEffect(() => {\n const neutralKey =\n Object.keys(colorThemes[themeCategory]).find((k) => k.toLowerCase().includes('grey')) ?? ''\n\n if (neutralKey && neutralKey !== greyColor) {\n setGreyColor(neutralKey)\n }\n const availableColors = Object.keys(colorThemes[themeCategory])\n\n if (!availableColors.includes(primaryColor)) {\n setPrimaryColor(availableColors[0])\n if (availableColors.length > 1) {\n setAccentColor(availableColors[1])\n }\n return\n }\n\n if (accentColor === primaryColor || !availableColors.includes(accentColor)) {\n const newAccentColor = availableColors.find((color) => color !== primaryColor)\n if (newAccentColor) {\n setAccentColor(newAccentColor)\n }\n }\n }, [themeCategory, primaryColor, accentColor, greyColor])\n\n const currentColorPalette = useMemo(() => {\n if (\n !colorThemes[themeCategory] ||\n !colorThemes[themeCategory][primaryColor] ||\n !colorThemes[themeCategory][accentColor]\n ) {\n return [\n {\n name: 'Primary',\n colors: [],\n },\n {\n name: 'Accent',\n colors: [],\n },\n {\n name: 'Grey',\n colors: [],\n },\n ]\n }\n\n return [\n {\n name: 'Primary',\n colors: colors[themeCategory][primaryColor].colors,\n },\n {\n name: 'Accent',\n colors: colors[themeCategory][accentColor].colors,\n },\n colors[themeCategory].grey,\n ]\n }, [themeCategory, primaryColor, accentColor])\n\n const primaryColorSwatch = colorThemes[themeCategory][primaryColor]?.colors[3]?.hex || '#000000'\n const accentColorSwatch = colorThemes[themeCategory][accentColor]?.colors[2]?.hex || '#000000'\n\n return (\n <div className='space-y-8'>\n <div className='flex flex-col items-center justify-between gap-4 sm:flex-row'>\n <div className='flex flex-col items-center gap-4 sm:flex-row'>\n <ViewToggle viewMode={viewMode} setViewMode={setViewMode} />\n <FormatToggle format={format} setFormat={setFormat} />\n </div>\n\n <Sheet open={sheetOpen} onOpenChange={setSheetOpen}>\n <SheetTrigger asChild>\n <Button variant='outline'>\n <Icons.palette />\n <span>Theme</span>\n <div className='ml-2 flex gap-1'>\n <div\n className='h-3 w-3 rounded-full'\n style={{ backgroundColor: primaryColorSwatch }}\n />\n <div\n className='h-3 w-3 rounded-full'\n style={{ backgroundColor: accentColorSwatch }}\n />\n </div>\n </Button>\n </SheetTrigger>\n <SheetContent className='overflow-y-auto p-6 sm:max-w-md'>\n <SheetHeader className='p-0'>\n <SheetTitle className='text-primary-800 text-lg font-semibold'>\n Theme Settings\n </SheetTitle>\n <SheetDescription>\n Choose your primary and accent colors to customize the palette.\n </SheetDescription>\n </SheetHeader>\n <div className=''>\n <ThemeSelector\n themeCategory={themeCategory}\n setThemeCategory={setThemeCategory}\n primaryColor={primaryColor}\n setPrimaryColor={setPrimaryColor}\n accentColor={accentColor}\n setAccentColor={setAccentColor}\n greyColor={greyColor}\n setGreyColor={setGreyColor}\n availableAccentColors={availableAccentColors}\n colorThemes={filteredColorThemes}\n />\n </div>\n </SheetContent>\n </Sheet>\n </div>\n\n <div className='space-y-12'>\n {currentColorPalette.map((theme) => {\n const baseKey =\n theme.name === 'Primary' ? primaryColor : theme.name === 'Accent' ? accentColor : 'grey'\n\n return (\n <div key={theme.name} className='space-y-4'>\n <h2 className='text-2xl font-semibold'>{theme.name}</h2>\n\n <BaseColorSwatches baseColors={baseColors[themeCategory][baseKey]} format={format} />\n\n <ColourScale colorsToUse={theme.colors} />\n <ColorSwatches theme={theme.colors} format={format} viewMode={viewMode} />\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n","'use client'\n\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from 'next-themes'\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","'use client'\n\nimport { createContext, useContext, useState, ReactNode, useEffect } from 'react'\nimport { usePathname } from 'next/navigation'\nimport { TocContextType } from '../types/types'\n\nconst TocContext = createContext<TocContextType>({\n toc: true,\n setToc: () => {},\n})\n\nfunction TocProvider({ children }: { children: ReactNode }) {\n const [toc, setToc] = useState(true)\n const pathname = usePathname()\n\n useEffect(() => {\n setToc(true)\n }, [pathname])\n\n return <TocContext.Provider value={{ toc, setToc }}>{children}</TocContext.Provider>\n}\n\nfunction useToc() {\n return useContext(TocContext)\n}\n\nexport { useToc, TocContext, TocProvider }\n","import { slugifyWithCounter } from '@sindresorhus/slugify'\nimport { SimpleNode, HeadingNode } from '../types/types'\n\nexport function getNodeText(node: HTMLElement | SimpleNode): string {\n let text = ''\n\n for (const child of node.children ?? []) {\n if ('type' in child && child.type === 'text') {\n text += child.attributes?.content ?? ''\n } else if (child instanceof HTMLElement) {\n text += getNodeText(child)\n }\n }\n\n return text\n}\n\nexport function domToSimple(node: Node): SimpleNode {\n if (node.nodeType === Node.TEXT_NODE) {\n return {\n type: 'text',\n attributes: {\n content: node.textContent ?? undefined,\n },\n }\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n return {\n type: node.nodeName.toLowerCase(),\n attributes: {},\n children: Array.from(node.childNodes).map(domToSimple),\n }\n }\n\n if (node.nodeType === Node.COMMENT_NODE) {\n return {\n type: 'comment',\n attributes: {},\n }\n }\n\n throw new Error('Unsupported node type')\n}\n\nexport function getHeadings(slugify = slugifyWithCounter()) {\n const content = document.querySelector('article')\n if (!content) {\n return []\n }\n const headings = Array.from(content.querySelectorAll('h2, h3, h4, h5, h6'))\n\n const result: HeadingNode[] = []\n const stack: HeadingNode[] = []\n\n headings.forEach((el) => {\n const simplifiedNode = domToSimple(el)\n const title = getNodeText(simplifiedNode).trim()\n const slugifiedTitle = slugify(title)\n const id = el.id || slugifiedTitle\n\n const level = parseInt(el.tagName[1])\n const node = { level, id, title, children: [] }\n\n if (!el.id) el.id = id\n\n if (level === 2) {\n result.push(node)\n stack.length = 0\n stack.push(node)\n } else {\n while (stack.length && stack[stack.length - 1].level >= level) {\n stack.pop()\n }\n if (stack.length) {\n stack[stack.length - 1].children.push(node)\n }\n stack.push(node)\n }\n })\n\n return result\n}\n","// lib/createFormStore.ts\nimport { create } from 'zustand'\nimport { persist, createJSONStorage } from 'zustand/middleware'\nimport type { FormStatus } from '@/types/form'\n\nexport interface FormStore<FD extends Record<string, unknown>> {\n formData: FD\n formStatus: Record<keyof FD & string, FormStatus>\n isLoading: boolean\n updateFormData: <K extends keyof FD>(page: K, data: Partial<FD[K]>) => void\n updateFormStatus: (page: keyof FD & string, status: FormStatus) => void\n resetForm: () => void\n setIsLoading: (loading: boolean) => void\n}\n\nexport function createFormStore<FD extends Record<string, unknown>>(opts: {\n storageKey: string\n initialFormData: FD\n initialFormStatus: Record<keyof FD & string, FormStatus>\n}) {\n const { storageKey, initialFormData, initialFormStatus } = opts\n\n return create<FormStore<FD>>()(\n persist(\n (set) => ({\n formData: initialFormData,\n formStatus: initialFormStatus,\n isLoading: true,\n updateFormData: (page, data) =>\n set((state) => ({\n formData: {\n ...state.formData,\n [page]: { ...(state.formData[page] || {}), ...data },\n },\n })),\n updateFormStatus: (page, status) =>\n set((state) => ({\n formStatus: { ...state.formStatus, [page]: status },\n })),\n resetForm: () => set({ formData: initialFormData, formStatus: initialFormStatus }),\n setIsLoading: (loading) => set({ isLoading: loading }),\n }),\n {\n name: storageKey,\n storage: createJSONStorage(() => localStorage),\n onRehydrateStorage: () => (state) => {\n state?.setIsLoading(false)\n },\n },\n ),\n )\n}\n\nexport type FormStatusHook = () => { formStatus: Record<string, FormStatus> }\n","import { Dispatch, SetStateAction } from 'react'\n\nexport type IconProps = React.HTMLAttributes<SVGElement>\n\nexport interface LayoutProps {\n children: React.ReactNode\n sitename?: string\n toc?: boolean\n}\n\n// Types for colors and palettes\nexport type Format = 'hex' | 'oklch' | 'hsl' | 'rgb'\nexport type Variant = 'shades' | 'theme'\nexport type Output = 'css' | 'ts' | 'scss' | 'less' | 'tailwind' | 'json' | 'json-DTFM' | 'js'\nexport type ViewMode = 'grid' | 'list'\nexport type DataType = 'css' | 'scss' | 'less' | 'tailwind' | 'json' | 'json-DTFM' | 'js'\nexport type ThemeCategory = 'brand' | 'aboriginal'\nexport type ThemeOption = string\n\nexport type ColorProperty = {\n value: string | { colorSpace: string; channels: number[]; alpha: number }\n type: 'color'\n}\n\nexport type Palette = {\n baseColors: string[]\n name: string\n themeColor?: string\n}\n\nexport interface ColourScaleProps {\n colorsToUse: ColorData[]\n}\n\nexport type colorCategories = {\n name: string\n colors: {\n token: string\n oklch: string\n hex: string\n rgb: string\n hsl: string\n name?: string\n }[]\n}\n\nexport type ColorThemes = {\n [key: string]: {\n [key: string]: colorCategories\n }\n}\n\nexport type ColorTheme = {\n [key: string]: {\n name: string\n colors: {\n token: string\n oklch: string\n hex: string\n rgb: string\n hsl: string\n name?: string\n }[]\n }\n}\n\nexport interface ColorCardProps {\n name: string\n token: string\n hex: string\n rgb: string\n hsl: string\n oklch: string\n format: 'hex' | 'rgb' | 'hsl' | 'oklch'\n viewMode: 'grid' | 'list'\n}\n\nexport interface ViewToggleProps {\n viewMode: ViewMode\n setViewMode: (mode: ViewMode) => void\n}\n\nexport interface Color {\n token: string\n oklch: string\n hex: string\n rgb: string\n hsl: string\n name?: string\n}\n\nexport interface ColorData {\n oklch: string\n hex: string\n rgb: string\n hsl: string\n [key: string]: string\n}\n\nexport interface ColorsDisplayProps {\n colorCategories?: colorCategories[]\n baseColors?: string[]\n themeColor?: string | undefined\n colorsToUse: ColorData[]\n paletteName: string\n variant: Variant\n format: Format\n viewMode: ViewMode\n}\n\nexport interface ColorSwatchesProps {\n theme: Color[]\n format: Format\n viewMode: ViewMode\n}\n\nexport interface ColourOutputProps {\n colorCategories: colorCategories[]\n colorsToUse: ColorData[]\n paletteName: string\n format: Format\n output: Output\n variant: Variant\n}\n\nexport interface ThemeSelectorProps {\n themeCategory: ThemeCategory\n setThemeCategory: (category: ThemeCategory) => void\n primaryColor: string\n setPrimaryColor: (color: string) => void\n accentColor: string\n setAccentColor: (color: string) => void\n greyColor: string\n setGreyColor: (color: string) => void\n availableAccentColors: string[]\n colorThemes: ColorThemes\n}\n\nexport interface DesignTokensShades {\n [paletteName: string]: {\n [shade: string]: {\n $type: 'color'\n $value:\n | string\n | {\n colorSpace: string\n channels: number[]\n alpha: number\n }\n }\n }\n}\n\nexport interface StructuredColor {\n colorSpace: string\n channels: number[]\n alpha: number\n}\n\nexport interface DesignTokensTheme {\n [paletteName: string]: {\n value: string | StructuredColor\n type: 'color'\n variants: Record<string, { value: string | StructuredColor; type: 'color' }>\n }\n}\n\n// Format toggle types\nexport interface FormatToggleProps {\n format: Format\n setFormat: (format: Format) => void\n}\n\nexport interface DataTypeSelectProps {\n dataType: DataType\n setDataType: (format: DataType) => void\n}\n\n// Table of contents types\nexport type TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\nexport type TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\n\nexport interface TocContextType {\n toc: boolean\n setToc: Dispatch<SetStateAction<boolean>>\n}\n\nexport type SimpleNode = {\n type: string\n attributes: {\n content?: string\n [key: string]: string | number | boolean | undefined\n }\n children?: SimpleNode[]\n}\n\nexport type HeadingNode = {\n level: number\n id: string\n title: string\n children: HeadingNode[]\n}\n\n// Navigation types\nexport type Link = {\n href: string\n title: string\n links?: Link[]\n}\n\nexport type NavigationLink = {\n id?: string\n title: string\n href: string\n links?: NavigationLink[]\n}\n\nexport type NavigationSection = {\n title: string\n links: NavigationLink[]\n}\n\nexport interface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport type SidebarLinkProps = {\n link: Link\n pathname: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n depth: number\n}\n\nexport interface BreadcrumbsProps {\n homeLabel?: string\n /**\n * Custom labels for specific paths\n * e.g. { \"/dashboard\": \"Control Panel\", \"/users/[id]\": \"User Profile\" }\n */\n pathLabels?: Record<string, string>\n /**\n * Whether to show the home breadcrumb\n */\n showHome?: boolean\n /**\n * Whether to transform path segments to title case (e.g., \"my-page\" -> \"My Page\")\n */\n transformLabel?: boolean\n /**\n * Maximum number of items to show before collapsing into dropdown\n */\n maxItems?: number\n /**\n * Force showing breadcrumbs even on home page\n */\n forceShow?: boolean\n /**\n * Override the current path (for demonstration purposes)\n */\n demoPath?: string\n}\n\n// Code block types\nexport type View = 'desktop' | 'tablet' | 'mobile'\n\nexport const languages = [\n 'bash',\n 'css',\n 'javascript',\n 'js',\n 'json',\n 'jsx',\n 'ts',\n 'tsx',\n 'typescript',\n 'html',\n] as const\n\nexport type Language = (typeof languages)[number]\n\nexport type IFrameData = number | IFrameOptions\n\nexport interface IFrameOptions {\n src: string\n width?: number | undefined\n height: number\n noPadding?: boolean\n}\n\nexport interface BaseCodeData<T extends 'single' | 'variant'> {\n type: T\n githubSlug: string\n component: React.ReactNode\n}\n\nexport interface VariantCodeData<V extends Variants> extends BaseCodeData<'variant'> {\n variant: V\n code: CodeVariant<V>\n labels?: Record<string, string>\n iframe?: IFrameData | IFrameMap<V>\n}\n\nexport interface SingleCodeData extends BaseCodeData<'single'> {\n code: Code\n iframe?: IFrameData\n}\n\nexport interface CodeItem {\n fileName: string\n language: Language\n code: string\n}\n\nexport type Variants = string\nexport type CodeVariant<V extends Variants> = Record<V, Code>\nexport type Code = CodeItem | [CodeItem, ...CodeItem[]]\n\nexport type CodeData<V extends Variants = Variants> = SingleCodeData | VariantCodeData<V>\n\nexport interface CodeDemoProps {\n data: CodeData\n hide?: {\n rtl?: boolean\n darkMode?: boolean\n themeSelector?: boolean\n }\n}\n\nexport interface CodeHighlightProps extends React.ComponentProps<'pre'> {\n code: string\n language: Language\n withCopy?: boolean\n}\n\nexport type ThemeMessage = {\n type: 'nswds-theme'\n payload: {\n [key: string]: string\n }\n}\n\nexport type IFrameProps = {\n iframe: IFrameData\n isRTL: boolean\n isDarkMode: boolean | null\n sandbox?: string\n}\n\nexport interface ThemeSelectorDropDownProps {\n themeCategory: ThemeCategory\n setThemeCategory: (category: ThemeCategory) => void\n primaryColor: string\n setPrimaryColor: (color: string) => void\n accentColor: string\n setAccentColor: (color: string) => void\n greyColor: string\n setGreyColor: (color: string) => void\n}\n\nexport type IFrameMap<V extends Variants = Variants> = Record<V, IFrameOptions>\n\n// Typography types\nexport interface TypeSpecs {\n size: string\n lineHeight: string\n letterSpacing: string\n}\n\nexport interface HeadingTypeProps {\n trim: 'normal' | 'start' | 'end' | 'both'\n size: 1 | 2 | 3 | 4 | 5 | 6\n level: 1 | 2 | 3 | 4 | 5 | 6\n display: boolean\n}\n\nexport interface TextTypeProps {\n trim: 'normal' | 'start' | 'end' | 'both'\n size: 1 | 2 | 3 | 4\n level: 1 | 2 | 3 | 4\n label: boolean\n}\n\nexport type TypeExampleProps =\n | { name: string; specs: TypeSpecs; typeProps: HeadingTypeProps }\n | { name: string; specs: TypeSpecs; typeProps: TextTypeProps }\n\n// Form types\nexport type FormStatus =\n | 'completed'\n | 'saved'\n | 'in-progress'\n | 'error'\n | 'not-started'\n | 'cannot-start'\n"]}