@nswds/app 1.42.0 → 1.44.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.
package/dist/index.js CHANGED
@@ -8,15 +8,16 @@ import * as AvatarPrimitive from '@radix-ui/react-avatar';
8
8
  import * as Headless4 from '@headlessui/react';
9
9
  import { PopoverGroup, Popover as Popover$1, PopoverButton, PopoverPanel } from '@headlessui/react';
10
10
  import * as React16 from 'react';
11
- import React16__default, { forwardRef, useEffect, createContext, useRef, useState, useMemo, useId, useContext, Fragment as Fragment$1, useLayoutEffect, useCallback, useInsertionEffect, createElement, Component } from 'react';
11
+ import React16__default, { forwardRef, useEffect, createContext, useRef, useState, Suspense, useId, useMemo, useContext, Fragment as Fragment$1, useLayoutEffect, useCallback, useInsertionEffect, createElement, Component } from 'react';
12
12
  import Link10 from 'next/link';
13
13
  import * as culori from 'culori';
14
14
  import { Slot } from '@radix-ui/react-slot';
15
- import { usePathname, useRouter } from 'next/navigation';
15
+ import { usePathname, useRouter, useSearchParams } from 'next/navigation';
16
16
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
17
17
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
18
18
  import { useTheme, ThemeProvider as ThemeProvider$1 } from 'next-themes';
19
19
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
20
+ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
20
21
  import Prism from 'prismjs';
21
22
  import 'prismjs/components/prism-bash';
22
23
  import 'prismjs/components/prism-css';
@@ -27,13 +28,13 @@ import 'prismjs/components/prism-tsx';
27
28
  import 'prismjs/components/prism-typescript';
28
29
  import * as SelectPrimitive from '@radix-ui/react-select';
29
30
  import * as PopoverPrimitive from '@radix-ui/react-popover';
31
+ import { useCopyToClipboard } from '@uidotdev/usehooks';
32
+ import { Toaster as Toaster$1, toast } from 'sonner';
30
33
  import * as LabelPrimitive from '@radix-ui/react-label';
31
34
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
32
35
  import { CircleIcon, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, ArrowLeft, ArrowRight, MinusIcon } from 'lucide-react';
33
36
  import * as TabsPrimitive2 from '@radix-ui/react-tabs';
34
37
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
35
- import { useCopyToClipboard } from '@uidotdev/usehooks';
36
- import { Toaster as Toaster$1, toast } from 'sonner';
37
38
  import { Command as Command$1 } from 'cmdk';
38
39
  import * as DialogPrimitive from '@radix-ui/react-dialog';
39
40
  import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
@@ -46,7 +47,6 @@ import * as MenubarPrimitive from '@radix-ui/react-menubar';
46
47
  import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
47
48
  import * as ProgressPrimitive from '@radix-ui/react-progress';
48
49
  import * as ResizablePrimitive from 'react-resizable-panels';
49
- import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
50
50
  import * as SliderPrimitive from '@radix-ui/react-slider';
51
51
  import * as RechartsPrimitive from 'recharts';
52
52
  import { ResponsiveContainer, AreaChart as AreaChart$1, CartesianGrid, XAxis, Label, YAxis, Tooltip as Tooltip$1, Legend, Area, Dot, Line, BarChart as BarChart$1, Bar, ComposedChart, PieChart, Pie, LineChart as LineChart$1, Sector } from 'recharts';
@@ -194,23 +194,23 @@ var focusInput = [
194
194
  // base
195
195
  "focus:ring-2",
196
196
  // ring color
197
- "focus:ring-blue-200 dark:focus:ring-blue-700/30",
197
+ "focus:ring-primary-200 dark:focus:ring-primary-700/30",
198
198
  // border color
199
- "focus:border-blue-500 dark:focus:border-blue-700"
199
+ "focus:border-primary-500 dark:focus:border-primary-700"
200
200
  ];
201
201
  var hasErrorInput = [
202
202
  // base
203
203
  "ring-2",
204
204
  // border color
205
- "border-red-500 dark:border-red-700",
205
+ "border-danger-500 dark:border-danger-700",
206
206
  // ring color
207
- "ring-red-200 dark:ring-red-700/30"
207
+ "ring-danger-200 dark:ring-danger-700/30"
208
208
  ];
209
209
  var focusRing = [
210
210
  // base
211
211
  "outline outline-offset-2 outline-0 focus-visible:outline-2",
212
212
  // outline color
213
- "outline-blue-500 dark:outline-blue-500"
213
+ "outline-primary-500 dark:outline-primary-500"
214
214
  ];
215
215
  function Accordion({ ...props }) {
216
216
  return /* @__PURE__ */ jsx(AccordionPrimitive.Root, { "data-slot": "accordion", ...props });
@@ -223,10 +223,7 @@ function AccordionItem({
223
223
  AccordionPrimitive.Item,
224
224
  {
225
225
  "data-slot": "accordion-item",
226
- className: cn(
227
- "border-nsw-grey-200 dark:border-nsw-grey-200/20 border-b last:border-b-0",
228
- className
229
- ),
226
+ className: cn("border-grey-200 dark:border-grey-200/20 border-b last:border-b-0", className),
230
227
  ...props
231
228
  }
232
229
  );
@@ -243,17 +240,17 @@ function AccordionTrigger({
243
240
  className: cn(
244
241
  [
245
242
  // Base
246
- "bg-nsw-grey-50 flex flex-1 cursor-pointer items-start justify-between gap-4 p-4 text-left text-base font-medium transition-all",
243
+ "bg-grey-50 flex flex-1 cursor-pointer items-start justify-between gap-4 p-4 text-left text-base font-medium transition-all",
247
244
  // Focus
248
245
  "focus-visible:border-ring focus-visible:ring-ring/50 outline-none focus-visible:ring-[2px]",
249
246
  // State
250
- "hover:bg-nsw-grey-100 hover:text-nsw-grey-850 [&[data-state=open]>svg]:rotate-180",
247
+ "hover:bg-grey-100 hover:text-grey-850 [&[data-state=open]>svg]:rotate-180",
251
248
  // Disabled
252
249
  "data-disabled:pointer-events-none data-disabled:opacity-50",
253
250
  // Dark mode
254
- "dark:bg-nsw-grey-800 dark:hover:bg-nsw-grey-700 dark:text-white",
251
+ "dark:bg-grey-800 dark:hover:bg-grey-700 dark:text-white",
255
252
  // Dark mode hover
256
- "dark:hover:bg-nsw-grey-700 dark:hover:text-white [&[data-state=open]>svg]:rotate-180"
253
+ "dark:hover:bg-grey-700 dark:hover:text-white [&[data-state=open]>svg]:rotate-180"
257
254
  ],
258
255
  className
259
256
  ),
@@ -280,6 +277,9 @@ function AccordionContent({
280
277
  }
281
278
  );
282
279
  }
280
+ function AuthLayout({ children }) {
281
+ return /* @__PURE__ */ jsx("main", { className: "flex min-h-dvh flex-col p-2", children: /* @__PURE__ */ jsx("div", { className: "lg:ring-grey-950/5 dark:lg:bg-grey-900 flex grow items-center justify-center p-6 lg:rounded-sm lg:bg-white lg:p-10 lg:shadow-xs lg:ring-1 dark:lg:ring-white/10", children }) });
282
+ }
283
283
  var alertVariants = cva(
284
284
  "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
285
285
  {
@@ -1898,7 +1898,7 @@ function Card({ className, ...props }) {
1898
1898
  {
1899
1899
  "data-slot": "card",
1900
1900
  className: cn(
1901
- "border-nsw-grey-200 dark:border-nsw-grey-50 bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6",
1901
+ "border-grey-200 dark:border-grey-50 bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6",
1902
1902
  className
1903
1903
  ),
1904
1904
  ...props
@@ -1993,640 +1993,73 @@ function Checkbox({ className, ...props }) {
1993
1993
  }
1994
1994
  );
1995
1995
  }
1996
- var Social = {
1997
- Facebook: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
1998
- "path",
1999
- {
2000
- fillRule: "evenodd",
2001
- 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",
2002
- clipRule: "evenodd"
2003
- }
2004
- ) }),
2005
- Github: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
2006
- "path",
2007
- {
2008
- fillRule: "evenodd",
2009
- 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",
2010
- clipRule: "evenodd"
2011
- }
2012
- ) }),
2013
- Instagram: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
2014
- "path",
2015
- {
2016
- fillRule: "evenodd",
2017
- 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",
2018
- clipRule: "evenodd"
2019
- }
2020
- ) }),
2021
- LinkedIn: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx("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" }) }),
2022
- X: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx("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" }) }),
2023
- YouTube: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
2024
- "path",
2025
- {
2026
- fillRule: "evenodd",
2027
- 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",
2028
- clipRule: "evenodd"
2029
- }
2030
- ) })
2031
- };
2032
- function TooltipProvider({
2033
- delayDuration,
2034
- ...props
2035
- }) {
2036
- return /* @__PURE__ */ jsx(
2037
- TooltipPrimitive.Provider,
2038
- {
2039
- "data-slot": "tooltip-provider",
2040
- delayDuration,
2041
- ...props
2042
- }
2043
- );
2044
- }
2045
- function Tooltip({ ...props }) {
2046
- return /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
2047
- }
2048
- function TooltipTrigger({ ...props }) {
2049
- return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
2050
- }
2051
- function TooltipContent({
2052
- className,
2053
- sideOffset = 0,
2054
- children,
2055
- ...props
2056
- }) {
2057
- return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
2058
- TooltipPrimitive.Content,
2059
- {
2060
- "data-slot": "tooltip-content",
2061
- sideOffset,
2062
- className: cn(
2063
- "bg-nsw-grey-800 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance text-white",
2064
- className
2065
- ),
2066
- ...props,
2067
- children: [
2068
- children,
2069
- /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-nsw-grey-800 fill-nsw-grey-800 z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
2070
- ]
2071
- }
2072
- ) });
2073
- }
2074
- function PreWithCopy(props) {
2075
- const textInput = useRef(null);
2076
- const [isJustCopied, setJustCopied] = useState(false);
2077
- function handleCopy() {
2078
- if (textInput.current) {
2079
- navigator.clipboard.writeText(textInput.current.textContent || "");
2080
- setJustCopied(true);
2081
- setTimeout(() => setJustCopied(false), 2e3);
2082
- }
2083
- }
2084
- return /* @__PURE__ */ jsxs("div", { className: "group relative", children: [
2085
- /* @__PURE__ */ jsx(
2086
- "pre",
2087
- {
2088
- ref: textInput,
2089
- ...props,
2090
- className: twMerge("max-h-[40rem] overflow-auto", props.className)
2091
- }
2092
- ),
2093
- /* @__PURE__ */ jsxs(
2094
- "button",
2095
- {
2096
- className: "absolute top-2 right-2 m-0.5 inline-flex h-8 items-center justify-center rounded-lg border border-gray-200 bg-white px-2.5 py-2 text-gray-900 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-gray-100 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700",
2097
- "aria-label": "Copy code to clipboard",
2098
- onClick: handleCopy,
2099
- children: [
2100
- /* @__PURE__ */ jsx("span", { className: twMerge(isJustCopied && "hidden"), children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center", children: [
2101
- /* @__PURE__ */ jsx(Icons.copy, { className: "me-1.5 size-3" }),
2102
- /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: "Copy code" })
2103
- ] }) }),
2104
- /* @__PURE__ */ jsx("span", { className: twMerge(isJustCopied ? "block" : "hidden"), children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center", children: [
2105
- /* @__PURE__ */ jsx(Icons.check, { className: "text-primary-700 dark:text-primary-500 me-1.5 size-3" }),
2106
- /* @__PURE__ */ jsx("span", { className: "text-primary-700 dark:text-primary-500 text-xs font-semibold", children: "Copied" })
2107
- ] }) })
2108
- ]
2109
- }
2110
- )
2111
- ] });
2112
- }
2113
- Prism.manual = true;
2114
- function CodeHighlight({
2115
- code,
2116
- language,
2117
- className,
2118
- withCopy = false,
2119
- ...props
2120
- }) {
2121
- const highlightedCode = Prism.highlight(code.trim(), Prism.languages[language], language);
2122
- const Component2 = withCopy ? PreWithCopy : "pre";
2123
- return /* @__PURE__ */ jsx(Component2, { className: twMerge(`language-${language}`, className), ...props, children: /* @__PURE__ */ jsx(
2124
- "code",
2125
- {
2126
- className: `language-${language}`,
2127
- dangerouslySetInnerHTML: { __html: highlightedCode }
2128
- }
2129
- ) });
2130
- }
2131
- function Select({ ...props }) {
2132
- return /* @__PURE__ */ jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
2133
- }
2134
- function SelectGroup({ ...props }) {
2135
- return /* @__PURE__ */ jsx(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
2136
- }
2137
- function SelectValue({ ...props }) {
2138
- return /* @__PURE__ */ jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
2139
- }
2140
- function SelectTrigger({
2141
- className,
2142
- size = "default",
2143
- children,
2144
- ...props
2145
- }) {
2146
- return /* @__PURE__ */ jsxs(
2147
- SelectPrimitive.Trigger,
2148
- {
2149
- "data-slot": "select-trigger",
2150
- "data-size": size,
2151
- className: cn(
2152
- // Base styles
2153
- "border-grey-600 [&_svg:not([class*='text-'])]:text-grey-600 flex w-full items-center justify-between gap-2 rounded-sm border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
2154
- // Disabled styles
2155
- "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
2156
- // aria-invalid styles
2157
- "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
2158
- // Focus styles
2159
- "focus:outline-primary-650/70 focus:outline focus:outline-2 focus:outline-offset-2",
2160
- // Placeholder styles
2161
- "data-[placeholder]:text-grey-600",
2162
- // Dark mode styles
2163
- "dark:bg-input/30 dark:hover:bg-input/50",
2164
- // Size styles
2165
- "data-[size=default]:h-12 data-[size=sm]:h-9",
2166
- className
2167
- ),
2168
- ...props,
2169
- children: [
2170
- children,
2171
- /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(Icons.chevron_down, { className: "size-6 opacity-80" }) })
2172
- ]
2173
- }
2174
- );
2175
- }
2176
- function SelectContent({
2177
- className,
2178
- children,
2179
- position = "popper",
2180
- ...props
2181
- }) {
2182
- return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
2183
- SelectPrimitive.Content,
2184
- {
2185
- "data-slot": "select-content",
2186
- className: cn(
2187
- // Base styles
2188
- "text-grey-800 border-grey-200 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border bg-white shadow-md",
2189
- // State styles
2190
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
2191
- position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
2192
- className
2193
- ),
2194
- position,
2195
- ...props,
2196
- children: [
2197
- /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
2198
- /* @__PURE__ */ jsx(
2199
- SelectPrimitive.Viewport,
2200
- {
2201
- className: cn(
2202
- "p-1",
2203
- position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
2204
- ),
2205
- children
2206
- }
2207
- ),
2208
- /* @__PURE__ */ jsx(SelectScrollDownButton, {})
2209
- ]
2210
- }
2211
- ) });
2212
- }
2213
- function SelectLabel({ className, ...props }) {
2214
- return /* @__PURE__ */ jsx(
2215
- SelectPrimitive.Label,
2216
- {
2217
- "data-slot": "select-label",
2218
- className: cn("text-grey-600 px-2 py-1.5 text-xs", className),
2219
- ...props
2220
- }
2221
- );
2222
- }
2223
- function SelectItem({
2224
- className,
2225
- children,
2226
- ...props
2227
- }) {
2228
- return /* @__PURE__ */ jsxs(
2229
- SelectPrimitive.Item,
2230
- {
2231
- "data-slot": "select-item",
2232
- className: cn(
2233
- "focus:bg-primary-800/10 focus:text-primary-800 [&_svg:not([class*='text-'])]:text-grey-600 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:font-bold data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
2234
- className
2235
- ),
2236
- ...props,
2237
- children: [
2238
- /* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Icons.check, { className: "size-6" }) }) }),
2239
- /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
2240
- ]
2241
- }
2242
- );
2243
- }
2244
- function SelectSeparator({
2245
- className,
2246
- ...props
2247
- }) {
2248
- return /* @__PURE__ */ jsx(
2249
- SelectPrimitive.Separator,
2250
- {
2251
- "data-slot": "select-separator",
2252
- className: cn("bg-primary-800/20 pointer-events-none -mx-1 my-1 h-px", className),
2253
- ...props
2254
- }
2255
- );
2256
- }
2257
- function SelectScrollUpButton({
2258
- className,
2259
- ...props
2260
- }) {
2261
- return /* @__PURE__ */ jsx(
2262
- SelectPrimitive.ScrollUpButton,
2263
- {
2264
- "data-slot": "select-scroll-up-button",
2265
- className: cn("flex cursor-default items-center justify-center py-1", className),
2266
- ...props,
2267
- children: /* @__PURE__ */ jsx(Icons.chevron_up, { className: "size-6" })
2268
- }
2269
- );
2270
- }
2271
- function SelectScrollDownButton({
2272
- className,
2273
- ...props
2274
- }) {
2275
- return /* @__PURE__ */ jsx(
2276
- SelectPrimitive.ScrollDownButton,
2277
- {
2278
- "data-slot": "select-scroll-down-button",
2279
- className: cn("flex cursor-default items-center justify-center py-1", className),
2280
- ...props,
2281
- children: /* @__PURE__ */ jsx(Icons.chevron_down, { className: "size-6" })
2282
- }
2283
- );
2284
- }
2285
- function Popover({ ...props }) {
2286
- return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
2287
- }
2288
- function PopoverTrigger({ ...props }) {
2289
- return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
2290
- }
2291
- function PopoverContent({
2292
- className,
2293
- align = "center",
2294
- sideOffset = 4,
2295
- ...props
2296
- }) {
2297
- return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
2298
- PopoverPrimitive.Content,
2299
- {
2300
- "data-slot": "popover-content",
2301
- align,
2302
- sideOffset,
2303
- className: cn(
2304
- [
2305
- // Base
2306
- "bg-background text-foreground z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
2307
- // Open
2308
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
2309
- // Closed
2310
- "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
2311
- // Side
2312
- "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
2313
- ],
2314
- className
2315
- ),
2316
- ...props
2317
- }
2318
- ) });
2319
- }
2320
- function PopoverAnchor({ ...props }) {
2321
- return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
2322
- }
2323
- function Label3({ className, ...props }) {
2324
- return /* @__PURE__ */ jsx(
2325
- LabelPrimitive.Root,
2326
- {
2327
- "data-slot": "label",
2328
- className: cn(
2329
- // Base
2330
- "flex items-center gap-2",
2331
- "text-grey-900 text-base/6 font-semibold select-none",
2332
- // Dark mode
2333
- "dark:group-data-[disabled=true]:text-grey-400 dark:text-white",
2334
- // Disabled state
2335
- "group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
2336
- className
2337
- ),
2338
- ...props
2339
- }
2340
- );
2341
- }
2342
- function RadioGroup2({
2343
- className,
2344
- ...props
2345
- }) {
2346
- return /* @__PURE__ */ jsx(
2347
- RadioGroupPrimitive.Root,
2348
- {
2349
- "data-slot": "radio-group",
2350
- className: cn("grid gap-3", className),
2351
- ...props
2352
- }
2353
- );
2354
- }
2355
- function RadioGroupItem({
2356
- className,
2357
- ...props
2358
- }) {
2359
- return /* @__PURE__ */ jsx(
2360
- RadioGroupPrimitive.Item,
2361
- {
2362
- "data-slot": "radio-group-item",
2363
- className: cn(
2364
- // Base styles
2365
- "border-primary-800 text-primary-800 aspect-square size-8 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none",
2366
- // Dark mode styles
2367
- "dark:bg-input/30",
2368
- // Focus styles
2369
- "focus:border-grey-600 focus:ring-primary-650/70 ring-offset-white focus:ring-2 focus:ring-offset-2 focus:outline-none",
2370
- // aria-invalid styles
2371
- "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
2372
- // Disabled styles
2373
- "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
2374
- className
2375
- ),
2376
- ...props,
2377
- children: /* @__PURE__ */ jsx(
2378
- RadioGroupPrimitive.Indicator,
2379
- {
2380
- "data-slot": "radio-group-indicator",
2381
- className: cn(
2382
- // Base styles
2383
- "relative flex items-center justify-center"
2384
- ),
2385
- children: /* @__PURE__ */ jsx(CircleIcon, { className: "fill-primary-800 absolute top-1/2 left-1/2 size-6 -translate-x-1/2 -translate-y-1/2" })
2386
- }
2387
- )
2388
- }
2389
- );
2390
- }
2391
- function SegmentedControl({
2392
- className,
2393
- ...props
2394
- }) {
2395
- return /* @__PURE__ */ jsx(
2396
- TabsPrimitive2.Root,
2397
- {
2398
- "data-slot": "tabs",
2399
- className: cn("flex flex-col gap-2", className),
2400
- ...props
2401
- }
2402
- );
2403
- }
2404
- function SegmentedControlList({
2405
- className,
2406
- ...props
2407
- }) {
2408
- return /* @__PURE__ */ jsx(
2409
- TabsPrimitive2.List,
2410
- {
2411
- "data-slot": "segmented-control-list",
2412
- className: cn(
2413
- "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
2414
- className
2415
- ),
2416
- ...props
2417
- }
2418
- );
2419
- }
2420
- function SegmentedControlTrigger({
2421
- className,
2422
- ...props
2423
- }) {
2424
- return /* @__PURE__ */ jsx(
2425
- TabsPrimitive2.Trigger,
2426
- {
2427
- "data-slot": "segmented-control-trigger",
2428
- className: cn(
2429
- "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",
2430
- className
2431
- ),
2432
- ...props
2433
- }
2434
- );
2435
- }
2436
- var findGreyKey = (themes) => Object.keys(themes).find((k) => k.toLowerCase().includes("grey")) ?? "";
2437
- function ThemeSelector({
2438
- themeCategory,
2439
- setThemeCategory,
2440
- primaryColor,
2441
- setPrimaryColor,
2442
- accentColor,
2443
- setAccentColor,
2444
- greyColor,
2445
- setGreyColor,
2446
- availableAccentColors,
2447
- colorThemes: colorThemes2
2448
- }) {
2449
- const handleCategoryChange = (newCategory) => {
2450
- setThemeCategory(newCategory);
2451
- const availableColors = Object.keys(colorThemes2[newCategory]);
2452
- const neutral = findGreyKey(colorThemes2[newCategory]);
2453
- if (neutral && neutral !== greyColor) {
2454
- setGreyColor(neutral);
2455
- }
2456
- if (availableColors.length > 0) {
2457
- if (availableColors.includes(primaryColor)) {
2458
- const newAccentColor = availableColors.find((color2) => color2 !== primaryColor);
2459
- if (newAccentColor && newAccentColor !== accentColor) {
2460
- setAccentColor(newAccentColor);
2461
- }
2462
- } else {
2463
- setPrimaryColor(availableColors[0]);
2464
- if (availableColors.length > 1) {
2465
- setAccentColor(availableColors[1]);
2466
- }
2467
- }
2468
- }
2469
- };
2470
- const labelStyles = {
2471
- base: [
2472
- // Base
2473
- "group relative flex w-full items-center gap-2 rounded-sm border px-3 py-2",
2474
- // Light mode
2475
- "border-nsw-grey-200 bg-background",
2476
- // Hover
2477
- "hover:bg-primary-800/10 hover:text-foreground",
2478
- // Active
2479
- "[&:has([data-state=checked])]:border-nsw-grey-800",
2480
- // Dark mode
2481
- "",
2482
- // Dark hover
2483
- "dark:hover:bg-white/10",
2484
- // Dark active
2485
- "dark:group-data-[state=checked]:border-nsw-grey-400"
2486
- ],
2487
- label: [
2488
- // Base
2489
- "cursor-pointer flex items-center justify-between",
2490
- // Active
2491
- ""
2492
- ]
2493
- };
2494
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
2495
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
2496
- /* @__PURE__ */ jsx("h3", { className: "font-medium", children: "Theme Category" }),
2497
- /* @__PURE__ */ jsx(
2498
- SegmentedControl,
2499
- {
2500
- value: themeCategory,
2501
- onValueChange: (value) => handleCategoryChange(value),
2502
- children: /* @__PURE__ */ jsxs(SegmentedControlList, { className: "w-full", children: [
2503
- /* @__PURE__ */ jsx(SegmentedControlTrigger, { value: "brand", children: "Brand Colors" }),
2504
- /* @__PURE__ */ jsx(SegmentedControlTrigger, { value: "aboriginal", children: "Aboriginal Colors" })
2505
- ] })
2506
- }
2507
- )
2508
- ] }),
2509
- /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [
2510
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
2511
- /* @__PURE__ */ jsx("h3", { className: "font-medium", children: "Primary Color" }),
2512
- /* @__PURE__ */ jsx(
2513
- RadioGroup2,
2514
- {
2515
- value: primaryColor,
2516
- onValueChange: (value) => setPrimaryColor(value),
2517
- className: "grid grid-cols-2 gap-2",
2518
- children: Object.entries(colorThemes2[themeCategory]).map(([key, theme2]) => /* @__PURE__ */ jsxs("div", { className: cn(labelStyles.base, ""), children: [
2519
- /* @__PURE__ */ jsx(RadioGroupItem, { value: key, id: `primary-${key}`, className: "peer sr-only" }),
2520
- /* @__PURE__ */ jsxs(Label3, { htmlFor: `primary-${key}`, className: cn(labelStyles.label, ""), children: [
2521
- /* @__PURE__ */ jsx(
2522
- "div",
2523
- {
2524
- className: "h-5 w-5 flex-none rounded-full",
2525
- style: { backgroundColor: theme2.colors[3].hex }
2526
- }
2527
- ),
2528
- /* @__PURE__ */ jsx("span", { className: "shrink", children: theme2.colors[3].name?.replace(/\b(NSW|0[1-4])\b/g, "").replace(/\s+/g, " ").trim() }),
2529
- /* @__PURE__ */ jsx("span", { className: "absolute inset-0", "aria-hidden": true })
2530
- ] })
2531
- ] }, key))
2532
- }
2533
- )
2534
- ] }),
2535
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
2536
- /* @__PURE__ */ jsx("h3", { className: "font-medium", children: "Accent Color" }),
2537
- /* @__PURE__ */ jsx(
2538
- RadioGroup2,
2539
- {
2540
- value: accentColor,
2541
- onValueChange: (value) => setAccentColor(value),
2542
- className: "grid grid-cols-2 gap-2",
2543
- children: availableAccentColors.map((key) => /* @__PURE__ */ jsxs("div", { className: cn(labelStyles.base, ""), children: [
2544
- /* @__PURE__ */ jsx(RadioGroupItem, { value: key, id: `accent-${key}`, className: "peer sr-only" }),
2545
- /* @__PURE__ */ jsxs(Label3, { htmlFor: `accent-${key}`, className: cn(labelStyles.label, ""), children: [
2546
- /* @__PURE__ */ jsx(
2547
- "div",
2548
- {
2549
- className: "size-5 flex-none rounded-full",
2550
- style: { backgroundColor: colorThemes2[themeCategory][key].colors[2].hex }
2551
- }
2552
- ),
2553
- /* @__PURE__ */ jsx("span", { className: "shrink", children: colorThemes2[themeCategory][key].colors[2].name?.replace(/\b(NSW|0[1-4])\b/g, "").replace(/\s+/g, " ").trim() }),
2554
- /* @__PURE__ */ jsx("span", { className: "absolute inset-0", "aria-hidden": true })
2555
- ] })
2556
- ] }, key))
2557
- }
2558
- )
2559
- ] })
2560
- ] })
2561
- ] });
2562
- }
2563
-
2564
- // src/lib/color-palette.ts
2565
- var brand = {
2566
- grey: [
2567
- oklchConverter("#22272b"),
2568
- oklchConverter("#495054"),
2569
- oklchConverter("#cdd3d6"),
2570
- oklchConverter("#ebebeb")
2571
- ],
2572
- green: [
2573
- oklchConverter("#004000"),
2574
- oklchConverter("#00aa45"),
2575
- oklchConverter("#a8edb3"),
2576
- oklchConverter("#dbfadf")
2577
- ],
2578
- teal: [
2579
- oklchConverter("#0b3f47"),
2580
- oklchConverter("#2e808e"),
2581
- oklchConverter("#8cdbe5"),
2582
- oklchConverter("#d1eeea")
2583
- ],
2584
- blue: [
2585
- oklchConverter("#002664"),
2586
- oklchConverter("#146cfd"),
2587
- oklchConverter("#8ce0ff"),
2588
- oklchConverter("#cbedfd")
2589
- ],
2590
- purple: [
2591
- oklchConverter("#441170"),
2592
- oklchConverter("#8055f1"),
2593
- oklchConverter("#cebfff"),
2594
- oklchConverter("#e6e1fd")
2595
- ],
2596
- fuchsia: [
2597
- oklchConverter("#65004d"),
2598
- oklchConverter("#d912ae"),
2599
- oklchConverter("#f4b5e6"),
2600
- oklchConverter("#fddef2")
2601
- ],
2602
- red: [
2603
- oklchConverter("#630019"),
2604
- oklchConverter("#d7153a"),
2605
- oklchConverter("#ffb8c1"),
2606
- oklchConverter("#ffe6ea")
2607
- ],
2608
- orange: [
2609
- oklchConverter("#941b00"),
2610
- oklchConverter("#f3631b"),
2611
- oklchConverter("#ffce99"),
2612
- oklchConverter("#fdeddf")
2613
- ],
2614
- yellow: [
2615
- oklchConverter("#694800"),
2616
- oklchConverter("#faaf05"),
2617
- oklchConverter("#fde79a"),
2618
- oklchConverter("#fff4cf")
2619
- ],
2620
- brown: [
2621
- oklchConverter("#523719"),
2622
- oklchConverter("#b68d5d"),
2623
- oklchConverter("#e8d0b5"),
2624
- oklchConverter("#ede3d7")
2625
- ]
1996
+
1997
+ // src/lib/color-palette.ts
1998
+ var brand = {
1999
+ grey: [
2000
+ oklchConverter("#22272b"),
2001
+ oklchConverter("#495054"),
2002
+ oklchConverter("#cdd3d6"),
2003
+ oklchConverter("#ebebeb")
2004
+ ],
2005
+ green: [
2006
+ oklchConverter("#004000"),
2007
+ oklchConverter("#00aa45"),
2008
+ oklchConverter("#a8edb3"),
2009
+ oklchConverter("#dbfadf")
2010
+ ],
2011
+ teal: [
2012
+ oklchConverter("#0b3f47"),
2013
+ oklchConverter("#2e808e"),
2014
+ oklchConverter("#8cdbe5"),
2015
+ oklchConverter("#d1eeea")
2016
+ ],
2017
+ blue: [
2018
+ oklchConverter("#002664"),
2019
+ oklchConverter("#146cfd"),
2020
+ oklchConverter("#8ce0ff"),
2021
+ oklchConverter("#cbedfd")
2022
+ ],
2023
+ purple: [
2024
+ oklchConverter("#441170"),
2025
+ oklchConverter("#8055f1"),
2026
+ oklchConverter("#cebfff"),
2027
+ oklchConverter("#e6e1fd")
2028
+ ],
2029
+ fuchsia: [
2030
+ oklchConverter("#65004d"),
2031
+ oklchConverter("#d912ae"),
2032
+ oklchConverter("#f4b5e6"),
2033
+ oklchConverter("#fddef2")
2034
+ ],
2035
+ red: [
2036
+ oklchConverter("#630019"),
2037
+ oklchConverter("#d7153a"),
2038
+ oklchConverter("#ffb8c1"),
2039
+ oklchConverter("#ffe6ea")
2040
+ ],
2041
+ orange: [
2042
+ oklchConverter("#941b00"),
2043
+ oklchConverter("#f3631b"),
2044
+ oklchConverter("#ffce99"),
2045
+ oklchConverter("#fdeddf")
2046
+ ],
2047
+ yellow: [
2048
+ oklchConverter("#694800"),
2049
+ oklchConverter("#faaf05"),
2050
+ oklchConverter("#fde79a"),
2051
+ oklchConverter("#fff4cf")
2052
+ ],
2053
+ brown: [
2054
+ oklchConverter("#523719"),
2055
+ oklchConverter("#b68d5d"),
2056
+ oklchConverter("#e8d0b5"),
2057
+ oklchConverter("#ede3d7")
2058
+ ]
2626
2059
  };
2627
2060
  var aboriginal = {
2628
2061
  grey: [
2629
- oklchConverter("#2D2D2D"),
2062
+ oklchConverter("#272727"),
2630
2063
  oklchConverter("#555555"),
2631
2064
  oklchConverter("#CCC6C2"),
2632
2065
  oklchConverter("#E5E3E0")
@@ -4427,7 +3860,7 @@ var colors = {
4427
3860
  hex: "#f4aa7d",
4428
3861
  rgb: "rgb(244, 170, 125)",
4429
3862
  hsl: "hsl(22.69, 84.4%, 72.35%)",
4430
- name: "Orange Clay"
3863
+ name: "Clay Orange"
4431
3864
  },
4432
3865
  {
4433
3866
  token: "nsw-aboriginal-orange-450",
@@ -4456,7 +3889,7 @@ var colors = {
4456
3889
  hex: "#ee6314",
4457
3890
  rgb: "rgb(238, 99, 20)",
4458
3891
  hsl: "hsl(21.74, 86.51%, 50.59%)",
4459
- name: "Ochre Orange"
3892
+ name: "Orange Ochre"
4460
3893
  },
4461
3894
  {
4462
3895
  token: "nsw-aboriginal-orange-650",
@@ -5137,7 +4570,7 @@ var colors = {
5137
4570
  hex: "#c99ac2",
5138
4571
  rgb: "rgb(201, 154, 194)",
5139
4572
  hsl: "hsl(308.94, 30.32%, 69.61%)",
5140
- name: "Lilli Pilli Purple"
4573
+ name: "Lilli pilli Purple"
5141
4574
  },
5142
4575
  {
5143
4576
  token: "nsw-aboriginal-purple-450",
@@ -5312,53 +4745,53 @@ var colors = {
5312
4745
  },
5313
4746
  {
5314
4747
  token: "nsw-aboriginal-grey-650",
5315
- oklch: "oklch(0.4114406365077532 0 none)",
5316
- hex: "#4b4b4b",
5317
- rgb: "rgb(75, 75, 75)",
5318
- hsl: "hsl(223.81, 0%, 29.26%)"
4748
+ oklch: "oklch(0.40533514521305436 0 none)",
4749
+ hex: "#494949",
4750
+ rgb: "rgb(73, 73, 73)",
4751
+ hsl: "hsl(223.81, 0%, 28.62%)"
5319
4752
  },
5320
4753
  {
5321
4754
  token: "nsw-aboriginal-grey-700",
5322
- oklch: "oklch(0.3733480790552275 0 none)",
5323
- hex: "#404040",
5324
- rgb: "rgb(64, 64, 64)",
5325
- hsl: "hsl(223.81, 0%, 25.29%)"
4755
+ oklch: "oklch(0.3611370964658298 0 none)",
4756
+ hex: "#3d3d3d",
4757
+ rgb: "rgb(61, 61, 61)",
4758
+ hsl: "hsl(223.81, 0%, 24.04%)"
5326
4759
  },
5327
4760
  {
5328
4761
  token: "nsw-aboriginal-grey-750",
5329
- oklch: "oklch(0.3352555216027018 0 none)",
5330
- hex: "#373737",
5331
- rgb: "rgb(55, 55, 55)",
5332
- hsl: "hsl(223.81, 0%, 21.41%)"
4762
+ oklch: "oklch(0.3169390477186052 0 none)",
4763
+ hex: "#323232",
4764
+ rgb: "rgb(50, 50, 50)",
4765
+ hsl: "hsl(223.81, 0%, 19.59%)"
5333
4766
  },
5334
4767
  {
5335
4768
  token: "nsw-aboriginal-grey-800",
5336
- oklch: "oklch(0.29716296415017607 0 none)",
5337
- hex: "#2d2d2d",
5338
- rgb: "rgb(45, 45, 45)",
5339
- hsl: "hsl(223.81, 0%, 17.65%)",
4769
+ oklch: "oklch(0.27274099897138065 0 none)",
4770
+ hex: "#272727",
4771
+ rgb: "rgb(39, 39, 39)",
4772
+ hsl: "hsl(223.81, 0%, 15.29%)",
5340
4773
  name: "Charcoal Grey"
5341
4774
  },
5342
4775
  {
5343
4776
  token: "nsw-aboriginal-grey-850",
5344
- oklch: "oklch(0.24515944542389526 0 none)",
5345
- hex: "#202020",
5346
- rgb: "rgb(32, 32, 32)",
5347
- hsl: "hsl(223.81, 0%, 12.7%)"
4777
+ oklch: "oklch(0.22501132415138902 0 none)",
4778
+ hex: "#1c1c1c",
4779
+ rgb: "rgb(28, 28, 28)",
4780
+ hsl: "hsl(223.81, 0%, 10.85%)"
5348
4781
  },
5349
4782
  {
5350
4783
  token: "nsw-aboriginal-grey-900",
5351
- oklch: "oklch(0.19315592669761444 0 none)",
5352
- hex: "#141414",
5353
- rgb: "rgb(20, 20, 20)",
5354
- hsl: "hsl(223.81, 0%, 8.01%)"
4784
+ oklch: "oklch(0.17728164933139742 0 none)",
4785
+ hex: "#111111",
4786
+ rgb: "rgb(17, 17, 17)",
4787
+ hsl: "hsl(223.81, 0%, 6.64%)"
5355
4788
  },
5356
4789
  {
5357
4790
  token: "nsw-aboriginal-grey-950",
5358
- oklch: "oklch(0.14115240797133363 0 none)",
5359
- hex: "#090909",
5360
- rgb: "rgb(9, 9, 9)",
5361
- hsl: "hsl(223.81, 0%, 3.63%)"
4791
+ oklch: "oklch(0.12955197451140582 0 none)",
4792
+ hex: "#070707",
4793
+ rgb: "rgb(7, 7, 7)",
4794
+ hsl: "hsl(223.81, 0%, 2.81%)"
5362
4795
  }
5363
4796
  ]
5364
4797
  }
@@ -5917,26 +5350,826 @@ var colors = {
5917
5350
  hsl: "hsl(222.21, 84%, 8.9%)"
5918
5351
  },
5919
5352
  {
5920
- token: "info-900",
5921
- oklch: "oklch(0.13904995929121322 0.047662878696429115 262.409403192285)",
5922
- hex: "#02071c",
5923
- rgb: "rgb(2, 7, 28)",
5924
- hsl: "hsl(226.63, 89.54%, 5.83%)"
5925
- },
5353
+ token: "info-900",
5354
+ oklch: "oklch(0.13904995929121322 0.047662878696429115 262.409403192285)",
5355
+ hex: "#02071c",
5356
+ rgb: "rgb(2, 7, 28)",
5357
+ hsl: "hsl(226.63, 89.54%, 5.83%)"
5358
+ },
5359
+ {
5360
+ token: "info-950",
5361
+ oklch: "oklch(0.10161343178973273 0.03744940469005145 262.409403192285)",
5362
+ hex: "#00030f",
5363
+ rgb: "rgb(0, 3, 15)",
5364
+ hsl: "hsl(230.65, 94.13%, 3.12%)"
5365
+ }
5366
+ ]
5367
+ }
5368
+ }
5369
+ };
5370
+ var colorThemes = generateColorThemes(colors);
5371
+ var Social = {
5372
+ Facebook: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
5373
+ "path",
5374
+ {
5375
+ fillRule: "evenodd",
5376
+ 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",
5377
+ clipRule: "evenodd"
5378
+ }
5379
+ ) }),
5380
+ Figma: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
5381
+ "path",
5382
+ {
5383
+ fillRule: "evenodd",
5384
+ 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",
5385
+ clipRule: "evenodd"
5386
+ }
5387
+ ) }),
5388
+ Github: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
5389
+ "path",
5390
+ {
5391
+ fillRule: "evenodd",
5392
+ 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",
5393
+ clipRule: "evenodd"
5394
+ }
5395
+ ) }),
5396
+ Instagram: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
5397
+ "path",
5398
+ {
5399
+ fillRule: "evenodd",
5400
+ 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",
5401
+ clipRule: "evenodd"
5402
+ }
5403
+ ) }),
5404
+ LinkedIn: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx("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" }) }),
5405
+ X: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx("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" }) }),
5406
+ YouTube: (props) => /* @__PURE__ */ jsx("svg", { fill: "currentColor", viewBox: "0 0 24 24", "data-slot": "icon", ...props, children: /* @__PURE__ */ jsx(
5407
+ "path",
5408
+ {
5409
+ fillRule: "evenodd",
5410
+ 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",
5411
+ clipRule: "evenodd"
5412
+ }
5413
+ ) })
5414
+ };
5415
+ function TooltipProvider({
5416
+ delayDuration,
5417
+ ...props
5418
+ }) {
5419
+ return /* @__PURE__ */ jsx(
5420
+ TooltipPrimitive.Provider,
5421
+ {
5422
+ "data-slot": "tooltip-provider",
5423
+ delayDuration,
5424
+ ...props
5425
+ }
5426
+ );
5427
+ }
5428
+ function Tooltip({ ...props }) {
5429
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
5430
+ }
5431
+ function TooltipTrigger({ ...props }) {
5432
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
5433
+ }
5434
+ function TooltipContent({
5435
+ className,
5436
+ sideOffset = 0,
5437
+ children,
5438
+ ...props
5439
+ }) {
5440
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
5441
+ TooltipPrimitive.Content,
5442
+ {
5443
+ "data-slot": "tooltip-content",
5444
+ sideOffset,
5445
+ className: cn(
5446
+ "bg-grey-800 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance text-white",
5447
+ className
5448
+ ),
5449
+ ...props,
5450
+ children: [
5451
+ children,
5452
+ /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-grey-800 fill-grey-800 z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
5453
+ ]
5454
+ }
5455
+ ) });
5456
+ }
5457
+ function ScrollArea({
5458
+ className,
5459
+ children,
5460
+ ...props
5461
+ }) {
5462
+ return /* @__PURE__ */ jsxs(
5463
+ ScrollAreaPrimitive.Root,
5464
+ {
5465
+ "data-slot": "scroll-area",
5466
+ className: cn("relative", className),
5467
+ ...props,
5468
+ children: [
5469
+ /* @__PURE__ */ jsx(
5470
+ ScrollAreaPrimitive.Viewport,
5471
+ {
5472
+ "data-slot": "scroll-area-viewport",
5473
+ className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
5474
+ children
5475
+ }
5476
+ ),
5477
+ /* @__PURE__ */ jsx(ScrollBar, {}),
5478
+ /* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
5479
+ ]
5480
+ }
5481
+ );
5482
+ }
5483
+ function ScrollBar({
5484
+ className,
5485
+ orientation = "vertical",
5486
+ ...props
5487
+ }) {
5488
+ return /* @__PURE__ */ jsx(
5489
+ ScrollAreaPrimitive.ScrollAreaScrollbar,
5490
+ {
5491
+ "data-slot": "scroll-area-scrollbar",
5492
+ orientation,
5493
+ className: cn(
5494
+ "flex touch-none p-px transition-colors select-none",
5495
+ orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
5496
+ orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
5497
+ className
5498
+ ),
5499
+ ...props,
5500
+ children: /* @__PURE__ */ jsx(
5501
+ ScrollAreaPrimitive.ScrollAreaThumb,
5502
+ {
5503
+ "data-slot": "scroll-area-thumb",
5504
+ className: "bg-border relative flex-1 rounded-full"
5505
+ }
5506
+ )
5507
+ }
5508
+ );
5509
+ }
5510
+ function PreWithCopy(props) {
5511
+ const textInput = useRef(null);
5512
+ const [isJustCopied, setJustCopied] = useState(false);
5513
+ function handleCopy() {
5514
+ if (textInput.current) {
5515
+ navigator.clipboard.writeText(textInput.current.textContent || "");
5516
+ setJustCopied(true);
5517
+ setTimeout(() => setJustCopied(false), 2e3);
5518
+ }
5519
+ }
5520
+ return /* @__PURE__ */ jsxs("div", { className: "group relative", children: [
5521
+ /* @__PURE__ */ jsx(
5522
+ "pre",
5523
+ {
5524
+ ref: textInput,
5525
+ ...props,
5526
+ className: twMerge("max-h-[40rem] overflow-auto", props.className)
5527
+ }
5528
+ ),
5529
+ /* @__PURE__ */ jsxs(
5530
+ "button",
5531
+ {
5532
+ className: "absolute top-2 right-2 m-0.5 inline-flex h-8 items-center justify-center rounded-lg border border-gray-200 bg-white px-2.5 py-2 text-gray-900 opacity-0 transition-opacity group-hover:opacity-100 hover:bg-gray-100 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700",
5533
+ "aria-label": "Copy code to clipboard",
5534
+ onClick: handleCopy,
5535
+ children: [
5536
+ /* @__PURE__ */ jsx("span", { className: twMerge(isJustCopied && "hidden"), children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center", children: [
5537
+ /* @__PURE__ */ jsx(Icons.copy, { className: "me-1.5 size-3" }),
5538
+ /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold", children: "Copy code" })
5539
+ ] }) }),
5540
+ /* @__PURE__ */ jsx("span", { className: twMerge(isJustCopied ? "block" : "hidden"), children: /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center", children: [
5541
+ /* @__PURE__ */ jsx(Icons.check, { className: "text-primary-700 dark:text-primary-500 me-1.5 size-3" }),
5542
+ /* @__PURE__ */ jsx("span", { className: "text-primary-700 dark:text-primary-500 text-xs font-semibold", children: "Copied" })
5543
+ ] }) })
5544
+ ]
5545
+ }
5546
+ )
5547
+ ] });
5548
+ }
5549
+ Prism.manual = true;
5550
+ function CodeHighlight({
5551
+ code,
5552
+ language,
5553
+ className,
5554
+ withCopy = false,
5555
+ ...props
5556
+ }) {
5557
+ const highlightedCode = Prism.highlight(code.trim(), Prism.languages[language], language);
5558
+ const Component2 = withCopy ? PreWithCopy : "pre";
5559
+ return /* @__PURE__ */ jsx(Component2, { className: twMerge(`language-${language}`, className), ...props, children: /* @__PURE__ */ jsx(
5560
+ "code",
5561
+ {
5562
+ className: `language-${language}`,
5563
+ dangerouslySetInnerHTML: { __html: highlightedCode }
5564
+ }
5565
+ ) });
5566
+ }
5567
+ function Select({ ...props }) {
5568
+ return /* @__PURE__ */ jsx(SelectPrimitive.Root, { "data-slot": "select", ...props });
5569
+ }
5570
+ function SelectGroup({ ...props }) {
5571
+ return /* @__PURE__ */ jsx(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
5572
+ }
5573
+ function SelectValue({ ...props }) {
5574
+ return /* @__PURE__ */ jsx(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
5575
+ }
5576
+ function SelectTrigger({
5577
+ className,
5578
+ size = "default",
5579
+ children,
5580
+ ...props
5581
+ }) {
5582
+ return /* @__PURE__ */ jsxs(
5583
+ SelectPrimitive.Trigger,
5584
+ {
5585
+ "data-slot": "select-trigger",
5586
+ "data-size": size,
5587
+ className: cn(
5588
+ // Base styles
5589
+ "border-grey-600 [&_svg:not([class*='text-'])]:text-grey-600 flex w-full items-center justify-between gap-2 rounded-sm border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
5590
+ // Disabled styles
5591
+ "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
5592
+ // aria-invalid styles
5593
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
5594
+ // Focus styles
5595
+ "focus:outline-primary-650/70 focus:outline focus:outline-2 focus:outline-offset-2",
5596
+ // Placeholder styles
5597
+ "data-[placeholder]:text-grey-600",
5598
+ // Dark mode styles
5599
+ "dark:bg-input/30 dark:hover:bg-input/50",
5600
+ // Size styles
5601
+ "data-[size=default]:h-12 data-[size=sm]:h-9",
5602
+ className
5603
+ ),
5604
+ ...props,
5605
+ children: [
5606
+ children,
5607
+ /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(Icons.chevron_down, { className: "size-6 opacity-80" }) })
5608
+ ]
5609
+ }
5610
+ );
5611
+ }
5612
+ function SelectContent({
5613
+ className,
5614
+ children,
5615
+ position = "popper",
5616
+ ...props
5617
+ }) {
5618
+ return /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
5619
+ SelectPrimitive.Content,
5620
+ {
5621
+ "data-slot": "select-content",
5622
+ className: cn(
5623
+ // Base styles
5624
+ "text-grey-800 border-grey-200 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-sm border bg-white shadow-md",
5625
+ // State styles
5626
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
5627
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
5628
+ className
5629
+ ),
5630
+ position,
5631
+ ...props,
5632
+ children: [
5633
+ /* @__PURE__ */ jsx(SelectScrollUpButton, {}),
5634
+ /* @__PURE__ */ jsx(
5635
+ SelectPrimitive.Viewport,
5636
+ {
5637
+ className: cn(
5638
+ "p-1",
5639
+ position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
5640
+ ),
5641
+ children
5642
+ }
5643
+ ),
5644
+ /* @__PURE__ */ jsx(SelectScrollDownButton, {})
5645
+ ]
5646
+ }
5647
+ ) });
5648
+ }
5649
+ function SelectLabel({ className, ...props }) {
5650
+ return /* @__PURE__ */ jsx(
5651
+ SelectPrimitive.Label,
5652
+ {
5653
+ "data-slot": "select-label",
5654
+ className: cn("text-grey-600 px-2 py-1.5 text-xs", className),
5655
+ ...props
5656
+ }
5657
+ );
5658
+ }
5659
+ function SelectItem({
5660
+ className,
5661
+ children,
5662
+ ...props
5663
+ }) {
5664
+ return /* @__PURE__ */ jsxs(
5665
+ SelectPrimitive.Item,
5666
+ {
5667
+ "data-slot": "select-item",
5668
+ className: cn(
5669
+ "focus:bg-primary-800/10 focus:text-primary-800 [&_svg:not([class*='text-'])]:text-grey-600 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:font-bold data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
5670
+ className
5671
+ ),
5672
+ ...props,
5673
+ children: [
5674
+ /* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Icons.check, { className: "size-6" }) }) }),
5675
+ /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
5676
+ ]
5677
+ }
5678
+ );
5679
+ }
5680
+ function SelectSeparator({
5681
+ className,
5682
+ ...props
5683
+ }) {
5684
+ return /* @__PURE__ */ jsx(
5685
+ SelectPrimitive.Separator,
5686
+ {
5687
+ "data-slot": "select-separator",
5688
+ className: cn("bg-primary-800/20 pointer-events-none -mx-1 my-1 h-px", className),
5689
+ ...props
5690
+ }
5691
+ );
5692
+ }
5693
+ function SelectScrollUpButton({
5694
+ className,
5695
+ ...props
5696
+ }) {
5697
+ return /* @__PURE__ */ jsx(
5698
+ SelectPrimitive.ScrollUpButton,
5699
+ {
5700
+ "data-slot": "select-scroll-up-button",
5701
+ className: cn("flex cursor-default items-center justify-center py-1", className),
5702
+ ...props,
5703
+ children: /* @__PURE__ */ jsx(Icons.chevron_up, { className: "size-6" })
5704
+ }
5705
+ );
5706
+ }
5707
+ function SelectScrollDownButton({
5708
+ className,
5709
+ ...props
5710
+ }) {
5711
+ return /* @__PURE__ */ jsx(
5712
+ SelectPrimitive.ScrollDownButton,
5713
+ {
5714
+ "data-slot": "select-scroll-down-button",
5715
+ className: cn("flex cursor-default items-center justify-center py-1", className),
5716
+ ...props,
5717
+ children: /* @__PURE__ */ jsx(Icons.chevron_down, { className: "size-6" })
5718
+ }
5719
+ );
5720
+ }
5721
+ function Popover({ ...props }) {
5722
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
5723
+ }
5724
+ function PopoverTrigger({ ...props }) {
5725
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
5726
+ }
5727
+ function PopoverContent({
5728
+ className,
5729
+ align = "center",
5730
+ sideOffset = 4,
5731
+ ...props
5732
+ }) {
5733
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
5734
+ PopoverPrimitive.Content,
5735
+ {
5736
+ "data-slot": "popover-content",
5737
+ align,
5738
+ sideOffset,
5739
+ className: cn(
5740
+ [
5741
+ // Base
5742
+ "bg-background text-foreground z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
5743
+ // Open
5744
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
5745
+ // Closed
5746
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
5747
+ // Side
5748
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
5749
+ ],
5750
+ className
5751
+ ),
5752
+ ...props
5753
+ }
5754
+ ) });
5755
+ }
5756
+ function PopoverAnchor({ ...props }) {
5757
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
5758
+ }
5759
+ function Label3({ className, ...props }) {
5760
+ return /* @__PURE__ */ jsx(
5761
+ LabelPrimitive.Root,
5762
+ {
5763
+ "data-slot": "label",
5764
+ className: cn(
5765
+ // Base
5766
+ "flex items-center gap-2",
5767
+ "text-grey-900 text-base/6 font-semibold select-none",
5768
+ // Dark mode
5769
+ "dark:group-data-[disabled=true]:text-grey-400 dark:text-white",
5770
+ // Disabled state
5771
+ "group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
5772
+ className
5773
+ ),
5774
+ ...props
5775
+ }
5776
+ );
5777
+ }
5778
+ function RadioGroup2({
5779
+ className,
5780
+ ...props
5781
+ }) {
5782
+ return /* @__PURE__ */ jsx(
5783
+ RadioGroupPrimitive.Root,
5784
+ {
5785
+ "data-slot": "radio-group",
5786
+ className: cn("grid gap-3", className),
5787
+ ...props
5788
+ }
5789
+ );
5790
+ }
5791
+ function RadioGroupItem({
5792
+ className,
5793
+ ...props
5794
+ }) {
5795
+ return /* @__PURE__ */ jsx(
5796
+ RadioGroupPrimitive.Item,
5797
+ {
5798
+ "data-slot": "radio-group-item",
5799
+ className: cn(
5800
+ // Base styles
5801
+ "border-primary-800 text-primary-800 aspect-square size-8 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none",
5802
+ // Dark mode styles
5803
+ "dark:bg-input/30",
5804
+ // Focus styles
5805
+ "focus:border-grey-600 focus:ring-primary-650/70 ring-offset-white focus:ring-2 focus:ring-offset-2 focus:outline-none",
5806
+ // aria-invalid styles
5807
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
5808
+ // Disabled styles
5809
+ "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
5810
+ className
5811
+ ),
5812
+ ...props,
5813
+ children: /* @__PURE__ */ jsx(
5814
+ RadioGroupPrimitive.Indicator,
5926
5815
  {
5927
- token: "info-950",
5928
- oklch: "oklch(0.10161343178973273 0.03744940469005145 262.409403192285)",
5929
- hex: "#00030f",
5930
- rgb: "rgb(0, 3, 15)",
5931
- hsl: "hsl(230.65, 94.13%, 3.12%)"
5816
+ "data-slot": "radio-group-indicator",
5817
+ className: cn(
5818
+ // Base styles
5819
+ "relative flex items-center justify-center"
5820
+ ),
5821
+ children: /* @__PURE__ */ jsx(CircleIcon, { className: "fill-primary-800 absolute top-1/2 left-1/2 size-6 -translate-x-1/2 -translate-y-1/2" })
5932
5822
  }
5933
- ]
5823
+ )
5934
5824
  }
5935
- }
5936
- };
5937
- var colorThemes = generateColorThemes(colors);
5938
- function CodeDemo({ data, hide = {} }) {
5825
+ );
5826
+ }
5827
+ function SegmentedControl({
5828
+ className,
5829
+ ...props
5830
+ }) {
5831
+ return /* @__PURE__ */ jsx(
5832
+ TabsPrimitive2.Root,
5833
+ {
5834
+ "data-slot": "tabs",
5835
+ className: cn("flex flex-col gap-2", className),
5836
+ ...props
5837
+ }
5838
+ );
5839
+ }
5840
+ function SegmentedControlList({
5841
+ className,
5842
+ ...props
5843
+ }) {
5844
+ return /* @__PURE__ */ jsx(
5845
+ TabsPrimitive2.List,
5846
+ {
5847
+ "data-slot": "segmented-control-list",
5848
+ className: cn(
5849
+ "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
5850
+ className
5851
+ ),
5852
+ ...props
5853
+ }
5854
+ );
5855
+ }
5856
+ function SegmentedControlTrigger({
5857
+ className,
5858
+ ...props
5859
+ }) {
5860
+ return /* @__PURE__ */ jsx(
5861
+ TabsPrimitive2.Trigger,
5862
+ {
5863
+ "data-slot": "segmented-control-trigger",
5864
+ className: cn(
5865
+ "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",
5866
+ className
5867
+ ),
5868
+ ...props
5869
+ }
5870
+ );
5871
+ }
5872
+ var findGreyKey = (themes) => Object.keys(themes).find((k) => k.toLowerCase().includes("grey")) ?? "";
5873
+ function ThemeSelectorLoading() {
5874
+ return /* @__PURE__ */ jsxs("div", { className: "flex animate-pulse flex-col gap-6", children: [
5875
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
5876
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-5 w-32 rounded" }),
5877
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-full rounded" })
5878
+ ] }),
5879
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [
5880
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
5881
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-5 w-24 rounded" }),
5882
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-2", children: [1, 2, 3, 4].map((i) => /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-12 rounded" }, i)) })
5883
+ ] }),
5884
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
5885
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-5 w-24 rounded" }),
5886
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-2", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-12 rounded" }, i)) })
5887
+ ] })
5888
+ ] }),
5889
+ /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
5890
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-5 w-20 rounded" }),
5891
+ /* @__PURE__ */ jsxs("div", { className: "border-muted bg-muted/30 gap-3 rounded-md border p-3", children: [
5892
+ /* @__PURE__ */ jsxs("div", { className: "mb-2 flex min-w-0 items-center justify-between", children: [
5893
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-4 w-48 rounded" }),
5894
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-8 w-8 rounded" })
5895
+ ] }),
5896
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-8 w-full rounded" })
5897
+ ] })
5898
+ ] })
5899
+ ] });
5900
+ }
5901
+ function ThemeSelectorContent({
5902
+ themeCategory,
5903
+ setThemeCategory,
5904
+ primaryColor,
5905
+ setPrimaryColor,
5906
+ accentColor,
5907
+ setAccentColor,
5908
+ greyColor,
5909
+ setGreyColor,
5910
+ availableAccentColors,
5911
+ colorThemes: colorThemes2
5912
+ }) {
5913
+ const searchParams = useSearchParams();
5914
+ const [, copyToClipboardRaw] = useCopyToClipboard();
5915
+ const [copied, setCopied] = useState(false);
5916
+ const updateUrlParams = useCallback(
5917
+ (category, primary, accent) => {
5918
+ const params = new URLSearchParams();
5919
+ params.set("theme", category);
5920
+ params.set("primary", primary);
5921
+ params.set("accent", accent);
5922
+ window.history.replaceState(null, "", `?${params.toString()}`);
5923
+ },
5924
+ []
5925
+ );
5926
+ useEffect(() => {
5927
+ const themeParam = searchParams.get("theme");
5928
+ const primaryParam = searchParams.get("primary");
5929
+ const accentParam = searchParams.get("accent");
5930
+ let shouldUpdateUrl = false;
5931
+ let newCategory = themeCategory;
5932
+ let newPrimary = primaryColor;
5933
+ let newAccent = accentColor;
5934
+ if (themeParam && (themeParam === "brand" || themeParam === "aboriginal")) {
5935
+ if (themeParam !== themeCategory) {
5936
+ newCategory = themeParam;
5937
+ shouldUpdateUrl = true;
5938
+ const neutral = findGreyKey(colorThemes2[themeParam]);
5939
+ if (neutral && neutral !== greyColor) {
5940
+ setGreyColor(neutral);
5941
+ }
5942
+ }
5943
+ }
5944
+ const availableColors = Object.keys(colorThemes2[newCategory]);
5945
+ if (primaryParam && availableColors.includes(primaryParam)) {
5946
+ if (primaryParam !== primaryColor) {
5947
+ newPrimary = primaryParam;
5948
+ shouldUpdateUrl = true;
5949
+ }
5950
+ }
5951
+ if (accentParam && availableColors.includes(accentParam) && accentParam !== newPrimary) {
5952
+ if (accentParam !== accentColor) {
5953
+ newAccent = accentParam;
5954
+ shouldUpdateUrl = true;
5955
+ }
5956
+ } else {
5957
+ const newAccentColor = availableColors.find((color2) => color2 !== newPrimary);
5958
+ if (newAccentColor && newAccentColor !== accentColor) {
5959
+ newAccent = newAccentColor;
5960
+ shouldUpdateUrl = true;
5961
+ }
5962
+ }
5963
+ if (shouldUpdateUrl) {
5964
+ if (newCategory !== themeCategory) setThemeCategory(newCategory);
5965
+ if (newPrimary !== primaryColor) setPrimaryColor(newPrimary);
5966
+ if (newAccent !== accentColor) setAccentColor(newAccent);
5967
+ }
5968
+ }, [
5969
+ searchParams,
5970
+ themeCategory,
5971
+ primaryColor,
5972
+ accentColor,
5973
+ greyColor,
5974
+ colorThemes2,
5975
+ setThemeCategory,
5976
+ setPrimaryColor,
5977
+ setAccentColor,
5978
+ setGreyColor
5979
+ ]);
5980
+ const handleCategoryChange = (newCategory) => {
5981
+ setThemeCategory(newCategory);
5982
+ const availableColors = Object.keys(colorThemes2[newCategory]);
5983
+ const neutral = findGreyKey(colorThemes2[newCategory]);
5984
+ if (neutral && neutral !== greyColor) {
5985
+ setGreyColor(neutral);
5986
+ }
5987
+ let newPrimary = primaryColor;
5988
+ let newAccent = accentColor;
5989
+ if (availableColors.length > 0) {
5990
+ if (availableColors.includes(primaryColor)) {
5991
+ const newAccentColor = availableColors.find((color2) => color2 !== primaryColor);
5992
+ if (newAccentColor && newAccentColor !== accentColor) {
5993
+ newAccent = newAccentColor;
5994
+ setAccentColor(newAccentColor);
5995
+ }
5996
+ } else {
5997
+ newPrimary = availableColors[0];
5998
+ setPrimaryColor(availableColors[0]);
5999
+ if (availableColors.length > 1) {
6000
+ newAccent = availableColors[1];
6001
+ setAccentColor(availableColors[1]);
6002
+ }
6003
+ }
6004
+ }
6005
+ updateUrlParams(newCategory, newPrimary, newAccent);
6006
+ };
6007
+ const handlePrimaryColorChange = (value) => {
6008
+ setPrimaryColor(value);
6009
+ if (value === accentColor) {
6010
+ const availableColors = Object.keys(colorThemes2[themeCategory]);
6011
+ const newAccentColor = availableColors.find((color2) => color2 !== value);
6012
+ if (newAccentColor) {
6013
+ setAccentColor(newAccentColor);
6014
+ updateUrlParams(themeCategory, value, newAccentColor);
6015
+ return;
6016
+ }
6017
+ }
6018
+ updateUrlParams(themeCategory, value, accentColor);
6019
+ };
6020
+ const handleAccentColorChange = (value) => {
6021
+ setAccentColor(value);
6022
+ updateUrlParams(themeCategory, primaryColor, value);
6023
+ };
6024
+ const labelStyles = {
6025
+ base: [
6026
+ // Base
6027
+ "group relative flex w-full items-center gap-2 rounded-sm border px-3 py-2",
6028
+ // Light mode
6029
+ "border-grey-200 bg-background",
6030
+ // Hover
6031
+ "hover:bg-primary-800/10 hover:text-foreground",
6032
+ // Active
6033
+ "[&:has([data-state=checked])]:border-grey-800",
6034
+ // Dark mode
6035
+ "",
6036
+ // Dark hover
6037
+ "dark:hover:bg-white/10",
6038
+ // Dark active
6039
+ "dark:group-data-[state=checked]:border-grey-400"
6040
+ ],
6041
+ label: [
6042
+ // Base
6043
+ "cursor-pointer flex items-center justify-between",
6044
+ // Active
6045
+ ""
6046
+ ]
6047
+ };
6048
+ const themeUrl = window?.location?.href || "";
6049
+ const copyToClipboard = () => {
6050
+ copyToClipboardRaw(themeUrl);
6051
+ setCopied(true);
6052
+ toast("Color theme url copied to clipboard", {
6053
+ duration: 2e3
6054
+ });
6055
+ setTimeout(() => setCopied(false), 2e3);
6056
+ };
6057
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
6058
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
6059
+ /* @__PURE__ */ jsx("h3", { className: "font-medium", children: "Theme Category" }),
6060
+ /* @__PURE__ */ jsx(
6061
+ SegmentedControl,
6062
+ {
6063
+ value: themeCategory,
6064
+ onValueChange: (value) => handleCategoryChange(value),
6065
+ children: /* @__PURE__ */ jsxs(SegmentedControlList, { className: "w-full", children: [
6066
+ /* @__PURE__ */ jsx(SegmentedControlTrigger, { value: "brand", children: "Brand Colors" }),
6067
+ /* @__PURE__ */ jsx(SegmentedControlTrigger, { value: "aboriginal", children: "Aboriginal Colors" })
6068
+ ] })
6069
+ }
6070
+ )
6071
+ ] }),
6072
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-6", children: [
6073
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
6074
+ /* @__PURE__ */ jsx("h3", { className: "font-medium", children: "Primary Color" }),
6075
+ /* @__PURE__ */ jsx(
6076
+ RadioGroup2,
6077
+ {
6078
+ value: primaryColor,
6079
+ onValueChange: handlePrimaryColorChange,
6080
+ className: "grid grid-cols-2 gap-2",
6081
+ children: Object.entries(colorThemes2[themeCategory]).map(([key, theme2]) => /* @__PURE__ */ jsxs("div", { className: cn(labelStyles.base, ""), children: [
6082
+ /* @__PURE__ */ jsx(RadioGroupItem, { value: key, id: `primary-${key}`, className: "peer sr-only" }),
6083
+ /* @__PURE__ */ jsxs(Label3, { htmlFor: `primary-${key}`, className: cn(labelStyles.label, ""), children: [
6084
+ /* @__PURE__ */ jsx(
6085
+ "div",
6086
+ {
6087
+ className: "h-5 w-5 flex-none rounded-full",
6088
+ style: { backgroundColor: theme2.colors[3].hex }
6089
+ }
6090
+ ),
6091
+ /* @__PURE__ */ jsx("span", { className: "shrink", children: theme2.colors[3].name?.replace(/\b(NSW|0[1-4])\b/g, "").replace(/\s+/g, " ").trim() }),
6092
+ /* @__PURE__ */ jsx("span", { className: "absolute inset-0", "aria-hidden": true })
6093
+ ] })
6094
+ ] }, key))
6095
+ }
6096
+ )
6097
+ ] }),
6098
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
6099
+ /* @__PURE__ */ jsx("h3", { className: "font-medium", children: "Accent Color" }),
6100
+ /* @__PURE__ */ jsx(
6101
+ RadioGroup2,
6102
+ {
6103
+ value: accentColor,
6104
+ onValueChange: handleAccentColorChange,
6105
+ className: "grid grid-cols-2 gap-2",
6106
+ children: availableAccentColors.map((key) => /* @__PURE__ */ jsxs("div", { className: cn(labelStyles.base, ""), children: [
6107
+ /* @__PURE__ */ jsx(RadioGroupItem, { value: key, id: `accent-${key}`, className: "peer sr-only" }),
6108
+ /* @__PURE__ */ jsxs(Label3, { htmlFor: `accent-${key}`, className: cn(labelStyles.label, ""), children: [
6109
+ /* @__PURE__ */ jsx(
6110
+ "div",
6111
+ {
6112
+ className: "size-5 flex-none rounded-full",
6113
+ style: { backgroundColor: colorThemes2[themeCategory][key].colors[2].hex }
6114
+ }
6115
+ ),
6116
+ /* @__PURE__ */ jsx("span", { className: "shrink", children: colorThemes2[themeCategory][key].colors[2].name?.replace(/\b(NSW|0[1-4])\b/g, "").replace(/\s+/g, " ").trim() }),
6117
+ /* @__PURE__ */ jsx("span", { className: "absolute inset-0", "aria-hidden": true })
6118
+ ] })
6119
+ ] }, key))
6120
+ }
6121
+ )
6122
+ ] })
6123
+ ] }),
6124
+ /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
6125
+ /* @__PURE__ */ jsx("h3", { className: "font-medium", children: "Share Theme" }),
6126
+ /* @__PURE__ */ jsxs("div", { className: "border-muted bg-muted/30 gap-3 rounded-md border p-3", children: [
6127
+ /* @__PURE__ */ jsxs("div", { className: "mb-2 flex min-w-0 items-center justify-between", children: [
6128
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: "Copy this URL to share your theme selection:" }),
6129
+ /* @__PURE__ */ jsxs(
6130
+ Button2,
6131
+ {
6132
+ variant: "ghost",
6133
+ size: "icon",
6134
+ className: "flex-shrink-0 p-0",
6135
+ onClick: copyToClipboard,
6136
+ title: copied ? "Copied!" : "Copy URL",
6137
+ children: [
6138
+ copied ? /* @__PURE__ */ jsx(Icons.check, {}) : /* @__PURE__ */ jsx(Icons.copy, {}),
6139
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: copied ? "URL copied to clipboard" : "Copy URL to clipboard" })
6140
+ ]
6141
+ }
6142
+ )
6143
+ ] }),
6144
+ /* @__PURE__ */ jsx("code", { className: "bg-background text-foreground block w-full rounded border px-2 py-1.5 font-mono text-xs break-all", children: themeUrl })
6145
+ ] })
6146
+ ] })
6147
+ ] });
6148
+ }
6149
+ function ThemeSelector(props) {
6150
+ return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(ThemeSelectorLoading, {}), children: /* @__PURE__ */ jsx(ThemeSelectorContent, { ...props }) });
6151
+ }
6152
+ function CodeDemoLoading() {
6153
+ return /* @__PURE__ */ jsxs("div", { className: "mt-8 animate-pulse", children: [
6154
+ /* @__PURE__ */ jsx("div", { className: "border-grey-200 bg-grey-50 dark:border-grey-600 dark:bg-grey-700 w-full rounded-t-xl border p-4", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 sm:grid-cols-3", children: [
6155
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-32 rounded" }),
6156
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-32 rounded" }),
6157
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-3", children: [
6158
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-20 rounded" }),
6159
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-16 rounded" }),
6160
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-10 rounded" })
6161
+ ] })
6162
+ ] }) }),
6163
+ /* @__PURE__ */ jsx("div", { className: "border-grey-200 dark:border-grey-600 dark:bg-grey-900 flex border-x bg-white bg-gradient-to-r p-5", children: /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-64 w-full rounded" }) }),
6164
+ /* @__PURE__ */ jsxs("div", { className: "border-grey-200 dark:border-grey-600 border", children: [
6165
+ /* @__PURE__ */ jsx("div", { className: "border-grey-200 bg-grey-50 dark:border-grey-600 dark:bg-grey-700 flex w-full rounded-t-md border-b p-2", children: /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-8 w-24 rounded" }) }),
6166
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-100 h-48" })
6167
+ ] })
6168
+ ] });
6169
+ }
6170
+ function CodeDemoContent({ data, hide = {} }) {
5939
6171
  const { resolvedTheme } = useTheme();
6172
+ const searchParams = useSearchParams();
5940
6173
  const { rtl = false, darkMode = false, themeSelector = false } = hide;
5941
6174
  const [tabIndex, setTabIndex] = useState(0);
5942
6175
  const [variant, setVariant] = useState(getInitialVariant(data));
@@ -5949,6 +6182,44 @@ function CodeDemo({ data, hide = {} }) {
5949
6182
  const [primaryColor, setPrimaryColor] = useState("blue");
5950
6183
  const [accentColor, setAccentColor] = useState("red");
5951
6184
  const [greyColor, setGreyColor] = useState("grey");
6185
+ const [isThemeInitialized, setIsThemeInitialized] = useState(false);
6186
+ useEffect(() => {
6187
+ const themeParam = searchParams.get("theme");
6188
+ const primaryParam = searchParams.get("primary");
6189
+ const accentParam = searchParams.get("accent");
6190
+ let newCategory = themeCategory;
6191
+ let newPrimary = primaryColor;
6192
+ let newAccent = accentColor;
6193
+ if (themeParam && (themeParam === "brand" || themeParam === "aboriginal")) {
6194
+ newCategory = themeParam;
6195
+ setThemeCategory(themeParam);
6196
+ }
6197
+ const availableColors = Object.keys(colorThemes[newCategory]);
6198
+ if (primaryParam && availableColors.includes(primaryParam)) {
6199
+ newPrimary = primaryParam;
6200
+ setPrimaryColor(primaryParam);
6201
+ } else if (!availableColors.includes(newPrimary)) {
6202
+ newPrimary = availableColors[0];
6203
+ setPrimaryColor(newPrimary);
6204
+ }
6205
+ if (accentParam && availableColors.includes(accentParam) && accentParam !== newPrimary) {
6206
+ newAccent = accentParam;
6207
+ setAccentColor(accentParam);
6208
+ } else {
6209
+ const newAccentColor = availableColors.find((color2) => color2 !== newPrimary);
6210
+ if (newAccentColor) {
6211
+ newAccent = newAccentColor;
6212
+ setAccentColor(newAccent);
6213
+ }
6214
+ }
6215
+ const neutralKey = Object.keys(colorThemes[newCategory]).find(
6216
+ (k) => k.toLowerCase().includes("grey")
6217
+ );
6218
+ if (neutralKey) {
6219
+ setGreyColor(neutralKey);
6220
+ }
6221
+ setIsThemeInitialized(true);
6222
+ }, [searchParams, themeCategory, primaryColor, accentColor]);
5952
6223
  useEffect(() => {
5953
6224
  setDarkMode(resolvedTheme === "dark");
5954
6225
  }, [resolvedTheme]);
@@ -6040,6 +6311,7 @@ function CodeDemo({ data, hide = {} }) {
6040
6311
  return /* @__PURE__ */ jsxs("div", { className: "mt-8", children: [
6041
6312
  /* @__PURE__ */ jsx("div", { className: "border-grey-200 bg-grey-50 dark:border-grey-600 dark:bg-grey-700 w-full rounded-t-xl border p-4", children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 sm:grid-cols-3", children: [
6042
6313
  /* @__PURE__ */ jsx(EditOnGithubButton, { githubSlug: data.githubSlug }),
6314
+ data.figmaSlug && /* @__PURE__ */ jsx(OpenInFigmaButton, { figmaSlug: data.figmaSlug }),
6043
6315
  /* @__PURE__ */ jsx(ToggleViewButtons, { onSelect: setView }),
6044
6316
  /* @__PURE__ */ jsxs("div", { className: "col-span-1 flex justify-end gap-3", children: [
6045
6317
  !themeSelector && /* @__PURE__ */ jsx(
@@ -6052,7 +6324,8 @@ function CodeDemo({ data, hide = {} }) {
6052
6324
  accentColor,
6053
6325
  setAccentColor,
6054
6326
  greyColor,
6055
- setGreyColor
6327
+ setGreyColor,
6328
+ isInitialized: isThemeInitialized
6056
6329
  }
6057
6330
  ),
6058
6331
  !rtl && /* @__PURE__ */ jsx(ToggleRTLButton, { isRTL, onClick: () => setIsRTL((state) => !state) }),
@@ -6127,6 +6400,9 @@ function CodeDemo({ data, hide = {} }) {
6127
6400
  ) })
6128
6401
  ] });
6129
6402
  }
6403
+ function CodeDemo(props) {
6404
+ return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(CodeDemoLoading, {}), children: /* @__PURE__ */ jsx(CodeDemoContent, { ...props }) });
6405
+ }
6130
6406
  var IFrame = React16__default.forwardRef(
6131
6407
  ({ iframe, isRTL, isDarkMode }, ref) => {
6132
6408
  useEffect(() => {
@@ -6215,7 +6491,7 @@ function CodePreview({
6215
6491
  }
6216
6492
  function EditOnGithubButton({ githubSlug }) {
6217
6493
  const githubSrcHref = "https://github.com";
6218
- const href = `${githubSrcHref}${githubSlug}`;
6494
+ const href = githubSlug ? `${githubSrcHref}${githubSlug}` : githubSrcHref;
6219
6495
  return /* @__PURE__ */ jsxs(
6220
6496
  Button2,
6221
6497
  {
@@ -6232,6 +6508,25 @@ function EditOnGithubButton({ githubSlug }) {
6232
6508
  }
6233
6509
  );
6234
6510
  }
6511
+ function OpenInFigmaButton({ figmaSlug }) {
6512
+ const figmaSrcHref = "https://www.figma.com";
6513
+ const href = figmaSlug ? `${figmaSrcHref}${figmaSlug}` : figmaSrcHref;
6514
+ return /* @__PURE__ */ jsxs(
6515
+ Button2,
6516
+ {
6517
+ variant: "outline",
6518
+ color: "light",
6519
+ href,
6520
+ target: "_blank",
6521
+ rel: "nofollow noopener noreferrer",
6522
+ className: "flex h-10 w-fit items-center text-sm",
6523
+ children: [
6524
+ /* @__PURE__ */ jsx(Social.Figma, { "data-slot": "icon" }),
6525
+ "Open in Figma"
6526
+ ]
6527
+ }
6528
+ );
6529
+ }
6235
6530
  function ToggleViewButtons({ onSelect }) {
6236
6531
  const views = [
6237
6532
  { name: "desktop", title: "Toggle full screen", icon: Icons.desktop },
@@ -6248,7 +6543,8 @@ function ThemeSelectorDropDown({
6248
6543
  accentColor,
6249
6544
  setAccentColor,
6250
6545
  greyColor,
6251
- setGreyColor
6546
+ setGreyColor,
6547
+ isInitialized
6252
6548
  }) {
6253
6549
  const filteredColorThemes = useMemo(() => {
6254
6550
  const filtered = {};
@@ -6266,6 +6562,7 @@ function ThemeSelectorDropDown({
6266
6562
  return allColors.filter((color2) => color2 !== primaryColor);
6267
6563
  }, [filteredColorThemes, themeCategory, primaryColor]);
6268
6564
  useEffect(() => {
6565
+ if (!isInitialized) return;
6269
6566
  const neutralKey = Object.keys(colorThemes[themeCategory]).find((k) => k.toLowerCase().includes("grey")) ?? "";
6270
6567
  if (neutralKey && neutralKey !== greyColor) {
6271
6568
  setGreyColor(neutralKey);
@@ -6291,20 +6588,29 @@ function ThemeSelectorDropDown({
6291
6588
  greyColor,
6292
6589
  setPrimaryColor,
6293
6590
  setAccentColor,
6294
- setGreyColor
6591
+ setGreyColor,
6592
+ isInitialized
6295
6593
  ]);
6296
6594
  const primaryColorSwatch = colorThemes[themeCategory][primaryColor]?.colors[3]?.hex || "#000000";
6297
6595
  const accentColorSwatch = colorThemes[themeCategory][accentColor]?.colors[2]?.hex || "#000000";
6298
6596
  return /* @__PURE__ */ jsxs(Popover, { children: [
6299
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button2, { color: "light", variant: "outline", className: "flex h-10 items-center text-sm", children: [
6300
- /* @__PURE__ */ jsx(Icons.palette, {}),
6301
- /* @__PURE__ */ jsx("span", { children: "Theme" }),
6302
- /* @__PURE__ */ jsxs("div", { className: "ml-2 flex gap-1", children: [
6303
- /* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full", style: { backgroundColor: primaryColorSwatch } }),
6304
- /* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full", style: { backgroundColor: accentColorSwatch } })
6305
- ] })
6306
- ] }) }),
6307
- /* @__PURE__ */ jsx(PopoverContent, { className: "w-80", children: /* @__PURE__ */ jsx(
6597
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
6598
+ Button2,
6599
+ {
6600
+ color: "light",
6601
+ variant: "outline",
6602
+ className: "flex h-10 items-center bg-transparent text-sm",
6603
+ children: [
6604
+ /* @__PURE__ */ jsx(Icons.palette, {}),
6605
+ /* @__PURE__ */ jsx("span", { children: "Theme" }),
6606
+ /* @__PURE__ */ jsxs("div", { className: "ml-2 flex gap-1", children: [
6607
+ /* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full", style: { backgroundColor: primaryColorSwatch } }),
6608
+ /* @__PURE__ */ jsx("div", { className: "h-3 w-3 rounded-full", style: { backgroundColor: accentColorSwatch } })
6609
+ ] })
6610
+ ]
6611
+ }
6612
+ ) }),
6613
+ /* @__PURE__ */ jsx(PopoverContent, { className: "w-100", children: /* @__PURE__ */ jsx(ScrollArea, { className: "h-120 w-full", children: /* @__PURE__ */ jsx(
6308
6614
  ThemeSelector,
6309
6615
  {
6310
6616
  themeCategory,
@@ -6318,7 +6624,7 @@ function ThemeSelectorDropDown({
6318
6624
  availableAccentColors,
6319
6625
  colorThemes: filteredColorThemes
6320
6626
  }
6321
- ) })
6627
+ ) }) })
6322
6628
  ] });
6323
6629
  }
6324
6630
  function ToggleRTLButton({ isRTL, onClick }) {
@@ -6331,7 +6637,7 @@ function ToggleRTLButton({ isRTL, onClick }) {
6331
6637
  onClick,
6332
6638
  color: "light",
6333
6639
  variant: "outline",
6334
- className: "flex h-10 items-center text-sm",
6640
+ className: "flex h-10 items-center bg-transparent text-sm",
6335
6641
  children: [
6336
6642
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: title }),
6337
6643
  dir
@@ -7106,20 +7412,20 @@ function FooterSocialLink({
7106
7412
  Icon2,
7107
7413
  {
7108
7414
  "data-slot": "icon",
7109
- className: "group-hover:fill-nsw-grey-900 dark:group-hover:fill-nsw-grey-500 fill-nsw-grey-700 transition"
7415
+ className: "group-hover:fill-grey-900 dark:group-hover:fill-grey-500 fill-grey-700 transition"
7110
7416
  }
7111
7417
  )
7112
7418
  ] });
7113
7419
  }
7114
7420
  function FooterAcknowledgement() {
7115
- return /* @__PURE__ */ jsx("div", { className: "border-nsw-grey-200 flex flex-row items-center gap-5 border-t pt-8 pb-4 dark:border-white/5", children: /* @__PURE__ */ jsx("p", { className: "text-nsw-grey-600 dark:text-nsw-grey-400 text-center text-base text-pretty lg:text-left", children: "We acknowledge the Traditional Custodians of the land on which we work and live, and pay our respects to Elders past, present and emerging." }) });
7421
+ return /* @__PURE__ */ jsx("div", { className: "border-grey-200 flex flex-row items-center gap-5 border-t pt-8 pb-4 dark:border-white/5", children: /* @__PURE__ */ jsx("p", { className: "text-grey-600 dark:text-grey-400 text-center text-base text-pretty lg:text-left", children: "We acknowledge the Traditional Custodians of the land on which we work and live, and pay our respects to Elders past, present and emerging." }) });
7116
7422
  }
7117
7423
  function FooterSmallPrint({
7118
7424
  socialLinks,
7119
7425
  department
7120
7426
  }) {
7121
7427
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-between gap-5 pt-4 sm:flex-row dark:border-white/5", children: [
7122
- /* @__PURE__ */ jsxs("p", { className: "text-nsw-grey-600 dark:text-nsw-grey-400 text-center text-sm lg:text-left", children: [
7428
+ /* @__PURE__ */ jsxs("p", { className: "text-grey-600 dark:text-grey-400 text-center text-sm lg:text-left", children: [
7123
7429
  "\xA9 Copyright ",
7124
7430
  (/* @__PURE__ */ new Date()).getFullYear(),
7125
7431
  department && " ",
@@ -7142,7 +7448,7 @@ function FooterLegalLinks({ legalLinks }) {
7142
7448
  Link10,
7143
7449
  {
7144
7450
  href: item.href,
7145
- className: "text-nsw-grey-600 hover:text-nsw-grey-600 hover:bg-primary-800/10 -m-1 rounded p-1 underline underline-offset-4 hover:decoration-2",
7451
+ className: "text-grey-600 hover:text-grey-600 hover:bg-primary-800/10 -m-1 rounded p-1 underline underline-offset-4 hover:decoration-2",
7146
7452
  children: item.name
7147
7453
  },
7148
7454
  item.name
@@ -7157,7 +7463,7 @@ function Footer({
7157
7463
  }) {
7158
7464
  return /* @__PURE__ */ jsxs("footer", { className: "mx-auto w-full px-4 py-16 pb-16 lg:pr-0 lg:pl-8", children: [
7159
7465
  /* @__PURE__ */ jsx(FooterAcknowledgement, {}),
7160
- /* @__PURE__ */ jsx(Separator4, { className: "bg-nsw-grey-200 my-4" }),
7466
+ /* @__PURE__ */ jsx(Separator4, { className: "bg-grey-200 my-4" }),
7161
7467
  /* @__PURE__ */ jsx(FooterLegalLinks, { legalLinks }),
7162
7468
  /* @__PURE__ */ jsx(FooterSmallPrint, { department, socialLinks })
7163
7469
  ] });
@@ -7251,11 +7557,11 @@ function FormMessage({ className, ...props }) {
7251
7557
  var styles3 = {
7252
7558
  base: [
7253
7559
  // Base
7254
- "inline-flex items-center justify-center gap-2 rounded-sm text-sm font-medium bg-transparent transition-all whitespace-nowrap cursor-pointer border-(--toggle-border) [--toggle-border:var(--color-nsw-grey-200)] text-nsw-grey-800",
7560
+ "inline-flex items-center justify-center gap-2 rounded-sm text-sm font-medium bg-transparent transition-all whitespace-nowrap cursor-pointer border-(--toggle-border) [--toggle-border:var(--color-grey-200)] text-grey-800",
7255
7561
  // States
7256
- "data-[state=on]:bg-nsw-grey-100 data-[state=on]:text-nsw-grey-850",
7562
+ "data-[state=on]:bg-grey-100 data-[state=on]:text-grey-850",
7257
7563
  // Hover
7258
- "hover:bg-nsw-grey-100 hover:text-nsw-grey-850",
7564
+ "hover:bg-grey-100 hover:text-grey-850",
7259
7565
  // Focus
7260
7566
  "focus:outline focus:outline-2 focus:outline-offset-0 focus:outline-(--toggle-border)",
7261
7567
  // Dark mode
@@ -7275,9 +7581,9 @@ var styles3 = {
7275
7581
  ],
7276
7582
  outline: [
7277
7583
  // Base
7278
- "text-nsw-grey-800 border [--toggle-border:var(--color-nsw-grey-300)]",
7584
+ "text-grey-800 border [--toggle-border:var(--color-grey-300)]",
7279
7585
  // States
7280
- "hover:[--toggle-border:var(--color-nsw-grey-400)]",
7586
+ "hover:[--toggle-border:var(--color-grey-400)]",
7281
7587
  // Dark mode
7282
7588
  "dark:[--toggle-border:white]/40",
7283
7589
  // Dark mode states
@@ -7449,7 +7755,7 @@ function Heading({
7449
7755
 
7450
7756
  // package.json
7451
7757
  var package_default = {
7452
- version: "1.41.0"};
7758
+ version: "1.43.0"};
7453
7759
  function Logo(props) {
7454
7760
  return /* @__PURE__ */ jsxs(Fragment, { children: [
7455
7761
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "NSW Government" }),
@@ -7492,7 +7798,7 @@ function Logo(props) {
7492
7798
  function ThemeSwitcher() {
7493
7799
  const { resolvedTheme, setTheme } = useTheme();
7494
7800
  const [mounted, setMounted] = useState(false);
7495
- const classes = "fill-nsw-grey-600 dark:fill-nsw-grey-100";
7801
+ const classes = "fill-grey-600 dark:fill-grey-100";
7496
7802
  useEffect(() => {
7497
7803
  setMounted(true);
7498
7804
  }, []);
@@ -7540,7 +7846,7 @@ function SiteSearch({ navigation }) {
7540
7846
  className: "relative h-10 w-full items-center justify-start sm:pr-12 md:w-40 lg:w-64",
7541
7847
  onClick: () => setOpen(true),
7542
7848
  children: [
7543
- /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-600 hidden lg:inline-flex", children: "Search site..." }),
7849
+ /* @__PURE__ */ jsx("span", { className: "text-grey-600 hidden lg:inline-flex", children: "Search site..." }),
7544
7850
  /* @__PURE__ */ jsx("span", { className: "inline-flex lg:hidden", children: "Search..." }),
7545
7851
  /* @__PURE__ */ jsxs("kbd", { className: "bg-muted pointer-events-none absolute top-2 right-2 hidden h-5 items-center gap-1 rounded border px-2 font-mono text-xs font-medium opacity-100 select-none sm:flex", children: [
7546
7852
  /* @__PURE__ */ jsx("span", { className: "text-xs", children: "\u2318" }),
@@ -7618,13 +7924,7 @@ function Header2({
7618
7924
  className: "group",
7619
7925
  href: "https://github.com/digitalnsw",
7620
7926
  "aria-label": "GitHub",
7621
- children: /* @__PURE__ */ jsx(
7622
- Social.Github,
7623
- {
7624
- "data-slot": "icon",
7625
- className: "fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6"
7626
- }
7627
- )
7927
+ children: /* @__PURE__ */ jsx(Social.Github, { "data-slot": "icon", className: "fill-grey-600 dark:fill-grey-100 size-6" })
7628
7928
  }
7629
7929
  ),
7630
7930
  children
@@ -8183,53 +8483,39 @@ function Navigation({
8183
8483
  onLinkClick,
8184
8484
  navigation
8185
8485
  }) {
8186
- const pathname = usePathname();
8187
8486
  return /* @__PURE__ */ jsx("nav", { className: clsx21("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation.map((section, index) => /* @__PURE__ */ jsxs("li", { children: [
8188
- section.links ? /* @__PURE__ */ jsx("h2", { className: "font-display text-foreground font-medium dark:text-white", children: section.title }) : /* @__PURE__ */ jsx(
8189
- "ul",
8190
- {
8191
- role: "list",
8192
- className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8193
- children: /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsx(
8194
- Link10,
8195
- {
8196
- href: section.href || "/",
8197
- onClick: onLinkClick,
8198
- className: clsx21(
8199
- "inline-block w-full cursor-pointer rounded-r-md border-l py-1 pr-2 pl-4 text-left text-base/8 sm:text-sm/6",
8200
- "hover:border-grey-950 hover:text-grey-950 hover:bg-primary-800/10 hover:font-semibold",
8201
- "dark:text-grey-400 dark:hover:border-grey-400 dark:hover:text-white",
8202
- section.href === pathname && "border-primary-800 text-primary-800 bg-primary-800/10 border-l font-bold dark:border-white dark:bg-white/20"
8203
- ),
8204
- children: section.title
8205
- }
8206
- ) }, index)
8207
- }
8208
- ),
8209
- /* @__PURE__ */ jsx(
8210
- "ul",
8487
+ section.links ? /* @__PURE__ */ jsx("h2", { className: "font-display text-grey-800 font-medium dark:text-white", children: section.title }) : /* @__PURE__ */ jsx("ul", { role: "list", className: "mt-2 flex flex-col gap-2 border-l lg:mt-4", children: /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsx(
8488
+ NavigationLink,
8211
8489
  {
8212
- role: "list",
8213
- className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8214
- children: section.links && section.links.map((link, index2) => /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsx(
8215
- Link10,
8216
- {
8217
- href: link.href,
8218
- onClick: onLinkClick,
8219
- className: clsx21(
8220
- "text-foreground inline-block border-l border-transparent pl-5 text-base/8 sm:pl-4 sm:text-sm/6",
8221
- "hover:border-grey-950 hover:text-grey-950 hover:font-semibold",
8222
- "dark:text-grey-400",
8223
- "dark:hover:border-grey-400 dark:hover:text-white",
8224
- link.href === pathname && "border-primary-800 text-primary-800 bg-primary-800/10 border-l font-bold dark:border-white dark:bg-white/20"
8225
- ),
8226
- children: link.title
8227
- }
8228
- ) }, index2))
8490
+ href: section.href || "/",
8491
+ title: section.title,
8492
+ onClick: onLinkClick
8229
8493
  }
8230
- )
8494
+ ) }, index) }),
8495
+ /* @__PURE__ */ jsx("ul", { role: "list", className: "mt-2 flex flex-col gap-2 border-l lg:mt-4", children: section.links && section.links.map((link, index2) => /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsx(NavigationLink, { href: link.href, title: link.title, onClick: onLinkClick }) }, index2)) })
8231
8496
  ] }, index)) }) });
8232
8497
  }
8498
+ function NavigationLink({
8499
+ href,
8500
+ title,
8501
+ onClick
8502
+ }) {
8503
+ const pathname = usePathname();
8504
+ return /* @__PURE__ */ jsx(
8505
+ Link10,
8506
+ {
8507
+ href,
8508
+ onClick,
8509
+ className: clsx21(
8510
+ "inline-block w-full cursor-pointer rounded-r-md border-l py-1 pr-2 pl-4 text-left text-base/8 sm:text-sm/6",
8511
+ "hover:border-grey-950 hover:text-grey-950 hover:bg-primary-800/10 hover:font-semibold",
8512
+ "dark:text-grey-400 dark:hover:border-grey-400 dark:hover:text-white",
8513
+ href === pathname && "border-primary-800 text-primary-800 bg-primary-800/10 border-l font-bold dark:border-white dark:bg-white/20"
8514
+ ),
8515
+ children: title
8516
+ }
8517
+ );
8518
+ }
8233
8519
  var LayoutGroupContext = createContext({});
8234
8520
  function useConstant(init) {
8235
8521
  const ref = useRef(null);
@@ -16313,59 +16599,6 @@ function ResizableHandle({
16313
16599
  }
16314
16600
  );
16315
16601
  }
16316
- function ScrollArea({
16317
- className,
16318
- children,
16319
- ...props
16320
- }) {
16321
- return /* @__PURE__ */ jsxs(
16322
- ScrollAreaPrimitive.Root,
16323
- {
16324
- "data-slot": "scroll-area",
16325
- className: cn("relative", className),
16326
- ...props,
16327
- children: [
16328
- /* @__PURE__ */ jsx(
16329
- ScrollAreaPrimitive.Viewport,
16330
- {
16331
- "data-slot": "scroll-area-viewport",
16332
- className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
16333
- children
16334
- }
16335
- ),
16336
- /* @__PURE__ */ jsx(ScrollBar, {}),
16337
- /* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
16338
- ]
16339
- }
16340
- );
16341
- }
16342
- function ScrollBar({
16343
- className,
16344
- orientation = "vertical",
16345
- ...props
16346
- }) {
16347
- return /* @__PURE__ */ jsx(
16348
- ScrollAreaPrimitive.ScrollAreaScrollbar,
16349
- {
16350
- "data-slot": "scroll-area-scrollbar",
16351
- orientation,
16352
- className: cn(
16353
- "flex touch-none p-px transition-colors select-none",
16354
- orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
16355
- orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
16356
- className
16357
- ),
16358
- ...props,
16359
- children: /* @__PURE__ */ jsx(
16360
- ScrollAreaPrimitive.ScrollAreaThumb,
16361
- {
16362
- "data-slot": "scroll-area-thumb",
16363
- className: "bg-border relative flex-1 rounded-full"
16364
- }
16365
- )
16366
- }
16367
- );
16368
- }
16369
16602
  function Sheet({ ...props }) {
16370
16603
  return /* @__PURE__ */ jsx(DialogPrimitive.Root, { "data-slot": "sheet", ...props });
16371
16604
  }
@@ -16534,24 +16767,16 @@ function SidebarLink({ link, pathname, onLinkClick, depth }) {
16534
16767
  ]
16535
16768
  }
16536
16769
  ) }),
16537
- /* @__PURE__ */ jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsx(
16538
- "ul",
16770
+ /* @__PURE__ */ jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsx("ul", { className: clsx21("mt-2 ml-5 flex flex-col gap-1 border-l pl-0"), children: link.links && link.links.map((childLink) => /* @__PURE__ */ jsx(
16771
+ SidebarLink,
16539
16772
  {
16540
- className: clsx21(
16541
- "border-grey-400 dark:border-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0"
16542
- ),
16543
- children: link.links && link.links.map((childLink) => /* @__PURE__ */ jsx(
16544
- SidebarLink,
16545
- {
16546
- link: childLink,
16547
- pathname,
16548
- onLinkClick,
16549
- depth: depth + 1
16550
- },
16551
- childLink.href
16552
- ))
16553
- }
16554
- ) })
16773
+ link: childLink,
16774
+ pathname,
16775
+ onLinkClick,
16776
+ depth: depth + 1
16777
+ },
16778
+ childLink.href
16779
+ )) }) })
16555
16780
  ] }) : /* @__PURE__ */ jsx(Link10, { href: link.href, onClick: onLinkClick, className: baseLinkClasses, children: link.title }) });
16556
16781
  }
16557
16782
  var StepIndicator = React16.forwardRef(
@@ -16631,8 +16856,8 @@ var StepIndicator = React16.forwardRef(
16631
16856
  children: [
16632
16857
  /* @__PURE__ */ jsx("span", { className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "bg-success-450 group-hover:bg-success-500 group-hover:border-success-550 relative z-10 flex size-6 items-center justify-center rounded-full", children: /* @__PURE__ */ jsx(Icons.check, { "aria-hidden": "true", className: "size-4 text-white" }) }) }),
16633
16858
  /* @__PURE__ */ jsxs("span", { className: "ml-4 flex min-w-0 flex-col", children: [
16634
- step.title && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16635
- step.description && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16859
+ step.title && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16860
+ step.description && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16636
16861
  ] })
16637
16862
  ]
16638
16863
  }
@@ -16654,8 +16879,8 @@ var StepIndicator = React16.forwardRef(
16654
16879
  children: [
16655
16880
  /* @__PURE__ */ jsx("span", { className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "border-success-450 group-hover:bg-success-450 text-success-450 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:text-white", children: /* @__PURE__ */ jsx(Icons.check, { "aria-hidden": "true", className: "size-4" }) }) }),
16656
16881
  /* @__PURE__ */ jsxs("span", { className: "ml-4 flex min-w-0 flex-col", children: [
16657
- step.title && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16658
- step.description && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16882
+ step.title && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16883
+ step.description && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16659
16884
  ] })
16660
16885
  ]
16661
16886
  }
@@ -16677,8 +16902,8 @@ var StepIndicator = React16.forwardRef(
16677
16902
  children: [
16678
16903
  /* @__PURE__ */ jsx("span", { className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "border-primary-500 group-hover:border-primary-550 group-hover:bg-primary-550 text-primary-500 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:text-white", children: /* @__PURE__ */ jsx(Icons.more_horiz, { "aria-hidden": "true", className: "size-4" }) }) }),
16679
16904
  /* @__PURE__ */ jsxs("span", { className: "ml-4 flex min-w-0 flex-col", children: [
16680
- step.title && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16681
- step.description && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16905
+ step.title && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16906
+ step.description && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16682
16907
  ] })
16683
16908
  ]
16684
16909
  }
@@ -16700,8 +16925,8 @@ var StepIndicator = React16.forwardRef(
16700
16925
  children: [
16701
16926
  /* @__PURE__ */ jsx("span", { className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "bg-danger-450 group-hover:bg-danger-500 group-hover:border-danger-500 relative z-10 flex size-6 items-center justify-center rounded-full", children: /* @__PURE__ */ jsx(Icons.exclamation, { "aria-hidden": "true", className: "size-4 text-white" }) }) }),
16702
16927
  /* @__PURE__ */ jsxs("span", { className: "ml-4 flex min-w-0 flex-col", children: [
16703
- step.title && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16704
- step.description && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16928
+ step.title && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16929
+ step.description && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16705
16930
  ] })
16706
16931
  ]
16707
16932
  }
@@ -16723,8 +16948,8 @@ var StepIndicator = React16.forwardRef(
16723
16948
  children: [
16724
16949
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "border-grey-300 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:border-gray-400", children: /* @__PURE__ */ jsx("span", { className: "group-hover:bg-grey-300 size-2 rounded-full bg-transparent" }) }) }),
16725
16950
  /* @__PURE__ */ jsxs("span", { className: "ml-4 flex min-w-0 flex-col", children: [
16726
- step.title && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16727
- step.description && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16951
+ step.title && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16952
+ step.description && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16728
16953
  ] })
16729
16954
  ]
16730
16955
  }
@@ -16744,10 +16969,10 @@ var StepIndicator = React16.forwardRef(
16744
16969
  className: "group relative flex items-center",
16745
16970
  onClick: onLinkClick,
16746
16971
  children: [
16747
- /* @__PURE__ */ jsx("span", { className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "bg-nsw-grey-600 group-hover:bg-nsw-grey-800 relative z-10 flex size-6 items-center justify-center rounded-full", children: /* @__PURE__ */ jsx(Icons.remove, { "aria-hidden": "true", className: "size-4 text-white" }) }) }),
16972
+ /* @__PURE__ */ jsx("span", { className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "bg-grey-600 group-hover:bg-grey-800 relative z-10 flex size-6 items-center justify-center rounded-full", children: /* @__PURE__ */ jsx(Icons.remove, { "aria-hidden": "true", className: "size-4 text-white" }) }) }),
16748
16973
  /* @__PURE__ */ jsxs("span", { className: "ml-4 flex min-w-0 flex-col", children: [
16749
- step.title && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16750
- step.description && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16974
+ step.title && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16975
+ step.description && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16751
16976
  ] })
16752
16977
  ]
16753
16978
  }
@@ -16769,8 +16994,8 @@ var StepIndicator = React16.forwardRef(
16769
16994
  children: [
16770
16995
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "flex h-9 items-center", children: /* @__PURE__ */ jsx("span", { className: "border-grey-300 relative z-10 flex size-6 items-center justify-center rounded-full border-2 bg-white group-hover:border-gray-400", children: /* @__PURE__ */ jsx("span", { className: "group-hover:bg-grey-300 size-2 rounded-full bg-transparent" }) }) }),
16771
16996
  /* @__PURE__ */ jsxs("span", { className: "ml-4 flex min-w-0 flex-col", children: [
16772
- step.title && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16773
- step.description && /* @__PURE__ */ jsx("span", { className: "text-nsw-grey-700 hover:text-nsw-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16997
+ step.title && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.title }),
16998
+ step.description && /* @__PURE__ */ jsx("span", { className: "text-grey-700 hover:text-grey-800 text-sm dark:text-slate-400 dark:hover:text-slate-300", children: step.description })
16774
16999
  ] })
16775
17000
  ]
16776
17001
  }
@@ -16975,97 +17200,45 @@ function SwitchField({
16975
17200
  );
16976
17201
  }
16977
17202
  var colors2 = {
16978
- "dark/zinc": [
16979
- "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:transparent] dark:[--switch-bg:var(--color-white)]/25",
16980
- "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:var(--color-zinc-700)]/90"
17203
+ "dark/grey": [
17204
+ "[--switch-bg-ring:var(--color-grey-950)]/90 [--switch-bg:var(--color-grey-900)] dark:[--switch-bg-ring:transparent] dark:[--switch-bg:var(--color-white)]/25",
17205
+ "[--switch-ring:var(--color-grey-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:var(--color-grey-700)]/90"
16981
17206
  ],
16982
17207
  "dark/white": [
16983
- "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:transparent] dark:[--switch-bg:var(--color-white)]",
16984
- "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:transparent] dark:[--switch:var(--color-zinc-900)]"
17208
+ "[--switch-bg-ring:var(--color-grey-950)]/90 [--switch-bg:var(--color-grey-900)] dark:[--switch-bg-ring:transparent] dark:[--switch-bg:var(--color-white)]",
17209
+ "[--switch-ring:var(--color-grey-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:transparent] dark:[--switch:var(--color-grey-900)]"
16985
17210
  ],
16986
17211
  dark: [
16987
- "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:var(--color-white)]/15",
16988
- "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white]"
17212
+ "[--switch-bg-ring:var(--color-grey-950)]/90 [--switch-bg:var(--color-grey-900)] dark:[--switch-bg-ring:var(--color-white)]/15",
17213
+ "[--switch-ring:var(--color-grey-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white]"
16989
17214
  ],
16990
- zinc: [
16991
- "[--switch-bg-ring:var(--color-zinc-700)]/90 [--switch-bg:var(--color-zinc-600)] dark:[--switch-bg-ring:transparent]",
16992
- "[--switch-shadow:var(--color-black)]/10 [--switch:white] [--switch-ring:var(--color-zinc-700)]/90"
17215
+ grey: [
17216
+ "[--switch-bg-ring:var(--color-grey-700)]/90 [--switch-bg:var(--color-grey-600)] dark:[--switch-bg-ring:transparent]",
17217
+ "[--switch-shadow:var(--color-black)]/10 [--switch:white] [--switch-ring:var(--color-grey-700)]/90"
16993
17218
  ],
16994
17219
  white: [
16995
17220
  "[--switch-bg-ring:var(--color-black)]/15 [--switch-bg:white] dark:[--switch-bg-ring:transparent]",
16996
- "[--switch-shadow:var(--color-black)]/10 [--switch-ring:transparent] [--switch:var(--color-zinc-950)]"
16997
- ],
16998
- red: [
16999
- "[--switch-bg-ring:var(--color-red-700)]/90 [--switch-bg:var(--color-red-600)] dark:[--switch-bg-ring:transparent]",
17000
- "[--switch:white] [--switch-ring:var(--color-red-700)]/90 [--switch-shadow:var(--color-red-900)]/20"
17001
- ],
17002
- orange: [
17003
- "[--switch-bg-ring:var(--color-orange-600)]/90 [--switch-bg:var(--color-orange-500)] dark:[--switch-bg-ring:transparent]",
17004
- "[--switch:white] [--switch-ring:var(--color-orange-600)]/90 [--switch-shadow:var(--color-orange-900)]/20"
17005
- ],
17006
- amber: [
17007
- "[--switch-bg-ring:var(--color-amber-500)]/80 [--switch-bg:var(--color-amber-400)] dark:[--switch-bg-ring:transparent]",
17008
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-amber-950)]"
17009
- ],
17010
- yellow: [
17011
- "[--switch-bg-ring:var(--color-yellow-400)]/80 [--switch-bg:var(--color-yellow-300)] dark:[--switch-bg-ring:transparent]",
17012
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-yellow-950)]"
17013
- ],
17014
- lime: [
17015
- "[--switch-bg-ring:var(--color-lime-400)]/80 [--switch-bg:var(--color-lime-300)] dark:[--switch-bg-ring:transparent]",
17016
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-lime-950)]"
17017
- ],
17018
- green: [
17019
- "[--switch-bg-ring:var(--color-green-700)]/90 [--switch-bg:var(--color-green-600)] dark:[--switch-bg-ring:transparent]",
17020
- "[--switch:white] [--switch-ring:var(--color-green-700)]/90 [--switch-shadow:var(--color-green-900)]/20"
17021
- ],
17022
- emerald: [
17023
- "[--switch-bg-ring:var(--color-emerald-600)]/90 [--switch-bg:var(--color-emerald-500)] dark:[--switch-bg-ring:transparent]",
17024
- "[--switch:white] [--switch-ring:var(--color-emerald-600)]/90 [--switch-shadow:var(--color-emerald-900)]/20"
17221
+ "[--switch-shadow:var(--color-black)]/10 [--switch-ring:transparent] [--switch:var(--color-grey-950)]"
17025
17222
  ],
17026
- teal: [
17027
- "[--switch-bg-ring:var(--color-teal-700)]/90 [--switch-bg:var(--color-teal-600)] dark:[--switch-bg-ring:transparent]",
17028
- "[--switch:white] [--switch-ring:var(--color-teal-700)]/90 [--switch-shadow:var(--color-teal-900)]/20"
17029
- ],
17030
- cyan: [
17031
- "[--switch-bg-ring:var(--color-cyan-400)]/80 [--switch-bg:var(--color-cyan-300)] dark:[--switch-bg-ring:transparent]",
17032
- "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-cyan-950)]"
17033
- ],
17034
- sky: [
17035
- "[--switch-bg-ring:var(--color-sky-600)]/80 [--switch-bg:var(--color-sky-500)] dark:[--switch-bg-ring:transparent]",
17036
- "[--switch:white] [--switch-ring:var(--color-sky-600)]/80 [--switch-shadow:var(--color-sky-900)]/20"
17037
- ],
17038
- blue: [
17039
- "[--switch-bg-ring:var(--color-blue-700)]/90 [--switch-bg:var(--color-blue-600)] dark:[--switch-bg-ring:transparent]",
17040
- "[--switch:white] [--switch-ring:var(--color-blue-700)]/90 [--switch-shadow:var(--color-blue-900)]/20"
17041
- ],
17042
- indigo: [
17043
- "[--switch-bg-ring:var(--color-indigo-600)]/90 [--switch-bg:var(--color-indigo-500)] dark:[--switch-bg-ring:transparent]",
17044
- "[--switch:white] [--switch-ring:var(--color-indigo-600)]/90 [--switch-shadow:var(--color-indigo-900)]/20"
17045
- ],
17046
- violet: [
17047
- "[--switch-bg-ring:var(--color-violet-600)]/90 [--switch-bg:var(--color-violet-500)] dark:[--switch-bg-ring:transparent]",
17048
- "[--switch:white] [--switch-ring:var(--color-violet-600)]/90 [--switch-shadow:var(--color-violet-900)]/20"
17049
- ],
17050
- purple: [
17051
- "[--switch-bg-ring:var(--color-purple-600)]/90 [--switch-bg:var(--color-purple-500)] dark:[--switch-bg-ring:transparent]",
17052
- "[--switch:white] [--switch-ring:var(--color-purple-600)]/90 [--switch-shadow:var(--color-purple-900)]/20"
17223
+ primary: [
17224
+ "[--switch-bg-ring:var(--color-primary-800)]/90 [--switch-bg:var(--color-primary-800)] dark:[--switch-bg-ring:transparent]",
17225
+ "[--switch:white] [--switch-ring:var(--color-primary-800)]/90 [--switch-shadow:var(--color-primary-900)]/20"
17053
17226
  ],
17054
- fuchsia: [
17055
- "[--switch-bg-ring:var(--color-fuchsia-600)]/90 [--switch-bg:var(--color-fuchsia-500)] dark:[--switch-bg-ring:transparent]",
17056
- "[--switch:white] [--switch-ring:var(--color-fuchsia-600)]/90 [--switch-shadow:var(--color-fuchsia-900)]/20"
17227
+ secondary: [
17228
+ "[--switch-bg-ring:var(--color-primary-200)]/80 [--switch-bg:var(--color-primary-200)] dark:[--switch-bg-ring:transparent]",
17229
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-primary-950)]"
17057
17230
  ],
17058
- pink: [
17059
- "[--switch-bg-ring:var(--color-pink-600)]/90 [--switch-bg:var(--color-pink-500)] dark:[--switch-bg-ring:transparent]",
17060
- "[--switch:white] [--switch-ring:var(--color-pink-600)]/90 [--switch-shadow:var(--color-pink-900)]/20"
17231
+ tertiary: [
17232
+ "[--switch-bg-ring:var(--color-primary-600)]/80 [--switch-bg:var(--color-primary-600)] dark:[--switch-bg-ring:transparent]",
17233
+ "[--switch:white] [--switch-ring:var(--color-primary-600)]/80 [--switch-shadow:var(--color-primary-900)]/20"
17061
17234
  ],
17062
- rose: [
17063
- "[--switch-bg-ring:var(--color-rose-600)]/90 [--switch-bg:var(--color-rose-500)] dark:[--switch-bg-ring:transparent]",
17064
- "[--switch:white] [--switch-ring:var(--color-rose-600)]/90 [--switch-shadow:var(--color-rose-900)]/20"
17235
+ accent: [
17236
+ "[--switch-bg-ring:var(--color-accent-700)]/90 [--switch-bg:var(--color-accent-600)] dark:[--switch-bg-ring:transparent]",
17237
+ "[--switch:white] [--switch-ring:var(--color-accent-700)]/90 [--switch-shadow:var(--color-accent-900)]/20"
17065
17238
  ]
17066
17239
  };
17067
17240
  function Switch2({
17068
- color: color2 = "dark/zinc",
17241
+ color: color2 = "dark/grey",
17069
17242
  className,
17070
17243
  ...props
17071
17244
  }) {
@@ -17083,7 +17256,7 @@ function Switch2({
17083
17256
  // Outline and background color in forced-colors mode so switch is still visible
17084
17257
  "forced-colors:outline forced-colors:[--switch-bg:Highlight] dark:forced-colors:[--switch-bg:Highlight]",
17085
17258
  // Unchecked
17086
- "bg-zinc-200 ring-1 ring-black/5 ring-inset dark:bg-white/5 dark:ring-white/15",
17259
+ "bg-grey-200 ring-1 ring-black/5 ring-inset dark:bg-white/5 dark:ring-white/15",
17087
17260
  // Checked
17088
17261
  "data-checked:bg-(--switch-bg) data-checked:ring-(--switch-bg-ring) dark:data-checked:bg-(--switch-bg) dark:data-checked:ring-(--switch-bg-ring)",
17089
17262
  // Focus
@@ -17092,7 +17265,7 @@ function Switch2({
17092
17265
  "data-hover:ring-black/15 data-hover:data-checked:ring-(--switch-bg-ring)",
17093
17266
  "dark:data-hover:ring-white/25 dark:data-hover:data-checked:ring-(--switch-bg-ring)",
17094
17267
  // Disabled
17095
- "data-disabled:bg-zinc-200 data-disabled:opacity-50 data-disabled:data-checked:bg-zinc-200 data-disabled:data-checked:ring-black/5",
17268
+ "data-disabled:bg-grey-200 data-disabled:data-checked:bg-grey-200 data-disabled:opacity-50 data-disabled:data-checked:ring-black/5",
17096
17269
  "dark:data-disabled:bg-white/15 dark:data-disabled:data-checked:bg-white/15 dark:data-disabled:data-checked:ring-white/15",
17097
17270
  // Color specific styles
17098
17271
  colors2[color2]
@@ -17449,7 +17622,7 @@ function Textarea({ className, ...props }) {
17449
17622
  "data-slot": "textarea",
17450
17623
  className: cn(
17451
17624
  // Base styles
17452
- "border-nsw-grey-600 dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-sm border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm",
17625
+ "border-grey-600 dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-sm border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm",
17453
17626
  // Placeholder styles
17454
17627
  "placeholder:text-grey-500",
17455
17628
  // Focus styles
@@ -17481,7 +17654,25 @@ function ViewToggle({ viewMode, setViewMode }) {
17481
17654
  )
17482
17655
  ] });
17483
17656
  }
17484
- function ThemeColorPalette() {
17657
+ function ThemeColorPaletteLoading() {
17658
+ return /* @__PURE__ */ jsxs("div", { className: "animate-pulse space-y-8", children: [
17659
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-between gap-4 sm:flex-row", children: [
17660
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4 sm:flex-row", children: [
17661
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-32 rounded" }),
17662
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-24 rounded" })
17663
+ ] }),
17664
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-10 w-28 rounded" })
17665
+ ] }),
17666
+ /* @__PURE__ */ jsx("div", { className: "space-y-12", children: [1, 2, 3].map((i) => /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
17667
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-8 w-24 rounded" }),
17668
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-4 sm:grid-cols-4", children: [1, 2, 3, 4].map((j) => /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-16 rounded" }, j)) }),
17669
+ /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-12 w-full rounded" }),
17670
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3", children: [1, 2, 3, 4, 5, 6].map((k) => /* @__PURE__ */ jsx("div", { className: "bg-grey-200 h-24 rounded" }, k)) })
17671
+ ] }, i)) })
17672
+ ] });
17673
+ }
17674
+ function ThemeColorPaletteContent() {
17675
+ const searchParams = useSearchParams();
17485
17676
  const baseColors = {
17486
17677
  brand,
17487
17678
  aboriginal
@@ -17493,6 +17684,44 @@ function ThemeColorPalette() {
17493
17684
  const [accentColor, setAccentColor] = useState("red");
17494
17685
  const [greyColor, setGreyColor] = useState("grey");
17495
17686
  const [sheetOpen, setSheetOpen] = useState(false);
17687
+ const [isInitialized, setIsInitialized] = useState(false);
17688
+ useEffect(() => {
17689
+ const themeParam = searchParams.get("theme");
17690
+ const primaryParam = searchParams.get("primary");
17691
+ const accentParam = searchParams.get("accent");
17692
+ let newCategory = themeCategory;
17693
+ let newPrimary = primaryColor;
17694
+ let newAccent = accentColor;
17695
+ if (themeParam && (themeParam === "brand" || themeParam === "aboriginal")) {
17696
+ newCategory = themeParam;
17697
+ setThemeCategory(themeParam);
17698
+ }
17699
+ const availableColors = Object.keys(colorThemes[newCategory]);
17700
+ if (primaryParam && availableColors.includes(primaryParam)) {
17701
+ newPrimary = primaryParam;
17702
+ setPrimaryColor(primaryParam);
17703
+ } else if (!availableColors.includes(newPrimary)) {
17704
+ newPrimary = availableColors[0];
17705
+ setPrimaryColor(newPrimary);
17706
+ }
17707
+ if (accentParam && availableColors.includes(accentParam) && accentParam !== newPrimary) {
17708
+ newAccent = accentParam;
17709
+ setAccentColor(accentParam);
17710
+ } else {
17711
+ const newAccentColor = availableColors.find((color2) => color2 !== newPrimary);
17712
+ if (newAccentColor) {
17713
+ newAccent = newAccentColor;
17714
+ setAccentColor(newAccent);
17715
+ }
17716
+ }
17717
+ const neutralKey = Object.keys(colorThemes[newCategory]).find(
17718
+ (k) => k.toLowerCase().includes("grey")
17719
+ );
17720
+ if (neutralKey) {
17721
+ setGreyColor(neutralKey);
17722
+ }
17723
+ setIsInitialized(true);
17724
+ }, [searchParams, themeCategory, primaryColor, accentColor]);
17496
17725
  const filteredColorThemes = useMemo(() => {
17497
17726
  const filtered = {};
17498
17727
  for (const category of Object.keys(colorThemes)) {
@@ -17509,6 +17738,7 @@ function ThemeColorPalette() {
17509
17738
  return allColors.filter((color2) => color2 !== primaryColor);
17510
17739
  }, [filteredColorThemes, themeCategory, primaryColor]);
17511
17740
  useEffect(() => {
17741
+ if (!isInitialized) return;
17512
17742
  const neutralKey = Object.keys(colorThemes[themeCategory]).find((k) => k.toLowerCase().includes("grey")) ?? "";
17513
17743
  if (neutralKey && neutralKey !== greyColor) {
17514
17744
  setGreyColor(neutralKey);
@@ -17527,7 +17757,7 @@ function ThemeColorPalette() {
17527
17757
  setAccentColor(newAccentColor);
17528
17758
  }
17529
17759
  }
17530
- }, [themeCategory, primaryColor, accentColor, greyColor]);
17760
+ }, [themeCategory, primaryColor, accentColor, greyColor, isInitialized]);
17531
17761
  const currentColorPalette = useMemo(() => {
17532
17762
  if (!colorThemes[themeCategory] || !colorThemes[themeCategory][primaryColor] || !colorThemes[themeCategory][accentColor]) {
17533
17763
  return [
@@ -17620,6 +17850,9 @@ function ThemeColorPalette() {
17620
17850
  }) })
17621
17851
  ] });
17622
17852
  }
17853
+ function ThemeColorPalette() {
17854
+ return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(ThemeColorPaletteLoading, {}), children: /* @__PURE__ */ jsx(ThemeColorPaletteContent, {}) });
17855
+ }
17623
17856
  function ThemeProvider({ children, ...props }) {
17624
17857
  return /* @__PURE__ */ jsx(ThemeProvider$1, { ...props, children });
17625
17858
  }
@@ -21461,24 +21694,24 @@ var progressBarVariants = tv({
21461
21694
  variants: {
21462
21695
  variant: {
21463
21696
  default: {
21464
- background: "bg-blue-200 dark:bg-blue-500/30",
21465
- bar: "bg-blue-500 dark:bg-blue-500"
21697
+ background: "bg-primary-200 dark:bg-primary-500/30",
21698
+ bar: "bg-primary-500 dark:bg-primary-500"
21466
21699
  },
21467
21700
  neutral: {
21468
- background: "bg-gray-200 dark:bg-gray-500/40",
21469
- bar: "bg-gray-500 dark:bg-gray-500"
21701
+ background: "bg-grey-200 dark:bg-grey-500/40",
21702
+ bar: "bg-grey-500 dark:bg-grey-500"
21470
21703
  },
21471
21704
  warning: {
21472
- background: "bg-yellow-200 dark:bg-yellow-500/30",
21473
- bar: "bg-yellow-500 dark:bg-yellow-500"
21705
+ background: "bg-warning-200 dark:bg-warning-500/30",
21706
+ bar: "bg-warning-500 dark:bg-warning-500"
21474
21707
  },
21475
- error: {
21476
- background: "bg-red-200 dark:bg-red-500/30",
21477
- bar: "bg-red-500 dark:bg-red-500"
21708
+ danger: {
21709
+ background: "bg-danger-200 dark:bg-danger-500/30",
21710
+ bar: "bg-danger-500 dark:bg-danger-500"
21478
21711
  },
21479
21712
  success: {
21480
- background: "bg-emerald-200 dark:bg-emerald-500/30",
21481
- bar: "bg-emerald-500 dark:bg-emerald-500"
21713
+ background: "bg-success-200 dark:bg-success-500/30",
21714
+ bar: "bg-success-500 dark:bg-success-500"
21482
21715
  }
21483
21716
  }
21484
21717
  },
@@ -21530,7 +21763,7 @@ var ProgressBar = React16__default.forwardRef(
21530
21763
  // base
21531
21764
  "ml-2 text-sm leading-none font-medium whitespace-nowrap",
21532
21765
  // text color
21533
- "text-gray-900 dark:text-gray-50"
21766
+ "text-grey-900 dark:text-grey-50"
21534
21767
  ),
21535
21768
  children: label
21536
21769
  }
@@ -21549,24 +21782,24 @@ var progressCircleVariants = tv({
21549
21782
  variants: {
21550
21783
  variant: {
21551
21784
  default: {
21552
- background: "stroke-blue-200 dark:stroke-blue-500/30",
21553
- circle: "stroke-blue-500 dark:stroke-blue-500"
21785
+ background: "stroke-primary-200 dark:stroke-primary-500/30",
21786
+ circle: "stroke-primary-500 dark:stroke-primary-500"
21554
21787
  },
21555
21788
  neutral: {
21556
- background: "stroke-gray-200 dark:stroke-gray-500/40",
21557
- circle: "stroke-gray-500 dark:stroke-gray-500"
21789
+ background: "stroke-grey-200 dark:stroke-grey-500/40",
21790
+ circle: "stroke-grey-500 dark:stroke-grey-500"
21558
21791
  },
21559
21792
  warning: {
21560
- background: "stroke-yellow-200 dark:stroke-yellow-500/30",
21561
- circle: "stroke-yellow-500 dark:stroke-yellow-500"
21793
+ background: "stroke-warning-200 dark:stroke-warning-500/30",
21794
+ circle: "stroke-warning-500 dark:stroke-warning-500"
21562
21795
  },
21563
- error: {
21564
- background: "stroke-red-200 dark:stroke-red-500/30",
21565
- circle: "stroke-red-500 dark:stroke-red-500"
21796
+ danger: {
21797
+ background: "stroke-danger-200 dark:stroke-danger-500/30",
21798
+ circle: "stroke-danger-500 dark:stroke-danger-500"
21566
21799
  },
21567
21800
  success: {
21568
- background: "stroke-emerald-200 dark:stroke-emerald-500/30",
21569
- circle: "stroke-emerald-500 dark:stroke-emerald-500"
21801
+ background: "stroke-success-200 dark:stroke-success-500/30",
21802
+ circle: "stroke-success-500 dark:stroke-success-500"
21570
21803
  }
21571
21804
  }
21572
21805
  },
@@ -22868,6 +23101,6 @@ var languages = [
22868
23101
  "html"
22869
23102
  ];
22870
23103
 
22871
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AreaChart, AspectRatio, AvailableChartColors, Avatar, AvatarFallback, AvatarImage, Badge, BadgeButton, BarChart, BarList, BaseColorSwatches, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Breadcrumbs, Button2 as Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryBar, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Code, CodeDemo, CodeHighlight, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorCard, ColorSwatches, ColourScale, ComboChart, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Description3 as Description, DescriptionDetails, DescriptionList, DescriptionTerm, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicFavicon, ErrorMessage, ExpandableSearch, ExpandableSearchField, Field2 as Field, FieldGroup, FieldLabel, Fieldset2 as Fieldset, Footer, FooterAcknowledgement, FooterLegalLinks, FooterSmallPrint, FooterSocialLink, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormatToggle, GenerateInterpolatedColors, Header2 as Header, Heading, HoverCard, HoverCardContent, HoverCardTrigger, Icons, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Label3 as Label, Legend2 as Legend, LineChart, Link, _List as List, Listbox2 as Listbox, ListboxDescription, ListboxLabel, ListboxOption2 as ListboxOption, Logo, MainNavigation, Masthead, MegaMenu, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Navbar, NavbarDivider, NavbarItem, NavbarLabel, NavbarSection, NavbarSpacer, Navigation, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PreWithCopy, PrevNextLinks, PrevNextLinksPageLink, Progress, ProgressBar, ProgressCircle, Prose, RadioGroup2 as RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator4 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SidebarLink, SidebarNavigation, SiteSearch, Skeleton, Slider, Social, SparkAreaChart, SparkBarChart, SparkLineChart, Spinner, StepIndicator, StepNavigation, Strong, Switch2 as Switch, SwitchField, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableOfContents, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Text, TextLink, Textarea, ThemeColorPalette, ThemeProvider, ThemeSelector, ThemeSwitcher, Toaster, TocContext, TocProvider, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopLevel, TouchTarget, Tracker, Tooltip5 as TremorTooltip, ViewToggle, aboriginal, addStartStopToColorArray, allPalettes, badgeVariants, brand, buttonVariants, camelCase, chartColors, cn, colorDataArray, colorThemes, colors, constructCategoryColors, createColorArray, createColorData, createFormStore, darkenColor, domToSimple, focusInput, focusRing, generateColorThemes, getColorClassName, getColorValue, getHeadings, getNodeText, getSurroundingColors, getYAxisDomain, hasErrorInput, hasOnlyOneValueForKey, humaniseVariant, interpolateColors, isLightColor, kebabCase, languages, lightenColor, navigationMenuTriggerStyle, oklchConverter, progressBarVariants, renderColorOutput, renderColorOutputToDTFM, semantic, shades, themeIndices, themeTokens, toggleVariants, truncate, useActiveSectionObserver, useDisableToc, useFormField, useIsMobile, useOnWindowResize, usePageHeadings, useSelectorHeight, useToc };
23104
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AreaChart, AspectRatio, AuthLayout, AvailableChartColors, Avatar, AvatarFallback, AvatarImage, Badge, BadgeButton, BarChart, BarList, BaseColorSwatches, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Breadcrumbs, Button2 as Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, CategoryBar, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Code, CodeDemo, CodeHighlight, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ColorCard, ColorSwatches, ColourScale, ComboChart, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Description3 as Description, DescriptionDetails, DescriptionList, DescriptionTerm, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DonutChart, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicFavicon, ErrorMessage, ExpandableSearch, ExpandableSearchField, Field2 as Field, FieldGroup, FieldLabel, Fieldset2 as Fieldset, Footer, FooterAcknowledgement, FooterLegalLinks, FooterSmallPrint, FooterSocialLink, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormatToggle, GenerateInterpolatedColors, Header2 as Header, Heading, HoverCard, HoverCardContent, HoverCardTrigger, Icons, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Label3 as Label, Legend2 as Legend, LineChart, Link, _List as List, Listbox2 as Listbox, ListboxDescription, ListboxLabel, ListboxOption2 as ListboxOption, Logo, MainNavigation, Masthead, MegaMenu, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Navbar, NavbarDivider, NavbarItem, NavbarLabel, NavbarSection, NavbarSpacer, Navigation, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PreWithCopy, PrevNextLinks, PrevNextLinksPageLink, Progress, ProgressBar, ProgressCircle, Prose, RadioGroup2 as RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator4 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, SidebarLink, SidebarNavigation, SiteSearch, Skeleton, Slider, Social, SparkAreaChart, SparkBarChart, SparkLineChart, Spinner, StepIndicator, StepNavigation, Strong, Switch2 as Switch, SwitchField, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableOfContents, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Text, TextLink, Textarea, ThemeColorPalette, ThemeProvider, ThemeSelector, ThemeSwitcher, Toaster, TocContext, TocProvider, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TopLevel, TouchTarget, Tracker, Tooltip5 as TremorTooltip, ViewToggle, aboriginal, addStartStopToColorArray, allPalettes, badgeVariants, brand, buttonVariants, camelCase, chartColors, cn, colorDataArray, colorThemes, colors, constructCategoryColors, createColorArray, createColorData, createFormStore, darkenColor, domToSimple, focusInput, focusRing, generateColorThemes, getColorClassName, getColorValue, getHeadings, getNodeText, getSurroundingColors, getYAxisDomain, hasErrorInput, hasOnlyOneValueForKey, humaniseVariant, interpolateColors, isLightColor, kebabCase, languages, lightenColor, navigationMenuTriggerStyle, oklchConverter, progressBarVariants, renderColorOutput, renderColorOutputToDTFM, semantic, shades, themeIndices, themeTokens, toggleVariants, truncate, useActiveSectionObserver, useDisableToc, useFormField, useIsMobile, useOnWindowResize, usePageHeadings, useSelectorHeight, useToc };
22872
23105
  //# sourceMappingURL=index.js.map
22873
23106
  //# sourceMappingURL=index.js.map