@timeax/form-palette 0.0.2 → 0.0.4

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 (503) hide show
  1. package/dist/adapters/axios.d.ts +21 -0
  2. package/dist/adapters/axios.d.ts.map +1 -0
  3. package/dist/adapters/axios.js +74 -0
  4. package/dist/adapters/axios.js.map +1 -0
  5. package/dist/adapters/index.d.ts +35 -0
  6. package/dist/adapters/index.d.ts.map +1 -0
  7. package/dist/adapters/index.js +74 -0
  8. package/dist/adapters/index.js.map +1 -0
  9. package/dist/adapters/inertia.d.ts +24 -0
  10. package/dist/adapters/inertia.d.ts.map +1 -0
  11. package/dist/adapters/inertia.js +126 -0
  12. package/dist/adapters/inertia.js.map +1 -0
  13. package/dist/core/adapter-registry.d.ts +30 -0
  14. package/dist/core/adapter-registry.d.ts.map +1 -0
  15. package/{src/core/adapter-registry.ts → dist/core/adapter-registry.js} +10 -28
  16. package/dist/core/adapter-registry.js.map +1 -0
  17. package/{src/core/bound/bind-host.ts → dist/core/bound/bind-host.d.ts} +2 -3
  18. package/dist/core/bound/bind-host.d.ts.map +1 -0
  19. package/dist/core/bound/bind-host.js +2 -0
  20. package/dist/core/bound/bind-host.js.map +1 -0
  21. package/dist/core/bound/observe-bound-field.d.ts +21 -0
  22. package/dist/core/bound/observe-bound-field.d.ts.map +1 -0
  23. package/dist/core/bound/observe-bound-field.js +116 -0
  24. package/dist/core/bound/observe-bound-field.js.map +1 -0
  25. package/dist/core/bound/wait-for-bound-field.d.ts +5 -0
  26. package/dist/core/bound/wait-for-bound-field.d.ts.map +1 -0
  27. package/dist/core/bound/wait-for-bound-field.js +35 -0
  28. package/dist/core/bound/wait-for-bound-field.js.map +1 -0
  29. package/{src/core/context.ts → dist/core/context.d.ts} +2 -6
  30. package/dist/core/context.d.ts.map +1 -0
  31. package/dist/core/context.js +11 -0
  32. package/dist/core/context.js.map +1 -0
  33. package/dist/core/core-provider.d.ts +22 -0
  34. package/dist/core/core-provider.d.ts.map +1 -0
  35. package/{src/core/core-provider.tsx → dist/core/core-provider.js} +209 -364
  36. package/dist/core/core-provider.js.map +1 -0
  37. package/dist/core/core-root.d.ts +26 -0
  38. package/dist/core/core-root.d.ts.map +1 -0
  39. package/dist/core/core-root.js +38 -0
  40. package/dist/core/core-root.js.map +1 -0
  41. package/dist/core/core-shell.d.ts +22 -0
  42. package/dist/core/core-shell.d.ts.map +1 -0
  43. package/dist/core/core-shell.js +8 -0
  44. package/dist/core/core-shell.js.map +1 -0
  45. package/{src/core/errors/error-strip.tsx → dist/core/errors/error-strip.d.ts} +2 -39
  46. package/dist/core/errors/error-strip.d.ts.map +1 -0
  47. package/dist/core/errors/error-strip.js +18 -0
  48. package/dist/core/errors/error-strip.js.map +1 -0
  49. package/dist/core/errors/index.d.ts +4 -0
  50. package/dist/core/errors/index.d.ts.map +1 -0
  51. package/dist/core/errors/index.js +4 -0
  52. package/dist/core/errors/index.js.map +1 -0
  53. package/dist/core/errors/map-error-bag.d.ts +24 -0
  54. package/dist/core/errors/map-error-bag.d.ts.map +1 -0
  55. package/{src/core/errors/map-error-bag.ts → dist/core/errors/map-error-bag.js} +10 -22
  56. package/dist/core/errors/map-error-bag.js.map +1 -0
  57. package/dist/core/errors/map-zod.d.ts +18 -0
  58. package/dist/core/errors/map-zod.d.ts.map +1 -0
  59. package/{src/core/errors/map-zod.ts → dist/core/errors/map-zod.js} +7 -19
  60. package/dist/core/errors/map-zod.js.map +1 -0
  61. package/dist/core/hooks/use-button.d.ts +73 -0
  62. package/dist/core/hooks/use-button.d.ts.map +1 -0
  63. package/dist/core/hooks/use-button.js +116 -0
  64. package/dist/core/hooks/use-button.js.map +1 -0
  65. package/dist/core/hooks/use-core-context.d.ts +9 -0
  66. package/dist/core/hooks/use-core-context.d.ts.map +1 -0
  67. package/{src/core/hooks/use-core-context.ts → dist/core/hooks/use-core-context.js} +3 -6
  68. package/dist/core/hooks/use-core-context.js.map +1 -0
  69. package/dist/core/hooks/use-core-utility.d.ts +1 -0
  70. package/dist/core/hooks/use-core-utility.d.ts.map +1 -0
  71. package/dist/core/hooks/use-core-utility.js +2 -0
  72. package/dist/core/hooks/use-core-utility.js.map +1 -0
  73. package/{src/core/hooks/use-core.ts → dist/core/hooks/use-core.d.ts} +9 -13
  74. package/dist/core/hooks/use-core.d.ts.map +1 -0
  75. package/dist/core/hooks/use-core.js +11 -0
  76. package/dist/core/hooks/use-core.js.map +1 -0
  77. package/dist/core/hooks/use-field.d.ts +141 -0
  78. package/dist/core/hooks/use-field.d.ts.map +1 -0
  79. package/dist/core/hooks/use-field.js +256 -0
  80. package/dist/core/hooks/use-field.js.map +1 -0
  81. package/dist/core/hooks/use-optional-field.d.ts +9 -0
  82. package/dist/core/hooks/use-optional-field.d.ts.map +1 -0
  83. package/dist/core/hooks/use-optional-field.js +146 -0
  84. package/dist/core/hooks/use-optional-field.js.map +1 -0
  85. package/dist/core/index.d.ts +11 -0
  86. package/dist/core/index.d.ts.map +1 -0
  87. package/dist/core/index.js +11 -0
  88. package/dist/core/index.js.map +1 -0
  89. package/dist/core/registry/binder-registry.d.ts +38 -0
  90. package/dist/core/registry/binder-registry.d.ts.map +1 -0
  91. package/dist/core/registry/binder-registry.js +52 -0
  92. package/dist/core/registry/binder-registry.js.map +1 -0
  93. package/dist/core/registry/field-registry.d.ts +86 -0
  94. package/dist/core/registry/field-registry.d.ts.map +1 -0
  95. package/{src/core/registry/field-registry.ts → dist/core/registry/field-registry.js} +56 -70
  96. package/dist/core/registry/field-registry.js.map +1 -0
  97. package/dist/core/test.d.ts +2 -0
  98. package/dist/core/test.d.ts.map +1 -0
  99. package/dist/core/test.js +9 -0
  100. package/dist/core/test.js.map +1 -0
  101. package/dist/index.d.ts +15 -0
  102. package/dist/index.d.ts.map +1 -0
  103. package/{src/index.ts → dist/index.js} +5 -47
  104. package/dist/index.js.map +1 -0
  105. package/{src/input/index.ts → dist/input/index.d.ts} +1 -2
  106. package/dist/input/index.d.ts.map +1 -0
  107. package/dist/input/index.js +3 -0
  108. package/dist/input/index.js.map +1 -0
  109. package/dist/input/input-field.d.ts +15 -0
  110. package/dist/input/input-field.d.ts.map +1 -0
  111. package/dist/input/input-field.js +413 -0
  112. package/dist/input/input-field.js.map +1 -0
  113. package/dist/input/input-layout-graph.d.ts +77 -0
  114. package/dist/input/input-layout-graph.d.ts.map +1 -0
  115. package/dist/input/input-layout-graph.js +108 -0
  116. package/dist/input/input-layout-graph.js.map +1 -0
  117. package/{src/input/input-props.ts → dist/input/input-props.d.ts} +22 -84
  118. package/dist/input/input-props.d.ts.map +1 -0
  119. package/dist/input/input-props.js +4 -0
  120. package/dist/input/input-props.js.map +1 -0
  121. package/dist/lib/get-global-countries.d.ts +3 -0
  122. package/dist/lib/get-global-countries.d.ts.map +1 -0
  123. package/dist/lib/get-global-countries.js +70 -0
  124. package/dist/lib/get-global-countries.js.map +1 -0
  125. package/dist/lib/utils.d.ts +3 -0
  126. package/dist/lib/utils.d.ts.map +1 -0
  127. package/dist/lib/utils.js +6 -0
  128. package/dist/lib/utils.js.map +1 -0
  129. package/dist/presets/index.d.ts +1 -0
  130. package/dist/presets/index.d.ts.map +1 -0
  131. package/dist/presets/index.js +2 -0
  132. package/dist/presets/index.js.map +1 -0
  133. package/dist/presets/shadcn-preset.d.ts +1 -0
  134. package/dist/presets/shadcn-preset.d.ts.map +1 -0
  135. package/dist/presets/shadcn-preset.js +2 -0
  136. package/dist/presets/shadcn-preset.js.map +1 -0
  137. package/dist/presets/shadcn-variants/checkbox.d.ts +212 -0
  138. package/dist/presets/shadcn-variants/checkbox.d.ts.map +1 -0
  139. package/dist/presets/shadcn-variants/checkbox.js +315 -0
  140. package/dist/presets/shadcn-variants/checkbox.js.map +1 -0
  141. package/dist/presets/shadcn-variants/chips.d.ts +154 -0
  142. package/dist/presets/shadcn-variants/chips.d.ts.map +1 -0
  143. package/dist/presets/shadcn-variants/chips.js +266 -0
  144. package/dist/presets/shadcn-variants/chips.js.map +1 -0
  145. package/dist/presets/shadcn-variants/color.d.ts +63 -0
  146. package/dist/presets/shadcn-variants/color.d.ts.map +1 -0
  147. package/dist/presets/shadcn-variants/color.js +96 -0
  148. package/dist/presets/shadcn-variants/color.js.map +1 -0
  149. package/dist/presets/shadcn-variants/custom.d.ts +94 -0
  150. package/dist/presets/shadcn-variants/custom.d.ts.map +1 -0
  151. package/dist/presets/shadcn-variants/custom.js +80 -0
  152. package/dist/presets/shadcn-variants/custom.js.map +1 -0
  153. package/dist/presets/shadcn-variants/date.d.ts +114 -0
  154. package/dist/presets/shadcn-variants/date.d.ts.map +1 -0
  155. package/dist/presets/shadcn-variants/date.js +414 -0
  156. package/dist/presets/shadcn-variants/date.js.map +1 -0
  157. package/dist/presets/shadcn-variants/file.d.ts +79 -0
  158. package/dist/presets/shadcn-variants/file.d.ts.map +1 -0
  159. package/dist/presets/shadcn-variants/file.js +289 -0
  160. package/dist/presets/shadcn-variants/file.js.map +1 -0
  161. package/dist/presets/shadcn-variants/keyvalue.d.ts +35 -0
  162. package/dist/presets/shadcn-variants/keyvalue.d.ts.map +1 -0
  163. package/dist/presets/shadcn-variants/keyvalue.js +215 -0
  164. package/dist/presets/shadcn-variants/keyvalue.js.map +1 -0
  165. package/dist/presets/shadcn-variants/multiselect.d.ts +210 -0
  166. package/dist/presets/shadcn-variants/multiselect.d.ts.map +1 -0
  167. package/dist/presets/shadcn-variants/multiselect.js +352 -0
  168. package/dist/presets/shadcn-variants/multiselect.js.map +1 -0
  169. package/dist/presets/shadcn-variants/number.d.ts +31 -0
  170. package/dist/presets/shadcn-variants/number.d.ts.map +1 -0
  171. package/dist/presets/shadcn-variants/number.js +64 -0
  172. package/dist/presets/shadcn-variants/number.js.map +1 -0
  173. package/dist/presets/shadcn-variants/password.d.ts +195 -0
  174. package/dist/presets/shadcn-variants/password.d.ts.map +1 -0
  175. package/dist/presets/shadcn-variants/password.js +296 -0
  176. package/dist/presets/shadcn-variants/password.js.map +1 -0
  177. package/dist/presets/shadcn-variants/phone.d.ts +69 -0
  178. package/dist/presets/shadcn-variants/phone.d.ts.map +1 -0
  179. package/dist/presets/shadcn-variants/phone.js +308 -0
  180. package/dist/presets/shadcn-variants/phone.js.map +1 -0
  181. package/dist/presets/shadcn-variants/radio.d.ts +172 -0
  182. package/dist/presets/shadcn-variants/radio.d.ts.map +1 -0
  183. package/dist/presets/shadcn-variants/radio.js +192 -0
  184. package/dist/presets/shadcn-variants/radio.js.map +1 -0
  185. package/dist/presets/shadcn-variants/select.d.ts +203 -0
  186. package/dist/presets/shadcn-variants/select.d.ts.map +1 -0
  187. package/dist/presets/shadcn-variants/select.js +285 -0
  188. package/dist/presets/shadcn-variants/select.js.map +1 -0
  189. package/dist/presets/shadcn-variants/slider.d.ts +131 -0
  190. package/dist/presets/shadcn-variants/slider.d.ts.map +1 -0
  191. package/dist/presets/shadcn-variants/slider.js +151 -0
  192. package/dist/presets/shadcn-variants/slider.js.map +1 -0
  193. package/dist/presets/shadcn-variants/text.d.ts +155 -0
  194. package/dist/presets/shadcn-variants/text.d.ts.map +1 -0
  195. package/dist/presets/shadcn-variants/text.js +98 -0
  196. package/dist/presets/shadcn-variants/text.js.map +1 -0
  197. package/dist/presets/shadcn-variants/textarea.d.ts +18 -0
  198. package/dist/presets/shadcn-variants/textarea.d.ts.map +1 -0
  199. package/dist/presets/shadcn-variants/textarea.js +24 -0
  200. package/dist/presets/shadcn-variants/textarea.js.map +1 -0
  201. package/dist/presets/shadcn-variants/toggle.d.ts +61 -0
  202. package/dist/presets/shadcn-variants/toggle.d.ts.map +1 -0
  203. package/dist/presets/shadcn-variants/toggle.js +67 -0
  204. package/dist/presets/shadcn-variants/toggle.js.map +1 -0
  205. package/dist/presets/shadcn-variants/treeselect.d.ts +81 -0
  206. package/dist/presets/shadcn-variants/treeselect.d.ts.map +1 -0
  207. package/dist/presets/shadcn-variants/treeselect.js +317 -0
  208. package/dist/presets/shadcn-variants/treeselect.js.map +1 -0
  209. package/dist/presets/ui/badge.d.ts +10 -0
  210. package/dist/presets/ui/badge.d.ts.map +1 -0
  211. package/dist/presets/ui/badge.js +23 -0
  212. package/dist/presets/ui/badge.js.map +1 -0
  213. package/dist/presets/ui/button.d.ts +11 -0
  214. package/dist/presets/ui/button.d.ts.map +1 -0
  215. package/dist/presets/ui/button.js +34 -0
  216. package/dist/presets/ui/button.js.map +1 -0
  217. package/dist/presets/ui/calendar.d.ts +9 -0
  218. package/dist/presets/ui/calendar.d.ts.map +1 -0
  219. package/dist/presets/ui/calendar.js +76 -0
  220. package/dist/presets/ui/calendar.js.map +1 -0
  221. package/dist/presets/ui/checkbox.d.ts +18 -0
  222. package/dist/presets/ui/checkbox.d.ts.map +1 -0
  223. package/dist/presets/ui/checkbox.js +61 -0
  224. package/dist/presets/ui/checkbox.js.map +1 -0
  225. package/dist/presets/ui/custom.d.ts +1 -0
  226. package/dist/presets/ui/custom.d.ts.map +1 -0
  227. package/dist/presets/ui/custom.js +2 -0
  228. package/dist/presets/ui/custom.js.map +1 -0
  229. package/dist/presets/ui/dialog.d.ts +16 -0
  230. package/dist/presets/ui/dialog.d.ts.map +1 -0
  231. package/dist/presets/ui/dialog.js +36 -0
  232. package/dist/presets/ui/dialog.js.map +1 -0
  233. package/dist/presets/ui/field.d.ts +25 -0
  234. package/dist/presets/ui/field.d.ts.map +1 -0
  235. package/dist/presets/ui/field.js +76 -0
  236. package/dist/presets/ui/field.js.map +1 -0
  237. package/dist/presets/ui/input-mask.d.ts +34 -0
  238. package/dist/presets/ui/input-mask.d.ts.map +1 -0
  239. package/dist/presets/ui/input-mask.js +561 -0
  240. package/dist/presets/ui/input-mask.js.map +1 -0
  241. package/dist/presets/ui/input-otp.d.ts +12 -0
  242. package/dist/presets/ui/input-otp.d.ts.map +1 -0
  243. package/dist/presets/ui/input-otp.js +22 -0
  244. package/dist/presets/ui/input-otp.js.map +1 -0
  245. package/dist/presets/ui/input.d.ts +83 -0
  246. package/dist/presets/ui/input.d.ts.map +1 -0
  247. package/dist/presets/ui/input.js +436 -0
  248. package/dist/presets/ui/input.js.map +1 -0
  249. package/dist/presets/ui/label.d.ts +5 -0
  250. package/dist/presets/ui/label.d.ts.map +1 -0
  251. package/dist/presets/ui/label.js +8 -0
  252. package/dist/presets/ui/label.js.map +1 -0
  253. package/dist/presets/ui/number.d.ts +60 -0
  254. package/dist/presets/ui/number.d.ts.map +1 -0
  255. package/dist/presets/ui/number.js +1078 -0
  256. package/dist/presets/ui/number.js.map +1 -0
  257. package/dist/presets/ui/popover.d.ts +8 -0
  258. package/dist/presets/ui/popover.d.ts.map +1 -0
  259. package/dist/presets/ui/popover.js +17 -0
  260. package/dist/presets/ui/popover.js.map +1 -0
  261. package/dist/presets/ui/radio-group.d.ts +6 -0
  262. package/dist/presets/ui/radio-group.d.ts.map +1 -0
  263. package/dist/presets/ui/radio-group.js +12 -0
  264. package/dist/presets/ui/radio-group.js.map +1 -0
  265. package/dist/presets/ui/scroll-area.d.ts +6 -0
  266. package/dist/presets/ui/scroll-area.d.ts.map +1 -0
  267. package/dist/presets/ui/scroll-area.js +13 -0
  268. package/dist/presets/ui/scroll-area.js.map +1 -0
  269. package/dist/presets/ui/select.d.ts +21 -0
  270. package/dist/presets/ui/select.d.ts.map +1 -0
  271. package/dist/presets/ui/select.js +38 -0
  272. package/dist/presets/ui/select.js.map +1 -0
  273. package/dist/presets/ui/separator.d.ts +5 -0
  274. package/dist/presets/ui/separator.d.ts.map +1 -0
  275. package/dist/presets/ui/separator.js +9 -0
  276. package/dist/presets/ui/separator.js.map +1 -0
  277. package/dist/presets/ui/slider.d.ts +5 -0
  278. package/dist/presets/ui/slider.d.ts.map +1 -0
  279. package/dist/presets/ui/slider.js +14 -0
  280. package/dist/presets/ui/slider.js.map +1 -0
  281. package/dist/presets/ui/switch.d.ts +7 -0
  282. package/dist/presets/ui/switch.d.ts.map +1 -0
  283. package/dist/presets/ui/switch.js +9 -0
  284. package/dist/presets/ui/switch.js.map +1 -0
  285. package/dist/presets/ui/textarea.d.ts +76 -0
  286. package/dist/presets/ui/textarea.d.ts.map +1 -0
  287. package/dist/presets/ui/textarea.js +291 -0
  288. package/dist/presets/ui/textarea.js.map +1 -0
  289. package/dist/presets/ui/time-dropdowns.d.ts +58 -0
  290. package/dist/presets/ui/time-dropdowns.d.ts.map +1 -0
  291. package/dist/presets/ui/time-dropdowns.js +133 -0
  292. package/dist/presets/ui/time-dropdowns.js.map +1 -0
  293. package/{src/schema/adapter.ts → dist/schema/adapter.d.ts} +7 -35
  294. package/dist/schema/adapter.d.ts.map +1 -0
  295. package/dist/schema/adapter.js +3 -0
  296. package/dist/schema/adapter.js.map +1 -0
  297. package/{src/schema/core.ts → dist/schema/core.d.ts} +17 -117
  298. package/dist/schema/core.d.ts.map +1 -0
  299. package/dist/schema/core.js +4 -0
  300. package/dist/schema/core.js.map +1 -0
  301. package/dist/schema/field-map.d.ts +1 -0
  302. package/dist/schema/field-map.d.ts.map +1 -0
  303. package/dist/schema/field-map.js +2 -0
  304. package/dist/schema/field-map.js.map +1 -0
  305. package/{src/schema/field.ts → dist/schema/field.d.ts} +1 -34
  306. package/dist/schema/field.d.ts.map +1 -0
  307. package/dist/schema/field.js +4 -0
  308. package/dist/schema/field.js.map +1 -0
  309. package/dist/schema/index.d.ts +1 -0
  310. package/dist/schema/index.d.ts.map +1 -0
  311. package/dist/schema/index.js +2 -0
  312. package/dist/schema/index.js.map +1 -0
  313. package/{src/schema/input-field.ts → dist/schema/input-field.d.ts} +6 -43
  314. package/dist/schema/input-field.d.ts.map +1 -0
  315. package/dist/schema/input-field.js +3 -0
  316. package/dist/schema/input-field.js.map +1 -0
  317. package/dist/schema/presets.d.ts +1 -0
  318. package/dist/schema/presets.d.ts.map +1 -0
  319. package/dist/schema/presets.js +2 -0
  320. package/dist/schema/presets.js.map +1 -0
  321. package/{src/schema/variant.ts → dist/schema/variant.d.ts} +24 -64
  322. package/dist/schema/variant.d.ts.map +1 -0
  323. package/dist/schema/variant.js +3 -0
  324. package/dist/schema/variant.js.map +1 -0
  325. package/dist/variants/core/checkbox.d.ts +15 -0
  326. package/dist/variants/core/checkbox.d.ts.map +1 -0
  327. package/dist/variants/core/checkbox.js +27 -0
  328. package/dist/variants/core/checkbox.js.map +1 -0
  329. package/dist/variants/core/chips.d.ts +3 -0
  330. package/dist/variants/core/chips.d.ts.map +1 -0
  331. package/dist/variants/core/chips.js +20 -0
  332. package/dist/variants/core/chips.js.map +1 -0
  333. package/dist/variants/core/color.d.ts +3 -0
  334. package/dist/variants/core/color.d.ts.map +1 -0
  335. package/dist/variants/core/color.js +14 -0
  336. package/dist/variants/core/color.js.map +1 -0
  337. package/dist/variants/core/custom.d.ts +11 -0
  338. package/dist/variants/core/custom.d.ts.map +1 -0
  339. package/{src/variants/core/custom.tsx → dist/variants/core/custom.js} +15 -18
  340. package/dist/variants/core/custom.js.map +1 -0
  341. package/dist/variants/core/date.d.ts +3 -0
  342. package/dist/variants/core/date.d.ts.map +1 -0
  343. package/dist/variants/core/date.js +20 -0
  344. package/dist/variants/core/date.js.map +1 -0
  345. package/dist/variants/core/file.d.ts +3 -0
  346. package/dist/variants/core/file.d.ts.map +1 -0
  347. package/dist/variants/core/file.js +6 -0
  348. package/dist/variants/core/file.js.map +1 -0
  349. package/dist/variants/core/keyvalue.d.ts +3 -0
  350. package/dist/variants/core/keyvalue.d.ts.map +1 -0
  351. package/dist/variants/core/keyvalue.js +9 -0
  352. package/dist/variants/core/keyvalue.js.map +1 -0
  353. package/dist/variants/core/multiselect.d.ts +11 -0
  354. package/dist/variants/core/multiselect.d.ts.map +1 -0
  355. package/dist/variants/core/multiselect.js +15 -0
  356. package/dist/variants/core/multiselect.js.map +1 -0
  357. package/dist/variants/core/number.d.ts +38 -0
  358. package/dist/variants/core/number.d.ts.map +1 -0
  359. package/dist/variants/core/number.js +62 -0
  360. package/dist/variants/core/number.js.map +1 -0
  361. package/dist/variants/core/password.d.ts +11 -0
  362. package/dist/variants/core/password.d.ts.map +1 -0
  363. package/dist/variants/core/password.js +29 -0
  364. package/dist/variants/core/password.js.map +1 -0
  365. package/dist/variants/core/phone.d.ts +3 -0
  366. package/dist/variants/core/phone.d.ts.map +1 -0
  367. package/dist/variants/core/phone.js +14 -0
  368. package/dist/variants/core/phone.js.map +1 -0
  369. package/dist/variants/core/radio.d.ts +8 -0
  370. package/dist/variants/core/radio.d.ts.map +1 -0
  371. package/dist/variants/core/radio.js +34 -0
  372. package/dist/variants/core/radio.js.map +1 -0
  373. package/dist/variants/core/select.d.ts +5 -0
  374. package/dist/variants/core/select.d.ts.map +1 -0
  375. package/dist/variants/core/select.js +11 -0
  376. package/dist/variants/core/select.js.map +1 -0
  377. package/dist/variants/core/slider.d.ts +19 -0
  378. package/dist/variants/core/slider.d.ts.map +1 -0
  379. package/dist/variants/core/slider.js +36 -0
  380. package/dist/variants/core/slider.js.map +1 -0
  381. package/dist/variants/core/text.d.ts +38 -0
  382. package/dist/variants/core/text.d.ts.map +1 -0
  383. package/{src/variants/core/text.tsx → dist/variants/core/text.js} +4 -56
  384. package/dist/variants/core/text.js.map +1 -0
  385. package/dist/variants/core/textarea.d.ts +3 -0
  386. package/dist/variants/core/textarea.d.ts.map +1 -0
  387. package/dist/variants/core/textarea.js +20 -0
  388. package/dist/variants/core/textarea.js.map +1 -0
  389. package/dist/variants/core/toggle.d.ts +6 -0
  390. package/dist/variants/core/toggle.d.ts.map +1 -0
  391. package/dist/variants/core/toggle.js +41 -0
  392. package/dist/variants/core/toggle.js.map +1 -0
  393. package/dist/variants/core/treeselect.d.ts +4 -0
  394. package/dist/variants/core/treeselect.d.ts.map +1 -0
  395. package/dist/variants/core/treeselect.js +7 -0
  396. package/dist/variants/core/treeselect.js.map +1 -0
  397. package/dist/variants/helpers/selection-summary.d.ts +24 -0
  398. package/dist/variants/helpers/selection-summary.d.ts.map +1 -0
  399. package/dist/variants/helpers/selection-summary.js +105 -0
  400. package/dist/variants/helpers/selection-summary.js.map +1 -0
  401. package/dist/variants/index.d.ts +16 -0
  402. package/dist/variants/index.d.ts.map +1 -0
  403. package/{src/variants/index.ts → dist/variants/index.js} +7 -27
  404. package/dist/variants/index.js.map +1 -0
  405. package/dist/variants/registry.d.ts +19 -0
  406. package/dist/variants/registry.d.ts.map +1 -0
  407. package/dist/variants/registry.js +29 -0
  408. package/dist/variants/registry.js.map +1 -0
  409. package/dist/variants/select-shared.d.ts +1 -0
  410. package/dist/variants/select-shared.d.ts.map +1 -0
  411. package/dist/variants/select-shared.js +2 -0
  412. package/dist/variants/select-shared.js.map +1 -0
  413. package/{src/variants/shared.ts → dist/variants/shared.d.ts} +3 -22
  414. package/dist/variants/shared.d.ts.map +1 -0
  415. package/dist/variants/shared.js +3 -0
  416. package/dist/variants/shared.js.map +1 -0
  417. package/package.json +5 -5
  418. package/.scaffold-cache.json +0 -537
  419. package/src/.scaffold-cache.json +0 -544
  420. package/src/adapters/axios.ts +0 -117
  421. package/src/adapters/index.ts +0 -91
  422. package/src/adapters/inertia.ts +0 -187
  423. package/src/core/bound/observe-bound-field.ts +0 -172
  424. package/src/core/bound/wait-for-bound-field.ts +0 -57
  425. package/src/core/core-root.tsx +0 -72
  426. package/src/core/core-shell.tsx +0 -44
  427. package/src/core/errors/index.ts +0 -2
  428. package/src/core/hooks/use-button.ts +0 -220
  429. package/src/core/hooks/use-core-utility.ts +0 -0
  430. package/src/core/hooks/use-field.ts +0 -497
  431. package/src/core/hooks/use-optional-field.ts +0 -28
  432. package/src/core/index.ts +0 -0
  433. package/src/core/registry/binder-registry.ts +0 -82
  434. package/src/core/test.tsx +0 -17
  435. package/src/global.d.ts +0 -14
  436. package/src/input/input-field.tsx +0 -854
  437. package/src/input/input-layout-graph.ts +0 -230
  438. package/src/lib/get-global-countries.ts +0 -87
  439. package/src/lib/utils.ts +0 -6
  440. package/src/presets/index.ts +0 -0
  441. package/src/presets/shadcn-preset.ts +0 -0
  442. package/src/presets/shadcn-variants/checkbox.tsx +0 -849
  443. package/src/presets/shadcn-variants/chips.tsx +0 -756
  444. package/src/presets/shadcn-variants/color.tsx +0 -284
  445. package/src/presets/shadcn-variants/custom.tsx +0 -227
  446. package/src/presets/shadcn-variants/date.tsx +0 -796
  447. package/src/presets/shadcn-variants/file.tsx +0 -764
  448. package/src/presets/shadcn-variants/keyvalue.tsx +0 -556
  449. package/src/presets/shadcn-variants/multiselect.tsx +0 -1132
  450. package/src/presets/shadcn-variants/number.tsx +0 -176
  451. package/src/presets/shadcn-variants/password.tsx +0 -737
  452. package/src/presets/shadcn-variants/phone.tsx +0 -628
  453. package/src/presets/shadcn-variants/radio.tsx +0 -578
  454. package/src/presets/shadcn-variants/select.tsx +0 -956
  455. package/src/presets/shadcn-variants/slider.tsx +0 -622
  456. package/src/presets/shadcn-variants/text.tsx +0 -343
  457. package/src/presets/shadcn-variants/textarea.tsx +0 -66
  458. package/src/presets/shadcn-variants/toggle.tsx +0 -218
  459. package/src/presets/shadcn-variants/treeselect.tsx +0 -784
  460. package/src/presets/ui/badge.tsx +0 -46
  461. package/src/presets/ui/button.tsx +0 -60
  462. package/src/presets/ui/calendar.tsx +0 -214
  463. package/src/presets/ui/checkbox.tsx +0 -115
  464. package/src/presets/ui/custom.tsx +0 -0
  465. package/src/presets/ui/dialog.tsx +0 -141
  466. package/src/presets/ui/field.tsx +0 -246
  467. package/src/presets/ui/input-mask.tsx +0 -739
  468. package/src/presets/ui/input-otp.tsx +0 -77
  469. package/src/presets/ui/input.tsx +0 -1011
  470. package/src/presets/ui/label.tsx +0 -22
  471. package/src/presets/ui/number.tsx +0 -1370
  472. package/src/presets/ui/popover.tsx +0 -46
  473. package/src/presets/ui/radio-group.tsx +0 -43
  474. package/src/presets/ui/scroll-area.tsx +0 -56
  475. package/src/presets/ui/select.tsx +0 -190
  476. package/src/presets/ui/separator.tsx +0 -28
  477. package/src/presets/ui/slider.tsx +0 -61
  478. package/src/presets/ui/switch.tsx +0 -32
  479. package/src/presets/ui/textarea.tsx +0 -634
  480. package/src/presets/ui/time-dropdowns.tsx +0 -350
  481. package/src/schema/field-map.ts +0 -0
  482. package/src/schema/index.ts +0 -0
  483. package/src/schema/presets.ts +0 -0
  484. package/src/variants/core/checkbox.tsx +0 -54
  485. package/src/variants/core/chips.tsx +0 -22
  486. package/src/variants/core/color.tsx +0 -16
  487. package/src/variants/core/date.tsx +0 -25
  488. package/src/variants/core/file.tsx +0 -9
  489. package/src/variants/core/keyvalue.tsx +0 -12
  490. package/src/variants/core/multiselect.tsx +0 -28
  491. package/src/variants/core/number.tsx +0 -115
  492. package/src/variants/core/password.tsx +0 -35
  493. package/src/variants/core/phone.tsx +0 -16
  494. package/src/variants/core/radio.tsx +0 -38
  495. package/src/variants/core/select.tsx +0 -15
  496. package/src/variants/core/slider.tsx +0 -55
  497. package/src/variants/core/textarea.tsx +0 -22
  498. package/src/variants/core/toggle.tsx +0 -50
  499. package/src/variants/core/treeselect.tsx +0 -11
  500. package/src/variants/helpers/selection-summary.tsx +0 -236
  501. package/src/variants/registry.ts +0 -38
  502. package/src/variants/select-shared.ts +0 -0
  503. package/tsconfig.json +0 -14
@@ -1,74 +1,53 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  // src/core/core-provider.tsx
2
3
  // noinspection JSConstantReassignment,JSUnusedGlobalSymbols,GrazieInspection
3
-
4
4
  import * as React from "react";
5
-
6
5
  import { CoreContextReact } from "@/core/context";
7
6
  import { mapZodError } from "@/core/errors/map-zod";
8
7
  import { mapErrorBag } from "@/core/errors/map-error-bag";
9
8
  import { getAdapter, localAdapter } from "@/core/adapter-registry";
10
9
  import { FieldRegistry } from "@/core/registry/field-registry";
11
-
12
- import type { z } from "zod";
13
- import type { AdapterKey, AdapterResult, Method } from "@/schema/adapter";
14
- import type {
15
- CoreContext,
16
- CoreProps,
17
- Dict,
18
- InferFromSchema,
19
- SubmitEvent,
20
- ValuesResult,
21
- } from "@/schema/core";
22
- import type { ButtonRef, Field } from "@/schema/field";
23
-
24
- type Props<
25
- V extends Dict,
26
- S extends z.ZodType | undefined,
27
- K extends AdapterKey,
28
- > = CoreProps<V, S, K> & {
29
- children?: React.ReactNode;
30
- };
31
-
32
10
  // ─────────────────────────────────────────────────────────────
33
11
  // Internal helpers (generic utils)
34
12
  // ─────────────────────────────────────────────────────────────
35
- function isPlainObject(value: unknown): value is Record<string, unknown> {
13
+ function isPlainObject(value) {
36
14
  return typeof value === "object" && value !== null && !Array.isArray(value);
37
15
  }
38
-
39
- function deepEqual(a: unknown, b: unknown): boolean {
40
- if (a === b) return true;
41
-
16
+ function deepEqual(a, b) {
17
+ if (a === b)
18
+ return true;
42
19
  // NaN === NaN
43
20
  if (typeof a === "number" && typeof b === "number") {
44
- if (Number.isNaN(a) && Number.isNaN(b)) return true;
21
+ if (Number.isNaN(a) && Number.isNaN(b))
22
+ return true;
45
23
  }
46
-
47
24
  if (Array.isArray(a) && Array.isArray(b)) {
48
- if (a.length !== b.length) return false;
25
+ if (a.length !== b.length)
26
+ return false;
49
27
  for (let i = 0; i < a.length; i++) {
50
- if (!deepEqual(a[i], b[i])) return false;
28
+ if (!deepEqual(a[i], b[i]))
29
+ return false;
51
30
  }
52
31
  return true;
53
32
  }
54
-
55
33
  if (isPlainObject(a) && isPlainObject(b)) {
56
34
  const aKeys = Object.keys(a);
57
35
  const bKeys = Object.keys(b);
58
- if (aKeys.length !== bKeys.length) return false;
36
+ if (aKeys.length !== bKeys.length)
37
+ return false;
59
38
  for (const key of aKeys) {
60
- if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
61
- if (!deepEqual((a as any)[key], (b as any)[key])) return false;
39
+ if (!Object.prototype.hasOwnProperty.call(b, key))
40
+ return false;
41
+ if (!deepEqual(a[key], b[key]))
42
+ return false;
62
43
  }
63
44
  return true;
64
45
  }
65
-
66
46
  return false;
67
47
  }
68
48
  // ─────────────────────────────────────────────────────────────
69
49
  // CoreProvider
70
50
  // ─────────────────────────────────────────────────────────────
71
-
72
51
  /**
73
52
  * CoreProvider: owns the form/core runtime state and implements CoreContext.
74
53
  *
@@ -81,92 +60,80 @@ function deepEqual(a: unknown, b: unknown): boolean {
81
60
  * - Builds values snapshots (including bucket values)
82
61
  * - Orchestrates submission via the adapter registry
83
62
  */
84
- export function CoreProvider<
85
- V extends Dict,
86
- S extends z.ZodType | undefined,
87
- K extends AdapterKey = "local",
88
- >(props: Props<V, S, K>) {
89
- type Values = InferFromSchema<S, V>;
90
-
63
+ export function CoreProvider(props) {
91
64
  // Single input store: FieldRegistry
92
- const registryRef = React.useRef<FieldRegistry>(new FieldRegistry());
93
-
65
+ const registryRef = React.useRef(new FieldRegistry());
94
66
  // bucket, errors, button
95
- const bucketRef = React.useRef<Dict>({});
96
- const uncaughtRef = React.useRef<string[]>([]);
97
- const buttonRef = React.useRef<ButtonRef | null>(null);
98
- const activeButtonNameRef = React.useRef<string | null>(null);
99
-
67
+ const bucketRef = React.useRef({});
68
+ const uncaughtRef = React.useRef([]);
69
+ const buttonRef = React.useRef(null);
70
+ const activeButtonNameRef = React.useRef(null);
100
71
  /**
101
72
  * Original snapshot used for "dirty" checks.
102
73
  * Lazily captured on first dirty-check.
103
74
  */
104
- const originalRef = React.useRef<Values | null>(null);
105
-
75
+ const originalRef = React.useRef(null);
106
76
  // latest props
107
77
  const propsRef = React.useRef(props);
108
78
  React.useEffect(() => {
109
79
  propsRef.current = props;
110
80
  }, [props]);
111
-
112
- const adapterKey = (props.adapter ?? "local") as AdapterKey;
81
+ const adapterKey = (props.adapter ?? "local");
113
82
  const schema = props.schema;
114
-
115
- let context!: CoreContext<Values>;
116
-
83
+ let context;
117
84
  // ─────────────────────────────────────────────────────────
118
85
  // Common helpers
119
86
  // ─────────────────────────────────────────────────────────
120
-
121
- function fetchAllNamedFields(): Field[] {
87
+ function fetchAllNamedFields() {
122
88
  return registryRef.current.getAllNamed();
123
89
  }
124
-
125
90
  function clearFieldErrors() {
126
91
  for (const field of fetchAllNamedFields()) {
127
- const anyField = field as any;
92
+ const anyField = field;
128
93
  if (typeof anyField.setError === "function") {
129
94
  anyField.setError(undefined);
130
- } else if ("error" in anyField) {
95
+ }
96
+ else if ("error" in anyField) {
131
97
  anyField.error = undefined;
132
98
  }
133
99
  }
134
100
  }
135
-
136
- function findFieldForErrorKey(key: string): Field | undefined {
137
- if (!key) return undefined;
101
+ function findFieldForErrorKey(key) {
102
+ if (!key)
103
+ return undefined;
138
104
  return fetchAllNamedFields().find((f) => {
139
105
  const raw = f.name;
140
- if (!raw) return false;
106
+ if (!raw)
107
+ return false;
141
108
  const trimmed = raw.trim();
142
- if (!trimmed) return false;
143
-
109
+ if (!trimmed)
110
+ return false;
144
111
  const base = trimmed.replace(/\[]$/, "");
145
- if (key === base || key === trimmed) return true;
146
-
147
- const sharedKey = (f as any).shared as string | undefined;
148
- if (!sharedKey) return false;
149
-
112
+ if (key === base || key === trimmed)
113
+ return true;
114
+ const sharedKey = f.shared;
115
+ if (!sharedKey)
116
+ return false;
150
117
  const sharedBase = `${sharedKey}.${base}`;
151
118
  const sharedRaw = `${sharedKey}.${trimmed}`;
152
119
  return key === sharedBase || key === sharedRaw;
153
120
  });
154
121
  }
155
-
156
- function setFieldError(name: string, message: string) {
122
+ function setFieldError(name, message) {
157
123
  const field = findFieldForErrorKey(name);
158
124
  if (field) {
159
- const anyField = field as any;
125
+ const anyField = field;
160
126
  if (typeof anyField.setError === "function") {
161
127
  anyField.setError(message);
162
- } else {
128
+ }
129
+ else {
163
130
  anyField.error = message;
164
131
  }
165
- } else {
132
+ }
133
+ else {
166
134
  uncaughtRef.current.push(message);
167
135
  }
168
136
  }
169
-
170
137
  /**
171
138
  * Collect values from inputs into a Values object.
172
139
  *
@@ -176,95 +143,83 @@ export function CoreProvider<
176
143
  * - bucketRef.current is merged in and overridden by live field values.
177
144
  * - `exceptions` can hide keys (e.g. ["password", "profile.ssn"])
178
145
  */
179
- function collectValues(): Values {
146
+ function collectValues() {
180
147
  const exceptions = propsRef.current.exceptions ?? [];
181
- const list: Dict = {};
182
- const shared: Dict<Dict> = {};
183
-
148
+ const list = {};
149
+ const shared = {};
184
150
  for (const item of fetchAllNamedFields()) {
185
151
  const rawName = item.name;
186
- if (!rawName) continue;
187
-
152
+ if (!rawName)
153
+ continue;
188
154
  const trimmed = rawName.trim();
189
- if (!trimmed) continue;
190
-
155
+ if (!trimmed)
156
+ continue;
191
157
  const isArray = trimmed.endsWith("[]");
192
158
  const base = trimmed.replace(/\[]$/, "");
193
- const sharedKey = (item as any).shared as string | undefined;
194
-
159
+ const sharedKey = item.shared;
195
160
  const target = sharedKey
196
161
  ? (shared[sharedKey] ?? (shared[sharedKey] = {}))
197
162
  : list;
198
-
199
163
  const fullPath = sharedKey ? `${sharedKey}.${base}` : base;
200
- if (
201
- exceptions.includes(trimmed) ||
164
+ if (exceptions.includes(trimmed) ||
202
165
  exceptions.includes(base) ||
203
- exceptions.includes(fullPath)
204
- ) {
166
+ exceptions.includes(fullPath)) {
205
167
  continue;
206
168
  }
207
-
208
- const anyField = item as any;
209
- const val =
210
- typeof anyField.getValue === "function"
211
- ? (anyField.getValue() as unknown)
212
- : (anyField.value as unknown);
213
-
169
+ const anyField = item;
170
+ const val = typeof anyField.getValue === "function"
171
+ ? anyField.getValue()
172
+ : anyField.value;
214
173
  if (isArray) {
215
174
  const existing = target[base];
216
175
  if (Array.isArray(existing)) {
217
176
  target[base] = [...existing, val];
218
- } else if (typeof existing === "undefined") {
177
+ }
178
+ else if (typeof existing === "undefined") {
219
179
  target[base] = [val];
220
- } else {
180
+ }
181
+ else {
221
182
  target[base] = [existing, val];
222
183
  }
223
- } else {
184
+ }
185
+ else {
224
186
  target[base] = val;
225
187
  }
226
188
  }
227
-
228
- const fromFields: Dict = { ...list, ...shared };
229
- const merged: Dict = {
189
+ const fromFields = { ...list, ...shared };
190
+ const merged = {
230
191
  ...bucketRef.current,
231
192
  ...fromFields,
232
193
  };
233
-
234
- return merged as Values;
194
+ return merged;
235
195
  }
236
-
237
- function validateInternal(report: boolean = false): boolean {
196
+ function validateInternal(report = false) {
238
197
  let valid = true;
239
-
240
198
  if (report) {
241
199
  uncaughtRef.current = [];
242
200
  clearFieldErrors();
243
201
  }
244
-
245
202
  // field-level
246
203
  for (const field of fetchAllNamedFields()) {
247
- const anyField = field as any;
204
+ const anyField = field;
248
205
  if (typeof anyField.validate === "function") {
249
206
  const ok = anyField.validate(report);
250
- if (!ok) valid = false;
207
+ if (!ok)
208
+ valid = false;
251
209
  }
252
210
  }
253
-
254
211
  // schema-level
255
212
  if (schema) {
256
213
  try {
257
214
  schema.parse(collectValues());
258
- } catch (err: unknown) {
215
+ }
216
+ catch (err) {
259
217
  valid = false;
260
-
261
218
  if (report && err && typeof err === "object") {
262
- const anyErr = err as any;
219
+ const anyErr = err;
263
220
  if (anyErr.issues) {
264
221
  const { fieldErrors, uncaught } = mapZodError(anyErr);
265
- for (const [name, message] of Object.entries(
266
- fieldErrors
267
- )) {
222
+ for (const [name, message] of Object.entries(fieldErrors)) {
268
223
  setFieldError(name, message);
269
224
  }
270
225
  if (uncaught.length) {
@@ -274,48 +229,35 @@ export function CoreProvider<
274
229
  }
275
230
  }
276
231
  }
277
-
278
232
  return valid;
279
233
  }
280
-
281
234
  // ─────────────────────────────────────────────────────────
282
235
  // Submission
283
236
  // ─────────────────────────────────────────────────────────
284
-
285
- async function submitWithAdapter(
286
- method: Method,
287
- route: string,
288
- extra?: Partial<Values>,
289
- ignoreForm?: boolean,
290
- autoErr: boolean = true,
291
- autoRun: boolean = true
292
- ): Promise<AdapterResult<any> | undefined> {
237
+ async function submitWithAdapter(method, route, extra, ignoreForm, autoErr = true, autoRun = true) {
293
238
  const currentProps = propsRef.current;
294
-
295
239
  // active button + loading
296
- const btn = buttonRef.current as any;
240
+ const btn = buttonRef.current;
297
241
  const activeName = activeButtonNameRef.current;
298
- const isActiveButton =
299
- !!btn && typeof btn === "object" && btn.name === activeName;
300
-
301
- const setButtonLoading = (loading: boolean) => {
302
- if (!isActiveButton) return;
242
+ const isActiveButton = !!btn && typeof btn === "object" && btn.name === activeName;
243
+ const setButtonLoading = (loading) => {
244
+ if (!isActiveButton)
245
+ return;
303
246
  if (typeof btn.setLoading === "function") {
304
247
  btn.setLoading(loading);
305
- } else if ("loading" in btn) {
248
+ }
249
+ else if ("loading" in btn) {
306
250
  btn.loading = loading;
307
251
  }
308
252
  };
309
-
310
253
  setButtonLoading(true);
311
-
312
254
  let finished = false;
313
255
  const finish = () => {
314
- if (finished) return;
256
+ if (finished)
257
+ return;
315
258
  finished = true;
316
259
  setButtonLoading(false);
317
260
  };
318
-
319
261
  if (!ignoreForm) {
320
262
  const ok = validateInternal(true);
321
263
  if (!ok) {
@@ -323,13 +265,11 @@ export function CoreProvider<
323
265
  return undefined;
324
266
  }
325
267
  }
326
-
327
- let submissionValues: Values = {
268
+ let submissionValues = {
328
269
  ...collectValues(),
329
270
  ...(extra ?? {}),
330
271
  };
331
-
332
- const event: SubmitEvent<Values> = {
272
+ const event = {
333
273
  preventDefault() {
334
274
  this.continue = false;
335
275
  },
@@ -339,67 +279,56 @@ export function CoreProvider<
339
279
  submissionValues = result;
340
280
  }
341
281
  },
342
- setRoute(newRoute: string) {
282
+ setRoute(newRoute) {
343
283
  route = newRoute;
344
284
  },
345
- setMethod(newMethod: Method) {
285
+ setMethod(newMethod) {
346
286
  method = newMethod;
347
287
  },
348
-
349
288
  button: buttonRef.current ?? undefined,
350
289
  get formData() {
351
290
  return submissionValues;
352
291
  },
353
-
354
292
  form: context,
355
293
  continue: true,
356
294
  };
357
-
358
295
  if (currentProps.onSubmit) {
359
296
  try {
360
- await currentProps.onSubmit(event as any);
361
- } catch (err) {
297
+ await currentProps.onSubmit(event);
298
+ }
299
+ catch (err) {
362
300
  // host blew up: end this submit cycle
363
301
  finish();
364
302
  throw err;
365
303
  }
366
304
  }
367
-
368
305
  if (!event.continue) {
369
306
  finish();
370
307
  return undefined;
371
308
  }
372
-
373
- const factory =
374
- getAdapter(adapterKey) ??
375
- (localAdapter as unknown as (cfg: any) => AdapterResult<any>);
376
-
309
+ const factory = getAdapter(adapterKey) ??
310
+ localAdapter;
377
311
  const adapter = factory({
378
312
  method,
379
313
  url: route,
380
314
  data: submissionValues,
381
315
  callbacks: {
382
- onSuccess(ok: unknown) {
316
+ onSuccess(ok) {
383
317
  const maybe = propsRef.current.onSubmitted;
384
318
  if (maybe) {
385
- void maybe(context, ok as any, () => {
319
+ void maybe(context, ok, () => {
386
320
  finish();
387
321
  });
388
322
  }
389
323
  },
390
- onError(err: unknown) {
324
+ onError(err) {
391
325
  if (!autoErr || !err || typeof err !== "object") {
392
326
  return;
393
327
  }
394
-
395
- const anyErr = err as any;
328
+ const anyErr = err;
396
329
  if (anyErr.errors && typeof anyErr.errors === "object") {
397
- const { fieldErrors, uncaught } = mapErrorBag(
398
- anyErr.errors
399
- );
400
- for (const [name, message] of Object.entries(
401
- fieldErrors
402
- )) {
330
+ const { fieldErrors, uncaught } = mapErrorBag(anyErr.errors);
331
+ for (const [name, message] of Object.entries(fieldErrors)) {
403
332
  setFieldError(name, message);
404
333
  }
405
334
  if (uncaught.length) {
@@ -416,124 +345,97 @@ export function CoreProvider<
416
345
  },
417
346
  },
418
347
  });
419
-
420
348
  if (autoRun) {
421
349
  try {
422
350
  await adapter.send();
423
- } catch {
351
+ }
352
+ catch {
424
353
  // errors flow via callbacks; adapter may still call onFinish
425
354
  }
426
355
  }
427
-
428
356
  return adapter;
429
357
  }
430
-
431
358
  // No separate inputs view: expose registry directly via context.inputs
432
-
433
359
  // ─────────────────────────────────────────────────────────
434
360
  // CoreContext implementation
435
361
  // ─────────────────────────────────────────────────────────
436
-
437
362
  context = {
438
- values(): Values {
363
+ values() {
439
364
  return collectValues();
440
365
  },
441
-
442
- submit(): ValuesResult<Values> {
366
+ submit() {
443
367
  const valid = validateInternal(true);
444
368
  const vals = collectValues();
445
369
  return { values: vals, valid };
446
370
  },
447
-
448
- getBind(id: string): Field | undefined {
371
+ getBind(id) {
449
372
  return registryRef.current.getByBind(id);
450
373
  },
451
-
452
- validate(report?: boolean): boolean {
374
+ validate(report) {
453
375
  return validateInternal(report);
454
376
  },
455
-
456
- addField(field: Field): void {
377
+ addField(field) {
457
378
  // Normalise name
458
379
  const rawName = field.name ?? "";
459
- (field as any).name = rawName.trim();
460
-
380
+ field.name = rawName.trim();
461
381
  // hydrate from valueBag before registering
462
382
  const { valueBag, valueFeed } = propsRef.current;
463
383
  const trimmed = (field.name ?? "").trim();
464
384
  const hasName = !!trimmed;
465
385
  const isArray = hasName && trimmed.endsWith("[]");
466
386
  const base = hasName ? trimmed.replace(/\[]$/, "") : "";
467
- const sharedKey = (field as any).shared as string | undefined;
468
-
469
- if (valueBag && !(field as any).ignore && hasName) {
470
- const sourceRoot: any =
471
- sharedKey && (valueBag as any)[sharedKey]
472
- ? (valueBag as any)[sharedKey]
473
- : valueBag;
474
-
475
- let value: unknown = undefined;
476
-
387
+ const sharedKey = field.shared;
388
+ if (valueBag && !field.ignore && hasName) {
389
+ const sourceRoot = sharedKey && valueBag[sharedKey]
390
+ ? valueBag[sharedKey]
391
+ : valueBag;
392
+ let value = undefined;
477
393
  if (sourceRoot && typeof sourceRoot === "object") {
478
394
  if (isArray && Array.isArray(sourceRoot[base])) {
479
395
  const siblings = fetchAllNamedFields().filter((f) => {
480
396
  const rn = (f.name ?? "").trim();
481
- return (
482
- rn === trimmed &&
483
- ((f as any).shared as string | undefined) ===
484
- sharedKey
485
- );
397
+ return (rn === trimmed &&
398
+ f.shared ===
399
+ sharedKey);
486
400
  });
487
401
  const idx = siblings.length;
488
- value = (sourceRoot[base] as unknown[])[idx];
489
- } else {
402
+ value = sourceRoot[base][idx];
403
+ }
404
+ else {
490
405
  value = sourceRoot[base];
491
406
  }
492
407
  }
493
-
494
- let hydrated: unknown = value;
408
+ let hydrated = value;
495
409
  if (valueFeed) {
496
- const maybe = valueFeed(
497
- base as keyof Values,
498
- value as any,
499
- context as any
500
- );
410
+ const maybe = valueFeed(base, value, context);
501
411
  if (typeof maybe !== "undefined") {
502
412
  hydrated = maybe;
503
413
  }
504
414
  }
505
-
506
415
  if (typeof hydrated !== "undefined") {
507
- const anyField = field as any;
416
+ const anyField = field;
508
417
  if (typeof anyField.setValue === "function") {
509
418
  anyField.setValue(hydrated);
510
- } else {
419
+ }
420
+ else {
511
421
  anyField.value = hydrated;
512
422
  }
513
423
  }
514
424
  }
515
-
516
425
  // finally register into the single store (name/bindId/groupId)
517
426
  registryRef.current.add(field);
518
427
  },
519
-
520
428
  // Expose registry view as inputs (delegates to FieldRegistry instance)
521
429
  inputs: registryRef.current,
522
-
523
430
  // Also expose raw list of fields for compatibility is defined later as a getter
524
-
525
431
  bucket: bucketRef.current,
526
-
527
- error(
528
- nameOrBag: string | Record<string, string>,
529
- maybeMsg?: string
530
- ): void {
432
+ error(nameOrBag, maybeMsg) {
531
433
  if (typeof nameOrBag === "string") {
532
- if (!maybeMsg) return;
434
+ if (!maybeMsg)
435
+ return;
533
436
  setFieldError(nameOrBag, maybeMsg);
534
437
  return;
535
438
  }
536
-
537
439
  const { fieldErrors, uncaught } = mapErrorBag(nameOrBag);
538
440
  for (const [name, message] of Object.entries(fieldErrors)) {
539
441
  setFieldError(name, message);
@@ -542,138 +444,99 @@ export function CoreProvider<
542
444
  uncaughtRef.current.push(...uncaught);
543
445
  }
544
446
  },
545
-
546
- controlButton(): void {
447
+ controlButton() {
547
448
  const { activateButtonOnChange } = propsRef.current;
548
- if (!activateButtonOnChange) return;
549
-
550
- const btn = buttonRef.current as any;
449
+ if (!activateButtonOnChange)
450
+ return;
451
+ const btn = buttonRef.current;
551
452
  const activeName = activeButtonNameRef.current;
552
-
553
453
  // If there is no active button or it doesn't match, nothing to control.
554
454
  if (!btn || btn.name !== activeName) {
555
455
  return;
556
456
  }
557
-
558
457
  // Capture original snapshot lazily.
559
458
  if (!originalRef.current) {
560
459
  originalRef.current = collectValues();
561
460
  }
562
-
563
461
  const current = collectValues();
564
- const original = originalRef.current!;
565
-
462
+ const original = originalRef.current;
566
463
  const dirty = !deepEqual(original, current);
567
-
568
- const setDisabled = (disabled: boolean) => {
464
+ const setDisabled = (disabled) => {
569
465
  if (typeof btn.setDisabled === "function") {
570
466
  btn.setDisabled(disabled);
571
- } else if ("disabled" in btn) {
467
+ }
468
+ else if ("disabled" in btn) {
572
469
  btn.disabled = disabled;
573
470
  }
574
471
  };
575
-
576
472
  // Dirty ⇒ enable button, clean ⇒ disable button
577
473
  setDisabled(!dirty);
578
474
  },
579
-
580
475
  isDirty() {
581
476
  if (!originalRef.current) {
582
477
  originalRef.current = collectValues();
583
478
  }
584
-
585
479
  const current = collectValues();
586
- const original = originalRef.current!;
587
-
480
+ const original = originalRef.current;
588
481
  return !deepEqual(original, current);
589
482
  },
590
-
591
- async prepare(
592
- type: Method,
593
- route: string,
594
- extra?: Partial<Values>,
595
- ignoreForm?: boolean,
596
- autoErr?: boolean
597
- ): Promise<AdapterResult<any> | undefined> {
598
- return submitWithAdapter(
599
- type,
600
- route,
601
- extra,
602
- ignoreForm,
603
- autoErr,
604
- false
605
- );
483
+ async prepare(type, route, extra, ignoreForm, autoErr) {
484
+ return submitWithAdapter(type, route, extra, ignoreForm, autoErr, false);
606
485
  },
607
-
608
- persist(
609
- data: Partial<Values>,
610
- feed?: (name: string, value: unknown, original: unknown) => unknown
611
- ): void {
612
- const seen: Record<string, number> = {};
613
- const root = data as any;
614
-
615
- const useFeed =
616
- feed ||
486
+ persist(data, feed) {
487
+ const seen = {};
488
+ const root = data;
489
+ const useFeed = feed ||
617
490
  (propsRef.current.valueFeed
618
- ? (
619
- name: string,
620
- value: unknown,
621
- original: unknown
622
- ): unknown => {
623
- const vf = propsRef.current.valueFeed!;
624
- const maybe = vf(
625
- name as keyof Values,
626
- value as any,
627
- context as any
628
- );
491
+ ? (name, value, original) => {
492
+ const vf = propsRef.current.valueFeed;
493
+ const maybe = vf(name, value, context);
629
494
  return typeof maybe === "undefined"
630
495
  ? original
631
496
  : maybe;
632
497
  }
633
498
  : undefined);
634
-
635
499
  for (const field of fetchAllNamedFields()) {
636
500
  const rawName = field.name;
637
- if (!rawName) continue;
638
- if ((field as any).ignore) continue;
639
-
501
+ if (!rawName)
502
+ continue;
503
+ if (field.ignore)
504
+ continue;
640
505
  const trimmed = rawName.trim();
641
- if (!trimmed) continue;
642
-
506
+ if (!trimmed)
507
+ continue;
643
508
  const isArray = trimmed.endsWith("[]");
644
509
  const base = trimmed.replace(/\[]$/, "");
645
- const sharedKey = (field as any).shared as string | undefined;
510
+ const sharedKey = field.shared;
646
511
  const key = sharedKey ? `${sharedKey}.${base}` : base;
647
-
648
- let value: unknown = undefined;
649
-
512
+ let value = undefined;
650
513
  if (sharedKey) {
651
514
  const group = root[sharedKey];
652
515
  if (group && typeof group === "object") {
653
516
  if (isArray && Array.isArray(group[base])) {
654
517
  const idx = seen[key] ?? 0;
655
- value = (group[base] as unknown[])[idx];
518
+ value = group[base][idx];
656
519
  seen[key] = idx + 1;
657
- } else {
520
+ }
521
+ else {
658
522
  value = group[base];
659
523
  }
660
524
  }
661
- } else {
525
+ }
526
+ else {
662
527
  if (isArray && Array.isArray(root[base])) {
663
528
  const idx = seen[key] ?? 0;
664
- value = (root[base] as unknown[])[idx];
529
+ value = root[base][idx];
665
530
  seen[key] = idx + 1;
666
- } else {
531
+ }
532
+ else {
667
533
  value = root[base];
668
534
  }
669
535
  }
670
-
671
- const anyField = field as any;
672
- const original =
673
- typeof anyField.getValue === "function"
674
- ? anyField.getValue()
675
- : anyField.value;
676
-
536
+ const anyField = field;
537
+ const original = typeof anyField.getValue === "function"
538
+ ? anyField.getValue()
539
+ : anyField.value;
677
540
  let next = value;
678
541
  if (useFeed) {
679
542
  const maybe = useFeed(base, value, original);
@@ -682,117 +545,104 @@ export function CoreProvider<
682
545
  }
683
546
  next = maybe;
684
547
  }
685
-
686
548
  if (typeof anyField.setValue === "function") {
687
549
  anyField.setValue(next);
688
- } else {
550
+ }
551
+ else {
689
552
  anyField.value = next;
690
553
  }
691
554
  }
692
-
693
555
  if (propsRef.current.onUpdate) {
694
556
  propsRef.current.onUpdate(collectValues());
695
557
  }
696
558
  },
697
-
698
- setValue(name: string, value: unknown): void {
699
- if (!name) return;
700
-
701
- let sharedKey: string | undefined;
559
+ setValue(name, value) {
560
+ if (!name)
561
+ return;
562
+ let sharedKey;
702
563
  let base = name;
703
-
704
564
  if (name.includes(".")) {
705
565
  const [group, field] = name.split(".", 2);
706
566
  sharedKey = group;
707
567
  base = field;
708
568
  }
709
-
710
569
  const targetField = fetchAllNamedFields().find((f) => {
711
570
  const raw = (f.name ?? "").trim();
712
- if (!raw) return false;
713
-
571
+ if (!raw)
572
+ return false;
714
573
  const isArray = raw.endsWith("[]");
715
574
  const rawBase = raw.replace(/\[]$/, "");
716
- const fShared = (f as any).shared as string | undefined;
717
-
575
+ const fShared = f.shared;
718
576
  const sameGroup = fShared === sharedKey;
719
- const sameName =
720
- raw === name ||
577
+ const sameName = raw === name ||
721
578
  rawBase === base ||
722
579
  `${fShared}.${rawBase}` === name;
723
-
724
580
  return (!sharedKey || sameGroup) && sameName && !isArray;
725
581
  });
726
-
727
582
  if (targetField) {
728
- const anyField = targetField as any;
583
+ const anyField = targetField;
729
584
  if (typeof anyField.setValue === "function") {
730
585
  anyField.setValue(value);
731
- } else {
586
+ }
587
+ else {
732
588
  anyField.value = value;
733
589
  }
734
- } else {
590
+ }
591
+ else {
735
592
  bucketRef.current[name] = value;
736
593
  }
737
-
738
594
  if (propsRef.current.onUpdate) {
739
595
  propsRef.current.onUpdate(collectValues());
740
596
  }
741
597
  },
742
-
743
- go(data?: Partial<Values>, ignoreForm?: boolean): void {
598
+ go(data, ignoreForm) {
744
599
  void submitWithAdapter("post", "", data, ignoreForm, true, true);
745
600
  },
746
-
747
- reset(inputs: string[]): void {
748
- if (!inputs.length) return;
749
-
601
+ reset(inputs) {
602
+ if (!inputs.length)
603
+ return;
750
604
  for (const field of fetchAllNamedFields()) {
751
605
  const raw = field.name;
752
- if (!raw) continue;
753
- if (!inputs.includes(raw)) continue;
754
-
755
- const anyField = field as any;
606
+ if (!raw)
607
+ continue;
608
+ if (!inputs.includes(raw))
609
+ continue;
610
+ const anyField = field;
756
611
  if (typeof anyField.reset === "function") {
757
612
  anyField.reset();
758
- } else if (typeof anyField.setValue === "function") {
613
+ }
614
+ else if (typeof anyField.setValue === "function") {
759
615
  anyField.setValue(undefined);
760
- } else {
616
+ }
617
+ else {
761
618
  anyField.value = undefined;
762
619
  }
763
620
  }
764
621
  },
765
-
766
- set button(btn: ButtonRef) {
622
+ set button(btn) {
767
623
  buttonRef.current = btn;
768
624
  },
769
-
770
- async forceSubmit(): Promise<void> {
625
+ async forceSubmit() {
771
626
  await submitWithAdapter("post", "", undefined, false, true, true);
772
627
  },
773
-
774
- get fields(): Field[] {
628
+ get fields() {
775
629
  return fetchAllNamedFields();
776
630
  },
777
-
778
631
  get props() {
779
632
  const { formRef, valueBag, ...rest } = propsRef.current;
780
- return rest as any;
633
+ return rest;
781
634
  },
782
-
783
- setActiveButton(name: string): void {
635
+ setActiveButton(name) {
784
636
  activeButtonNameRef.current = name;
785
637
  },
786
-
787
- getUncaught(): readonly string[] {
638
+ getUncaught() {
788
639
  return uncaughtRef.current;
789
640
  },
790
- } as CoreContext<Values>;
791
-
641
+ };
792
642
  // formRef exposure
793
643
  React.useEffect(() => {
794
- if (!props.formRef) return;
795
-
644
+ if (!props.formRef)
645
+ return;
796
646
  props.formRef.current = context;
797
647
  return () => {
798
648
  if (props.formRef) {
@@ -801,7 +651,6 @@ export function CoreProvider<
801
651
  };
802
652
  // eslint-disable-next-line react-hooks/exhaustive-deps
803
653
  }, [context]);
804
-
805
654
  // init hook once
806
655
  React.useEffect(() => {
807
656
  if (props.init) {
@@ -809,10 +658,6 @@ export function CoreProvider<
809
658
  }
810
659
  // eslint-disable-next-line react-hooks/exhaustive-deps
811
660
  }, []);
812
-
813
- return (
814
- <CoreContextReact.Provider value={context as any}>
815
- {props.children}
816
- </CoreContextReact.Provider>
817
- );
661
+ return (_jsx(CoreContextReact.Provider, { value: context, children: props.children }));
818
662
  }
663
+ //# sourceMappingURL=core-provider.js.map