@nswds/app 1.37.1 → 1.38.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.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var AccordionPrimitive = require('@radix-ui/react-accordion');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
- var clsx4 = require('clsx');
5
+ var clsx20 = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var classVarianceAuthority = require('class-variance-authority');
8
8
  var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
@@ -27,6 +27,7 @@ require('prismjs/components/prism-tsx');
27
27
  require('prismjs/components/prism-typescript');
28
28
  var SelectPrimitive = require('@radix-ui/react-select');
29
29
  var PopoverPrimitive = require('@radix-ui/react-popover');
30
+ var LabelPrimitive = require('@radix-ui/react-label');
30
31
  var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
31
32
  var lucideReact = require('lucide-react');
32
33
  var TabsPrimitive2 = require('@radix-ui/react-tabs');
@@ -39,7 +40,6 @@ var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
39
40
  var vaul = require('vaul');
40
41
  var SeparatorPrimitive = require('@radix-ui/react-separator');
41
42
  var reactHookForm = require('react-hook-form');
42
- var LabelPrimitive = require('@radix-ui/react-label');
43
43
  var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
44
44
  var TogglePrimitive = require('@radix-ui/react-toggle');
45
45
  var MenubarPrimitive = require('@radix-ui/react-menubar');
@@ -48,7 +48,6 @@ var ProgressPrimitive = require('@radix-ui/react-progress');
48
48
  var ResizablePrimitive = require('react-resizable-panels');
49
49
  var ScrollAreaPrimitive = require('@radix-ui/react-scroll-area');
50
50
  var SliderPrimitive = require('@radix-ui/react-slider');
51
- var SwitchPrimitive = require('@radix-ui/react-switch');
52
51
  var RechartsPrimitive = require('recharts');
53
52
  var react = require('@remixicon/react');
54
53
  var tailwindVariants = require('tailwind-variants');
@@ -82,7 +81,7 @@ function _interopNamespace(e) {
82
81
  }
83
82
 
84
83
  var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
85
- var clsx4__default = /*#__PURE__*/_interopDefault(clsx4);
84
+ var clsx20__default = /*#__PURE__*/_interopDefault(clsx20);
86
85
  var AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespace(AspectRatioPrimitive);
87
86
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
88
87
  var Headless4__namespace = /*#__PURE__*/_interopNamespace(Headless4);
@@ -95,13 +94,13 @@ var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitiv
95
94
  var Prism__default = /*#__PURE__*/_interopDefault(Prism);
96
95
  var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
97
96
  var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
97
+ var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
98
98
  var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
99
99
  var TabsPrimitive2__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive2);
100
100
  var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
101
101
  var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
102
102
  var ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(ContextMenuPrimitive);
103
103
  var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
104
- var LabelPrimitive__namespace = /*#__PURE__*/_interopNamespace(LabelPrimitive);
105
104
  var ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(ToggleGroupPrimitive);
106
105
  var TogglePrimitive__namespace = /*#__PURE__*/_interopNamespace(TogglePrimitive);
107
106
  var MenubarPrimitive__namespace = /*#__PURE__*/_interopNamespace(MenubarPrimitive);
@@ -110,7 +109,6 @@ var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimit
110
109
  var ResizablePrimitive__namespace = /*#__PURE__*/_interopNamespace(ResizablePrimitive);
111
110
  var ScrollAreaPrimitive__namespace = /*#__PURE__*/_interopNamespace(ScrollAreaPrimitive);
112
111
  var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
113
- var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
114
112
  var RechartsPrimitive__namespace = /*#__PURE__*/_interopNamespace(RechartsPrimitive);
115
113
  var HoverCardPrimitives__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitives);
116
114
  var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
@@ -213,7 +211,7 @@ var Icons = {
213
211
  west: (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", { fill: "currentColor", "data-slot": "icon", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M233-440h607q17 0 28.5-11.5T880-480q0-17-11.5-28.5T840-520H233l155-156q11-11 11.5-27.5T388-732q-11-11-28-11t-28 11L108-508q-6 6-8.5 13T97-480q0 8 2.5 15t8.5 13l224 224q11 11 27.5 11t28.5-11q12-12 12-28.5T388-285L233-440Z" }) })
214
212
  };
215
213
  function cn(...inputs) {
216
- return tailwindMerge.twMerge(clsx4.clsx(inputs));
214
+ return tailwindMerge.twMerge(clsx20.clsx(inputs));
217
215
  }
218
216
  function truncate(text, maxLength) {
219
217
  if (text.length <= maxLength) {
@@ -736,7 +734,7 @@ var Button2 = React15.forwardRef(function Button3({ className, variant, color, s
736
734
  {
737
735
  "data-variant": variant,
738
736
  ...props,
739
- className: clsx4__default.default(classes, "cursor-pointer"),
737
+ className: clsx20__default.default(classes, "cursor-pointer"),
740
738
  ref,
741
739
  children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children })
742
740
  }
@@ -1201,7 +1199,7 @@ var BadgeButton = React15.forwardRef(function BadgeButton2({
1201
1199
  children,
1202
1200
  ...props
1203
1201
  }, ref) {
1204
- const classes = clsx4__default.default(className, focusOutline[color], [
1202
+ const classes = clsx20__default.default(className, focusOutline[color], [
1205
1203
  // Base
1206
1204
  "group relative inline-flex rounded-sm",
1207
1205
  // Focus
@@ -1223,7 +1221,7 @@ var BadgeButton = React15.forwardRef(function BadgeButton2({
1223
1221
  {
1224
1222
  "data-variant": variant,
1225
1223
  ...props,
1226
- className: clsx4__default.default(classes, "cursor-pointer"),
1224
+ className: clsx20__default.default(classes, "cursor-pointer"),
1227
1225
  ref,
1228
1226
  children: /* @__PURE__ */ jsxRuntime.jsx(TouchTarget, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant, color, size, children }) })
1229
1227
  }
@@ -1248,10 +1246,10 @@ var lightenColor = (color, factor = 2) => {
1248
1246
  var addStartStopToColorArray = (colorArray) => {
1249
1247
  const darkColor = (color) => darkenColor(color, 0.3);
1250
1248
  const lightColor = (color) => lightenColor(color, 2);
1251
- const colors2 = [...colorArray];
1252
- colors2.unshift(darkColor(colorArray[0]));
1253
- colors2.push(lightColor(colorArray[colorArray.length - 1]));
1254
- return colors2;
1249
+ const colors3 = [...colorArray];
1250
+ colors3.unshift(darkColor(colorArray[0]));
1251
+ colors3.push(lightColor(colorArray[colorArray.length - 1]));
1252
+ return colors3;
1255
1253
  };
1256
1254
  var interpolateColors = (color1, color2, steps) => {
1257
1255
  const results = [];
@@ -1285,12 +1283,12 @@ var GenerateInterpolatedColors = (colorArray) => {
1285
1283
  const finalPaletteColours = fullPalette.slice(1, -1).reverse();
1286
1284
  return finalPaletteColours;
1287
1285
  };
1288
- var getSurroundingColors = (colors2, themeColor) => {
1289
- const index = colors2.findIndex((color) => color.oklch === themeColor);
1286
+ var getSurroundingColors = (colors3, themeColor) => {
1287
+ const index = colors3.findIndex((color) => color.oklch === themeColor);
1290
1288
  if (index === -1) return [];
1291
1289
  const start = Math.max(0, index - 3);
1292
- const end = Math.min(colors2.length, index + 4);
1293
- const surroundingColors = colors2.slice(start, end);
1290
+ const end = Math.min(colors3.length, index + 4);
1291
+ const surroundingColors = colors3.slice(start, end);
1294
1292
  return surroundingColors;
1295
1293
  };
1296
1294
  var colorDataArray = (colorsToUse, paletteName, format, output, variant) => {
@@ -1414,12 +1412,12 @@ var renderColorOutputToDTFM = (colorsToUse, paletteName, format, variant) => {
1414
1412
  };
1415
1413
  var themeIndices = [3, 7, 11, 15];
1416
1414
  var themeTokens = [200, 400, 600, 800];
1417
- var generateColorThemes = (colors2) => {
1415
+ var generateColorThemes = (colors3) => {
1418
1416
  const colorThemes2 = {};
1419
- for (const category in colors2) {
1417
+ for (const category in colors3) {
1420
1418
  colorThemes2[category] = {};
1421
- for (const shade in colors2[category]) {
1422
- const base = colors2[category][shade];
1419
+ for (const shade in colors3[category]) {
1420
+ const base = colors3[category][shade];
1423
1421
  colorThemes2[category][shade] = {
1424
1422
  name: base.name,
1425
1423
  colors: themeIndices.map((idx) => {
@@ -2360,67 +2358,12 @@ function PopoverContent({
2360
2358
  function PopoverAnchor({ ...props }) {
2361
2359
  return /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Anchor, { "data-slot": "popover-anchor", ...props });
2362
2360
  }
2363
- function Fieldset2({
2364
- className,
2365
- ...props
2366
- }) {
2367
- return /* @__PURE__ */ jsxRuntime.jsx(
2368
- Headless4__namespace.Fieldset,
2369
- {
2370
- ...props,
2371
- className: clsx4__default.default(className, "*:data-[slot=text]:mt-1 [&>*+[data-slot=control]]:mt-6")
2372
- }
2373
- );
2374
- }
2375
- function Legend2({
2376
- className,
2377
- ...props
2378
- }) {
2361
+ function Label3({ className, ...props }) {
2379
2362
  return /* @__PURE__ */ jsxRuntime.jsx(
2380
- Headless4__namespace.Legend,
2381
- {
2382
- "data-slot": "legend",
2383
- ...props,
2384
- className: clsx4__default.default(
2385
- className,
2386
- "text-grey-900 text-base/6 font-semibold data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
2387
- )
2388
- }
2389
- );
2390
- }
2391
- function FieldGroup({ className, ...props }) {
2392
- return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "control", ...props, className: clsx4__default.default(className, "space-y-8") });
2393
- }
2394
- function Field2({
2395
- className,
2396
- ...props
2397
- }) {
2398
- return /* @__PURE__ */ jsxRuntime.jsx(
2399
- Headless4__namespace.Field,
2400
- {
2401
- ...props,
2402
- className: clsx4__default.default(
2403
- className,
2404
- "[&>[data-slot=label]+[data-slot=control]]:mt-3",
2405
- "[&>[data-slot=label]+[data-slot=description]]:mt-1",
2406
- "[&>[data-slot=description]+[data-slot=control]]:mt-3",
2407
- "[&>[data-slot=control]+[data-slot=description]]:mt-3",
2408
- "[&>[data-slot=control]+[data-slot=error]]:mt-3",
2409
- "*:data-[slot=label]:font-medium"
2410
- )
2411
- }
2412
- );
2413
- }
2414
- function Label4({
2415
- className,
2416
- ...props
2417
- }) {
2418
- return /* @__PURE__ */ jsxRuntime.jsx(
2419
- Headless4__namespace.Label,
2363
+ LabelPrimitive__namespace.Root,
2420
2364
  {
2421
2365
  "data-slot": "label",
2422
- ...props,
2423
- className: clsx4__default.default(
2366
+ className: cn(
2424
2367
  // Base
2425
2368
  "flex items-center gap-2",
2426
2369
  "text-grey-900 text-base/6 font-semibold select-none",
@@ -2429,39 +2372,8 @@ function Label4({
2429
2372
  // Disabled state
2430
2373
  "group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
2431
2374
  className
2432
- )
2433
- }
2434
- );
2435
- }
2436
- function Description2({
2437
- className,
2438
- ...props
2439
- }) {
2440
- return /* @__PURE__ */ jsxRuntime.jsx(
2441
- Headless4__namespace.Description,
2442
- {
2443
- "data-slot": "description",
2444
- ...props,
2445
- className: clsx4__default.default(
2446
- className,
2447
- "text-grey-500 dark:text-grey-400 text-base/6 data-disabled:opacity-50 sm:text-sm/6"
2448
- )
2449
- }
2450
- );
2451
- }
2452
- function ErrorMessage({
2453
- className,
2454
- ...props
2455
- }) {
2456
- return /* @__PURE__ */ jsxRuntime.jsx(
2457
- Headless4__namespace.Description,
2458
- {
2459
- "data-slot": "error",
2460
- ...props,
2461
- className: clsx4__default.default(
2462
- className,
2463
- "text-danger-600 dark:text-danger-500 text-base/6 data-disabled:opacity-50 sm:text-sm/6"
2464
- )
2375
+ ),
2376
+ ...props
2465
2377
  }
2466
2378
  );
2467
2379
  }
@@ -2673,7 +2585,7 @@ function ThemeSelector({
2673
2585
  className: "grid grid-cols-2 gap-2",
2674
2586
  children: Object.entries(colorThemes2[themeCategory]).map(([key, theme2]) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(labelStyles.base, ""), children: [
2675
2587
  /* @__PURE__ */ jsxRuntime.jsx(RadioGroupItem, { value: key, id: `primary-${key}`, className: "peer sr-only" }),
2676
- /* @__PURE__ */ jsxRuntime.jsxs(Label4, { htmlFor: `primary-${key}`, className: cn(labelStyles.label, ""), children: [
2588
+ /* @__PURE__ */ jsxRuntime.jsxs(Label3, { htmlFor: `primary-${key}`, className: cn(labelStyles.label, ""), children: [
2677
2589
  /* @__PURE__ */ jsxRuntime.jsx(
2678
2590
  "div",
2679
2591
  {
@@ -2698,7 +2610,7 @@ function ThemeSelector({
2698
2610
  className: "grid grid-cols-2 gap-2",
2699
2611
  children: availableAccentColors.map((key) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(labelStyles.base, ""), children: [
2700
2612
  /* @__PURE__ */ jsxRuntime.jsx(RadioGroupItem, { value: key, id: `accent-${key}`, className: "peer sr-only" }),
2701
- /* @__PURE__ */ jsxRuntime.jsxs(Label4, { htmlFor: `accent-${key}`, className: cn(labelStyles.label, ""), children: [
2613
+ /* @__PURE__ */ jsxRuntime.jsxs(Label3, { htmlFor: `accent-${key}`, className: cn(labelStyles.label, ""), children: [
2702
2614
  /* @__PURE__ */ jsxRuntime.jsx(
2703
2615
  "div",
2704
2616
  {
@@ -6354,7 +6266,7 @@ function CodePreview({
6354
6266
  children: /* @__PURE__ */ jsxRuntime.jsx(
6355
6267
  "div",
6356
6268
  {
6357
- className: clsx4.clsx(
6269
+ className: clsx20.clsx(
6358
6270
  "group dark:bg-grey-900 mx-auto bg-white bg-gradient-to-r",
6359
6271
  view === "desktop" && "w-full",
6360
6272
  view === "tablet" && "max-w-lg",
@@ -6592,7 +6504,7 @@ function ColorCard({ name, token, hex, rgb: rgb2, hsl, oklch: oklch2, format, vi
6592
6504
  {
6593
6505
  className: "flex h-24 w-full items-center justify-center",
6594
6506
  style: { backgroundColor: hex },
6595
- children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx4.clsx("font-medium", isLightColor(hex) ? "text-primary-950" : "text-white"), children: name })
6507
+ children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx20.clsx("font-medium", isLightColor(hex) ? "text-primary-950" : "text-white"), children: name })
6596
6508
  }
6597
6509
  ),
6598
6510
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
@@ -7318,25 +7230,6 @@ function Footer({
7318
7230
  /* @__PURE__ */ jsxRuntime.jsx(FooterSmallPrint, { department, socialLinks })
7319
7231
  ] });
7320
7232
  }
7321
- function Label6({ className, ...props }) {
7322
- return /* @__PURE__ */ jsxRuntime.jsx(
7323
- LabelPrimitive__namespace.Root,
7324
- {
7325
- "data-slot": "label",
7326
- className: cn(
7327
- // Base
7328
- "flex items-center gap-2",
7329
- "text-grey-900 text-base/6 font-semibold select-none",
7330
- // Dark mode
7331
- "dark:group-data-[disabled=true]:text-grey-400 dark:text-white",
7332
- // Disabled state
7333
- "group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
7334
- className
7335
- ),
7336
- ...props
7337
- }
7338
- );
7339
- }
7340
7233
  var Form = reactHookForm.FormProvider;
7341
7234
  var FormFieldContext = React15__namespace.createContext({});
7342
7235
  var FormField = ({
@@ -7371,7 +7264,7 @@ function FormItem({ className, ...props }) {
7371
7264
  function FormLabel({ className, ...props }) {
7372
7265
  const { error, formItemId } = useFormField();
7373
7266
  return /* @__PURE__ */ jsxRuntime.jsx(
7374
- Label6,
7267
+ Label3,
7375
7268
  {
7376
7269
  "data-slot": "form-label",
7377
7270
  "data-error": !!error,
@@ -7465,7 +7358,7 @@ var toggleVariants = classVarianceAuthority.cva(styles3.base, {
7465
7358
  variants: {
7466
7359
  variant: {
7467
7360
  ghost: "",
7468
- outline: clsx4__default.default(styles3.outline)
7361
+ outline: clsx20__default.default(styles3.outline)
7469
7362
  },
7470
7363
  size: {
7471
7364
  default: "h-9 px-2 min-w-9",
@@ -7609,7 +7502,7 @@ function Heading({
7609
7502
  Element,
7610
7503
  {
7611
7504
  ...props,
7612
- className: clsx4__default.default(
7505
+ className: clsx20__default.default(
7613
7506
  className,
7614
7507
  trimClasses[trim],
7615
7508
  "m-0",
@@ -7624,7 +7517,7 @@ function Heading({
7624
7517
 
7625
7518
  // package.json
7626
7519
  var package_default = {
7627
- version: "1.36.0"};
7520
+ version: "1.37.1"};
7628
7521
  function Logo(props) {
7629
7522
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
7630
7523
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "NSW Government" }),
@@ -7767,7 +7660,7 @@ function Header2({
7767
7660
  "data-slot": "header",
7768
7661
  "data-scrolled": isScrolled,
7769
7662
  id: "nsw-header",
7770
- className: clsx4__default.default(
7663
+ className: clsx20__default.default(
7771
7664
  "sticky top-0 z-50 flex flex-none flex-wrap items-center justify-between bg-white px-4 py-5 transition duration-500 sm:px-6 lg:px-12",
7772
7665
  shadow && "shadow-md shadow-slate-900/5 dark:shadow-none",
7773
7666
  isScrolled ? "dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75" : "dark:bg-transparent"
@@ -7816,7 +7709,7 @@ function Input({ className, type, ...props }) {
7816
7709
  "data-slot": "input",
7817
7710
  className: cn(
7818
7711
  // Base styles
7819
- "border-nsw-grey-600 flex h-12 w-full min-w-0 rounded-sm border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm",
7712
+ "border-grey-600 flex h-12 w-full min-w-0 rounded-sm border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm",
7820
7713
  // Selection styles
7821
7714
  "selection:bg-primary-800 selection:text-white",
7822
7715
  // Placeholder styles
@@ -7837,8 +7730,107 @@ function Input({ className, type, ...props }) {
7837
7730
  }
7838
7731
  );
7839
7732
  }
7733
+ function Fieldset2({
7734
+ className,
7735
+ ...props
7736
+ }) {
7737
+ return /* @__PURE__ */ jsxRuntime.jsx(
7738
+ Headless4__namespace.Fieldset,
7739
+ {
7740
+ ...props,
7741
+ className: clsx20__default.default(className, "*:data-[slot=text]:mt-1 [&>*+[data-slot=control]]:mt-6")
7742
+ }
7743
+ );
7744
+ }
7745
+ function Legend2({
7746
+ className,
7747
+ ...props
7748
+ }) {
7749
+ return /* @__PURE__ */ jsxRuntime.jsx(
7750
+ Headless4__namespace.Legend,
7751
+ {
7752
+ "data-slot": "legend",
7753
+ ...props,
7754
+ className: clsx20__default.default(
7755
+ className,
7756
+ "text-base/6 font-semibold text-zinc-950 data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
7757
+ )
7758
+ }
7759
+ );
7760
+ }
7761
+ function FieldGroup({ className, ...props }) {
7762
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "control", ...props, className: clsx20__default.default(className, "space-y-8") });
7763
+ }
7764
+ function Field2({
7765
+ className,
7766
+ ...props
7767
+ }) {
7768
+ return /* @__PURE__ */ jsxRuntime.jsx(
7769
+ Headless4__namespace.Field,
7770
+ {
7771
+ ...props,
7772
+ className: clsx20__default.default(
7773
+ className,
7774
+ "[&>[data-slot=label]+[data-slot=control]]:mt-3",
7775
+ "[&>[data-slot=label]+[data-slot=description]]:mt-1",
7776
+ "[&>[data-slot=description]+[data-slot=control]]:mt-3",
7777
+ "[&>[data-slot=control]+[data-slot=description]]:mt-3",
7778
+ "[&>[data-slot=control]+[data-slot=error]]:mt-3",
7779
+ "*:data-[slot=label]:font-medium"
7780
+ )
7781
+ }
7782
+ );
7783
+ }
7784
+ function FieldLabel({
7785
+ className,
7786
+ ...props
7787
+ }) {
7788
+ return /* @__PURE__ */ jsxRuntime.jsx(
7789
+ Headless4__namespace.Label,
7790
+ {
7791
+ "data-slot": "label",
7792
+ ...props,
7793
+ className: clsx20__default.default(
7794
+ className,
7795
+ "text-base/6 text-zinc-950 select-none data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
7796
+ )
7797
+ }
7798
+ );
7799
+ }
7800
+ function Description3({
7801
+ className,
7802
+ ...props
7803
+ }) {
7804
+ return /* @__PURE__ */ jsxRuntime.jsx(
7805
+ Headless4__namespace.Description,
7806
+ {
7807
+ "data-slot": "description",
7808
+ ...props,
7809
+ className: clsx20__default.default(
7810
+ className,
7811
+ "text-base/6 text-zinc-500 data-disabled:opacity-50 sm:text-sm/6 dark:text-zinc-400"
7812
+ )
7813
+ }
7814
+ );
7815
+ }
7816
+ function ErrorMessage({
7817
+ className,
7818
+ ...props
7819
+ }) {
7820
+ return /* @__PURE__ */ jsxRuntime.jsx(
7821
+ Headless4__namespace.Description,
7822
+ {
7823
+ "data-slot": "error",
7824
+ ...props,
7825
+ className: clsx20__default.default(
7826
+ className,
7827
+ "text-base/6 text-red-600 data-disabled:opacity-50 sm:text-sm/6 dark:text-red-500"
7828
+ )
7829
+ }
7830
+ );
7831
+ }
7840
7832
  function cn2(...inputs) {
7841
- return tailwindMerge.twMerge(clsx4.clsx(inputs));
7833
+ return tailwindMerge.twMerge(clsx20.clsx(inputs));
7842
7834
  }
7843
7835
  var sizeStyles = {
7844
7836
  sm: "text-sm",
@@ -8124,7 +8116,7 @@ function MainNavigation({ navigation }) {
8124
8116
  "aria-label": "Main Navigation",
8125
8117
  role: "navigation",
8126
8118
  id: "nsw-main-navigation",
8127
- className: "shadow-grey-900/5 sticky z-40 hidden bg-gray-100 shadow-md sm:px-6 lg:block lg:px-4 dark:shadow-none",
8119
+ className: "shadow-grey-900/5 bg-grey-100 sticky z-40 hidden shadow-md sm:px-6 lg:block lg:px-4 dark:shadow-none",
8128
8120
  style: {
8129
8121
  top: `${headerHeight}px`,
8130
8122
  transition: "top 0.2s ease-in-out"
@@ -8155,7 +8147,14 @@ function TopLevel({ title, href }) {
8155
8147
  Link10__default.default,
8156
8148
  {
8157
8149
  href,
8158
- className: "text-nsw-grey-900 hover:bg-nsw-grey-900/10 inline-flex items-center gap-x-1 p-4 text-base leading-6 font-bold transition lg:px-8",
8150
+ className: cn(
8151
+ // Base styles
8152
+ "inline-flex items-center gap-x-1 p-4 transition lg:px-8",
8153
+ // Text styles
8154
+ "text-grey-800 text-base leading-6 font-bold",
8155
+ // Hover styles
8156
+ "hover:bg-primary-800/10"
8157
+ ),
8159
8158
  children: title
8160
8159
  },
8161
8160
  title
@@ -8167,13 +8166,28 @@ function MegaMenu({ title, href, links }) {
8167
8166
  Headless4.PopoverButton,
8168
8167
  {
8169
8168
  className: cn(
8170
- "text-nsw-grey-900 hover:bg-nsw-grey-900/10 inline-flex items-center gap-x-1 p-4 text-base leading-6 font-bold transition focus:ring-0 focus:ring-offset-0 focus:outline-none lg:px-8",
8169
+ "inline-flex items-center gap-x-1 p-4 transition lg:px-8",
8170
+ // Text styles
8171
+ "text-grey-800 hover:text-primary-800 dark:text-grey-400 text-base leading-6 font-bold dark:hover:text-white",
8172
+ // Hover styles
8173
+ "hover:text-primary-800 hover:bg-primary-800/10 hover:font-bold",
8174
+ // Focus styles,
8175
+ "",
8176
+ // Border styles
8171
8177
  "border-b-2",
8172
- open ? "border-primary" : "border-transparent"
8178
+ open ? "border-primary-800" : "border-transparent"
8173
8179
  ),
8174
8180
  children: [
8175
8181
  title,
8176
- /* @__PURE__ */ jsxRuntime.jsx(Icons.chevron_down, { className: cn("h-6 w-6 transition", open ? "rotate-180" : "") })
8182
+ /* @__PURE__ */ jsxRuntime.jsx(
8183
+ Icons.chevron_down,
8184
+ {
8185
+ className: cn(
8186
+ "h-6 w-6 transition duration-350 ease-in-out",
8187
+ open ? "rotate-180" : ""
8188
+ )
8189
+ }
8190
+ )
8177
8191
  ]
8178
8192
  }
8179
8193
  ) }),
@@ -8187,11 +8201,11 @@ function MegaMenu({ title, href, links }) {
8187
8201
  Link10__default.default,
8188
8202
  {
8189
8203
  href,
8190
- className: "text-primary flex items-center px-8 py-8 text-xl font-bold hover:bg-gray-50",
8204
+ className: "group text-primary-800 hover:bg-primary-800/10 flex items-center px-8 py-8 text-xl font-bold",
8191
8205
  children: [
8192
8206
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
8193
8207
  title,
8194
- /* @__PURE__ */ jsxRuntime.jsx(Icons.east, { className: "ml-4 h-6 w-6" })
8208
+ /* @__PURE__ */ jsxRuntime.jsx(Icons.east, { className: "ml-4 h-6 w-6 transform transition-transform duration-300 ease-in-out group-hover:translate-x-1" })
8195
8209
  ]
8196
8210
  }
8197
8211
  ),
@@ -8199,12 +8213,31 @@ function MegaMenu({ title, href, links }) {
8199
8213
  "div",
8200
8214
  {
8201
8215
  className: cn(
8202
- "relative mx-2 border-t bg-white p-4 focus-within:ring-2 focus-within:ring-indigo-500 focus-within:ring-inset hover:bg-gray-50 [&:nth-last-child(-n+3)]:border-b"
8216
+ // Base styles
8217
+ "hover:bg-primary-800/10 hover:text-primary-800 relative mx-2 border-t bg-white p-4 hover:font-bold [&:nth-last-child(-n+3)]:border-b",
8218
+ // Hover styles
8219
+ "",
8220
+ // Focus styles
8221
+ "focus-within:rounded-sm focus-within:outline focus-within:outline-inherit"
8203
8222
  ),
8204
- children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-gray-900", children: /* @__PURE__ */ jsxRuntime.jsxs("a", { href: item.href, className: "focus:outline-none", children: [
8205
- /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
8206
- item.title
8207
- ] }) })
8223
+ children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-grey-900 text-base font-semibold", children: /* @__PURE__ */ jsxRuntime.jsxs(
8224
+ Link10__default.default,
8225
+ {
8226
+ href: item.href,
8227
+ className: cn(
8228
+ // Base styles
8229
+ "",
8230
+ // Hover styles
8231
+ "",
8232
+ // Focus styles
8233
+ "outline-none"
8234
+ ),
8235
+ children: [
8236
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
8237
+ item.title
8238
+ ]
8239
+ }
8240
+ ) })
8208
8241
  },
8209
8242
  item.href
8210
8243
  )) })
@@ -8219,23 +8252,23 @@ function Navigation({
8219
8252
  navigation: navigation$1
8220
8253
  }) {
8221
8254
  const pathname = navigation.usePathname();
8222
- return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: clsx4__default.default("text-base lg:text-sm", className), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation$1.map((section, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
8255
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: clsx20__default.default("text-base lg:text-sm", className), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation$1.map((section, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
8223
8256
  section.links ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-display text-foreground font-medium dark:text-white", children: section.title }) : /* @__PURE__ */ jsxRuntime.jsx(
8224
8257
  "ul",
8225
8258
  {
8226
8259
  role: "list",
8227
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8260
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8228
8261
  children: /* @__PURE__ */ jsxRuntime.jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
8229
8262
  Link10__default.default,
8230
8263
  {
8231
8264
  href: section.href || "/",
8232
8265
  onClick: onLinkClick,
8233
- className: clsx4__default.default(
8234
- "text-foreground inline-block border-l border-transparent pl-5 text-base/8 sm:pl-4 sm:text-sm/6",
8235
- "hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold",
8236
- "dark:text-nsw-grey-400",
8237
- "dark:hover:border-nsw-grey-400 dark:hover:text-white",
8238
- section.href === pathname && "border-primary text-primary border-l font-semibold dark:border-white"
8266
+ className: clsx20__default.default(
8267
+ "text-foreground inline-block border-l pl-5 text-base/8 sm:pl-4 sm:text-sm/6",
8268
+ "hover:border-grey-950 hover:text-grey-950 hover:font-semibold",
8269
+ "dark:text-grey-400",
8270
+ "dark:hover:border-grey-400 dark:hover:text-white",
8271
+ section.href === pathname && "border-primary-800 text-primary-800 bg-primary-800/10 border-l font-bold dark:border-white dark:bg-white/20"
8239
8272
  ),
8240
8273
  children: section.title
8241
8274
  }
@@ -8246,18 +8279,18 @@ function Navigation({
8246
8279
  "ul",
8247
8280
  {
8248
8281
  role: "list",
8249
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8282
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8250
8283
  children: section.links && section.links.map((link, index2) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(
8251
8284
  Link10__default.default,
8252
8285
  {
8253
8286
  href: link.href,
8254
8287
  onClick: onLinkClick,
8255
- className: clsx4__default.default(
8288
+ className: clsx20__default.default(
8256
8289
  "text-foreground inline-block border-l border-transparent pl-5 text-base/8 sm:pl-4 sm:text-sm/6",
8257
- "hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold",
8258
- "dark:text-nsw-grey-400",
8259
- "dark:hover:border-nsw-grey-400 dark:hover:text-white",
8260
- link.href === pathname && "border-primary text-primary border-l font-semibold dark:border-white"
8290
+ "hover:border-grey-950 hover:text-grey-950 hover:font-semibold",
8291
+ "dark:text-grey-400",
8292
+ "dark:hover:border-grey-400 dark:hover:text-white",
8293
+ link.href === pathname && "border-primary-800 text-primary-800 bg-primary-800/10 border-l font-bold dark:border-white dark:bg-white/20"
8261
8294
  ),
8262
8295
  children: link.title
8263
8296
  }
@@ -8509,7 +8542,7 @@ function PrevNextLinksPageLink({
8509
8542
  Link10__default.default,
8510
8543
  {
8511
8544
  href,
8512
- className: clsx4__default.default(
8545
+ className: clsx20__default.default(
8513
8546
  "flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300",
8514
8547
  dir === "previous" && "flex-row-reverse"
8515
8548
  ),
@@ -8518,7 +8551,7 @@ function PrevNextLinksPageLink({
8518
8551
  /* @__PURE__ */ jsxRuntime.jsx(
8519
8552
  Icons.east,
8520
8553
  {
8521
- className: clsx4__default.default("size-5 flex-none fill-current", dir === "previous" && "-scale-x-100")
8554
+ className: clsx20__default.default("size-5 flex-none fill-current", dir === "previous" && "-scale-x-100")
8522
8555
  }
8523
8556
  )
8524
8557
  ]
@@ -8761,12 +8794,12 @@ function SidebarNavigation({
8761
8794
  navigation: navigation$1
8762
8795
  }) {
8763
8796
  const pathname = navigation.usePathname();
8764
- return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: clsx4__default.default("text-base lg:text-sm", className), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation$1.map((section, sectionIndex) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
8797
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: clsx20__default.default("text-base lg:text-sm", className), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation$1.map((section, sectionIndex) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
8765
8798
  section.links ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-display text-foreground font-medium dark:text-white", children: section.title }) : /* @__PURE__ */ jsxRuntime.jsx(
8766
8799
  "ul",
8767
8800
  {
8768
8801
  role: "list",
8769
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8802
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8770
8803
  children: /* @__PURE__ */ jsxRuntime.jsx(
8771
8804
  SidebarLink,
8772
8805
  {
@@ -8783,7 +8816,7 @@ function SidebarNavigation({
8783
8816
  "ul",
8784
8817
  {
8785
8818
  role: "list",
8786
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8819
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8787
8820
  children: section.links && section.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
8788
8821
  SidebarLink,
8789
8822
  {
@@ -8802,23 +8835,23 @@ function SidebarNavigation({
8802
8835
  function SidebarLink({ link, pathname, onLinkClick, depth }) {
8803
8836
  const hasChildren = Array.isArray(link.links) && link.links.length > 0;
8804
8837
  const isActive = pathname === link.href;
8805
- const baseLinkClasses = clsx4__default.default(
8806
- "border-l border-transparent pl-4 pr-2 text-base/8 sm:text-sm/6 w-full text-left py-1 rounded-r-md cursor-pointer",
8807
- "hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold hover:bg-primary-800/10",
8808
- "dark:text-nsw-grey-400 dark:hover:border-nsw-grey-400 dark:hover:text-white",
8809
- isActive && "border-primary text-primary font-bold dark:border-white bg-nsw-sky-100 dark:bg-nsw-sky-900/20"
8838
+ const baseLinkClasses = clsx20__default.default(
8839
+ "border-l pl-4 pr-2 text-base/8 sm:text-sm/6 w-full text-left py-1 rounded-r-md cursor-pointer",
8840
+ "hover:border-grey-950 hover:text-grey-950 hover:font-semibold hover:bg-primary-800/10",
8841
+ "dark:text-grey-400 dark:hover:border-grey-400 dark:hover:text-white",
8842
+ isActive && "border-l border-primary-800 text-primary-800 font-bold dark:border-white bg-primary-800/10 dark:bg-white/20"
8810
8843
  );
8811
8844
  return /* @__PURE__ */ jsxRuntime.jsx("li", { className: "-ml-px flex flex-col items-start gap-1", children: hasChildren ? /* @__PURE__ */ jsxRuntime.jsxs(Collapsible, { className: "w-full", defaultOpen: isActive, children: [
8812
8845
  /* @__PURE__ */ jsxRuntime.jsx(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
8813
8846
  "button",
8814
8847
  {
8815
- className: clsx4__default.default(baseLinkClasses, "group flex items-center justify-between gap-1"),
8848
+ className: clsx20__default.default(baseLinkClasses, "group flex items-center justify-between gap-1"),
8816
8849
  children: [
8817
8850
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: link.title }),
8818
8851
  /* @__PURE__ */ jsxRuntime.jsx(
8819
8852
  Icons.chevron_right,
8820
8853
  {
8821
- className: clsx4__default.default(
8854
+ className: clsx20__default.default(
8822
8855
  "ml-2 size-5 transition-transform duration-200",
8823
8856
  "group-data-[state=open]:rotate-90"
8824
8857
  )
@@ -8830,8 +8863,8 @@ function SidebarLink({ link, pathname, onLinkClick, depth }) {
8830
8863
  /* @__PURE__ */ jsxRuntime.jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsxRuntime.jsx(
8831
8864
  "ul",
8832
8865
  {
8833
- className: clsx4__default.default(
8834
- "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0"
8866
+ className: clsx20__default.default(
8867
+ "border-grey-400 dark:border-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0"
8835
8868
  ),
8836
8869
  children: link.links && link.links.map((childLink) => /* @__PURE__ */ jsxRuntime.jsx(
8837
8870
  SidebarLink,
@@ -8853,7 +8886,7 @@ var StepIndicator = React15__namespace.forwardRef(
8853
8886
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "list", ref, className: cn("w-full", className), ...props, children: array.map((step, stepIdx) => /* @__PURE__ */ jsxRuntime.jsx(
8854
8887
  "li",
8855
8888
  {
8856
- className: clsx4__default.default(stepIdx !== array.length - 1 ? "pb-3" : "", "relative"),
8889
+ className: clsx20__default.default(stepIdx !== array.length - 1 ? "pb-3" : "", "relative"),
8857
8890
  children: step.href === pathname && !(step.status === "completed" || step.status === "error" || step.status === "saved" || step.status === "cannot-start") ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: step.status === "in-progress" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8858
8891
  stepIdx !== array.length - 1 ? /* @__PURE__ */ jsxRuntime.jsx(
8859
8892
  "div",
@@ -9099,7 +9132,7 @@ function StepNavigation({
9099
9132
  })),
9100
9133
  [navigation, formStatus, getStatus]
9101
9134
  );
9102
- return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: clsx4__default.default("text-base lg:text-sm", className), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "list", className: "space-y-9", children: navigationWithStatus.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
9135
+ return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: clsx20__default.default("text-base lg:text-sm", className), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { role: "list", className: "space-y-9", children: navigationWithStatus.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
9103
9136
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-display font-medium text-slate-900 dark:text-white", children: section.title }),
9104
9137
  /* @__PURE__ */ jsxRuntime.jsx(StepIndicator, { className: "mt-2 lg:mt-4", array: section.links })
9105
9138
  ] }, section.title)) }) });
@@ -9226,36 +9259,188 @@ function Spinner({ className, size = "md", ...props }) {
9226
9259
  }
9227
9260
  ) });
9228
9261
  }
9229
- function Switch({ className, ...props }) {
9262
+ function SwitchGroup({ className, ...props }) {
9230
9263
  return /* @__PURE__ */ jsxRuntime.jsx(
9231
- SwitchPrimitive__namespace.Root,
9264
+ "div",
9232
9265
  {
9233
- "data-slot": "switch",
9234
- className: cn(
9235
- "peer border-grey-600 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none",
9236
- // state styles
9237
- "data-[state=unchecked]:bg-input data-[state=checked]:bg-primary-800",
9238
- // Dark mode styles
9239
- "dark:data-[state=unchecked]:bg-input/80",
9240
- // Focus styles
9241
- "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
9242
- // aria-invalid styles
9243
- "",
9244
- // Disabled styles
9245
- "disabled:cursor-not-allowed disabled:opacity-50",
9246
- className
9247
- ),
9266
+ "data-slot": "control",
9248
9267
  ...props,
9268
+ className: clsx20__default.default(
9269
+ className,
9270
+ // Basic groups
9271
+ "space-y-3 **:data-[slot=label]:font-normal",
9272
+ // With descriptions
9273
+ "has-data-[slot=description]:space-y-6 has-data-[slot=description]:**:data-[slot=label]:font-medium"
9274
+ )
9275
+ }
9276
+ );
9277
+ }
9278
+ function SwitchField({
9279
+ className,
9280
+ ...props
9281
+ }) {
9282
+ return /* @__PURE__ */ jsxRuntime.jsx(
9283
+ Headless4__namespace.Field,
9284
+ {
9285
+ "data-slot": "field",
9286
+ ...props,
9287
+ className: clsx20__default.default(
9288
+ className,
9289
+ // Base layout
9290
+ "grid grid-cols-[1fr_auto] gap-x-8 gap-y-1 sm:grid-cols-[1fr_auto]",
9291
+ // Control layout
9292
+ "*:data-[slot=control]:col-start-2 *:data-[slot=control]:self-start sm:*:data-[slot=control]:mt-0.5",
9293
+ // Label layout
9294
+ "*:data-[slot=label]:col-start-1 *:data-[slot=label]:row-start-1",
9295
+ // Description layout
9296
+ "*:data-[slot=description]:col-start-1 *:data-[slot=description]:row-start-2",
9297
+ // With description
9298
+ "has-data-[slot=description]:**:data-[slot=label]:font-medium"
9299
+ )
9300
+ }
9301
+ );
9302
+ }
9303
+ var colors2 = {
9304
+ "dark/zinc": [
9305
+ "[--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",
9306
+ "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:var(--color-zinc-700)]/90"
9307
+ ],
9308
+ "dark/white": [
9309
+ "[--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)]",
9310
+ "[--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)]"
9311
+ ],
9312
+ dark: [
9313
+ "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:var(--color-white)]/15",
9314
+ "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white]"
9315
+ ],
9316
+ zinc: [
9317
+ "[--switch-bg-ring:var(--color-zinc-700)]/90 [--switch-bg:var(--color-zinc-600)] dark:[--switch-bg-ring:transparent]",
9318
+ "[--switch-shadow:var(--color-black)]/10 [--switch:white] [--switch-ring:var(--color-zinc-700)]/90"
9319
+ ],
9320
+ white: [
9321
+ "[--switch-bg-ring:var(--color-black)]/15 [--switch-bg:white] dark:[--switch-bg-ring:transparent]",
9322
+ "[--switch-shadow:var(--color-black)]/10 [--switch-ring:transparent] [--switch:var(--color-zinc-950)]"
9323
+ ],
9324
+ red: [
9325
+ "[--switch-bg-ring:var(--color-red-700)]/90 [--switch-bg:var(--color-red-600)] dark:[--switch-bg-ring:transparent]",
9326
+ "[--switch:white] [--switch-ring:var(--color-red-700)]/90 [--switch-shadow:var(--color-red-900)]/20"
9327
+ ],
9328
+ orange: [
9329
+ "[--switch-bg-ring:var(--color-orange-600)]/90 [--switch-bg:var(--color-orange-500)] dark:[--switch-bg-ring:transparent]",
9330
+ "[--switch:white] [--switch-ring:var(--color-orange-600)]/90 [--switch-shadow:var(--color-orange-900)]/20"
9331
+ ],
9332
+ amber: [
9333
+ "[--switch-bg-ring:var(--color-amber-500)]/80 [--switch-bg:var(--color-amber-400)] dark:[--switch-bg-ring:transparent]",
9334
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-amber-950)]"
9335
+ ],
9336
+ yellow: [
9337
+ "[--switch-bg-ring:var(--color-yellow-400)]/80 [--switch-bg:var(--color-yellow-300)] dark:[--switch-bg-ring:transparent]",
9338
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-yellow-950)]"
9339
+ ],
9340
+ lime: [
9341
+ "[--switch-bg-ring:var(--color-lime-400)]/80 [--switch-bg:var(--color-lime-300)] dark:[--switch-bg-ring:transparent]",
9342
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-lime-950)]"
9343
+ ],
9344
+ green: [
9345
+ "[--switch-bg-ring:var(--color-green-700)]/90 [--switch-bg:var(--color-green-600)] dark:[--switch-bg-ring:transparent]",
9346
+ "[--switch:white] [--switch-ring:var(--color-green-700)]/90 [--switch-shadow:var(--color-green-900)]/20"
9347
+ ],
9348
+ emerald: [
9349
+ "[--switch-bg-ring:var(--color-emerald-600)]/90 [--switch-bg:var(--color-emerald-500)] dark:[--switch-bg-ring:transparent]",
9350
+ "[--switch:white] [--switch-ring:var(--color-emerald-600)]/90 [--switch-shadow:var(--color-emerald-900)]/20"
9351
+ ],
9352
+ teal: [
9353
+ "[--switch-bg-ring:var(--color-teal-700)]/90 [--switch-bg:var(--color-teal-600)] dark:[--switch-bg-ring:transparent]",
9354
+ "[--switch:white] [--switch-ring:var(--color-teal-700)]/90 [--switch-shadow:var(--color-teal-900)]/20"
9355
+ ],
9356
+ cyan: [
9357
+ "[--switch-bg-ring:var(--color-cyan-400)]/80 [--switch-bg:var(--color-cyan-300)] dark:[--switch-bg-ring:transparent]",
9358
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-cyan-950)]"
9359
+ ],
9360
+ sky: [
9361
+ "[--switch-bg-ring:var(--color-sky-600)]/80 [--switch-bg:var(--color-sky-500)] dark:[--switch-bg-ring:transparent]",
9362
+ "[--switch:white] [--switch-ring:var(--color-sky-600)]/80 [--switch-shadow:var(--color-sky-900)]/20"
9363
+ ],
9364
+ blue: [
9365
+ "[--switch-bg-ring:var(--color-blue-700)]/90 [--switch-bg:var(--color-blue-600)] dark:[--switch-bg-ring:transparent]",
9366
+ "[--switch:white] [--switch-ring:var(--color-blue-700)]/90 [--switch-shadow:var(--color-blue-900)]/20"
9367
+ ],
9368
+ indigo: [
9369
+ "[--switch-bg-ring:var(--color-indigo-600)]/90 [--switch-bg:var(--color-indigo-500)] dark:[--switch-bg-ring:transparent]",
9370
+ "[--switch:white] [--switch-ring:var(--color-indigo-600)]/90 [--switch-shadow:var(--color-indigo-900)]/20"
9371
+ ],
9372
+ violet: [
9373
+ "[--switch-bg-ring:var(--color-violet-600)]/90 [--switch-bg:var(--color-violet-500)] dark:[--switch-bg-ring:transparent]",
9374
+ "[--switch:white] [--switch-ring:var(--color-violet-600)]/90 [--switch-shadow:var(--color-violet-900)]/20"
9375
+ ],
9376
+ purple: [
9377
+ "[--switch-bg-ring:var(--color-purple-600)]/90 [--switch-bg:var(--color-purple-500)] dark:[--switch-bg-ring:transparent]",
9378
+ "[--switch:white] [--switch-ring:var(--color-purple-600)]/90 [--switch-shadow:var(--color-purple-900)]/20"
9379
+ ],
9380
+ fuchsia: [
9381
+ "[--switch-bg-ring:var(--color-fuchsia-600)]/90 [--switch-bg:var(--color-fuchsia-500)] dark:[--switch-bg-ring:transparent]",
9382
+ "[--switch:white] [--switch-ring:var(--color-fuchsia-600)]/90 [--switch-shadow:var(--color-fuchsia-900)]/20"
9383
+ ],
9384
+ pink: [
9385
+ "[--switch-bg-ring:var(--color-pink-600)]/90 [--switch-bg:var(--color-pink-500)] dark:[--switch-bg-ring:transparent]",
9386
+ "[--switch:white] [--switch-ring:var(--color-pink-600)]/90 [--switch-shadow:var(--color-pink-900)]/20"
9387
+ ],
9388
+ rose: [
9389
+ "[--switch-bg-ring:var(--color-rose-600)]/90 [--switch-bg:var(--color-rose-500)] dark:[--switch-bg-ring:transparent]",
9390
+ "[--switch:white] [--switch-ring:var(--color-rose-600)]/90 [--switch-shadow:var(--color-rose-900)]/20"
9391
+ ]
9392
+ };
9393
+ function Switch2({
9394
+ color = "dark/zinc",
9395
+ className,
9396
+ ...props
9397
+ }) {
9398
+ return /* @__PURE__ */ jsxRuntime.jsx(
9399
+ Headless4__namespace.Switch,
9400
+ {
9401
+ "data-slot": "control",
9402
+ ...props,
9403
+ className: clsx20__default.default(
9404
+ className,
9405
+ // Base styles
9406
+ "group relative isolate inline-flex h-6 w-10 cursor-default rounded-full p-[3px] sm:h-5 sm:w-8",
9407
+ // Transitions
9408
+ "transition duration-0 ease-in-out data-changing:duration-200",
9409
+ // Outline and background color in forced-colors mode so switch is still visible
9410
+ "forced-colors:outline forced-colors:[--switch-bg:Highlight] dark:forced-colors:[--switch-bg:Highlight]",
9411
+ // Unchecked
9412
+ "bg-zinc-200 ring-1 ring-black/5 ring-inset dark:bg-white/5 dark:ring-white/15",
9413
+ // Checked
9414
+ "data-checked:bg-(--switch-bg) data-checked:ring-(--switch-bg-ring) dark:data-checked:bg-(--switch-bg) dark:data-checked:ring-(--switch-bg-ring)",
9415
+ // Focus
9416
+ "focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-blue-500",
9417
+ // Hover
9418
+ "data-hover:ring-black/15 data-hover:data-checked:ring-(--switch-bg-ring)",
9419
+ "dark:data-hover:ring-white/25 dark:data-hover:data-checked:ring-(--switch-bg-ring)",
9420
+ // Disabled
9421
+ "data-disabled:bg-zinc-200 data-disabled:opacity-50 data-disabled:data-checked:bg-zinc-200 data-disabled:data-checked:ring-black/5",
9422
+ "dark:data-disabled:bg-white/15 dark:data-disabled:data-checked:bg-white/15 dark:data-disabled:data-checked:ring-white/15",
9423
+ // Color specific styles
9424
+ colors2[color]
9425
+ ),
9249
9426
  children: /* @__PURE__ */ jsxRuntime.jsx(
9250
- SwitchPrimitive__namespace.Thumb,
9251
- {
9252
- "data-slot": "switch-thumb",
9253
- className: cn(
9254
- "bg-background pointer-events-none block size-4 rounded-full ring-0 transition-transform",
9255
- // state styles
9256
- "data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0",
9257
- // Dark mode styles
9258
- "dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground"
9427
+ "span",
9428
+ {
9429
+ "aria-hidden": "true",
9430
+ className: clsx20__default.default(
9431
+ // Basic layout
9432
+ "pointer-events-none relative inline-block size-4.5 rounded-full sm:size-3.5",
9433
+ // Transition
9434
+ "translate-x-0 transition duration-200 ease-in-out",
9435
+ // Invisible border so the switch is still visible in forced-colors mode
9436
+ "border border-transparent",
9437
+ // Unchecked
9438
+ "bg-white shadow-sm ring-1 ring-black/5",
9439
+ // Checked
9440
+ "group-data-checked:bg-(--switch) group-data-checked:shadow-(--switch-shadow) group-data-checked:ring-(--switch-ring)",
9441
+ "group-data-checked:translate-x-4 sm:group-data-checked:translate-x-3",
9442
+ // Disabled
9443
+ "group-data-checked:group-data-disabled:bg-white group-data-checked:group-data-disabled:shadow-sm group-data-checked:group-data-disabled:ring-black/5"
9259
9444
  )
9260
9445
  }
9261
9446
  )
@@ -9418,7 +9603,7 @@ function TableOfContents({ tableOfContents }) {
9418
9603
  "ol",
9419
9604
  {
9420
9605
  role: "list",
9421
- className: clsx4__default.default(
9606
+ className: clsx20__default.default(
9422
9607
  "mt-3 flex flex-col gap-2",
9423
9608
  "border-grey-900/10 border-l dark:border-white/10",
9424
9609
  "text-grey-700 dark:text-grey-400 text-sm/6"
@@ -9428,7 +9613,7 @@ function TableOfContents({ tableOfContents }) {
9428
9613
  Link10__default.default,
9429
9614
  {
9430
9615
  href: `#${section.id}`,
9431
- className: clsx4__default.default(
9616
+ className: clsx20__default.default(
9432
9617
  "-ml-px inline-block border-l pl-4",
9433
9618
  "hover:border-primary-800 dark:hover:border-white",
9434
9619
  isActive(section) ? "text-primary-800 border-primary-800 font-semibold dark:border-white dark:text-white" : "border-transparent"
@@ -9440,7 +9625,7 @@ function TableOfContents({ tableOfContents }) {
9440
9625
  Link10__default.default,
9441
9626
  {
9442
9627
  href: `#${subSection.id}`,
9443
- className: clsx4__default.default(
9628
+ className: clsx20__default.default(
9444
9629
  "-ml-px inline-block border-l pl-8",
9445
9630
  "hover:border-primary-800 dark:hover:border-white",
9446
9631
  isActive(subSection) ? "text-primary-800 border-primary-800 font-semibold dark:border-white dark:text-white" : "border-transparent"
@@ -9552,7 +9737,7 @@ function Text({ className, trim = "normal", size = 2, label = false, ...props })
9552
9737
  {
9553
9738
  "data-slot": "text",
9554
9739
  ...props,
9555
- className: clsx4__default.default(className, trimClasses[trim], "text-grey-800 dark:text-grey-400", sizeClass)
9740
+ className: clsx20__default.default(className, trimClasses[trim], "text-grey-800 dark:text-grey-400", sizeClass)
9556
9741
  }
9557
9742
  );
9558
9743
  }
@@ -9561,7 +9746,7 @@ function TextLink({ className, ...props }) {
9561
9746
  Link,
9562
9747
  {
9563
9748
  ...props,
9564
- className: clsx4__default.default(
9749
+ className: clsx20__default.default(
9565
9750
  className,
9566
9751
  "text-primary-800 decoration-primary-800/50 data-hover:decoration-primary-800 underline dark:text-white dark:decoration-white/50 dark:data-hover:decoration-white"
9567
9752
  )
@@ -9569,14 +9754,14 @@ function TextLink({ className, ...props }) {
9569
9754
  );
9570
9755
  }
9571
9756
  function Strong({ className, ...props }) {
9572
- return /* @__PURE__ */ jsxRuntime.jsx("strong", { ...props, className: clsx4__default.default(className, "text-grey-950 font-medium dark:text-white") });
9757
+ return /* @__PURE__ */ jsxRuntime.jsx("strong", { ...props, className: clsx20__default.default(className, "text-grey-950 font-medium dark:text-white") });
9573
9758
  }
9574
9759
  function Code({ className, ...props }) {
9575
9760
  return /* @__PURE__ */ jsxRuntime.jsx(
9576
9761
  "code",
9577
9762
  {
9578
9763
  ...props,
9579
- className: clsx4__default.default(
9764
+ className: clsx20__default.default(
9580
9765
  className,
9581
9766
  "border-grey-950/10 bg-grey-950/[2.5%] text-grey-950 rounded-sm border px-0.5 text-sm font-medium sm:text-[0.8125rem] dark:border-white/20 dark:bg-white/5 dark:text-white"
9582
9767
  )
@@ -10072,10 +10257,10 @@ var chartColors = {
10072
10257
  var AvailableChartColors = Object.keys(
10073
10258
  chartColors
10074
10259
  );
10075
- var constructCategoryColors = (categories, colors2) => {
10260
+ var constructCategoryColors = (categories, colors3) => {
10076
10261
  const categoryColors = /* @__PURE__ */ new Map();
10077
10262
  categories.forEach((category, index) => {
10078
- categoryColors.set(category, colors2[index % colors2.length]);
10263
+ categoryColors.set(category, colors3[index % colors3.length]);
10079
10264
  });
10080
10265
  return categoryColors;
10081
10266
  };
@@ -10208,7 +10393,7 @@ var ScrollButton = ({ icon, onClick, disabled }) => {
10208
10393
  var Legend4 = React15__namespace.default.forwardRef((props, ref) => {
10209
10394
  const {
10210
10395
  categories,
10211
- colors: colors2 = AvailableChartColors,
10396
+ colors: colors3 = AvailableChartColors,
10212
10397
  className,
10213
10398
  onClickLegendItem,
10214
10399
  activeLegend,
@@ -10300,7 +10485,7 @@ var Legend4 = React15__namespace.default.forwardRef((props, ref) => {
10300
10485
  LegendItem,
10301
10486
  {
10302
10487
  name: category,
10303
- color: colors2[index],
10488
+ color: colors3[index],
10304
10489
  onClick: onClickLegendItem,
10305
10490
  activeLegend
10306
10491
  },
@@ -10453,7 +10638,7 @@ var AreaChart = React15__namespace.default.forwardRef((props, ref) => {
10453
10638
  data = [],
10454
10639
  categories = [],
10455
10640
  index,
10456
- colors: colors2 = AvailableChartColors,
10641
+ colors: colors3 = AvailableChartColors,
10457
10642
  valueFormatter = (value) => value.toString(),
10458
10643
  startEndOnly = false,
10459
10644
  showXAxis = true,
@@ -10486,7 +10671,7 @@ var AreaChart = React15__namespace.default.forwardRef((props, ref) => {
10486
10671
  const [legendHeight, setLegendHeight] = React15__namespace.default.useState(60);
10487
10672
  const [activeDot, setActiveDot] = React15__namespace.default.useState(void 0);
10488
10673
  const [activeLegend, setActiveLegend] = React15__namespace.default.useState(void 0);
10489
- const categoryColors = constructCategoryColors(categories, colors2);
10674
+ const categoryColors = constructCategoryColors(categories, colors3);
10490
10675
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
10491
10676
  const hasOnValueChange = !!onValueChange;
10492
10677
  const stacked = type === "stacked" || type === "percent";
@@ -10967,7 +11152,7 @@ var ScrollButton2 = ({ icon, onClick, disabled }) => {
10967
11152
  var Legend5 = React15__namespace.default.forwardRef((props, ref) => {
10968
11153
  const {
10969
11154
  categories,
10970
- colors: colors2 = AvailableChartColors,
11155
+ colors: colors3 = AvailableChartColors,
10971
11156
  className,
10972
11157
  onClickLegendItem,
10973
11158
  activeLegend,
@@ -11059,7 +11244,7 @@ var Legend5 = React15__namespace.default.forwardRef((props, ref) => {
11059
11244
  LegendItem2,
11060
11245
  {
11061
11246
  name: category,
11062
- color: colors2[index],
11247
+ color: colors3[index],
11063
11248
  onClick: onClickLegendItem,
11064
11249
  activeLegend
11065
11250
  },
@@ -11211,7 +11396,7 @@ var BarChart = React15__namespace.default.forwardRef((props, forwardedRef) => {
11211
11396
  data = [],
11212
11397
  categories = [],
11213
11398
  index,
11214
- colors: colors2 = AvailableChartColors,
11399
+ colors: colors3 = AvailableChartColors,
11215
11400
  valueFormatter = (value) => value.toString(),
11216
11401
  startEndOnly = false,
11217
11402
  showXAxis = true,
@@ -11243,7 +11428,7 @@ var BarChart = React15__namespace.default.forwardRef((props, forwardedRef) => {
11243
11428
  const paddingValue = !showXAxis && !showYAxis || startEndOnly && !showYAxis ? 0 : 20;
11244
11429
  const [legendHeight, setLegendHeight] = React15__namespace.default.useState(60);
11245
11430
  const [activeLegend, setActiveLegend] = React15__namespace.default.useState(void 0);
11246
- const categoryColors = constructCategoryColors(categories, colors2);
11431
+ const categoryColors = constructCategoryColors(categories, colors3);
11247
11432
  const [activeBar, setActiveBar] = React15__namespace.default.useState(void 0);
11248
11433
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
11249
11434
  const hasOnValueChange = !!onValueChange;
@@ -11686,12 +11871,12 @@ var Tooltip5 = React15__namespace.default.forwardRef(
11686
11871
  }
11687
11872
  );
11688
11873
  Tooltip5.displayName = "Tooltip";
11689
- var getMarkerBgColor = (marker, values, colors2) => {
11874
+ var getMarkerBgColor = (marker, values, colors3) => {
11690
11875
  if (marker === void 0) return "";
11691
11876
  if (marker === 0) {
11692
11877
  for (let index = 0; index < values.length; index++) {
11693
11878
  if (values[index] > 0) {
11694
- return getColorClassName(colors2[index], "bg");
11879
+ return getColorClassName(colors3[index], "bg");
11695
11880
  }
11696
11881
  }
11697
11882
  }
@@ -11699,10 +11884,10 @@ var getMarkerBgColor = (marker, values, colors2) => {
11699
11884
  for (let index = 0; index < values.length; index++) {
11700
11885
  prefixSum += values[index];
11701
11886
  if (prefixSum >= marker) {
11702
- return getColorClassName(colors2[index], "bg");
11887
+ return getColorClassName(colors3[index], "bg");
11703
11888
  }
11704
11889
  }
11705
- return getColorClassName(colors2[values.length - 1], "bg");
11890
+ return getColorClassName(colors3[values.length - 1], "bg");
11706
11891
  };
11707
11892
  var getPositionLeft = (value, maxValue) => value ? value / maxValue * 100 : 0;
11708
11893
  var sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum + num, 0);
@@ -11748,10 +11933,10 @@ var BarLabels = ({ values }) => {
11748
11933
  );
11749
11934
  };
11750
11935
  var CategoryBar = React15__namespace.default.forwardRef(
11751
- ({ values = [], colors: colors2 = AvailableChartColors, marker, showLabels = true, className, ...props }, forwardedRef) => {
11936
+ ({ values = [], colors: colors3 = AvailableChartColors, marker, showLabels = true, className, ...props }, forwardedRef) => {
11752
11937
  const markerBgColor = React15__namespace.default.useMemo(
11753
- () => getMarkerBgColor(marker?.value, values, colors2),
11754
- [marker, values, colors2]
11938
+ () => getMarkerBgColor(marker?.value, values, colors3),
11939
+ [marker, values, colors3]
11755
11940
  );
11756
11941
  const maxValue = React15__namespace.default.useMemo(() => sumNumericArray(values), [values]);
11757
11942
  const adjustedMarkerValue = React15__namespace.default.useMemo(() => {
@@ -11777,7 +11962,7 @@ var CategoryBar = React15__namespace.default.forwardRef(
11777
11962
  showLabels ? /* @__PURE__ */ jsxRuntime.jsx(BarLabels, { values }) : null,
11778
11963
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex h-2 w-full items-center", children: [
11779
11964
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full flex-1 items-center gap-0.5 overflow-hidden rounded-full", children: values.map((value, index) => {
11780
- const barColor = colors2[index] ?? "gray";
11965
+ const barColor = colors3[index] ?? "gray";
11781
11966
  const percentage = value / maxValue * 100;
11782
11967
  return /* @__PURE__ */ jsxRuntime.jsx(
11783
11968
  "div",
@@ -12798,7 +12983,7 @@ var DonutChart = React15__namespace.default.forwardRef(
12798
12983
  data = [],
12799
12984
  value,
12800
12985
  category,
12801
- colors: colors2 = AvailableChartColors,
12986
+ colors: colors3 = AvailableChartColors,
12802
12987
  variant = "donut",
12803
12988
  valueFormatter = (value2) => value2.toString(),
12804
12989
  label,
@@ -12815,7 +13000,7 @@ var DonutChart = React15__namespace.default.forwardRef(
12815
13000
  const isDonut = variant === "donut";
12816
13001
  const parsedLabelInput = parseLabelInput(label, valueFormatter, data, value);
12817
13002
  const categories = Array.from(new Set(data.map((item) => item[category])));
12818
- const categoryColors = constructCategoryColors(categories, colors2);
13003
+ const categoryColors = constructCategoryColors(categories, colors3);
12819
13004
  const prevActiveRef = React15__namespace.default.useRef(void 0);
12820
13005
  const prevCategoryRef = React15__namespace.default.useRef(void 0);
12821
13006
  const handleShapeClick = (data2, index, event) => {
@@ -13019,7 +13204,7 @@ var ScrollButton4 = ({ icon, onClick, disabled }) => {
13019
13204
  var Legend7 = React15__namespace.default.forwardRef((props, ref) => {
13020
13205
  const {
13021
13206
  categories,
13022
- colors: colors2 = AvailableChartColors,
13207
+ colors: colors3 = AvailableChartColors,
13023
13208
  className,
13024
13209
  onClickLegendItem,
13025
13210
  activeLegend,
@@ -13111,7 +13296,7 @@ var Legend7 = React15__namespace.default.forwardRef((props, ref) => {
13111
13296
  LegendItem4,
13112
13297
  {
13113
13298
  name: category,
13114
- color: colors2[index],
13299
+ color: colors3[index],
13115
13300
  onClick: onClickLegendItem,
13116
13301
  activeLegend
13117
13302
  },
@@ -13265,7 +13450,7 @@ var LineChart = React15__namespace.default.forwardRef((props, ref) => {
13265
13450
  data = [],
13266
13451
  categories = [],
13267
13452
  index,
13268
- colors: colors2 = AvailableChartColors,
13453
+ colors: colors3 = AvailableChartColors,
13269
13454
  valueFormatter = (value) => value.toString(),
13270
13455
  startEndOnly = false,
13271
13456
  showXAxis = true,
@@ -13296,7 +13481,7 @@ var LineChart = React15__namespace.default.forwardRef((props, ref) => {
13296
13481
  const [legendHeight, setLegendHeight] = React15__namespace.default.useState(60);
13297
13482
  const [activeDot, setActiveDot] = React15__namespace.default.useState(void 0);
13298
13483
  const [activeLegend, setActiveLegend] = React15__namespace.default.useState(void 0);
13299
- const categoryColors = constructCategoryColors(categories, colors2);
13484
+ const categoryColors = constructCategoryColors(categories, colors3);
13300
13485
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13301
13486
  const hasOnValueChange = !!onValueChange;
13302
13487
  const prevActiveRef = React15__namespace.default.useRef(void 0);
@@ -13803,7 +13988,7 @@ var SparkAreaChart = React15__namespace.default.forwardRef(
13803
13988
  data = [],
13804
13989
  categories = [],
13805
13990
  index,
13806
- colors: colors2 = AvailableChartColors,
13991
+ colors: colors3 = AvailableChartColors,
13807
13992
  autoMinValue = false,
13808
13993
  minValue,
13809
13994
  maxValue,
@@ -13813,7 +13998,7 @@ var SparkAreaChart = React15__namespace.default.forwardRef(
13813
13998
  fill = "gradient",
13814
13999
  ...other
13815
14000
  } = props;
13816
- const categoryColors = constructCategoryColors(categories, colors2);
14001
+ const categoryColors = constructCategoryColors(categories, colors3);
13817
14002
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13818
14003
  const stacked = type === "stacked" || type === "percent";
13819
14004
  const areaId = React15__namespace.default.useId();
@@ -13914,7 +14099,7 @@ var SparkLineChart = React15__namespace.default.forwardRef(
13914
14099
  data = [],
13915
14100
  categories = [],
13916
14101
  index,
13917
- colors: colors2 = AvailableChartColors,
14102
+ colors: colors3 = AvailableChartColors,
13918
14103
  autoMinValue = false,
13919
14104
  minValue,
13920
14105
  maxValue,
@@ -13922,7 +14107,7 @@ var SparkLineChart = React15__namespace.default.forwardRef(
13922
14107
  className,
13923
14108
  ...other
13924
14109
  } = props;
13925
- const categoryColors = constructCategoryColors(categories, colors2);
14110
+ const categoryColors = constructCategoryColors(categories, colors3);
13926
14111
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13927
14112
  return /* @__PURE__ */ jsxRuntime.jsx(
13928
14113
  "div",
@@ -13980,7 +14165,7 @@ var SparkBarChart = React15__namespace.default.forwardRef((props, forwardedRef)
13980
14165
  data = [],
13981
14166
  categories = [],
13982
14167
  index,
13983
- colors: colors2 = AvailableChartColors,
14168
+ colors: colors3 = AvailableChartColors,
13984
14169
  autoMinValue = false,
13985
14170
  minValue,
13986
14171
  maxValue,
@@ -13989,7 +14174,7 @@ var SparkBarChart = React15__namespace.default.forwardRef((props, forwardedRef)
13989
14174
  className,
13990
14175
  ...other
13991
14176
  } = props;
13992
- const categoryColors = constructCategoryColors(categories, colors2);
14177
+ const categoryColors = constructCategoryColors(categories, colors3);
13993
14178
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13994
14179
  const stacked = type === "stacked" || type === "percent";
13995
14180
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -14623,7 +14808,7 @@ function Prose({
14623
14808
  return /* @__PURE__ */ jsxRuntime.jsx(
14624
14809
  Component,
14625
14810
  {
14626
- className: clsx4__default.default(
14811
+ className: clsx20__default.default(
14627
14812
  className,
14628
14813
  "prose dark:!prose-invert max-w-none",
14629
14814
  // headings
@@ -14643,6 +14828,217 @@ function Prose({
14643
14828
  }
14644
14829
  );
14645
14830
  }
14831
+ function Listbox2({
14832
+ className,
14833
+ placeholder,
14834
+ autoFocus,
14835
+ "aria-label": ariaLabel,
14836
+ children: options,
14837
+ ...props
14838
+ }) {
14839
+ return /* @__PURE__ */ jsxRuntime.jsxs(Headless4__namespace.Listbox, { ...props, multiple: false, children: [
14840
+ /* @__PURE__ */ jsxRuntime.jsxs(
14841
+ Headless4__namespace.ListboxButton,
14842
+ {
14843
+ autoFocus,
14844
+ "data-slot": "control",
14845
+ "aria-label": ariaLabel,
14846
+ className: clsx20__default.default([
14847
+ className,
14848
+ // Basic layout
14849
+ "group relative block w-full",
14850
+ // Background color + shadow applied to inset pseudo element, so shadow blends with border in light mode
14851
+ "before:absolute before:inset-px before:rounded-[calc(var(--radius)-1px)] before:bg-white before:shadow-sm",
14852
+ // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo
14853
+ "dark:before:hidden",
14854
+ // Hide default focus styles
14855
+ "focus:outline-hidden",
14856
+ // Focus ring
14857
+ "after:pointer-events-none after:absolute after:inset-0 after:rounded-sm after:ring-transparent after:ring-offset-2",
14858
+ "data-focus:after:ring-primary-650/70 data-focus:after:ring-2 data-focus:after:ring-offset-white",
14859
+ "",
14860
+ // Disabled state
14861
+ "data-disabled:before:bg-grey-950/5 data-disabled:opacity-50 data-disabled:before:shadow-none"
14862
+ ]),
14863
+ children: [
14864
+ /* @__PURE__ */ jsxRuntime.jsx(
14865
+ Headless4__namespace.ListboxSelectedOption,
14866
+ {
14867
+ as: "span",
14868
+ options,
14869
+ placeholder: placeholder && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-grey-500 block truncate", children: placeholder }),
14870
+ className: clsx20__default.default([
14871
+ "cursor-pointer",
14872
+ // Basic layout
14873
+ "relative block w-full appearance-none rounded-sm py-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(3.5)-1px)]",
14874
+ // Set minimum height for when no value is selected
14875
+ "min-h-16 sm:min-h-12",
14876
+ // Horizontal padding
14877
+ "pr-[calc(--spacing(7)-1px)] pl-[calc(--spacing(4.5)-1px)] sm:pl-[calc(--spacing(4)-1px)]",
14878
+ // Typography
14879
+ "text-grey-950 placeholder:text-grey-500 text-left text-base/6 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]",
14880
+ // Border
14881
+ "border-grey-600 group-data-active:border-grey-750 group-data-hover:border-grey-700 border dark:border-white/10 dark:group-data-active:border-white/20 dark:group-data-hover:border-white/20",
14882
+ // Background color
14883
+ "bg-transparent dark:bg-white/5",
14884
+ // Invalid state
14885
+ "group-data-invalid:border-red-500 group-data-hover:group-data-invalid:border-red-500 dark:group-data-invalid:border-red-600 dark:data-hover:group-data-invalid:border-red-600",
14886
+ // Disabled state
14887
+ "group-data-disabled:border-grey-950/20 group-data-disabled:opacity-100 dark:group-data-disabled:border-white/15 dark:group-data-disabled:bg-white/2.5 dark:group-data-disabled:data-hover:border-white/15"
14888
+ ])
14889
+ }
14890
+ ),
14891
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-4", children: /* @__PURE__ */ jsxRuntime.jsx(Icons.unfold_more, { className: "stroke-grey-800 group-data-disabled:stroke-grey-600 dark:stroke-grey-400 size-5 sm:size-4 forced-colors:stroke-[CanvasText]" }) })
14892
+ ]
14893
+ }
14894
+ ),
14895
+ /* @__PURE__ */ jsxRuntime.jsx(
14896
+ Headless4__namespace.ListboxOptions,
14897
+ {
14898
+ transition: true,
14899
+ anchor: "selection start",
14900
+ className: clsx20__default.default(
14901
+ // Anchor positioning
14902
+ "[--anchor-offset:-1.625rem] [--anchor-padding:--spacing(4)] sm:[--anchor-offset:-1.375rem]",
14903
+ // Base styles
14904
+ "isolate w-max min-w-[calc(var(--button-width)+1.75rem)] scroll-py-1 rounded-md p-1 select-none",
14905
+ // Invisible border that is only visible in `forced-colors` mode for accessibility purposes
14906
+ "outline outline-transparent focus:outline-hidden",
14907
+ // Handle scrolling when menu won't fit in viewport
14908
+ "overflow-y-scroll overscroll-contain",
14909
+ // Popover background
14910
+ "dark:bg-grey-800/75 bg-white/75 backdrop-blur-xl",
14911
+ // Shadows
14912
+ "ring-grey-950/10 shadow-lg ring-1 dark:ring-white/10 dark:ring-inset",
14913
+ // Transitions
14914
+ "transition-opacity duration-100 ease-in data-closed:data-leave:opacity-0 data-transition:pointer-events-none"
14915
+ ),
14916
+ children: options
14917
+ }
14918
+ )
14919
+ ] });
14920
+ }
14921
+ function ListboxOption2({
14922
+ children,
14923
+ className,
14924
+ ...props
14925
+ }) {
14926
+ const sharedClasses = clsx20__default.default(
14927
+ // Base
14928
+ "flex min-w-0 items-center",
14929
+ // Icons
14930
+ "*:data-[slot=icon]:size-5 *:data-[slot=icon]:shrink-0 sm:*:data-[slot=icon]:size-4",
14931
+ "*:data-[slot=icon]:text-grey-500 group-data-focus/option:*:data-[slot=icon]:text-white dark:*:data-[slot=icon]:text-grey-400",
14932
+ "forced-colors:*:data-[slot=icon]:text-[CanvasText] forced-colors:group-data-focus/option:*:data-[slot=icon]:text-[Canvas]",
14933
+ // Avatars
14934
+ "*:data-[slot=avatar]:-mx-0.5 *:data-[slot=avatar]:size-6 sm:*:data-[slot=avatar]:size-5"
14935
+ );
14936
+ return /* @__PURE__ */ jsxRuntime.jsx(Headless4__namespace.ListboxOption, { as: React15.Fragment, ...props, children: ({ selectedOption }) => {
14937
+ if (selectedOption) {
14938
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx20__default.default(className, sharedClasses), children });
14939
+ }
14940
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14941
+ "div",
14942
+ {
14943
+ className: clsx20__default.default(
14944
+ // Basic layout
14945
+ "group/option grid cursor-pointer grid-cols-[--spacing(5)_1fr] items-baseline gap-x-2 rounded-sm py-2.5 pr-3.5 pl-2 sm:grid-cols-[--spacing(4)_1fr] sm:py-1.5 sm:pr-3 sm:pl-1.5",
14946
+ // Typography
14947
+ "text-grey-950 text-base/6 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]",
14948
+ // Focus
14949
+ "data-focus:bg-primary-800/10 data-focus:text-primary-800 outline-hidden data-focus:cursor-pointer data-focus:font-bold",
14950
+ // Forced colors mode
14951
+ "forced-color-adjust-none forced-colors:data-focus:bg-[Highlight] forced-colors:data-focus:text-[HighlightText]",
14952
+ // Disabled
14953
+ "data-disabled:opacity-50"
14954
+ ),
14955
+ children: [
14956
+ /* @__PURE__ */ jsxRuntime.jsx(
14957
+ "svg",
14958
+ {
14959
+ className: "relative hidden size-5 self-center stroke-current group-data-selected/option:inline sm:size-4",
14960
+ viewBox: "0 0 16 16",
14961
+ fill: "none",
14962
+ "aria-hidden": "true",
14963
+ children: /* @__PURE__ */ jsxRuntime.jsx(
14964
+ "path",
14965
+ {
14966
+ d: "M4 8.5l3 3L12 4",
14967
+ strokeWidth: 1.5,
14968
+ strokeLinecap: "round",
14969
+ strokeLinejoin: "round"
14970
+ }
14971
+ )
14972
+ }
14973
+ ),
14974
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: clsx20__default.default(className, sharedClasses, "col-start-2"), children })
14975
+ ]
14976
+ }
14977
+ );
14978
+ } });
14979
+ }
14980
+ function ListboxLabel({ className, ...props }) {
14981
+ return /* @__PURE__ */ jsxRuntime.jsx(
14982
+ "span",
14983
+ {
14984
+ ...props,
14985
+ className: clsx20__default.default(className, "ml-2.5 truncate first:ml-0 sm:ml-2 sm:first:ml-0")
14986
+ }
14987
+ );
14988
+ }
14989
+ function ListboxDescription({
14990
+ className,
14991
+ children,
14992
+ ...props
14993
+ }) {
14994
+ return /* @__PURE__ */ jsxRuntime.jsx(
14995
+ "span",
14996
+ {
14997
+ ...props,
14998
+ className: clsx20__default.default(
14999
+ className,
15000
+ "text-grey-500 dark:text-grey-400 flex flex-1 overflow-hidden group-data-focus/option:text-white before:w-2 before:min-w-0 before:shrink"
15001
+ ),
15002
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", children })
15003
+ }
15004
+ );
15005
+ }
15006
+ function DescriptionList({ className, ...props }) {
15007
+ return /* @__PURE__ */ jsxRuntime.jsx(
15008
+ "dl",
15009
+ {
15010
+ ...props,
15011
+ className: clsx20__default.default(
15012
+ className,
15013
+ "grid grid-cols-1 text-base/6 sm:grid-cols-[min(50%,--spacing(80))_auto] sm:text-sm/6"
15014
+ )
15015
+ }
15016
+ );
15017
+ }
15018
+ function DescriptionTerm({ className, ...props }) {
15019
+ return /* @__PURE__ */ jsxRuntime.jsx(
15020
+ "dt",
15021
+ {
15022
+ ...props,
15023
+ className: clsx20__default.default(
15024
+ className,
15025
+ "border-grey-950/5 text-grey-600 sm:border-grey-950/5 dark:text-grey-400 col-start-1 border-t pt-3 first:border-none sm:border-t sm:py-3 dark:border-white/5 sm:dark:border-white/5"
15026
+ )
15027
+ }
15028
+ );
15029
+ }
15030
+ function DescriptionDetails({ className, ...props }) {
15031
+ return /* @__PURE__ */ jsxRuntime.jsx(
15032
+ "dd",
15033
+ {
15034
+ ...props,
15035
+ className: clsx20__default.default(
15036
+ className,
15037
+ "text-grey-950 sm:border-grey-950/5 pt-1 pb-3 sm:border-t sm:py-3 sm:nth-2:border-none dark:text-white dark:sm:border-white/5"
15038
+ )
15039
+ }
15040
+ );
15041
+ }
14646
15042
  var MOBILE_BREAKPOINT = 768;
14647
15043
  function useIsMobile() {
14648
15044
  const [isMobile, setIsMobile] = React15__namespace.useState(void 0);
@@ -14892,7 +15288,10 @@ exports.ContextMenuSub = ContextMenuSub;
14892
15288
  exports.ContextMenuSubContent = ContextMenuSubContent;
14893
15289
  exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
14894
15290
  exports.ContextMenuTrigger = ContextMenuTrigger;
14895
- exports.Description = Description2;
15291
+ exports.Description = Description3;
15292
+ exports.DescriptionDetails = DescriptionDetails;
15293
+ exports.DescriptionList = DescriptionList;
15294
+ exports.DescriptionTerm = DescriptionTerm;
14896
15295
  exports.Dialog = Dialog;
14897
15296
  exports.DialogClose = DialogClose;
14898
15297
  exports.DialogContent = DialogContent;
@@ -14935,6 +15334,7 @@ exports.ExpandableSearch = ExpandableSearch;
14935
15334
  exports.ExpandableSearchField = ExpandableSearchField;
14936
15335
  exports.Field = Field2;
14937
15336
  exports.FieldGroup = FieldGroup;
15337
+ exports.FieldLabel = FieldLabel;
14938
15338
  exports.Fieldset = Fieldset2;
14939
15339
  exports.Footer = Footer;
14940
15340
  exports.FooterAcknowledgement = FooterAcknowledgement;
@@ -14961,11 +15361,15 @@ exports.InputOTP = InputOTP;
14961
15361
  exports.InputOTPGroup = InputOTPGroup;
14962
15362
  exports.InputOTPSeparator = InputOTPSeparator;
14963
15363
  exports.InputOTPSlot = InputOTPSlot;
14964
- exports.Label = Label4;
15364
+ exports.Label = Label3;
14965
15365
  exports.Legend = Legend2;
14966
15366
  exports.LineChart = LineChart;
14967
15367
  exports.Link = Link;
14968
15368
  exports.List = _List;
15369
+ exports.Listbox = Listbox2;
15370
+ exports.ListboxDescription = ListboxDescription;
15371
+ exports.ListboxLabel = ListboxLabel;
15372
+ exports.ListboxOption = ListboxOption2;
14969
15373
  exports.Logo = Logo;
14970
15374
  exports.MainNavigation = MainNavigation;
14971
15375
  exports.Masthead = Masthead;
@@ -15052,7 +15456,9 @@ exports.Spinner = Spinner;
15052
15456
  exports.StepIndicator = StepIndicator;
15053
15457
  exports.StepNavigation = StepNavigation;
15054
15458
  exports.Strong = Strong;
15055
- exports.Switch = Switch;
15459
+ exports.Switch = Switch2;
15460
+ exports.SwitchField = SwitchField;
15461
+ exports.SwitchGroup = SwitchGroup;
15056
15462
  exports.Table = Table;
15057
15463
  exports.TableBody = TableBody;
15058
15464
  exports.TableCaption = TableCaption;