@page-speed/forms 0.7.0 → 0.7.2

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.
Files changed (49) hide show
  1. package/dist/{FormContext-DsNPeCv0.d.ts → FormContext-CRP1KNiH.d.ts} +1 -1
  2. package/dist/{FormContext-6c1ttFt2.d.cts → FormContext-DmdEAIQ7.d.cts} +1 -1
  3. package/dist/{chunk-I4EKHIVF.cjs → chunk-4K6J2DOK.cjs} +140 -126
  4. package/dist/chunk-4K6J2DOK.cjs.map +1 -0
  5. package/dist/{chunk-6TCB3X5J.js → chunk-AG67TUZI.js} +5 -6
  6. package/dist/chunk-AG67TUZI.js.map +1 -0
  7. package/dist/{chunk-J37BGNM6.js → chunk-SUF7WJS6.js} +8 -3
  8. package/dist/chunk-SUF7WJS6.js.map +1 -0
  9. package/dist/{chunk-33XRILGQ.cjs → chunk-V4HMVPAB.cjs} +22 -23
  10. package/dist/chunk-V4HMVPAB.cjs.map +1 -0
  11. package/dist/{chunk-QMWZLGON.cjs → chunk-WQ4HD5UD.cjs} +8 -2
  12. package/dist/chunk-WQ4HD5UD.cjs.map +1 -0
  13. package/dist/{chunk-AI5Q4N6D.js → chunk-ZH6XDBWH.js} +31 -17
  14. package/dist/chunk-ZH6XDBWH.js.map +1 -0
  15. package/dist/core.cjs +9 -9
  16. package/dist/core.d.cts +3 -3
  17. package/dist/core.d.ts +3 -3
  18. package/dist/core.js +2 -2
  19. package/dist/index.cjs +13 -13
  20. package/dist/index.d.cts +2 -2
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.js +2 -2
  23. package/dist/inputs.cjs +14 -14
  24. package/dist/inputs.d.cts +1 -1
  25. package/dist/inputs.d.ts +1 -1
  26. package/dist/inputs.js +2 -2
  27. package/dist/integration.cjs +23 -22
  28. package/dist/integration.cjs.map +1 -1
  29. package/dist/integration.d.cts +2 -2
  30. package/dist/integration.d.ts +2 -2
  31. package/dist/integration.js +5 -4
  32. package/dist/integration.js.map +1 -1
  33. package/dist/{types-CrWhdYGP.d.ts → types-BfZYTL89.d.cts} +5 -1
  34. package/dist/{types-CrWhdYGP.d.cts → types-BfZYTL89.d.ts} +5 -1
  35. package/dist/validation-rules.d.cts +1 -1
  36. package/dist/validation-rules.d.ts +1 -1
  37. package/dist/validation-utils.d.cts +1 -1
  38. package/dist/validation-utils.d.ts +1 -1
  39. package/dist/validation-valibot.d.cts +1 -1
  40. package/dist/validation-valibot.d.ts +1 -1
  41. package/dist/validation.d.cts +1 -1
  42. package/dist/validation.d.ts +1 -1
  43. package/package.json +3 -3
  44. package/dist/chunk-33XRILGQ.cjs.map +0 -1
  45. package/dist/chunk-6TCB3X5J.js.map +0 -1
  46. package/dist/chunk-AI5Q4N6D.js.map +0 -1
  47. package/dist/chunk-I4EKHIVF.cjs.map +0 -1
  48. package/dist/chunk-J37BGNM6.js.map +0 -1
  49. package/dist/chunk-QMWZLGON.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkQMWZLGON_cjs = require('./chunk-QMWZLGON.cjs');
3
+ var chunkWQ4HD5UD_cjs = require('./chunk-WQ4HD5UD.cjs');
4
4
  var React19 = require('react');
5
5
  var radixUi = require('radix-ui');
6
6
  var cmdk = require('cmdk');
@@ -33,7 +33,7 @@ function Textarea({ className, ...props }) {
33
33
  "textarea",
34
34
  {
35
35
  "data-slot": "textarea",
36
- className: chunkQMWZLGON_cjs.cn(
36
+ className: chunkWQ4HD5UD_cjs.cn(
37
37
  // Core structure - uses CSS variables only
38
38
  "flex field-sizing-content min-h-16 w-full rounded-md border border-input",
39
39
  "bg-transparent px-3 py-2 text-base shadow-xs",
@@ -86,7 +86,7 @@ function TextArea({
86
86
  placeholder,
87
87
  disabled,
88
88
  required,
89
- className: chunkQMWZLGON_cjs.cn(
89
+ className: chunkWQ4HD5UD_cjs.cn(
90
90
  // Valid value indicator - ring-2 when has value and no error
91
91
  !error && hasValue && "ring-2 ring-ring",
92
92
  // Error state - handled by Textarea component via aria-invalid
@@ -113,7 +113,7 @@ function Checkbox({
113
113
  radixUi.Checkbox.Root,
114
114
  {
115
115
  "data-slot": "checkbox",
116
- className: chunkQMWZLGON_cjs.cn(
116
+ className: chunkWQ4HD5UD_cjs.cn(
117
117
  // Core structure - uses CSS variables
118
118
  "peer size-4 shrink-0 rounded-[4px] border border-input bg-transparent shadow-xs",
119
119
  "transition-shadow outline-none",
@@ -218,10 +218,10 @@ function Checkbox2({
218
218
  return /* @__PURE__ */ React19__namespace.createElement("div", { className }, checkbox);
219
219
  }
220
220
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: "space-y-0", "data-invalid": error || void 0 }, /* @__PURE__ */ React19__namespace.createElement(
221
- chunkQMWZLGON_cjs.FieldLabel,
221
+ chunkWQ4HD5UD_cjs.FieldLabel,
222
222
  {
223
223
  htmlFor: checkboxId,
224
- className: chunkQMWZLGON_cjs.cn(
224
+ className: chunkWQ4HD5UD_cjs.cn(
225
225
  "flex gap-3 p-3 duration-200 select-auto font-normal leading-normal",
226
226
  showChoiceCard && "border rounded-lg hover:ring-2 hover:ring-ring/50",
227
227
  showChoiceCard && value && "ring-2 ring-ring",
@@ -233,14 +233,14 @@ function Checkbox2({
233
233
  /* @__PURE__ */ React19__namespace.createElement(
234
234
  "div",
235
235
  {
236
- className: chunkQMWZLGON_cjs.cn(
236
+ className: chunkWQ4HD5UD_cjs.cn(
237
237
  "flex w-full gap-3",
238
238
  showChoiceCard ? "items-start" : "items-center"
239
239
  )
240
240
  },
241
241
  checkbox,
242
242
  /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex-1 space-y-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(
243
- chunkQMWZLGON_cjs.FieldDescription,
243
+ chunkWQ4HD5UD_cjs.FieldDescription,
244
244
  {
245
245
  id: `${checkboxId}-description`,
246
246
  className: "leading-snug"
@@ -309,7 +309,7 @@ function CheckboxGroup({
309
309
  };
310
310
  const maxReached = Boolean(maxSelections && countableValue >= maxSelections);
311
311
  const containerClass = React19__namespace.useMemo(() => {
312
- return chunkQMWZLGON_cjs.cn(
312
+ return chunkWQ4HD5UD_cjs.cn(
313
313
  "w-full grid grid-cols-1 border-0 m-0 p-0 min-w-0",
314
314
  (layout === "grid" || layout === "inline") && "md:grid-cols-2",
315
315
  layout === "grid" && "gap-3",
@@ -330,7 +330,7 @@ function CheckboxGroup({
330
330
  "aria-label": typeof label === "string" ? label : props["aria-label"]
331
331
  },
332
332
  /* @__PURE__ */ React19__namespace.createElement(
333
- chunkQMWZLGON_cjs.LabelGroup,
333
+ chunkWQ4HD5UD_cjs.LabelGroup,
334
334
  {
335
335
  labelHtmlFor: name,
336
336
  required,
@@ -377,9 +377,9 @@ function CheckboxGroup({
377
377
  );
378
378
  }),
379
379
  (minSelections || maxSelections) && /* @__PURE__ */ React19__namespace.createElement(
380
- chunkQMWZLGON_cjs.FieldDescription,
380
+ chunkWQ4HD5UD_cjs.FieldDescription,
381
381
  {
382
- className: chunkQMWZLGON_cjs.cn(
382
+ className: chunkWQ4HD5UD_cjs.cn(
383
383
  "p-2 rounded-lg border font-semibold mt-2 leading-snug",
384
384
  minSelections && countableValue < minSelections ? "border-destructive bg-destructive/80 text-destructive-foreground" : "border-border bg-card text-card-foreground"
385
385
  ),
@@ -399,7 +399,7 @@ function RadioGroup({
399
399
  radixUi.RadioGroup.Root,
400
400
  {
401
401
  "data-slot": "radio-group",
402
- className: chunkQMWZLGON_cjs.cn("grid gap-3", className),
402
+ className: chunkWQ4HD5UD_cjs.cn("grid gap-3", className),
403
403
  ...props
404
404
  }
405
405
  );
@@ -412,7 +412,7 @@ function RadioGroupItem({
412
412
  radixUi.RadioGroup.Item,
413
413
  {
414
414
  "data-slot": "radio-group-item",
415
- className: chunkQMWZLGON_cjs.cn(
415
+ className: chunkWQ4HD5UD_cjs.cn(
416
416
  // Core structure - uses CSS variables
417
417
  "aspect-square size-4 shrink-0 rounded-full border border-input bg-transparent shadow-xs",
418
418
  "text-primary transition-[color,box-shadow] outline-none",
@@ -470,7 +470,7 @@ function Radio({
470
470
  return options.some((option) => option.description);
471
471
  }, [options]);
472
472
  const groupDescriptionId = description ? `${name}-description` : void 0;
473
- return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkQMWZLGON_cjs.cn("w-full", className), "data-invalid": error || void 0 }, (label || description) && /* @__PURE__ */ React19__namespace.createElement("div", { className: "mb-3 space-y-1" }, label && /* @__PURE__ */ React19__namespace.createElement("div", { className: "text-base font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(chunkQMWZLGON_cjs.FieldDescription, { id: groupDescriptionId, className: "leading-snug" }, description)), /* @__PURE__ */ React19__namespace.createElement(
473
+ return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkWQ4HD5UD_cjs.cn("w-full", className), "data-invalid": error || void 0 }, (label || description) && /* @__PURE__ */ React19__namespace.createElement("div", { className: "mb-3 space-y-1" }, label && /* @__PURE__ */ React19__namespace.createElement("div", { className: "text-base font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(chunkWQ4HD5UD_cjs.FieldDescription, { id: groupDescriptionId, className: "leading-snug" }, description)), /* @__PURE__ */ React19__namespace.createElement(
474
474
  RadioGroup,
475
475
  {
476
476
  name,
@@ -479,7 +479,7 @@ function Radio({
479
479
  onBlur: handleBlur,
480
480
  disabled,
481
481
  required,
482
- className: chunkQMWZLGON_cjs.cn(
482
+ className: chunkWQ4HD5UD_cjs.cn(
483
483
  layout === "grid" && "grid grid-cols-1 md:grid-cols-2 gap-3",
484
484
  layout === "inline" && "flex flex-wrap gap-0"
485
485
  ),
@@ -493,11 +493,11 @@ function Radio({
493
493
  const radioId = `${name}-${option.value}`;
494
494
  const hasDescription = !!option.description;
495
495
  return /* @__PURE__ */ React19__namespace.createElement(
496
- chunkQMWZLGON_cjs.FieldLabel,
496
+ chunkWQ4HD5UD_cjs.FieldLabel,
497
497
  {
498
498
  key: option.value,
499
499
  htmlFor: radioId,
500
- className: chunkQMWZLGON_cjs.cn(
500
+ className: chunkWQ4HD5UD_cjs.cn(
501
501
  "flex gap-3 p-3 duration-200 select-auto font-normal leading-normal",
502
502
  useChoiceCard && "border rounded-lg hover:ring-2 hover:ring-ring/50",
503
503
  useChoiceCard && isSelected && "ring-2 ring-ring",
@@ -508,7 +508,7 @@ function Radio({
508
508
  /* @__PURE__ */ React19__namespace.createElement(
509
509
  "div",
510
510
  {
511
- className: chunkQMWZLGON_cjs.cn(
511
+ className: chunkWQ4HD5UD_cjs.cn(
512
512
  "flex w-full gap-3",
513
513
  useChoiceCard ? "items-start" : "items-center"
514
514
  )
@@ -524,7 +524,7 @@ function Radio({
524
524
  }
525
525
  ),
526
526
  /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex-1 space-y-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, option.label), option.description && /* @__PURE__ */ React19__namespace.createElement(
527
- chunkQMWZLGON_cjs.FieldDescription,
527
+ chunkWQ4HD5UD_cjs.FieldDescription,
528
528
  {
529
529
  id: `${radioId}-description`,
530
530
  className: "leading-snug"
@@ -547,7 +547,7 @@ function Switch({
547
547
  {
548
548
  "data-slot": "switch",
549
549
  "data-size": size,
550
- className: chunkQMWZLGON_cjs.cn(
550
+ className: chunkWQ4HD5UD_cjs.cn(
551
551
  // Core structure - uses CSS variables
552
552
  "peer group/switch inline-flex shrink-0 items-center rounded-full",
553
553
  "border border-transparent shadow-xs transition-all outline-none",
@@ -568,7 +568,7 @@ function Switch({
568
568
  radixUi.Switch.Thumb,
569
569
  {
570
570
  "data-slot": "switch-thumb",
571
- className: chunkQMWZLGON_cjs.cn(
571
+ className: chunkWQ4HD5UD_cjs.cn(
572
572
  // Thumb appearance - inherits from parent theme
573
573
  "bg-background pointer-events-none block rounded-full ring-0 transition-transform",
574
574
  // Size variants
@@ -619,21 +619,21 @@ function Switch2({
619
619
  }
620
620
  );
621
621
  if (!label) {
622
- return /* @__PURE__ */ React19__namespace.createElement(chunkQMWZLGON_cjs.Field, { className }, switchElement);
622
+ return /* @__PURE__ */ React19__namespace.createElement(chunkWQ4HD5UD_cjs.Field, { className }, switchElement);
623
623
  }
624
- return /* @__PURE__ */ React19__namespace.createElement(chunkQMWZLGON_cjs.Field, { className: "gap-0", invalid: Boolean(error) }, /* @__PURE__ */ React19__namespace.createElement(
625
- chunkQMWZLGON_cjs.FieldLabel,
624
+ return /* @__PURE__ */ React19__namespace.createElement(chunkWQ4HD5UD_cjs.Field, { className: "gap-0", invalid: Boolean(error) }, /* @__PURE__ */ React19__namespace.createElement(
625
+ chunkWQ4HD5UD_cjs.FieldLabel,
626
626
  {
627
627
  htmlFor: switchId,
628
- className: chunkQMWZLGON_cjs.cn(
628
+ className: chunkWQ4HD5UD_cjs.cn(
629
629
  "flex items-center gap-3 cursor-pointer select-auto font-normal leading-normal",
630
630
  disabled && "opacity-50 cursor-not-allowed",
631
631
  className
632
632
  )
633
633
  },
634
634
  switchElement,
635
- /* @__PURE__ */ React19__namespace.createElement(chunkQMWZLGON_cjs.Field, { className: "gap-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(
636
- chunkQMWZLGON_cjs.FieldDescription,
635
+ /* @__PURE__ */ React19__namespace.createElement(chunkWQ4HD5UD_cjs.Field, { className: "gap-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(
636
+ chunkWQ4HD5UD_cjs.FieldDescription,
637
637
  {
638
638
  id: `${switchId}-description`,
639
639
  className: "leading-snug"
@@ -669,7 +669,7 @@ function SelectTrigger({
669
669
  {
670
670
  "data-slot": "select-trigger",
671
671
  "data-size": size,
672
- className: chunkQMWZLGON_cjs.cn(
672
+ className: chunkWQ4HD5UD_cjs.cn(
673
673
  // Core structure - uses CSS variables
674
674
  "flex w-full items-center justify-between gap-2 rounded-md border border-input",
675
675
  "bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs",
@@ -720,7 +720,7 @@ function SelectContent({
720
720
  radixUi.Select.Content,
721
721
  {
722
722
  "data-slot": "select-content",
723
- className: chunkQMWZLGON_cjs.cn(
723
+ className: chunkWQ4HD5UD_cjs.cn(
724
724
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
725
725
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
726
726
  className
@@ -733,7 +733,7 @@ function SelectContent({
733
733
  /* @__PURE__ */ React19__namespace.createElement(
734
734
  radixUi.Select.Viewport,
735
735
  {
736
- className: chunkQMWZLGON_cjs.cn(
736
+ className: chunkWQ4HD5UD_cjs.cn(
737
737
  "p-1",
738
738
  position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
739
739
  )
@@ -751,7 +751,7 @@ function SelectLabel({
751
751
  radixUi.Select.Label,
752
752
  {
753
753
  "data-slot": "select-label",
754
- className: chunkQMWZLGON_cjs.cn("px-2 py-1.5 text-xs opacity-70", className),
754
+ className: chunkWQ4HD5UD_cjs.cn("px-2 py-1.5 text-xs opacity-70", className),
755
755
  ...props
756
756
  }
757
757
  );
@@ -765,7 +765,7 @@ function SelectItem({
765
765
  radixUi.Select.Item,
766
766
  {
767
767
  "data-slot": "select-item",
768
- className: chunkQMWZLGON_cjs.cn(
768
+ className: chunkWQ4HD5UD_cjs.cn(
769
769
  // Core structure - inherits text color
770
770
  "relative flex w-full cursor-default items-center gap-2 rounded-sm",
771
771
  "py-1.5 pr-8 pl-2 text-sm outline-hidden select-none",
@@ -812,7 +812,7 @@ function SelectScrollUpButton({
812
812
  radixUi.Select.ScrollUpButton,
813
813
  {
814
814
  "data-slot": "select-scroll-up-button",
815
- className: chunkQMWZLGON_cjs.cn(
815
+ className: chunkWQ4HD5UD_cjs.cn(
816
816
  "flex cursor-default items-center justify-center py-1",
817
817
  className
818
818
  ),
@@ -841,7 +841,7 @@ function SelectScrollDownButton({
841
841
  radixUi.Select.ScrollDownButton,
842
842
  {
843
843
  "data-slot": "select-scroll-down-button",
844
- className: chunkQMWZLGON_cjs.cn(
844
+ className: chunkWQ4HD5UD_cjs.cn(
845
845
  "flex cursor-default items-center justify-center py-1",
846
846
  className
847
847
  ),
@@ -935,7 +935,7 @@ function Select2({
935
935
  /* @__PURE__ */ React19__namespace.createElement(
936
936
  SelectTrigger,
937
937
  {
938
- className: chunkQMWZLGON_cjs.cn(
938
+ className: chunkWQ4HD5UD_cjs.cn(
939
939
  // Valid value indicator - ring-2 when has value and no error
940
940
  !error && hasValue && "ring-2 ring-ring",
941
941
  // Error state - handled by SelectTrigger via aria-invalid
@@ -994,7 +994,7 @@ var DialogOverlay = React19__namespace.forwardRef(({ className, ...props }, ref)
994
994
  {
995
995
  ref,
996
996
  "data-slot": "dialog-overlay",
997
- className: chunkQMWZLGON_cjs.cn(
997
+ className: chunkWQ4HD5UD_cjs.cn(
998
998
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
999
999
  className
1000
1000
  ),
@@ -1009,7 +1009,7 @@ var DialogContent = React19__namespace.forwardRef(({ className, children, showCl
1009
1009
  {
1010
1010
  ref,
1011
1011
  "data-slot": "dialog-content",
1012
- className: chunkQMWZLGON_cjs.cn(
1012
+ className: chunkWQ4HD5UD_cjs.cn(
1013
1013
  "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",
1014
1014
  className
1015
1015
  ),
@@ -1046,7 +1046,7 @@ function DialogHeader({ className, ...props }) {
1046
1046
  "div",
1047
1047
  {
1048
1048
  "data-slot": "dialog-header",
1049
- className: chunkQMWZLGON_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
1049
+ className: chunkWQ4HD5UD_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
1050
1050
  ...props
1051
1051
  }
1052
1052
  );
@@ -1059,7 +1059,7 @@ function DialogTitle({
1059
1059
  radixUi.Dialog.Title,
1060
1060
  {
1061
1061
  "data-slot": "dialog-title",
1062
- className: chunkQMWZLGON_cjs.cn("text-lg leading-none font-semibold", className),
1062
+ className: chunkWQ4HD5UD_cjs.cn("text-lg leading-none font-semibold", className),
1063
1063
  ...props
1064
1064
  }
1065
1065
  );
@@ -1074,7 +1074,7 @@ function Command({
1074
1074
  cmdk.Command,
1075
1075
  {
1076
1076
  "data-slot": "command",
1077
- className: chunkQMWZLGON_cjs.cn(
1077
+ className: chunkWQ4HD5UD_cjs.cn(
1078
1078
  "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
1079
1079
  className
1080
1080
  ),
@@ -1110,7 +1110,7 @@ function CommandInput({
1110
1110
  cmdk.Command.Input,
1111
1111
  {
1112
1112
  "data-slot": "command-input",
1113
- className: chunkQMWZLGON_cjs.cn(
1113
+ className: chunkWQ4HD5UD_cjs.cn(
1114
1114
  "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
1115
1115
  className
1116
1116
  ),
@@ -1127,7 +1127,7 @@ function CommandList({
1127
1127
  cmdk.Command.List,
1128
1128
  {
1129
1129
  "data-slot": "command-list",
1130
- className: chunkQMWZLGON_cjs.cn(
1130
+ className: chunkWQ4HD5UD_cjs.cn(
1131
1131
  "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
1132
1132
  className
1133
1133
  ),
@@ -1155,7 +1155,7 @@ function CommandGroup({
1155
1155
  cmdk.Command.Group,
1156
1156
  {
1157
1157
  "data-slot": "command-group",
1158
- className: chunkQMWZLGON_cjs.cn(
1158
+ className: chunkWQ4HD5UD_cjs.cn(
1159
1159
  "overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:opacity-70",
1160
1160
  className
1161
1161
  ),
@@ -1185,7 +1185,7 @@ function PopoverContent({
1185
1185
  "data-slot": "popover-content",
1186
1186
  align,
1187
1187
  sideOffset,
1188
- className: chunkQMWZLGON_cjs.cn(
1188
+ className: chunkWQ4HD5UD_cjs.cn(
1189
1189
  "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
1190
1190
  className
1191
1191
  ),
@@ -1445,7 +1445,7 @@ function MultiSelect({
1445
1445
  value
1446
1446
  ]
1447
1447
  );
1448
- const combinedClassName = chunkQMWZLGON_cjs.cn("relative w-full", className);
1448
+ const combinedClassName = chunkWQ4HD5UD_cjs.cn("relative w-full", className);
1449
1449
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
1450
1450
  "select",
1451
1451
  {
@@ -1466,7 +1466,7 @@ function MultiSelect({
1466
1466
  "div",
1467
1467
  {
1468
1468
  ref: triggerRef,
1469
- className: chunkQMWZLGON_cjs.cn(
1469
+ className: chunkWQ4HD5UD_cjs.cn(
1470
1470
  "flex min-h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm",
1471
1471
  "cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
1472
1472
  !error && hasValue && "ring-2 ring-ring",
@@ -1535,7 +1535,7 @@ function MultiSelect({
1535
1535
  CommandInput,
1536
1536
  {
1537
1537
  id: searchInputId,
1538
- className: chunkQMWZLGON_cjs.cn(chunkQMWZLGON_cjs.INPUT_AUTOFILL_RESET_CLASSES),
1538
+ className: chunkWQ4HD5UD_cjs.cn(chunkWQ4HD5UD_cjs.INPUT_AUTOFILL_RESET_CLASSES),
1539
1539
  placeholder: "Search...",
1540
1540
  value: searchQuery,
1541
1541
  onValueChange: (nextValue) => {
@@ -1596,7 +1596,7 @@ function MultiSelect({
1596
1596
  handleToggleOption(option.value);
1597
1597
  }
1598
1598
  },
1599
- className: chunkQMWZLGON_cjs.cn(
1599
+ className: chunkWQ4HD5UD_cjs.cn(
1600
1600
  "relative flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent",
1601
1601
  isFocused && "bg-accent",
1602
1602
  isSelected && "bg-accent font-medium",
@@ -1627,7 +1627,7 @@ function MultiSelect({
1627
1627
  handleToggleOption(option.value);
1628
1628
  }
1629
1629
  },
1630
- className: chunkQMWZLGON_cjs.cn(
1630
+ className: chunkWQ4HD5UD_cjs.cn(
1631
1631
  "relative flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent",
1632
1632
  isFocused && "bg-accent",
1633
1633
  isSelected && "bg-accent font-medium",
@@ -1681,7 +1681,7 @@ function BaseFileIcon({
1681
1681
  strokeWidth: "2",
1682
1682
  strokeLinecap: "round",
1683
1683
  strokeLinejoin: "round",
1684
- className: chunkQMWZLGON_cjs.cn("size-5", className),
1684
+ className: chunkWQ4HD5UD_cjs.cn("size-5", className),
1685
1685
  "aria-hidden": "true"
1686
1686
  },
1687
1687
  children
@@ -2165,7 +2165,7 @@ function FileUpload(props) {
2165
2165
  "data-slot": "file-upload",
2166
2166
  dir,
2167
2167
  ...rootProps,
2168
- className: chunkQMWZLGON_cjs.cn("relative flex flex-col gap-2", className)
2168
+ className: chunkWQ4HD5UD_cjs.cn("relative flex flex-col gap-2", className)
2169
2169
  },
2170
2170
  children,
2171
2171
  /* @__PURE__ */ React19__namespace.createElement(
@@ -2337,8 +2337,8 @@ function FileUploadDropzone(props) {
2337
2337
  dir: context.dir,
2338
2338
  tabIndex: context.disabled ? -1 : 0,
2339
2339
  ...dropzoneProps,
2340
- className: chunkQMWZLGON_cjs.cn(
2341
- "relative flex select-none flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed p-6 outline-none transition-colors hover:bg-accent/30 focus-visible:border-ring/50 data-disabled:pointer-events-none data-dragging:border-primary/30 data-dragging:bg-accent/30 data-invalid:ring-destructive/20",
2340
+ className: chunkWQ4HD5UD_cjs.cn(
2341
+ "relative flex select-none flex-col items-center justify-center gap-2 rounded-lg border border-dashed p-6 outline-none transition-colors hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/20 data-disabled:pointer-events-none data-disabled:opacity-50 data-dragging:border-ring data-dragging:bg-accent/50 data-invalid:border-destructive data-invalid:ring-destructive/20",
2342
2342
  className
2343
2343
  ),
2344
2344
  onClick,
@@ -2375,7 +2375,7 @@ function FileUploadList(props) {
2375
2375
  "data-state": shouldRender ? "active" : "inactive",
2376
2376
  dir: context.dir,
2377
2377
  ...listProps,
2378
- className: chunkQMWZLGON_cjs.cn(
2378
+ className: chunkWQ4HD5UD_cjs.cn(
2379
2379
  "data-[state=inactive]:fade-out-0 data-[state=active]:fade-in-0 data-[state=inactive]:slide-out-to-top-2 data-[state=active]:slide-in-from-top-2 flex flex-col gap-2 data-[state=active]:animate-in data-[state=inactive]:animate-out",
2380
2380
  orientation === "horizontal" && "flex-row overflow-x-auto p-1.5",
2381
2381
  className
@@ -2431,7 +2431,7 @@ function FileUploadItem(props) {
2431
2431
  "data-slot": "file-upload-item",
2432
2432
  dir: context.dir,
2433
2433
  ...itemProps,
2434
- className: chunkQMWZLGON_cjs.cn(
2434
+ className: chunkWQ4HD5UD_cjs.cn(
2435
2435
  "relative flex items-center gap-2.5 rounded-md border p-3",
2436
2436
  className
2437
2437
  )
@@ -2478,7 +2478,7 @@ function FileUploadItemPreview(props) {
2478
2478
  "aria-labelledby": itemContext.nameId,
2479
2479
  "data-slot": "file-upload-preview",
2480
2480
  ...previewProps,
2481
- className: chunkQMWZLGON_cjs.cn(
2481
+ className: chunkWQ4HD5UD_cjs.cn(
2482
2482
  "relative flex size-10 shrink-0 items-center justify-center overflow-hidden rounded border bg-accent/50 [&>svg]:size-10",
2483
2483
  className
2484
2484
  )
@@ -2505,13 +2505,13 @@ function FileUploadItemMetadata(props) {
2505
2505
  "data-slot": "file-upload-metadata",
2506
2506
  dir: context.dir,
2507
2507
  ...metadataProps,
2508
- className: chunkQMWZLGON_cjs.cn("flex min-w-0 flex-1 flex-col", className)
2508
+ className: chunkWQ4HD5UD_cjs.cn("flex min-w-0 flex-1 flex-col", className)
2509
2509
  },
2510
2510
  children ?? /* @__PURE__ */ React19__namespace.createElement(React19__namespace.Fragment, null, /* @__PURE__ */ React19__namespace.createElement(
2511
2511
  "span",
2512
2512
  {
2513
2513
  id: itemContext.nameId,
2514
- className: chunkQMWZLGON_cjs.cn(
2514
+ className: chunkWQ4HD5UD_cjs.cn(
2515
2515
  "truncate font-medium text-sm",
2516
2516
  size === "sm" && "font-normal text-[13px] leading-snug"
2517
2517
  )
@@ -2521,7 +2521,7 @@ function FileUploadItemMetadata(props) {
2521
2521
  "span",
2522
2522
  {
2523
2523
  id: itemContext.sizeId,
2524
- className: chunkQMWZLGON_cjs.cn(
2524
+ className: chunkWQ4HD5UD_cjs.cn(
2525
2525
  "truncate text-xs opacity-70",
2526
2526
  size === "sm" && "text-[11px] leading-snug"
2527
2527
  )
@@ -2680,7 +2680,9 @@ function FileInput({
2680
2680
  (incomingFiles) => {
2681
2681
  const nextFiles = multiple ? incomingFiles : incomingFiles.slice(-1);
2682
2682
  if (onFileRemove && nextFiles.length < normalizedValue.length) {
2683
- const nextFileIds = new Set(nextFiles.map((file) => fileIdentity(file)));
2683
+ const nextFileIds = new Set(
2684
+ nextFiles.map((file) => fileIdentity(file))
2685
+ );
2684
2686
  normalizedValue.forEach((file, index) => {
2685
2687
  if (!nextFileIds.has(fileIdentity(file))) {
2686
2688
  onFileRemove(file, index);
@@ -2820,9 +2822,12 @@ function FileInput({
2820
2822
  setImageToCrop({ file, url: previewUrl });
2821
2823
  setCropperOpen(true);
2822
2824
  }, []);
2823
- const onCropChange = React19__namespace.useCallback((nextCrop) => {
2824
- setCrop(nextCrop);
2825
- }, []);
2825
+ const onCropChange = React19__namespace.useCallback(
2826
+ (nextCrop) => {
2827
+ setCrop(nextCrop);
2828
+ },
2829
+ []
2830
+ );
2826
2831
  const onZoomChange = React19__namespace.useCallback((nextZoom) => {
2827
2832
  setZoom(nextZoom);
2828
2833
  }, []);
@@ -2863,7 +2868,7 @@ function FileInput({
2863
2868
  required: required && normalizedValue.length === 0,
2864
2869
  invalid: Boolean(error || props["aria-invalid"]),
2865
2870
  label: "File upload",
2866
- className: chunkQMWZLGON_cjs.cn(className),
2871
+ className: chunkWQ4HD5UD_cjs.cn(className),
2867
2872
  inputProps: {
2868
2873
  ...props,
2869
2874
  onBlur: handleBlur,
@@ -2878,31 +2883,32 @@ function FileInput({
2878
2883
  {
2879
2884
  role: "button",
2880
2885
  "aria-label": placeholder,
2881
- className: chunkQMWZLGON_cjs.cn(
2886
+ className: chunkWQ4HD5UD_cjs.cn(
2882
2887
  "flex min-h-32 w-full cursor-pointer items-center justify-center border-input bg-transparent p-6 transition-colors",
2883
- "hover:bg-accent/50 hover:border-ring",
2884
- "data-[dragging]:bg-accent data-[dragging]:border-ring",
2888
+ "hover:bg-accent/50",
2889
+ "data-[dragging]:bg-accent/50",
2885
2890
  disabled && "cursor-not-allowed opacity-50",
2886
2891
  error && "border-destructive"
2887
2892
  )
2888
2893
  },
2889
- /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex flex-col items-center gap-2 text-center" }, /* @__PURE__ */ React19__namespace.createElement(
2894
+ /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex flex-col items-center gap-1 text-center" }, /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex items-center justify-center rounded-full border p-2.5" }, /* @__PURE__ */ React19__namespace.createElement(
2890
2895
  "svg",
2891
2896
  {
2892
- width: "48",
2893
- height: "48",
2897
+ width: "24",
2898
+ height: "24",
2894
2899
  viewBox: "0 0 24 24",
2895
2900
  fill: "none",
2896
2901
  stroke: "currentColor",
2897
2902
  strokeWidth: "2",
2898
2903
  strokeLinecap: "round",
2899
2904
  strokeLinejoin: "round",
2905
+ className: "text-muted-foreground",
2900
2906
  "aria-hidden": "true"
2901
2907
  },
2902
2908
  /* @__PURE__ */ React19__namespace.createElement("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }),
2903
2909
  /* @__PURE__ */ React19__namespace.createElement("polyline", { points: "17 8 12 3 7 8" }),
2904
2910
  /* @__PURE__ */ React19__namespace.createElement("line", { x1: "12", y1: "3", x2: "12", y2: "15" })
2905
- ), /* @__PURE__ */ React19__namespace.createElement("p", { className: "text-sm font-medium" }, fileCountLabel), accept && /* @__PURE__ */ React19__namespace.createElement("p", { className: "text-xs" }, "Accepted: ", accept), /* @__PURE__ */ React19__namespace.createElement("p", { className: "text-xs" }, "Max size: ", formatFileSize(maxSize)))
2911
+ )), /* @__PURE__ */ React19__namespace.createElement("p", { className: "text-sm font-medium" }, fileCountLabel), accept && /* @__PURE__ */ React19__namespace.createElement("p", { className: "text-muted-foreground text-xs" }, "Accepted: ", accept), /* @__PURE__ */ React19__namespace.createElement("p", { className: "text-muted-foreground text-xs" }, "Max size: ", formatFileSize(maxSize)))
2906
2912
  ),
2907
2913
  /* @__PURE__ */ React19__namespace.createElement(FileUploadList, { className: "mt-4" }, normalizedValue.map((file, index) => {
2908
2914
  const progressValue = uploadProgress[file.name];
@@ -2912,10 +2918,10 @@ function FileInput({
2912
2918
  {
2913
2919
  key: `${file.name}-${index}`,
2914
2920
  value: file,
2915
- className: "flex items-center gap-3 border-border bg-card text-card-foreground hover:bg-primary/50 transition-colors"
2921
+ className: "flex items-center gap-3 border-border bg-card text-card-foreground hover:bg-accent/50 transition-colors"
2916
2922
  },
2917
2923
  showPreview ? /* @__PURE__ */ React19__namespace.createElement(FileUploadItemPreview, { className: "h-12 w-12 rounded [&>img]:h-full [&>img]:w-full [&>img]:object-cover [&>svg]:size-6" }) : null,
2918
- /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex min-w-0 flex-1 flex-col" }, /* @__PURE__ */ React19__namespace.createElement(FileUploadItemMetadata, { className: "min-w-0" }), /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-xs" }, formatFileSize(file.size)), hasProgress ? /* @__PURE__ */ React19__namespace.createElement("div", { className: "mt-1 flex items-center gap-2" }, /* @__PURE__ */ React19__namespace.createElement(
2924
+ /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex min-w-0 flex-1 flex-col" }, /* @__PURE__ */ React19__namespace.createElement(FileUploadItemMetadata, { className: "min-w-0" }), hasProgress && progressValue < 100 ? /* @__PURE__ */ React19__namespace.createElement("div", { className: "mt-1 flex items-center gap-2" }, /* @__PURE__ */ React19__namespace.createElement(
2919
2925
  "div",
2920
2926
  {
2921
2927
  className: "h-1.5 flex-1 overflow-hidden rounded-full bg-accent/40",
@@ -2934,7 +2940,7 @@ function FileInput({
2934
2940
  )
2935
2941
  ), /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-xs" }, progressValue, "%")) : null),
2936
2942
  enableCropping && file.type.startsWith("image/") ? /* @__PURE__ */ React19__namespace.createElement(
2937
- chunkQMWZLGON_cjs.Button,
2943
+ chunkWQ4HD5UD_cjs.Button,
2938
2944
  {
2939
2945
  type: "button",
2940
2946
  variant: "ghost",
@@ -2965,7 +2971,7 @@ function FileInput({
2965
2971
  )
2966
2972
  ) : null,
2967
2973
  /* @__PURE__ */ React19__namespace.createElement(FileUploadItemDelete, { asChild: true }, /* @__PURE__ */ React19__namespace.createElement(
2968
- chunkQMWZLGON_cjs.Button,
2974
+ chunkWQ4HD5UD_cjs.Button,
2969
2975
  {
2970
2976
  type: "button",
2971
2977
  variant: "ghost",
@@ -3011,7 +3017,7 @@ function FileInput({
3011
3017
  "aria-describedby": void 0
3012
3018
  },
3013
3019
  /* @__PURE__ */ React19__namespace.createElement(DialogHeader, { className: "flex-row items-center justify-between border-b border-border px-4 py-3" }, /* @__PURE__ */ React19__namespace.createElement(DialogTitle, null, "Crop Image"), /* @__PURE__ */ React19__namespace.createElement(DialogClose, { asChild: true }, /* @__PURE__ */ React19__namespace.createElement(
3014
- chunkQMWZLGON_cjs.Button,
3020
+ chunkWQ4HD5UD_cjs.Button,
3015
3021
  {
3016
3022
  type: "button",
3017
3023
  variant: "ghost",
@@ -3127,7 +3133,15 @@ function FileInput({
3127
3133
  "aria-label": "Zoom level"
3128
3134
  }
3129
3135
  ))),
3130
- /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex items-center justify-end gap-2 border-t border-border p-4" }, /* @__PURE__ */ React19__namespace.createElement(chunkQMWZLGON_cjs.Button, { type: "button", variant: "outline", onClick: handleCropCancel }, "Cancel"), /* @__PURE__ */ React19__namespace.createElement(chunkQMWZLGON_cjs.Button, { type: "button", onClick: handleCropSave }, "Save"))
3136
+ /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex items-center justify-end gap-2 border-t border-border p-4" }, /* @__PURE__ */ React19__namespace.createElement(
3137
+ chunkWQ4HD5UD_cjs.Button,
3138
+ {
3139
+ type: "button",
3140
+ variant: "outline",
3141
+ onClick: handleCropCancel
3142
+ },
3143
+ "Cancel"
3144
+ ), /* @__PURE__ */ React19__namespace.createElement(chunkWQ4HD5UD_cjs.Button, { type: "button", onClick: handleCropSave }, "Save"))
3131
3145
  ) : null
3132
3146
  ));
3133
3147
  }
@@ -3147,7 +3161,7 @@ function Calendar({
3147
3161
  reactDayPicker.DayPicker,
3148
3162
  {
3149
3163
  showOutsideDays,
3150
- className: chunkQMWZLGON_cjs.cn(
3164
+ className: chunkWQ4HD5UD_cjs.cn(
3151
3165
  "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
3152
3166
  String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
3153
3167
  String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
@@ -3159,86 +3173,86 @@ function Calendar({
3159
3173
  ...formatters
3160
3174
  },
3161
3175
  classNames: {
3162
- root: chunkQMWZLGON_cjs.cn("w-fit", defaultClassNames.root),
3163
- months: chunkQMWZLGON_cjs.cn(
3176
+ root: chunkWQ4HD5UD_cjs.cn("w-fit", defaultClassNames.root),
3177
+ months: chunkWQ4HD5UD_cjs.cn(
3164
3178
  "flex gap-4 flex-col md:flex-row relative",
3165
3179
  defaultClassNames.months
3166
3180
  ),
3167
- month: chunkQMWZLGON_cjs.cn("flex flex-col w-full gap-4", defaultClassNames.month),
3168
- nav: chunkQMWZLGON_cjs.cn(
3181
+ month: chunkWQ4HD5UD_cjs.cn("flex flex-col w-full gap-4", defaultClassNames.month),
3182
+ nav: chunkWQ4HD5UD_cjs.cn(
3169
3183
  "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
3170
3184
  defaultClassNames.nav
3171
3185
  ),
3172
- button_previous: chunkQMWZLGON_cjs.cn(
3173
- chunkQMWZLGON_cjs.buttonVariants({ variant: buttonVariant }),
3186
+ button_previous: chunkWQ4HD5UD_cjs.cn(
3187
+ chunkWQ4HD5UD_cjs.buttonVariants({ variant: buttonVariant }),
3174
3188
  "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
3175
3189
  defaultClassNames.button_previous
3176
3190
  ),
3177
- button_next: chunkQMWZLGON_cjs.cn(
3178
- chunkQMWZLGON_cjs.buttonVariants({ variant: buttonVariant }),
3191
+ button_next: chunkWQ4HD5UD_cjs.cn(
3192
+ chunkWQ4HD5UD_cjs.buttonVariants({ variant: buttonVariant }),
3179
3193
  "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
3180
3194
  defaultClassNames.button_next
3181
3195
  ),
3182
- month_caption: chunkQMWZLGON_cjs.cn(
3196
+ month_caption: chunkWQ4HD5UD_cjs.cn(
3183
3197
  "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
3184
3198
  defaultClassNames.month_caption
3185
3199
  ),
3186
- dropdowns: chunkQMWZLGON_cjs.cn(
3200
+ dropdowns: chunkWQ4HD5UD_cjs.cn(
3187
3201
  "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
3188
3202
  defaultClassNames.dropdowns
3189
3203
  ),
3190
- dropdown_root: chunkQMWZLGON_cjs.cn(
3204
+ dropdown_root: chunkWQ4HD5UD_cjs.cn(
3191
3205
  "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
3192
3206
  defaultClassNames.dropdown_root
3193
3207
  ),
3194
- dropdown: chunkQMWZLGON_cjs.cn(
3208
+ dropdown: chunkWQ4HD5UD_cjs.cn(
3195
3209
  "absolute bg-popover inset-0 opacity-0",
3196
3210
  defaultClassNames.dropdown
3197
3211
  ),
3198
- caption_label: chunkQMWZLGON_cjs.cn(
3212
+ caption_label: chunkWQ4HD5UD_cjs.cn(
3199
3213
  "select-none font-medium",
3200
3214
  captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:opacity-70 [&>svg]:size-3.5",
3201
3215
  defaultClassNames.caption_label
3202
3216
  ),
3203
3217
  table: "w-full border-collapse",
3204
- weekdays: chunkQMWZLGON_cjs.cn("flex", defaultClassNames.weekdays),
3205
- weekday: chunkQMWZLGON_cjs.cn(
3218
+ weekdays: chunkWQ4HD5UD_cjs.cn("flex", defaultClassNames.weekdays),
3219
+ weekday: chunkWQ4HD5UD_cjs.cn(
3206
3220
  "opacity-70 rounded-md flex-1 font-normal text-[0.8rem] select-none",
3207
3221
  defaultClassNames.weekday
3208
3222
  ),
3209
- week: chunkQMWZLGON_cjs.cn("flex w-full mt-2", defaultClassNames.week),
3210
- week_number_header: chunkQMWZLGON_cjs.cn(
3223
+ week: chunkWQ4HD5UD_cjs.cn("flex w-full mt-2", defaultClassNames.week),
3224
+ week_number_header: chunkWQ4HD5UD_cjs.cn(
3211
3225
  "select-none w-(--cell-size)",
3212
3226
  defaultClassNames.week_number_header
3213
3227
  ),
3214
- week_number: chunkQMWZLGON_cjs.cn(
3228
+ week_number: chunkWQ4HD5UD_cjs.cn(
3215
3229
  "text-[0.8rem] select-none opacity-70",
3216
3230
  defaultClassNames.week_number
3217
3231
  ),
3218
- day: chunkQMWZLGON_cjs.cn(
3232
+ day: chunkWQ4HD5UD_cjs.cn(
3219
3233
  "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
3220
3234
  props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
3221
3235
  defaultClassNames.day
3222
3236
  ),
3223
- range_start: chunkQMWZLGON_cjs.cn(
3237
+ range_start: chunkWQ4HD5UD_cjs.cn(
3224
3238
  "rounded-l-md bg-accent",
3225
3239
  defaultClassNames.range_start
3226
3240
  ),
3227
- range_middle: chunkQMWZLGON_cjs.cn("rounded-none", defaultClassNames.range_middle),
3228
- range_end: chunkQMWZLGON_cjs.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
3229
- today: chunkQMWZLGON_cjs.cn(
3241
+ range_middle: chunkWQ4HD5UD_cjs.cn("rounded-none", defaultClassNames.range_middle),
3242
+ range_end: chunkWQ4HD5UD_cjs.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
3243
+ today: chunkWQ4HD5UD_cjs.cn(
3230
3244
  "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
3231
3245
  defaultClassNames.today
3232
3246
  ),
3233
- outside: chunkQMWZLGON_cjs.cn(
3247
+ outside: chunkWQ4HD5UD_cjs.cn(
3234
3248
  "opacity-50",
3235
3249
  defaultClassNames.outside
3236
3250
  ),
3237
- disabled: chunkQMWZLGON_cjs.cn(
3251
+ disabled: chunkWQ4HD5UD_cjs.cn(
3238
3252
  "opacity-50",
3239
3253
  defaultClassNames.disabled
3240
3254
  ),
3241
- hidden: chunkQMWZLGON_cjs.cn("invisible", defaultClassNames.hidden),
3255
+ hidden: chunkWQ4HD5UD_cjs.cn("invisible", defaultClassNames.hidden),
3242
3256
  ...classNames
3243
3257
  },
3244
3258
  components: {
@@ -3248,7 +3262,7 @@ function Calendar({
3248
3262
  {
3249
3263
  "data-slot": "calendar",
3250
3264
  ref: rootRef,
3251
- className: chunkQMWZLGON_cjs.cn(className2),
3265
+ className: chunkWQ4HD5UD_cjs.cn(className2),
3252
3266
  ...props2
3253
3267
  }
3254
3268
  );
@@ -3258,7 +3272,7 @@ function Calendar({
3258
3272
  return /* @__PURE__ */ React19__namespace.createElement(
3259
3273
  "svg",
3260
3274
  {
3261
- className: chunkQMWZLGON_cjs.cn("size-4", className2),
3275
+ className: chunkWQ4HD5UD_cjs.cn("size-4", className2),
3262
3276
  viewBox: "0 0 24 24",
3263
3277
  fill: "none",
3264
3278
  stroke: "currentColor",
@@ -3274,7 +3288,7 @@ function Calendar({
3274
3288
  return /* @__PURE__ */ React19__namespace.createElement(
3275
3289
  "svg",
3276
3290
  {
3277
- className: chunkQMWZLGON_cjs.cn("size-4", className2),
3291
+ className: chunkWQ4HD5UD_cjs.cn("size-4", className2),
3278
3292
  viewBox: "0 0 24 24",
3279
3293
  fill: "none",
3280
3294
  stroke: "currentColor",
@@ -3289,7 +3303,7 @@ function Calendar({
3289
3303
  return /* @__PURE__ */ React19__namespace.createElement(
3290
3304
  "svg",
3291
3305
  {
3292
- className: chunkQMWZLGON_cjs.cn("size-4", className2),
3306
+ className: chunkWQ4HD5UD_cjs.cn("size-4", className2),
3293
3307
  viewBox: "0 0 24 24",
3294
3308
  fill: "none",
3295
3309
  stroke: "currentColor",
@@ -3323,7 +3337,7 @@ function CalendarDayButton({
3323
3337
  if (modifiers.focused) ref.current?.focus();
3324
3338
  }, [modifiers.focused]);
3325
3339
  return /* @__PURE__ */ React19__namespace.createElement(
3326
- chunkQMWZLGON_cjs.Button,
3340
+ chunkWQ4HD5UD_cjs.Button,
3327
3341
  {
3328
3342
  ref,
3329
3343
  variant: "ghost",
@@ -3333,7 +3347,7 @@ function CalendarDayButton({
3333
3347
  "data-range-start": modifiers.range_start,
3334
3348
  "data-range-end": modifiers.range_end,
3335
3349
  "data-range-middle": modifiers.range_middle,
3336
- className: chunkQMWZLGON_cjs.cn(
3350
+ className: chunkWQ4HD5UD_cjs.cn(
3337
3351
  // Core structure
3338
3352
  "flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal",
3339
3353
  // Selected states - uses CSS variables
@@ -3378,7 +3392,7 @@ function DatePickerDayButton({
3378
3392
  "button",
3379
3393
  {
3380
3394
  type: "button",
3381
- className: chunkQMWZLGON_cjs.cn(
3395
+ className: chunkWQ4HD5UD_cjs.cn(
3382
3396
  "flex items-center justify-center h-8 w-8 rounded-md border-none bg-transparent cursor-pointer text-sm transition-colors",
3383
3397
  "hover:bg-accent",
3384
3398
  modifiers.selected && "bg-primary text-primary-foreground font-semibold",
@@ -3488,7 +3502,7 @@ function DatePicker({
3488
3502
  }, [hasInteracted]);
3489
3503
  const hasValue = Boolean(value);
3490
3504
  const displayValue = formatDate(value, format);
3491
- const combinedClassName = chunkQMWZLGON_cjs.cn("relative", className);
3505
+ const combinedClassName = chunkWQ4HD5UD_cjs.cn("relative", className);
3492
3506
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
3493
3507
  "input",
3494
3508
  {
@@ -3523,11 +3537,11 @@ function DatePicker({
3523
3537
  ref: inputRef,
3524
3538
  id: props.id,
3525
3539
  type: "text",
3526
- className: chunkQMWZLGON_cjs.cn(
3540
+ className: chunkWQ4HD5UD_cjs.cn(
3527
3541
  "flex h-9 w-full rounded-md border border-input bg-transparent py-1 text-base shadow-sm transition-colors",
3528
3542
  "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
3529
3543
  "disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
3530
- chunkQMWZLGON_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3544
+ chunkWQ4HD5UD_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3531
3545
  showIcon ? "pl-10" : "pl-3",
3532
3546
  clearable && value ? "pr-10" : "pr-3",
3533
3547
  !error && hasValue && "ring-2 ring-ring",
@@ -3668,7 +3682,7 @@ function TimePicker({
3668
3682
  };
3669
3683
  const hasValue = Boolean(value);
3670
3684
  const stepInSeconds = Math.max(1, minuteStep * 60);
3671
- return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkQMWZLGON_cjs.cn("relative", className) }, /* @__PURE__ */ React19__namespace.createElement("input", { type: "hidden", name, value }), /* @__PURE__ */ React19__namespace.createElement("div", { className: "relative" }, showIcon && /* @__PURE__ */ React19__namespace.createElement(
3685
+ return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkWQ4HD5UD_cjs.cn("relative", className) }, /* @__PURE__ */ React19__namespace.createElement("input", { type: "hidden", name, value }), /* @__PURE__ */ React19__namespace.createElement("div", { className: "relative" }, showIcon && /* @__PURE__ */ React19__namespace.createElement(
3672
3686
  "span",
3673
3687
  {
3674
3688
  className: "absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none",
@@ -3691,13 +3705,13 @@ function TimePicker({
3691
3705
  /* @__PURE__ */ React19__namespace.createElement("path", { d: "M12 6v6l4 2" })
3692
3706
  )
3693
3707
  ), /* @__PURE__ */ React19__namespace.createElement(
3694
- chunkQMWZLGON_cjs.Input,
3708
+ chunkWQ4HD5UD_cjs.Input,
3695
3709
  {
3696
3710
  ref: inputRef,
3697
3711
  type: "time",
3698
- className: chunkQMWZLGON_cjs.cn(
3712
+ className: chunkWQ4HD5UD_cjs.cn(
3699
3713
  "appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none",
3700
- chunkQMWZLGON_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3714
+ chunkWQ4HD5UD_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3701
3715
  showIcon ? "pl-10" : "pl-3",
3702
3716
  clearable && value ? "pr-10" : "pr-3",
3703
3717
  !error && hasValue && "ring-2 ring-ring",
@@ -3716,7 +3730,7 @@ function TimePicker({
3716
3730
  ...props
3717
3731
  }
3718
3732
  ), clearable && value && !disabled && /* @__PURE__ */ React19__namespace.createElement(
3719
- chunkQMWZLGON_cjs.Button,
3733
+ chunkWQ4HD5UD_cjs.Button,
3720
3734
  {
3721
3735
  type: "button",
3722
3736
  variant: "ghost",
@@ -3916,7 +3930,7 @@ function DateRangePicker({
3916
3930
  {
3917
3931
  type: "button",
3918
3932
  ...rest,
3919
- className: chunkQMWZLGON_cjs.cn(
3933
+ className: chunkWQ4HD5UD_cjs.cn(
3920
3934
  "flex items-center justify-center h-8 w-8 rounded-md border-none bg-transparent cursor-pointer text-sm transition-colors",
3921
3935
  "hover:bg-accent",
3922
3936
  isRangeEndpoint && "bg-primary text-primary-foreground font-semibold",
@@ -3954,7 +3968,7 @@ function DateRangePicker({
3954
3968
  to: rangeEnd ?? void 0
3955
3969
  } : void 0;
3956
3970
  const displayValue = rangeStart && rangeEnd ? `${formatDate2(rangeStart, format)}${separator}${formatDate2(rangeEnd, format)}` : rangeStart ? formatDate2(rangeStart, format) : "";
3957
- const combinedClassName = chunkQMWZLGON_cjs.cn("relative", className);
3971
+ const combinedClassName = chunkWQ4HD5UD_cjs.cn("relative", className);
3958
3972
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
3959
3973
  "input",
3960
3974
  {
@@ -3996,11 +4010,11 @@ function DateRangePicker({
3996
4010
  ref: inputRef,
3997
4011
  id: props.id,
3998
4012
  type: "text",
3999
- className: chunkQMWZLGON_cjs.cn(
4013
+ className: chunkWQ4HD5UD_cjs.cn(
4000
4014
  "flex h-9 w-full rounded-md border border-input bg-transparent py-1 text-base shadow-sm transition-colors",
4001
4015
  "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
4002
4016
  "disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
4003
- chunkQMWZLGON_cjs.INPUT_AUTOFILL_RESET_CLASSES,
4017
+ chunkWQ4HD5UD_cjs.INPUT_AUTOFILL_RESET_CLASSES,
4004
4018
  showIcon ? "pl-10" : "pl-3",
4005
4019
  clearable && (rangeStart || rangeEnd) ? "pr-10" : "pr-3",
4006
4020
  !error && hasValue && "ring-2 ring-ring",
@@ -4076,5 +4090,5 @@ exports.Select = Select2;
4076
4090
  exports.Switch = Switch2;
4077
4091
  exports.TextArea = TextArea;
4078
4092
  exports.TimePicker = TimePicker;
4079
- //# sourceMappingURL=chunk-I4EKHIVF.cjs.map
4080
- //# sourceMappingURL=chunk-I4EKHIVF.cjs.map
4093
+ //# sourceMappingURL=chunk-4K6J2DOK.cjs.map
4094
+ //# sourceMappingURL=chunk-4K6J2DOK.cjs.map