shadcn-ui-react 0.3.7 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5508,60 +5508,125 @@ var Form = ({
5508
5508
  };
5509
5509
 
5510
5510
  // src/components/Form/form-field.tsx
5511
+ import React42 from "react";
5511
5512
  import {
5512
5513
  Controller,
5513
5514
  useFormContext
5514
5515
  } from "react-hook-form";
5515
- import React43 from "react";
5516
-
5517
- // src/components/Label/label.tsx
5518
- import * as LabelPrimitive from "@radix-ui/react-label";
5519
- import { cva as cva4 } from "class-variance-authority";
5520
- import * as React41 from "react";
5521
- import { jsx as jsx17 } from "react/jsx-runtime";
5522
- var labelVariants = cva4(
5523
- "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-label"
5524
- );
5525
- var Label3 = React41.forwardRef((_a, ref) => {
5526
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5527
- return /* @__PURE__ */ jsx17(
5528
- LabelPrimitive.Root,
5529
- __spreadValues({
5530
- ref,
5531
- className: cn(labelVariants(), className)
5532
- }, props)
5533
- );
5534
- });
5535
- Label3.displayName = LabelPrimitive.Root.displayName;
5536
-
5537
- // src/components/Form/form-field.tsx
5538
5516
  import { Slot as Slot3 } from "@radix-ui/react-slot";
5517
+ import { Asterisk } from "lucide-react";
5539
5518
 
5540
5519
  // src/components/input.tsx
5541
- import * as React42 from "react";
5542
- import { jsx as jsx18 } from "react/jsx-runtime";
5543
- var Input = React42.forwardRef(
5520
+ import * as React41 from "react";
5521
+ import { Mail, Search, Eye, EyeOff } from "lucide-react";
5522
+ import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
5523
+ var Input = React41.forwardRef(
5544
5524
  (_a, ref) => {
5545
- var _b = _a, { className, classNameDefault, type } = _b, props = __objRest(_b, ["className", "classNameDefault", "type"]);
5546
- return /* @__PURE__ */ jsx18(
5547
- "input",
5548
- __spreadValues({
5549
- type,
5550
- className: classNameDefault ? cn(
5551
- "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
5552
- className
5553
- ) : className,
5554
- ref
5555
- }, props)
5556
- );
5525
+ var _b = _a, {
5526
+ className,
5527
+ variant = "outline",
5528
+ size = "md",
5529
+ leading,
5530
+ trailing,
5531
+ invalid = false,
5532
+ disabled
5533
+ } = _b, props = __objRest(_b, [
5534
+ "className",
5535
+ "variant",
5536
+ "size",
5537
+ "leading",
5538
+ "trailing",
5539
+ "invalid",
5540
+ "disabled"
5541
+ ]);
5542
+ const base = "block w-full bg-transparent text-foreground placeholder:text-muted-foreground outline-none transition disabled:opacity-50 disabled:cursor-not-allowed";
5543
+ const sizeCls = size === "sm" ? "h-9 px-3 text-sm" : size === "lg" ? "h-12 px-5 text-base" : "h-11 px-4 text-sm";
5544
+ const variants2 = {
5545
+ outline: "rounded-md border border-input bg-input backdrop-blur-sm shadow-sm hover:border-primary/60 focus:border-primary focus:ring-2 focus:ring-primary/20",
5546
+ soft: "rounded-md border border-transparent bg-muted/60 hover:bg-muted shadow-sm focus:bg-input/80 focus:ring-2 focus:ring-primary/20",
5547
+ ghost: "rounded-md border border-transparent bg-transparent hover:bg-muted/50 focus:ring-2 focus:ring-ring",
5548
+ filled: "rounded-md border border-input bg-muted/70 hover:bg-muted shadow-inner focus:bg-input/70 focus:ring-2 focus:ring-primary/20",
5549
+ flushed: (
5550
+ // sin bordes laterales/superior, solo inferior; sin sombras ni radios
5551
+ "rounded-none border-0 border-b border-input px-0 shadow-none focus:border-b-2 focus:border-primary focus:ring-0"
5552
+ ),
5553
+ unstyled: (
5554
+ // sin estilos, útil para inputs embebidos o controles muy custom
5555
+ "border-0 shadow-none focus:ring-0"
5556
+ ),
5557
+ link: (
5558
+ // aspecto tipo enlace: inline height-auto, sin paddings ni borde
5559
+ "border-0 p-0 h-auto shadow-none bg-transparent text-primary underline-offset-4 focus:underline focus:ring-0"
5560
+ )
5561
+ };
5562
+ const errorCls = invalid ? "border-destructive focus:border-destructive focus:ring-destructive/20" : "";
5563
+ const iconPadLeft = leading && variant !== "flushed" && variant !== "link" ? size === "lg" ? "pl-12" : "pl-10" : "";
5564
+ const iconPadRight = trailing && variant !== "flushed" && variant !== "link" ? size === "lg" ? "pr-12" : "pr-10" : "";
5565
+ const specialSizeForFlushed = variant === "flushed" ? size === "sm" ? "h-9 text-sm" : size === "lg" ? "h-12 text-base" : "h-11 text-sm" : "";
5566
+ const specialSizeForLink = variant === "link" ? "text-sm" : "";
5567
+ return /* @__PURE__ */ jsxs10("div", { className: cn("relative", disabled && "opacity-80"), children: [
5568
+ leading ? /* @__PURE__ */ jsx17(
5569
+ "span",
5570
+ {
5571
+ className: cn(
5572
+ "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 opacity-60",
5573
+ size === "lg" ? "text-[1.15rem]" : "text-[1rem]",
5574
+ // no desplazamos visualmente en variantes sin padding
5575
+ variant === "flushed" || variant === "link" ? "hidden" : ""
5576
+ ),
5577
+ children: leading
5578
+ }
5579
+ ) : null,
5580
+ /* @__PURE__ */ jsx17(
5581
+ "input",
5582
+ __spreadValues({
5583
+ ref,
5584
+ "aria-invalid": invalid || void 0,
5585
+ disabled,
5586
+ className: cn(
5587
+ base,
5588
+ variants2[variant],
5589
+ variant === "flushed" ? specialSizeForFlushed : variant === "link" ? specialSizeForLink : sizeCls,
5590
+ errorCls,
5591
+ iconPadLeft,
5592
+ iconPadRight,
5593
+ className
5594
+ )
5595
+ }, props)
5596
+ ),
5597
+ trailing ? /* @__PURE__ */ jsx17(
5598
+ "span",
5599
+ {
5600
+ className: cn(
5601
+ "absolute right-3 top-1/2 -translate-y-1/2 opacity-70",
5602
+ size === "lg" ? "text-[1.15rem]" : "text-[1rem]",
5603
+ variant === "flushed" || variant === "link" ? "hidden" : ""
5604
+ ),
5605
+ children: trailing
5606
+ }
5607
+ ) : null
5608
+ ] });
5557
5609
  }
5558
5610
  );
5559
5611
  Input.displayName = "Input";
5612
+ Input.displayName = "Input";
5560
5613
 
5561
5614
  // src/components/Form/form-field.tsx
5562
- import { Asterisk } from "lucide-react";
5563
- import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
5564
- var FormFieldContext = React43.createContext(
5615
+ import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
5616
+ var inputVariants = {
5617
+ outline: "rounded-md border border-input bg-input backdrop-blur-sm shadow-sm hover:border-primary/60 focus:border-primary focus:ring-2 focus:ring-primary/20",
5618
+ soft: "rounded-md border border-transparent bg-muted/60 hover:bg-muted shadow-sm focus:bg-input/80 focus:ring-2 focus:ring-primary/20",
5619
+ ghost: "rounded-md border border-transparent bg-transparent hover:bg-muted/50 focus:ring-2 focus:ring-ring",
5620
+ filled: "rounded-md border border-input bg-muted/70 hover:bg-muted shadow-inner focus:bg-input/70 focus:ring-2 focus:ring-primary/20",
5621
+ // sin bordes laterales/superior, solo inferior; sin sombras ni radios
5622
+ flushed: "rounded-none border-0 border-b border-input px-0 shadow-none focus:border-b-2 focus:border-primary focus:ring-0",
5623
+ // sin estilos, útil para inputs embebidos o controles muy custom
5624
+ unstyled: "border-0 shadow-none focus:ring-0",
5625
+ // aspecto tipo enlace: inline height-auto, sin paddings ni borde
5626
+ link: "border-0 p-0 h-auto shadow-none bg-transparent text-primary underline-offset-4 focus:underline focus:ring-0"
5627
+ };
5628
+ var variants = inputVariants;
5629
+ var FormFieldContext = React42.createContext(
5565
5630
  null
5566
5631
  );
5567
5632
  var FormField = (_a) => {
@@ -5571,11 +5636,13 @@ var FormField = (_a) => {
5571
5636
  label,
5572
5637
  placeholder,
5573
5638
  requiredLabel,
5574
- className = "px-4 py-6 shadow-inner drop-shadow-xl",
5639
+ className,
5575
5640
  classNameDefault,
5576
5641
  labelClassName,
5577
5642
  messageClassName,
5578
5643
  requiredLabelClassName,
5644
+ variant = "outline",
5645
+ size = "md",
5579
5646
  rules,
5580
5647
  shouldUnregister,
5581
5648
  defaultValue,
@@ -5591,6 +5658,8 @@ var FormField = (_a) => {
5591
5658
  "labelClassName",
5592
5659
  "messageClassName",
5593
5660
  "requiredLabelClassName",
5661
+ "variant",
5662
+ "size",
5594
5663
  "rules",
5595
5664
  "shouldUnregister",
5596
5665
  "defaultValue",
@@ -5601,7 +5670,7 @@ var FormField = (_a) => {
5601
5670
  formState: { errors }
5602
5671
  } = useFormContext();
5603
5672
  const fieldError = (_a2 = errors[name]) == null ? void 0 : _a2.message;
5604
- return /* @__PURE__ */ jsx19(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx19(
5673
+ return /* @__PURE__ */ jsx18(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx18(
5605
5674
  Controller,
5606
5675
  {
5607
5676
  control,
@@ -5609,20 +5678,29 @@ var FormField = (_a) => {
5609
5678
  rules,
5610
5679
  shouldUnregister,
5611
5680
  defaultValue,
5612
- render: ({ field }) => /* @__PURE__ */ jsxs10(FormItem, { children: [
5613
- label && /* @__PURE__ */ jsxs10(FormLabel, { className: cn("flex items-center self-center gap-0", labelClassName), children: [
5614
- label,
5615
- requiredLabel && /* @__PURE__ */ jsx19(
5616
- Asterisk,
5617
- {
5618
- className: cn(
5619
- "h-3 w-3 text-red-500 ml-[1px]",
5620
- requiredLabelClassName
5681
+ render: ({ field }) => /* @__PURE__ */ jsxs11(FormItem, { children: [
5682
+ label && /* @__PURE__ */ jsxs11(
5683
+ FormLabel,
5684
+ {
5685
+ className: cn(
5686
+ "flex items-center gap-0 self-center",
5687
+ labelClassName
5688
+ ),
5689
+ children: [
5690
+ label,
5691
+ requiredLabel && /* @__PURE__ */ jsx18(
5692
+ Asterisk,
5693
+ {
5694
+ className: cn(
5695
+ "ml-[1px] h-3 w-3 text-red-500",
5696
+ requiredLabelClassName
5697
+ )
5698
+ }
5621
5699
  )
5622
- }
5623
- )
5624
- ] }),
5625
- /* @__PURE__ */ jsx19(FormControl, { children: /* @__PURE__ */ jsx19(
5700
+ ]
5701
+ }
5702
+ ),
5703
+ /* @__PURE__ */ jsx18(FormControl, { children: /* @__PURE__ */ jsx18(
5626
5704
  Input,
5627
5705
  __spreadProps(__spreadValues(__spreadValues({}, field), inputProps), {
5628
5706
  onChange: (e) => {
@@ -5630,45 +5708,42 @@ var FormField = (_a) => {
5630
5708
  onChange == null ? void 0 : onChange(e.target.value);
5631
5709
  },
5632
5710
  placeholder,
5633
- className,
5711
+ className: cn("bg-input px-[0.9rem] py-5", className),
5634
5712
  classNameDefault: classNameDefault != null ? classNameDefault : true
5635
5713
  })
5636
5714
  ) }),
5637
- fieldError && /* @__PURE__ */ jsx19(FormMessage, { className: messageClassName, children: fieldError })
5715
+ fieldError && /* @__PURE__ */ jsx18(FormMessage, { className: messageClassName, children: fieldError })
5638
5716
  ] })
5639
5717
  }
5640
5718
  ) });
5641
5719
  };
5642
- var FormItemContext = React43.createContext(
5720
+ var FormItemContext = React42.createContext(
5643
5721
  {}
5644
5722
  );
5645
- var FormItem = React43.forwardRef((_a, ref) => {
5723
+ var FormItem = React42.forwardRef((_a, ref) => {
5646
5724
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5647
- const id = React43.useId();
5648
- return /* @__PURE__ */ jsx19(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx19("div", __spreadValues({ ref, className: cn("space-y-2", className) }, props)) });
5725
+ const id = React42.useId();
5726
+ return /* @__PURE__ */ jsx18(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx18("div", __spreadValues({ ref, className: cn("space-y-2", className) }, props)) });
5649
5727
  });
5650
5728
  FormItem.displayName = "FormItem";
5651
- var FormLabel = React43.forwardRef((_a, ref) => {
5652
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5653
- const { error, formItemId } = useFormField();
5654
- return /* @__PURE__ */ jsx19(
5655
- Label3,
5656
- __spreadValues({
5657
- ref,
5658
- className: cn(error && "text-destructive", className),
5659
- htmlFor: formItemId
5660
- }, props)
5661
- );
5662
- });
5663
- FormLabel.displayName = "FormLabel";
5664
5729
  var useFormField = () => {
5665
- const fieldContext = React43.useContext(FormFieldContext);
5666
- const itemContext = React43.useContext(FormItemContext);
5730
+ const fieldContext = React42.useContext(FormFieldContext);
5731
+ const itemContext = React42.useContext(FormItemContext);
5667
5732
  const { getFieldState, formState } = useFormContext();
5733
+ if (!(itemContext == null ? void 0 : itemContext.id)) {
5734
+ const id2 = React42.useId();
5735
+ return {
5736
+ id: id2,
5737
+ formItemId: `${id2}-form-item`,
5738
+ formDescriptionId: `${id2}-form-item-description`,
5739
+ formMessageId: `${id2}-form-item-message`,
5740
+ error: null
5741
+ };
5742
+ }
5668
5743
  if (!fieldContext) {
5669
5744
  const { id: id2 } = itemContext;
5670
5745
  return {
5671
- id: itemContext.id,
5746
+ id: id2,
5672
5747
  formItemId: `${id2}-form-item`,
5673
5748
  formDescriptionId: `${id2}-form-item-description`,
5674
5749
  formMessageId: `${id2}-form-item-message`,
@@ -5676,9 +5751,6 @@ var useFormField = () => {
5676
5751
  };
5677
5752
  }
5678
5753
  const fieldState = getFieldState(fieldContext.name, formState);
5679
- if (!fieldContext) {
5680
- throw new Error("useFormField should be used within <FormField>");
5681
- }
5682
5754
  const { id } = itemContext;
5683
5755
  return __spreadValues({
5684
5756
  id,
@@ -5688,10 +5760,23 @@ var useFormField = () => {
5688
5760
  formMessageId: `${id}-form-item-message`
5689
5761
  }, fieldState);
5690
5762
  };
5691
- var FormControl = React43.forwardRef((_a, ref) => {
5763
+ var FormLabel = React42.forwardRef((_a, ref) => {
5764
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5765
+ const { error, formItemId } = useFormField();
5766
+ return /* @__PURE__ */ jsx18(
5767
+ Label3,
5768
+ __spreadValues({
5769
+ ref,
5770
+ className: cn(error && "text-destructive", className),
5771
+ htmlFor: formItemId
5772
+ }, props)
5773
+ );
5774
+ });
5775
+ FormLabel.displayName = "FormLabel";
5776
+ var FormControl = React42.forwardRef((_a, ref) => {
5692
5777
  var props = __objRest(_a, []);
5693
5778
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
5694
- return /* @__PURE__ */ jsx19(
5779
+ return /* @__PURE__ */ jsx18(
5695
5780
  Slot3,
5696
5781
  __spreadValues({
5697
5782
  ref,
@@ -5702,48 +5787,209 @@ var FormControl = React43.forwardRef((_a, ref) => {
5702
5787
  );
5703
5788
  });
5704
5789
  FormControl.displayName = "FormControl";
5705
- var FormDescription = React43.forwardRef((_a, ref) => {
5790
+ var FormDescription = React42.forwardRef((_a, ref) => {
5706
5791
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5707
5792
  const { formDescriptionId } = useFormField();
5708
- return /* @__PURE__ */ jsx19(
5793
+ return /* @__PURE__ */ jsx18(
5709
5794
  "p",
5710
5795
  __spreadValues({
5711
5796
  ref,
5712
5797
  id: formDescriptionId,
5713
- className: cn("text-[0.8rem] text-muted-foreground", className)
5798
+ className: cn("text-muted-foreground text-[0.8rem]", className)
5714
5799
  }, props)
5715
5800
  );
5716
5801
  });
5717
5802
  FormDescription.displayName = "FormDescription";
5718
- var FormMessage = React43.forwardRef((_a, ref) => {
5803
+ var FormMessage = React42.forwardRef((_a, ref) => {
5719
5804
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
5720
5805
  const { error, formMessageId } = useFormField();
5721
- const body = error ? String(error == null ? void 0 : error.message) : children;
5722
- if (!body) {
5723
- return null;
5724
- }
5725
- return /* @__PURE__ */ jsx19(
5806
+ const body = error ? error == null ? void 0 : error.message : children;
5807
+ if (!body) return null;
5808
+ return /* @__PURE__ */ jsx18(
5726
5809
  "p",
5727
5810
  __spreadProps(__spreadValues({
5728
5811
  ref,
5729
5812
  id: formMessageId,
5730
- className: cn("text-[0.8rem] font-medium text-destructive", className)
5813
+ className: cn("text-destructive text-[0.8rem] font-medium", className)
5731
5814
  }, props), {
5732
5815
  children: body
5733
5816
  })
5734
5817
  );
5735
5818
  });
5736
5819
  FormMessage.displayName = "FormMessage";
5820
+ var FormSelect = ({
5821
+ name,
5822
+ control,
5823
+ rules,
5824
+ shouldUnregister,
5825
+ defaultValue,
5826
+ placeholder,
5827
+ label,
5828
+ requiredLabel,
5829
+ className,
5830
+ contentClassName,
5831
+ labelClassName,
5832
+ messageClassName,
5833
+ requiredLabelClassName,
5834
+ items,
5835
+ children,
5836
+ onChange,
5837
+ disabled,
5838
+ size = "md",
5839
+ variant = "outline",
5840
+ invalid,
5841
+ searchable = false,
5842
+ searchPlaceholder = "Buscar\u2026"
5843
+ }) => {
5844
+ var _a;
5845
+ const {
5846
+ formState: { errors }
5847
+ } = useFormContext();
5848
+ const triggerBase = "relative inline-flex w-full items-center justify-between outline-none transition disabled:opacity-50 disabled:cursor-not-allowed text-foreground placeholder:text-muted-foreground ring-offset-background";
5849
+ const sizeTrigger = {
5850
+ sm: "h-9 px-3 text-sm",
5851
+ md: "h-11 px-4 text-sm",
5852
+ lg: "h-12 px-5 text-base"
5853
+ };
5854
+ const errorCls = invalid ? "ring-destructive focus:ring-destructive/40 border-destructive" : "";
5855
+ const specialFlushed = variant === "flushed" ? size === "sm" ? "h-9 text-sm" : size === "lg" ? "h-12 text-base" : "h-11 text-sm" : "";
5856
+ const specialLink = variant === "link" ? "text-sm" : "";
5857
+ const contentBase = "bg-popover text-popover-foreground border border-border rounded-md shadow-md";
5858
+ const itemSize = {
5859
+ sm: "h-8 text-sm",
5860
+ md: "h-9 text-sm",
5861
+ lg: "h-10 text-base"
5862
+ };
5863
+ const fieldError = (_a = errors[name]) == null ? void 0 : _a.message;
5864
+ const [query, setQuery] = React42.useState("");
5865
+ const getOptionText = React42.useCallback((opt) => {
5866
+ var _a2;
5867
+ if (typeof opt.label === "string") return opt.label.toLowerCase();
5868
+ const extra = typeof ((_a2 = opt == null ? void 0 : opt.data) == null ? void 0 : _a2.search) === "string" ? opt.data.search.toLowerCase() : "";
5869
+ return `${opt.value}${extra}`.toLowerCase();
5870
+ }, []);
5871
+ const searchRef = React42.useRef(null);
5872
+ const filteredItems = React42.useMemo(() => {
5873
+ if (!items) return items;
5874
+ if (!searchable || !query.trim()) return items;
5875
+ const q = query.trim().toLowerCase();
5876
+ return items.filter((opt) => getOptionText(opt).includes(q));
5877
+ }, [items, searchable, query, getOptionText]);
5878
+ return /* @__PURE__ */ jsx18(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx18(
5879
+ Controller,
5880
+ {
5881
+ control,
5882
+ name,
5883
+ rules,
5884
+ shouldUnregister,
5885
+ defaultValue,
5886
+ render: ({ field }) => {
5887
+ var _a2, _b, _c;
5888
+ return /* @__PURE__ */ jsxs11(FormItem, { children: [
5889
+ label && /* @__PURE__ */ jsxs11(
5890
+ FormLabel,
5891
+ {
5892
+ className: cn("flex items-center gap-0", labelClassName),
5893
+ children: [
5894
+ label,
5895
+ requiredLabel && /* @__PURE__ */ jsx18(
5896
+ Asterisk,
5897
+ {
5898
+ className: cn(
5899
+ "ml-[4px] h-3 w-3 text-red-500",
5900
+ requiredLabelClassName
5901
+ )
5902
+ }
5903
+ )
5904
+ ]
5905
+ }
5906
+ ),
5907
+ /* @__PURE__ */ jsxs11(
5908
+ Select2,
5909
+ {
5910
+ value: (_a2 = field.value) != null ? _a2 : "",
5911
+ onValueChange: (v) => {
5912
+ field.onChange(v);
5913
+ onChange == null ? void 0 : onChange(v);
5914
+ },
5915
+ disabled,
5916
+ children: [
5917
+ /* @__PURE__ */ jsx18(FormControl, { children: /* @__PURE__ */ jsx18(
5918
+ SelectTrigger,
5919
+ {
5920
+ className: cn(
5921
+ triggerBase,
5922
+ variants[variant],
5923
+ variant === "flushed" ? specialFlushed : variant === "link" ? specialLink : sizeTrigger[size],
5924
+ errorCls,
5925
+ className
5926
+ ),
5927
+ children: /* @__PURE__ */ jsx18(SelectValue, { placeholder })
5928
+ }
5929
+ ) }),
5930
+ /* @__PURE__ */ jsxs11(
5931
+ SelectContent,
5932
+ {
5933
+ className: cn(contentBase, contentClassName),
5934
+ onCloseAutoFocus: (e) => {
5935
+ e.preventDefault();
5936
+ requestAnimationFrame(() => {
5937
+ var _a3;
5938
+ return (_a3 = searchRef.current) == null ? void 0 : _a3.focus();
5939
+ });
5940
+ },
5941
+ children: [
5942
+ searchable && ((_b = items == null ? void 0 : items.length) != null ? _b : 0) > 0 && /* @__PURE__ */ jsx18("div", { className: "border-border bg-popover sticky top-0 border-b p-2", children: /* @__PURE__ */ jsx18(
5943
+ "input",
5944
+ {
5945
+ ref: searchRef,
5946
+ autoFocus: true,
5947
+ value: query,
5948
+ onChange: (e) => setQuery(e.target.value),
5949
+ placeholder: searchPlaceholder,
5950
+ className: cn(
5951
+ "border-input bg-input focus:ring-primary/20 w-full rounded-md border px-3 py-2 text-sm outline-none focus:ring-2"
5952
+ ),
5953
+ onKeyDown: (e) => {
5954
+ if (e.key !== "Escape") e.stopPropagation();
5955
+ },
5956
+ onPointerDown: (e) => e.stopPropagation(),
5957
+ onClick: (e) => e.stopPropagation()
5958
+ }
5959
+ ) }),
5960
+ children && !searchable ? children : (_c = filteredItems != null ? filteredItems : items) == null ? void 0 : _c.map((opt) => /* @__PURE__ */ jsx18(
5961
+ SelectItem,
5962
+ {
5963
+ value: opt.value,
5964
+ disabled: opt.disabled,
5965
+ className: cn(itemSize[size]),
5966
+ children: opt.label
5967
+ },
5968
+ opt.value
5969
+ ))
5970
+ ]
5971
+ }
5972
+ )
5973
+ ]
5974
+ }
5975
+ ),
5976
+ fieldError && /* @__PURE__ */ jsx18(FormMessage, { className: messageClassName, children: fieldError })
5977
+ ] });
5978
+ }
5979
+ }
5980
+ ) });
5981
+ };
5982
+ FormSelect.displayName = "FormSelect";
5737
5983
 
5738
5984
  // src/components/hover-card.tsx
5739
5985
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
5740
- import * as React44 from "react";
5741
- import { jsx as jsx20 } from "react/jsx-runtime";
5986
+ import * as React43 from "react";
5987
+ import { jsx as jsx19 } from "react/jsx-runtime";
5742
5988
  var HoverCard = HoverCardPrimitive.Root;
5743
5989
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
5744
- var HoverCardContent = React44.forwardRef((_a, ref) => {
5990
+ var HoverCardContent = React43.forwardRef((_a, ref) => {
5745
5991
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
5746
- return /* @__PURE__ */ jsx20(
5992
+ return /* @__PURE__ */ jsx19(
5747
5993
  HoverCardPrimitive.Content,
5748
5994
  __spreadValues({
5749
5995
  ref,
@@ -5822,11 +6068,11 @@ var Icons = IconsApp;
5822
6068
  // src/components/input-otp.tsx
5823
6069
  import { DashIcon } from "@radix-ui/react-icons";
5824
6070
  import { OTPInput, OTPInputContext } from "input-otp";
5825
- import * as React45 from "react";
5826
- import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
5827
- var InputOTP = React45.forwardRef((_a, ref) => {
6071
+ import * as React44 from "react";
6072
+ import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
6073
+ var InputOTP = React44.forwardRef((_a, ref) => {
5828
6074
  var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
5829
- return /* @__PURE__ */ jsx21(
6075
+ return /* @__PURE__ */ jsx20(
5830
6076
  OTPInput,
5831
6077
  __spreadValues({
5832
6078
  ref,
@@ -5839,16 +6085,16 @@ var InputOTP = React45.forwardRef((_a, ref) => {
5839
6085
  );
5840
6086
  });
5841
6087
  InputOTP.displayName = "InputOTP";
5842
- var InputOTPGroup = React45.forwardRef((_a, ref) => {
6088
+ var InputOTPGroup = React44.forwardRef((_a, ref) => {
5843
6089
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5844
- return /* @__PURE__ */ jsx21("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
6090
+ return /* @__PURE__ */ jsx20("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
5845
6091
  });
5846
6092
  InputOTPGroup.displayName = "InputOTPGroup";
5847
- var InputOTPSlot = React45.forwardRef((_a, ref) => {
6093
+ var InputOTPSlot = React44.forwardRef((_a, ref) => {
5848
6094
  var _b = _a, { index, className } = _b, props = __objRest(_b, ["index", "className"]);
5849
- const inputOTPContext = React45.useContext(OTPInputContext);
6095
+ const inputOTPContext = React44.useContext(OTPInputContext);
5850
6096
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
5851
- return /* @__PURE__ */ jsxs11(
6097
+ return /* @__PURE__ */ jsxs12(
5852
6098
  "div",
5853
6099
  __spreadProps(__spreadValues({
5854
6100
  ref,
@@ -5860,18 +6106,38 @@ var InputOTPSlot = React45.forwardRef((_a, ref) => {
5860
6106
  }, props), {
5861
6107
  children: [
5862
6108
  char,
5863
- hasFakeCaret && /* @__PURE__ */ jsx21("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx21("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
6109
+ hasFakeCaret && /* @__PURE__ */ jsx20("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx20("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
5864
6110
  ]
5865
6111
  })
5866
6112
  );
5867
6113
  });
5868
6114
  InputOTPSlot.displayName = "InputOTPSlot";
5869
- var InputOTPSeparator = React45.forwardRef((_a, ref) => {
6115
+ var InputOTPSeparator = React44.forwardRef((_a, ref) => {
5870
6116
  var props = __objRest(_a, []);
5871
- return /* @__PURE__ */ jsx21("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx21(DashIcon, {}) }));
6117
+ return /* @__PURE__ */ jsx20("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx20(DashIcon, {}) }));
5872
6118
  });
5873
6119
  InputOTPSeparator.displayName = "InputOTPSeparator";
5874
6120
 
6121
+ // src/components/Label/label.tsx
6122
+ import * as LabelPrimitive from "@radix-ui/react-label";
6123
+ import { cva as cva4 } from "class-variance-authority";
6124
+ import * as React45 from "react";
6125
+ import { jsx as jsx21 } from "react/jsx-runtime";
6126
+ var labelVariants = cva4(
6127
+ "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-label"
6128
+ );
6129
+ var Label3 = React45.forwardRef((_a, ref) => {
6130
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6131
+ return /* @__PURE__ */ jsx21(
6132
+ LabelPrimitive.Root,
6133
+ __spreadValues({
6134
+ ref,
6135
+ className: cn(labelVariants(), className)
6136
+ }, props)
6137
+ );
6138
+ });
6139
+ Label3.displayName = LabelPrimitive.Root.displayName;
6140
+
5875
6141
  // src/components/menubar.tsx
5876
6142
  import {
5877
6143
  CheckIcon as CheckIcon4,
@@ -5880,7 +6146,7 @@ import {
5880
6146
  } from "@radix-ui/react-icons";
5881
6147
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
5882
6148
  import * as React46 from "react";
5883
- import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
6149
+ import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
5884
6150
  var MenubarMenu = MenubarPrimitive.Menu;
5885
6151
  var MenubarGroup = MenubarPrimitive.Group;
5886
6152
  var MenubarPortal = MenubarPrimitive.Portal;
@@ -5916,7 +6182,7 @@ var MenubarTrigger = React46.forwardRef((_a, ref) => {
5916
6182
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
5917
6183
  var MenubarSubTrigger = React46.forwardRef((_a, ref) => {
5918
6184
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
5919
- return /* @__PURE__ */ jsxs12(
6185
+ return /* @__PURE__ */ jsxs13(
5920
6186
  MenubarPrimitive.SubTrigger,
5921
6187
  __spreadProps(__spreadValues({
5922
6188
  ref,
@@ -5984,7 +6250,7 @@ var MenubarItem = React46.forwardRef((_a, ref) => {
5984
6250
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
5985
6251
  var MenubarCheckboxItem = React46.forwardRef((_a, ref) => {
5986
6252
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
5987
- return /* @__PURE__ */ jsxs12(
6253
+ return /* @__PURE__ */ jsxs13(
5988
6254
  MenubarPrimitive.CheckboxItem,
5989
6255
  __spreadProps(__spreadValues({
5990
6256
  ref,
@@ -6004,7 +6270,7 @@ var MenubarCheckboxItem = React46.forwardRef((_a, ref) => {
6004
6270
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
6005
6271
  var MenubarRadioItem = React46.forwardRef((_a, ref) => {
6006
6272
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6007
- return /* @__PURE__ */ jsxs12(
6273
+ return /* @__PURE__ */ jsxs13(
6008
6274
  MenubarPrimitive.RadioItem,
6009
6275
  __spreadProps(__spreadValues({
6010
6276
  ref,
@@ -6066,7 +6332,7 @@ var MenubarShortcut = (_a) => {
6066
6332
  MenubarShortcut.displayname = "MenubarShortcut";
6067
6333
 
6068
6334
  // src/components/modal.tsx
6069
- import { jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
6335
+ import { jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
6070
6336
  var Modal = ({
6071
6337
  title,
6072
6338
  description,
@@ -6080,8 +6346,8 @@ var Modal = ({
6080
6346
  onClose();
6081
6347
  }
6082
6348
  };
6083
- return /* @__PURE__ */ jsx23(Dialog, { open: isOpen, onOpenChange: onChange, children: /* @__PURE__ */ jsxs13(DialogContent, { className, children: [
6084
- /* @__PURE__ */ jsxs13(DialogHeader, { children: [
6349
+ return /* @__PURE__ */ jsx23(Dialog, { open: isOpen, onOpenChange: onChange, children: /* @__PURE__ */ jsxs14(DialogContent, { className, children: [
6350
+ /* @__PURE__ */ jsxs14(DialogHeader, { children: [
6085
6351
  /* @__PURE__ */ jsx23(DialogTitle, { children: title }),
6086
6352
  /* @__PURE__ */ jsx23(DialogDescription, { children: description })
6087
6353
  ] }),
@@ -6094,10 +6360,10 @@ import { ChevronDownIcon as ChevronDownIcon2 } from "@radix-ui/react-icons";
6094
6360
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
6095
6361
  import { cva as cva5 } from "class-variance-authority";
6096
6362
  import * as React47 from "react";
6097
- import { jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
6363
+ import { jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
6098
6364
  var NavigationMenu = React47.forwardRef((_a, ref) => {
6099
6365
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6100
- return /* @__PURE__ */ jsxs14(
6366
+ return /* @__PURE__ */ jsxs15(
6101
6367
  NavigationMenuPrimitive.Root,
6102
6368
  __spreadProps(__spreadValues({
6103
6369
  ref,
@@ -6134,7 +6400,7 @@ var navigationMenuTriggerStyle = cva5(
6134
6400
  );
6135
6401
  var NavigationMenuTrigger = React47.forwardRef((_a, ref) => {
6136
6402
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6137
- return /* @__PURE__ */ jsxs14(
6403
+ return /* @__PURE__ */ jsxs15(
6138
6404
  NavigationMenuPrimitive.Trigger,
6139
6405
  __spreadProps(__spreadValues({
6140
6406
  ref,
@@ -6209,7 +6475,7 @@ import {
6209
6475
  } from "@radix-ui/react-icons";
6210
6476
  import * as React48 from "react";
6211
6477
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight2 } from "lucide-react";
6212
- import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
6478
+ import { jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
6213
6479
  var Pagination = (_a) => {
6214
6480
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6215
6481
  return /* @__PURE__ */ jsx25(
@@ -6269,7 +6535,7 @@ var PaginationPreviousLast = (_a) => {
6269
6535
  } = _b, props = __objRest(_b, [
6270
6536
  "className"
6271
6537
  ]);
6272
- return /* @__PURE__ */ jsxs15(
6538
+ return /* @__PURE__ */ jsxs16(
6273
6539
  PaginationLink,
6274
6540
  __spreadProps(__spreadValues({
6275
6541
  "aria-label": "Go to previous page",
@@ -6290,7 +6556,7 @@ var PaginationPrevious = (_a) => {
6290
6556
  } = _b, props = __objRest(_b, [
6291
6557
  "className"
6292
6558
  ]);
6293
- return /* @__PURE__ */ jsxs15(
6559
+ return /* @__PURE__ */ jsxs16(
6294
6560
  PaginationLink,
6295
6561
  __spreadProps(__spreadValues({
6296
6562
  "aria-label": "Go to previous page",
@@ -6311,7 +6577,7 @@ var PaginationNext = (_a) => {
6311
6577
  } = _b, props = __objRest(_b, [
6312
6578
  "className"
6313
6579
  ]);
6314
- return /* @__PURE__ */ jsxs15(
6580
+ return /* @__PURE__ */ jsxs16(
6315
6581
  PaginationLink,
6316
6582
  __spreadProps(__spreadValues({
6317
6583
  "aria-label": "Go to next page",
@@ -6332,7 +6598,7 @@ var PaginationNextLast = (_a) => {
6332
6598
  } = _b, props = __objRest(_b, [
6333
6599
  "className"
6334
6600
  ]);
6335
- return /* @__PURE__ */ jsxs15(
6601
+ return /* @__PURE__ */ jsxs16(
6336
6602
  PaginationLink,
6337
6603
  __spreadProps(__spreadValues({
6338
6604
  "aria-label": "Go to next page",
@@ -6353,7 +6619,7 @@ var PaginationEllipsis = (_a) => {
6353
6619
  } = _b, props = __objRest(_b, [
6354
6620
  "className"
6355
6621
  ]);
6356
- return /* @__PURE__ */ jsxs15(
6622
+ return /* @__PURE__ */ jsxs16(
6357
6623
  "span",
6358
6624
  __spreadProps(__spreadValues({
6359
6625
  "aria-hidden": true,
@@ -6498,10 +6764,10 @@ var ResizableHandle = (_a) => {
6498
6764
  // src/components/scroll-area.tsx
6499
6765
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
6500
6766
  import * as React52 from "react";
6501
- import { jsx as jsx30, jsxs as jsxs16 } from "react/jsx-runtime";
6767
+ import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
6502
6768
  var ScrollArea = React52.forwardRef((_a, ref) => {
6503
6769
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6504
- return /* @__PURE__ */ jsxs16(
6770
+ return /* @__PURE__ */ jsxs17(
6505
6771
  ScrollAreaPrimitive.Root,
6506
6772
  __spreadProps(__spreadValues({
6507
6773
  ref,
@@ -6580,13 +6846,13 @@ import {
6580
6846
  } from "@radix-ui/react-icons";
6581
6847
  import * as SelectPrimitive from "@radix-ui/react-select";
6582
6848
  import * as React54 from "react";
6583
- import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
6849
+ import { jsx as jsx32, jsxs as jsxs18 } from "react/jsx-runtime";
6584
6850
  var Select2 = SelectPrimitive.Root;
6585
6851
  var SelectGroup = SelectPrimitive.Group;
6586
6852
  var SelectValue = SelectPrimitive.Value;
6587
6853
  var SelectTrigger = React54.forwardRef((_a, ref) => {
6588
6854
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6589
- return /* @__PURE__ */ jsxs17(
6855
+ return /* @__PURE__ */ jsxs18(
6590
6856
  SelectPrimitive.Trigger,
6591
6857
  __spreadProps(__spreadValues({
6592
6858
  ref,
@@ -6637,7 +6903,7 @@ var SelectScrollDownButton = React54.forwardRef((_a, ref) => {
6637
6903
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
6638
6904
  var SelectContent = React54.forwardRef((_a, ref) => {
6639
6905
  var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
6640
- return /* @__PURE__ */ jsx32(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs17(
6906
+ return /* @__PURE__ */ jsx32(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs18(
6641
6907
  SelectPrimitive.Content,
6642
6908
  __spreadProps(__spreadValues({
6643
6909
  ref,
@@ -6679,7 +6945,7 @@ var SelectLabel = React54.forwardRef((_a, ref) => {
6679
6945
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
6680
6946
  var SelectItem = React54.forwardRef((_a, ref) => {
6681
6947
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6682
- return /* @__PURE__ */ jsxs17(
6948
+ return /* @__PURE__ */ jsxs18(
6683
6949
  SelectPrimitive.Item,
6684
6950
  __spreadProps(__spreadValues({
6685
6951
  ref,
@@ -6737,7 +7003,7 @@ import * as SheetPrimitive from "@radix-ui/react-dialog";
6737
7003
  import { Cross2Icon as Cross2Icon2 } from "@radix-ui/react-icons";
6738
7004
  import { cva as cva6 } from "class-variance-authority";
6739
7005
  import * as React56 from "react";
6740
- import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
7006
+ import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
6741
7007
  var Sheet = SheetPrimitive.Root;
6742
7008
  var SheetTrigger = SheetPrimitive.Trigger;
6743
7009
  var SheetClose = SheetPrimitive.Close;
@@ -6775,9 +7041,9 @@ var sheetVariants = cva6(
6775
7041
  );
6776
7042
  var SheetContent = React56.forwardRef((_a, ref) => {
6777
7043
  var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
6778
- return /* @__PURE__ */ jsxs18(SheetPortal, { children: [
7044
+ return /* @__PURE__ */ jsxs19(SheetPortal, { children: [
6779
7045
  /* @__PURE__ */ jsx34(SheetOverlay, {}),
6780
- /* @__PURE__ */ jsxs18(
7046
+ /* @__PURE__ */ jsxs19(
6781
7047
  SheetPrimitive.Content,
6782
7048
  __spreadProps(__spreadValues({
6783
7049
  ref,
@@ -6785,7 +7051,7 @@ var SheetContent = React56.forwardRef((_a, ref) => {
6785
7051
  }, props), {
6786
7052
  children: [
6787
7053
  children,
6788
- /* @__PURE__ */ jsxs18(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
7054
+ /* @__PURE__ */ jsxs19(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
6789
7055
  /* @__PURE__ */ jsx34(Cross2Icon2, { className: "h-4 w-4" }),
6790
7056
  /* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Close" })
6791
7057
  ] })
@@ -6871,10 +7137,10 @@ function Skeleton(_a) {
6871
7137
  // src/components/slider.tsx
6872
7138
  import * as SliderPrimitive from "@radix-ui/react-slider";
6873
7139
  import * as React57 from "react";
6874
- import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
7140
+ import { jsx as jsx36, jsxs as jsxs20 } from "react/jsx-runtime";
6875
7141
  var Slider = React57.forwardRef((_a, ref) => {
6876
7142
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6877
- return /* @__PURE__ */ jsxs19(
7143
+ return /* @__PURE__ */ jsxs20(
6878
7144
  SliderPrimitive.Root,
6879
7145
  __spreadProps(__spreadValues({
6880
7146
  ref,
@@ -7425,7 +7691,7 @@ function useToast() {
7425
7691
  }
7426
7692
 
7427
7693
  // src/shared/alert-modal.tsx
7428
- import { jsx as jsx46, jsxs as jsxs20 } from "react/jsx-runtime";
7694
+ import { jsx as jsx46, jsxs as jsxs21 } from "react/jsx-runtime";
7429
7695
  var AlertModal = ({
7430
7696
  isOpen,
7431
7697
  onClose,
@@ -7446,7 +7712,7 @@ var AlertModal = ({
7446
7712
  isOpen,
7447
7713
  onClose,
7448
7714
  className,
7449
- children: children ? children : /* @__PURE__ */ jsxs20("div", { className: "flex w-full items-center justify-end space-x-2 pt-6", children: [
7715
+ children: children ? children : /* @__PURE__ */ jsxs21("div", { className: "flex w-full items-center justify-end space-x-2 pt-6", children: [
7450
7716
  /* @__PURE__ */ jsx46(Button, { disabled: loading, variant: "outline", onClick: onClose, children: cancelText }),
7451
7717
  /* @__PURE__ */ jsx46(
7452
7718
  Button,
@@ -7466,9 +7732,9 @@ var AlertModal = ({
7466
7732
  // src/shared/breadcrumbs.tsx
7467
7733
  import { Slash } from "lucide-react";
7468
7734
  import { Fragment } from "react";
7469
- import { jsx as jsx47, jsxs as jsxs21 } from "react/jsx-runtime";
7735
+ import { jsx as jsx47, jsxs as jsxs22 } from "react/jsx-runtime";
7470
7736
  function Breadcrumbs({ items, className, classNameList }) {
7471
- return /* @__PURE__ */ jsx47(Breadcrumb, { className, children: /* @__PURE__ */ jsx47(BreadcrumbList, { className: classNameList, children: items.map((item, index) => /* @__PURE__ */ jsxs21(Fragment, { children: [
7737
+ return /* @__PURE__ */ jsx47(Breadcrumb, { className, children: /* @__PURE__ */ jsx47(BreadcrumbList, { className: classNameList, children: items.map((item, index) => /* @__PURE__ */ jsxs22(Fragment, { children: [
7472
7738
  index !== items.length - 1 && /* @__PURE__ */ jsx47(BreadcrumbItem, { className: item.className, children: /* @__PURE__ */ jsx47(BreadcrumbLink, { href: item.link, children: item.title }) }),
7473
7739
  index < items.length - 1 && /* @__PURE__ */ jsx47(BreadcrumbSeparator, { children: /* @__PURE__ */ jsx47(Slash, {}) }),
7474
7740
  index === items.length - 1 && /* @__PURE__ */ jsx47(BreadcrumbPage, { children: item.title })
@@ -7489,7 +7755,7 @@ import {
7489
7755
  useReactTable
7490
7756
  } from "@tanstack/react-table";
7491
7757
  import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon6 } from "lucide-react";
7492
- import { Fragment as Fragment2, jsx as jsx48, jsxs as jsxs22 } from "react/jsx-runtime";
7758
+ import { Fragment as Fragment2, jsx as jsx48, jsxs as jsxs23 } from "react/jsx-runtime";
7493
7759
  function DataTable({
7494
7760
  columns,
7495
7761
  data,
@@ -7540,14 +7806,14 @@ function DataTable({
7540
7806
  onPageChange(pagination.pageIndex + 1);
7541
7807
  }
7542
7808
  }, [pagination]);
7543
- return /* @__PURE__ */ jsxs22(Fragment2, { children: [
7544
- /* @__PURE__ */ jsxs22("div", { className: "rounded-md border", children: [
7545
- /* @__PURE__ */ jsx48(Table, { className: cn("relative", tableClassName), children: /* @__PURE__ */ jsx48(TableHeader, { className: headerClassName, children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx48(TableRow, { className: rowClassName, children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx48(TableHead, { className: headerClassName, children: header.isPlaceholder ? null : flexRender(
7546
- header.column.columnDef.header,
7547
- header.getContext()
7548
- ) }, header.id)) }, headerGroup.id)) }) }),
7549
- /* @__PURE__ */ jsxs22(ScrollArea, { className: "h-[calc(80vh-220px)] md:h-[calc(80dvh-80px)]", children: [
7550
- /* @__PURE__ */ jsx48(Table, { className: cn("relative", tableClassName), children: /* @__PURE__ */ jsx48(TableBody, { className: bodyClassName, children: table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx48(
7809
+ return /* @__PURE__ */ jsxs23(Fragment2, { children: [
7810
+ /* @__PURE__ */ jsx48("div", { className: cn("rounded-md border", className), children: /* @__PURE__ */ jsxs23(ScrollArea, { className: "h-[calc(80vh-220px)] md:h-[calc(80dvh-80px)]", children: [
7811
+ /* @__PURE__ */ jsxs23(Table, { className: cn("relative", tableClassName), children: [
7812
+ /* @__PURE__ */ jsx48(TableHeader, { className: headerClassName, children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx48(TableRow, { className: rowClassName, children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx48(TableHead, { className: headerClassName, children: header.isPlaceholder ? null : flexRender(
7813
+ header.column.columnDef.header,
7814
+ header.getContext()
7815
+ ) }, header.id)) }, headerGroup.id)) }),
7816
+ /* @__PURE__ */ jsx48(TableBody, { className: bodyClassName, children: table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx48(
7551
7817
  TableRow,
7552
7818
  {
7553
7819
  "data-state": row.getIsSelected() ? "selected" : void 0,
@@ -7566,51 +7832,13 @@ function DataTable({
7566
7832
  className: "h-24 text-center",
7567
7833
  children: "No results."
7568
7834
  }
7569
- ) }) }) }),
7570
- /* @__PURE__ */ jsx48(ScrollBar, { orientation: "horizontal" })
7571
- ] })
7572
- ] }),
7573
- /* @__PURE__ */ jsxs22(
7574
- ScrollArea,
7575
- {
7576
- className: cn(
7577
- "h-[calc(80vh-220px)] rounded-md border md:h-[calc(80dvh-80px)]",
7578
- className
7579
- ),
7580
- children: [
7581
- /* @__PURE__ */ jsxs22(Table, { className: cn("relative", tableClassName), children: [
7582
- /* @__PURE__ */ jsx48(TableHeader, { className: headerClassName, children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx48(TableRow, { className: rowClassName, children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx48(TableHead, { className: headerClassName, children: header.isPlaceholder ? null : flexRender(
7583
- header.column.columnDef.header,
7584
- header.getContext()
7585
- ) }, header.id)) }, headerGroup.id)) }),
7586
- /* @__PURE__ */ jsx48(TableBody, { className: bodyClassName, children: table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx48(
7587
- TableRow,
7588
- {
7589
- "data-state": row.getIsSelected() ? "selected" : void 0,
7590
- onClick: () => onClickItem(row.original),
7591
- className: rowClassName,
7592
- children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx48(TableCell, { className: cellClassName, children: flexRender(
7593
- cell.column.columnDef.cell,
7594
- cell.getContext()
7595
- ) }, cell.id))
7596
- },
7597
- row.id
7598
- )) : emptyData || /* @__PURE__ */ jsx48(TableRow, { children: /* @__PURE__ */ jsx48(
7599
- TableCell,
7600
- {
7601
- colSpan: columns.length,
7602
- className: "h-24 text-center",
7603
- children: "No results."
7604
- }
7605
- ) }) })
7606
- ] }),
7607
- /* @__PURE__ */ jsx48(ScrollBar, { orientation: "horizontal" })
7608
- ]
7609
- }
7610
- ),
7611
- /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center justify-end gap-2 space-x-2 py-4 sm:flex-row", children: [
7612
- /* @__PURE__ */ jsxs22("div", { className: "flex w-full items-center justify-between", children: [
7613
- isRowsSelected ? /* @__PURE__ */ jsxs22("div", { className: "text-muted-foreground flex-1 text-sm", children: [
7835
+ ) }) })
7836
+ ] }),
7837
+ /* @__PURE__ */ jsx48(ScrollBar, { orientation: "horizontal" })
7838
+ ] }) }),
7839
+ /* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-center justify-end gap-2 space-x-2 py-4 sm:flex-row", children: [
7840
+ /* @__PURE__ */ jsxs23("div", { className: "flex w-full items-center justify-between", children: [
7841
+ isRowsSelected ? /* @__PURE__ */ jsxs23("div", { className: "text-muted-foreground flex-1 text-sm", children: [
7614
7842
  table.getFilteredSelectedRowModel().rows.length,
7615
7843
  " ",
7616
7844
  ofLabel,
@@ -7618,14 +7846,14 @@ function DataTable({
7618
7846
  table.getFilteredRowModel().rows.length,
7619
7847
  " " + rowsSelectedLabel
7620
7848
  ] }) : null,
7621
- totalRows ? /* @__PURE__ */ jsxs22("div", { className: "text-sm text-muted-foreground", children: [
7849
+ totalRows ? /* @__PURE__ */ jsxs23("div", { className: "text-sm text-muted-foreground", children: [
7622
7850
  "Total: ",
7623
7851
  totalRows,
7624
7852
  " registros"
7625
7853
  ] }) : null,
7626
- /* @__PURE__ */ jsxs22("div", { className: "flex items-center space-x-2", children: [
7854
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center space-x-2", children: [
7627
7855
  /* @__PURE__ */ jsx48("p", { className: "text-sm font-medium whitespace-nowrap", children: rowPerPageLabel }),
7628
- /* @__PURE__ */ jsxs22(
7856
+ /* @__PURE__ */ jsxs23(
7629
7857
  Select2,
7630
7858
  {
7631
7859
  value: `${pagination.pageSize}`,
@@ -7645,8 +7873,8 @@ function DataTable({
7645
7873
  )
7646
7874
  ] })
7647
7875
  ] }),
7648
- /* @__PURE__ */ jsxs22("div", { className: "flex w-full items-center justify-between gap-2 sm:justify-end", children: [
7649
- /* @__PURE__ */ jsxs22("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
7876
+ /* @__PURE__ */ jsxs23("div", { className: "flex w-full items-center justify-between gap-2 sm:justify-end", children: [
7877
+ /* @__PURE__ */ jsxs23("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
7650
7878
  pageLabel,
7651
7879
  " ",
7652
7880
  pagination.pageIndex + 1,
@@ -7655,7 +7883,7 @@ function DataTable({
7655
7883
  " ",
7656
7884
  pageCount
7657
7885
  ] }),
7658
- /* @__PURE__ */ jsxs22("div", { className: "flex items-center space-x-2", children: [
7886
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center space-x-2", children: [
7659
7887
  /* @__PURE__ */ jsx48(
7660
7888
  Button,
7661
7889
  {
@@ -7711,7 +7939,7 @@ function DataTable({
7711
7939
  }
7712
7940
 
7713
7941
  // src/shared/data-table-skeleton.tsx
7714
- import { jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
7942
+ import { jsx as jsx49, jsxs as jsxs24 } from "react/jsx-runtime";
7715
7943
  function DataTableSkeleton({
7716
7944
  columnCount,
7717
7945
  rowCount = 10,
@@ -7719,27 +7947,27 @@ function DataTableSkeleton({
7719
7947
  filterableColumnCount = 0,
7720
7948
  showViewOptions = true
7721
7949
  }) {
7722
- return /* @__PURE__ */ jsxs23("div", { className: "w-full space-y-3 overflow-auto", children: [
7723
- /* @__PURE__ */ jsxs23("div", { className: "flex w-full items-center justify-between space-x-2 overflow-auto p-1", children: [
7724
- /* @__PURE__ */ jsxs23("div", { className: "flex flex-1 items-center space-x-2 space-y-4", children: [
7950
+ return /* @__PURE__ */ jsxs24("div", { className: "w-full space-y-3 overflow-auto", children: [
7951
+ /* @__PURE__ */ jsxs24("div", { className: "flex w-full items-center justify-between space-x-2 overflow-auto p-1", children: [
7952
+ /* @__PURE__ */ jsxs24("div", { className: "flex flex-1 items-center space-x-2 space-y-4", children: [
7725
7953
  searchableColumnCount > 0 ? Array.from({ length: searchableColumnCount }).map((_, i) => /* @__PURE__ */ jsx49(Skeleton, { className: "h-10 w-[150px] lg:w-[250px]" }, i)) : null,
7726
7954
  filterableColumnCount > 0 ? Array.from({ length: filterableColumnCount }).map((_, i) => /* @__PURE__ */ jsx49(Skeleton, { className: "h-10 w-[70px] border-dashed" }, i)) : null
7727
7955
  ] }),
7728
7956
  showViewOptions ? /* @__PURE__ */ jsx49(Skeleton, { className: "ml-auto hidden h-7 w-[70px] lg:flex" }) : null
7729
7957
  ] }),
7730
- /* @__PURE__ */ jsx49("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxs23(Table, { children: [
7958
+ /* @__PURE__ */ jsx49("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxs24(Table, { children: [
7731
7959
  /* @__PURE__ */ jsx49(TableHeader, { children: Array.from({ length: 1 }).map((_, i) => /* @__PURE__ */ jsx49(TableRow, { className: "hover:bg-transparent", children: Array.from({ length: columnCount }).map((_2, i2) => /* @__PURE__ */ jsx49(TableHead, { children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-6 w-full" }) }, i2)) }, i)) }),
7732
7960
  /* @__PURE__ */ jsx49(TableBody, { children: Array.from({ length: rowCount }).map((_, i) => /* @__PURE__ */ jsx49(TableRow, { className: "hover:bg-transparent", children: Array.from({ length: columnCount }).map((_2, i2) => /* @__PURE__ */ jsx49(TableCell, { children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-6 w-full" }) }, i2)) }, i)) })
7733
7961
  ] }) }),
7734
- /* @__PURE__ */ jsxs23("div", { className: "flex w-full flex-col items-center justify-between gap-4 overflow-auto px-2 py-1 sm:flex-row sm:gap-8", children: [
7962
+ /* @__PURE__ */ jsxs24("div", { className: "flex w-full flex-col items-center justify-between gap-4 overflow-auto px-2 py-1 sm:flex-row sm:gap-8", children: [
7735
7963
  /* @__PURE__ */ jsx49("div", { className: "flex-1", children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-40" }) }),
7736
- /* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8", children: [
7737
- /* @__PURE__ */ jsxs23("div", { className: "flex items-center space-x-2", children: [
7964
+ /* @__PURE__ */ jsxs24("div", { className: "flex flex-col items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8", children: [
7965
+ /* @__PURE__ */ jsxs24("div", { className: "flex items-center space-x-2", children: [
7738
7966
  /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-24" }),
7739
7967
  /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-[70px]" })
7740
7968
  ] }),
7741
7969
  /* @__PURE__ */ jsx49("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-20" }) }),
7742
- /* @__PURE__ */ jsxs23("div", { className: "flex items-center space-x-2", children: [
7970
+ /* @__PURE__ */ jsxs24("div", { className: "flex items-center space-x-2", children: [
7743
7971
  /* @__PURE__ */ jsx49(Skeleton, { className: "hidden size-8 lg:block" }),
7744
7972
  /* @__PURE__ */ jsx49(Skeleton, { className: "size-8" }),
7745
7973
  /* @__PURE__ */ jsx49(Skeleton, { className: "size-8" }),
@@ -7753,9 +7981,9 @@ function DataTableSkeleton({
7753
7981
  // src/shared/fileupload.tsx
7754
7982
  import { AvatarIcon } from "@radix-ui/react-icons";
7755
7983
  import { CameraIcon } from "lucide-react";
7756
- import { useEffect as useEffect5, useState as useState5 } from "react";
7984
+ import { useEffect as useEffect5, useState as useState6 } from "react";
7757
7985
  import { useDropzone } from "react-dropzone";
7758
- import { jsx as jsx50, jsxs as jsxs24 } from "react/jsx-runtime";
7986
+ import { jsx as jsx50, jsxs as jsxs25 } from "react/jsx-runtime";
7759
7987
  function FileUpload({
7760
7988
  onChange,
7761
7989
  value,
@@ -7779,10 +8007,10 @@ function FileUpload({
7779
8007
  "relative h-36 w-36 overflow-hidden rounded-full bg-gray-200 shadow-2xl ",
7780
8008
  classNameContent
7781
8009
  ),
7782
- children: /* @__PURE__ */ jsxs24("div", __spreadProps(__spreadValues({}, getRootProps({ className: "dropzone cursor-pointer" })), { children: [
8010
+ children: /* @__PURE__ */ jsxs25("div", __spreadProps(__spreadValues({}, getRootProps({ className: "dropzone cursor-pointer" })), { children: [
7783
8011
  /* @__PURE__ */ jsx50("input", __spreadValues({}, getInputProps())),
7784
8012
  value && !!value.length ? /* @__PURE__ */ jsx50(ImagePreview, { file: value[0] }) : /* @__PURE__ */ jsx50(AvatarIcon, { className: "h-36 w-36 text-gray-100" }),
7785
- /* @__PURE__ */ jsxs24("p", { className: "absolute -bottom-5 left-1/2 flex w-full -translate-x-1/2 -translate-y-1/2 transform flex-col items-center justify-center bg-gray-300 bg-opacity-50 py-1 text-xs font-normal text-muted-foreground ", children: [
8013
+ /* @__PURE__ */ jsxs25("p", { className: "absolute -bottom-5 left-1/2 flex w-full -translate-x-1/2 -translate-y-1/2 transform flex-col items-center justify-center bg-gray-300 bg-opacity-50 py-1 text-xs font-normal text-muted-foreground ", children: [
7786
8014
  /* @__PURE__ */ jsx50(CameraIcon, { className: "h-4 w-4 text-muted-foreground" }),
7787
8015
  label
7788
8016
  ] })
@@ -7791,7 +8019,7 @@ function FileUpload({
7791
8019
  ) });
7792
8020
  }
7793
8021
  function ImagePreview({ file }) {
7794
- const [objectUrl, setObjectUrl] = useState5(null);
8022
+ const [objectUrl, setObjectUrl] = useState6(null);
7795
8023
  useEffect5(() => {
7796
8024
  const url = URL.createObjectURL(file);
7797
8025
  setObjectUrl(url);
@@ -7810,9 +8038,9 @@ function ImagePreview({ file }) {
7810
8038
  }
7811
8039
 
7812
8040
  // src/shared/heading.tsx
7813
- import { jsx as jsx51, jsxs as jsxs25 } from "react/jsx-runtime";
8041
+ import { jsx as jsx51, jsxs as jsxs26 } from "react/jsx-runtime";
7814
8042
  function Heading({ title, description, className }) {
7815
- return /* @__PURE__ */ jsxs25("div", { className, children: [
8043
+ return /* @__PURE__ */ jsxs26("div", { className, children: [
7816
8044
  /* @__PURE__ */ jsx51("div", { className: "text-lg font-bold tracking-tight text-primary sm:text-3xl", children: title }),
7817
8045
  /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground", children: description })
7818
8046
  ] });
@@ -7820,9 +8048,9 @@ function Heading({ title, description, className }) {
7820
8048
 
7821
8049
  // src/shared/page-head.tsx
7822
8050
  import { Helmet } from "react-helmet-next";
7823
- import { jsx as jsx52, jsxs as jsxs26 } from "react/jsx-runtime";
8051
+ import { jsx as jsx52, jsxs as jsxs27 } from "react/jsx-runtime";
7824
8052
  function PageHead({ title = "shadcn-ui-react" }) {
7825
- return /* @__PURE__ */ jsx52(Helmet, { children: /* @__PURE__ */ jsxs26("title", { children: [
8053
+ return /* @__PURE__ */ jsx52(Helmet, { children: /* @__PURE__ */ jsxs27("title", { children: [
7826
8054
  " ",
7827
8055
  title,
7828
8056
  " "
@@ -7830,7 +8058,7 @@ function PageHead({ title = "shadcn-ui-react" }) {
7830
8058
  }
7831
8059
 
7832
8060
  // src/shared/pagination-section.tsx
7833
- import { jsx as jsx53, jsxs as jsxs27 } from "react/jsx-runtime";
8061
+ import { jsx as jsx53, jsxs as jsxs28 } from "react/jsx-runtime";
7834
8062
  function PaginationSection({
7835
8063
  totalPosts,
7836
8064
  postsPerPage,
@@ -7900,8 +8128,8 @@ function PaginationSection({
7900
8128
  }
7901
8129
  return renderedPages;
7902
8130
  };
7903
- return /* @__PURE__ */ jsx53("div", { className: "p-4", children: /* @__PURE__ */ jsx53(Pagination, { children: /* @__PURE__ */ jsxs27(PaginationContent, { children: [
7904
- /* @__PURE__ */ jsxs27(PaginationItem, { children: [
8131
+ return /* @__PURE__ */ jsx53("div", { className: "p-4", children: /* @__PURE__ */ jsx53(Pagination, { children: /* @__PURE__ */ jsxs28(PaginationContent, { children: [
8132
+ /* @__PURE__ */ jsxs28(PaginationItem, { children: [
7905
8133
  /* @__PURE__ */ jsx53(
7906
8134
  PaginationPreviousLast,
7907
8135
  {
@@ -7912,7 +8140,7 @@ function PaginationSection({
7912
8140
  /* @__PURE__ */ jsx53(PaginationPrevious, { onClick: handlePrevPage, size: void 0 })
7913
8141
  ] }),
7914
8142
  renderPages(),
7915
- /* @__PURE__ */ jsxs27(PaginationItem, { children: [
8143
+ /* @__PURE__ */ jsxs28(PaginationItem, { children: [
7916
8144
  /* @__PURE__ */ jsx53(PaginationNext, { onClick: handleNextPage, size: void 0 }),
7917
8145
  /* @__PURE__ */ jsx53(PaginationNextLast, { onClick: handleNextPageLast, size: void 0 })
7918
8146
  ] })
@@ -7921,7 +8149,7 @@ function PaginationSection({
7921
8149
 
7922
8150
  // src/shared/dropzone.tsx
7923
8151
  import { useDropzone as useDropzone2 } from "react-dropzone";
7924
- import { jsx as jsx54, jsxs as jsxs28 } from "react/jsx-runtime";
8152
+ import { jsx as jsx54, jsxs as jsxs29 } from "react/jsx-runtime";
7925
8153
  function Dropzone({
7926
8154
  label,
7927
8155
  onChange,
@@ -7942,9 +8170,9 @@ function Dropzone({
7942
8170
  },
7943
8171
  accept
7944
8172
  }, options));
7945
- return /* @__PURE__ */ jsxs28("div", { className: cn("space-y-2", className), children: [
8173
+ return /* @__PURE__ */ jsxs29("div", { className: cn("space-y-2", className), children: [
7946
8174
  label && /* @__PURE__ */ jsx54("p", { className: cn("font-medium", labelClassName), children: label }),
7947
- /* @__PURE__ */ jsxs28(
8175
+ /* @__PURE__ */ jsxs29(
7948
8176
  "div",
7949
8177
  __spreadProps(__spreadValues({}, getRootProps()), {
7950
8178
  className: cn(
@@ -7958,7 +8186,7 @@ function Dropzone({
7958
8186
  ]
7959
8187
  })
7960
8188
  ),
7961
- value && value.length > 0 && /* @__PURE__ */ jsx54("ul", { className: cn("text-sm text-gray-700 space-y-1", valueClassName), children: value.map((file, idx) => /* @__PURE__ */ jsxs28("li", { children: [
8189
+ value && value.length > 0 && /* @__PURE__ */ jsx54("ul", { className: cn("text-sm text-gray-700 space-y-1", valueClassName), children: value.map((file, idx) => /* @__PURE__ */ jsxs29("li", { children: [
7962
8190
  "\u2022 ",
7963
8191
  file.name
7964
8192
  ] }, idx)) })
@@ -8073,6 +8301,7 @@ export {
8073
8301
  FormItem,
8074
8302
  FormLabel,
8075
8303
  FormMessage,
8304
+ FormSelect,
8076
8305
  Heading,
8077
8306
  HoverCard,
8078
8307
  HoverCardContent,
@@ -8189,10 +8418,12 @@ export {
8189
8418
  badgeVariants,
8190
8419
  buttonVariants,
8191
8420
  cn,
8421
+ inputVariants,
8192
8422
  navigationMenuTriggerStyle,
8193
8423
  reducer,
8194
8424
  toast,
8195
8425
  toggleVariants,
8196
8426
  useFormField,
8197
- useToast
8427
+ useToast,
8428
+ variants
8198
8429
  };