@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.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
- import clsx4, { clsx } from 'clsx';
3
+ import clsx20, { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { cva } from 'class-variance-authority';
6
6
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
@@ -8,7 +8,7 @@ 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 React15 from 'react';
11
- import React15__default, { forwardRef, useEffect, createContext, useRef, useState, useMemo, useContext, useLayoutEffect } from 'react';
11
+ import React15__default, { forwardRef, useEffect, createContext, useRef, useState, useMemo, useContext, Fragment as Fragment$1, useLayoutEffect } 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';
@@ -27,6 +27,7 @@ import 'prismjs/components/prism-tsx';
27
27
  import 'prismjs/components/prism-typescript';
28
28
  import * as SelectPrimitive from '@radix-ui/react-select';
29
29
  import * as PopoverPrimitive from '@radix-ui/react-popover';
30
+ import * as LabelPrimitive from '@radix-ui/react-label';
30
31
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
31
32
  import { CircleIcon, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, ArrowLeft, ArrowRight, MinusIcon } from 'lucide-react';
32
33
  import * as TabsPrimitive2 from '@radix-ui/react-tabs';
@@ -39,7 +40,6 @@ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
39
40
  import { Drawer as Drawer$1 } from 'vaul';
40
41
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
41
42
  import { FormProvider, Controller, useFormContext, useFormState } from 'react-hook-form';
42
- import * as LabelPrimitive from '@radix-ui/react-label';
43
43
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
44
44
  import * as TogglePrimitive from '@radix-ui/react-toggle';
45
45
  import * as MenubarPrimitive from '@radix-ui/react-menubar';
@@ -48,7 +48,6 @@ import * as ProgressPrimitive from '@radix-ui/react-progress';
48
48
  import * as ResizablePrimitive from 'react-resizable-panels';
49
49
  import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
50
50
  import * as SliderPrimitive from '@radix-ui/react-slider';
51
- import * as SwitchPrimitive from '@radix-ui/react-switch';
52
51
  import * as RechartsPrimitive from 'recharts';
53
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';
54
53
  import { RiArrowLeftSLine, RiArrowRightSLine } from '@remixicon/react';
@@ -682,7 +681,7 @@ var Button2 = forwardRef(function Button3({ className, variant, color, size, chi
682
681
  {
683
682
  "data-variant": variant,
684
683
  ...props,
685
- className: clsx4(classes, "cursor-pointer"),
684
+ className: clsx20(classes, "cursor-pointer"),
686
685
  ref,
687
686
  children: /* @__PURE__ */ jsx(TouchTarget, { children })
688
687
  }
@@ -1147,7 +1146,7 @@ var BadgeButton = forwardRef(function BadgeButton2({
1147
1146
  children,
1148
1147
  ...props
1149
1148
  }, ref) {
1150
- const classes = clsx4(className, focusOutline[color], [
1149
+ const classes = clsx20(className, focusOutline[color], [
1151
1150
  // Base
1152
1151
  "group relative inline-flex rounded-sm",
1153
1152
  // Focus
@@ -1169,7 +1168,7 @@ var BadgeButton = forwardRef(function BadgeButton2({
1169
1168
  {
1170
1169
  "data-variant": variant,
1171
1170
  ...props,
1172
- className: clsx4(classes, "cursor-pointer"),
1171
+ className: clsx20(classes, "cursor-pointer"),
1173
1172
  ref,
1174
1173
  children: /* @__PURE__ */ jsx(TouchTarget, { children: /* @__PURE__ */ jsx(Badge, { variant, color, size, children }) })
1175
1174
  }
@@ -1194,10 +1193,10 @@ var lightenColor = (color, factor = 2) => {
1194
1193
  var addStartStopToColorArray = (colorArray) => {
1195
1194
  const darkColor = (color) => darkenColor(color, 0.3);
1196
1195
  const lightColor = (color) => lightenColor(color, 2);
1197
- const colors2 = [...colorArray];
1198
- colors2.unshift(darkColor(colorArray[0]));
1199
- colors2.push(lightColor(colorArray[colorArray.length - 1]));
1200
- return colors2;
1196
+ const colors3 = [...colorArray];
1197
+ colors3.unshift(darkColor(colorArray[0]));
1198
+ colors3.push(lightColor(colorArray[colorArray.length - 1]));
1199
+ return colors3;
1201
1200
  };
1202
1201
  var interpolateColors = (color1, color2, steps) => {
1203
1202
  const results = [];
@@ -1231,12 +1230,12 @@ var GenerateInterpolatedColors = (colorArray) => {
1231
1230
  const finalPaletteColours = fullPalette.slice(1, -1).reverse();
1232
1231
  return finalPaletteColours;
1233
1232
  };
1234
- var getSurroundingColors = (colors2, themeColor) => {
1235
- const index = colors2.findIndex((color) => color.oklch === themeColor);
1233
+ var getSurroundingColors = (colors3, themeColor) => {
1234
+ const index = colors3.findIndex((color) => color.oklch === themeColor);
1236
1235
  if (index === -1) return [];
1237
1236
  const start = Math.max(0, index - 3);
1238
- const end = Math.min(colors2.length, index + 4);
1239
- const surroundingColors = colors2.slice(start, end);
1237
+ const end = Math.min(colors3.length, index + 4);
1238
+ const surroundingColors = colors3.slice(start, end);
1240
1239
  return surroundingColors;
1241
1240
  };
1242
1241
  var colorDataArray = (colorsToUse, paletteName, format, output, variant) => {
@@ -1360,12 +1359,12 @@ var renderColorOutputToDTFM = (colorsToUse, paletteName, format, variant) => {
1360
1359
  };
1361
1360
  var themeIndices = [3, 7, 11, 15];
1362
1361
  var themeTokens = [200, 400, 600, 800];
1363
- var generateColorThemes = (colors2) => {
1362
+ var generateColorThemes = (colors3) => {
1364
1363
  const colorThemes2 = {};
1365
- for (const category in colors2) {
1364
+ for (const category in colors3) {
1366
1365
  colorThemes2[category] = {};
1367
- for (const shade in colors2[category]) {
1368
- const base = colors2[category][shade];
1366
+ for (const shade in colors3[category]) {
1367
+ const base = colors3[category][shade];
1369
1368
  colorThemes2[category][shade] = {
1370
1369
  name: base.name,
1371
1370
  colors: themeIndices.map((idx) => {
@@ -2306,67 +2305,12 @@ function PopoverContent({
2306
2305
  function PopoverAnchor({ ...props }) {
2307
2306
  return /* @__PURE__ */ jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
2308
2307
  }
2309
- function Fieldset2({
2310
- className,
2311
- ...props
2312
- }) {
2313
- return /* @__PURE__ */ jsx(
2314
- Headless4.Fieldset,
2315
- {
2316
- ...props,
2317
- className: clsx4(className, "*:data-[slot=text]:mt-1 [&>*+[data-slot=control]]:mt-6")
2318
- }
2319
- );
2320
- }
2321
- function Legend2({
2322
- className,
2323
- ...props
2324
- }) {
2325
- return /* @__PURE__ */ jsx(
2326
- Headless4.Legend,
2327
- {
2328
- "data-slot": "legend",
2329
- ...props,
2330
- className: clsx4(
2331
- className,
2332
- "text-grey-900 text-base/6 font-semibold data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
2333
- )
2334
- }
2335
- );
2336
- }
2337
- function FieldGroup({ className, ...props }) {
2338
- return /* @__PURE__ */ jsx("div", { "data-slot": "control", ...props, className: clsx4(className, "space-y-8") });
2339
- }
2340
- function Field2({
2341
- className,
2342
- ...props
2343
- }) {
2344
- return /* @__PURE__ */ jsx(
2345
- Headless4.Field,
2346
- {
2347
- ...props,
2348
- className: clsx4(
2349
- className,
2350
- "[&>[data-slot=label]+[data-slot=control]]:mt-3",
2351
- "[&>[data-slot=label]+[data-slot=description]]:mt-1",
2352
- "[&>[data-slot=description]+[data-slot=control]]:mt-3",
2353
- "[&>[data-slot=control]+[data-slot=description]]:mt-3",
2354
- "[&>[data-slot=control]+[data-slot=error]]:mt-3",
2355
- "*:data-[slot=label]:font-medium"
2356
- )
2357
- }
2358
- );
2359
- }
2360
- function Label4({
2361
- className,
2362
- ...props
2363
- }) {
2308
+ function Label3({ className, ...props }) {
2364
2309
  return /* @__PURE__ */ jsx(
2365
- Headless4.Label,
2310
+ LabelPrimitive.Root,
2366
2311
  {
2367
2312
  "data-slot": "label",
2368
- ...props,
2369
- className: clsx4(
2313
+ className: cn(
2370
2314
  // Base
2371
2315
  "flex items-center gap-2",
2372
2316
  "text-grey-900 text-base/6 font-semibold select-none",
@@ -2375,39 +2319,8 @@ function Label4({
2375
2319
  // Disabled state
2376
2320
  "group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
2377
2321
  className
2378
- )
2379
- }
2380
- );
2381
- }
2382
- function Description2({
2383
- className,
2384
- ...props
2385
- }) {
2386
- return /* @__PURE__ */ jsx(
2387
- Headless4.Description,
2388
- {
2389
- "data-slot": "description",
2390
- ...props,
2391
- className: clsx4(
2392
- className,
2393
- "text-grey-500 dark:text-grey-400 text-base/6 data-disabled:opacity-50 sm:text-sm/6"
2394
- )
2395
- }
2396
- );
2397
- }
2398
- function ErrorMessage({
2399
- className,
2400
- ...props
2401
- }) {
2402
- return /* @__PURE__ */ jsx(
2403
- Headless4.Description,
2404
- {
2405
- "data-slot": "error",
2406
- ...props,
2407
- className: clsx4(
2408
- className,
2409
- "text-danger-600 dark:text-danger-500 text-base/6 data-disabled:opacity-50 sm:text-sm/6"
2410
- )
2322
+ ),
2323
+ ...props
2411
2324
  }
2412
2325
  );
2413
2326
  }
@@ -2619,7 +2532,7 @@ function ThemeSelector({
2619
2532
  className: "grid grid-cols-2 gap-2",
2620
2533
  children: Object.entries(colorThemes2[themeCategory]).map(([key, theme2]) => /* @__PURE__ */ jsxs("div", { className: cn(labelStyles.base, ""), children: [
2621
2534
  /* @__PURE__ */ jsx(RadioGroupItem, { value: key, id: `primary-${key}`, className: "peer sr-only" }),
2622
- /* @__PURE__ */ jsxs(Label4, { htmlFor: `primary-${key}`, className: cn(labelStyles.label, ""), children: [
2535
+ /* @__PURE__ */ jsxs(Label3, { htmlFor: `primary-${key}`, className: cn(labelStyles.label, ""), children: [
2623
2536
  /* @__PURE__ */ jsx(
2624
2537
  "div",
2625
2538
  {
@@ -2644,7 +2557,7 @@ function ThemeSelector({
2644
2557
  className: "grid grid-cols-2 gap-2",
2645
2558
  children: availableAccentColors.map((key) => /* @__PURE__ */ jsxs("div", { className: cn(labelStyles.base, ""), children: [
2646
2559
  /* @__PURE__ */ jsx(RadioGroupItem, { value: key, id: `accent-${key}`, className: "peer sr-only" }),
2647
- /* @__PURE__ */ jsxs(Label4, { htmlFor: `accent-${key}`, className: cn(labelStyles.label, ""), children: [
2560
+ /* @__PURE__ */ jsxs(Label3, { htmlFor: `accent-${key}`, className: cn(labelStyles.label, ""), children: [
2648
2561
  /* @__PURE__ */ jsx(
2649
2562
  "div",
2650
2563
  {
@@ -7264,25 +7177,6 @@ function Footer({
7264
7177
  /* @__PURE__ */ jsx(FooterSmallPrint, { department, socialLinks })
7265
7178
  ] });
7266
7179
  }
7267
- function Label6({ className, ...props }) {
7268
- return /* @__PURE__ */ jsx(
7269
- LabelPrimitive.Root,
7270
- {
7271
- "data-slot": "label",
7272
- className: cn(
7273
- // Base
7274
- "flex items-center gap-2",
7275
- "text-grey-900 text-base/6 font-semibold select-none",
7276
- // Dark mode
7277
- "dark:group-data-[disabled=true]:text-grey-400 dark:text-white",
7278
- // Disabled state
7279
- "group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
7280
- className
7281
- ),
7282
- ...props
7283
- }
7284
- );
7285
- }
7286
7180
  var Form = FormProvider;
7287
7181
  var FormFieldContext = React15.createContext({});
7288
7182
  var FormField = ({
@@ -7317,7 +7211,7 @@ function FormItem({ className, ...props }) {
7317
7211
  function FormLabel({ className, ...props }) {
7318
7212
  const { error, formItemId } = useFormField();
7319
7213
  return /* @__PURE__ */ jsx(
7320
- Label6,
7214
+ Label3,
7321
7215
  {
7322
7216
  "data-slot": "form-label",
7323
7217
  "data-error": !!error,
@@ -7411,7 +7305,7 @@ var toggleVariants = cva(styles3.base, {
7411
7305
  variants: {
7412
7306
  variant: {
7413
7307
  ghost: "",
7414
- outline: clsx4(styles3.outline)
7308
+ outline: clsx20(styles3.outline)
7415
7309
  },
7416
7310
  size: {
7417
7311
  default: "h-9 px-2 min-w-9",
@@ -7555,7 +7449,7 @@ function Heading({
7555
7449
  Element,
7556
7450
  {
7557
7451
  ...props,
7558
- className: clsx4(
7452
+ className: clsx20(
7559
7453
  className,
7560
7454
  trimClasses[trim],
7561
7455
  "m-0",
@@ -7570,7 +7464,7 @@ function Heading({
7570
7464
 
7571
7465
  // package.json
7572
7466
  var package_default = {
7573
- version: "1.36.0"};
7467
+ version: "1.37.1"};
7574
7468
  function Logo(props) {
7575
7469
  return /* @__PURE__ */ jsxs(Fragment, { children: [
7576
7470
  /* @__PURE__ */ jsx("span", { className: "sr-only", children: "NSW Government" }),
@@ -7713,7 +7607,7 @@ function Header2({
7713
7607
  "data-slot": "header",
7714
7608
  "data-scrolled": isScrolled,
7715
7609
  id: "nsw-header",
7716
- className: clsx4(
7610
+ className: clsx20(
7717
7611
  "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",
7718
7612
  shadow && "shadow-md shadow-slate-900/5 dark:shadow-none",
7719
7613
  isScrolled ? "dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75" : "dark:bg-transparent"
@@ -7762,7 +7656,7 @@ function Input({ className, type, ...props }) {
7762
7656
  "data-slot": "input",
7763
7657
  className: cn(
7764
7658
  // Base styles
7765
- "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",
7659
+ "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",
7766
7660
  // Selection styles
7767
7661
  "selection:bg-primary-800 selection:text-white",
7768
7662
  // Placeholder styles
@@ -7783,6 +7677,105 @@ function Input({ className, type, ...props }) {
7783
7677
  }
7784
7678
  );
7785
7679
  }
7680
+ function Fieldset2({
7681
+ className,
7682
+ ...props
7683
+ }) {
7684
+ return /* @__PURE__ */ jsx(
7685
+ Headless4.Fieldset,
7686
+ {
7687
+ ...props,
7688
+ className: clsx20(className, "*:data-[slot=text]:mt-1 [&>*+[data-slot=control]]:mt-6")
7689
+ }
7690
+ );
7691
+ }
7692
+ function Legend2({
7693
+ className,
7694
+ ...props
7695
+ }) {
7696
+ return /* @__PURE__ */ jsx(
7697
+ Headless4.Legend,
7698
+ {
7699
+ "data-slot": "legend",
7700
+ ...props,
7701
+ className: clsx20(
7702
+ className,
7703
+ "text-base/6 font-semibold text-zinc-950 data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
7704
+ )
7705
+ }
7706
+ );
7707
+ }
7708
+ function FieldGroup({ className, ...props }) {
7709
+ return /* @__PURE__ */ jsx("div", { "data-slot": "control", ...props, className: clsx20(className, "space-y-8") });
7710
+ }
7711
+ function Field2({
7712
+ className,
7713
+ ...props
7714
+ }) {
7715
+ return /* @__PURE__ */ jsx(
7716
+ Headless4.Field,
7717
+ {
7718
+ ...props,
7719
+ className: clsx20(
7720
+ className,
7721
+ "[&>[data-slot=label]+[data-slot=control]]:mt-3",
7722
+ "[&>[data-slot=label]+[data-slot=description]]:mt-1",
7723
+ "[&>[data-slot=description]+[data-slot=control]]:mt-3",
7724
+ "[&>[data-slot=control]+[data-slot=description]]:mt-3",
7725
+ "[&>[data-slot=control]+[data-slot=error]]:mt-3",
7726
+ "*:data-[slot=label]:font-medium"
7727
+ )
7728
+ }
7729
+ );
7730
+ }
7731
+ function FieldLabel({
7732
+ className,
7733
+ ...props
7734
+ }) {
7735
+ return /* @__PURE__ */ jsx(
7736
+ Headless4.Label,
7737
+ {
7738
+ "data-slot": "label",
7739
+ ...props,
7740
+ className: clsx20(
7741
+ className,
7742
+ "text-base/6 text-zinc-950 select-none data-disabled:opacity-50 sm:text-sm/6 dark:text-white"
7743
+ )
7744
+ }
7745
+ );
7746
+ }
7747
+ function Description3({
7748
+ className,
7749
+ ...props
7750
+ }) {
7751
+ return /* @__PURE__ */ jsx(
7752
+ Headless4.Description,
7753
+ {
7754
+ "data-slot": "description",
7755
+ ...props,
7756
+ className: clsx20(
7757
+ className,
7758
+ "text-base/6 text-zinc-500 data-disabled:opacity-50 sm:text-sm/6 dark:text-zinc-400"
7759
+ )
7760
+ }
7761
+ );
7762
+ }
7763
+ function ErrorMessage({
7764
+ className,
7765
+ ...props
7766
+ }) {
7767
+ return /* @__PURE__ */ jsx(
7768
+ Headless4.Description,
7769
+ {
7770
+ "data-slot": "error",
7771
+ ...props,
7772
+ className: clsx20(
7773
+ className,
7774
+ "text-base/6 text-red-600 data-disabled:opacity-50 sm:text-sm/6 dark:text-red-500"
7775
+ )
7776
+ }
7777
+ );
7778
+ }
7786
7779
  function cn2(...inputs) {
7787
7780
  return twMerge(clsx(inputs));
7788
7781
  }
@@ -8070,7 +8063,7 @@ function MainNavigation({ navigation }) {
8070
8063
  "aria-label": "Main Navigation",
8071
8064
  role: "navigation",
8072
8065
  id: "nsw-main-navigation",
8073
- 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",
8066
+ 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",
8074
8067
  style: {
8075
8068
  top: `${headerHeight}px`,
8076
8069
  transition: "top 0.2s ease-in-out"
@@ -8101,7 +8094,14 @@ function TopLevel({ title, href }) {
8101
8094
  Link10,
8102
8095
  {
8103
8096
  href,
8104
- 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",
8097
+ className: cn(
8098
+ // Base styles
8099
+ "inline-flex items-center gap-x-1 p-4 transition lg:px-8",
8100
+ // Text styles
8101
+ "text-grey-800 text-base leading-6 font-bold",
8102
+ // Hover styles
8103
+ "hover:bg-primary-800/10"
8104
+ ),
8105
8105
  children: title
8106
8106
  },
8107
8107
  title
@@ -8113,13 +8113,28 @@ function MegaMenu({ title, href, links }) {
8113
8113
  PopoverButton,
8114
8114
  {
8115
8115
  className: cn(
8116
- "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",
8116
+ "inline-flex items-center gap-x-1 p-4 transition lg:px-8",
8117
+ // Text styles
8118
+ "text-grey-800 hover:text-primary-800 dark:text-grey-400 text-base leading-6 font-bold dark:hover:text-white",
8119
+ // Hover styles
8120
+ "hover:text-primary-800 hover:bg-primary-800/10 hover:font-bold",
8121
+ // Focus styles,
8122
+ "",
8123
+ // Border styles
8117
8124
  "border-b-2",
8118
- open ? "border-primary" : "border-transparent"
8125
+ open ? "border-primary-800" : "border-transparent"
8119
8126
  ),
8120
8127
  children: [
8121
8128
  title,
8122
- /* @__PURE__ */ jsx(Icons.chevron_down, { className: cn("h-6 w-6 transition", open ? "rotate-180" : "") })
8129
+ /* @__PURE__ */ jsx(
8130
+ Icons.chevron_down,
8131
+ {
8132
+ className: cn(
8133
+ "h-6 w-6 transition duration-350 ease-in-out",
8134
+ open ? "rotate-180" : ""
8135
+ )
8136
+ }
8137
+ )
8123
8138
  ]
8124
8139
  }
8125
8140
  ) }),
@@ -8133,11 +8148,11 @@ function MegaMenu({ title, href, links }) {
8133
8148
  Link10,
8134
8149
  {
8135
8150
  href,
8136
- className: "text-primary flex items-center px-8 py-8 text-xl font-bold hover:bg-gray-50",
8151
+ className: "group text-primary-800 hover:bg-primary-800/10 flex items-center px-8 py-8 text-xl font-bold",
8137
8152
  children: [
8138
8153
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
8139
8154
  title,
8140
- /* @__PURE__ */ jsx(Icons.east, { className: "ml-4 h-6 w-6" })
8155
+ /* @__PURE__ */ jsx(Icons.east, { className: "ml-4 h-6 w-6 transform transition-transform duration-300 ease-in-out group-hover:translate-x-1" })
8141
8156
  ]
8142
8157
  }
8143
8158
  ),
@@ -8145,12 +8160,31 @@ function MegaMenu({ title, href, links }) {
8145
8160
  "div",
8146
8161
  {
8147
8162
  className: cn(
8148
- "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"
8163
+ // Base styles
8164
+ "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",
8165
+ // Hover styles
8166
+ "",
8167
+ // Focus styles
8168
+ "focus-within:rounded-sm focus-within:outline focus-within:outline-inherit"
8149
8169
  ),
8150
- children: /* @__PURE__ */ jsx("h3", { className: "text-base font-semibold text-gray-900", children: /* @__PURE__ */ jsxs("a", { href: item.href, className: "focus:outline-none", children: [
8151
- /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
8152
- item.title
8153
- ] }) })
8170
+ children: /* @__PURE__ */ jsx("h3", { className: "text-grey-900 text-base font-semibold", children: /* @__PURE__ */ jsxs(
8171
+ Link10,
8172
+ {
8173
+ href: item.href,
8174
+ className: cn(
8175
+ // Base styles
8176
+ "",
8177
+ // Hover styles
8178
+ "",
8179
+ // Focus styles
8180
+ "outline-none"
8181
+ ),
8182
+ children: [
8183
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
8184
+ item.title
8185
+ ]
8186
+ }
8187
+ ) })
8154
8188
  },
8155
8189
  item.href
8156
8190
  )) })
@@ -8165,23 +8199,23 @@ function Navigation({
8165
8199
  navigation
8166
8200
  }) {
8167
8201
  const pathname = usePathname();
8168
- return /* @__PURE__ */ jsx("nav", { className: clsx4("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: [
8202
+ return /* @__PURE__ */ jsx("nav", { className: clsx20("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: [
8169
8203
  section.links ? /* @__PURE__ */ jsx("h2", { className: "font-display text-foreground font-medium dark:text-white", children: section.title }) : /* @__PURE__ */ jsx(
8170
8204
  "ul",
8171
8205
  {
8172
8206
  role: "list",
8173
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8207
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8174
8208
  children: /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsx(
8175
8209
  Link10,
8176
8210
  {
8177
8211
  href: section.href || "/",
8178
8212
  onClick: onLinkClick,
8179
- className: clsx4(
8180
- "text-foreground inline-block border-l border-transparent pl-5 text-base/8 sm:pl-4 sm:text-sm/6",
8181
- "hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold",
8182
- "dark:text-nsw-grey-400",
8183
- "dark:hover:border-nsw-grey-400 dark:hover:text-white",
8184
- section.href === pathname && "border-primary text-primary border-l font-semibold dark:border-white"
8213
+ className: clsx20(
8214
+ "text-foreground inline-block border-l pl-5 text-base/8 sm:pl-4 sm:text-sm/6",
8215
+ "hover:border-grey-950 hover:text-grey-950 hover:font-semibold",
8216
+ "dark:text-grey-400",
8217
+ "dark:hover:border-grey-400 dark:hover:text-white",
8218
+ section.href === pathname && "border-primary-800 text-primary-800 bg-primary-800/10 border-l font-bold dark:border-white dark:bg-white/20"
8185
8219
  ),
8186
8220
  children: section.title
8187
8221
  }
@@ -8192,18 +8226,18 @@ function Navigation({
8192
8226
  "ul",
8193
8227
  {
8194
8228
  role: "list",
8195
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8229
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8196
8230
  children: section.links && section.links.map((link, index2) => /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-2", children: /* @__PURE__ */ jsx(
8197
8231
  Link10,
8198
8232
  {
8199
8233
  href: link.href,
8200
8234
  onClick: onLinkClick,
8201
- className: clsx4(
8235
+ className: clsx20(
8202
8236
  "text-foreground inline-block border-l border-transparent pl-5 text-base/8 sm:pl-4 sm:text-sm/6",
8203
- "hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold",
8204
- "dark:text-nsw-grey-400",
8205
- "dark:hover:border-nsw-grey-400 dark:hover:text-white",
8206
- link.href === pathname && "border-primary text-primary border-l font-semibold dark:border-white"
8237
+ "hover:border-grey-950 hover:text-grey-950 hover:font-semibold",
8238
+ "dark:text-grey-400",
8239
+ "dark:hover:border-grey-400 dark:hover:text-white",
8240
+ link.href === pathname && "border-primary-800 text-primary-800 bg-primary-800/10 border-l font-bold dark:border-white dark:bg-white/20"
8207
8241
  ),
8208
8242
  children: link.title
8209
8243
  }
@@ -8455,7 +8489,7 @@ function PrevNextLinksPageLink({
8455
8489
  Link10,
8456
8490
  {
8457
8491
  href,
8458
- className: clsx4(
8492
+ className: clsx20(
8459
8493
  "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",
8460
8494
  dir === "previous" && "flex-row-reverse"
8461
8495
  ),
@@ -8464,7 +8498,7 @@ function PrevNextLinksPageLink({
8464
8498
  /* @__PURE__ */ jsx(
8465
8499
  Icons.east,
8466
8500
  {
8467
- className: clsx4("size-5 flex-none fill-current", dir === "previous" && "-scale-x-100")
8501
+ className: clsx20("size-5 flex-none fill-current", dir === "previous" && "-scale-x-100")
8468
8502
  }
8469
8503
  )
8470
8504
  ]
@@ -8707,12 +8741,12 @@ function SidebarNavigation({
8707
8741
  navigation
8708
8742
  }) {
8709
8743
  const pathname = usePathname();
8710
- return /* @__PURE__ */ jsx("nav", { className: clsx4("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation.map((section, sectionIndex) => /* @__PURE__ */ jsxs("li", { children: [
8744
+ return /* @__PURE__ */ jsx("nav", { className: clsx20("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "flex flex-col gap-9", children: navigation.map((section, sectionIndex) => /* @__PURE__ */ jsxs("li", { children: [
8711
8745
  section.links ? /* @__PURE__ */ jsx("h2", { className: "font-display text-foreground font-medium dark:text-white", children: section.title }) : /* @__PURE__ */ jsx(
8712
8746
  "ul",
8713
8747
  {
8714
8748
  role: "list",
8715
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8749
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8716
8750
  children: /* @__PURE__ */ jsx(
8717
8751
  SidebarLink,
8718
8752
  {
@@ -8729,7 +8763,7 @@ function SidebarNavigation({
8729
8763
  "ul",
8730
8764
  {
8731
8765
  role: "list",
8732
- className: "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8766
+ className: "border-grey-400 dark:border-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4",
8733
8767
  children: section.links && section.links.map((link) => /* @__PURE__ */ jsx(
8734
8768
  SidebarLink,
8735
8769
  {
@@ -8748,23 +8782,23 @@ function SidebarNavigation({
8748
8782
  function SidebarLink({ link, pathname, onLinkClick, depth }) {
8749
8783
  const hasChildren = Array.isArray(link.links) && link.links.length > 0;
8750
8784
  const isActive = pathname === link.href;
8751
- const baseLinkClasses = clsx4(
8752
- "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",
8753
- "hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold hover:bg-primary-800/10",
8754
- "dark:text-nsw-grey-400 dark:hover:border-nsw-grey-400 dark:hover:text-white",
8755
- isActive && "border-primary text-primary font-bold dark:border-white bg-nsw-sky-100 dark:bg-nsw-sky-900/20"
8785
+ const baseLinkClasses = clsx20(
8786
+ "border-l pl-4 pr-2 text-base/8 sm:text-sm/6 w-full text-left py-1 rounded-r-md cursor-pointer",
8787
+ "hover:border-grey-950 hover:text-grey-950 hover:font-semibold hover:bg-primary-800/10",
8788
+ "dark:text-grey-400 dark:hover:border-grey-400 dark:hover:text-white",
8789
+ isActive && "border-l border-primary-800 text-primary-800 font-bold dark:border-white bg-primary-800/10 dark:bg-white/20"
8756
8790
  );
8757
8791
  return /* @__PURE__ */ jsx("li", { className: "-ml-px flex flex-col items-start gap-1", children: hasChildren ? /* @__PURE__ */ jsxs(Collapsible, { className: "w-full", defaultOpen: isActive, children: [
8758
8792
  /* @__PURE__ */ jsx(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsxs(
8759
8793
  "button",
8760
8794
  {
8761
- className: clsx4(baseLinkClasses, "group flex items-center justify-between gap-1"),
8795
+ className: clsx20(baseLinkClasses, "group flex items-center justify-between gap-1"),
8762
8796
  children: [
8763
8797
  /* @__PURE__ */ jsx("span", { children: link.title }),
8764
8798
  /* @__PURE__ */ jsx(
8765
8799
  Icons.chevron_right,
8766
8800
  {
8767
- className: clsx4(
8801
+ className: clsx20(
8768
8802
  "ml-2 size-5 transition-transform duration-200",
8769
8803
  "group-data-[state=open]:rotate-90"
8770
8804
  )
@@ -8776,8 +8810,8 @@ function SidebarLink({ link, pathname, onLinkClick, depth }) {
8776
8810
  /* @__PURE__ */ jsx(CollapsibleContent2, { children: /* @__PURE__ */ jsx(
8777
8811
  "ul",
8778
8812
  {
8779
- className: clsx4(
8780
- "border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0"
8813
+ className: clsx20(
8814
+ "border-grey-400 dark:border-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0"
8781
8815
  ),
8782
8816
  children: link.links && link.links.map((childLink) => /* @__PURE__ */ jsx(
8783
8817
  SidebarLink,
@@ -8799,7 +8833,7 @@ var StepIndicator = React15.forwardRef(
8799
8833
  return /* @__PURE__ */ jsx("ul", { role: "list", ref, className: cn("w-full", className), ...props, children: array.map((step, stepIdx) => /* @__PURE__ */ jsx(
8800
8834
  "li",
8801
8835
  {
8802
- className: clsx4(stepIdx !== array.length - 1 ? "pb-3" : "", "relative"),
8836
+ className: clsx20(stepIdx !== array.length - 1 ? "pb-3" : "", "relative"),
8803
8837
  children: step.href === pathname && !(step.status === "completed" || step.status === "error" || step.status === "saved" || step.status === "cannot-start") ? /* @__PURE__ */ jsx(Fragment, { children: step.status === "in-progress" ? /* @__PURE__ */ jsxs(Fragment, { children: [
8804
8838
  stepIdx !== array.length - 1 ? /* @__PURE__ */ jsx(
8805
8839
  "div",
@@ -9045,7 +9079,7 @@ function StepNavigation({
9045
9079
  })),
9046
9080
  [navigation, formStatus, getStatus]
9047
9081
  );
9048
- return /* @__PURE__ */ jsx("nav", { className: clsx4("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "space-y-9", children: navigationWithStatus.map((section) => /* @__PURE__ */ jsxs("li", { children: [
9082
+ return /* @__PURE__ */ jsx("nav", { className: clsx20("text-base lg:text-sm", className), children: /* @__PURE__ */ jsx("ul", { role: "list", className: "space-y-9", children: navigationWithStatus.map((section) => /* @__PURE__ */ jsxs("li", { children: [
9049
9083
  /* @__PURE__ */ jsx("h2", { className: "font-display font-medium text-slate-900 dark:text-white", children: section.title }),
9050
9084
  /* @__PURE__ */ jsx(StepIndicator, { className: "mt-2 lg:mt-4", array: section.links })
9051
9085
  ] }, section.title)) }) });
@@ -9172,36 +9206,188 @@ function Spinner({ className, size = "md", ...props }) {
9172
9206
  }
9173
9207
  ) });
9174
9208
  }
9175
- function Switch({ className, ...props }) {
9209
+ function SwitchGroup({ className, ...props }) {
9176
9210
  return /* @__PURE__ */ jsx(
9177
- SwitchPrimitive.Root,
9211
+ "div",
9178
9212
  {
9179
- "data-slot": "switch",
9180
- className: cn(
9181
- "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",
9182
- // state styles
9183
- "data-[state=unchecked]:bg-input data-[state=checked]:bg-primary-800",
9184
- // Dark mode styles
9185
- "dark:data-[state=unchecked]:bg-input/80",
9186
- // Focus styles
9187
- "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
9188
- // aria-invalid styles
9189
- "",
9190
- // Disabled styles
9191
- "disabled:cursor-not-allowed disabled:opacity-50",
9192
- className
9193
- ),
9213
+ "data-slot": "control",
9214
+ ...props,
9215
+ className: clsx20(
9216
+ className,
9217
+ // Basic groups
9218
+ "space-y-3 **:data-[slot=label]:font-normal",
9219
+ // With descriptions
9220
+ "has-data-[slot=description]:space-y-6 has-data-[slot=description]:**:data-[slot=label]:font-medium"
9221
+ )
9222
+ }
9223
+ );
9224
+ }
9225
+ function SwitchField({
9226
+ className,
9227
+ ...props
9228
+ }) {
9229
+ return /* @__PURE__ */ jsx(
9230
+ Headless4.Field,
9231
+ {
9232
+ "data-slot": "field",
9233
+ ...props,
9234
+ className: clsx20(
9235
+ className,
9236
+ // Base layout
9237
+ "grid grid-cols-[1fr_auto] gap-x-8 gap-y-1 sm:grid-cols-[1fr_auto]",
9238
+ // Control layout
9239
+ "*:data-[slot=control]:col-start-2 *:data-[slot=control]:self-start sm:*:data-[slot=control]:mt-0.5",
9240
+ // Label layout
9241
+ "*:data-[slot=label]:col-start-1 *:data-[slot=label]:row-start-1",
9242
+ // Description layout
9243
+ "*:data-[slot=description]:col-start-1 *:data-[slot=description]:row-start-2",
9244
+ // With description
9245
+ "has-data-[slot=description]:**:data-[slot=label]:font-medium"
9246
+ )
9247
+ }
9248
+ );
9249
+ }
9250
+ var colors2 = {
9251
+ "dark/zinc": [
9252
+ "[--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",
9253
+ "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white] dark:[--switch-ring:var(--color-zinc-700)]/90"
9254
+ ],
9255
+ "dark/white": [
9256
+ "[--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)]",
9257
+ "[--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)]"
9258
+ ],
9259
+ dark: [
9260
+ "[--switch-bg-ring:var(--color-zinc-950)]/90 [--switch-bg:var(--color-zinc-900)] dark:[--switch-bg-ring:var(--color-white)]/15",
9261
+ "[--switch-ring:var(--color-zinc-950)]/90 [--switch-shadow:var(--color-black)]/10 [--switch:white]"
9262
+ ],
9263
+ zinc: [
9264
+ "[--switch-bg-ring:var(--color-zinc-700)]/90 [--switch-bg:var(--color-zinc-600)] dark:[--switch-bg-ring:transparent]",
9265
+ "[--switch-shadow:var(--color-black)]/10 [--switch:white] [--switch-ring:var(--color-zinc-700)]/90"
9266
+ ],
9267
+ white: [
9268
+ "[--switch-bg-ring:var(--color-black)]/15 [--switch-bg:white] dark:[--switch-bg-ring:transparent]",
9269
+ "[--switch-shadow:var(--color-black)]/10 [--switch-ring:transparent] [--switch:var(--color-zinc-950)]"
9270
+ ],
9271
+ red: [
9272
+ "[--switch-bg-ring:var(--color-red-700)]/90 [--switch-bg:var(--color-red-600)] dark:[--switch-bg-ring:transparent]",
9273
+ "[--switch:white] [--switch-ring:var(--color-red-700)]/90 [--switch-shadow:var(--color-red-900)]/20"
9274
+ ],
9275
+ orange: [
9276
+ "[--switch-bg-ring:var(--color-orange-600)]/90 [--switch-bg:var(--color-orange-500)] dark:[--switch-bg-ring:transparent]",
9277
+ "[--switch:white] [--switch-ring:var(--color-orange-600)]/90 [--switch-shadow:var(--color-orange-900)]/20"
9278
+ ],
9279
+ amber: [
9280
+ "[--switch-bg-ring:var(--color-amber-500)]/80 [--switch-bg:var(--color-amber-400)] dark:[--switch-bg-ring:transparent]",
9281
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-amber-950)]"
9282
+ ],
9283
+ yellow: [
9284
+ "[--switch-bg-ring:var(--color-yellow-400)]/80 [--switch-bg:var(--color-yellow-300)] dark:[--switch-bg-ring:transparent]",
9285
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-yellow-950)]"
9286
+ ],
9287
+ lime: [
9288
+ "[--switch-bg-ring:var(--color-lime-400)]/80 [--switch-bg:var(--color-lime-300)] dark:[--switch-bg-ring:transparent]",
9289
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-lime-950)]"
9290
+ ],
9291
+ green: [
9292
+ "[--switch-bg-ring:var(--color-green-700)]/90 [--switch-bg:var(--color-green-600)] dark:[--switch-bg-ring:transparent]",
9293
+ "[--switch:white] [--switch-ring:var(--color-green-700)]/90 [--switch-shadow:var(--color-green-900)]/20"
9294
+ ],
9295
+ emerald: [
9296
+ "[--switch-bg-ring:var(--color-emerald-600)]/90 [--switch-bg:var(--color-emerald-500)] dark:[--switch-bg-ring:transparent]",
9297
+ "[--switch:white] [--switch-ring:var(--color-emerald-600)]/90 [--switch-shadow:var(--color-emerald-900)]/20"
9298
+ ],
9299
+ teal: [
9300
+ "[--switch-bg-ring:var(--color-teal-700)]/90 [--switch-bg:var(--color-teal-600)] dark:[--switch-bg-ring:transparent]",
9301
+ "[--switch:white] [--switch-ring:var(--color-teal-700)]/90 [--switch-shadow:var(--color-teal-900)]/20"
9302
+ ],
9303
+ cyan: [
9304
+ "[--switch-bg-ring:var(--color-cyan-400)]/80 [--switch-bg:var(--color-cyan-300)] dark:[--switch-bg-ring:transparent]",
9305
+ "[--switch-ring:transparent] [--switch-shadow:transparent] [--switch:var(--color-cyan-950)]"
9306
+ ],
9307
+ sky: [
9308
+ "[--switch-bg-ring:var(--color-sky-600)]/80 [--switch-bg:var(--color-sky-500)] dark:[--switch-bg-ring:transparent]",
9309
+ "[--switch:white] [--switch-ring:var(--color-sky-600)]/80 [--switch-shadow:var(--color-sky-900)]/20"
9310
+ ],
9311
+ blue: [
9312
+ "[--switch-bg-ring:var(--color-blue-700)]/90 [--switch-bg:var(--color-blue-600)] dark:[--switch-bg-ring:transparent]",
9313
+ "[--switch:white] [--switch-ring:var(--color-blue-700)]/90 [--switch-shadow:var(--color-blue-900)]/20"
9314
+ ],
9315
+ indigo: [
9316
+ "[--switch-bg-ring:var(--color-indigo-600)]/90 [--switch-bg:var(--color-indigo-500)] dark:[--switch-bg-ring:transparent]",
9317
+ "[--switch:white] [--switch-ring:var(--color-indigo-600)]/90 [--switch-shadow:var(--color-indigo-900)]/20"
9318
+ ],
9319
+ violet: [
9320
+ "[--switch-bg-ring:var(--color-violet-600)]/90 [--switch-bg:var(--color-violet-500)] dark:[--switch-bg-ring:transparent]",
9321
+ "[--switch:white] [--switch-ring:var(--color-violet-600)]/90 [--switch-shadow:var(--color-violet-900)]/20"
9322
+ ],
9323
+ purple: [
9324
+ "[--switch-bg-ring:var(--color-purple-600)]/90 [--switch-bg:var(--color-purple-500)] dark:[--switch-bg-ring:transparent]",
9325
+ "[--switch:white] [--switch-ring:var(--color-purple-600)]/90 [--switch-shadow:var(--color-purple-900)]/20"
9326
+ ],
9327
+ fuchsia: [
9328
+ "[--switch-bg-ring:var(--color-fuchsia-600)]/90 [--switch-bg:var(--color-fuchsia-500)] dark:[--switch-bg-ring:transparent]",
9329
+ "[--switch:white] [--switch-ring:var(--color-fuchsia-600)]/90 [--switch-shadow:var(--color-fuchsia-900)]/20"
9330
+ ],
9331
+ pink: [
9332
+ "[--switch-bg-ring:var(--color-pink-600)]/90 [--switch-bg:var(--color-pink-500)] dark:[--switch-bg-ring:transparent]",
9333
+ "[--switch:white] [--switch-ring:var(--color-pink-600)]/90 [--switch-shadow:var(--color-pink-900)]/20"
9334
+ ],
9335
+ rose: [
9336
+ "[--switch-bg-ring:var(--color-rose-600)]/90 [--switch-bg:var(--color-rose-500)] dark:[--switch-bg-ring:transparent]",
9337
+ "[--switch:white] [--switch-ring:var(--color-rose-600)]/90 [--switch-shadow:var(--color-rose-900)]/20"
9338
+ ]
9339
+ };
9340
+ function Switch2({
9341
+ color = "dark/zinc",
9342
+ className,
9343
+ ...props
9344
+ }) {
9345
+ return /* @__PURE__ */ jsx(
9346
+ Headless4.Switch,
9347
+ {
9348
+ "data-slot": "control",
9194
9349
  ...props,
9350
+ className: clsx20(
9351
+ className,
9352
+ // Base styles
9353
+ "group relative isolate inline-flex h-6 w-10 cursor-default rounded-full p-[3px] sm:h-5 sm:w-8",
9354
+ // Transitions
9355
+ "transition duration-0 ease-in-out data-changing:duration-200",
9356
+ // Outline and background color in forced-colors mode so switch is still visible
9357
+ "forced-colors:outline forced-colors:[--switch-bg:Highlight] dark:forced-colors:[--switch-bg:Highlight]",
9358
+ // Unchecked
9359
+ "bg-zinc-200 ring-1 ring-black/5 ring-inset dark:bg-white/5 dark:ring-white/15",
9360
+ // Checked
9361
+ "data-checked:bg-(--switch-bg) data-checked:ring-(--switch-bg-ring) dark:data-checked:bg-(--switch-bg) dark:data-checked:ring-(--switch-bg-ring)",
9362
+ // Focus
9363
+ "focus:not-data-focus:outline-hidden data-focus:outline-2 data-focus:outline-offset-2 data-focus:outline-blue-500",
9364
+ // Hover
9365
+ "data-hover:ring-black/15 data-hover:data-checked:ring-(--switch-bg-ring)",
9366
+ "dark:data-hover:ring-white/25 dark:data-hover:data-checked:ring-(--switch-bg-ring)",
9367
+ // Disabled
9368
+ "data-disabled:bg-zinc-200 data-disabled:opacity-50 data-disabled:data-checked:bg-zinc-200 data-disabled:data-checked:ring-black/5",
9369
+ "dark:data-disabled:bg-white/15 dark:data-disabled:data-checked:bg-white/15 dark:data-disabled:data-checked:ring-white/15",
9370
+ // Color specific styles
9371
+ colors2[color]
9372
+ ),
9195
9373
  children: /* @__PURE__ */ jsx(
9196
- SwitchPrimitive.Thumb,
9197
- {
9198
- "data-slot": "switch-thumb",
9199
- className: cn(
9200
- "bg-background pointer-events-none block size-4 rounded-full ring-0 transition-transform",
9201
- // state styles
9202
- "data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0",
9203
- // Dark mode styles
9204
- "dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground"
9374
+ "span",
9375
+ {
9376
+ "aria-hidden": "true",
9377
+ className: clsx20(
9378
+ // Basic layout
9379
+ "pointer-events-none relative inline-block size-4.5 rounded-full sm:size-3.5",
9380
+ // Transition
9381
+ "translate-x-0 transition duration-200 ease-in-out",
9382
+ // Invisible border so the switch is still visible in forced-colors mode
9383
+ "border border-transparent",
9384
+ // Unchecked
9385
+ "bg-white shadow-sm ring-1 ring-black/5",
9386
+ // Checked
9387
+ "group-data-checked:bg-(--switch) group-data-checked:shadow-(--switch-shadow) group-data-checked:ring-(--switch-ring)",
9388
+ "group-data-checked:translate-x-4 sm:group-data-checked:translate-x-3",
9389
+ // Disabled
9390
+ "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"
9205
9391
  )
9206
9392
  }
9207
9393
  )
@@ -9364,7 +9550,7 @@ function TableOfContents({ tableOfContents }) {
9364
9550
  "ol",
9365
9551
  {
9366
9552
  role: "list",
9367
- className: clsx4(
9553
+ className: clsx20(
9368
9554
  "mt-3 flex flex-col gap-2",
9369
9555
  "border-grey-900/10 border-l dark:border-white/10",
9370
9556
  "text-grey-700 dark:text-grey-400 text-sm/6"
@@ -9374,7 +9560,7 @@ function TableOfContents({ tableOfContents }) {
9374
9560
  Link10,
9375
9561
  {
9376
9562
  href: `#${section.id}`,
9377
- className: clsx4(
9563
+ className: clsx20(
9378
9564
  "-ml-px inline-block border-l pl-4",
9379
9565
  "hover:border-primary-800 dark:hover:border-white",
9380
9566
  isActive(section) ? "text-primary-800 border-primary-800 font-semibold dark:border-white dark:text-white" : "border-transparent"
@@ -9386,7 +9572,7 @@ function TableOfContents({ tableOfContents }) {
9386
9572
  Link10,
9387
9573
  {
9388
9574
  href: `#${subSection.id}`,
9389
- className: clsx4(
9575
+ className: clsx20(
9390
9576
  "-ml-px inline-block border-l pl-8",
9391
9577
  "hover:border-primary-800 dark:hover:border-white",
9392
9578
  isActive(subSection) ? "text-primary-800 border-primary-800 font-semibold dark:border-white dark:text-white" : "border-transparent"
@@ -9498,7 +9684,7 @@ function Text({ className, trim = "normal", size = 2, label = false, ...props })
9498
9684
  {
9499
9685
  "data-slot": "text",
9500
9686
  ...props,
9501
- className: clsx4(className, trimClasses[trim], "text-grey-800 dark:text-grey-400", sizeClass)
9687
+ className: clsx20(className, trimClasses[trim], "text-grey-800 dark:text-grey-400", sizeClass)
9502
9688
  }
9503
9689
  );
9504
9690
  }
@@ -9507,7 +9693,7 @@ function TextLink({ className, ...props }) {
9507
9693
  Link,
9508
9694
  {
9509
9695
  ...props,
9510
- className: clsx4(
9696
+ className: clsx20(
9511
9697
  className,
9512
9698
  "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"
9513
9699
  )
@@ -9515,14 +9701,14 @@ function TextLink({ className, ...props }) {
9515
9701
  );
9516
9702
  }
9517
9703
  function Strong({ className, ...props }) {
9518
- return /* @__PURE__ */ jsx("strong", { ...props, className: clsx4(className, "text-grey-950 font-medium dark:text-white") });
9704
+ return /* @__PURE__ */ jsx("strong", { ...props, className: clsx20(className, "text-grey-950 font-medium dark:text-white") });
9519
9705
  }
9520
9706
  function Code({ className, ...props }) {
9521
9707
  return /* @__PURE__ */ jsx(
9522
9708
  "code",
9523
9709
  {
9524
9710
  ...props,
9525
- className: clsx4(
9711
+ className: clsx20(
9526
9712
  className,
9527
9713
  "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"
9528
9714
  )
@@ -10018,10 +10204,10 @@ var chartColors = {
10018
10204
  var AvailableChartColors = Object.keys(
10019
10205
  chartColors
10020
10206
  );
10021
- var constructCategoryColors = (categories, colors2) => {
10207
+ var constructCategoryColors = (categories, colors3) => {
10022
10208
  const categoryColors = /* @__PURE__ */ new Map();
10023
10209
  categories.forEach((category, index) => {
10024
- categoryColors.set(category, colors2[index % colors2.length]);
10210
+ categoryColors.set(category, colors3[index % colors3.length]);
10025
10211
  });
10026
10212
  return categoryColors;
10027
10213
  };
@@ -10154,7 +10340,7 @@ var ScrollButton = ({ icon, onClick, disabled }) => {
10154
10340
  var Legend4 = React15__default.forwardRef((props, ref) => {
10155
10341
  const {
10156
10342
  categories,
10157
- colors: colors2 = AvailableChartColors,
10343
+ colors: colors3 = AvailableChartColors,
10158
10344
  className,
10159
10345
  onClickLegendItem,
10160
10346
  activeLegend,
@@ -10246,7 +10432,7 @@ var Legend4 = React15__default.forwardRef((props, ref) => {
10246
10432
  LegendItem,
10247
10433
  {
10248
10434
  name: category,
10249
- color: colors2[index],
10435
+ color: colors3[index],
10250
10436
  onClick: onClickLegendItem,
10251
10437
  activeLegend
10252
10438
  },
@@ -10399,7 +10585,7 @@ var AreaChart = React15__default.forwardRef((props, ref) => {
10399
10585
  data = [],
10400
10586
  categories = [],
10401
10587
  index,
10402
- colors: colors2 = AvailableChartColors,
10588
+ colors: colors3 = AvailableChartColors,
10403
10589
  valueFormatter = (value) => value.toString(),
10404
10590
  startEndOnly = false,
10405
10591
  showXAxis = true,
@@ -10432,7 +10618,7 @@ var AreaChart = React15__default.forwardRef((props, ref) => {
10432
10618
  const [legendHeight, setLegendHeight] = React15__default.useState(60);
10433
10619
  const [activeDot, setActiveDot] = React15__default.useState(void 0);
10434
10620
  const [activeLegend, setActiveLegend] = React15__default.useState(void 0);
10435
- const categoryColors = constructCategoryColors(categories, colors2);
10621
+ const categoryColors = constructCategoryColors(categories, colors3);
10436
10622
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
10437
10623
  const hasOnValueChange = !!onValueChange;
10438
10624
  const stacked = type === "stacked" || type === "percent";
@@ -10913,7 +11099,7 @@ var ScrollButton2 = ({ icon, onClick, disabled }) => {
10913
11099
  var Legend5 = React15__default.forwardRef((props, ref) => {
10914
11100
  const {
10915
11101
  categories,
10916
- colors: colors2 = AvailableChartColors,
11102
+ colors: colors3 = AvailableChartColors,
10917
11103
  className,
10918
11104
  onClickLegendItem,
10919
11105
  activeLegend,
@@ -11005,7 +11191,7 @@ var Legend5 = React15__default.forwardRef((props, ref) => {
11005
11191
  LegendItem2,
11006
11192
  {
11007
11193
  name: category,
11008
- color: colors2[index],
11194
+ color: colors3[index],
11009
11195
  onClick: onClickLegendItem,
11010
11196
  activeLegend
11011
11197
  },
@@ -11157,7 +11343,7 @@ var BarChart = React15__default.forwardRef((props, forwardedRef) => {
11157
11343
  data = [],
11158
11344
  categories = [],
11159
11345
  index,
11160
- colors: colors2 = AvailableChartColors,
11346
+ colors: colors3 = AvailableChartColors,
11161
11347
  valueFormatter = (value) => value.toString(),
11162
11348
  startEndOnly = false,
11163
11349
  showXAxis = true,
@@ -11189,7 +11375,7 @@ var BarChart = React15__default.forwardRef((props, forwardedRef) => {
11189
11375
  const paddingValue = !showXAxis && !showYAxis || startEndOnly && !showYAxis ? 0 : 20;
11190
11376
  const [legendHeight, setLegendHeight] = React15__default.useState(60);
11191
11377
  const [activeLegend, setActiveLegend] = React15__default.useState(void 0);
11192
- const categoryColors = constructCategoryColors(categories, colors2);
11378
+ const categoryColors = constructCategoryColors(categories, colors3);
11193
11379
  const [activeBar, setActiveBar] = React15__default.useState(void 0);
11194
11380
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
11195
11381
  const hasOnValueChange = !!onValueChange;
@@ -11632,12 +11818,12 @@ var Tooltip5 = React15__default.forwardRef(
11632
11818
  }
11633
11819
  );
11634
11820
  Tooltip5.displayName = "Tooltip";
11635
- var getMarkerBgColor = (marker, values, colors2) => {
11821
+ var getMarkerBgColor = (marker, values, colors3) => {
11636
11822
  if (marker === void 0) return "";
11637
11823
  if (marker === 0) {
11638
11824
  for (let index = 0; index < values.length; index++) {
11639
11825
  if (values[index] > 0) {
11640
- return getColorClassName(colors2[index], "bg");
11826
+ return getColorClassName(colors3[index], "bg");
11641
11827
  }
11642
11828
  }
11643
11829
  }
@@ -11645,10 +11831,10 @@ var getMarkerBgColor = (marker, values, colors2) => {
11645
11831
  for (let index = 0; index < values.length; index++) {
11646
11832
  prefixSum += values[index];
11647
11833
  if (prefixSum >= marker) {
11648
- return getColorClassName(colors2[index], "bg");
11834
+ return getColorClassName(colors3[index], "bg");
11649
11835
  }
11650
11836
  }
11651
- return getColorClassName(colors2[values.length - 1], "bg");
11837
+ return getColorClassName(colors3[values.length - 1], "bg");
11652
11838
  };
11653
11839
  var getPositionLeft = (value, maxValue) => value ? value / maxValue * 100 : 0;
11654
11840
  var sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum + num, 0);
@@ -11694,10 +11880,10 @@ var BarLabels = ({ values }) => {
11694
11880
  );
11695
11881
  };
11696
11882
  var CategoryBar = React15__default.forwardRef(
11697
- ({ values = [], colors: colors2 = AvailableChartColors, marker, showLabels = true, className, ...props }, forwardedRef) => {
11883
+ ({ values = [], colors: colors3 = AvailableChartColors, marker, showLabels = true, className, ...props }, forwardedRef) => {
11698
11884
  const markerBgColor = React15__default.useMemo(
11699
- () => getMarkerBgColor(marker?.value, values, colors2),
11700
- [marker, values, colors2]
11885
+ () => getMarkerBgColor(marker?.value, values, colors3),
11886
+ [marker, values, colors3]
11701
11887
  );
11702
11888
  const maxValue = React15__default.useMemo(() => sumNumericArray(values), [values]);
11703
11889
  const adjustedMarkerValue = React15__default.useMemo(() => {
@@ -11723,7 +11909,7 @@ var CategoryBar = React15__default.forwardRef(
11723
11909
  showLabels ? /* @__PURE__ */ jsx(BarLabels, { values }) : null,
11724
11910
  /* @__PURE__ */ jsxs("div", { className: "relative flex h-2 w-full items-center", children: [
11725
11911
  /* @__PURE__ */ jsx("div", { className: "flex h-full flex-1 items-center gap-0.5 overflow-hidden rounded-full", children: values.map((value, index) => {
11726
- const barColor = colors2[index] ?? "gray";
11912
+ const barColor = colors3[index] ?? "gray";
11727
11913
  const percentage = value / maxValue * 100;
11728
11914
  return /* @__PURE__ */ jsx(
11729
11915
  "div",
@@ -12744,7 +12930,7 @@ var DonutChart = React15__default.forwardRef(
12744
12930
  data = [],
12745
12931
  value,
12746
12932
  category,
12747
- colors: colors2 = AvailableChartColors,
12933
+ colors: colors3 = AvailableChartColors,
12748
12934
  variant = "donut",
12749
12935
  valueFormatter = (value2) => value2.toString(),
12750
12936
  label,
@@ -12761,7 +12947,7 @@ var DonutChart = React15__default.forwardRef(
12761
12947
  const isDonut = variant === "donut";
12762
12948
  const parsedLabelInput = parseLabelInput(label, valueFormatter, data, value);
12763
12949
  const categories = Array.from(new Set(data.map((item) => item[category])));
12764
- const categoryColors = constructCategoryColors(categories, colors2);
12950
+ const categoryColors = constructCategoryColors(categories, colors3);
12765
12951
  const prevActiveRef = React15__default.useRef(void 0);
12766
12952
  const prevCategoryRef = React15__default.useRef(void 0);
12767
12953
  const handleShapeClick = (data2, index, event) => {
@@ -12965,7 +13151,7 @@ var ScrollButton4 = ({ icon, onClick, disabled }) => {
12965
13151
  var Legend7 = React15__default.forwardRef((props, ref) => {
12966
13152
  const {
12967
13153
  categories,
12968
- colors: colors2 = AvailableChartColors,
13154
+ colors: colors3 = AvailableChartColors,
12969
13155
  className,
12970
13156
  onClickLegendItem,
12971
13157
  activeLegend,
@@ -13057,7 +13243,7 @@ var Legend7 = React15__default.forwardRef((props, ref) => {
13057
13243
  LegendItem4,
13058
13244
  {
13059
13245
  name: category,
13060
- color: colors2[index],
13246
+ color: colors3[index],
13061
13247
  onClick: onClickLegendItem,
13062
13248
  activeLegend
13063
13249
  },
@@ -13211,7 +13397,7 @@ var LineChart = React15__default.forwardRef((props, ref) => {
13211
13397
  data = [],
13212
13398
  categories = [],
13213
13399
  index,
13214
- colors: colors2 = AvailableChartColors,
13400
+ colors: colors3 = AvailableChartColors,
13215
13401
  valueFormatter = (value) => value.toString(),
13216
13402
  startEndOnly = false,
13217
13403
  showXAxis = true,
@@ -13242,7 +13428,7 @@ var LineChart = React15__default.forwardRef((props, ref) => {
13242
13428
  const [legendHeight, setLegendHeight] = React15__default.useState(60);
13243
13429
  const [activeDot, setActiveDot] = React15__default.useState(void 0);
13244
13430
  const [activeLegend, setActiveLegend] = React15__default.useState(void 0);
13245
- const categoryColors = constructCategoryColors(categories, colors2);
13431
+ const categoryColors = constructCategoryColors(categories, colors3);
13246
13432
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13247
13433
  const hasOnValueChange = !!onValueChange;
13248
13434
  const prevActiveRef = React15__default.useRef(void 0);
@@ -13749,7 +13935,7 @@ var SparkAreaChart = React15__default.forwardRef(
13749
13935
  data = [],
13750
13936
  categories = [],
13751
13937
  index,
13752
- colors: colors2 = AvailableChartColors,
13938
+ colors: colors3 = AvailableChartColors,
13753
13939
  autoMinValue = false,
13754
13940
  minValue,
13755
13941
  maxValue,
@@ -13759,7 +13945,7 @@ var SparkAreaChart = React15__default.forwardRef(
13759
13945
  fill = "gradient",
13760
13946
  ...other
13761
13947
  } = props;
13762
- const categoryColors = constructCategoryColors(categories, colors2);
13948
+ const categoryColors = constructCategoryColors(categories, colors3);
13763
13949
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13764
13950
  const stacked = type === "stacked" || type === "percent";
13765
13951
  const areaId = React15__default.useId();
@@ -13860,7 +14046,7 @@ var SparkLineChart = React15__default.forwardRef(
13860
14046
  data = [],
13861
14047
  categories = [],
13862
14048
  index,
13863
- colors: colors2 = AvailableChartColors,
14049
+ colors: colors3 = AvailableChartColors,
13864
14050
  autoMinValue = false,
13865
14051
  minValue,
13866
14052
  maxValue,
@@ -13868,7 +14054,7 @@ var SparkLineChart = React15__default.forwardRef(
13868
14054
  className,
13869
14055
  ...other
13870
14056
  } = props;
13871
- const categoryColors = constructCategoryColors(categories, colors2);
14057
+ const categoryColors = constructCategoryColors(categories, colors3);
13872
14058
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13873
14059
  return /* @__PURE__ */ jsx(
13874
14060
  "div",
@@ -13926,7 +14112,7 @@ var SparkBarChart = React15__default.forwardRef((props, forwardedRef) => {
13926
14112
  data = [],
13927
14113
  categories = [],
13928
14114
  index,
13929
- colors: colors2 = AvailableChartColors,
14115
+ colors: colors3 = AvailableChartColors,
13930
14116
  autoMinValue = false,
13931
14117
  minValue,
13932
14118
  maxValue,
@@ -13935,7 +14121,7 @@ var SparkBarChart = React15__default.forwardRef((props, forwardedRef) => {
13935
14121
  className,
13936
14122
  ...other
13937
14123
  } = props;
13938
- const categoryColors = constructCategoryColors(categories, colors2);
14124
+ const categoryColors = constructCategoryColors(categories, colors3);
13939
14125
  const yAxisDomain = getYAxisDomain(autoMinValue, minValue, maxValue);
13940
14126
  const stacked = type === "stacked" || type === "percent";
13941
14127
  return /* @__PURE__ */ jsx(
@@ -14569,7 +14755,7 @@ function Prose({
14569
14755
  return /* @__PURE__ */ jsx(
14570
14756
  Component,
14571
14757
  {
14572
- className: clsx4(
14758
+ className: clsx20(
14573
14759
  className,
14574
14760
  "prose dark:!prose-invert max-w-none",
14575
14761
  // headings
@@ -14589,6 +14775,217 @@ function Prose({
14589
14775
  }
14590
14776
  );
14591
14777
  }
14778
+ function Listbox2({
14779
+ className,
14780
+ placeholder,
14781
+ autoFocus,
14782
+ "aria-label": ariaLabel,
14783
+ children: options,
14784
+ ...props
14785
+ }) {
14786
+ return /* @__PURE__ */ jsxs(Headless4.Listbox, { ...props, multiple: false, children: [
14787
+ /* @__PURE__ */ jsxs(
14788
+ Headless4.ListboxButton,
14789
+ {
14790
+ autoFocus,
14791
+ "data-slot": "control",
14792
+ "aria-label": ariaLabel,
14793
+ className: clsx20([
14794
+ className,
14795
+ // Basic layout
14796
+ "group relative block w-full",
14797
+ // Background color + shadow applied to inset pseudo element, so shadow blends with border in light mode
14798
+ "before:absolute before:inset-px before:rounded-[calc(var(--radius)-1px)] before:bg-white before:shadow-sm",
14799
+ // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo
14800
+ "dark:before:hidden",
14801
+ // Hide default focus styles
14802
+ "focus:outline-hidden",
14803
+ // Focus ring
14804
+ "after:pointer-events-none after:absolute after:inset-0 after:rounded-sm after:ring-transparent after:ring-offset-2",
14805
+ "data-focus:after:ring-primary-650/70 data-focus:after:ring-2 data-focus:after:ring-offset-white",
14806
+ "",
14807
+ // Disabled state
14808
+ "data-disabled:before:bg-grey-950/5 data-disabled:opacity-50 data-disabled:before:shadow-none"
14809
+ ]),
14810
+ children: [
14811
+ /* @__PURE__ */ jsx(
14812
+ Headless4.ListboxSelectedOption,
14813
+ {
14814
+ as: "span",
14815
+ options,
14816
+ placeholder: placeholder && /* @__PURE__ */ jsx("span", { className: "text-grey-500 block truncate", children: placeholder }),
14817
+ className: clsx20([
14818
+ "cursor-pointer",
14819
+ // Basic layout
14820
+ "relative block w-full appearance-none rounded-sm py-[calc(--spacing(4.5)-1px)] sm:py-[calc(--spacing(3.5)-1px)]",
14821
+ // Set minimum height for when no value is selected
14822
+ "min-h-16 sm:min-h-12",
14823
+ // Horizontal padding
14824
+ "pr-[calc(--spacing(7)-1px)] pl-[calc(--spacing(4.5)-1px)] sm:pl-[calc(--spacing(4)-1px)]",
14825
+ // Typography
14826
+ "text-grey-950 placeholder:text-grey-500 text-left text-base/6 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]",
14827
+ // Border
14828
+ "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",
14829
+ // Background color
14830
+ "bg-transparent dark:bg-white/5",
14831
+ // Invalid state
14832
+ "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",
14833
+ // Disabled state
14834
+ "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"
14835
+ ])
14836
+ }
14837
+ ),
14838
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-4", children: /* @__PURE__ */ 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]" }) })
14839
+ ]
14840
+ }
14841
+ ),
14842
+ /* @__PURE__ */ jsx(
14843
+ Headless4.ListboxOptions,
14844
+ {
14845
+ transition: true,
14846
+ anchor: "selection start",
14847
+ className: clsx20(
14848
+ // Anchor positioning
14849
+ "[--anchor-offset:-1.625rem] [--anchor-padding:--spacing(4)] sm:[--anchor-offset:-1.375rem]",
14850
+ // Base styles
14851
+ "isolate w-max min-w-[calc(var(--button-width)+1.75rem)] scroll-py-1 rounded-md p-1 select-none",
14852
+ // Invisible border that is only visible in `forced-colors` mode for accessibility purposes
14853
+ "outline outline-transparent focus:outline-hidden",
14854
+ // Handle scrolling when menu won't fit in viewport
14855
+ "overflow-y-scroll overscroll-contain",
14856
+ // Popover background
14857
+ "dark:bg-grey-800/75 bg-white/75 backdrop-blur-xl",
14858
+ // Shadows
14859
+ "ring-grey-950/10 shadow-lg ring-1 dark:ring-white/10 dark:ring-inset",
14860
+ // Transitions
14861
+ "transition-opacity duration-100 ease-in data-closed:data-leave:opacity-0 data-transition:pointer-events-none"
14862
+ ),
14863
+ children: options
14864
+ }
14865
+ )
14866
+ ] });
14867
+ }
14868
+ function ListboxOption2({
14869
+ children,
14870
+ className,
14871
+ ...props
14872
+ }) {
14873
+ const sharedClasses = clsx20(
14874
+ // Base
14875
+ "flex min-w-0 items-center",
14876
+ // Icons
14877
+ "*:data-[slot=icon]:size-5 *:data-[slot=icon]:shrink-0 sm:*:data-[slot=icon]:size-4",
14878
+ "*:data-[slot=icon]:text-grey-500 group-data-focus/option:*:data-[slot=icon]:text-white dark:*:data-[slot=icon]:text-grey-400",
14879
+ "forced-colors:*:data-[slot=icon]:text-[CanvasText] forced-colors:group-data-focus/option:*:data-[slot=icon]:text-[Canvas]",
14880
+ // Avatars
14881
+ "*:data-[slot=avatar]:-mx-0.5 *:data-[slot=avatar]:size-6 sm:*:data-[slot=avatar]:size-5"
14882
+ );
14883
+ return /* @__PURE__ */ jsx(Headless4.ListboxOption, { as: Fragment$1, ...props, children: ({ selectedOption }) => {
14884
+ if (selectedOption) {
14885
+ return /* @__PURE__ */ jsx("div", { className: clsx20(className, sharedClasses), children });
14886
+ }
14887
+ return /* @__PURE__ */ jsxs(
14888
+ "div",
14889
+ {
14890
+ className: clsx20(
14891
+ // Basic layout
14892
+ "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",
14893
+ // Typography
14894
+ "text-grey-950 text-base/6 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]",
14895
+ // Focus
14896
+ "data-focus:bg-primary-800/10 data-focus:text-primary-800 outline-hidden data-focus:cursor-pointer data-focus:font-bold",
14897
+ // Forced colors mode
14898
+ "forced-color-adjust-none forced-colors:data-focus:bg-[Highlight] forced-colors:data-focus:text-[HighlightText]",
14899
+ // Disabled
14900
+ "data-disabled:opacity-50"
14901
+ ),
14902
+ children: [
14903
+ /* @__PURE__ */ jsx(
14904
+ "svg",
14905
+ {
14906
+ className: "relative hidden size-5 self-center stroke-current group-data-selected/option:inline sm:size-4",
14907
+ viewBox: "0 0 16 16",
14908
+ fill: "none",
14909
+ "aria-hidden": "true",
14910
+ children: /* @__PURE__ */ jsx(
14911
+ "path",
14912
+ {
14913
+ d: "M4 8.5l3 3L12 4",
14914
+ strokeWidth: 1.5,
14915
+ strokeLinecap: "round",
14916
+ strokeLinejoin: "round"
14917
+ }
14918
+ )
14919
+ }
14920
+ ),
14921
+ /* @__PURE__ */ jsx("span", { className: clsx20(className, sharedClasses, "col-start-2"), children })
14922
+ ]
14923
+ }
14924
+ );
14925
+ } });
14926
+ }
14927
+ function ListboxLabel({ className, ...props }) {
14928
+ return /* @__PURE__ */ jsx(
14929
+ "span",
14930
+ {
14931
+ ...props,
14932
+ className: clsx20(className, "ml-2.5 truncate first:ml-0 sm:ml-2 sm:first:ml-0")
14933
+ }
14934
+ );
14935
+ }
14936
+ function ListboxDescription({
14937
+ className,
14938
+ children,
14939
+ ...props
14940
+ }) {
14941
+ return /* @__PURE__ */ jsx(
14942
+ "span",
14943
+ {
14944
+ ...props,
14945
+ className: clsx20(
14946
+ className,
14947
+ "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"
14948
+ ),
14949
+ children: /* @__PURE__ */ jsx("span", { className: "flex-1 truncate", children })
14950
+ }
14951
+ );
14952
+ }
14953
+ function DescriptionList({ className, ...props }) {
14954
+ return /* @__PURE__ */ jsx(
14955
+ "dl",
14956
+ {
14957
+ ...props,
14958
+ className: clsx20(
14959
+ className,
14960
+ "grid grid-cols-1 text-base/6 sm:grid-cols-[min(50%,--spacing(80))_auto] sm:text-sm/6"
14961
+ )
14962
+ }
14963
+ );
14964
+ }
14965
+ function DescriptionTerm({ className, ...props }) {
14966
+ return /* @__PURE__ */ jsx(
14967
+ "dt",
14968
+ {
14969
+ ...props,
14970
+ className: clsx20(
14971
+ className,
14972
+ "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"
14973
+ )
14974
+ }
14975
+ );
14976
+ }
14977
+ function DescriptionDetails({ className, ...props }) {
14978
+ return /* @__PURE__ */ jsx(
14979
+ "dd",
14980
+ {
14981
+ ...props,
14982
+ className: clsx20(
14983
+ className,
14984
+ "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"
14985
+ )
14986
+ }
14987
+ );
14988
+ }
14592
14989
  var MOBILE_BREAKPOINT = 768;
14593
14990
  function useIsMobile() {
14594
14991
  const [isMobile, setIsMobile] = React15.useState(void 0);
@@ -14744,6 +15141,6 @@ var languages = [
14744
15141
  "html"
14745
15142
  ];
14746
15143
 
14747
- 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, Description2 as Description, 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, 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, Label4 as Label, Legend2 as Legend, LineChart, Link, _List as List, Logo, MainNavigation, Masthead, MegaMenu, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, 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, Switch, 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 };
15144
+ 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, 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 };
14748
15145
  //# sourceMappingURL=index.js.map
14749
15146
  //# sourceMappingURL=index.js.map