@skybin-tech/nebula-ui 0.0.26 → 0.0.28

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 (293) hide show
  1. package/README.md +6 -4
  2. package/dist/cjs/_virtual/_rolldown/runtime.cjs +24 -0
  3. package/dist/cjs/components/Accordion/Accordion.cjs +20 -10
  4. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  5. package/dist/cjs/components/Alert/Alert.cjs +19 -9
  6. package/dist/cjs/components/Alert/Alert.cjs.map +1 -1
  7. package/dist/cjs/components/Avatar/Avatar.cjs +19 -9
  8. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  9. package/dist/cjs/components/Badge/Badge.cjs +8 -7
  10. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  11. package/dist/cjs/components/Button/Button.cjs +37 -47
  12. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  13. package/dist/cjs/components/Card/Card.cjs +31 -12
  14. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  15. package/dist/cjs/components/Checkbox/Checkbox.cjs +12 -7
  16. package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  17. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +55 -21
  18. package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  19. package/dist/cjs/components/Form/Checkbox.cjs +128 -142
  20. package/dist/cjs/components/Form/Checkbox.cjs.map +1 -1
  21. package/dist/cjs/components/Form/Form.cjs +106 -105
  22. package/dist/cjs/components/Form/Form.cjs.map +1 -1
  23. package/dist/cjs/components/Form/FormSwitch.cjs +126 -0
  24. package/dist/cjs/components/Form/FormSwitch.cjs.map +1 -0
  25. package/dist/cjs/components/Form/Radio.cjs +157 -172
  26. package/dist/cjs/components/Form/Radio.cjs.map +1 -1
  27. package/dist/cjs/components/Form/Select.cjs +131 -0
  28. package/dist/cjs/components/Form/Select.cjs.map +1 -0
  29. package/dist/cjs/components/Form/TextArea.cjs +137 -152
  30. package/dist/cjs/components/Form/TextArea.cjs.map +1 -1
  31. package/dist/cjs/components/Form/TextBox.cjs +184 -206
  32. package/dist/cjs/components/Form/TextBox.cjs.map +1 -1
  33. package/dist/cjs/components/Form/context.cjs +109 -122
  34. package/dist/cjs/components/Form/context.cjs.map +1 -1
  35. package/dist/cjs/components/Form/hooks.cjs +34 -24
  36. package/dist/cjs/components/Form/hooks.cjs.map +1 -1
  37. package/dist/cjs/components/Form/index.cjs +29 -0
  38. package/dist/cjs/components/Form/variants.cjs +14 -14
  39. package/dist/cjs/components/Form/variants.cjs.map +1 -1
  40. package/dist/cjs/components/Input/Input.cjs +11 -7
  41. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  42. package/dist/cjs/components/Label/Label.cjs +11 -7
  43. package/dist/cjs/components/Label/Label.cjs.map +1 -1
  44. package/dist/cjs/components/Pagination/Pagination.cjs +58 -95
  45. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  46. package/dist/cjs/components/Separator/Separator.cjs +11 -7
  47. package/dist/cjs/components/Separator/Separator.cjs.map +1 -1
  48. package/dist/cjs/components/Skeleton/Skeleton.cjs +7 -6
  49. package/dist/cjs/components/Skeleton/Skeleton.cjs.map +1 -1
  50. package/dist/cjs/components/Switch/Switch.cjs +14 -0
  51. package/dist/cjs/components/Switch/Switch.cjs.map +1 -0
  52. package/dist/cjs/components/Tabs/Tabs.cjs +23 -10
  53. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  54. package/dist/cjs/components/Textarea/Textarea.cjs +11 -7
  55. package/dist/cjs/components/Textarea/Textarea.cjs.map +1 -1
  56. package/dist/cjs/components/Tooltip/Tooltip.cjs +14 -10
  57. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  58. package/dist/cjs/hooks/useDebounce.cjs +22 -14
  59. package/dist/cjs/hooks/useDebounce.cjs.map +1 -1
  60. package/dist/cjs/hooks/useToast.cjs +105 -84
  61. package/dist/cjs/hooks/useToast.cjs.map +1 -1
  62. package/dist/cjs/hooks/useToggle.cjs +15 -9
  63. package/dist/cjs/hooks/useToggle.cjs.map +1 -1
  64. package/dist/cjs/index.cjs +172 -170
  65. package/dist/cjs/primitives/accordion.cjs +38 -61
  66. package/dist/cjs/primitives/accordion.cjs.map +1 -1
  67. package/dist/cjs/primitives/alert.cjs +33 -63
  68. package/dist/cjs/primitives/alert.cjs.map +1 -1
  69. package/dist/cjs/primitives/avatar.cjs +29 -58
  70. package/dist/cjs/primitives/avatar.cjs.map +1 -1
  71. package/dist/cjs/primitives/badge.cjs +26 -27
  72. package/dist/cjs/primitives/badge.cjs.map +1 -1
  73. package/dist/cjs/primitives/button.cjs +44 -63
  74. package/dist/cjs/primitives/button.cjs.map +1 -1
  75. package/dist/cjs/primitives/calendar.cjs +41 -44
  76. package/dist/cjs/primitives/calendar.cjs.map +1 -1
  77. package/dist/cjs/primitives/card.cjs +39 -70
  78. package/dist/cjs/primitives/card.cjs.map +1 -1
  79. package/dist/cjs/primitives/checkbox.cjs +22 -45
  80. package/dist/cjs/primitives/checkbox.cjs.map +1 -1
  81. package/dist/cjs/primitives/command.cjs +65 -73
  82. package/dist/cjs/primitives/command.cjs.map +1 -1
  83. package/dist/cjs/primitives/dialog.cjs +55 -84
  84. package/dist/cjs/primitives/dialog.cjs.map +1 -1
  85. package/dist/cjs/primitives/dropdown-menu.cjs +82 -153
  86. package/dist/cjs/primitives/dropdown-menu.cjs.map +1 -1
  87. package/dist/cjs/primitives/input.cjs +17 -39
  88. package/dist/cjs/primitives/input.cjs.map +1 -1
  89. package/dist/cjs/primitives/label.cjs +19 -38
  90. package/dist/cjs/primitives/label.cjs.map +1 -1
  91. package/dist/cjs/primitives/popover.cjs +22 -42
  92. package/dist/cjs/primitives/popover.cjs.map +1 -1
  93. package/dist/cjs/primitives/radio-group.cjs +31 -50
  94. package/dist/cjs/primitives/radio-group.cjs.map +1 -1
  95. package/dist/cjs/primitives/scroll-area.cjs +33 -55
  96. package/dist/cjs/primitives/scroll-area.cjs.map +1 -1
  97. package/dist/cjs/primitives/select.cjs +76 -133
  98. package/dist/cjs/primitives/select.cjs.map +1 -1
  99. package/dist/cjs/primitives/separator.cjs +20 -42
  100. package/dist/cjs/primitives/separator.cjs.map +1 -1
  101. package/dist/cjs/primitives/skeleton.cjs +10 -12
  102. package/dist/cjs/primitives/skeleton.cjs.map +1 -1
  103. package/dist/cjs/primitives/sonner.cjs +16 -20
  104. package/dist/cjs/primitives/sonner.cjs.map +1 -1
  105. package/dist/cjs/primitives/switch.cjs +19 -45
  106. package/dist/cjs/primitives/switch.cjs.map +1 -1
  107. package/dist/cjs/primitives/table.cjs +52 -61
  108. package/dist/cjs/primitives/table.cjs.map +1 -1
  109. package/dist/cjs/primitives/tabs.cjs +30 -62
  110. package/dist/cjs/primitives/tabs.cjs.map +1 -1
  111. package/dist/cjs/primitives/textarea.cjs +15 -35
  112. package/dist/cjs/primitives/textarea.cjs.map +1 -1
  113. package/dist/cjs/primitives/textbox.cjs +17 -39
  114. package/dist/cjs/primitives/textbox.cjs.map +1 -1
  115. package/dist/cjs/primitives/toast.cjs +59 -107
  116. package/dist/cjs/primitives/toast.cjs.map +1 -1
  117. package/dist/cjs/primitives/toggle.cjs +39 -55
  118. package/dist/cjs/primitives/toggle.cjs.map +1 -1
  119. package/dist/cjs/primitives/tooltip.cjs +21 -41
  120. package/dist/cjs/primitives/tooltip.cjs.map +1 -1
  121. package/dist/cjs/utils/cn.cjs +11 -6
  122. package/dist/cjs/utils/cn.cjs.map +1 -1
  123. package/dist/components/Accordion/Accordion.js +20 -13
  124. package/dist/components/Accordion/Accordion.js.map +1 -1
  125. package/dist/components/Alert/Alert.js +19 -11
  126. package/dist/components/Alert/Alert.js.map +1 -1
  127. package/dist/components/Avatar/Avatar.js +19 -11
  128. package/dist/components/Avatar/Avatar.js.map +1 -1
  129. package/dist/components/Badge/Badge.d.ts +1 -1
  130. package/dist/components/Badge/Badge.d.ts.map +1 -1
  131. package/dist/components/Badge/Badge.js +8 -8
  132. package/dist/components/Badge/Badge.js.map +1 -1
  133. package/dist/components/Button/Button.js +37 -48
  134. package/dist/components/Button/Button.js.map +1 -1
  135. package/dist/components/Card/Card.js +31 -17
  136. package/dist/components/Card/Card.js.map +1 -1
  137. package/dist/components/Checkbox/Checkbox.js +12 -7
  138. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  139. package/dist/components/DropdownMenu/DropdownMenu.d.ts +4 -4
  140. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  141. package/dist/components/DropdownMenu/DropdownMenu.js +55 -35
  142. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  143. package/dist/components/Form/Checkbox.js +126 -140
  144. package/dist/components/Form/Checkbox.js.map +1 -1
  145. package/dist/components/Form/Form.d.ts +1 -1
  146. package/dist/components/Form/Form.d.ts.map +1 -1
  147. package/dist/components/Form/Form.js +104 -103
  148. package/dist/components/Form/Form.js.map +1 -1
  149. package/dist/components/Form/{Switch.d.ts → FormSwitch.d.ts} +3 -3
  150. package/dist/components/Form/FormSwitch.d.ts.map +1 -0
  151. package/dist/components/Form/FormSwitch.js +126 -0
  152. package/dist/components/Form/FormSwitch.js.map +1 -0
  153. package/dist/components/Form/Radio.d.ts +1 -1
  154. package/dist/components/Form/Radio.d.ts.map +1 -1
  155. package/dist/components/Form/Radio.js +155 -171
  156. package/dist/components/Form/Radio.js.map +1 -1
  157. package/dist/components/Form/Select.d.ts +1 -1
  158. package/dist/components/Form/Select.d.ts.map +1 -1
  159. package/dist/components/Form/Select.js +131 -0
  160. package/dist/components/Form/Select.js.map +1 -0
  161. package/dist/components/Form/TextArea.js +134 -149
  162. package/dist/components/Form/TextArea.js.map +1 -1
  163. package/dist/components/Form/TextBox.js +179 -201
  164. package/dist/components/Form/TextBox.js.map +1 -1
  165. package/dist/components/Form/context.d.ts +3 -5
  166. package/dist/components/Form/context.d.ts.map +1 -1
  167. package/dist/components/Form/context.js +109 -125
  168. package/dist/components/Form/context.js.map +1 -1
  169. package/dist/components/Form/hooks.js +35 -28
  170. package/dist/components/Form/hooks.js.map +1 -1
  171. package/dist/components/Form/index.d.ts +4 -4
  172. package/dist/components/Form/index.d.ts.map +1 -1
  173. package/dist/components/Form/index.js +11 -0
  174. package/dist/components/Form/variants.js +15 -14
  175. package/dist/components/Form/variants.js.map +1 -1
  176. package/dist/components/Input/Input.js +11 -7
  177. package/dist/components/Input/Input.js.map +1 -1
  178. package/dist/components/Label/Label.js +11 -7
  179. package/dist/components/Label/Label.js.map +1 -1
  180. package/dist/components/Pagination/Pagination.d.ts +5 -5
  181. package/dist/components/Pagination/Pagination.js +55 -83
  182. package/dist/components/Pagination/Pagination.js.map +1 -1
  183. package/dist/components/Separator/Separator.js +11 -7
  184. package/dist/components/Separator/Separator.js.map +1 -1
  185. package/dist/components/Skeleton/Skeleton.d.ts +1 -1
  186. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  187. package/dist/components/Skeleton/Skeleton.js +7 -6
  188. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  189. package/dist/components/Switch/Switch.d.ts +4 -1
  190. package/dist/components/Switch/Switch.d.ts.map +1 -1
  191. package/dist/components/Switch/Switch.js +14 -0
  192. package/dist/components/Switch/Switch.js.map +1 -0
  193. package/dist/components/Switch/index.d.ts +1 -0
  194. package/dist/components/Switch/index.d.ts.map +1 -1
  195. package/dist/components/Tabs/Tabs.js +23 -13
  196. package/dist/components/Tabs/Tabs.js.map +1 -1
  197. package/dist/components/Textarea/Textarea.js +11 -7
  198. package/dist/components/Textarea/Textarea.js.map +1 -1
  199. package/dist/components/Tooltip/Tooltip.js +14 -13
  200. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  201. package/dist/hooks/useDebounce.js +23 -15
  202. package/dist/hooks/useDebounce.js.map +1 -1
  203. package/dist/hooks/useToast.js +103 -69
  204. package/dist/hooks/useToast.js.map +1 -1
  205. package/dist/hooks/useToggle.js +16 -10
  206. package/dist/hooks/useToggle.js.map +1 -1
  207. package/dist/index.d.ts +6 -2
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +30 -160
  210. package/dist/primitives/accordion.js +32 -43
  211. package/dist/primitives/accordion.js.map +1 -1
  212. package/dist/primitives/alert.js +30 -47
  213. package/dist/primitives/alert.js.map +1 -1
  214. package/dist/primitives/avatar.js +22 -38
  215. package/dist/primitives/avatar.js.map +1 -1
  216. package/dist/primitives/badge.d.ts +1 -1
  217. package/dist/primitives/badge.d.ts.map +1 -1
  218. package/dist/primitives/badge.js +23 -27
  219. package/dist/primitives/badge.js.map +1 -1
  220. package/dist/primitives/button.js +41 -46
  221. package/dist/primitives/button.js.map +1 -1
  222. package/dist/primitives/calendar.d.ts +1 -1
  223. package/dist/primitives/calendar.d.ts.map +1 -1
  224. package/dist/primitives/calendar.js +37 -42
  225. package/dist/primitives/calendar.js.map +1 -1
  226. package/dist/primitives/card.js +37 -58
  227. package/dist/primitives/card.js.map +1 -1
  228. package/dist/primitives/checkbox.js +17 -25
  229. package/dist/primitives/checkbox.js.map +1 -1
  230. package/dist/primitives/command.d.ts +2 -2
  231. package/dist/primitives/command.d.ts.map +1 -1
  232. package/dist/primitives/command.js +70 -71
  233. package/dist/primitives/command.js.map +1 -1
  234. package/dist/primitives/dialog.d.ts +2 -2
  235. package/dist/primitives/dialog.js +47 -70
  236. package/dist/primitives/dialog.js.map +1 -1
  237. package/dist/primitives/dropdown-menu.d.ts +1 -1
  238. package/dist/primitives/dropdown-menu.js +70 -140
  239. package/dist/primitives/dropdown-menu.js.map +1 -1
  240. package/dist/primitives/input.js +15 -22
  241. package/dist/primitives/input.js.map +1 -1
  242. package/dist/primitives/label.js +14 -18
  243. package/dist/primitives/label.js.map +1 -1
  244. package/dist/primitives/popover.js +17 -25
  245. package/dist/primitives/popover.js.map +1 -1
  246. package/dist/primitives/radio-group.js +25 -30
  247. package/dist/primitives/radio-group.js.map +1 -1
  248. package/dist/primitives/scroll-area.js +27 -35
  249. package/dist/primitives/scroll-area.js.map +1 -1
  250. package/dist/primitives/select.js +65 -116
  251. package/dist/primitives/select.js.map +1 -1
  252. package/dist/primitives/separator.js +15 -22
  253. package/dist/primitives/separator.js.map +1 -1
  254. package/dist/primitives/skeleton.d.ts +1 -1
  255. package/dist/primitives/skeleton.d.ts.map +1 -1
  256. package/dist/primitives/skeleton.js +10 -12
  257. package/dist/primitives/skeleton.js.map +1 -1
  258. package/dist/primitives/sonner.d.ts +1 -1
  259. package/dist/primitives/sonner.d.ts.map +1 -1
  260. package/dist/primitives/sonner.js +17 -21
  261. package/dist/primitives/sonner.js.map +1 -1
  262. package/dist/primitives/switch.js +14 -25
  263. package/dist/primitives/switch.js.map +1 -1
  264. package/dist/primitives/table.js +50 -51
  265. package/dist/primitives/table.js.map +1 -1
  266. package/dist/primitives/tabs.js +23 -43
  267. package/dist/primitives/tabs.js.map +1 -1
  268. package/dist/primitives/textarea.js +13 -18
  269. package/dist/primitives/textarea.js.map +1 -1
  270. package/dist/primitives/textbox.js +15 -22
  271. package/dist/primitives/textbox.js.map +1 -1
  272. package/dist/primitives/toast.js +48 -87
  273. package/dist/primitives/toast.js.map +1 -1
  274. package/dist/primitives/toggle.js +34 -36
  275. package/dist/primitives/toggle.js.map +1 -1
  276. package/dist/primitives/tooltip.js +16 -24
  277. package/dist/primitives/tooltip.js.map +1 -1
  278. package/dist/stories/Button.d.ts +1 -1
  279. package/dist/stories/Button.d.ts.map +1 -1
  280. package/dist/stories/Button.stories.d.ts +1 -1
  281. package/dist/stories/Header.d.ts +1 -1
  282. package/dist/stories/Header.d.ts.map +1 -1
  283. package/dist/stories/Header.stories.d.ts +1 -1
  284. package/dist/utils/cn.js +10 -5
  285. package/dist/utils/cn.js.map +1 -1
  286. package/package.json +503 -497
  287. package/dist/cjs/components/Form/Switch.cjs +0 -126
  288. package/dist/cjs/components/Form/Switch.cjs.map +0 -1
  289. package/dist/cjs/index.cjs.map +0 -1
  290. package/dist/components/Form/Switch.d.ts.map +0 -1
  291. package/dist/components/Form/Switch.js +0 -126
  292. package/dist/components/Form/Switch.js.map +0 -1
  293. package/dist/index.js.map +0 -1
@@ -1,132 +1,119 @@
1
1
  "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const React = require("react");
5
- const zod = require("zod");
6
- const defaultFormConfig = {
7
- showInlineErrors: true,
8
- validateOnBlur: true,
9
- validateOnChange: false,
10
- size: "md",
11
- layout: "vertical",
12
- disabled: false,
13
- colon: true
2
+ "use client";
3
+ let react = require("react");
4
+ let zod = require("zod");
5
+ //#region src/components/Form/context.ts
6
+ /**
7
+ * Default form configuration
8
+ */
9
+ var defaultFormConfig = {
10
+ showInlineErrors: true,
11
+ validateOnBlur: true,
12
+ validateOnChange: false,
13
+ size: "md",
14
+ layout: "vertical",
15
+ disabled: false,
16
+ colon: true
14
17
  };
15
- const FormConfigContext = React.createContext(null);
18
+ /**
19
+ * Form context for sharing form state and configuration
20
+ */
21
+ var FormConfigContext = (0, react.createContext)(null);
22
+ /**
23
+ * Build a Zod schema from validation rules
24
+ */
16
25
  function buildZodSchemaFromRules(type, rules) {
17
- const getValueAndMessage = (rule, defaultMessage) => {
18
- if (rule === void 0) return null;
19
- if (typeof rule === "object" && rule !== null && "value" in rule) {
20
- return rule;
21
- }
22
- return { value: rule, message: defaultMessage };
23
- };
24
- if (type === "string") {
25
- let schema = zod.z.string();
26
- const minLengthRule = getValueAndMessage(
27
- rules.minLength,
28
- `Minimum ${typeof rules.minLength === "number" ? rules.minLength : rules.minLength?.value} characters required`
29
- );
30
- if (minLengthRule) {
31
- schema = schema.min(minLengthRule.value, minLengthRule.message);
32
- }
33
- const maxLengthRule = getValueAndMessage(
34
- rules.maxLength,
35
- `Maximum ${typeof rules.maxLength === "number" ? rules.maxLength : rules.maxLength?.value} characters allowed`
36
- );
37
- if (maxLengthRule) {
38
- schema = schema.max(maxLengthRule.value, maxLengthRule.message);
39
- }
40
- if (rules.pattern !== void 0) {
41
- const patternRule = rules.pattern instanceof RegExp ? { value: rules.pattern, message: "Invalid format" } : rules.pattern;
42
- schema = schema.regex(patternRule.value, patternRule.message);
43
- }
44
- if (rules.email) {
45
- const message = typeof rules.email === "string" ? rules.email : "Invalid email address";
46
- schema = schema.email(message);
47
- }
48
- if (rules.url) {
49
- const message = typeof rules.url === "string" ? rules.url : "Invalid URL";
50
- schema = schema.url(message);
51
- }
52
- if (rules.required) {
53
- const message = typeof rules.required === "string" ? rules.required : "This field is required";
54
- schema = schema.min(1, message);
55
- return schema;
56
- }
57
- return schema.optional();
58
- }
59
- if (type === "number") {
60
- let schema = zod.z.coerce.number();
61
- const minRule = getValueAndMessage(
62
- rules.min,
63
- `Minimum value is ${typeof rules.min === "number" ? rules.min : rules.min?.value}`
64
- );
65
- if (minRule) {
66
- schema = schema.min(minRule.value, minRule.message);
67
- }
68
- const maxRule = getValueAndMessage(
69
- rules.max,
70
- `Maximum value is ${typeof rules.max === "number" ? rules.max : rules.max?.value}`
71
- );
72
- if (maxRule) {
73
- schema = schema.max(maxRule.value, maxRule.message);
74
- }
75
- if (!rules.required) {
76
- return schema.optional();
77
- }
78
- return schema;
79
- }
80
- if (type === "boolean") {
81
- const schema = zod.z.boolean();
82
- if (rules.required) {
83
- return schema.refine((val) => val === true, {
84
- message: typeof rules.required === "string" ? rules.required : "This field is required"
85
- });
86
- }
87
- return schema.optional();
88
- }
89
- if (type === "date") {
90
- const schema = zod.z.coerce.date();
91
- if (!rules.required) {
92
- return schema.optional();
93
- }
94
- return schema;
95
- }
96
- if (type === "array") {
97
- let schema = zod.z.array(zod.z.unknown());
98
- if (rules.required) {
99
- const message = typeof rules.required === "string" ? rules.required : "This field is required";
100
- schema = schema.min(1, message);
101
- }
102
- return schema;
103
- }
104
- return zod.z.unknown();
26
+ const getValueAndMessage = (rule, defaultMessage) => {
27
+ if (rule === void 0) return null;
28
+ if (typeof rule === "object" && rule !== null && "value" in rule) return rule;
29
+ return {
30
+ value: rule,
31
+ message: defaultMessage
32
+ };
33
+ };
34
+ if (type === "string") {
35
+ let schema = zod.z.string();
36
+ const minLengthRule = getValueAndMessage(rules.minLength, `Minimum ${typeof rules.minLength === "number" ? rules.minLength : rules.minLength?.value} characters required`);
37
+ if (minLengthRule) schema = schema.min(minLengthRule.value, minLengthRule.message);
38
+ const maxLengthRule = getValueAndMessage(rules.maxLength, `Maximum ${typeof rules.maxLength === "number" ? rules.maxLength : rules.maxLength?.value} characters allowed`);
39
+ if (maxLengthRule) schema = schema.max(maxLengthRule.value, maxLengthRule.message);
40
+ if (rules.pattern !== void 0) {
41
+ const patternRule = rules.pattern instanceof RegExp ? {
42
+ value: rules.pattern,
43
+ message: "Invalid format"
44
+ } : rules.pattern;
45
+ schema = schema.regex(patternRule.value, patternRule.message);
46
+ }
47
+ if (rules.email) {
48
+ const message = typeof rules.email === "string" ? rules.email : "Invalid email address";
49
+ schema = schema.email(message);
50
+ }
51
+ if (rules.url) {
52
+ const message = typeof rules.url === "string" ? rules.url : "Invalid URL";
53
+ schema = schema.url(message);
54
+ }
55
+ if (rules.required) {
56
+ const message = typeof rules.required === "string" ? rules.required : "This field is required";
57
+ schema = schema.min(1, message);
58
+ return schema;
59
+ }
60
+ return schema.optional();
61
+ }
62
+ if (type === "number") {
63
+ let schema = zod.z.coerce.number();
64
+ const minRule = getValueAndMessage(rules.min, `Minimum value is ${typeof rules.min === "number" ? rules.min : rules.min?.value}`);
65
+ if (minRule) schema = schema.min(minRule.value, minRule.message);
66
+ const maxRule = getValueAndMessage(rules.max, `Maximum value is ${typeof rules.max === "number" ? rules.max : rules.max?.value}`);
67
+ if (maxRule) schema = schema.max(maxRule.value, maxRule.message);
68
+ if (!rules.required) return schema.optional();
69
+ return schema;
70
+ }
71
+ if (type === "boolean") {
72
+ const schema = zod.z.boolean();
73
+ if (rules.required) return schema.refine((val) => val === true, { message: typeof rules.required === "string" ? rules.required : "This field is required" });
74
+ return schema.optional();
75
+ }
76
+ if (type === "date") {
77
+ const schema = zod.z.coerce.date();
78
+ if (!rules.required) return schema.optional();
79
+ return schema;
80
+ }
81
+ if (type === "array") {
82
+ let schema = zod.z.array(zod.z.unknown());
83
+ if (rules.required) {
84
+ const message = typeof rules.required === "string" ? rules.required : "This field is required";
85
+ schema = schema.min(1, message);
86
+ }
87
+ return schema;
88
+ }
89
+ return zod.z.unknown();
105
90
  }
91
+ /**
92
+ * Hook to manage field validations
93
+ */
106
94
  function useFieldValidationRegistry() {
107
- const fieldsRef = React.useRef(/* @__PURE__ */ new Map());
108
- const registerFieldValidation = React.useCallback((field) => {
109
- fieldsRef.current.set(field.name, field);
110
- }, []);
111
- const unregisterFieldValidation = React.useCallback((name) => {
112
- fieldsRef.current.delete(name);
113
- }, []);
114
- const getValidationSchema = React.useCallback(() => {
115
- const shape = {};
116
- fieldsRef.current.forEach((field) => {
117
- shape[field.name] = buildZodSchemaFromRules(field.type, field.rules);
118
- });
119
- return zod.z.object(shape);
120
- }, []);
121
- return {
122
- registerFieldValidation,
123
- unregisterFieldValidation,
124
- getValidationSchema,
125
- fieldsRef
126
- };
95
+ const fieldsRef = (0, react.useRef)(/* @__PURE__ */ new Map());
96
+ return {
97
+ registerFieldValidation: (0, react.useCallback)((field) => {
98
+ fieldsRef.current.set(field.name, field);
99
+ }, []),
100
+ unregisterFieldValidation: (0, react.useCallback)((name) => {
101
+ fieldsRef.current.delete(name);
102
+ }, []),
103
+ getValidationSchema: (0, react.useCallback)(() => {
104
+ const shape = {};
105
+ fieldsRef.current.forEach((field) => {
106
+ shape[field.name] = buildZodSchemaFromRules(field.type, field.rules);
107
+ });
108
+ return zod.z.object(shape);
109
+ }, []),
110
+ fieldsRef
111
+ };
127
112
  }
113
+ //#endregion
128
114
  exports.FormConfigContext = FormConfigContext;
129
115
  exports.buildZodSchemaFromRules = buildZodSchemaFromRules;
130
116
  exports.defaultFormConfig = defaultFormConfig;
131
117
  exports.useFieldValidationRegistry = useFieldValidationRegistry;
132
- //# sourceMappingURL=context.cjs.map
118
+
119
+ //# sourceMappingURL=context.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.cjs","sources":["../../../../src/components/Form/context.ts"],"sourcesContent":["'use client';\n\nimport { createContext, useCallback, useRef } from \"react\";\r\nimport type { UseFormReturn, FieldValues } from \"react-hook-form\";\r\nimport { z } from \"zod\";\r\n\r\n/**\r\n * Validation rule types that can be applied to form fields\r\n */\r\nexport interface FieldValidationRules {\r\n /** Field is required */\r\n required?: boolean | string;\r\n /** Minimum length for strings */\r\n minLength?: number | { value: number; message: string };\r\n /** Maximum length for strings */\r\n maxLength?: number | { value: number; message: string };\r\n /** Minimum value for numbers */\r\n min?: number | { value: number; message: string };\r\n /** Maximum value for numbers */\r\n max?: number | { value: number; message: string };\r\n /** Regex pattern for validation */\r\n pattern?: RegExp | { value: RegExp; message: string };\r\n /** Email validation */\r\n email?: boolean | string;\r\n /** URL validation */\r\n url?: boolean | string;\r\n /** Custom validation function */\r\n validate?: (value: unknown) => boolean | string | Promise<boolean | string>;\r\n}\r\n\r\n/**\r\n * Form configuration options\r\n */\r\nexport interface FormConfig {\r\n /** Show validation errors inline */\r\n showInlineErrors?: boolean;\r\n /** Validate on blur */\r\n validateOnBlur?: boolean;\r\n /** Validate on change */\r\n validateOnChange?: boolean;\r\n /** Size of form controls */\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n /** Layout direction */\r\n layout?: \"horizontal\" | \"vertical\" | \"inline\";\r\n /** Label width for horizontal layout */\r\n labelWidth?: string | number;\r\n /** Whether form is disabled */\r\n disabled?: boolean;\r\n /** Colon after label */\r\n colon?: boolean;\r\n}\r\n\r\n/**\r\n * Field registration info\r\n */\r\nexport interface FieldRegistration {\r\n name: string;\r\n type: \"string\" | \"number\" | \"boolean\" | \"date\" | \"array\";\r\n rules: FieldValidationRules;\r\n}\r\n\r\n/**\r\n * Form context value\r\n */\r\nexport interface FormContextValue<TFieldValues extends FieldValues = FieldValues>\r\n extends FormConfig {\r\n form: UseFormReturn<TFieldValues>;\r\n /** Register a field's validation rules */\r\n registerFieldValidation: (field: FieldRegistration) => void;\r\n /** Unregister a field's validation rules */\r\n unregisterFieldValidation: (name: string) => void;\r\n /** Get current validation schema */\r\n getValidationSchema: () => z.ZodObject<Record<string, z.ZodTypeAny>>;\r\n /** Trigger validation for a specific field */\r\n triggerValidation: (name: string) => Promise<boolean>;\r\n}\r\n\r\n/**\r\n * Default form configuration\r\n */\r\nexport const defaultFormConfig: FormConfig = {\r\n showInlineErrors: true,\r\n validateOnBlur: true,\r\n validateOnChange: false,\r\n size: \"md\",\r\n layout: \"vertical\",\r\n disabled: false,\r\n colon: true,\r\n};\r\n\r\n/**\r\n * Form context for sharing form state and configuration\r\n */\r\nexport const FormConfigContext = createContext<FormContextValue | null>(null);\r\n\r\n/**\r\n * Build a Zod schema from validation rules\r\n */\r\nexport function buildZodSchemaFromRules(\r\n type: FieldRegistration[\"type\"],\r\n rules: FieldValidationRules\r\n): z.ZodTypeAny {\r\n // Helper to extract value and message\r\n const getValueAndMessage = <T>(\r\n rule: T | { value: T; message: string } | undefined,\r\n defaultMessage: string\r\n ): { value: T; message: string } | null => {\r\n if (rule === undefined) return null;\r\n if (typeof rule === \"object\" && rule !== null && \"value\" in rule) {\r\n return rule as { value: T; message: string };\r\n }\r\n return { value: rule as T, message: defaultMessage };\r\n };\r\n\r\n // Build string schema\r\n if (type === \"string\") {\r\n let schema = z.string();\r\n\r\n const minLengthRule = getValueAndMessage(\r\n rules.minLength,\r\n `Minimum ${typeof rules.minLength === \"number\" ? rules.minLength : (rules.minLength as { value: number })?.value} characters required`\r\n );\r\n if (minLengthRule) {\r\n schema = schema.min(minLengthRule.value as number, minLengthRule.message);\r\n }\r\n\r\n const maxLengthRule = getValueAndMessage(\r\n rules.maxLength,\r\n `Maximum ${typeof rules.maxLength === \"number\" ? rules.maxLength : (rules.maxLength as { value: number })?.value} characters allowed`\r\n );\r\n if (maxLengthRule) {\r\n schema = schema.max(maxLengthRule.value as number, maxLengthRule.message);\r\n }\r\n\r\n if (rules.pattern !== undefined) {\r\n const patternRule = rules.pattern instanceof RegExp\r\n ? { value: rules.pattern, message: \"Invalid format\" }\r\n : rules.pattern;\r\n schema = schema.regex(patternRule.value, patternRule.message);\r\n }\r\n\r\n if (rules.email) {\r\n const message = typeof rules.email === \"string\" ? rules.email : \"Invalid email address\";\r\n schema = schema.email(message);\r\n }\r\n\r\n if (rules.url) {\r\n const message = typeof rules.url === \"string\" ? rules.url : \"Invalid URL\";\r\n schema = schema.url(message);\r\n }\r\n\r\n // Handle required - for strings, require non-empty\r\n if (rules.required) {\r\n const message = typeof rules.required === \"string\" ? rules.required : \"This field is required\";\r\n schema = schema.min(1, message);\r\n return schema;\r\n }\r\n\r\n return schema.optional();\r\n }\r\n\r\n // Build number schema\r\n if (type === \"number\") {\r\n let schema = z.coerce.number();\r\n\r\n const minRule = getValueAndMessage(\r\n rules.min,\r\n `Minimum value is ${typeof rules.min === \"number\" ? rules.min : (rules.min as { value: number })?.value}`\r\n );\r\n if (minRule) {\r\n schema = schema.min(minRule.value as number, minRule.message);\r\n }\r\n\r\n const maxRule = getValueAndMessage(\r\n rules.max,\r\n `Maximum value is ${typeof rules.max === \"number\" ? rules.max : (rules.max as { value: number })?.value}`\r\n );\r\n if (maxRule) {\r\n schema = schema.max(maxRule.value as number, maxRule.message);\r\n }\r\n\r\n if (!rules.required) {\r\n return schema.optional();\r\n }\r\n return schema;\r\n }\r\n\r\n // Build boolean schema\r\n if (type === \"boolean\") {\r\n const schema = z.boolean();\r\n if (rules.required) {\r\n // For required boolean, must be true (like accepting terms)\r\n return schema.refine((val) => val === true, {\r\n message: typeof rules.required === \"string\" ? rules.required : \"This field is required\",\r\n });\r\n }\r\n return schema.optional();\r\n }\r\n\r\n // Build date schema\r\n if (type === \"date\") {\r\n const schema = z.coerce.date();\r\n if (!rules.required) {\r\n return schema.optional();\r\n }\r\n return schema;\r\n }\r\n\r\n // Build array schema\r\n if (type === \"array\") {\r\n let schema = z.array(z.unknown());\r\n if (rules.required) {\r\n const message = typeof rules.required === \"string\" ? rules.required : \"This field is required\";\r\n schema = schema.min(1, message);\r\n }\r\n return schema;\r\n }\r\n\r\n // Default fallback\r\n return z.unknown();\r\n}\r\n\r\n/**\r\n * Hook to manage field validations\r\n */\r\nexport function useFieldValidationRegistry() {\r\n const fieldsRef = useRef<Map<string, FieldRegistration>>(new Map());\r\n\r\n const registerFieldValidation = useCallback((field: FieldRegistration) => {\r\n fieldsRef.current.set(field.name, field);\r\n }, []);\r\n\r\n const unregisterFieldValidation = useCallback((name: string) => {\r\n fieldsRef.current.delete(name);\r\n }, []);\r\n\r\n const getValidationSchema = useCallback(() => {\r\n const shape: Record<string, z.ZodTypeAny> = {};\r\n \r\n fieldsRef.current.forEach((field) => {\r\n shape[field.name] = buildZodSchemaFromRules(field.type, field.rules);\r\n });\r\n\r\n return z.object(shape);\r\n }, []);\r\n\r\n return {\r\n registerFieldValidation,\r\n unregisterFieldValidation,\r\n getValidationSchema,\r\n fieldsRef,\r\n };\r\n}\r\n"],"names":["createContext","z","useRef","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"context.cjs","names":[],"sources":["../../../../src/components/Form/context.ts"],"sourcesContent":["'use client';\n\nimport { createContext, useCallback, useRef } from \"react\";\r\nimport type { UseFormReturn, FieldValues } from \"react-hook-form\";\r\nimport { z } from \"zod\";\r\n\r\n/**\r\n * Validation rule types that can be applied to form fields\r\n */\r\nexport interface FieldValidationRules {\r\n /** Field is required */\r\n required?: boolean | string;\r\n /** Minimum length for strings */\r\n minLength?: number | { value: number; message: string };\r\n /** Maximum length for strings */\r\n maxLength?: number | { value: number; message: string };\r\n /** Minimum value for numbers */\r\n min?: number | { value: number; message: string };\r\n /** Maximum value for numbers */\r\n max?: number | { value: number; message: string };\r\n /** Regex pattern for validation */\r\n pattern?: RegExp | { value: RegExp; message: string };\r\n /** Email validation */\r\n email?: boolean | string;\r\n /** URL validation */\r\n url?: boolean | string;\r\n /** Custom validation function */\r\n validate?: (value: unknown) => boolean | string | Promise<boolean | string>;\r\n}\r\n\r\n/**\r\n * Form configuration options\r\n */\r\nexport interface FormConfig {\r\n /** Show validation errors inline */\r\n showInlineErrors?: boolean;\r\n /** Validate on blur */\r\n validateOnBlur?: boolean;\r\n /** Validate on change */\r\n validateOnChange?: boolean;\r\n /** Size of form controls */\r\n size?: \"sm\" | \"md\" | \"lg\";\r\n /** Layout direction */\r\n layout?: \"horizontal\" | \"vertical\" | \"inline\";\r\n /** Label width for horizontal layout */\r\n labelWidth?: string | number;\r\n /** Whether form is disabled */\r\n disabled?: boolean;\r\n /** Colon after label */\r\n colon?: boolean;\r\n}\r\n\r\n/**\r\n * Field registration info\r\n */\r\nexport interface FieldRegistration {\r\n name: string;\r\n type: \"string\" | \"number\" | \"boolean\" | \"date\" | \"array\";\r\n rules: FieldValidationRules;\r\n}\r\n\r\n/**\r\n * Form context value\r\n */\r\nexport interface FormContextValue<TFieldValues extends FieldValues = FieldValues>\r\n extends FormConfig {\r\n form: UseFormReturn<TFieldValues>;\r\n /** Register a field's validation rules */\r\n registerFieldValidation: (field: FieldRegistration) => void;\r\n /** Unregister a field's validation rules */\r\n unregisterFieldValidation: (name: string) => void;\r\n /** Get current validation schema */\r\n getValidationSchema: () => z.ZodObject<Record<string, z.ZodTypeAny>>;\r\n /** Trigger validation for a specific field */\r\n triggerValidation: (name: string) => Promise<boolean>;\r\n}\r\n\r\n/**\r\n * Default form configuration\r\n */\r\nexport const defaultFormConfig: FormConfig = {\r\n showInlineErrors: true,\r\n validateOnBlur: true,\r\n validateOnChange: false,\r\n size: \"md\",\r\n layout: \"vertical\",\r\n disabled: false,\r\n colon: true,\r\n};\r\n\r\n/**\r\n * Form context for sharing form state and configuration\r\n */\r\nexport const FormConfigContext = createContext<FormContextValue | null>(null);\r\n\r\n/**\r\n * Build a Zod schema from validation rules\r\n */\r\nexport function buildZodSchemaFromRules(\r\n type: FieldRegistration[\"type\"],\r\n rules: FieldValidationRules\r\n): z.ZodTypeAny {\r\n // Helper to extract value and message\r\n const getValueAndMessage = <T>(\r\n rule: T | { value: T; message: string } | undefined,\r\n defaultMessage: string\r\n ): { value: T; message: string } | null => {\r\n if (rule === undefined) return null;\r\n if (typeof rule === \"object\" && rule !== null && \"value\" in rule) {\r\n return rule as { value: T; message: string };\r\n }\r\n return { value: rule as T, message: defaultMessage };\r\n };\r\n\r\n // Build string schema\r\n if (type === \"string\") {\r\n let schema = z.string();\r\n\r\n const minLengthRule = getValueAndMessage(\r\n rules.minLength,\r\n `Minimum ${typeof rules.minLength === \"number\" ? rules.minLength : (rules.minLength as { value: number })?.value} characters required`\r\n );\r\n if (minLengthRule) {\r\n schema = schema.min(minLengthRule.value as number, minLengthRule.message);\r\n }\r\n\r\n const maxLengthRule = getValueAndMessage(\r\n rules.maxLength,\r\n `Maximum ${typeof rules.maxLength === \"number\" ? rules.maxLength : (rules.maxLength as { value: number })?.value} characters allowed`\r\n );\r\n if (maxLengthRule) {\r\n schema = schema.max(maxLengthRule.value as number, maxLengthRule.message);\r\n }\r\n\r\n if (rules.pattern !== undefined) {\r\n const patternRule = rules.pattern instanceof RegExp\r\n ? { value: rules.pattern, message: \"Invalid format\" }\r\n : rules.pattern;\r\n schema = schema.regex(patternRule.value, patternRule.message);\r\n }\r\n\r\n if (rules.email) {\r\n const message = typeof rules.email === \"string\" ? rules.email : \"Invalid email address\";\r\n schema = schema.email(message);\r\n }\r\n\r\n if (rules.url) {\r\n const message = typeof rules.url === \"string\" ? rules.url : \"Invalid URL\";\r\n schema = schema.url(message);\r\n }\r\n\r\n // Handle required - for strings, require non-empty\r\n if (rules.required) {\r\n const message = typeof rules.required === \"string\" ? rules.required : \"This field is required\";\r\n schema = schema.min(1, message);\r\n return schema;\r\n }\r\n\r\n return schema.optional();\r\n }\r\n\r\n // Build number schema\r\n if (type === \"number\") {\r\n let schema = z.coerce.number();\r\n\r\n const minRule = getValueAndMessage(\r\n rules.min,\r\n `Minimum value is ${typeof rules.min === \"number\" ? rules.min : (rules.min as { value: number })?.value}`\r\n );\r\n if (minRule) {\r\n schema = schema.min(minRule.value as number, minRule.message);\r\n }\r\n\r\n const maxRule = getValueAndMessage(\r\n rules.max,\r\n `Maximum value is ${typeof rules.max === \"number\" ? rules.max : (rules.max as { value: number })?.value}`\r\n );\r\n if (maxRule) {\r\n schema = schema.max(maxRule.value as number, maxRule.message);\r\n }\r\n\r\n if (!rules.required) {\r\n return schema.optional();\r\n }\r\n return schema;\r\n }\r\n\r\n // Build boolean schema\r\n if (type === \"boolean\") {\r\n const schema = z.boolean();\r\n if (rules.required) {\r\n // For required boolean, must be true (like accepting terms)\r\n return schema.refine((val) => val === true, {\r\n message: typeof rules.required === \"string\" ? rules.required : \"This field is required\",\r\n });\r\n }\r\n return schema.optional();\r\n }\r\n\r\n // Build date schema\r\n if (type === \"date\") {\r\n const schema = z.coerce.date();\r\n if (!rules.required) {\r\n return schema.optional();\r\n }\r\n return schema;\r\n }\r\n\r\n // Build array schema\r\n if (type === \"array\") {\r\n let schema = z.array(z.unknown());\r\n if (rules.required) {\r\n const message = typeof rules.required === \"string\" ? rules.required : \"This field is required\";\r\n schema = schema.min(1, message);\r\n }\r\n return schema;\r\n }\r\n\r\n // Default fallback\r\n return z.unknown();\r\n}\r\n\r\n/**\r\n * Hook to manage field validations\r\n */\r\nexport function useFieldValidationRegistry() {\r\n const fieldsRef = useRef<Map<string, FieldRegistration>>(new Map());\r\n\r\n const registerFieldValidation = useCallback((field: FieldRegistration) => {\r\n fieldsRef.current.set(field.name, field);\r\n }, []);\r\n\r\n const unregisterFieldValidation = useCallback((name: string) => {\r\n fieldsRef.current.delete(name);\r\n }, []);\r\n\r\n const getValidationSchema = useCallback(() => {\r\n const shape: Record<string, z.ZodTypeAny> = {};\r\n \r\n fieldsRef.current.forEach((field) => {\r\n shape[field.name] = buildZodSchemaFromRules(field.type, field.rules);\r\n });\r\n\r\n return z.object(shape);\r\n }, []);\r\n\r\n return {\r\n registerFieldValidation,\r\n unregisterFieldValidation,\r\n getValidationSchema,\r\n fieldsRef,\r\n };\r\n}\r\n"],"mappings":"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"}
@@ -1,37 +1,47 @@
1
1
  "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const React = require("react");
5
- const reactHookForm = require("react-hook-form");
6
- const context = require("./context.cjs");
2
+ "use client";
3
+ const require_context = require("./context.cjs");
4
+ let react = require("react");
5
+ let react_hook_form = require("react-hook-form");
6
+ //#region src/components/Form/hooks.ts
7
+ /**
8
+ * Hook to access form configuration context
9
+ */
7
10
  function useFormConfig() {
8
- const context$1 = React.useContext(context.FormConfigContext);
9
- if (!context$1) {
10
- throw new Error("useFormConfig must be used within a Form component");
11
- }
12
- return context$1;
11
+ const context = (0, react.useContext)(require_context.FormConfigContext);
12
+ if (!context) throw new Error("useFormConfig must be used within a Form component");
13
+ return context;
13
14
  }
15
+ /**
16
+ * Hook to access react-hook-form context directly
17
+ */
14
18
  function useForm() {
15
- return reactHookForm.useFormContext();
19
+ return (0, react_hook_form.useFormContext)();
16
20
  }
21
+ /**
22
+ * Hook to create a controlled field with form context awareness
23
+ */
17
24
  function useFormField(props) {
18
- const { form, ...config } = useFormConfig();
19
- const controller = reactHookForm.useController({
20
- ...props,
21
- control: form.control
22
- });
23
- return {
24
- ...controller,
25
- config
26
- };
25
+ const { form, ...config } = useFormConfig();
26
+ return {
27
+ ...(0, react_hook_form.useController)({
28
+ ...props,
29
+ control: form.control
30
+ }),
31
+ config
32
+ };
27
33
  }
34
+ /**
35
+ * Hook to get field error
36
+ */
28
37
  function useFieldError(name) {
29
- const { form } = useFormConfig();
30
- const error = form.formState.errors[name];
31
- return error?.message;
38
+ const { form } = useFormConfig();
39
+ return form.formState.errors[name]?.message;
32
40
  }
41
+ //#endregion
33
42
  exports.useFieldError = useFieldError;
34
43
  exports.useForm = useForm;
35
44
  exports.useFormConfig = useFormConfig;
36
45
  exports.useFormField = useFormField;
37
- //# sourceMappingURL=hooks.cjs.map
46
+
47
+ //# sourceMappingURL=hooks.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.cjs","sources":["../../../../src/components/Form/hooks.ts"],"sourcesContent":["'use client';\n\nimport { useContext } from \"react\";\r\nimport {\r\n useFormContext as useRHFFormContext,\r\n useController,\r\n type FieldValues,\r\n type FieldPath,\r\n type UseControllerProps,\r\n type UseControllerReturn,\r\n} from \"react-hook-form\";\r\nimport { FormConfigContext, type FormContextValue, type FormConfig } from \"./context\";\r\n\r\n/**\r\n * Hook to access form configuration context\r\n */\r\nexport function useFormConfig<TFieldValues extends FieldValues = FieldValues>(): FormContextValue<TFieldValues> {\r\n const context = useContext(FormConfigContext) as FormContextValue<TFieldValues> | null;\r\n if (!context) {\r\n throw new Error(\"useFormConfig must be used within a Form component\");\r\n }\r\n return context;\r\n}\r\n\r\n/**\r\n * Hook to access react-hook-form context directly\r\n */\r\nexport function useForm<TFieldValues extends FieldValues = FieldValues>() {\r\n return useRHFFormContext<TFieldValues>();\r\n}\r\n\r\n/**\r\n * Hook to create a controlled field with form context awareness\r\n */\r\nexport function useFormField<\r\n TFieldValues extends FieldValues = FieldValues,\r\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n>(\r\n props: UseControllerProps<TFieldValues, TName>\r\n): UseControllerReturn<TFieldValues, TName> & { config: FormConfig } {\r\n const { form, ...config } = useFormConfig<TFieldValues>();\r\n const controller = useController<TFieldValues, TName>({\r\n ...props,\r\n control: form.control,\r\n });\r\n\r\n return {\r\n ...controller,\r\n config,\r\n };\r\n}\r\n\r\n/**\r\n * Hook to get field error\r\n */\r\nexport function useFieldError<\r\n TFieldValues extends FieldValues = FieldValues,\r\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n>(name: TName): string | undefined {\r\n const { form } = useFormConfig<TFieldValues>();\r\n const error = form.formState.errors[name];\r\n return error?.message as string | undefined;\r\n}\r\n"],"names":["context","useContext","FormConfigContext","useRHFFormContext","useController"],"mappings":";;;;;;AAgBO,SAAS,gBAAgG;AAC9G,QAAMA,YAAUC,MAAAA,WAAWC,yBAAiB;AAC5C,MAAI,CAACF,WAAS;AACZ,UAAM,IAAI,MAAM,oDAAoD;AAAA,EACtE;AACA,SAAOA;AACT;AAKO,SAAS,UAA0D;AACxE,SAAOG,6BAAA;AACT;AAKO,SAAS,aAId,OACmE;AACnE,QAAM,EAAE,MAAM,GAAG,OAAA,IAAW,cAAA;AAC5B,QAAM,aAAaC,cAAAA,cAAmC;AAAA,IACpD,GAAG;AAAA,IACH,SAAS,KAAK;AAAA,EAAA,CACf;AAED,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EAAA;AAEJ;AAKO,SAAS,cAGd,MAAiC;AACjC,QAAM,EAAE,KAAA,IAAS,cAAA;AACjB,QAAM,QAAQ,KAAK,UAAU,OAAO,IAAI;AACxC,SAAO,OAAO;AAChB;;;;;"}
1
+ {"version":3,"file":"hooks.cjs","names":[],"sources":["../../../../src/components/Form/hooks.ts"],"sourcesContent":["'use client';\n\nimport { useContext } from \"react\";\r\nimport {\r\n useFormContext as useRHFFormContext,\r\n useController,\r\n type FieldValues,\r\n type FieldPath,\r\n type UseControllerProps,\r\n type UseControllerReturn,\r\n} from \"react-hook-form\";\r\nimport { FormConfigContext, type FormContextValue, type FormConfig } from \"./context\";\r\n\r\n/**\r\n * Hook to access form configuration context\r\n */\r\nexport function useFormConfig<TFieldValues extends FieldValues = FieldValues>(): FormContextValue<TFieldValues> {\r\n const context = useContext(FormConfigContext) as FormContextValue<TFieldValues> | null;\r\n if (!context) {\r\n throw new Error(\"useFormConfig must be used within a Form component\");\r\n }\r\n return context;\r\n}\r\n\r\n/**\r\n * Hook to access react-hook-form context directly\r\n */\r\nexport function useForm<TFieldValues extends FieldValues = FieldValues>() {\r\n return useRHFFormContext<TFieldValues>();\r\n}\r\n\r\n/**\r\n * Hook to create a controlled field with form context awareness\r\n */\r\nexport function useFormField<\r\n TFieldValues extends FieldValues = FieldValues,\r\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n>(\r\n props: UseControllerProps<TFieldValues, TName>\r\n): UseControllerReturn<TFieldValues, TName> & { config: FormConfig } {\r\n const { form, ...config } = useFormConfig<TFieldValues>();\r\n const controller = useController<TFieldValues, TName>({\r\n ...props,\r\n control: form.control,\r\n });\r\n\r\n return {\r\n ...controller,\r\n config,\r\n };\r\n}\r\n\r\n/**\r\n * Hook to get field error\r\n */\r\nexport function useFieldError<\r\n TFieldValues extends FieldValues = FieldValues,\r\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\r\n>(name: TName): string | undefined {\r\n const { form } = useFormConfig<TFieldValues>();\r\n const error = form.formState.errors[name];\r\n return error?.message as string | undefined;\r\n}\r\n"],"mappings":";;;;;;;;;AAgBA,SAAgB,gBAAgG;CAC9G,MAAM,WAAA,GAAA,MAAA,WAAA,CAAqB,gBAAA,iBAAiB;CAC5C,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,oDAAoD;CAEtE,OAAO;AACT;;;;AAKA,SAAgB,UAA0D;CACxE,QAAA,GAAA,gBAAA,eAAA,CAAuC;AACzC;;;;AAKA,SAAgB,aAId,OACmE;CACnE,MAAM,EAAE,MAAM,GAAG,WAAW,cAA4B;CAMxD,OAAO;EACL,IAAA,GAAA,gBAAA,cAAA,CANoD;GACpD,GAAG;GACH,SAAS,KAAK;EAChB,CAGK;EACH;CACF;AACF;;;;AAKA,SAAgB,cAGd,MAAiC;CACjC,MAAM,EAAE,SAAS,cAA4B;CAE7C,OADc,KAAK,UAAU,OAAO,KAC7B,EAAO;AAChB"}
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_context = require("./context.cjs");
4
+ const require_Form = require("./Form.cjs");
5
+ const require_TextBox = require("./TextBox.cjs");
6
+ const require_TextArea = require("./TextArea.cjs");
7
+ const require_Select = require("./Select.cjs");
8
+ const require_Checkbox = require("./Checkbox.cjs");
9
+ const require_Radio = require("./Radio.cjs");
10
+ const require_FormSwitch = require("./FormSwitch.cjs");
11
+ const require_hooks = require("./hooks.cjs");
12
+ exports.Checkbox = require_Checkbox.Checkbox;
13
+ exports.Form = require_Form.Form;
14
+ exports.FormCheckbox = require_Checkbox.Checkbox;
15
+ exports.FormConfigContext = require_context.FormConfigContext;
16
+ exports.FormSelect = require_Select.Select;
17
+ exports.FormSwitch = require_FormSwitch.FormSwitch;
18
+ exports.RadioGroup = require_Radio.RadioGroup;
19
+ exports.RadioItem = require_Radio.RadioItem;
20
+ exports.Select = require_Select.Select;
21
+ exports.TextArea = require_TextArea.TextArea;
22
+ exports.TextBox = require_TextBox.TextBox;
23
+ exports.buildZodSchemaFromRules = require_context.buildZodSchemaFromRules;
24
+ exports.defaultFormConfig = require_context.defaultFormConfig;
25
+ exports.useFieldError = require_hooks.useFieldError;
26
+ exports.useFieldValidationRegistry = require_context.useFieldValidationRegistry;
27
+ exports.useForm = require_hooks.useForm;
28
+ exports.useFormConfig = require_hooks.useFormConfig;
29
+ exports.useFormField = require_hooks.useFormField;
@@ -1,17 +1,17 @@
1
1
  "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const classVarianceAuthority = require("class-variance-authority");
5
- const labelVariants = classVarianceAuthority.cva("block text-sm font-medium mb-1.5", {
6
- variants: {
7
- required: {
8
- true: "after:content-['*'] after:ml-0.5 after:text-destructive",
9
- false: ""
10
- }
11
- },
12
- defaultVariants: {
13
- required: false
14
- }
2
+ //#region src/components/Form/variants.ts
3
+ /**
4
+ * Shared label variant for all form field components.
5
+ * Shows a required asterisk when required=true.
6
+ */
7
+ var labelVariants = (0, require("class-variance-authority").cva)("block text-sm font-medium mb-1.5", {
8
+ variants: { required: {
9
+ true: "after:content-['*'] after:ml-0.5 after:text-destructive",
10
+ false: ""
11
+ } },
12
+ defaultVariants: { required: false }
15
13
  });
14
+ //#endregion
16
15
  exports.labelVariants = labelVariants;
17
- //# sourceMappingURL=variants.cjs.map
16
+
17
+ //# sourceMappingURL=variants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"variants.cjs","sources":["../../../../src/components/Form/variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\r\n\r\n/**\r\n * Shared label variant for all form field components.\r\n * Shows a required asterisk when required=true.\r\n */\r\nexport const labelVariants = cva(\"block text-sm font-medium mb-1.5\", {\r\n variants: {\r\n required: {\r\n true: \"after:content-['*'] after:ml-0.5 after:text-destructive\",\r\n false: \"\",\r\n },\r\n },\r\n defaultVariants: {\r\n required: false,\r\n },\r\n});\r\n"],"names":["cva"],"mappings":";;;;AAMO,MAAM,gBAAgBA,uBAAAA,IAAI,oCAAoC;AAAA,EACnE,UAAU;AAAA,IACR,UAAU;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EACT;AAAA,EAEF,iBAAiB;AAAA,IACf,UAAU;AAAA,EAAA;AAEd,CAAC;;"}
1
+ {"version":3,"file":"variants.cjs","names":[],"sources":["../../../../src/components/Form/variants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\r\n\r\n/**\r\n * Shared label variant for all form field components.\r\n * Shows a required asterisk when required=true.\r\n */\r\nexport const labelVariants = cva(\"block text-sm font-medium mb-1.5\", {\r\n variants: {\r\n required: {\r\n true: \"after:content-['*'] after:ml-0.5 after:text-destructive\",\r\n false: \"\",\r\n },\r\n },\r\n defaultVariants: {\r\n required: false,\r\n },\r\n});\r\n"],"mappings":";;;;;;AAMA,IAAa,iBAAA,qCAAA,CAAA,CAAA,IAAA,CAAoB,oCAAoC;CACnE,UAAU,EACR,UAAU;EACR,MAAM;EACN,OAAO;CACT,EACF;CACA,iBAAiB,EACf,UAAU,MACZ;AACF,CAAC"}
@@ -1,10 +1,14 @@
1
1
  "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const jsxRuntime = require("react/jsx-runtime");
5
- const React = require("react");
6
- const input = require("../../primitives/input.cjs");
7
- const Input = React.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(input.Input, { ref, ...props }));
2
+ const require_input = require("../../primitives/input.cjs");
3
+ let react = require("react");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/components/Input/Input.tsx
6
+ var Input = (0, react.forwardRef)((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
7
+ ref,
8
+ ...props
9
+ }));
8
10
  Input.displayName = "Input";
11
+ //#endregion
9
12
  exports.Input = Input;
10
- //# sourceMappingURL=Input.cjs.map
13
+
14
+ //# sourceMappingURL=Input.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.cjs","sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import { forwardRef } from \"react\"\nimport type { ComponentPropsWithoutRef, ElementRef } from \"react\"\nimport { Input as InputPrimitive } from \"../../primitives/input\"\n\nexport type InputProps = ComponentPropsWithoutRef<typeof InputPrimitive>\n\nexport const Input = forwardRef<\n ElementRef<typeof InputPrimitive>,\n InputProps\n>((props, ref) => <InputPrimitive ref={ref} {...props} />)\nInput.displayName = \"Input\"\n"],"names":["forwardRef","InputPrimitive"],"mappings":";;;;;;AAMO,MAAM,QAAQA,MAAAA,WAGnB,CAAC,OAAO,uCAASC,MAAAA,OAAA,EAAe,KAAW,GAAG,OAAO,CAAE;AACzD,MAAM,cAAc;;"}
1
+ {"version":3,"file":"Input.cjs","names":[],"sources":["../../../../src/components/Input/Input.tsx"],"sourcesContent":["import { forwardRef } from \"react\"\nimport type { ComponentPropsWithoutRef, ElementRef } from \"react\"\nimport { Input as InputPrimitive } from \"../../primitives/input\"\n\nexport type InputProps = ComponentPropsWithoutRef<typeof InputPrimitive>\n\nexport const Input = forwardRef<\n ElementRef<typeof InputPrimitive>,\n InputProps\n>((props, ref) => <InputPrimitive ref={ref} {...props} />)\nInput.displayName = \"Input\"\n"],"mappings":";;;;;AAMA,IAAa,SAAA,GAAA,MAAA,WAAA,EAGV,OAAO,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,OAAD;CAAqB;CAAK,GAAI;AAAQ,CAAA,CAAC;AACzD,MAAM,cAAc"}
@@ -1,10 +1,14 @@
1
1
  "use client";
2
- "use strict";
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- const jsxRuntime = require("react/jsx-runtime");
5
- const React = require("react");
6
- const label = require("../../primitives/label.cjs");
7
- const Label = React.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(label.Label, { ref, ...props }));
2
+ const require_label = require("../../primitives/label.cjs");
3
+ let react = require("react");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ //#region src/components/Label/Label.tsx
6
+ var Label = (0, react.forwardRef)((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_label.Label, {
7
+ ref,
8
+ ...props
9
+ }));
8
10
  Label.displayName = "Label";
11
+ //#endregion
9
12
  exports.Label = Label;
10
- //# sourceMappingURL=Label.cjs.map
13
+
14
+ //# sourceMappingURL=Label.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Label.cjs","sources":["../../../../src/components/Label/Label.tsx"],"sourcesContent":["import { forwardRef } from \"react\"\nimport type { ComponentPropsWithoutRef, ElementRef } from \"react\"\nimport { Label as LabelPrimitive } from \"../../primitives/label\"\n\nexport type LabelProps = ComponentPropsWithoutRef<typeof LabelPrimitive>\n\nexport const Label = forwardRef<\n ElementRef<typeof LabelPrimitive>,\n LabelProps\n>((props, ref) => <LabelPrimitive ref={ref} {...props} />)\nLabel.displayName = \"Label\"\n"],"names":["forwardRef","LabelPrimitive"],"mappings":";;;;;;AAMO,MAAM,QAAQA,MAAAA,WAGnB,CAAC,OAAO,uCAASC,MAAAA,OAAA,EAAe,KAAW,GAAG,OAAO,CAAE;AACzD,MAAM,cAAc;;"}
1
+ {"version":3,"file":"Label.cjs","names":[],"sources":["../../../../src/components/Label/Label.tsx"],"sourcesContent":["import { forwardRef } from \"react\"\nimport type { ComponentPropsWithoutRef, ElementRef } from \"react\"\nimport { Label as LabelPrimitive } from \"../../primitives/label\"\n\nexport type LabelProps = ComponentPropsWithoutRef<typeof LabelPrimitive>\n\nexport const Label = forwardRef<\n ElementRef<typeof LabelPrimitive>,\n LabelProps\n>((props, ref) => <LabelPrimitive ref={ref} {...props} />)\nLabel.displayName = \"Label\"\n"],"mappings":";;;;;AAMA,IAAa,SAAA,GAAA,MAAA,WAAA,EAGV,OAAO,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAA,OAAD;CAAqB;CAAK,GAAI;AAAQ,CAAA,CAAC;AACzD,MAAM,cAAc"}