@nswds/app 1.9.1 → 1.10.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/lib/utils.ts","../src/components/Button.tsx","../src/components/Card.tsx","../src/components/Icons.tsx","../src/lib/colors.ts","../src/components/ColorCard.tsx","../src/components/Collapsible.tsx","../src/components/DynamicFavicon.tsx","../src/components/Social.tsx","../src/components/Footer.tsx","../src/components/Toggle.tsx","../src/components/ToggleGroup.tsx","../src/components/FormatToggle.tsx","../src/components/Label.tsx","../src/components/Logo.tsx","../src/components/Masthead.tsx","../src/components/Navigation.tsx","../src/components/PrevNextLinks.tsx","../src/components/RadioGroup.tsx","../src/components/Sheet.tsx","../src/components/SidebarNavigation.tsx","../src/components/TableOfContents.tsx","../src/components/Tabs.tsx","../src/components/ThemeProvider.tsx","../src/components/ThemeSwitcher.tsx","../src/components/Sonner.tsx","../src/components/TocProvider.tsx","../src/components/ViewToggle.tsx","../src/lib/sections.ts"],"names":["twMerge","clsx","cva","Slot","jsx","culori","rgb","oklch","useState","jsxs","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","useEffect","Link","TogglePrimitive","React","ToggleGroupPrimitive","LabelPrimitive","Fragment","navigation","usePathname","RadioGroupPrimitive","CircleIcon","SheetPrimitive","XIcon","NextLink","getHeadings","useCallback","tableOfContents","TabsPrimitive","NextThemesProvider","useTheme","Sonner","createContext","slugify","slugifyWithCounter"],"mappings":"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","file":"index.cjs","sourcesContent":["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","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border border-nsw-grey-200 bg-background shadow-xs hover:bg-primary/10 hover:text-foreground dark:bg-nsw-grey-800/30 dark:border-nsw-grey-800 dark:hover:bg-nsw-grey-800/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-primary/10 hover:text-foreground dark:hover:bg-primary/90',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot='button'\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * 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","import { IconProps } from '../types/types'\n\nexport const Icons = {\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' 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 attach_file: (props: IconProps) => (\n <svg fill='currentColor' 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 cancel: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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' 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' 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' 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 close: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 copy: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 delete: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 east: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 grid_view: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 light_mode: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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' 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 menu: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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 open_in_new: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 print: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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 settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' 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 share: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 south: (props: IconProps) => (\n <svg fill='currentColor' 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 unfold_less: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 west: (props: IconProps) => (\n <svg fill='currentColor' 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 * 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","'use client'\n\nimport { useState } from 'react'\nimport { Icons } from '../components/Icons'\nimport { Card } from '../components/Card'\nimport { Button } from '../components/Button'\nimport { ColorCardProps } from '@/types/types'\nimport { getColorValue } from '../lib/colors'\n\nexport function ColorCard({ name, token, hex, rgb, hsl, oklch, format, viewMode }: ColorCardProps) {\n const [copied, setCopied] = useState(false)\n\n const formattedColor = getColorValue({ oklch, hex, rgb, hsl }, format)\n\n const copyToClipboard = () => {\n navigator.clipboard.writeText(formattedColor)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }\n\n if (viewMode === 'grid') {\n return (\n <Card className='gap-0 overflow-hidden border border-1 py-0'>\n <div className='h-24 w-full' style={{ backgroundColor: hex }} />\n <div className='flex flex-col gap-2 p-4'>\n <div className='flex items-start justify-between'>\n <div>\n <p className='font-medium'>{name}</p>\n <p className='text-muted-foreground font-mono text-sm'>{formattedColor}</p>\n </div>\n <Button variant='ghost' size='icon' className='size-10' onClick={copyToClipboard}>\n {copied ? <Icons.check className='size-5' /> : <Icons.copy className='size-5' />}\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 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 <p className='text-muted-foreground truncate font-mono text-sm'>{formattedColor}</p>\n </div>\n <Button\n variant='ghost'\n size='icon'\n className='size-10 flex-shrink-0'\n onClick={copyToClipboard}\n >\n {copied ? <Icons.check className='size-5' /> : <Icons.copy className='size-5' />}\n <span className='sr-only'>Copy color value</span>\n </Button>\n </div>\n </Card>\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 } 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","import { IconProps } from '../types/types'\n\nexport const Social = {\n github: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fillRule='evenodd'\n d='M8.977.83C4.549.83.97 4.32.97 8.636c0 3.45 2.293 6.371 5.475 7.405.397.078.543-.168.543-.375 0-.18-.013-.8-.013-1.447-2.227.465-2.691-.93-2.691-.93-.358-.905-.888-1.138-.888-1.138-.73-.478.053-.478.053-.478.808.052 1.233.801 1.233.801.715 1.19 1.869.853 2.333.646.066-.504.278-.853.504-1.046-1.777-.181-3.646-.853-3.646-3.852 0-.853.318-1.55.822-2.093-.08-.194-.358-.995.08-2.068 0 0 .676-.207 2.2.801a7.94 7.94 0 0 1 2.002-.258c.676 0 1.365.09 2.001.258 1.525-1.008 2.2-.801 2.2-.801.438 1.073.16 1.874.08 2.068.517.542.822 1.24.822 2.093 0 2.999-1.869 3.658-3.659 3.852.292.245.544.71.544 1.447 0 1.047-.013 1.887-.013 2.145 0 .207.146.453.543.375 3.182-1.034 5.475-3.955 5.475-7.405C16.983 4.319 13.39.83 8.977.83Z'\n clipRule='evenodd'\n ></path>\n </g>\n </svg>\n ),\n linkedin: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M15.776.83H2.14C1.488.83.96 1.329.96 1.946v13.249c0 .617.528 1.119 1.181 1.119h13.635c.653 0 1.184-.502 1.184-1.116V1.946c0-.617-.531-1.116-1.184-1.116ZM5.706 14.025H3.333V6.633h2.375v7.392ZM4.52 5.626c-.762 0-1.378-.595-1.378-1.33 0-.735.616-1.33 1.378-1.33.76 0 1.375.595 1.375 1.33 0 .732-.615 1.33-1.375 1.33Zm10.075 8.399h-2.371v-3.593c0-.856-.016-1.96-1.235-1.96-1.234 0-1.422.935-1.422 1.9v3.653H7.197V6.633h2.275v1.01h.032c.315-.58 1.09-1.194 2.244-1.194 2.403 0 2.846 1.53 2.846 3.52v4.056Z'\n ></path>\n </g>\n </svg>\n ),\n twitter: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M13.158 2.058h2.248l-4.913 5.435 5.78 7.395h-4.525l-3.545-4.485-4.056 4.485h-2.25l5.255-5.813-5.545-7.017h4.64l3.205 4.1 3.706-4.1Zm-.79 11.527h1.246L5.57 3.293H4.233l8.135 10.292Z'\n ></path>\n </g>\n </svg>\n ),\n youtube: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M16.79 5.475s-.156-1.067-.637-1.536c-.61-.617-1.29-.62-1.603-.656-2.238-.158-5.597-.158-5.597-.158h-.006s-3.36 0-5.597.158c-.313.036-.994.039-1.603.656-.481.469-.635 1.536-.635 1.536S.95 6.73.95 7.982v1.174c0 1.252.16 2.507.16 2.507s.156 1.067.634 1.536c.61.617 1.41.596 1.765.662 1.282.118 5.441.154 5.441.154s3.363-.006 5.6-.16c.313-.036.994-.04 1.603-.656.481-.469.638-1.536.638-1.536s.159-1.252.159-2.507V7.982c0-1.252-.16-2.507-.16-2.507ZM7.298 10.58V6.228l4.322 2.184-4.322 2.168Z'\n ></path>\n </g>\n </svg>\n ),\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { Social } from '../components/Social'\n\nfunction SocialLink({\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 <Link href={href} className='group'>\n <span className='sr-only'>{children}</span>\n <Icon className='h-5 w-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500' />\n </Link>\n )\n}\n\nfunction SmallPrint() {\n return (\n <div className='flex flex-col items-center justify-between gap-5 border-t border-zinc-900/5 pt-8 sm:flex-row dark:border-white/5'>\n <p className='text-xs text-zinc-600 dark:text-zinc-400'>\n &copy; Copyright {new Date().getFullYear()}. All rights reserved.\n </p>\n <div className='flex gap-4'>\n <SocialLink href='https://github.com/digitalnsw' icon={Social.github}>\n Follow us on GitHub\n </SocialLink>\n </div>\n </div>\n )\n}\n\nexport function Footer() {\n return (\n <footer className='mx-auto w-full max-w-2xl space-y-10 pb-16 lg:max-w-5xl'>\n <SmallPrint />\n </footer>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TogglePrimitive from '@radix-ui/react-toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary/10 data-[state=on]:text-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border-border bg-transparent shadow-xs hover:bg-primary/10 hover:text-foreground',\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: 'default',\n size: 'default',\n },\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: 'default',\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 rounded-md shadow-none focus:z-10 focus-visible:z-10 data-[variant=outline]: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 { ColorFormat, 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 ColorFormat)}\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","'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","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'\nexport function Masthead() {\n return (\n <div className='bg-primary 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 React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\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 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 Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types'\n\nfunction ArrowIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox='0 0 16 16' aria-hidden='true' {...props}>\n <path d='m9.182 13.423-1.17-1.16 3.505-3.505H3V7.065h8.517l-3.506-3.5L9.181 2.4l5.512 5.511-5.511 5.512Z' />\n </svg>\n )\n}\n\nfunction PageLink({\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 <ArrowIcon\n className={clsx('h-4 w-4 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\ninterface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport function 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 && <PageLink dir='previous' {...previousPage} />}\n {nextPage && <PageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport { CircleIcon } from 'lucide-react'\n\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-input 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 <CircleIcon 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 SheetPrimitive from '@radix-ui/react-dialog'\nimport { XIcon } from 'lucide-react'\n\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 className='ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none'>\n <XIcon className='size-4' />\n <span className='sr-only'>Close</span>\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 } from '../types/types'\n\ntype SidebarLinkProps = {\n link: Link\n pathname: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n depth: number\n}\n\nexport function 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 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/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","'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\ntype TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\ntype TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\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-light 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 <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-nsw-grey-100 text-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',\n className,\n )}\n {...props}\n />\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 \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\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","'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 { 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 size-6'\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' className='h-10 w-10' disabled>\n <Icons.light_mode className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='outline'\n size='icon'\n className='h-10 w-10 cursor-pointer'\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 className={classes} />\n ) : (\n <Icons.dark_mode 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 { 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(--popover)',\n '--normal-text': 'var(--popover-foreground)',\n '--normal-border': 'var(--border)',\n } as React.CSSProperties\n }\n {...props}\n />\n )\n}\n\nexport { Toaster }\n","// context/TocContext.tsx\n'use client'\n\nimport { createContext, useContext, useState, ReactNode, Dispatch, SetStateAction } from 'react'\n\ninterface TocContextType {\n toc: boolean\n setToc: Dispatch<SetStateAction<boolean>>\n}\n\nconst TocContext = createContext<TocContextType>({\n toc: true,\n setToc: () => {},\n})\n\nexport function TocProvider({ children }: { children: ReactNode }) {\n const [toc, setToc] = useState(true)\n return <TocContext.Provider value={{ toc, setToc }}>{children}</TocContext.Provider>\n}\n\nexport function useToc() {\n return useContext(TocContext)\n}\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 className='size-5' />\n </ToggleGroupItem>\n <ToggleGroupItem value='list' aria-label='List view'>\n <Icons.list className='size-5' />\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n )\n}\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"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/Badge.tsx","../src/components/Button.tsx","../src/components/Card.tsx","../src/components/Icons.tsx","../src/lib/colors.ts","../src/components/ColorCard.tsx","../src/components/Collapsible.tsx","../src/components/DynamicFavicon.tsx","../src/components/Separator.tsx","../src/components/Footer.tsx","../src/components/Toggle.tsx","../src/components/ToggleGroup.tsx","../src/components/FormatToggle.tsx","../src/components/Label.tsx","../src/components/Logo.tsx","../src/components/Masthead.tsx","../src/components/Navigation.tsx","../src/components/PrevNextLinks.tsx","../src/components/RadioGroup.tsx","../src/components/Sheet.tsx","../src/components/SidebarNavigation.tsx","../src/components/Social.tsx","../src/components/TableOfContents.tsx","../src/components/Tabs.tsx","../src/components/ThemeProvider.tsx","../src/components/ThemeSwitcher.tsx","../src/components/Sonner.tsx","../src/components/TocProvider.tsx","../src/components/ViewToggle.tsx","../src/lib/sections.ts","../src/lib/color-palette.ts"],"names":["twMerge","clsx","cva","Slot","jsx","culori","colors","colorThemes","rgb","oklch","useState","jsxs","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","useEffect","SeparatorPrimitive","Link","TogglePrimitive","React","ToggleGroupPrimitive","LabelPrimitive","Fragment","navigation","usePathname","RadioGroupPrimitive","CircleIcon","SheetPrimitive","XIcon","NextLink","getHeadings","useCallback","tableOfContents","TabsPrimitive","NextThemesProvider","useTheme","Sonner","createContext","useContext","slugify","slugifyWithCounter"],"mappings":"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","file":"index.cjs","sourcesContent":["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","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst badgeVariants = cva(\n 'inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90',\n destructive:\n 'border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline: 'text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'span'\n\n return <Comp data-slot='badge' className={cn(badgeVariants({ variant }), className)} {...props} />\n}\n\nexport { Badge, badgeVariants }\n","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border border-nsw-grey-200 bg-background shadow-xs hover:bg-primary/10 hover:text-foreground dark:bg-nsw-grey-800/30 dark:border-nsw-grey-800 dark:hover:bg-nsw-grey-800/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-primary/10 hover:text-foreground dark:hover:bg-primary/90',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot='button'\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\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","import { IconProps } from '../types/types'\n\nexport const Icons = {\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' 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 attach_file: (props: IconProps) => (\n <svg fill='currentColor' 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 cancel: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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' 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' 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' 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 close: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 copy: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 delete: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 east: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 grid_view: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 light_mode: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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' 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 menu: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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 open_in_new: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 print: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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' 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 settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' 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 share: (props: IconProps) => (\n <svg fill='currentColor' 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' 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 south: (props: IconProps) => (\n <svg fill='currentColor' 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 unfold_less: (props: IconProps) => (\n <svg fill='currentColor' 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' 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' 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 west: (props: IconProps) => (\n <svg fill='currentColor' 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 * 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","'use client'\n\nimport { useState } from 'react'\nimport { Icons } from '../components/Icons'\nimport { Card } from '../components/Card'\nimport { Button } from '../components/Button'\nimport { ColorCardProps } from '@/types/types'\nimport { getColorValue } from '../lib/colors'\n\nexport function ColorCard({ name, token, hex, rgb, hsl, oklch, format, viewMode }: ColorCardProps) {\n const [copied, setCopied] = useState(false)\n\n const formattedColor = getColorValue({ oklch, hex, rgb, hsl }, format)\n\n const copyToClipboard = () => {\n navigator.clipboard.writeText(formattedColor)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }\n\n if (viewMode === 'grid') {\n return (\n <Card className='gap-0 overflow-hidden border border-1 py-0'>\n <div className='h-24 w-full' style={{ backgroundColor: hex }} />\n <div className='flex flex-col gap-2 p-4'>\n <div className='flex items-start justify-between'>\n <div>\n <p className='font-medium'>{name}</p>\n <p className='text-muted-foreground font-mono text-sm'>{formattedColor}</p>\n </div>\n <Button variant='ghost' size='icon' className='size-10' onClick={copyToClipboard}>\n {copied ? <Icons.check className='size-5' /> : <Icons.copy className='size-5' />}\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 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 <p className='text-muted-foreground truncate font-mono text-sm'>{formattedColor}</p>\n </div>\n <Button\n variant='ghost'\n size='icon'\n className='size-10 flex-shrink-0'\n onClick={copyToClipboard}\n >\n {copied ? <Icons.check className='size-5' /> : <Icons.copy className='size-5' />}\n <span className='sr-only'>Copy color value</span>\n </Button>\n </div>\n </Card>\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 } 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 * 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-border 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'\n\nimport { Separator } from '../components/Separator'\n\nfunction SocialLink({\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 asChild variant='ghost' size='icon' className='group'>\n <Link href={href} className='group'>\n <span className='sr-only'>{children}</span>\n <Icon className='group-hover:fill-nsw-grey-900 dark:group-hover:fill-nsw-grey-500 fill-nsw-grey-700 size-5 transition' />\n </Link>\n </Button>\n )\n}\n\nfunction Acknowledgement() {\n return (\n <div className='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 SmallPrint({\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 <SocialLink key={item.name} href={item.href} icon={item.icon}>\n Follow us on {item.name}\n </SocialLink>\n ))}\n </div>\n </div>\n )\n}\n\nfunction LegalLinks({ 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/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\nexport function 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 <Separator className='bg-nsw-grey-200 mb-4' />\n <Acknowledgement />\n <Separator className='bg-nsw-grey-200 my-4' />\n <LegalLinks legalLinks={legalLinks} />\n <SmallPrint department={department} socialLinks={socialLinks} />\n </footer>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TogglePrimitive from '@radix-ui/react-toggle'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-primary/10 data-[state=on]:text-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border-border bg-transparent shadow-xs hover:bg-primary/10 hover:text-foreground',\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: 'default',\n size: 'default',\n },\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: 'default',\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 rounded-md shadow-none focus:z-10 focus-visible:z-10 data-[variant=outline]: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 { ColorFormat, 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 ColorFormat)}\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","'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","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'\nexport function Masthead() {\n return (\n <div className='bg-primary 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 React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\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 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 Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types'\n\nfunction ArrowIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox='0 0 16 16' aria-hidden='true' {...props}>\n <path d='m9.182 13.423-1.17-1.16 3.505-3.505H3V7.065h8.517l-3.506-3.5L9.181 2.4l5.512 5.511-5.511 5.512Z' />\n </svg>\n )\n}\n\nfunction PageLink({\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 <ArrowIcon\n className={clsx('h-4 w-4 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\ninterface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport function 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 && <PageLink dir='previous' {...previousPage} />}\n {nextPage && <PageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport { CircleIcon } from 'lucide-react'\n\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-input 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 <CircleIcon 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 SheetPrimitive from '@radix-ui/react-dialog'\nimport { XIcon } from 'lucide-react'\n\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 className='ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none'>\n <XIcon className='size-4' />\n <span className='sr-only'>Close</span>\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 } from '../types/types'\n\ntype SidebarLinkProps = {\n link: Link\n pathname: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n depth: number\n}\n\nexport function 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 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/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","import { IconProps } from '../types/types'\n\nexport const Social = {\n Facebook: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 24 24' {...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' {...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' {...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' {...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' {...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' {...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 { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\ntype TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\ntype TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\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-light 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 <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-nsw-grey-100 text-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',\n className,\n )}\n {...props}\n />\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 \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\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","'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 { 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 size-6'\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' className='h-10 w-10' disabled>\n <Icons.light_mode className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='outline'\n size='icon'\n className='h-10 w-10 cursor-pointer'\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 className={classes} />\n ) : (\n <Icons.dark_mode 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 { 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(--popover)',\n '--normal-text': 'var(--popover-foreground)',\n '--normal-border': 'var(--border)',\n } as React.CSSProperties\n }\n {...props}\n />\n )\n}\n\nexport { Toaster }\n","// context/TocContext.tsx\n'use client'\n\nimport { createContext, useContext, useState, ReactNode, Dispatch, SetStateAction } from 'react'\n\ninterface TocContextType {\n toc: boolean\n setToc: Dispatch<SetStateAction<boolean>>\n}\n\nconst TocContext = createContext<TocContextType>({\n toc: true,\n setToc: () => {},\n})\n\nexport function TocProvider({ children }: { children: ReactNode }) {\n const [toc, setToc] = useState(true)\n return <TocContext.Provider value={{ toc, setToc }}>{children}</TocContext.Provider>\n}\n\nexport function useToc() {\n return useContext(TocContext)\n}\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 className='size-5' />\n </ToggleGroupItem>\n <ToggleGroupItem value='list' aria-label='List view'>\n <Icons.list className='size-5' />\n </ToggleGroupItem>\n </ToggleGroup>\n </div>\n )\n}\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","import { ColorThemes } from '@/types/types'\nimport { generateColorThemes } from '@/lib/colors'\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}\n\nexport const colorThemes = generateColorThemes(colors)\n"]}