@iit/precision-ui 0.4.0 → 0.4.1
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.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +10 -9
- package/dist/index.es28.js +41 -38
- package/dist/index.es28.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -44,5 +44,5 @@ export { Partners };
|
|
|
44
44
|
export { Section };
|
|
45
45
|
export { CardsGridSection };
|
|
46
46
|
export { Heading, Text };
|
|
47
|
-
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, } from './components/ui/form';
|
|
47
|
+
export { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField, } from './components/ui/form';
|
|
48
48
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,UAAU,EAAE,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,aAAa,EAAE,EACpB,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,eAAe,EAAE,EACtB,KAAK,oBAAoB,EAC1B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,UAAU,EAAE,EACjB,KAAK,eAAe,EACrB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,YAAY,EAAE,EACnB,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,OAAO,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAG5C,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE3E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,OAAO,EAAE,eAAe,EAAE,CAAA;AAG1B,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAC5C,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,OAAO,EAAE,QAAQ,EAAE,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,CAAA;AAId,OAAO,GAAG,MAAM,gBAAgB,CAAA;AAChC,OAAO,IAAI,MAAM,iBAAiB,CAAA;AAClC,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAC1C,OAAO,OAAO,MAAM,oBAAoB,CAAA;AACxC,OAAO,gBAAgB,MAAM,6BAA6B,CAAA;AAE1D,OAAO,EAAE,GAAG,EAAE,CAAA;AACd,OAAO,EAAE,IAAI,EAAE,CAAA;AACf,OAAO,EAAE,QAAQ,EAAE,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,CAAA;AAClB,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,OAAO,OAAO,MAAM,sCAAsC,CAAA;AAC1D,OAAO,IAAI,MAAM,mCAAmC,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAGxB,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.es.js
CHANGED
|
@@ -3,9 +3,9 @@ import { default as a } from "./index.es3.js";
|
|
|
3
3
|
import { default as m } from "./index.es4.js";
|
|
4
4
|
import { default as x } from "./index.es5.js";
|
|
5
5
|
import { default as u } from "./index.es6.js";
|
|
6
|
-
import { default as
|
|
6
|
+
import { default as s } from "./index.es7.js";
|
|
7
7
|
import { default as i } from "./index.es8.js";
|
|
8
|
-
import { registerAdapter as
|
|
8
|
+
import { registerAdapter as c } from "./index.es9.js";
|
|
9
9
|
import { Alert as T, AlertDescription as A, AlertTitle as B } from "./index.es10.js";
|
|
10
10
|
import { Input as h } from "./index.es11.js";
|
|
11
11
|
import { InputWithLabel as I } from "./index.es12.js";
|
|
@@ -24,7 +24,7 @@ import { default as V } from "./index.es24.js";
|
|
|
24
24
|
import { default as Y } from "./index.es25.js";
|
|
25
25
|
import { default as _ } from "./index.es26.js";
|
|
26
26
|
import { default as rr } from "./index.es27.js";
|
|
27
|
-
import { Form as or, FormControl as tr, FormDescription as ar,
|
|
27
|
+
import { Form as or, FormControl as tr, FormDescription as ar, FormField as fr, FormItem as mr, FormLabel as pr, FormMessage as xr, useFormField as lr } from "./index.es28.js";
|
|
28
28
|
export {
|
|
29
29
|
T as Alert,
|
|
30
30
|
A as AlertDescription,
|
|
@@ -35,7 +35,7 @@ export {
|
|
|
35
35
|
m as ButtonPrimary,
|
|
36
36
|
x as ButtonSecondary,
|
|
37
37
|
u as ButtonText,
|
|
38
|
-
|
|
38
|
+
s as ButtonUnique,
|
|
39
39
|
E as CTA,
|
|
40
40
|
Y as CardsGridSection,
|
|
41
41
|
R as Checkbox,
|
|
@@ -43,9 +43,10 @@ export {
|
|
|
43
43
|
or as Form,
|
|
44
44
|
tr as FormControl,
|
|
45
45
|
ar as FormDescription,
|
|
46
|
-
fr as
|
|
47
|
-
mr as
|
|
48
|
-
pr as
|
|
46
|
+
fr as FormField,
|
|
47
|
+
mr as FormItem,
|
|
48
|
+
pr as FormLabel,
|
|
49
|
+
xr as FormMessage,
|
|
49
50
|
_ as Heading,
|
|
50
51
|
K as Hero,
|
|
51
52
|
P as Informer,
|
|
@@ -59,7 +60,7 @@ export {
|
|
|
59
60
|
rr as Text,
|
|
60
61
|
S as Textarea,
|
|
61
62
|
H as TextareaWithLabel,
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
c as registerAdapter,
|
|
64
|
+
lr as useFormField
|
|
64
65
|
};
|
|
65
66
|
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es28.js
CHANGED
|
@@ -1,58 +1,60 @@
|
|
|
1
1
|
import * as e from "react";
|
|
2
|
-
import { FormProvider as f, useFormContext as
|
|
3
|
-
import { Label as
|
|
4
|
-
import { Slot as
|
|
2
|
+
import { FormProvider as f, Controller as F, useFormContext as u } from "react-hook-form";
|
|
3
|
+
import { Label as p } from "./index.es15.js";
|
|
4
|
+
import { Slot as I } from "@radix-ui/react-slot";
|
|
5
5
|
import { cn as a } from "./index.es29.js";
|
|
6
|
-
const
|
|
6
|
+
const R = f, c = e.createContext(
|
|
7
7
|
{}
|
|
8
|
-
),
|
|
9
|
-
|
|
8
|
+
), $ = ({
|
|
9
|
+
...t
|
|
10
|
+
}) => /* @__PURE__ */ e.createElement(c.Provider, { value: { name: t.name } }, /* @__PURE__ */ e.createElement(F, { ...t })), i = () => {
|
|
11
|
+
const t = e.useContext(c), o = e.useContext(l), { getFieldState: r, formState: m } = u(), n = r(t.name, m);
|
|
10
12
|
if (!t)
|
|
11
13
|
throw new Error("useFormField should be used within <FormField>");
|
|
12
|
-
const { id:
|
|
14
|
+
const { id: s } = o;
|
|
13
15
|
return {
|
|
14
|
-
id:
|
|
16
|
+
id: s,
|
|
15
17
|
name: t.name,
|
|
16
|
-
formItemId: `${
|
|
17
|
-
formDescriptionId: `${
|
|
18
|
-
formMessageId: `${
|
|
19
|
-
...
|
|
18
|
+
formItemId: `${s}-form-item`,
|
|
19
|
+
formDescriptionId: `${s}-form-item-description`,
|
|
20
|
+
formMessageId: `${s}-form-item-message`,
|
|
21
|
+
...n
|
|
20
22
|
};
|
|
21
|
-
},
|
|
23
|
+
}, l = e.createContext(
|
|
22
24
|
{}
|
|
23
|
-
),
|
|
25
|
+
), x = e.forwardRef(({ className: t, ...o }, r) => {
|
|
24
26
|
const m = e.useId();
|
|
25
|
-
return /* @__PURE__ */ e.createElement(
|
|
27
|
+
return /* @__PURE__ */ e.createElement(l.Provider, { value: { id: m } }, /* @__PURE__ */ e.createElement("div", { ref: r, className: a("space-y-2", t), ...o }));
|
|
26
28
|
});
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
const { error: m, formItemId:
|
|
29
|
+
x.displayName = "FormItem";
|
|
30
|
+
const C = e.forwardRef(({ className: t, ...o }, r) => {
|
|
31
|
+
const { error: m, formItemId: n } = i();
|
|
30
32
|
return /* @__PURE__ */ e.createElement(
|
|
31
|
-
|
|
33
|
+
p,
|
|
32
34
|
{
|
|
33
35
|
ref: r,
|
|
34
36
|
className: a(m && "text-destructive", t),
|
|
35
|
-
htmlFor:
|
|
37
|
+
htmlFor: n,
|
|
36
38
|
...o
|
|
37
39
|
}
|
|
38
40
|
);
|
|
39
41
|
});
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
const { error: r, formItemId: m, formDescriptionId:
|
|
42
|
+
C.displayName = "FormLabel";
|
|
43
|
+
const g = e.forwardRef(({ ...t }, o) => {
|
|
44
|
+
const { error: r, formItemId: m, formDescriptionId: n, formMessageId: s } = i();
|
|
43
45
|
return /* @__PURE__ */ e.createElement(
|
|
44
|
-
|
|
46
|
+
I,
|
|
45
47
|
{
|
|
46
48
|
ref: o,
|
|
47
49
|
id: m,
|
|
48
|
-
"aria-describedby": r ? `${
|
|
50
|
+
"aria-describedby": r ? `${n} ${s}` : `${n}`,
|
|
49
51
|
"aria-invalid": !!r,
|
|
50
52
|
...t
|
|
51
53
|
}
|
|
52
54
|
);
|
|
53
55
|
});
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
+
g.displayName = "FormControl";
|
|
57
|
+
const v = e.forwardRef(({ className: t, ...o }, r) => {
|
|
56
58
|
const { formDescriptionId: m } = i();
|
|
57
59
|
return /* @__PURE__ */ e.createElement(
|
|
58
60
|
"p",
|
|
@@ -64,28 +66,29 @@ const g = e.forwardRef(({ className: t, ...o }, r) => {
|
|
|
64
66
|
}
|
|
65
67
|
);
|
|
66
68
|
});
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
const { error:
|
|
69
|
+
v.displayName = "FormDescription";
|
|
70
|
+
const E = e.forwardRef(({ className: t, children: o, ...r }, m) => {
|
|
71
|
+
const { error: n, formMessageId: s } = i(), d = n ? String(n?.message) : o;
|
|
70
72
|
return d ? /* @__PURE__ */ e.createElement(
|
|
71
73
|
"p",
|
|
72
74
|
{
|
|
73
75
|
ref: m,
|
|
74
|
-
id:
|
|
76
|
+
id: s,
|
|
75
77
|
className: a("text-sm font-medium text-destructive", t),
|
|
76
78
|
...r
|
|
77
79
|
},
|
|
78
80
|
d
|
|
79
81
|
) : null;
|
|
80
82
|
});
|
|
81
|
-
|
|
83
|
+
E.displayName = "FormMessage";
|
|
82
84
|
export {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
x as
|
|
88
|
-
|
|
85
|
+
R as Form,
|
|
86
|
+
g as FormControl,
|
|
87
|
+
v as FormDescription,
|
|
88
|
+
$ as FormField,
|
|
89
|
+
x as FormItem,
|
|
90
|
+
C as FormLabel,
|
|
91
|
+
E as FormMessage,
|
|
89
92
|
i as useFormField
|
|
90
93
|
};
|
|
91
94
|
//# sourceMappingURL=index.es28.js.map
|
package/dist/index.es28.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es28.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from 'react-hook-form'\n\nimport { Label } from '@/components/ui/label'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@/lib/utils/cn'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = 'FormItem'\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && 'text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = 'FormLabel'\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = 'FormControl'\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = 'FormDescription'\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-sm font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = 'FormMessage'\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","
|
|
1
|
+
{"version":3,"file":"index.es28.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from 'react-hook-form'\n\nimport { Label } from '@/components/ui/label'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@/lib/utils/cn'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = 'FormItem'\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && 'text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = 'FormLabel'\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = 'FormControl'\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = 'FormDescription'\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-sm font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = 'FormMessage'\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","FormField","props","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
|