@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 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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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,EACX,SAAS,GACV,MAAM,sBAAsB,CAAA"}
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 d } from "./index.es7.js";
6
+ import { default as s } from "./index.es7.js";
7
7
  import { default as i } from "./index.es8.js";
8
- import { registerAdapter as F } from "./index.es9.js";
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, FormItem as fr, FormLabel as mr, FormMessage as pr, useFormField as xr } from "./index.es28.js";
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
- d as ButtonUnique,
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 FormItem,
47
- mr as FormLabel,
48
- pr as FormMessage,
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
- F as registerAdapter,
63
- xr as useFormField
63
+ c as registerAdapter,
64
+ lr as useFormField
64
65
  };
65
66
  //# sourceMappingURL=index.es.js.map
@@ -1,58 +1,60 @@
1
1
  import * as e from "react";
2
- import { FormProvider as f, useFormContext as l } from "react-hook-form";
3
- import { Label as F } from "./index.es15.js";
4
- import { Slot as u } from "@radix-ui/react-slot";
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 E = f, p = e.createContext(
6
+ const R = f, c = e.createContext(
7
7
  {}
8
- ), i = () => {
9
- const t = e.useContext(p), o = e.useContext(c), { getFieldState: r, formState: m } = l(), s = r(t.name, m);
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: n } = o;
14
+ const { id: s } = o;
13
15
  return {
14
- id: n,
16
+ id: s,
15
17
  name: t.name,
16
- formItemId: `${n}-form-item`,
17
- formDescriptionId: `${n}-form-item-description`,
18
- formMessageId: `${n}-form-item-message`,
19
- ...s
18
+ formItemId: `${s}-form-item`,
19
+ formDescriptionId: `${s}-form-item-description`,
20
+ formMessageId: `${s}-form-item-message`,
21
+ ...n
20
22
  };
21
- }, c = e.createContext(
23
+ }, l = e.createContext(
22
24
  {}
23
- ), I = e.forwardRef(({ className: t, ...o }, r) => {
25
+ ), x = e.forwardRef(({ className: t, ...o }, r) => {
24
26
  const m = e.useId();
25
- return /* @__PURE__ */ e.createElement(c.Provider, { value: { id: m } }, /* @__PURE__ */ e.createElement("div", { ref: r, className: a("space-y-2", t), ...o }));
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
- I.displayName = "FormItem";
28
- const x = e.forwardRef(({ className: t, ...o }, r) => {
29
- const { error: m, formItemId: s } = i();
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
- F,
33
+ p,
32
34
  {
33
35
  ref: r,
34
36
  className: a(m && "text-destructive", t),
35
- htmlFor: s,
37
+ htmlFor: n,
36
38
  ...o
37
39
  }
38
40
  );
39
41
  });
40
- x.displayName = "FormLabel";
41
- const C = e.forwardRef(({ ...t }, o) => {
42
- const { error: r, formItemId: m, formDescriptionId: s, formMessageId: n } = i();
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
- u,
46
+ I,
45
47
  {
46
48
  ref: o,
47
49
  id: m,
48
- "aria-describedby": r ? `${s} ${n}` : `${s}`,
50
+ "aria-describedby": r ? `${n} ${s}` : `${n}`,
49
51
  "aria-invalid": !!r,
50
52
  ...t
51
53
  }
52
54
  );
53
55
  });
54
- C.displayName = "FormControl";
55
- const g = e.forwardRef(({ className: t, ...o }, r) => {
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
- g.displayName = "FormDescription";
68
- const N = e.forwardRef(({ className: t, children: o, ...r }, m) => {
69
- const { error: s, formMessageId: n } = i(), d = s ? String(s?.message) : o;
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: n,
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
- N.displayName = "FormMessage";
83
+ E.displayName = "FormMessage";
82
84
  export {
83
- E as Form,
84
- C as FormControl,
85
- g as FormDescription,
86
- I as FormItem,
87
- x as FormLabel,
88
- N as FormMessage,
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
@@ -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","props","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":";;;;;AAgBA,MAAMA,IAAOC,GASPC,IAAmBC,EAAM;AAAA,EAC7B,CAAC;AACH,GAeMC,IAAe,MAAM;AACnB,QAAAC,IAAeF,EAAM,WAAWD,CAAgB,GAChDI,IAAcH,EAAM,WAAWI,CAAe,GAC9C,EAAE,eAAAC,GAAe,WAAAC,EAAU,IAAIC,EAAe,GAE9CC,IAAaH,EAAcH,EAAa,MAAMI,CAAS;AAE7D,MAAI,CAACJ;AACG,UAAA,IAAI,MAAM,gDAAgD;AAG5D,QAAA,EAAE,IAAAO,EAAO,IAAAN;AAER,SAAA;AAAA,IACL,IAAAM;AAAA,IACA,MAAMP,EAAa;AAAA,IACnB,YAAY,GAAGO,CAAE;AAAA,IACjB,mBAAmB,GAAGA,CAAE;AAAA,IACxB,eAAe,GAAGA,CAAE;AAAA,IACpB,GAAGD;AAAA,EAAA;AAEP,GAMMJ,IAAkBJ,EAAM;AAAA,EAC5B,CAAC;AACH,GAEMU,IAAWV,EAAM,WAGrB,CAAC,EAAE,WAAAW,GAAW,GAAGC,EAAM,GAAGC,MAAQ;AAC5B,QAAAJ,IAAKT,EAAM;AAEjB,yCACGI,EAAgB,UAAhB,EAAyB,OAAO,EAAE,IAAAK,IACjC,GAAA,gBAAAT,EAAA,cAAC,OAAI,EAAA,KAAAa,GAAU,WAAWC,EAAG,aAAaH,CAAS,GAAI,GAAGC,EAAO,CAAA,CACnE;AAEJ,CAAC;AACDF,EAAS,cAAc;AAEjB,MAAAK,IAAYf,EAAM,WAGtB,CAAC,EAAE,WAAAW,GAAW,GAAGC,EAAM,GAAGC,MAAQ;AAClC,QAAM,EAAE,OAAAG,GAAO,YAAAC,EAAW,IAAIhB,EAAa;AAGzC,SAAA,gBAAAD,EAAA;AAAA,IAACkB;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,WAAWC,EAAGE,KAAS,oBAAoBL,CAAS;AAAA,MACpD,SAASM;AAAA,MACR,GAAGL;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACDG,EAAU,cAAc;AAElB,MAAAI,IAAcnB,EAAM,WAGxB,CAAC,EAAE,GAAGY,KAASC,MAAQ;AACvB,QAAM,EAAE,OAAAG,GAAO,YAAAC,GAAY,mBAAAG,GAAmB,eAAAC,EAAA,IAAkBpB;AAG9D,SAAA,gBAAAD,EAAA;AAAA,IAACsB;AAAA,IAAA;AAAA,MACC,KAAAT;AAAA,MACA,IAAII;AAAA,MACJ,oBACGD,IAEG,GAAGI,CAAiB,IAAIC,CAAa,KADrC,GAAGD,CAAiB;AAAA,MAG1B,gBAAc,CAAC,CAACJ;AAAA,MACf,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACDO,EAAY,cAAc;AAEpB,MAAAI,IAAkBvB,EAAM,WAG5B,CAAC,EAAE,WAAAW,GAAW,GAAGC,EAAM,GAAGC,MAAQ;AAC5B,QAAA,EAAE,mBAAAO,MAAsBnB;AAG5B,SAAA,gBAAAD,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAa;AAAA,MACA,IAAIO;AAAA,MACJ,WAAWN,EAAG,iCAAiCH,CAAS;AAAA,MACvD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;AACDW,EAAgB,cAAc;AAExB,MAAAC,IAAcxB,EAAM,WAGxB,CAAC,EAAE,WAAAW,GAAW,UAAAc,GAAU,GAAGb,EAAM,GAAGC,MAAQ;AAC5C,QAAM,EAAE,OAAAG,GAAO,eAAAK,EAAc,IAAIpB,EAAa,GACxCyB,IAAOV,IAAQ,OAAOA,GAAO,OAAO,IAAIS;AAE9C,SAAKC,IAKH,gBAAA1B,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAa;AAAA,MACA,IAAIQ;AAAA,MACJ,WAAWP,EAAG,wCAAwCH,CAAS;AAAA,MAC9D,GAAGC;AAAA,IAAA;AAAA,IAEHc;AAAA,EAAA,IAVI;AAaX,CAAC;AACDF,EAAY,cAAc;"}
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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"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "type": "git",
14
14
  "url": "git+https://github.com/wowxoxo/precision-ui.git"
15
15
  },
16
- "version": "0.4.0",
16
+ "version": "0.4.1",
17
17
  "type": "module",
18
18
  "module": "./dist/index.es.js",
19
19
  "types": "./dist/index.d.ts",