@timeax/form-palette 0.0.3 → 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 +4 -4
  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
@@ -0,0 +1,146 @@
1
+ // src/core/hooks/use-optional-field.ts
2
+ // noinspection GrazieInspection
3
+ import * as React from "react";
4
+ import { useField, } from "@/core/hooks/use-field";
5
+ /**
6
+ * Optional variant of `useField`.
7
+ *
8
+ * - If there is a CoreProvider, behaves like `useField`.
9
+ * - If not, it becomes a self-managed field (value/error/loading/etc).
10
+ */
11
+ export function useOptionalField(options) {
12
+ // Try strict core-bound field first.
13
+ try {
14
+ return useField(options);
15
+ }
16
+ catch {
17
+ // Fall through to self-managed mode.
18
+ }
19
+ // --- Self-managed fallback (no CoreProvider) ---
20
+ if (process.env.NODE_ENV !== "production") {
21
+ // eslint-disable-next-line no-console
22
+ console.warn("[FormPalette] useOptionalField: No CoreProvider found. " +
23
+ "Running in self-managed mode.");
24
+ }
25
+ const { name: rawName, bindId: rawBindId, bind, shared, groupId, alias, main, ignore, required: requiredProp = false, defaultValue, disabled: disabledProp = false, readOnly: readOnlyProp = false, validate, getOriginalValue, onValueChange, } = options;
26
+ const ref = React.useRef(null);
27
+ const [value, setValueState] = React.useState(defaultValue);
28
+ const [error, setErrorState] = React.useState("");
29
+ const [loading, setLoadingState] = React.useState(false);
30
+ const [required, setRequired] = React.useState(!!requiredProp);
31
+ const [disabled, setDisabled] = React.useState(!!disabledProp);
32
+ const [readOnly, setReadOnly] = React.useState(!!readOnlyProp);
33
+ const originalRef = React.useRef(getOriginalValue
34
+ ? getOriginalValue(defaultValue)
35
+ : defaultValue);
36
+ const id = React.useId();
37
+ const keyRef = React.useRef("");
38
+ if (!keyRef.current) {
39
+ if (rawName && rawName.trim()) {
40
+ keyRef.current = `${rawName.trim()}-${id}`;
41
+ }
42
+ else if (rawBindId && rawBindId.trim()) {
43
+ keyRef.current = `${rawBindId.trim()}-${id}`;
44
+ }
45
+ else {
46
+ keyRef.current = `field-${Math.random()
47
+ .toString(36)
48
+ .slice(2)}-${id}`;
49
+ }
50
+ }
51
+ const bindIdRef = React.useRef("");
52
+ if (!bindIdRef.current) {
53
+ bindIdRef.current = (rawBindId && rawBindId.trim()) || keyRef.current;
54
+ }
55
+ // Keep prop-driven flags in sync
56
+ React.useEffect(() => {
57
+ setRequired(!!requiredProp);
58
+ }, [requiredProp]);
59
+ React.useEffect(() => {
60
+ setDisabled(!!disabledProp);
61
+ }, [disabledProp]);
62
+ React.useEffect(() => {
63
+ setReadOnly(!!readOnlyProp);
64
+ }, [readOnlyProp]);
65
+ function setValue(next, variant = "direct") {
66
+ const prev = value;
67
+ if (Object.is(prev, next))
68
+ return;
69
+ setValueState(next);
70
+ if (onValueChange) {
71
+ onValueChange(next, prev, variant);
72
+ }
73
+ }
74
+ function setError(message) {
75
+ setErrorState(message);
76
+ }
77
+ function setLoading(next) {
78
+ setLoadingState(next);
79
+ }
80
+ function runValidate(report) {
81
+ const current = value;
82
+ let ok = true;
83
+ let message = "";
84
+ if (required &&
85
+ (current === undefined ||
86
+ current === null ||
87
+ (typeof current === "string" && current.trim() === "") ||
88
+ (Array.isArray(current) && current.length === 0))) {
89
+ ok = false;
90
+ message = "This field is required.";
91
+ }
92
+ else if (validate) {
93
+ const result = validate(current, !!report);
94
+ if (typeof result === "string") {
95
+ ok = false;
96
+ message = result;
97
+ }
98
+ else if (result === false) {
99
+ ok = false;
100
+ }
101
+ }
102
+ if (report) {
103
+ setErrorState(ok ? "" : message);
104
+ }
105
+ return ok;
106
+ }
107
+ // Minimal stub so callers can safely access `field.form`
108
+ const dummyForm = {};
109
+ return {
110
+ ref,
111
+ get key() {
112
+ return keyRef.current;
113
+ },
114
+ value,
115
+ setValue,
116
+ error,
117
+ setError,
118
+ loading,
119
+ setLoading,
120
+ required,
121
+ setRequired,
122
+ disabled,
123
+ setDisabled,
124
+ readOnly,
125
+ setReadOnly,
126
+ name: rawName?.trim() ?? "",
127
+ bindId: bindIdRef.current,
128
+ bind,
129
+ shared,
130
+ groupId,
131
+ alias,
132
+ main,
133
+ ignore,
134
+ get defaultValue() {
135
+ return originalRef.current;
136
+ },
137
+ get originalValue() {
138
+ return originalRef.current;
139
+ },
140
+ form: dummyForm,
141
+ validate(report) {
142
+ return runValidate(report);
143
+ },
144
+ };
145
+ }
146
+ //# sourceMappingURL=use-optional-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-optional-field.js","sourceRoot":"","sources":["../../../src/core/hooks/use-optional-field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export * from './adapter-registry';
2
+ export { CoreProvider } from './core-provider';
3
+ export { CoreShell as Form, CoreShellProps } from './core-shell';
4
+ export { CoreRoot as FormRoot } from './core-root';
5
+ export * from './hooks/use-button';
6
+ export * from './hooks/use-core';
7
+ export * from './hooks/use-core-context';
8
+ export * from './hooks/use-field';
9
+ export * from './hooks/use-optional-field';
10
+ export * from './errors';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,UAAU,CAAA"}
@@ -0,0 +1,11 @@
1
+ export * from './adapter-registry';
2
+ export { CoreProvider } from './core-provider';
3
+ export { CoreShell as Form } from './core-shell';
4
+ export { CoreRoot as FormRoot } from './core-root';
5
+ export * from './hooks/use-button';
6
+ export * from './hooks/use-core';
7
+ export * from './hooks/use-core-context';
8
+ export * from './hooks/use-field';
9
+ export * from './hooks/use-optional-field';
10
+ export * from './errors';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,SAAS,IAAI,IAAI,EAAkB,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,UAAU,CAAA"}
@@ -0,0 +1,38 @@
1
+ import type { Dict } from "@/schema/core";
2
+ import type { Field } from "@/schema/field";
3
+ import type { BindHost } from "@/core/bound/bind-host";
4
+ /**
5
+ * BinderRegistry: bound-field utilities for a given host (CoreContext or FieldRegistry).
6
+ *
7
+ * - Hosts must satisfy BindHost (getBind + optional controlButton).
8
+ * - FieldRegistry already does (via getBind() we added).
9
+ * - CoreContext also does.
10
+ *
11
+ * You typically access this via:
12
+ * form.inputs.binding // where inputs is a FieldRegistry
13
+ */
14
+ export declare class BinderRegistry<V extends Dict = Dict> {
15
+ private readonly host;
16
+ constructor(host: BindHost<V>);
17
+ /** Raw field access. */
18
+ get(bindId: string): Field | undefined;
19
+ has(bindId: string): boolean;
20
+ /** Read current value. */
21
+ value<T = unknown>(bindId: string): T | undefined;
22
+ /** Set value (and trigger controlButton / onChange). */
23
+ set<T = unknown>(bindId: string, value: T, variant?: string): boolean;
24
+ /** Set error message on the bound field. */
25
+ error(bindId: string, msg: string): boolean;
26
+ /** Run the field’s own validate(). */
27
+ validate(bindId: string, report?: boolean): boolean;
28
+ /** Observe a bound field’s value/error and liveness. */
29
+ observe<T = unknown>(bindId: string, handler: (evt: {
30
+ exists: boolean;
31
+ field?: Field;
32
+ value?: T;
33
+ error?: string;
34
+ }) => void, pollMs?: number): () => void;
35
+ /** Wait for a bound field to appear. */
36
+ wait(bindId: string, timeoutMs?: number): Promise<Field>;
37
+ }
38
+ //# sourceMappingURL=binder-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binder-registry.d.ts","sourceRoot":"","sources":["../../../src/core/registry/binder-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAYvD;;;;;;;;;GASG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9C,wBAAwB;IACxB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAItC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,0BAA0B;IAC1B,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIjD,wDAAwD;IACxD,GAAG,CAAC,CAAC,GAAG,OAAO,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,EACR,OAAO,GAAE,MAAe,GACzB,OAAO;IAIV,4CAA4C;IAC5C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAI3C,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,OAAO;IAIhD,wDAAwD;IACxD,OAAO,CAAC,CAAC,GAAG,OAAO,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,GAAG,EAAE;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,EACV,MAAM,SAAM,GACb,MAAM,IAAI;IAIb,wCAAwC;IACxC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,KAAK,CAAC;CAGzD"}
@@ -0,0 +1,52 @@
1
+ // src/core/registry/binder-registry.ts
2
+ // noinspection JSUnusedGlobalSymbols
3
+ import { getBoundField, hasBoundField, readBoundValue, setBoundValue, setBoundError, validateBoundField, observeBoundField, } from "@/core/bound/observe-bound-field";
4
+ import { waitForBoundField } from "@/core/bound/wait-for-bound-field";
5
+ /**
6
+ * BinderRegistry: bound-field utilities for a given host (CoreContext or FieldRegistry).
7
+ *
8
+ * - Hosts must satisfy BindHost (getBind + optional controlButton).
9
+ * - FieldRegistry already does (via getBind() we added).
10
+ * - CoreContext also does.
11
+ *
12
+ * You typically access this via:
13
+ * form.inputs.binding // where inputs is a FieldRegistry
14
+ */
15
+ export class BinderRegistry {
16
+ host;
17
+ constructor(host) {
18
+ this.host = host;
19
+ }
20
+ /** Raw field access. */
21
+ get(bindId) {
22
+ return getBoundField(this.host, bindId);
23
+ }
24
+ has(bindId) {
25
+ return hasBoundField(this.host, bindId);
26
+ }
27
+ /** Read current value. */
28
+ value(bindId) {
29
+ return readBoundValue(this.host, bindId);
30
+ }
31
+ /** Set value (and trigger controlButton / onChange). */
32
+ set(bindId, value, variant = "util") {
33
+ return setBoundValue(this.host, bindId, value, variant);
34
+ }
35
+ /** Set error message on the bound field. */
36
+ error(bindId, msg) {
37
+ return setBoundError(this.host, bindId, msg);
38
+ }
39
+ /** Run the field’s own validate(). */
40
+ validate(bindId, report = true) {
41
+ return validateBoundField(this.host, bindId, report);
42
+ }
43
+ /** Observe a bound field’s value/error and liveness. */
44
+ observe(bindId, handler, pollMs = 300) {
45
+ return observeBoundField(this.host, bindId, handler, pollMs);
46
+ }
47
+ /** Wait for a bound field to appear. */
48
+ wait(bindId, timeoutMs = 5000) {
49
+ return waitForBoundField(this.host, bindId, timeoutMs);
50
+ }
51
+ }
52
+ //# sourceMappingURL=binder-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binder-registry.js","sourceRoot":"","sources":["../../../src/core/registry/binder-registry.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,qCAAqC;AAKrC,OAAO,EACH,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,iBAAiB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAc;IACM;IAA7B,YAA6B,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAElD,wBAAwB;IACxB,GAAG,CAAC,MAAc;QACd,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,MAAc;QACd,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAc,MAAc;QAC7B,OAAO,cAAc,CAAO,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,wDAAwD;IACxD,GAAG,CACC,MAAc,EACd,KAAQ,EACR,UAAkB,MAAM;QAExB,OAAO,aAAa,CAAO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,MAAc,EAAE,GAAW;QAC7B,OAAO,aAAa,CAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,sCAAsC;IACtC,QAAQ,CAAC,MAAc,EAAE,MAAM,GAAG,IAAI;QAClC,OAAO,kBAAkB,CAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,wDAAwD;IACxD,OAAO,CACH,MAAc,EACd,OAKU,EACV,MAAM,GAAG,GAAG;QAEZ,OAAO,iBAAiB,CAAO,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,MAAc,EAAE,SAAS,GAAG,IAAI;QACjC,OAAO,iBAAiB,CAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACJ"}
@@ -0,0 +1,86 @@
1
+ import type { Field } from "@/schema/field";
2
+ import { BinderRegistry } from "@/core/registry/binder-registry";
3
+ /**
4
+ * Runtime helper: check if a DOM node is currently attached.
5
+ *
6
+ * Guards against SSR or test environments where document may not exist.
7
+ */
8
+ export declare function isInDom(node: Element | null | undefined): boolean;
9
+ /**
10
+ * Central store for all fields registered with the core runtime.
11
+ *
12
+ * Responsibilities:
13
+ * - Keep a stable list of Field instances (no duplicates).
14
+ * - Only track fields that have at least one identifier:
15
+ * - name (non-empty, trimmed)
16
+ * - bindId
17
+ * - groupId
18
+ * - Provide convenient lookup methods:
19
+ * - all / getAllNamed / getAllBound / getAllGrouped
20
+ * - getByName / getAllByName
21
+ * - getByGroupId / getAllByGroupId
22
+ * - getByBind / getAllByBind (binder semantics, prefer mounted)
23
+ */
24
+ export declare class FieldRegistry {
25
+ #private;
26
+ private list;
27
+ /**
28
+ * Whether this field should be tracked at all.
29
+ *
30
+ * We require at least one of: name, bindId, groupId.
31
+ */
32
+ hasIdentifier(field: Field): boolean;
33
+ /**
34
+ * Add a field to the registry if it has an identifier.
35
+ * Duplicate instances are ignored.
36
+ */
37
+ add(field: Field): void;
38
+ /**
39
+ * Remove a field from the registry.
40
+ */
41
+ remove(field: Field): void;
42
+ /**
43
+ * Clear all tracked fields.
44
+ */
45
+ clear(): void;
46
+ /**
47
+ * All fields tracked by this registry.
48
+ */
49
+ all(): Field[];
50
+ /** All fields that have a non-empty name. */
51
+ getAllNamed(): Field[];
52
+ /** All fields that have a bindId. */
53
+ getAllBound(): Field[];
54
+ /** All fields that have a groupId. */
55
+ getAllGrouped(): Field[];
56
+ /**
57
+ * First field with a given name (exact, trimmed match).
58
+ *
59
+ * Note: expects the raw name used by the field, e.g.:
60
+ * "email" or "tags[]"
61
+ */
62
+ getByName(name: string): Field | undefined;
63
+ /**
64
+ * All fields with a given name (exact, trimmed match).
65
+ */
66
+ getAllByName(name: string): Field[];
67
+ /** First field with the given groupId. */
68
+ getByGroupId(id: string): Field | undefined;
69
+ /** All fields with the given groupId. */
70
+ getAllByGroupId(id: string): Field[];
71
+ /**
72
+ * All fields that share the given bindId.
73
+ */
74
+ getAllByBind(id: string): Field[];
75
+ /**
76
+ * First field with the given bindId.
77
+ *
78
+ * Behaviour:
79
+ * - Prefer a field whose ref is currently in the DOM.
80
+ * - If none are mounted, fall back to the first matching field.
81
+ */
82
+ getByBind(id: string): Field | undefined;
83
+ getBind(id: string): Field | undefined;
84
+ get binding(): BinderRegistry;
85
+ }
86
+ //# sourceMappingURL=field-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-registry.d.ts","sourceRoot":"","sources":["../../../src/core/registry/field-registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAIjE;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;;IACtB,OAAO,CAAC,IAAI,CAAe;IAG3B;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAMpC;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMvB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAM1B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,GAAG,IAAI,KAAK,EAAE;IAQd,6CAA6C;IAC7C,WAAW,IAAI,KAAK,EAAE;IAItB,qCAAqC;IACrC,WAAW,IAAI,KAAK,EAAE;IAItB,sCAAsC;IACtC,aAAa,IAAI,KAAK,EAAE;IAQxB;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAQ1C;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE;IAYnC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAK3C,yCAAyC;IACzC,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE;IASpC;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE;IAKjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAexC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAItC,IAAI,OAAO,IAAI,cAAc,CAI5B;CACJ"}
@@ -1,19 +1,17 @@
1
1
  // src/core/registry/field-registry.ts
2
-
3
- import type { Field } from "@/schema/field";
4
2
  import { BinderRegistry } from "@/core/registry/binder-registry";
5
-
6
3
  /**
7
4
  * Runtime helper: check if a DOM node is currently attached.
8
5
  *
9
6
  * Guards against SSR or test environments where document may not exist.
10
7
  */
11
- export function isInDom(node: Element | null | undefined): boolean {
12
- if (!node) return false;
13
- if (typeof document === "undefined") return false;
8
+ export function isInDom(node) {
9
+ if (!node)
10
+ return false;
11
+ if (typeof document === "undefined")
12
+ return false;
14
13
  return document.body.contains(node);
15
14
  }
16
-
17
15
  /**
18
16
  * Central store for all fields registered with the core runtime.
19
17
  *
@@ -30,129 +28,119 @@ export function isInDom(node: Element | null | undefined): boolean {
30
28
  * - getByBind / getAllByBind (binder semantics, prefer mounted)
31
29
  */
32
30
  export class FieldRegistry {
33
- private list: Field[] = [];
34
- #binding: BinderRegistry | undefined;
35
-
31
+ list = [];
32
+ #binding;
36
33
  /**
37
34
  * Whether this field should be tracked at all.
38
35
  *
39
36
  * We require at least one of: name, bindId, groupId.
40
37
  */
41
- hasIdentifier(field: Field): boolean {
42
- const anyField = field as any;
38
+ hasIdentifier(field) {
39
+ const anyField = field;
43
40
  const name = (field.name ?? "").trim();
44
41
  return !!(name || anyField.bindId || anyField.groupId);
45
42
  }
46
-
47
43
  /**
48
44
  * Add a field to the registry if it has an identifier.
49
45
  * Duplicate instances are ignored.
50
46
  */
51
- add(field: Field): void {
52
- if (!this.hasIdentifier(field)) return;
53
- if (this.list.includes(field)) return;
47
+ add(field) {
48
+ if (!this.hasIdentifier(field))
49
+ return;
50
+ if (this.list.includes(field))
51
+ return;
54
52
  this.list.push(field);
55
53
  }
56
-
57
54
  /**
58
55
  * Remove a field from the registry.
59
56
  */
60
- remove(field: Field): void {
57
+ remove(field) {
61
58
  const idx = this.list.indexOf(field);
62
- if (idx === -1) return;
59
+ if (idx === -1)
60
+ return;
63
61
  this.list.splice(idx, 1);
64
62
  }
65
-
66
63
  /**
67
64
  * Clear all tracked fields.
68
65
  */
69
- clear(): void {
66
+ clear() {
70
67
  this.list = [];
71
68
  }
72
-
73
69
  /**
74
70
  * All fields tracked by this registry.
75
71
  */
76
- all(): Field[] {
72
+ all() {
77
73
  return this.list;
78
74
  }
79
-
80
75
  // ─────────────────────────────────────────────────────────
81
76
  // “views” over the list
82
77
  // ─────────────────────────────────────────────────────────
83
-
84
78
  /** All fields that have a non-empty name. */
85
- getAllNamed(): Field[] {
79
+ getAllNamed() {
86
80
  return this.list.filter((f) => !!(f.name && f.name.trim().length > 0));
87
81
  }
88
-
89
82
  /** All fields that have a bindId. */
90
- getAllBound(): Field[] {
91
- return this.list.filter((f) => (f as any).bindId);
83
+ getAllBound() {
84
+ return this.list.filter((f) => f.bindId);
92
85
  }
93
-
94
86
  /** All fields that have a groupId. */
95
- getAllGrouped(): Field[] {
96
- return this.list.filter((f) => (f as any).groupId);
87
+ getAllGrouped() {
88
+ return this.list.filter((f) => f.groupId);
97
89
  }
98
-
99
90
  // ─────────────────────────────────────────────────────────
100
91
  // name-based lookups
101
92
  // ─────────────────────────────────────────────────────────
102
-
103
93
  /**
104
94
  * First field with a given name (exact, trimmed match).
105
95
  *
106
96
  * Note: expects the raw name used by the field, e.g.:
107
97
  * "email" or "tags[]"
108
98
  */
109
- getByName(name: string): Field | undefined {
110
- if (!name) return undefined;
99
+ getByName(name) {
100
+ if (!name)
101
+ return undefined;
111
102
  const target = name.trim();
112
- if (!target) return undefined;
113
-
103
+ if (!target)
104
+ return undefined;
114
105
  return this.list.find((f) => (f.name ?? "").trim() === target);
115
106
  }
116
-
117
107
  /**
118
108
  * All fields with a given name (exact, trimmed match).
119
109
  */
120
- getAllByName(name: string): Field[] {
121
- if (!name) return [];
110
+ getAllByName(name) {
111
+ if (!name)
112
+ return [];
122
113
  const target = name.trim();
123
- if (!target) return [];
124
-
114
+ if (!target)
115
+ return [];
125
116
  return this.list.filter((f) => (f.name ?? "").trim() === target);
126
117
  }
127
-
128
118
  // ─────────────────────────────────────────────────────────
129
119
  // groupId-based lookups
130
120
  // ─────────────────────────────────────────────────────────
131
-
132
121
  /** First field with the given groupId. */
133
- getByGroupId(id: string): Field | undefined {
134
- if (!id) return undefined;
135
- return this.list.find((f) => (f as any).groupId === id);
122
+ getByGroupId(id) {
123
+ if (!id)
124
+ return undefined;
125
+ return this.list.find((f) => f.groupId === id);
136
126
  }
137
-
138
127
  /** All fields with the given groupId. */
139
- getAllByGroupId(id: string): Field[] {
140
- if (!id) return [];
141
- return this.list.filter((f) => (f as any).groupId === id);
128
+ getAllByGroupId(id) {
129
+ if (!id)
130
+ return [];
131
+ return this.list.filter((f) => f.groupId === id);
142
132
  }
143
-
144
133
  // ─────────────────────────────────────────────────────────
145
134
  // bindId-based lookups (binder semantics)
146
135
  // ─────────────────────────────────────────────────────────
147
-
148
136
  /**
149
137
  * All fields that share the given bindId.
150
138
  */
151
- getAllByBind(id: string): Field[] {
152
- if (!id) return [];
153
- return this.list.filter((f) => (f as any).bindId === id);
139
+ getAllByBind(id) {
140
+ if (!id)
141
+ return [];
142
+ return this.list.filter((f) => f.bindId === id);
154
143
  }
155
-
156
144
  /**
157
145
  * First field with the given bindId.
158
146
  *
@@ -160,28 +148,26 @@ export class FieldRegistry {
160
148
  * - Prefer a field whose ref is currently in the DOM.
161
149
  * - If none are mounted, fall back to the first matching field.
162
150
  */
163
- getByBind(id: string): Field | undefined {
164
- if (!id) return undefined;
165
-
151
+ getByBind(id) {
152
+ if (!id)
153
+ return undefined;
166
154
  const candidates = this.getAllByBind(id);
167
- if (!candidates.length) return undefined;
168
-
155
+ if (!candidates.length)
156
+ return undefined;
169
157
  const mounted = candidates.find((f) => {
170
- const anyField = f as any;
171
- const el = anyField.ref?.current as Element | null | undefined;
158
+ const anyField = f;
159
+ const el = anyField.ref?.current;
172
160
  return isInDom(el ?? null);
173
161
  });
174
-
175
162
  return mounted ?? candidates[0];
176
163
  }
177
-
178
- getBind(id: string): Field | undefined {
164
+ getBind(id) {
179
165
  return this.getByBind(id);
180
166
  }
181
-
182
- get binding(): BinderRegistry {
167
+ get binding() {
183
168
  if (!(this.#binding instanceof BinderRegistry))
184
169
  this.#binding = new BinderRegistry(this);
185
170
  return this.#binding;
186
171
  }
187
172
  }
173
+ //# sourceMappingURL=field-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-registry.js","sourceRoot":"","sources":["../../../src/core/registry/field-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/core/test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { InputField } from "@/index";
3
+ import { Form } from "@/index";
4
+ const Test = () => {
5
+ return (_jsx(Form, { adapter: "inertia", children: _jsx(InputField, { variant: "select", options: [{ label: 'name', value: 'string' }], optionValue: 'label', onChange: e => {
6
+ e.detail.raw;
7
+ } }) }));
8
+ };
9
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/core/test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,OAAO,CACH,KAAC,IAAI,IAAC,OAAO,EAAC,SAAS,YACnB,KAAC,UAAU,IACP,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAU,EACtD,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACV,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA;YAChB,CAAC,GACH,GACC,CACV,CAAA;AACL,CAAC,CAAA"}