brd-ui-kit 0.1.84 → 0.1.86

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.
Files changed (105) hide show
  1. package/dist/components/approval-log/approval-log.d.ts +1 -1
  2. package/dist/components/approval-log/index.d.ts +1 -1
  3. package/dist/components/card-info/card-info.d.ts +3 -2
  4. package/dist/components/forms/form-Input-phone.d.ts +10 -0
  5. package/dist/components/forms/form-avatar-uploader.d.ts +9 -0
  6. package/dist/components/forms/form-contact-input.d.ts +9 -0
  7. package/dist/components/forms/form-files-uploader.d.ts +9 -0
  8. package/dist/components/forms/form-input-password.d.ts +9 -0
  9. package/dist/components/forms/form-input.d.ts +9 -0
  10. package/dist/components/forms/form-select-calendar.d.ts +9 -0
  11. package/dist/components/forms/form-select.d.ts +18 -0
  12. package/dist/components/forms/form-textarea.d.ts +9 -0
  13. package/dist/components/forms/form-toggle-group.d.ts +13 -0
  14. package/dist/components/forms/form.d.ts +12 -0
  15. package/dist/components/forms/from-checkbox.d.ts +8 -0
  16. package/dist/components/forms/index.d.ts +12 -0
  17. package/dist/components/forms.d.ts +2 -0
  18. package/dist/components/input-contact/input-contact.d.ts +1 -0
  19. package/dist/components/story-drawer/index.d.ts +1 -1
  20. package/dist/components/story-drawer/story-drawer.d.ts +2 -2
  21. package/dist/components-approval-log-approval-log.cjs.map +1 -1
  22. package/dist/components-approval-log-approval-log.js.map +1 -1
  23. package/dist/components-card-info-card-info.cjs +1 -1
  24. package/dist/components-card-info-card-info.cjs.map +1 -1
  25. package/dist/components-card-info-card-info.js +15 -14
  26. package/dist/components-card-info-card-info.js.map +1 -1
  27. package/dist/components-forms-form-Input-phone.cjs +2 -0
  28. package/dist/components-forms-form-Input-phone.cjs.map +1 -0
  29. package/dist/components-forms-form-Input-phone.js +63 -0
  30. package/dist/components-forms-form-Input-phone.js.map +1 -0
  31. package/dist/components-forms-form-avatar-uploader.cjs +2 -0
  32. package/dist/components-forms-form-avatar-uploader.cjs.map +1 -0
  33. package/dist/components-forms-form-avatar-uploader.js +26 -0
  34. package/dist/components-forms-form-avatar-uploader.js.map +1 -0
  35. package/dist/components-forms-form-contact-input.cjs +2 -0
  36. package/dist/components-forms-form-contact-input.cjs.map +1 -0
  37. package/dist/components-forms-form-contact-input.js +66 -0
  38. package/dist/components-forms-form-contact-input.js.map +1 -0
  39. package/dist/components-forms-form-files-uploader.cjs +13 -0
  40. package/dist/components-forms-form-files-uploader.cjs.map +1 -0
  41. package/dist/components-forms-form-files-uploader.js +3060 -0
  42. package/dist/components-forms-form-files-uploader.js.map +1 -0
  43. package/dist/components-forms-form-input-password.cjs +30 -0
  44. package/dist/components-forms-form-input-password.cjs.map +1 -0
  45. package/dist/components-forms-form-input-password.js +377 -0
  46. package/dist/components-forms-form-input-password.js.map +1 -0
  47. package/dist/components-forms-form-input.cjs +2 -0
  48. package/dist/components-forms-form-input.cjs.map +1 -0
  49. package/dist/components-forms-form-input.js +46 -0
  50. package/dist/components-forms-form-input.js.map +1 -0
  51. package/dist/components-forms-form-select-calendar.cjs +2 -0
  52. package/dist/components-forms-form-select-calendar.cjs.map +1 -0
  53. package/dist/components-forms-form-select-calendar.js +28 -0
  54. package/dist/components-forms-form-select-calendar.js.map +1 -0
  55. package/dist/components-forms-form-select.cjs +2 -0
  56. package/dist/components-forms-form-select.cjs.map +1 -0
  57. package/dist/components-forms-form-select.js +83 -0
  58. package/dist/components-forms-form-select.js.map +1 -0
  59. package/dist/components-forms-form-textarea.cjs +2 -0
  60. package/dist/components-forms-form-textarea.cjs.map +1 -0
  61. package/dist/components-forms-form-textarea.js +42 -0
  62. package/dist/components-forms-form-textarea.js.map +1 -0
  63. package/dist/components-forms-form-toggle-group.cjs +2 -0
  64. package/dist/components-forms-form-toggle-group.cjs.map +1 -0
  65. package/dist/components-forms-form-toggle-group.js +27 -0
  66. package/dist/components-forms-form-toggle-group.js.map +1 -0
  67. package/dist/components-forms-form.cjs +2 -0
  68. package/dist/components-forms-form.cjs.map +1 -0
  69. package/dist/components-forms-form.js +24 -0
  70. package/dist/components-forms-form.js.map +1 -0
  71. package/dist/components-forms-from-checkbox.cjs +2 -0
  72. package/dist/components-forms-from-checkbox.cjs.map +1 -0
  73. package/dist/components-forms-from-checkbox.js +43 -0
  74. package/dist/components-forms-from-checkbox.js.map +1 -0
  75. package/dist/components-forms.cjs +2 -0
  76. package/dist/components-forms.cjs.map +1 -0
  77. package/dist/components-forms.js +27 -0
  78. package/dist/components-forms.js.map +1 -0
  79. package/dist/components-input-contact-input-contact.cjs.map +1 -1
  80. package/dist/components-input-contact-input-contact.js.map +1 -1
  81. package/dist/components-story-drawer-story-drawer.cjs.map +1 -1
  82. package/dist/components-story-drawer-story-drawer.js.map +1 -1
  83. package/dist/components-ui-typography-typography.styles-C6G6MFUq.js +105 -0
  84. package/dist/components-ui-typography-typography.styles-C6G6MFUq.js.map +1 -0
  85. package/dist/components-ui-typography-typography.styles-CMzY_pXl.cjs +2 -0
  86. package/dist/components-ui-typography-typography.styles-CMzY_pXl.cjs.map +1 -0
  87. package/dist/index.cjs +1 -1
  88. package/dist/index.d.ts +27 -25
  89. package/dist/index.esm-CFsbc_Iq.js +1328 -0
  90. package/dist/index.esm-CFsbc_Iq.js.map +1 -0
  91. package/dist/index.esm-ZdO9UZ3G.cjs +2 -0
  92. package/dist/index.esm-ZdO9UZ3G.cjs.map +1 -0
  93. package/dist/index.js +102 -76
  94. package/dist/index.js.map +1 -1
  95. package/dist/types/error.d.ts +13 -0
  96. package/dist/types-error.cjs +2 -0
  97. package/dist/types-error.cjs.map +1 -0
  98. package/dist/types-error.js +2 -0
  99. package/dist/types-error.js.map +1 -0
  100. package/dist/utils/get-validation-state.d.ts +1 -0
  101. package/dist/utils-get-validation-state.cjs +2 -0
  102. package/dist/utils-get-validation-state.cjs.map +1 -0
  103. package/dist/utils-get-validation-state.js +14 -0
  104. package/dist/utils-get-validation-state.js.map +1 -0
  105. package/package.json +12 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("./lib-utils.cjs"),i=require("./components-ui-card-card.cjs"),u=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const o=require("./components-card-info-card-info.styles.cjs"),l=({className:n,title:t,children:c,accent:a,size:s,...d})=>r.jsxs(i.Card,{className:e.cn(o.cardInfoVariants(),n?.card),...d,children:[r.jsx("div",{className:e.cn(o.cardInfoLeftBorderVariants({accent:a}),n?.borderLeft)}),r.jsx("div",{className:e.cn(o.cardInfoHeaderVariants({accent:a,size:s}),n?.headerBackground),children:r.jsx(u.Typography,{variant:"body-lg-semibold",children:t})}),r.jsx("div",{className:e.cn(o.cardInfoContentVariants(),n?.content),children:c})]});exports.CardInfo=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("./lib-utils.cjs"),u=require("./components-ui-card-card.cjs"),l=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const o=require("./components-card-info-card-info.styles.cjs"),f=({className:n,title:c,headerComponent:a,children:s,accent:t,size:d,...i})=>r.jsxs(u.Card,{className:e.cn(o.cardInfoVariants(),n?.card),...i,children:[r.jsx("div",{className:e.cn(o.cardInfoLeftBorderVariants({accent:t}),n?.borderLeft)}),r.jsx("div",{className:e.cn(o.cardInfoHeaderVariants({accent:t,size:d}),n?.headerBackground),children:a||r.jsx(l.Typography,{variant:"body-lg-semibold",children:c})}),r.jsx("div",{className:e.cn(o.cardInfoContentVariants(),n?.content),children:s})]});exports.CardInfo=f;
2
2
  //# sourceMappingURL=components-card-info-card-info.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-card-info-card-info.cjs","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title: React.ReactNode;\n children: React.ReactNode;\n className?: {\n borderLeft?: string;\n headerBackground?: string;\n card?: string;\n content?: string;\n };\n}\n\nexport const CardInfo = ({\n className,\n title,\n children,\n accent,\n size,\n ...props\n}: CardInfoProps) => {\n return (\n <Card\n className={cn(cardInfoVariants(), className?.card)}\n {...props}\n >\n <div\n className={cn(cardInfoLeftBorderVariants({ accent }), className?.borderLeft)}\n />\n\n <div\n className={cn(\n cardInfoHeaderVariants({ accent, size }),\n className?.headerBackground,\n )}\n >\n <Typography variant=\"body-lg-semibold\">{title}</Typography>\n </div>\n\n <div className={cn(cardInfoContentVariants(), className?.content)}>{children}</div>\n </Card>\n );\n};\n"],"names":["CardInfo","className","title","children","accent","size","props","jsxs","Card","cn","cardInfoVariants","jsx","cardInfoLeftBorderVariants","cardInfoHeaderVariants","Typography","cardInfoContentVariants"],"mappings":"+WAyBaA,EAAW,CAAC,CACvB,UAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,KAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,KAACC,EAAAA,KAAA,CACC,UAAWC,EAAAA,GAAGC,EAAAA,mBAAoBT,GAAW,IAAI,EAChD,GAAGK,EAEJ,SAAA,CAAAK,EAAAA,IAAC,MAAA,CACC,UAAWF,EAAAA,GAAGG,EAAAA,2BAA2B,CAAE,OAAAR,EAAQ,EAAGH,GAAW,UAAU,CAAA,CAAA,EAG7EU,EAAAA,IAAC,MAAA,CACC,UAAWF,EAAAA,GACTI,yBAAuB,CAAE,OAAAT,EAAQ,KAAAC,EAAM,EACvCJ,GAAW,gBAAA,EAGb,SAAAU,EAAAA,IAACG,aAAA,CAAW,QAAQ,mBAAoB,SAAAZ,CAAA,CAAM,CAAA,CAAA,EAGhDS,MAAC,OAAI,UAAWF,EAAAA,GAAGM,EAAAA,0BAA2Bd,GAAW,OAAO,EAAI,SAAAE,CAAA,CAAS,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"components-card-info-card-info.cjs","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title: string;\n headerComponent?: React.ReactNode;\n children: React.ReactNode;\n className?: {\n borderLeft?: string;\n headerBackground?: string;\n card?: string;\n content?: string;\n };\n}\n\nexport const CardInfo = ({\n className,\n title,\n headerComponent,\n children,\n accent,\n size,\n ...props\n}: CardInfoProps) => {\n return (\n <Card\n className={cn(cardInfoVariants(), className?.card)}\n {...props}\n >\n <div\n className={cn(cardInfoLeftBorderVariants({ accent }), className?.borderLeft)}\n />\n\n <div\n className={cn(\n cardInfoHeaderVariants({ accent, size }),\n className?.headerBackground,\n )}\n >\n {headerComponent ? (\n headerComponent\n ) : (\n <Typography variant=\"body-lg-semibold\">{title}</Typography>\n )}\n </div>\n\n <div className={cn(cardInfoContentVariants(), className?.content)}>{children}</div>\n </Card>\n );\n};\n"],"names":["CardInfo","className","title","headerComponent","children","accent","size","props","jsxs","Card","cn","cardInfoVariants","jsx","cardInfoLeftBorderVariants","cardInfoHeaderVariants","Typography","cardInfoContentVariants"],"mappings":"+WA0BaA,EAAW,CAAC,CACvB,UAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,OAAAC,EACA,KAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,KAACC,EAAAA,KAAA,CACC,UAAWC,EAAAA,GAAGC,EAAAA,mBAAoBV,GAAW,IAAI,EAChD,GAAGM,EAEJ,SAAA,CAAAK,EAAAA,IAAC,MAAA,CACC,UAAWF,EAAAA,GAAGG,EAAAA,2BAA2B,CAAE,OAAAR,EAAQ,EAAGJ,GAAW,UAAU,CAAA,CAAA,EAG7EW,EAAAA,IAAC,MAAA,CACC,UAAWF,EAAAA,GACTI,yBAAuB,CAAE,OAAAT,EAAQ,KAAAC,EAAM,EACvCL,GAAW,gBAAA,EAGZ,YAGCW,MAACG,EAAAA,WAAA,CAAW,QAAQ,mBAAoB,SAAAb,CAAA,CAAM,CAAA,CAAA,EAIlDU,MAAC,OAAI,UAAWF,EAAAA,GAAGM,EAAAA,0BAA2Bf,GAAW,OAAO,EAAI,SAAAG,CAAA,CAAS,CAAA,CAAA,CAAA"}
@@ -1,43 +1,44 @@
1
1
  import { jsxs as m, jsx as o } from "react/jsx-runtime";
2
2
  import { cn as a } from "./lib-utils.js";
3
- import { Card as f } from "./components-ui-card-card.js";
4
- import { Typography as c } from "./components-ui-typography-typography.js";
3
+ import { Card as c } from "./components-ui-card-card.js";
4
+ import { Typography as s } from "./components-ui-typography-typography.js";
5
5
  import "./components-ui-typography-typography.styles.js";
6
- import { cardInfoLeftBorderVariants as s, cardInfoHeaderVariants as p, cardInfoContentVariants as l, cardInfoVariants as h } from "./components-card-info-card-info.styles.js";
7
- const y = ({
6
+ import { cardInfoLeftBorderVariants as p, cardInfoHeaderVariants as l, cardInfoContentVariants as I, cardInfoVariants as h } from "./components-card-info-card-info.styles.js";
7
+ const j = ({
8
8
  className: r,
9
9
  title: n,
10
+ headerComponent: d,
10
11
  children: t,
11
- accent: d,
12
- size: i,
13
- ...e
12
+ accent: i,
13
+ size: e,
14
+ ...f
14
15
  }) => /* @__PURE__ */ m(
15
- f,
16
+ c,
16
17
  {
17
18
  className: a(h(), r?.card),
18
- ...e,
19
+ ...f,
19
20
  children: [
20
21
  /* @__PURE__ */ o(
21
22
  "div",
22
23
  {
23
- className: a(s({ accent: d }), r?.borderLeft)
24
+ className: a(p({ accent: i }), r?.borderLeft)
24
25
  }
25
26
  ),
26
27
  /* @__PURE__ */ o(
27
28
  "div",
28
29
  {
29
30
  className: a(
30
- p({ accent: d, size: i }),
31
+ l({ accent: i, size: e }),
31
32
  r?.headerBackground
32
33
  ),
33
- children: /* @__PURE__ */ o(c, { variant: "body-lg-semibold", children: n })
34
+ children: d || /* @__PURE__ */ o(s, { variant: "body-lg-semibold", children: n })
34
35
  }
35
36
  ),
36
- /* @__PURE__ */ o("div", { className: a(l(), r?.content), children: t })
37
+ /* @__PURE__ */ o("div", { className: a(I(), r?.content), children: t })
37
38
  ]
38
39
  }
39
40
  );
40
41
  export {
41
- y as CardInfo
42
+ j as CardInfo
42
43
  };
43
44
  //# sourceMappingURL=components-card-info-card-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-card-info-card-info.js","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title: React.ReactNode;\n children: React.ReactNode;\n className?: {\n borderLeft?: string;\n headerBackground?: string;\n card?: string;\n content?: string;\n };\n}\n\nexport const CardInfo = ({\n className,\n title,\n children,\n accent,\n size,\n ...props\n}: CardInfoProps) => {\n return (\n <Card\n className={cn(cardInfoVariants(), className?.card)}\n {...props}\n >\n <div\n className={cn(cardInfoLeftBorderVariants({ accent }), className?.borderLeft)}\n />\n\n <div\n className={cn(\n cardInfoHeaderVariants({ accent, size }),\n className?.headerBackground,\n )}\n >\n <Typography variant=\"body-lg-semibold\">{title}</Typography>\n </div>\n\n <div className={cn(cardInfoContentVariants(), className?.content)}>{children}</div>\n </Card>\n );\n};\n"],"names":["CardInfo","className","title","children","accent","size","props","jsxs","Card","cn","cardInfoVariants","jsx","cardInfoLeftBorderVariants","cardInfoHeaderVariants","Typography","cardInfoContentVariants"],"mappings":";;;;;;AAyBO,MAAMA,IAAW,CAAC;AAAA,EACvB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAGC,KAAoBT,GAAW,IAAI;AAAA,IAChD,GAAGK;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAK;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF,EAAGG,EAA2B,EAAE,QAAAR,GAAQ,GAAGH,GAAW,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAG7E,gBAAAU;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,YACTI,EAAuB,EAAE,QAAAT,GAAQ,MAAAC,GAAM;AAAA,YACvCJ,GAAW;AAAA,UAAA;AAAA,UAGb,UAAA,gBAAAU,EAACG,GAAA,EAAW,SAAQ,oBAAoB,UAAAZ,EAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,MAGhD,gBAAAS,EAAC,SAAI,WAAWF,EAAGM,KAA2Bd,GAAW,OAAO,GAAI,UAAAE,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"components-card-info-card-info.js","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title: string;\n headerComponent?: React.ReactNode;\n children: React.ReactNode;\n className?: {\n borderLeft?: string;\n headerBackground?: string;\n card?: string;\n content?: string;\n };\n}\n\nexport const CardInfo = ({\n className,\n title,\n headerComponent,\n children,\n accent,\n size,\n ...props\n}: CardInfoProps) => {\n return (\n <Card\n className={cn(cardInfoVariants(), className?.card)}\n {...props}\n >\n <div\n className={cn(cardInfoLeftBorderVariants({ accent }), className?.borderLeft)}\n />\n\n <div\n className={cn(\n cardInfoHeaderVariants({ accent, size }),\n className?.headerBackground,\n )}\n >\n {headerComponent ? (\n headerComponent\n ) : (\n <Typography variant=\"body-lg-semibold\">{title}</Typography>\n )}\n </div>\n\n <div className={cn(cardInfoContentVariants(), className?.content)}>{children}</div>\n </Card>\n );\n};\n"],"names":["CardInfo","className","title","headerComponent","children","accent","size","props","jsxs","Card","cn","cardInfoVariants","jsx","cardInfoLeftBorderVariants","cardInfoHeaderVariants","Typography","cardInfoContentVariants"],"mappings":";;;;;;AA0BO,MAAMA,IAAW,CAAC;AAAA,EACvB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAGC,KAAoBV,GAAW,IAAI;AAAA,IAChD,GAAGM;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAK;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF,EAAGG,EAA2B,EAAE,QAAAR,GAAQ,GAAGJ,GAAW,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAG7E,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,YACTI,EAAuB,EAAE,QAAAT,GAAQ,MAAAC,GAAM;AAAA,YACvCL,GAAW;AAAA,UAAA;AAAA,UAGZ,eAGC,gBAAAW,EAACG,GAAA,EAAW,SAAQ,oBAAoB,UAAAb,EAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,MAIlD,gBAAAU,EAAC,SAAI,WAAWF,EAAGM,KAA2Bf,GAAW,OAAO,GAAI,UAAAG,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAAA;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),x=require("./utils-get-validation-state.cjs"),y=require("react"),a=require("./index.esm-ZdO9UZ3G.cjs"),R=require("./components-input-phone-input-phone.cjs"),j="+{7} (000) 000-00-00",A="+7 (000) 000-00-00",r=t=>t.replace(/\D/g,"").length>1,I=({name:t,rules:d,mask:p=j,placeholder:h=A,...o})=>{const[P,i]=y.useState(!1),{control:g,formState:{errors:S,touchedFields:f,isSubmitted:m}}=a.useFormContext();return l.jsx(a.Controller,{name:t,rules:d,control:g,render:({field:{onChange:u,onBlur:F,value:n="",ref:_}})=>{const s=typeof n=="string"?n:String(n??""),[E,q]=x.getValidationState(t,s,S,f,m),c=P||r(s);return l.jsx(R.InputPhone,{...o,name:t,mask:p,unmask:!1,lazy:!c,value:s,type:"tel",inputRef:_,onAccept:e=>{u(r(e)?e:"")},onFocus:e=>{i(!0),o.onFocus?.(e)},onBlur:e=>{r(e.currentTarget.value)||u(""),i(!1),F(),o.onBlur?.(e)},isValid:E,description:q,placeholder:c?void 0:h})}})};exports.FormInputPhone=I;
2
+ //# sourceMappingURL=components-forms-form-Input-phone.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-forms-form-Input-phone.cjs","sources":["../src/components/forms/form-Input-phone.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\nimport { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport type { InputProps } from \"../input-field\";\nimport { InputPhone } from \"../input-phone\";\n\nconst PHONE_MASK_PATTERN = \"+{7} (000) 000-00-00\";\nconst PHONE_PLACEHOLDER = \"+7 (000) 000-00-00\";\nconst hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n mask?: string;\n};\n\n// TODO: Доделать\nexport const FormInputPhone = ({\n name,\n rules,\n mask = PHONE_MASK_PATTERN,\n placeholder = PHONE_PLACEHOLDER,\n ...rest\n}: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputPhone\n {...rest}\n name={name}\n mask={mask}\n unmask={false}\n lazy={!shouldShowMask}\n value={inputValue}\n type=\"tel\"\n inputRef={ref}\n onAccept={(val: string) => {\n onChange(hasEnteredPhoneDigits(val) ? val : \"\");\n }}\n onFocus={(event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n }}\n onBlur={(event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n }}\n isValid={isValid}\n description={errorMsg}\n placeholder={shouldShowMask ? undefined : placeholder}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","PHONE_PLACEHOLDER","hasEnteredPhoneDigits","value","FormInputPhone","name","rules","mask","placeholder","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","useFormContext","jsx","Controller","onChange","onBlur","ref","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputPhone","val","event"],"mappings":"kRAMMA,EAAqB,uBACrBC,EAAoB,qBACpBC,EAAyBC,GAAkBA,EAAM,QAAQ,MAAO,EAAE,EAAE,OAAS,EAUtEC,EAAiB,CAAC,CAC7B,KAAAC,EACA,MAAAC,EACA,KAAAC,EAAOP,EACP,YAAAQ,EAAcP,EACd,GAAGQ,CACL,IAAa,CACX,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAK,EAC1C,CACJ,QAAAC,EACA,UAAW,CAAE,OAAAC,EAAQ,cAAAC,EAAe,YAAAC,CAAA,CAAY,EAC9CC,iBAAA,EAEJ,OACEC,EAAAA,IAACC,EAAAA,WAAA,CACC,KAAAd,EACA,MAAAC,EACA,QAAAO,EACA,OAAQ,CAAC,CAAE,MAAO,CAAE,SAAAO,EAAU,OAAAC,EAAQ,MAAAlB,EAAQ,GAAI,IAAAmB,CAAA,KAAY,CAC5D,MAAMC,EAAa,OAAOpB,GAAU,SAAWA,EAAQ,OAAOA,GAAS,EAAE,EACnE,CAACqB,EAASC,CAAQ,EAAIC,EAAAA,mBAC1BrB,EACAkB,EACAT,EACAC,EACAC,CAAA,EAEIW,EAAiBjB,GAAaR,EAAsBqB,CAAU,EAEpE,OACEL,EAAAA,IAACU,EAAAA,WAAA,CACE,GAAGnB,EACJ,KAAAJ,EACA,KAAAE,EACA,OAAQ,GACR,KAAM,CAACoB,EACP,MAAOJ,EACP,KAAK,MACL,SAAUD,EACV,SAAWO,GAAgB,CACzBT,EAASlB,EAAsB2B,CAAG,EAAIA,EAAM,EAAE,CAChD,EACA,QAAUC,GAA8C,CACtDnB,EAAa,EAAI,EACjBF,EAAK,UAAUqB,CAAK,CACtB,EACA,OAASA,GAA8C,CAChD5B,EAAsB4B,EAAM,cAAc,KAAK,GAClDV,EAAS,EAAE,EAEbT,EAAa,EAAK,EAClBU,EAAA,EACAZ,EAAK,SAASqB,CAAK,CACrB,EACA,QAAAN,EACA,YAAaC,EACb,YAAaE,EAAiB,OAAYnB,CAAA,CAAA,CAGhD,CAAA,CAAA,CAGN"}
@@ -0,0 +1,63 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import { getValidationState as x } from "./utils-get-validation-state.js";
3
+ import { useState as y } from "react";
4
+ import { a as C, C as D } from "./index.esm-CFsbc_Iq.js";
5
+ import { InputPhone as H } from "./components-input-phone-input-phone.js";
6
+ const I = "+{7} (000) 000-00-00", M = "+7 (000) 000-00-00", n = (t) => t.replace(/\D/g, "").length > 1, _ = ({
7
+ name: t,
8
+ rules: a,
9
+ mask: p = I,
10
+ placeholder: d = M,
11
+ ...r
12
+ }) => {
13
+ const [f, i] = y(!1), {
14
+ control: m,
15
+ formState: { errors: h, touchedFields: g, isSubmitted: F }
16
+ } = C();
17
+ return /* @__PURE__ */ l(
18
+ D,
19
+ {
20
+ name: t,
21
+ rules: a,
22
+ control: m,
23
+ render: ({ field: { onChange: c, onBlur: P, value: e = "", ref: S } }) => {
24
+ const s = typeof e == "string" ? e : String(e ?? ""), [E, A] = x(
25
+ t,
26
+ s,
27
+ h,
28
+ g,
29
+ F
30
+ ), u = f || n(s);
31
+ return /* @__PURE__ */ l(
32
+ H,
33
+ {
34
+ ...r,
35
+ name: t,
36
+ mask: p,
37
+ unmask: !1,
38
+ lazy: !u,
39
+ value: s,
40
+ type: "tel",
41
+ inputRef: S,
42
+ onAccept: (o) => {
43
+ c(n(o) ? o : "");
44
+ },
45
+ onFocus: (o) => {
46
+ i(!0), r.onFocus?.(o);
47
+ },
48
+ onBlur: (o) => {
49
+ n(o.currentTarget.value) || c(""), i(!1), P(), r.onBlur?.(o);
50
+ },
51
+ isValid: E,
52
+ description: A,
53
+ placeholder: u ? void 0 : d
54
+ }
55
+ );
56
+ }
57
+ }
58
+ );
59
+ };
60
+ export {
61
+ _ as FormInputPhone
62
+ };
63
+ //# sourceMappingURL=components-forms-form-Input-phone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-forms-form-Input-phone.js","sources":["../src/components/forms/form-Input-phone.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\nimport { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport type { InputProps } from \"../input-field\";\nimport { InputPhone } from \"../input-phone\";\n\nconst PHONE_MASK_PATTERN = \"+{7} (000) 000-00-00\";\nconst PHONE_PLACEHOLDER = \"+7 (000) 000-00-00\";\nconst hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n mask?: string;\n};\n\n// TODO: Доделать\nexport const FormInputPhone = ({\n name,\n rules,\n mask = PHONE_MASK_PATTERN,\n placeholder = PHONE_PLACEHOLDER,\n ...rest\n}: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputPhone\n {...rest}\n name={name}\n mask={mask}\n unmask={false}\n lazy={!shouldShowMask}\n value={inputValue}\n type=\"tel\"\n inputRef={ref}\n onAccept={(val: string) => {\n onChange(hasEnteredPhoneDigits(val) ? val : \"\");\n }}\n onFocus={(event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n }}\n onBlur={(event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n }}\n isValid={isValid}\n description={errorMsg}\n placeholder={shouldShowMask ? undefined : placeholder}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","PHONE_PLACEHOLDER","hasEnteredPhoneDigits","value","FormInputPhone","name","rules","mask","placeholder","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","useFormContext","jsx","Controller","onChange","onBlur","ref","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputPhone","val","event"],"mappings":";;;;;AAMA,MAAMA,IAAqB,wBACrBC,IAAoB,sBACpBC,IAAwB,CAACC,MAAkBA,EAAM,QAAQ,OAAO,EAAE,EAAE,SAAS,GAUtEC,IAAiB,CAAC;AAAA,EAC7B,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC,IAAOP;AAAA,EACP,aAAAQ,IAAcP;AAAA,EACd,GAAGQ;AACL,MAAa;AACX,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C;AAAA,IACJ,SAAAC;AAAA,IACA,WAAW,EAAE,QAAAC,GAAQ,eAAAC,GAAe,aAAAC,EAAA;AAAA,EAAY,IAC9CC,EAAA;AAEJ,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAd;AAAA,MACA,OAAAC;AAAA,MACA,SAAAO;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAO,GAAU,QAAAC,GAAQ,OAAAlB,IAAQ,IAAI,KAAAmB,EAAA,QAAY;AAC5D,cAAMC,IAAa,OAAOpB,KAAU,WAAWA,IAAQ,OAAOA,KAAS,EAAE,GACnE,CAACqB,GAASC,CAAQ,IAAIC;AAAA,UAC1BrB;AAAA,UACAkB;AAAA,UACAT;AAAA,UACAC;AAAA,UACAC;AAAA,QAAA,GAEIW,IAAiBjB,KAAaR,EAAsBqB,CAAU;AAEpE,eACE,gBAAAL;AAAA,UAACU;AAAA,UAAA;AAAA,YACE,GAAGnB;AAAA,YACJ,MAAAJ;AAAA,YACA,MAAAE;AAAA,YACA,QAAQ;AAAA,YACR,MAAM,CAACoB;AAAA,YACP,OAAOJ;AAAA,YACP,MAAK;AAAA,YACL,UAAUD;AAAA,YACV,UAAU,CAACO,MAAgB;AACzB,cAAAT,EAASlB,EAAsB2B,CAAG,IAAIA,IAAM,EAAE;AAAA,YAChD;AAAA,YACA,SAAS,CAACC,MAA8C;AACtD,cAAAnB,EAAa,EAAI,GACjBF,EAAK,UAAUqB,CAAK;AAAA,YACtB;AAAA,YACA,QAAQ,CAACA,MAA8C;AACrD,cAAK5B,EAAsB4B,EAAM,cAAc,KAAK,KAClDV,EAAS,EAAE,GAEbT,EAAa,EAAK,GAClBU,EAAA,GACAZ,EAAK,SAASqB,CAAK;AAAA,YACrB;AAAA,YACA,SAAAN;AAAA,YACA,aAAaC;AAAA,YACb,aAAaE,IAAiB,SAAYnB;AAAA,UAAA;AAAA,QAAA;AAAA,MAGhD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("./index.esm-ZdO9UZ3G.cjs"),l=require("./components-avatar-uploader-avatar-uploader.cjs"),u=({name:t,rules:o,...a})=>{const{control:n}=e.useFormContext();return r.jsx(e.Controller,{name:t,rules:o,control:n,render:({field:{onChange:s,value:c=""}})=>r.jsx(l.AvatarUpload,{...a,src:c,onChange:s})})};exports.FormAvatar=u;
2
+ //# sourceMappingURL=components-forms-form-avatar-uploader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-forms-form-avatar-uploader.cjs","sources":["../src/components/forms/form-avatar-uploader.tsx"],"sourcesContent":["import { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport { AvatarUpload, type AvatarUploadProps } from \"../avatar-uploader\";\n\ntype Props = Omit<AvatarUploadProps, \"onChange\" | \"src\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nexport const FormAvatar = ({ name, rules, ...rest }: Props) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, value = \"\" } }) => {\n return (\n <AvatarUpload\n {...rest}\n src={value}\n onChange={onChange}\n />\n );\n }}\n />\n );\n};\n"],"names":["FormAvatar","name","rules","rest","control","useFormContext","jsx","Controller","onChange","value","AvatarUpload"],"mappings":"yNASaA,EAAa,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,GAAGC,KAAkB,CAC7D,KAAM,CAAE,QAAAC,CAAA,EAAYC,iBAAA,EAEpB,OACEC,EAAAA,IAACC,EAAAA,WAAA,CACC,KAAAN,EACA,MAAAC,EACA,QAAAE,EACA,OAAQ,CAAC,CAAE,MAAO,CAAE,SAAAI,EAAU,MAAAC,EAAQ,EAAA,KAElCH,EAAAA,IAACI,EAAAA,aAAA,CACE,GAAGP,EACJ,IAAKM,EACL,SAAAD,CAAA,CAAA,CAGN,CAAA,CAGN"}
@@ -0,0 +1,26 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { a as s, C as l } from "./index.esm-CFsbc_Iq.js";
3
+ import { AvatarUpload as p } from "./components-avatar-uploader-avatar-uploader.js";
4
+ const d = ({ name: o, rules: t, ...e }) => {
5
+ const { control: a } = s();
6
+ return /* @__PURE__ */ r(
7
+ l,
8
+ {
9
+ name: o,
10
+ rules: t,
11
+ control: a,
12
+ render: ({ field: { onChange: m, value: n = "" } }) => /* @__PURE__ */ r(
13
+ p,
14
+ {
15
+ ...e,
16
+ src: n,
17
+ onChange: m
18
+ }
19
+ )
20
+ }
21
+ );
22
+ };
23
+ export {
24
+ d as FormAvatar
25
+ };
26
+ //# sourceMappingURL=components-forms-form-avatar-uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-forms-form-avatar-uploader.js","sources":["../src/components/forms/form-avatar-uploader.tsx"],"sourcesContent":["import { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport { AvatarUpload, type AvatarUploadProps } from \"../avatar-uploader\";\n\ntype Props = Omit<AvatarUploadProps, \"onChange\" | \"src\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nexport const FormAvatar = ({ name, rules, ...rest }: Props) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, value = \"\" } }) => {\n return (\n <AvatarUpload\n {...rest}\n src={value}\n onChange={onChange}\n />\n );\n }}\n />\n );\n};\n"],"names":["FormAvatar","name","rules","rest","control","useFormContext","jsx","Controller","onChange","value","AvatarUpload"],"mappings":";;;AASO,MAAMA,IAAa,CAAC,EAAE,MAAAC,GAAM,OAAAC,GAAO,GAAGC,QAAkB;AAC7D,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA;AAEpB,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAN;AAAA,MACA,OAAAC;AAAA,MACA,SAAAE;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAI,GAAU,OAAAC,IAAQ,GAAA,QAElC,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACE,GAAGP;AAAA,UACJ,KAAKM;AAAA,UACL,UAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,IAGN;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),E=require("./utils-get-validation-state.cjs"),M=require("react"),d=require("./index.esm-ZdO9UZ3G.cjs"),T=require("./components-input-contact-input-contact.cjs"),V="+7 (000) 000-00-00",j=({name:e,rules:g,...s})=>{const[S,u]=M.useState(!1),{control:m,formState:{errors:c,touchedFields:f,isSubmitted:F},setValue:i,clearErrors:y}=d.useFormContext(),a=t=>t.replace(/\D/g,"").length>1,P=t=>{i(`${e}.type`,t),i(`${e}.value`,""),y()};return p.jsx(d.Controller,{name:`${e}.value`,rules:g,control:m,render:({field:{onChange:t,onBlur:h,value:n="",ref:l}})=>{const C=c[e].value?.message,r=typeof n=="string"?n:String(n??""),[_,q]=E.getValidationState(e,r,c,f,F,C),x=S||a(r);return p.jsx(T.InputContact,{...s,inputProps:{ref:l,onChange:t},inputPhoneProps:{mask:V,unmask:!1,lazy:!x,type:"tel",inputRef:l,onAccept:t,onFocus:o=>{u(!0),s.onFocus?.(o)},onBlur:o=>{a(o.currentTarget.value)||t(""),u(!1),h(),s.onBlur?.(o)}},onTypeChange:P,isValid:_,description:q,name:e,value:r})}})};exports.FormContactInput=j;
2
+ //# sourceMappingURL=components-forms-form-contact-input.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-forms-form-contact-input.cjs","sources":["../src/components/forms/form-contact-input.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\n\nimport {\n Controller,\n useFormContext,\n type FieldError,\n type RegisterOptions,\n} from \"react-hook-form\";\nimport { InputContact, type TypesChange } from \"../input-contact\";\nimport type { InputProps } from \"../input-field\";\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nconst PHONE_MASK_PATTERN = \"+7 (000) 000-00-00\";\n\nexport const FormContactInput = ({ name, rules, ...rest }: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n setValue,\n clearErrors,\n } = useFormContext();\n\n const hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\n const onTypeChange = (newType: TypesChange) => {\n setValue(`${name}.type`, newType);\n setValue(`${name}.value`, \"\");\n clearErrors();\n };\n\n return (\n <Controller\n name={`${name}.value`}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const customErrMsg = (errors[name] as { value?: FieldError }).value?.message;\n\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n customErrMsg,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputContact\n {...rest}\n inputProps={{\n ref,\n onChange,\n }}\n inputPhoneProps={{\n mask: PHONE_MASK_PATTERN,\n unmask: false,\n lazy: !shouldShowMask,\n type: \"tel\",\n inputRef: ref,\n onAccept: onChange,\n onFocus: (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n },\n }}\n onTypeChange={onTypeChange}\n isValid={isValid}\n description={errorMsg}\n name={name}\n value={inputValue}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","FormContactInput","name","rules","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","setValue","clearErrors","useFormContext","hasEnteredPhoneDigits","value","onTypeChange","newType","jsx","Controller","onChange","onBlur","ref","customErrMsg","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputContact","event"],"mappings":"sRAkBMA,EAAqB,qBAEdC,EAAmB,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,GAAGC,KAAkB,CACnE,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAK,EAC1C,CACJ,QAAAC,EACA,UAAW,CAAE,OAAAC,EAAQ,cAAAC,EAAe,YAAAC,CAAA,EACpC,SAAAC,EACA,YAAAC,CAAA,EACEC,iBAAA,EAEEC,EAAyBC,GAAkBA,EAAM,QAAQ,MAAO,EAAE,EAAE,OAAS,EAE7EC,EAAgBC,GAAyB,CAC7CN,EAAS,GAAGV,CAAI,QAASgB,CAAO,EAChCN,EAAS,GAAGV,CAAI,SAAU,EAAE,EAC5BW,EAAA,CACF,EAEA,OACEM,EAAAA,IAACC,EAAAA,WAAA,CACC,KAAM,GAAGlB,CAAI,SACb,MAAAC,EACA,QAAAK,EACA,OAAQ,CAAC,CAAE,MAAO,CAAE,SAAAa,EAAU,OAAAC,EAAQ,MAAAN,EAAQ,GAAI,IAAAO,CAAA,KAAY,CAC5D,MAAMC,EAAgBf,EAAOP,CAAI,EAA6B,OAAO,QAE/DuB,EAAa,OAAOT,GAAU,SAAWA,EAAQ,OAAOA,GAAS,EAAE,EACnE,CAACU,EAASC,CAAQ,EAAIC,EAAAA,mBAC1B1B,EACAuB,EACAhB,EACAC,EACAC,EACAa,CAAA,EAEIK,EAAiBxB,GAAaU,EAAsBU,CAAU,EAEpE,OACEN,EAAAA,IAACW,EAAAA,aAAA,CACE,GAAG1B,EACJ,WAAY,CACV,IAAAmB,EACA,SAAAF,CAAA,EAEF,gBAAiB,CACf,KAAMrB,EACN,OAAQ,GACR,KAAM,CAAC6B,EACP,KAAM,MACN,SAAUN,EACV,SAAUF,EACV,QAAUU,GAA8C,CACtDzB,EAAa,EAAI,EACjBF,EAAK,UAAU2B,CAAK,CACtB,EACA,OAASA,GAA8C,CAChDhB,EAAsBgB,EAAM,cAAc,KAAK,GAClDV,EAAS,EAAE,EAEbf,EAAa,EAAK,EAClBgB,EAAA,EACAlB,EAAK,SAAS2B,CAAK,CACrB,CAAA,EAEF,aAAAd,EACA,QAAAS,EACA,YAAaC,EACb,KAAAzB,EACA,MAAOuB,CAAA,CAAA,CAGb,CAAA,CAAA,CAGN"}
@@ -0,0 +1,66 @@
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { getValidationState as T } from "./utils-get-validation-state.js";
3
+ import { useState as V } from "react";
4
+ import { a as k, C as x } from "./index.esm-CFsbc_Iq.js";
5
+ import { InputContact as A } from "./components-input-contact-input-contact.js";
6
+ const I = "+7 (000) 000-00-00", R = ({ name: o, rules: m, ...s }) => {
7
+ const [d, u] = V(!1), {
8
+ control: f,
9
+ formState: { errors: c, touchedFields: g, isSubmitted: F },
10
+ setValue: i,
11
+ clearErrors: S
12
+ } = k(), a = (t) => t.replace(/\D/g, "").length > 1, h = (t) => {
13
+ i(`${o}.type`, t), i(`${o}.value`, ""), S();
14
+ };
15
+ return /* @__PURE__ */ p(
16
+ x,
17
+ {
18
+ name: `${o}.value`,
19
+ rules: m,
20
+ control: f,
21
+ render: ({ field: { onChange: t, onBlur: P, value: e = "", ref: l } }) => {
22
+ const y = c[o].value?.message, n = typeof e == "string" ? e : String(e ?? ""), [E, C] = T(
23
+ o,
24
+ n,
25
+ c,
26
+ g,
27
+ F,
28
+ y
29
+ ), M = d || a(n);
30
+ return /* @__PURE__ */ p(
31
+ A,
32
+ {
33
+ ...s,
34
+ inputProps: {
35
+ ref: l,
36
+ onChange: t
37
+ },
38
+ inputPhoneProps: {
39
+ mask: I,
40
+ unmask: !1,
41
+ lazy: !M,
42
+ type: "tel",
43
+ inputRef: l,
44
+ onAccept: t,
45
+ onFocus: (r) => {
46
+ u(!0), s.onFocus?.(r);
47
+ },
48
+ onBlur: (r) => {
49
+ a(r.currentTarget.value) || t(""), u(!1), P(), s.onBlur?.(r);
50
+ }
51
+ },
52
+ onTypeChange: h,
53
+ isValid: E,
54
+ description: C,
55
+ name: o,
56
+ value: n
57
+ }
58
+ );
59
+ }
60
+ }
61
+ );
62
+ };
63
+ export {
64
+ R as FormContactInput
65
+ };
66
+ //# sourceMappingURL=components-forms-form-contact-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-forms-form-contact-input.js","sources":["../src/components/forms/form-contact-input.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\n\nimport {\n Controller,\n useFormContext,\n type FieldError,\n type RegisterOptions,\n} from \"react-hook-form\";\nimport { InputContact, type TypesChange } from \"../input-contact\";\nimport type { InputProps } from \"../input-field\";\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nconst PHONE_MASK_PATTERN = \"+7 (000) 000-00-00\";\n\nexport const FormContactInput = ({ name, rules, ...rest }: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n setValue,\n clearErrors,\n } = useFormContext();\n\n const hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\n const onTypeChange = (newType: TypesChange) => {\n setValue(`${name}.type`, newType);\n setValue(`${name}.value`, \"\");\n clearErrors();\n };\n\n return (\n <Controller\n name={`${name}.value`}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const customErrMsg = (errors[name] as { value?: FieldError }).value?.message;\n\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n customErrMsg,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputContact\n {...rest}\n inputProps={{\n ref,\n onChange,\n }}\n inputPhoneProps={{\n mask: PHONE_MASK_PATTERN,\n unmask: false,\n lazy: !shouldShowMask,\n type: \"tel\",\n inputRef: ref,\n onAccept: onChange,\n onFocus: (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n },\n }}\n onTypeChange={onTypeChange}\n isValid={isValid}\n description={errorMsg}\n name={name}\n value={inputValue}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","FormContactInput","name","rules","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","setValue","clearErrors","useFormContext","hasEnteredPhoneDigits","value","onTypeChange","newType","jsx","Controller","onChange","onBlur","ref","customErrMsg","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputContact","event"],"mappings":";;;;;AAkBA,MAAMA,IAAqB,sBAEdC,IAAmB,CAAC,EAAE,MAAAC,GAAM,OAAAC,GAAO,GAAGC,QAAkB;AACnE,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C;AAAA,IACJ,SAAAC;AAAA,IACA,WAAW,EAAE,QAAAC,GAAQ,eAAAC,GAAe,aAAAC,EAAA;AAAA,IACpC,UAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACEC,EAAA,GAEEC,IAAwB,CAACC,MAAkBA,EAAM,QAAQ,OAAO,EAAE,EAAE,SAAS,GAE7EC,IAAe,CAACC,MAAyB;AAC7C,IAAAN,EAAS,GAAGV,CAAI,SAASgB,CAAO,GAChCN,EAAS,GAAGV,CAAI,UAAU,EAAE,GAC5BW,EAAA;AAAA,EACF;AAEA,SACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM,GAAGlB,CAAI;AAAA,MACb,OAAAC;AAAA,MACA,SAAAK;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAa,GAAU,QAAAC,GAAQ,OAAAN,IAAQ,IAAI,KAAAO,EAAA,QAAY;AAC5D,cAAMC,IAAgBf,EAAOP,CAAI,EAA6B,OAAO,SAE/DuB,IAAa,OAAOT,KAAU,WAAWA,IAAQ,OAAOA,KAAS,EAAE,GACnE,CAACU,GAASC,CAAQ,IAAIC;AAAA,UAC1B1B;AAAA,UACAuB;AAAA,UACAhB;AAAA,UACAC;AAAA,UACAC;AAAA,UACAa;AAAA,QAAA,GAEIK,IAAiBxB,KAAaU,EAAsBU,CAAU;AAEpE,eACE,gBAAAN;AAAA,UAACW;AAAA,UAAA;AAAA,YACE,GAAG1B;AAAA,YACJ,YAAY;AAAA,cACV,KAAAmB;AAAA,cACA,UAAAF;AAAA,YAAA;AAAA,YAEF,iBAAiB;AAAA,cACf,MAAMrB;AAAA,cACN,QAAQ;AAAA,cACR,MAAM,CAAC6B;AAAA,cACP,MAAM;AAAA,cACN,UAAUN;AAAA,cACV,UAAUF;AAAA,cACV,SAAS,CAACU,MAA8C;AACtD,gBAAAzB,EAAa,EAAI,GACjBF,EAAK,UAAU2B,CAAK;AAAA,cACtB;AAAA,cACA,QAAQ,CAACA,MAA8C;AACrD,gBAAKhB,EAAsBgB,EAAM,cAAc,KAAK,KAClDV,EAAS,EAAE,GAEbf,EAAa,EAAK,GAClBgB,EAAA,GACAlB,EAAK,SAAS2B,CAAK;AAAA,cACrB;AAAA,YAAA;AAAA,YAEF,cAAAd;AAAA,YACA,SAAAS;AAAA,YACA,aAAaC;AAAA,YACb,MAAAzB;AAAA,YACA,OAAOuB;AAAA,UAAA;AAAA,QAAA;AAAA,MAGb;AAAA,IAAA;AAAA,EAAA;AAGN;"}