shadcn-zod-formkit 1.8.0 → 1.9.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.d.mts CHANGED
@@ -75,8 +75,8 @@ declare enum InputTypes {
75
75
  }
76
76
  declare const inputFieldComp: InputTypes[];
77
77
 
78
- interface FieldProps {
79
- name: string;
78
+ interface FieldProps<T = Record<string, any>> {
79
+ name: keyof T;
80
80
  label: string;
81
81
  repeaterFields?: Array<FieldProps | FieldProps[]>;
82
82
  minItems?: number;
@@ -182,14 +182,14 @@ declare const entitiesToGroupedOption: (data: any[], optionValue?: string) => Gr
182
182
 
183
183
  type alertPositionType = 'up' | 'down';
184
184
  interface FormResp<T> {
185
- form?: UseFormReturn;
185
+ form?: UseFormReturn<any>;
186
186
  data: T;
187
187
  }
188
188
  interface Props$4<T extends Record<string, any>> {
189
189
  formTitle: string;
190
190
  formSubTitle?: string;
191
191
  readOnly?: boolean;
192
- fields: Array<FieldProps | FieldProps[]>;
192
+ fields: Array<FieldProps<T> | FieldProps<T>[]>;
193
193
  record?: Partial<T>;
194
194
  onSubmit?: (resp: FormResp<T>) => void;
195
195
  extraValidations?: ((schema: ZodObject<any>) => ZodObject<any>)[];
@@ -204,17 +204,18 @@ declare const DynamicForm: <T extends Record<string, any>>({ formTitle, formSubT
204
204
  declare const DynamicFormExample: () => react_jsx_runtime.JSX.Element;
205
205
  declare const mockFields: Array<FieldProps | FieldProps[]>;
206
206
 
207
- interface Props$3<T extends FieldValues> {
208
- formState: FormState<T>;
209
- fields: Array<FieldProps | FieldProps[]>;
207
+ interface Props$3<T extends FieldValues = Record<string, any>> {
208
+ formState: FormState<any>;
209
+ fields: Array<FieldProps<T> | FieldProps<T>[]>;
210
210
  }
211
- declare const FormErrorsAlert: <T extends FieldValues>({ formState, fields }: Props$3<T>) => react_jsx_runtime.JSX.Element;
211
+ declare const FormErrorsAlert: <T extends FieldValues = Record<string, any>>({ formState, fields }: Props$3<T>) => react_jsx_runtime.JSX.Element;
212
+ declare const getFieldLabel: <T extends FieldValues>(fieldErrorKey: string, fields: ReadonlyArray<FieldProps<T>>) => string;
212
213
 
213
214
  declare class InputFactory {
214
- static create(input: FieldProps, form: UseFormReturn, isSubmitting?: boolean): JSX.Element;
215
+ static create<T extends Record<string, any> = Record<string, any>>(input: FieldProps<T>, form: UseFormReturn<T>, isSubmitting?: boolean): JSX.Element;
215
216
  }
216
- declare function getDefaultValues<T extends Record<string, any>>(entity: T): Record<string, any>;
217
- declare const getDynamicSchema: (fields: Array<FieldProps | FieldProps[]>, extraValidations?: ((schema: ZodObject<any>) => ZodObject<any>)[]) => ZodObject<any>;
217
+ declare function getDefaultValues<T extends Record<string, any>>(entity?: Partial<T>): Record<string, any>;
218
+ declare const getDynamicSchema: <T extends Record<string, any>>(fields: Array<FieldProps<T> | FieldProps<T>[]>, extraValidations?: ((schema: ZodObject<any>) => ZodObject<any>)[]) => ZodObject<Record<keyof T, ZodTypeAny>>;
218
219
 
219
220
  declare class CheckListInput extends BaseInput {
220
221
  render(): JSX.Element;
@@ -423,4 +424,4 @@ declare function TooltipContent({ className, sideOffset, children, ...props }: R
423
424
 
424
425
  declare function cn(...inputs: ClassValue[]): string;
425
426
 
426
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, Badge, BaseInput, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CheckListInput, Checkbox, ColorCnInput, type ColorCompProps, ColorInput, CustomAlert, DateInput, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DynamicForm, DynamicFormExample, type FieldProps, FileInput, Form, FormControl, FormDescription, FormErrorsAlert, FormField, FormItem, FormLabel, FormMessage, type FormResp, type GroupedOption, GroupedSwitchInput, GroupedSwitches, Input, InputFactory, InputList, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputOption, type InputSetup, InputTypes, Label, NumberInput, OTPInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Props, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Switch, SwitchInput, TextAreaInput, TextInput, TextInputType, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, entitiesToGroupedOption, entitiesToInputOption, entityToGroupedOption, entityToInputOption, getDefaultValues, getDynamicSchema, inputFieldComp, mockFields, useFormField, validationMessages };
427
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, Badge, BaseInput, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CheckListInput, Checkbox, ColorCnInput, type ColorCompProps, ColorInput, CustomAlert, DateInput, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DynamicForm, DynamicFormExample, type FieldProps, FileInput, Form, FormControl, FormDescription, FormErrorsAlert, FormField, FormItem, FormLabel, FormMessage, type FormResp, type GroupedOption, GroupedSwitchInput, GroupedSwitches, Input, InputFactory, InputList, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputOption, type InputSetup, InputTypes, Label, NumberInput, OTPInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Props, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Switch, SwitchInput, TextAreaInput, TextInput, TextInputType, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, entitiesToGroupedOption, entitiesToInputOption, entityToGroupedOption, entityToInputOption, getDefaultValues, getDynamicSchema, getFieldLabel, inputFieldComp, mockFields, useFormField, validationMessages };
package/dist/index.d.ts CHANGED
@@ -75,8 +75,8 @@ declare enum InputTypes {
75
75
  }
76
76
  declare const inputFieldComp: InputTypes[];
77
77
 
78
- interface FieldProps {
79
- name: string;
78
+ interface FieldProps<T = Record<string, any>> {
79
+ name: keyof T;
80
80
  label: string;
81
81
  repeaterFields?: Array<FieldProps | FieldProps[]>;
82
82
  minItems?: number;
@@ -182,14 +182,14 @@ declare const entitiesToGroupedOption: (data: any[], optionValue?: string) => Gr
182
182
 
183
183
  type alertPositionType = 'up' | 'down';
184
184
  interface FormResp<T> {
185
- form?: UseFormReturn;
185
+ form?: UseFormReturn<any>;
186
186
  data: T;
187
187
  }
188
188
  interface Props$4<T extends Record<string, any>> {
189
189
  formTitle: string;
190
190
  formSubTitle?: string;
191
191
  readOnly?: boolean;
192
- fields: Array<FieldProps | FieldProps[]>;
192
+ fields: Array<FieldProps<T> | FieldProps<T>[]>;
193
193
  record?: Partial<T>;
194
194
  onSubmit?: (resp: FormResp<T>) => void;
195
195
  extraValidations?: ((schema: ZodObject<any>) => ZodObject<any>)[];
@@ -204,17 +204,18 @@ declare const DynamicForm: <T extends Record<string, any>>({ formTitle, formSubT
204
204
  declare const DynamicFormExample: () => react_jsx_runtime.JSX.Element;
205
205
  declare const mockFields: Array<FieldProps | FieldProps[]>;
206
206
 
207
- interface Props$3<T extends FieldValues> {
208
- formState: FormState<T>;
209
- fields: Array<FieldProps | FieldProps[]>;
207
+ interface Props$3<T extends FieldValues = Record<string, any>> {
208
+ formState: FormState<any>;
209
+ fields: Array<FieldProps<T> | FieldProps<T>[]>;
210
210
  }
211
- declare const FormErrorsAlert: <T extends FieldValues>({ formState, fields }: Props$3<T>) => react_jsx_runtime.JSX.Element;
211
+ declare const FormErrorsAlert: <T extends FieldValues = Record<string, any>>({ formState, fields }: Props$3<T>) => react_jsx_runtime.JSX.Element;
212
+ declare const getFieldLabel: <T extends FieldValues>(fieldErrorKey: string, fields: ReadonlyArray<FieldProps<T>>) => string;
212
213
 
213
214
  declare class InputFactory {
214
- static create(input: FieldProps, form: UseFormReturn, isSubmitting?: boolean): JSX.Element;
215
+ static create<T extends Record<string, any> = Record<string, any>>(input: FieldProps<T>, form: UseFormReturn<T>, isSubmitting?: boolean): JSX.Element;
215
216
  }
216
- declare function getDefaultValues<T extends Record<string, any>>(entity: T): Record<string, any>;
217
- declare const getDynamicSchema: (fields: Array<FieldProps | FieldProps[]>, extraValidations?: ((schema: ZodObject<any>) => ZodObject<any>)[]) => ZodObject<any>;
217
+ declare function getDefaultValues<T extends Record<string, any>>(entity?: Partial<T>): Record<string, any>;
218
+ declare const getDynamicSchema: <T extends Record<string, any>>(fields: Array<FieldProps<T> | FieldProps<T>[]>, extraValidations?: ((schema: ZodObject<any>) => ZodObject<any>)[]) => ZodObject<Record<keyof T, ZodTypeAny>>;
218
219
 
219
220
  declare class CheckListInput extends BaseInput {
220
221
  render(): JSX.Element;
@@ -423,4 +424,4 @@ declare function TooltipContent({ className, sideOffset, children, ...props }: R
423
424
 
424
425
  declare function cn(...inputs: ClassValue[]): string;
425
426
 
426
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, Badge, BaseInput, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CheckListInput, Checkbox, ColorCnInput, type ColorCompProps, ColorInput, CustomAlert, DateInput, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DynamicForm, DynamicFormExample, type FieldProps, FileInput, Form, FormControl, FormDescription, FormErrorsAlert, FormField, FormItem, FormLabel, FormMessage, type FormResp, type GroupedOption, GroupedSwitchInput, GroupedSwitches, Input, InputFactory, InputList, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputOption, type InputSetup, InputTypes, Label, NumberInput, OTPInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Props, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Switch, SwitchInput, TextAreaInput, TextInput, TextInputType, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, entitiesToGroupedOption, entitiesToInputOption, entityToGroupedOption, entityToInputOption, getDefaultValues, getDynamicSchema, inputFieldComp, mockFields, useFormField, validationMessages };
427
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, Badge, BaseInput, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CheckListInput, Checkbox, ColorCnInput, type ColorCompProps, ColorInput, CustomAlert, DateInput, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DynamicForm, DynamicFormExample, type FieldProps, FileInput, Form, FormControl, FormDescription, FormErrorsAlert, FormField, FormItem, FormLabel, FormMessage, type FormResp, type GroupedOption, GroupedSwitchInput, GroupedSwitches, Input, InputFactory, InputList, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputOption, type InputSetup, InputTypes, Label, NumberInput, OTPInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type Props, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Switch, SwitchInput, TextAreaInput, TextInput, TextInputType, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, entitiesToGroupedOption, entitiesToInputOption, entityToGroupedOption, entityToInputOption, getDefaultValues, getDynamicSchema, getFieldLabel, inputFieldComp, mockFields, useFormField, validationMessages };
package/dist/index.mjs CHANGED
@@ -5028,6 +5028,7 @@ var InputFactory = class {
5028
5028
  };
5029
5029
  function getDefaultValues(entity) {
5030
5030
  const defaults = {};
5031
+ if (!entity) return defaults;
5031
5032
  for (const key in entity) {
5032
5033
  const value = entity[key];
5033
5034
  if (value === null || value === void 0) {
@@ -5058,26 +5059,31 @@ function getDefaultValues(entity) {
5058
5059
  return defaults;
5059
5060
  }
5060
5061
  var getDynamicSchema = (fields, extraValidations) => {
5061
- const flatFields = fields.flatMap((f) => Array.isArray(f) ? f : [f]);
5062
- const shape = {};
5063
- flatFields.forEach((f) => {
5064
- shape[f.name] = f.zodType ?? z2.any();
5065
- });
5062
+ const flatFields = fields.flatMap(
5063
+ (f) => Array.isArray(f) ? f : [f]
5064
+ );
5065
+ const shape = flatFields.reduce((acc, f) => {
5066
+ acc[f.name] = f.zodType ?? z2.any();
5067
+ return acc;
5068
+ }, {});
5066
5069
  let schema = z2.object(shape);
5067
- if (extraValidations && extraValidations.length > 0) {
5068
- extraValidations.forEach((fn) => {
5070
+ if (extraValidations?.length) {
5071
+ for (const fn of extraValidations) {
5069
5072
  schema = fn(schema);
5070
- });
5073
+ }
5071
5074
  }
5072
5075
  return schema;
5073
5076
  };
5074
- var FormErrorsAlert = ({ formState, fields }) => {
5077
+ var FormErrorsAlert = ({
5078
+ formState,
5079
+ fields
5080
+ }) => {
5075
5081
  const flatFields = fields.flatMap((f) => Array.isArray(f) ? f : [f]);
5076
5082
  return /* @__PURE__ */ jsx("div", { style: { marginTop: 4 }, children: Object.entries(formState.errors).length > 0 && /* @__PURE__ */ jsx(
5077
5083
  CustomAlert,
5078
5084
  {
5079
5085
  title: "Revisar los siguientes criterios",
5080
- description: /* @__PURE__ */ jsx("ul", { children: Object.entries(formState?.errors).map(([key, value]) => /* @__PURE__ */ jsxs("li", { children: [
5086
+ description: /* @__PURE__ */ jsx("ul", { children: Object.entries(formState.errors).map(([key, value]) => /* @__PURE__ */ jsxs("li", { children: [
5081
5087
  /* @__PURE__ */ jsxs("strong", { children: [
5082
5088
  getFieldLabel(key, flatFields),
5083
5089
  ":"
@@ -5091,15 +5097,36 @@ var FormErrorsAlert = ({ formState, fields }) => {
5091
5097
  ) });
5092
5098
  };
5093
5099
  var getFieldLabel = (fieldErrorKey, fields) => {
5094
- const findedField = fields.find((field) => field.name == fieldErrorKey);
5095
- return findedField?.label ?? fieldErrorKey;
5100
+ const foundField = fields.find((field) => field.name === fieldErrorKey);
5101
+ return foundField?.label ?? fieldErrorKey;
5096
5102
  };
5097
- var FormFieldsGrid = ({ fields, form, isPending, readOnly, className = "", gap = "gap-2" }) => {
5098
- return /* @__PURE__ */ jsx(Fragment, { children: fields.map(
5099
- (input, idx) => Array.isArray(input) ? /* @__PURE__ */ jsx("span", { className: "w-full flex flex-row justify-between py-3", children: input.map((field, subIdx) => {
5100
- if (readOnly) field.disabled = readOnly;
5101
- return /* @__PURE__ */ jsx("div", { className: "w-full px-2", children: InputFactory.create(field, form, isPending) }, subIdx);
5102
- }) }, `field-group-${idx}`) : /* @__PURE__ */ jsx("span", { className: "flex flex-col justify-between py-3 w-full px-2", children: InputFactory.create(input, form, isPending) }, `field-group-${idx}`)
5103
+ var FormFieldsGrid = ({
5104
+ fields,
5105
+ form,
5106
+ isPending,
5107
+ readOnly,
5108
+ className = "",
5109
+ gap = "gap-2"
5110
+ }) => {
5111
+ return /* @__PURE__ */ jsx("div", { className: `w-full grid grid-cols-1 ${gap} ${className}`, children: fields.map(
5112
+ (input, idx) => Array.isArray(input) ? /* @__PURE__ */ jsx(
5113
+ "span",
5114
+ {
5115
+ className: "w-full flex flex-row justify-between py-3",
5116
+ children: input.map((field, subIdx) => {
5117
+ if (readOnly) field.disabled = true;
5118
+ return /* @__PURE__ */ jsx("div", { className: "w-full px-2", children: InputFactory.create(field, form, isPending) }, subIdx);
5119
+ })
5120
+ },
5121
+ `field-group-${idx}`
5122
+ ) : /* @__PURE__ */ jsx(
5123
+ "span",
5124
+ {
5125
+ className: "flex flex-col justify-between py-3 w-full px-2",
5126
+ children: InputFactory.create(input, form, isPending)
5127
+ },
5128
+ `field-group-${idx}`
5129
+ )
5103
5130
  ) });
5104
5131
  };
5105
5132
  var DynamicForm = ({
@@ -5118,14 +5145,15 @@ var DynamicForm = ({
5118
5145
  }) => {
5119
5146
  const [isPending, startTransition] = useTransition();
5120
5147
  const schema = useMemo(() => getDynamicSchema(fields, extraValidations), [fields, extraValidations]);
5121
- const defaultValues = useMemo(() => getDefaultValues(record), [record]);
5148
+ const resolver = zodResolver(schema);
5149
+ const initialValues = useMemo(() => getDefaultValues(record), [record]);
5122
5150
  const form = useForm({
5123
- resolver: zodResolver(schema),
5124
- defaultValues
5151
+ resolver,
5152
+ defaultValues: initialValues
5125
5153
  });
5126
5154
  useEffect(() => {
5127
- form.reset(defaultValues);
5128
- }, [defaultValues, form]);
5155
+ form.reset(initialValues);
5156
+ }, [initialValues, form]);
5129
5157
  const handleSubmit = (data) => {
5130
5158
  if (readOnly) return;
5131
5159
  try {
@@ -5134,7 +5162,7 @@ var DynamicForm = ({
5134
5162
  onSubmit?.(resp);
5135
5163
  });
5136
5164
  } catch (error) {
5137
- console.error("Ocurri\xF3 un error al enviar el formulario.");
5165
+ console.error("Ocurri\xF3 un error al enviar el formulario.", error);
5138
5166
  }
5139
5167
  };
5140
5168
  const formContent = /* @__PURE__ */ jsxs("div", { children: [
@@ -5162,8 +5190,7 @@ var DynamicForm = ({
5162
5190
  ] }) }) })
5163
5191
  ]
5164
5192
  }
5165
- ) }),
5166
- withErrorsAlert && errorAlertPosition === "down" && /* @__PURE__ */ jsx(FormErrorsAlert, { formState: form.formState, fields })
5193
+ ) })
5167
5194
  ] });
5168
5195
  if (!withCard) return formContent;
5169
5196
  return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, { children: formContent }) });
@@ -5343,6 +5370,6 @@ var InputList = ({ handleAddInput, inputsTypes }) => {
5343
5370
  }) });
5344
5371
  };
5345
5372
 
5346
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, Badge, BaseInput, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CheckListInput, Checkbox, ColorCnInput, ColorInput, CustomAlert, DateInput, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DynamicForm, DynamicFormExample, FileInput, Form, FormControl, FormDescription, FormErrorsAlert, FormField, FormItem, FormLabel, FormMessage, GroupedSwitchInput, GroupedSwitches, Input, InputFactory, InputList, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputTypes, Label, NumberInput, OTPInput2 as OTPInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Switch, SwitchInput, TextAreaInput, TextInput, TextInputType, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, entitiesToGroupedOption, entitiesToInputOption, entityToGroupedOption, entityToInputOption, getDefaultValues, getDynamicSchema, inputFieldComp, mockFields, useFormField, validationMessages };
5373
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, Badge, BaseInput, Button, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CheckListInput, Checkbox, ColorCnInput, ColorInput, CustomAlert, DateInput, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DynamicForm, DynamicFormExample, FileInput, Form, FormControl, FormDescription, FormErrorsAlert, FormField, FormItem, FormLabel, FormMessage, GroupedSwitchInput, GroupedSwitches, Input, InputFactory, InputList, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputTypes, Label, NumberInput, OTPInput2 as OTPInput, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectInput, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Switch, SwitchInput, TextAreaInput, TextInput, TextInputType, Textarea, Toaster, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, entitiesToGroupedOption, entitiesToInputOption, entityToGroupedOption, entityToInputOption, getDefaultValues, getDynamicSchema, getFieldLabel, inputFieldComp, mockFields, useFormField, validationMessages };
5347
5374
  //# sourceMappingURL=index.mjs.map
5348
5375
  //# sourceMappingURL=index.mjs.map