@page-speed/forms 0.7.4 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkPDMFWP5I_cjs = require('./chunk-PDMFWP5I.cjs');
3
+ var chunkIGI4JJKE_cjs = require('./chunk-IGI4JJKE.cjs');
4
4
  var React19 = require('react');
5
5
  var radixUi = require('radix-ui');
6
6
  var cmdk = require('cmdk');
@@ -34,7 +34,7 @@ function Textarea({ className, ...props }) {
34
34
  "textarea",
35
35
  {
36
36
  "data-slot": "textarea",
37
- className: chunkPDMFWP5I_cjs.cn(
37
+ className: chunkIGI4JJKE_cjs.cn(
38
38
  // Core structure - uses CSS variables only
39
39
  "flex field-sizing-content min-h-32 w-full rounded-md border border-input",
40
40
  "bg-transparent px-3 py-2 text-base shadow-xs",
@@ -87,9 +87,9 @@ function TextArea({
87
87
  placeholder,
88
88
  disabled,
89
89
  required,
90
- className: chunkPDMFWP5I_cjs.cn(
90
+ className: chunkIGI4JJKE_cjs.cn(
91
91
  // Valid value indicator - ring-2 when has value and no error
92
- !error && hasValue && "ring-2 ring-ring",
92
+ !error && hasValue && "ring-2 ring-primary",
93
93
  // Error state - handled by Textarea component via aria-invalid
94
94
  className
95
95
  ),
@@ -114,7 +114,7 @@ function Checkbox({
114
114
  radixUi.Checkbox.Root,
115
115
  {
116
116
  "data-slot": "checkbox",
117
- className: chunkPDMFWP5I_cjs.cn(
117
+ className: chunkIGI4JJKE_cjs.cn(
118
118
  // Core structure - uses CSS variables
119
119
  "peer size-4 shrink-0 rounded-[4px] border border-input bg-transparent shadow-xs",
120
120
  "transition-shadow outline-none",
@@ -220,14 +220,14 @@ function Checkbox2({
220
220
  return /* @__PURE__ */ React19__namespace.createElement("div", { className }, checkbox);
221
221
  }
222
222
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: "space-y-0", "data-invalid": error || void 0 }, /* @__PURE__ */ React19__namespace.createElement(
223
- chunkPDMFWP5I_cjs.FieldLabel,
223
+ chunkIGI4JJKE_cjs.FieldLabel,
224
224
  {
225
225
  htmlFor: checkboxId,
226
- className: chunkPDMFWP5I_cjs.cn(
226
+ className: chunkIGI4JJKE_cjs.cn(
227
227
  "flex gap-3 p-3 duration-200 select-auto font-normal leading-normal",
228
- showChoiceCard && "border rounded-lg hover:ring-2 hover:ring-ring/50",
229
- showChoiceCard && value && "ring-2 ring-ring",
230
- showChoiceCard && error && "border-destructive",
228
+ showChoiceCard && "border rounded-lg hover:ring-2 hover:ring-primary",
229
+ showChoiceCard && value && "ring-2 ring-primary",
230
+ showChoiceCard && error && "ring-2 ring-destructive",
231
231
  disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer",
232
232
  className
233
233
  )
@@ -235,14 +235,14 @@ function Checkbox2({
235
235
  /* @__PURE__ */ React19__namespace.createElement(
236
236
  "div",
237
237
  {
238
- className: chunkPDMFWP5I_cjs.cn(
238
+ className: chunkIGI4JJKE_cjs.cn(
239
239
  "flex w-full gap-3",
240
240
  showChoiceCard ? "items-start" : "items-center"
241
241
  )
242
242
  },
243
243
  checkbox,
244
244
  /* @__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(
245
- chunkPDMFWP5I_cjs.FieldDescription,
245
+ chunkIGI4JJKE_cjs.FieldDescription,
246
246
  {
247
247
  id: `${checkboxId}-description`,
248
248
  className: "leading-snug"
@@ -311,14 +311,14 @@ function CheckboxGroup({
311
311
  };
312
312
  const maxReached = Boolean(maxSelections && countableValue >= maxSelections);
313
313
  const containerClass = React19__namespace.useMemo(() => {
314
- return chunkPDMFWP5I_cjs.cn(
314
+ return chunkIGI4JJKE_cjs.cn(
315
315
  "w-full grid grid-cols-1 border-0 m-0 p-0 min-w-0",
316
- (layout === "grid" || layout === "inline") && "md:grid-cols-2",
317
- layout === "grid" && "gap-3",
318
- layout === "inline" && "gap-0",
316
+ layout === "grid" && "grid grid-cols-1 md:grid-cols-2 ",
317
+ layout === "inline" && "flex flex-wrap",
318
+ useChoiceCard ? "gap-x-6 space-y-4" : "gap-0",
319
319
  className
320
320
  );
321
- }, [layout, className]);
321
+ }, [layout, className, useChoiceCard]);
322
322
  const groupDescriptionId = description ? `${name}-description` : void 0;
323
323
  const groupAriaDescribedBy = [props["aria-describedby"], groupDescriptionId].filter(Boolean).join(" ") || void 0;
324
324
  return /* @__PURE__ */ React19__namespace.createElement(
@@ -332,7 +332,7 @@ function CheckboxGroup({
332
332
  "aria-label": typeof label === "string" ? label : props["aria-label"]
333
333
  },
334
334
  /* @__PURE__ */ React19__namespace.createElement(
335
- chunkPDMFWP5I_cjs.LabelGroup,
335
+ chunkIGI4JJKE_cjs.LabelGroup,
336
336
  {
337
337
  labelHtmlFor: name,
338
338
  required,
@@ -379,9 +379,9 @@ function CheckboxGroup({
379
379
  );
380
380
  }),
381
381
  (minSelections || maxSelections) && /* @__PURE__ */ React19__namespace.createElement(
382
- chunkPDMFWP5I_cjs.FieldDescription,
382
+ chunkIGI4JJKE_cjs.FieldDescription,
383
383
  {
384
- className: chunkPDMFWP5I_cjs.cn(
384
+ className: chunkIGI4JJKE_cjs.cn(
385
385
  "p-2 rounded-lg border font-semibold mt-2 leading-snug",
386
386
  minSelections && countableValue < minSelections ? "border-destructive bg-destructive/80 text-destructive-foreground" : "border-border bg-card text-card-foreground"
387
387
  ),
@@ -401,7 +401,7 @@ function RadioGroup({
401
401
  radixUi.RadioGroup.Root,
402
402
  {
403
403
  "data-slot": "radio-group",
404
- className: chunkPDMFWP5I_cjs.cn("grid gap-3", className),
404
+ className: chunkIGI4JJKE_cjs.cn("grid gap-3", className),
405
405
  ...props
406
406
  }
407
407
  );
@@ -414,7 +414,7 @@ function RadioGroupItem({
414
414
  radixUi.RadioGroup.Item,
415
415
  {
416
416
  "data-slot": "radio-group-item",
417
- className: chunkPDMFWP5I_cjs.cn(
417
+ className: chunkIGI4JJKE_cjs.cn(
418
418
  // Core structure - uses CSS variables
419
419
  "aspect-square size-4 shrink-0 rounded-full border border-input bg-transparent shadow-xs",
420
420
  "text-primary transition-[color,box-shadow] outline-none",
@@ -472,8 +472,8 @@ function Radio({
472
472
  return options.some((option) => option.description);
473
473
  }, [options]);
474
474
  const groupDescriptionId = description ? `${name}-description` : void 0;
475
- return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkPDMFWP5I_cjs.cn("w-full", className), "data-invalid": error || void 0 }, /* @__PURE__ */ React19__namespace.createElement(
476
- chunkPDMFWP5I_cjs.LabelGroup,
475
+ return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkIGI4JJKE_cjs.cn("w-full", className), "data-invalid": error || void 0 }, /* @__PURE__ */ React19__namespace.createElement(
476
+ chunkIGI4JJKE_cjs.LabelGroup,
477
477
  {
478
478
  labelHtmlFor: name,
479
479
  required,
@@ -491,10 +491,10 @@ function Radio({
491
491
  onBlur: handleBlur,
492
492
  disabled,
493
493
  required,
494
- className: chunkPDMFWP5I_cjs.cn(
495
- layout === "grid" && "grid grid-cols-1 md:grid-cols-2",
494
+ className: chunkIGI4JJKE_cjs.cn(
495
+ layout === "grid" && "grid grid-cols-1 md:grid-cols-2 ",
496
496
  layout === "inline" && "flex flex-wrap",
497
- useChoiceCard ? "gap-3" : "gap-0"
497
+ useChoiceCard ? "gap-x-6 space-y-4" : "gap-0"
498
498
  ),
499
499
  "aria-invalid": error || props["aria-invalid"],
500
500
  "aria-describedby": groupDescriptionId || props["aria-describedby"],
@@ -506,17 +506,17 @@ function Radio({
506
506
  const radioId = `${name}-${option.value}`;
507
507
  const hasDescription = !!option.description;
508
508
  return /* @__PURE__ */ React19__namespace.createElement(
509
- chunkPDMFWP5I_cjs.FieldLabel,
509
+ chunkIGI4JJKE_cjs.FieldLabel,
510
510
  {
511
511
  key: option.value,
512
512
  htmlFor: radioId,
513
- className: chunkPDMFWP5I_cjs.cn(
513
+ className: chunkIGI4JJKE_cjs.cn(
514
514
  "flex gap-3 duration-200",
515
515
  "select-auto font-normal leading-normal",
516
- useChoiceCard && "hover:ring-2 hover:ring-ring",
516
+ useChoiceCard && "hover:ring-2 hover:ring-primary",
517
517
  useChoiceCard && "border rounded-lg p-3",
518
518
  !useChoiceCard && "p-1",
519
- useChoiceCard && isSelected && "ring-2 ring-ring",
519
+ useChoiceCard && isSelected && "ring-2 ring-primary",
520
520
  useChoiceCard && error && "border-destructive",
521
521
  isDisabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
522
522
  )
@@ -524,7 +524,7 @@ function Radio({
524
524
  /* @__PURE__ */ React19__namespace.createElement(
525
525
  "div",
526
526
  {
527
- className: chunkPDMFWP5I_cjs.cn(
527
+ className: chunkIGI4JJKE_cjs.cn(
528
528
  "flex w-full gap-3",
529
529
  useChoiceCard ? "items-start" : "items-center"
530
530
  )
@@ -540,7 +540,7 @@ function Radio({
540
540
  }
541
541
  ),
542
542
  /* @__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(
543
- chunkPDMFWP5I_cjs.FieldDescription,
543
+ chunkIGI4JJKE_cjs.FieldDescription,
544
544
  {
545
545
  id: `${radioId}-description`,
546
546
  className: "leading-snug"
@@ -563,7 +563,7 @@ function Switch({
563
563
  {
564
564
  "data-slot": "switch",
565
565
  "data-size": size,
566
- className: chunkPDMFWP5I_cjs.cn(
566
+ className: chunkIGI4JJKE_cjs.cn(
567
567
  // Core structure - uses CSS variables
568
568
  "peer group/switch inline-flex shrink-0 items-center rounded-full",
569
569
  "border border-transparent shadow-xs transition-all outline-none",
@@ -584,7 +584,7 @@ function Switch({
584
584
  radixUi.Switch.Thumb,
585
585
  {
586
586
  "data-slot": "switch-thumb",
587
- className: chunkPDMFWP5I_cjs.cn(
587
+ className: chunkIGI4JJKE_cjs.cn(
588
588
  // Thumb appearance - inherits from parent theme
589
589
  "bg-background pointer-events-none block rounded-full ring-0 transition-transform",
590
590
  // Size variants
@@ -635,21 +635,21 @@ function Switch2({
635
635
  }
636
636
  );
637
637
  if (!label) {
638
- return /* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Field, { className }, switchElement);
638
+ return /* @__PURE__ */ React19__namespace.createElement(chunkIGI4JJKE_cjs.Field, { className }, switchElement);
639
639
  }
640
- return /* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Field, { className: "gap-0", invalid: Boolean(error) }, /* @__PURE__ */ React19__namespace.createElement(
641
- chunkPDMFWP5I_cjs.FieldLabel,
640
+ return /* @__PURE__ */ React19__namespace.createElement(chunkIGI4JJKE_cjs.Field, { className: "gap-0", invalid: Boolean(error) }, /* @__PURE__ */ React19__namespace.createElement(
641
+ chunkIGI4JJKE_cjs.FieldLabel,
642
642
  {
643
643
  htmlFor: switchId,
644
- className: chunkPDMFWP5I_cjs.cn(
644
+ className: chunkIGI4JJKE_cjs.cn(
645
645
  "flex items-center gap-3 cursor-pointer select-auto font-normal leading-normal",
646
646
  disabled && "opacity-50 cursor-not-allowed",
647
647
  className
648
648
  )
649
649
  },
650
650
  switchElement,
651
- /* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Field, { className: "gap-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(
652
- chunkPDMFWP5I_cjs.FieldDescription,
651
+ /* @__PURE__ */ React19__namespace.createElement(chunkIGI4JJKE_cjs.Field, { className: "gap-1" }, /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-sm font-medium leading-none" }, label), description && /* @__PURE__ */ React19__namespace.createElement(
652
+ chunkIGI4JJKE_cjs.FieldDescription,
653
653
  {
654
654
  id: `${switchId}-description`,
655
655
  className: "leading-snug"
@@ -672,7 +672,14 @@ function SelectGroup({
672
672
  function SelectValue({
673
673
  ...props
674
674
  }) {
675
- return /* @__PURE__ */ React19__namespace.createElement(radixUi.Select.Value, { "data-slot": "select-value", ...props });
675
+ return /* @__PURE__ */ React19__namespace.createElement(
676
+ radixUi.Select.Value,
677
+ {
678
+ className: "font-normal",
679
+ "data-slot": "select-value",
680
+ ...props
681
+ }
682
+ );
676
683
  }
677
684
  function SelectTrigger({
678
685
  className,
@@ -685,7 +692,7 @@ function SelectTrigger({
685
692
  {
686
693
  "data-slot": "select-trigger",
687
694
  "data-size": size,
688
- className: chunkPDMFWP5I_cjs.cn(
695
+ className: chunkIGI4JJKE_cjs.cn(
689
696
  // Core structure - uses CSS variables
690
697
  "flex w-full items-center justify-between gap-2 rounded-md border border-input",
691
698
  "bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs",
@@ -736,7 +743,7 @@ function SelectContent({
736
743
  radixUi.Select.Content,
737
744
  {
738
745
  "data-slot": "select-content",
739
- className: chunkPDMFWP5I_cjs.cn(
746
+ className: chunkIGI4JJKE_cjs.cn(
740
747
  "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",
741
748
  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",
742
749
  className
@@ -749,7 +756,7 @@ function SelectContent({
749
756
  /* @__PURE__ */ React19__namespace.createElement(
750
757
  radixUi.Select.Viewport,
751
758
  {
752
- className: chunkPDMFWP5I_cjs.cn(
759
+ className: chunkIGI4JJKE_cjs.cn(
753
760
  "p-1",
754
761
  position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
755
762
  )
@@ -767,7 +774,7 @@ function SelectLabel({
767
774
  radixUi.Select.Label,
768
775
  {
769
776
  "data-slot": "select-label",
770
- className: chunkPDMFWP5I_cjs.cn("px-2 py-1.5 text-xs opacity-70", className),
777
+ className: chunkIGI4JJKE_cjs.cn("px-2 py-1.5 text-xs opacity-70", className),
771
778
  ...props
772
779
  }
773
780
  );
@@ -781,7 +788,7 @@ function SelectItem({
781
788
  radixUi.Select.Item,
782
789
  {
783
790
  "data-slot": "select-item",
784
- className: chunkPDMFWP5I_cjs.cn(
791
+ className: chunkIGI4JJKE_cjs.cn(
785
792
  // Core structure - inherits text color
786
793
  "relative flex w-full cursor-default items-center gap-2 rounded-sm",
787
794
  "py-1.5 pr-8 pl-2 text-sm outline-hidden select-none",
@@ -828,7 +835,7 @@ function SelectScrollUpButton({
828
835
  radixUi.Select.ScrollUpButton,
829
836
  {
830
837
  "data-slot": "select-scroll-up-button",
831
- className: chunkPDMFWP5I_cjs.cn(
838
+ className: chunkIGI4JJKE_cjs.cn(
832
839
  "flex cursor-default items-center justify-center py-1",
833
840
  className
834
841
  ),
@@ -857,7 +864,7 @@ function SelectScrollDownButton({
857
864
  radixUi.Select.ScrollDownButton,
858
865
  {
859
866
  "data-slot": "select-scroll-down-button",
860
- className: chunkPDMFWP5I_cjs.cn(
867
+ className: chunkIGI4JJKE_cjs.cn(
861
868
  "flex cursor-default items-center justify-center py-1",
862
869
  className
863
870
  ),
@@ -951,9 +958,9 @@ function Select2({
951
958
  /* @__PURE__ */ React19__namespace.createElement(
952
959
  SelectTrigger,
953
960
  {
954
- className: chunkPDMFWP5I_cjs.cn(
961
+ className: chunkIGI4JJKE_cjs.cn(
955
962
  // Valid value indicator - ring-2 when has value and no error
956
- !error && hasValue && "ring-2 ring-ring",
963
+ !error && hasValue && "ring-2 ring-primary",
957
964
  // Error state - handled by SelectTrigger via aria-invalid
958
965
  className
959
966
  ),
@@ -1010,7 +1017,7 @@ var DialogOverlay = React19__namespace.forwardRef(({ className, ...props }, ref)
1010
1017
  {
1011
1018
  ref,
1012
1019
  "data-slot": "dialog-overlay",
1013
- className: chunkPDMFWP5I_cjs.cn(
1020
+ className: chunkIGI4JJKE_cjs.cn(
1014
1021
  "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",
1015
1022
  className
1016
1023
  ),
@@ -1025,7 +1032,7 @@ var DialogContent = React19__namespace.forwardRef(({ className, children, showCl
1025
1032
  {
1026
1033
  ref,
1027
1034
  "data-slot": "dialog-content",
1028
- className: chunkPDMFWP5I_cjs.cn(
1035
+ className: chunkIGI4JJKE_cjs.cn(
1029
1036
  "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",
1030
1037
  className
1031
1038
  ),
@@ -1062,7 +1069,7 @@ function DialogHeader({ className, ...props }) {
1062
1069
  "div",
1063
1070
  {
1064
1071
  "data-slot": "dialog-header",
1065
- className: chunkPDMFWP5I_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
1072
+ className: chunkIGI4JJKE_cjs.cn("flex flex-col gap-2 text-center sm:text-left", className),
1066
1073
  ...props
1067
1074
  }
1068
1075
  );
@@ -1075,7 +1082,7 @@ function DialogTitle({
1075
1082
  radixUi.Dialog.Title,
1076
1083
  {
1077
1084
  "data-slot": "dialog-title",
1078
- className: chunkPDMFWP5I_cjs.cn("text-lg leading-none font-semibold", className),
1085
+ className: chunkIGI4JJKE_cjs.cn("text-lg leading-none font-semibold", className),
1079
1086
  ...props
1080
1087
  }
1081
1088
  );
@@ -1090,7 +1097,7 @@ function Command({
1090
1097
  cmdk.Command,
1091
1098
  {
1092
1099
  "data-slot": "command",
1093
- className: chunkPDMFWP5I_cjs.cn(
1100
+ className: chunkIGI4JJKE_cjs.cn(
1094
1101
  "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
1095
1102
  className
1096
1103
  ),
@@ -1126,7 +1133,7 @@ function CommandInput({
1126
1133
  cmdk.Command.Input,
1127
1134
  {
1128
1135
  "data-slot": "command-input",
1129
- className: chunkPDMFWP5I_cjs.cn(
1136
+ className: chunkIGI4JJKE_cjs.cn(
1130
1137
  "flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
1131
1138
  className
1132
1139
  ),
@@ -1143,7 +1150,7 @@ function CommandList({
1143
1150
  cmdk.Command.List,
1144
1151
  {
1145
1152
  "data-slot": "command-list",
1146
- className: chunkPDMFWP5I_cjs.cn(
1153
+ className: chunkIGI4JJKE_cjs.cn(
1147
1154
  "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
1148
1155
  className
1149
1156
  ),
@@ -1171,7 +1178,7 @@ function CommandGroup({
1171
1178
  cmdk.Command.Group,
1172
1179
  {
1173
1180
  "data-slot": "command-group",
1174
- className: chunkPDMFWP5I_cjs.cn(
1181
+ className: chunkIGI4JJKE_cjs.cn(
1175
1182
  "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",
1176
1183
  className
1177
1184
  ),
@@ -1201,7 +1208,7 @@ function PopoverContent({
1201
1208
  "data-slot": "popover-content",
1202
1209
  align,
1203
1210
  sideOffset,
1204
- className: chunkPDMFWP5I_cjs.cn(
1211
+ className: chunkIGI4JJKE_cjs.cn(
1205
1212
  "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",
1206
1213
  className
1207
1214
  ),
@@ -1387,7 +1394,9 @@ function MultiSelect({
1387
1394
  (option) => option === currentOption
1388
1395
  );
1389
1396
  const nextEnabledIndex = currentEnabledIndex === -1 ? 0 : (currentEnabledIndex + 1) % enabledOptions.length;
1390
- setFocusedIndex(filteredOptions.indexOf(enabledOptions[nextEnabledIndex]));
1397
+ setFocusedIndex(
1398
+ filteredOptions.indexOf(enabledOptions[nextEnabledIndex])
1399
+ );
1391
1400
  break;
1392
1401
  }
1393
1402
  case "ArrowUp": {
@@ -1461,7 +1470,7 @@ function MultiSelect({
1461
1470
  value
1462
1471
  ]
1463
1472
  );
1464
- const combinedClassName = chunkPDMFWP5I_cjs.cn("relative w-full", className);
1473
+ const combinedClassName = chunkIGI4JJKE_cjs.cn("relative w-full", className);
1465
1474
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
1466
1475
  "select",
1467
1476
  {
@@ -1482,12 +1491,12 @@ function MultiSelect({
1482
1491
  "div",
1483
1492
  {
1484
1493
  ref: triggerRef,
1485
- className: chunkPDMFWP5I_cjs.cn(
1494
+ className: chunkIGI4JJKE_cjs.cn(
1486
1495
  "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",
1487
1496
  "cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
1488
- !error && hasValue && "ring-2 ring-ring",
1497
+ !error && hasValue && "ring-2 ring-primary",
1489
1498
  disabled && "cursor-not-allowed opacity-50 pointer-events-none",
1490
- error && "border-destructive ring-1 ring-destructive"
1499
+ error && "ring-2 ring-destructive"
1491
1500
  ),
1492
1501
  onKeyDown: handleKeyDown,
1493
1502
  onBlur: handleTriggerBlur,
@@ -1551,7 +1560,7 @@ function MultiSelect({
1551
1560
  CommandInput,
1552
1561
  {
1553
1562
  id: searchInputId,
1554
- className: chunkPDMFWP5I_cjs.cn(chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES),
1563
+ className: chunkIGI4JJKE_cjs.cn(chunkIGI4JJKE_cjs.INPUT_AUTOFILL_RESET_CLASSES),
1555
1564
  placeholder: "Search...",
1556
1565
  value: searchQuery,
1557
1566
  onValueChange: (nextValue) => {
@@ -1580,7 +1589,7 @@ function MultiSelect({
1580
1589
  },
1581
1590
  "Clear All"
1582
1591
  )),
1583
- isMaxReached && /* @__PURE__ */ React19__namespace.createElement("div", { className: "border-b border-destructive bg-destructive/80 px-2 py-1 text-xs font-medium text-destructive-foreground" }, "Maximum ", maxSelections, " selection", maxSelections !== 1 ? "s" : "", " ", "reached"),
1592
+ isMaxReached && /* @__PURE__ */ React19__namespace.createElement("div", { className: "border-b border-destructive bg-destructive/80 px-2 py-1 text-xs font-medium text-destructive-foreground" }, "Maximum ", maxSelections, " selection", maxSelections !== 1 ? "s" : "", " reached"),
1584
1593
  /* @__PURE__ */ React19__namespace.createElement(CommandList, { role: "listbox", "aria-multiselectable": "true" }, /* @__PURE__ */ React19__namespace.createElement(CommandEmpty, null, "No options found"), optionGroups.length > 0 ? optionGroups.map((group, groupIndex) => {
1585
1594
  const groupOptions = group.options.filter(
1586
1595
  (option) => filteredOptions.includes(option)
@@ -1612,7 +1621,7 @@ function MultiSelect({
1612
1621
  handleToggleOption(option.value);
1613
1622
  }
1614
1623
  },
1615
- className: chunkPDMFWP5I_cjs.cn(
1624
+ className: chunkIGI4JJKE_cjs.cn(
1616
1625
  "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",
1617
1626
  isFocused && "bg-accent",
1618
1627
  isSelected && "bg-accent font-medium",
@@ -1643,7 +1652,7 @@ function MultiSelect({
1643
1652
  handleToggleOption(option.value);
1644
1653
  }
1645
1654
  },
1646
- className: chunkPDMFWP5I_cjs.cn(
1655
+ className: chunkIGI4JJKE_cjs.cn(
1647
1656
  "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",
1648
1657
  isFocused && "bg-accent",
1649
1658
  isSelected && "bg-accent font-medium",
@@ -1697,7 +1706,7 @@ function BaseFileIcon({
1697
1706
  strokeWidth: "2",
1698
1707
  strokeLinecap: "round",
1699
1708
  strokeLinejoin: "round",
1700
- className: chunkPDMFWP5I_cjs.cn("size-5", className),
1709
+ className: chunkIGI4JJKE_cjs.cn("size-5", className),
1701
1710
  "aria-hidden": "true"
1702
1711
  },
1703
1712
  children
@@ -2181,7 +2190,7 @@ function FileUpload(props) {
2181
2190
  "data-slot": "file-upload",
2182
2191
  dir,
2183
2192
  ...rootProps,
2184
- className: chunkPDMFWP5I_cjs.cn("relative flex flex-col gap-2", className)
2193
+ className: chunkIGI4JJKE_cjs.cn("relative flex flex-col gap-2", className)
2185
2194
  },
2186
2195
  children,
2187
2196
  /* @__PURE__ */ React19__namespace.createElement(
@@ -2353,8 +2362,14 @@ function FileUploadDropzone(props) {
2353
2362
  dir: context.dir,
2354
2363
  tabIndex: context.disabled ? -1 : 0,
2355
2364
  ...dropzoneProps,
2356
- className: chunkPDMFWP5I_cjs.cn(
2357
- "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",
2365
+ className: chunkIGI4JJKE_cjs.cn(
2366
+ "relative flex select-none flex-col items-center",
2367
+ "justify-center gap-2 rounded-lg border border-dashed p-6",
2368
+ "outline-none transition-colors hover:ring-2 hover:ring-primary",
2369
+ "focus-visible:ring-2 focus-visible:ring-primary",
2370
+ "data-disabled:pointer-events-none data-disabled:opacity-50 ",
2371
+ "data-dragging:ring-2 data-dragging:ring-primary",
2372
+ "data-invalid:ring-2 data-invalid:ring-destructive",
2358
2373
  className
2359
2374
  ),
2360
2375
  onClick,
@@ -2391,7 +2406,7 @@ function FileUploadList(props) {
2391
2406
  "data-state": shouldRender ? "active" : "inactive",
2392
2407
  dir: context.dir,
2393
2408
  ...listProps,
2394
- className: chunkPDMFWP5I_cjs.cn(
2409
+ className: chunkIGI4JJKE_cjs.cn(
2395
2410
  "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",
2396
2411
  orientation === "horizontal" && "flex-row overflow-x-auto p-1.5",
2397
2412
  className
@@ -2447,7 +2462,7 @@ function FileUploadItem(props) {
2447
2462
  "data-slot": "file-upload-item",
2448
2463
  dir: context.dir,
2449
2464
  ...itemProps,
2450
- className: chunkPDMFWP5I_cjs.cn(
2465
+ className: chunkIGI4JJKE_cjs.cn(
2451
2466
  "relative flex items-center gap-2.5 rounded-md border p-3",
2452
2467
  className
2453
2468
  )
@@ -2494,7 +2509,7 @@ function FileUploadItemPreview(props) {
2494
2509
  "aria-labelledby": itemContext.nameId,
2495
2510
  "data-slot": "file-upload-preview",
2496
2511
  ...previewProps,
2497
- className: chunkPDMFWP5I_cjs.cn(
2512
+ className: chunkIGI4JJKE_cjs.cn(
2498
2513
  "relative flex size-10 shrink-0 items-center justify-center overflow-hidden rounded border bg-accent/50 [&>svg]:size-10",
2499
2514
  className
2500
2515
  )
@@ -2521,13 +2536,13 @@ function FileUploadItemMetadata(props) {
2521
2536
  "data-slot": "file-upload-metadata",
2522
2537
  dir: context.dir,
2523
2538
  ...metadataProps,
2524
- className: chunkPDMFWP5I_cjs.cn("flex min-w-0 flex-1 flex-col", className)
2539
+ className: chunkIGI4JJKE_cjs.cn("flex min-w-0 flex-1 flex-col", className)
2525
2540
  },
2526
2541
  children ?? /* @__PURE__ */ React19__namespace.createElement(React19__namespace.Fragment, null, /* @__PURE__ */ React19__namespace.createElement(
2527
2542
  "span",
2528
2543
  {
2529
2544
  id: itemContext.nameId,
2530
- className: chunkPDMFWP5I_cjs.cn(
2545
+ className: chunkIGI4JJKE_cjs.cn(
2531
2546
  "truncate font-medium text-sm",
2532
2547
  size === "sm" && "font-normal text-[13px] leading-snug"
2533
2548
  )
@@ -2537,7 +2552,7 @@ function FileUploadItemMetadata(props) {
2537
2552
  "span",
2538
2553
  {
2539
2554
  id: itemContext.sizeId,
2540
- className: chunkPDMFWP5I_cjs.cn(
2555
+ className: chunkIGI4JJKE_cjs.cn(
2541
2556
  "truncate text-xs opacity-70",
2542
2557
  size === "sm" && "text-[11px] leading-snug"
2543
2558
  )
@@ -2876,13 +2891,13 @@ function FileInput({
2876
2891
  const metadataElement = React19__namespace.useMemo(() => {
2877
2892
  const metaList = [];
2878
2893
  if (accept) {
2879
- metaList.push(`Accepted: ${accept}`);
2894
+ metaList.push(`File type: ${accept}`);
2880
2895
  }
2881
2896
  if (maxSize) {
2882
- metaList.push(`Max size: ${formatFileSize(maxSize)}`);
2897
+ metaList.push(`Max file size: ${formatFileSize(maxSize)}`);
2883
2898
  }
2884
2899
  if (metaList.length > 0) {
2885
- return /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex text-center items-center justify-center gap-4" }, metaList.map((str) => /* @__PURE__ */ React19__namespace.createElement("span", { key: str, className: "font-sm opacity-75" }, str)));
2900
+ return /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex text-center items-center justify-center gap-1 opacity-75 text-xs" }, metaList.map((str) => /* @__PURE__ */ React19__namespace.createElement("span", { key: str, className: "relative" }, str)));
2886
2901
  } else {
2887
2902
  return null;
2888
2903
  }
@@ -2903,7 +2918,7 @@ function FileInput({
2903
2918
  required: required && normalizedValue.length === 0,
2904
2919
  invalid: Boolean(error || props["aria-invalid"]),
2905
2920
  label: "File upload",
2906
- className: chunkPDMFWP5I_cjs.cn(className),
2921
+ className: chunkIGI4JJKE_cjs.cn(className),
2907
2922
  inputProps: {
2908
2923
  ...props,
2909
2924
  onBlur: handleBlur,
@@ -2918,7 +2933,7 @@ function FileInput({
2918
2933
  {
2919
2934
  role: "button",
2920
2935
  "aria-label": dynamicPlaceholder,
2921
- className: chunkPDMFWP5I_cjs.cn(
2936
+ className: chunkIGI4JJKE_cjs.cn(
2922
2937
  "flex min-h-32 w-full cursor-pointer",
2923
2938
  "items-center justify-center border-input",
2924
2939
  "bg-transparent p-6 transition-colors",
@@ -2953,7 +2968,7 @@ function FileInput({
2953
2968
  {
2954
2969
  key: `${file.name}-${index}`,
2955
2970
  value: file,
2956
- className: chunkPDMFWP5I_cjs.cn(
2971
+ className: chunkIGI4JJKE_cjs.cn(
2957
2972
  "flex items-center gap-3",
2958
2973
  "border-border bg-card text-card-foreground"
2959
2974
  )
@@ -2978,7 +2993,7 @@ function FileInput({
2978
2993
  )
2979
2994
  ), /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-xs" }, progressValue, "%")) : /* @__PURE__ */ React19__namespace.createElement("span", { className: "text-xs" }, formatFileSize(file.size))),
2980
2995
  enableCropping && file.type.startsWith("image/") ? /* @__PURE__ */ React19__namespace.createElement(
2981
- chunkPDMFWP5I_cjs.Button,
2996
+ chunkIGI4JJKE_cjs.Button,
2982
2997
  {
2983
2998
  type: "button",
2984
2999
  variant: "ghost",
@@ -3009,7 +3024,7 @@ function FileInput({
3009
3024
  )
3010
3025
  ) : null,
3011
3026
  /* @__PURE__ */ React19__namespace.createElement(FileUploadItemDelete, { asChild: true }, /* @__PURE__ */ React19__namespace.createElement(
3012
- chunkPDMFWP5I_cjs.Button,
3027
+ chunkIGI4JJKE_cjs.Button,
3013
3028
  {
3014
3029
  type: "button",
3015
3030
  variant: "outline",
@@ -3055,7 +3070,7 @@ function FileInput({
3055
3070
  "aria-describedby": void 0
3056
3071
  },
3057
3072
  /* @__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(
3058
- chunkPDMFWP5I_cjs.Button,
3073
+ chunkIGI4JJKE_cjs.Button,
3059
3074
  {
3060
3075
  type: "button",
3061
3076
  variant: "ghost",
@@ -3172,14 +3187,14 @@ function FileInput({
3172
3187
  }
3173
3188
  ))),
3174
3189
  /* @__PURE__ */ React19__namespace.createElement("div", { className: "flex items-center justify-end gap-2 border-t border-border p-4" }, /* @__PURE__ */ React19__namespace.createElement(
3175
- chunkPDMFWP5I_cjs.Button,
3190
+ chunkIGI4JJKE_cjs.Button,
3176
3191
  {
3177
3192
  type: "button",
3178
3193
  variant: "outline",
3179
3194
  onClick: handleCropCancel
3180
3195
  },
3181
3196
  "Cancel"
3182
- ), /* @__PURE__ */ React19__namespace.createElement(chunkPDMFWP5I_cjs.Button, { type: "button", onClick: handleCropSave }, "Save"))
3197
+ ), /* @__PURE__ */ React19__namespace.createElement(chunkIGI4JJKE_cjs.Button, { type: "button", onClick: handleCropSave }, "Save"))
3183
3198
  ) : null
3184
3199
  ));
3185
3200
  }
@@ -3199,7 +3214,7 @@ function Calendar({
3199
3214
  reactDayPicker.DayPicker,
3200
3215
  {
3201
3216
  showOutsideDays,
3202
- className: chunkPDMFWP5I_cjs.cn(
3217
+ className: chunkIGI4JJKE_cjs.cn(
3203
3218
  "bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
3204
3219
  String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
3205
3220
  String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
@@ -3211,86 +3226,86 @@ function Calendar({
3211
3226
  ...formatters
3212
3227
  },
3213
3228
  classNames: {
3214
- root: chunkPDMFWP5I_cjs.cn("w-fit", defaultClassNames.root),
3215
- months: chunkPDMFWP5I_cjs.cn(
3229
+ root: chunkIGI4JJKE_cjs.cn("w-fit", defaultClassNames.root),
3230
+ months: chunkIGI4JJKE_cjs.cn(
3216
3231
  "flex gap-4 flex-col md:flex-row relative",
3217
3232
  defaultClassNames.months
3218
3233
  ),
3219
- month: chunkPDMFWP5I_cjs.cn("flex flex-col w-full gap-4", defaultClassNames.month),
3220
- nav: chunkPDMFWP5I_cjs.cn(
3234
+ month: chunkIGI4JJKE_cjs.cn("flex flex-col w-full gap-4", defaultClassNames.month),
3235
+ nav: chunkIGI4JJKE_cjs.cn(
3221
3236
  "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
3222
3237
  defaultClassNames.nav
3223
3238
  ),
3224
- button_previous: chunkPDMFWP5I_cjs.cn(
3225
- chunkPDMFWP5I_cjs.buttonVariants({ variant: buttonVariant }),
3239
+ button_previous: chunkIGI4JJKE_cjs.cn(
3240
+ chunkIGI4JJKE_cjs.buttonVariants({ variant: buttonVariant }),
3226
3241
  "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
3227
3242
  defaultClassNames.button_previous
3228
3243
  ),
3229
- button_next: chunkPDMFWP5I_cjs.cn(
3230
- chunkPDMFWP5I_cjs.buttonVariants({ variant: buttonVariant }),
3244
+ button_next: chunkIGI4JJKE_cjs.cn(
3245
+ chunkIGI4JJKE_cjs.buttonVariants({ variant: buttonVariant }),
3231
3246
  "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
3232
3247
  defaultClassNames.button_next
3233
3248
  ),
3234
- month_caption: chunkPDMFWP5I_cjs.cn(
3249
+ month_caption: chunkIGI4JJKE_cjs.cn(
3235
3250
  "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
3236
3251
  defaultClassNames.month_caption
3237
3252
  ),
3238
- dropdowns: chunkPDMFWP5I_cjs.cn(
3253
+ dropdowns: chunkIGI4JJKE_cjs.cn(
3239
3254
  "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
3240
3255
  defaultClassNames.dropdowns
3241
3256
  ),
3242
- dropdown_root: chunkPDMFWP5I_cjs.cn(
3257
+ dropdown_root: chunkIGI4JJKE_cjs.cn(
3243
3258
  "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
3244
3259
  defaultClassNames.dropdown_root
3245
3260
  ),
3246
- dropdown: chunkPDMFWP5I_cjs.cn(
3261
+ dropdown: chunkIGI4JJKE_cjs.cn(
3247
3262
  "absolute bg-popover inset-0 opacity-0",
3248
3263
  defaultClassNames.dropdown
3249
3264
  ),
3250
- caption_label: chunkPDMFWP5I_cjs.cn(
3265
+ caption_label: chunkIGI4JJKE_cjs.cn(
3251
3266
  "select-none font-medium",
3252
3267
  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",
3253
3268
  defaultClassNames.caption_label
3254
3269
  ),
3255
3270
  table: "w-full border-collapse",
3256
- weekdays: chunkPDMFWP5I_cjs.cn("flex", defaultClassNames.weekdays),
3257
- weekday: chunkPDMFWP5I_cjs.cn(
3271
+ weekdays: chunkIGI4JJKE_cjs.cn("flex", defaultClassNames.weekdays),
3272
+ weekday: chunkIGI4JJKE_cjs.cn(
3258
3273
  "opacity-70 rounded-md flex-1 font-normal text-[0.8rem] select-none",
3259
3274
  defaultClassNames.weekday
3260
3275
  ),
3261
- week: chunkPDMFWP5I_cjs.cn("flex w-full mt-2", defaultClassNames.week),
3262
- week_number_header: chunkPDMFWP5I_cjs.cn(
3276
+ week: chunkIGI4JJKE_cjs.cn("flex w-full mt-2", defaultClassNames.week),
3277
+ week_number_header: chunkIGI4JJKE_cjs.cn(
3263
3278
  "select-none w-(--cell-size)",
3264
3279
  defaultClassNames.week_number_header
3265
3280
  ),
3266
- week_number: chunkPDMFWP5I_cjs.cn(
3281
+ week_number: chunkIGI4JJKE_cjs.cn(
3267
3282
  "text-[0.8rem] select-none opacity-70",
3268
3283
  defaultClassNames.week_number
3269
3284
  ),
3270
- day: chunkPDMFWP5I_cjs.cn(
3285
+ day: chunkIGI4JJKE_cjs.cn(
3271
3286
  "relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
3272
3287
  props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md",
3273
3288
  defaultClassNames.day
3274
3289
  ),
3275
- range_start: chunkPDMFWP5I_cjs.cn(
3290
+ range_start: chunkIGI4JJKE_cjs.cn(
3276
3291
  "rounded-l-md bg-accent",
3277
3292
  defaultClassNames.range_start
3278
3293
  ),
3279
- range_middle: chunkPDMFWP5I_cjs.cn("rounded-none", defaultClassNames.range_middle),
3280
- range_end: chunkPDMFWP5I_cjs.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
3281
- today: chunkPDMFWP5I_cjs.cn(
3294
+ range_middle: chunkIGI4JJKE_cjs.cn("rounded-none", defaultClassNames.range_middle),
3295
+ range_end: chunkIGI4JJKE_cjs.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
3296
+ today: chunkIGI4JJKE_cjs.cn(
3282
3297
  "bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
3283
3298
  defaultClassNames.today
3284
3299
  ),
3285
- outside: chunkPDMFWP5I_cjs.cn(
3300
+ outside: chunkIGI4JJKE_cjs.cn(
3286
3301
  "opacity-50",
3287
3302
  defaultClassNames.outside
3288
3303
  ),
3289
- disabled: chunkPDMFWP5I_cjs.cn(
3304
+ disabled: chunkIGI4JJKE_cjs.cn(
3290
3305
  "opacity-50",
3291
3306
  defaultClassNames.disabled
3292
3307
  ),
3293
- hidden: chunkPDMFWP5I_cjs.cn("invisible", defaultClassNames.hidden),
3308
+ hidden: chunkIGI4JJKE_cjs.cn("invisible", defaultClassNames.hidden),
3294
3309
  ...classNames
3295
3310
  },
3296
3311
  components: {
@@ -3300,7 +3315,7 @@ function Calendar({
3300
3315
  {
3301
3316
  "data-slot": "calendar",
3302
3317
  ref: rootRef,
3303
- className: chunkPDMFWP5I_cjs.cn(className2),
3318
+ className: chunkIGI4JJKE_cjs.cn(className2),
3304
3319
  ...props2
3305
3320
  }
3306
3321
  );
@@ -3310,7 +3325,7 @@ function Calendar({
3310
3325
  return /* @__PURE__ */ React19__namespace.createElement(
3311
3326
  "svg",
3312
3327
  {
3313
- className: chunkPDMFWP5I_cjs.cn("size-4", className2),
3328
+ className: chunkIGI4JJKE_cjs.cn("size-4", className2),
3314
3329
  viewBox: "0 0 24 24",
3315
3330
  fill: "none",
3316
3331
  stroke: "currentColor",
@@ -3326,7 +3341,7 @@ function Calendar({
3326
3341
  return /* @__PURE__ */ React19__namespace.createElement(
3327
3342
  "svg",
3328
3343
  {
3329
- className: chunkPDMFWP5I_cjs.cn("size-4", className2),
3344
+ className: chunkIGI4JJKE_cjs.cn("size-4", className2),
3330
3345
  viewBox: "0 0 24 24",
3331
3346
  fill: "none",
3332
3347
  stroke: "currentColor",
@@ -3341,7 +3356,7 @@ function Calendar({
3341
3356
  return /* @__PURE__ */ React19__namespace.createElement(
3342
3357
  "svg",
3343
3358
  {
3344
- className: chunkPDMFWP5I_cjs.cn("size-4", className2),
3359
+ className: chunkIGI4JJKE_cjs.cn("size-4", className2),
3345
3360
  viewBox: "0 0 24 24",
3346
3361
  fill: "none",
3347
3362
  stroke: "currentColor",
@@ -3375,7 +3390,7 @@ function CalendarDayButton({
3375
3390
  if (modifiers.focused) ref.current?.focus();
3376
3391
  }, [modifiers.focused]);
3377
3392
  return /* @__PURE__ */ React19__namespace.createElement(
3378
- chunkPDMFWP5I_cjs.Button,
3393
+ chunkIGI4JJKE_cjs.Button,
3379
3394
  {
3380
3395
  ref,
3381
3396
  variant: "ghost",
@@ -3385,7 +3400,7 @@ function CalendarDayButton({
3385
3400
  "data-range-start": modifiers.range_start,
3386
3401
  "data-range-end": modifiers.range_end,
3387
3402
  "data-range-middle": modifiers.range_middle,
3388
- className: chunkPDMFWP5I_cjs.cn(
3403
+ className: chunkIGI4JJKE_cjs.cn(
3389
3404
  // Core structure
3390
3405
  "flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal",
3391
3406
  // Selected states - uses CSS variables
@@ -3428,7 +3443,7 @@ function DatePickerDayButton({
3428
3443
  "button",
3429
3444
  {
3430
3445
  type: "button",
3431
- className: chunkPDMFWP5I_cjs.cn(
3446
+ className: chunkIGI4JJKE_cjs.cn(
3432
3447
  "flex items-center justify-center h-8 w-8 rounded-md border-none bg-transparent cursor-pointer text-sm transition-colors",
3433
3448
  "hover:bg-accent",
3434
3449
  modifiers.selected && "bg-primary text-primary-foreground font-semibold",
@@ -3450,7 +3465,7 @@ function DatePicker({
3450
3465
  required = false,
3451
3466
  error = false,
3452
3467
  className = "",
3453
- placeholder = "Select date...",
3468
+ placeholder = "Select date",
3454
3469
  format = "MM/dd/yyyy",
3455
3470
  minDate,
3456
3471
  maxDate,
@@ -3538,7 +3553,7 @@ function DatePicker({
3538
3553
  }, [hasInteracted]);
3539
3554
  const hasValue = Boolean(value);
3540
3555
  const displayValue = formatDate(value, format);
3541
- const combinedClassName = chunkPDMFWP5I_cjs.cn("relative", className);
3556
+ const combinedClassName = chunkIGI4JJKE_cjs.cn("relative", className);
3542
3557
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
3543
3558
  "input",
3544
3559
  {
@@ -3549,7 +3564,11 @@ function DatePicker({
3549
3564
  ), /* @__PURE__ */ React19__namespace.createElement(Popover, { open: isOpen, onOpenChange: handleOpenChange }, /* @__PURE__ */ React19__namespace.createElement("div", { className: "relative" }, showIcon && /* @__PURE__ */ React19__namespace.createElement(
3550
3565
  "span",
3551
3566
  {
3552
- className: "absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none",
3567
+ className: chunkIGI4JJKE_cjs.cn(
3568
+ "absolute left-3 top-1/2 -translate-y-1/2",
3569
+ "pointer-events-none flex items-center justify-center",
3570
+ "pointer-events-none"
3571
+ ),
3553
3572
  "aria-hidden": "true"
3554
3573
  },
3555
3574
  /* @__PURE__ */ React19__namespace.createElement(
@@ -3566,7 +3585,7 @@ function DatePicker({
3566
3585
  ref: inputRef,
3567
3586
  id: props.id,
3568
3587
  type: "text",
3569
- className: chunkPDMFWP5I_cjs.cn(
3588
+ className: chunkIGI4JJKE_cjs.cn(
3570
3589
  "flex h-9 w-full rounded-md border",
3571
3590
  "border-input bg-transparent py-1 text-base",
3572
3591
  "shadow-sm transition-colors",
@@ -3574,11 +3593,11 @@ function DatePicker({
3574
3593
  "focus-visible:ring-ring",
3575
3594
  "disabled:cursor-not-allowed",
3576
3595
  "disabled:opacity-50 md:text-sm",
3577
- chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3596
+ chunkIGI4JJKE_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3578
3597
  showIcon ? "pl-10" : "pl-3",
3579
3598
  clearable && value ? "pr-10" : "pr-3",
3580
- !error && hasValue && "ring-2 ring-ring",
3581
- error && "border-destructive ring-1 ring-destructive"
3599
+ !error && hasValue && "ring-2 ring-primary",
3600
+ error && "ring-2 ring-destructive"
3582
3601
  ),
3583
3602
  value: displayValue,
3584
3603
  onClick: handleInputClick,
@@ -3715,7 +3734,7 @@ function TimePicker({
3715
3734
  };
3716
3735
  const hasValue = Boolean(value);
3717
3736
  const stepInSeconds = Math.max(1, minuteStep * 60);
3718
- return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkPDMFWP5I_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(
3737
+ return /* @__PURE__ */ React19__namespace.createElement("div", { className: chunkIGI4JJKE_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(
3719
3738
  "span",
3720
3739
  {
3721
3740
  className: "absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none",
@@ -3738,17 +3757,17 @@ function TimePicker({
3738
3757
  /* @__PURE__ */ React19__namespace.createElement("path", { d: "M12 6v6l4 2" })
3739
3758
  )
3740
3759
  ), /* @__PURE__ */ React19__namespace.createElement(
3741
- chunkPDMFWP5I_cjs.Input,
3760
+ chunkIGI4JJKE_cjs.Input,
3742
3761
  {
3743
3762
  ref: inputRef,
3744
3763
  type: "time",
3745
- className: chunkPDMFWP5I_cjs.cn(
3764
+ className: chunkIGI4JJKE_cjs.cn(
3746
3765
  "appearance-none [&::-webkit-calendar-picker-indicator]:hidden [&::-webkit-calendar-picker-indicator]:appearance-none",
3747
- chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3766
+ chunkIGI4JJKE_cjs.INPUT_AUTOFILL_RESET_CLASSES,
3748
3767
  showIcon ? "pl-10" : "pl-3",
3749
3768
  clearable && value ? "pr-10" : "pr-3",
3750
- !error && hasValue && "ring-2 ring-ring",
3751
- error && "border-destructive ring-1 ring-destructive"
3769
+ !error && hasValue && "ring-2 ring-primary",
3770
+ error && "ring-2 ring-destructive"
3752
3771
  ),
3753
3772
  value: nativeValue,
3754
3773
  onChange: handleChange,
@@ -3763,7 +3782,7 @@ function TimePicker({
3763
3782
  ...props
3764
3783
  }
3765
3784
  ), clearable && value && !disabled && /* @__PURE__ */ React19__namespace.createElement(
3766
- chunkPDMFWP5I_cjs.Button,
3785
+ chunkIGI4JJKE_cjs.Button,
3767
3786
  {
3768
3787
  type: "button",
3769
3788
  variant: "ghost",
@@ -3801,7 +3820,11 @@ function formatDate2(date, format) {
3801
3820
  return format.replace("MM", month).replace("dd", day).replace("yyyy", String(year)).replace("yy", String(year).slice(2));
3802
3821
  }
3803
3822
  function toDayTimestamp(date) {
3804
- return new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
3823
+ return new Date(
3824
+ date.getFullYear(),
3825
+ date.getMonth(),
3826
+ date.getDate()
3827
+ ).getTime();
3805
3828
  }
3806
3829
  function isSameDay(date, target) {
3807
3830
  if (!target) return false;
@@ -3963,7 +3986,7 @@ function DateRangePicker({
3963
3986
  {
3964
3987
  type: "button",
3965
3988
  ...rest,
3966
- className: chunkPDMFWP5I_cjs.cn(
3989
+ className: chunkIGI4JJKE_cjs.cn(
3967
3990
  "flex items-center justify-center h-8 w-8 rounded-md border-none bg-transparent cursor-pointer text-sm transition-colors",
3968
3991
  "hover:bg-accent",
3969
3992
  isRangeEndpoint && "bg-primary text-primary-foreground font-semibold",
@@ -4001,7 +4024,7 @@ function DateRangePicker({
4001
4024
  to: rangeEnd ?? void 0
4002
4025
  } : void 0;
4003
4026
  const displayValue = rangeStart && rangeEnd ? `${formatDate2(rangeStart, format)}${separator}${formatDate2(rangeEnd, format)}` : rangeStart ? formatDate2(rangeStart, format) : "";
4004
- const combinedClassName = chunkPDMFWP5I_cjs.cn("relative", className);
4027
+ const combinedClassName = chunkIGI4JJKE_cjs.cn("relative", className);
4005
4028
  return /* @__PURE__ */ React19__namespace.createElement("div", { className: combinedClassName }, /* @__PURE__ */ React19__namespace.createElement(
4006
4029
  "input",
4007
4030
  {
@@ -4043,15 +4066,15 @@ function DateRangePicker({
4043
4066
  ref: inputRef,
4044
4067
  id: props.id,
4045
4068
  type: "text",
4046
- className: chunkPDMFWP5I_cjs.cn(
4069
+ className: chunkIGI4JJKE_cjs.cn(
4047
4070
  "flex h-9 w-full rounded-md border border-input bg-transparent py-1 text-base shadow-sm transition-colors",
4048
4071
  "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
4049
4072
  "disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
4050
- chunkPDMFWP5I_cjs.INPUT_AUTOFILL_RESET_CLASSES,
4073
+ chunkIGI4JJKE_cjs.INPUT_AUTOFILL_RESET_CLASSES,
4051
4074
  showIcon ? "pl-10" : "pl-3",
4052
4075
  clearable && (rangeStart || rangeEnd) ? "pr-10" : "pr-3",
4053
- !error && hasValue && "ring-2 ring-ring",
4054
- error && "border-destructive ring-1 ring-destructive"
4076
+ !error && hasValue && "ring-2 ring-primary",
4077
+ error && "ring-2 ring-destructive"
4055
4078
  ),
4056
4079
  value: displayValue,
4057
4080
  onClick: handleInputClick,
@@ -4123,5 +4146,5 @@ exports.Select = Select2;
4123
4146
  exports.Switch = Switch2;
4124
4147
  exports.TextArea = TextArea;
4125
4148
  exports.TimePicker = TimePicker;
4126
- //# sourceMappingURL=chunk-3VSPIJNK.cjs.map
4127
- //# sourceMappingURL=chunk-3VSPIJNK.cjs.map
4149
+ //# sourceMappingURL=chunk-K7ZHLPLX.cjs.map
4150
+ //# sourceMappingURL=chunk-K7ZHLPLX.cjs.map