@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,83 @@
1
+ import * as React from "react";
2
+ type MaskMode = "raw" | "masked";
3
+ export interface InputMaskProps {
4
+ mask?: string;
5
+ maskDefinitions?: Record<string, RegExp>;
6
+ slotChar?: string;
7
+ autoClear?: boolean;
8
+ unmask?: MaskMode | boolean;
9
+ maskInsertMode?: "stream" | "caret";
10
+ }
11
+ export interface InputAffixProps {
12
+ prefix?: string;
13
+ suffix?: string;
14
+ /**
15
+ * If true (default), we assume the model value does NOT contain the prefix
16
+ * and we only add it visually at render time.
17
+ */
18
+ stripPrefix?: boolean;
19
+ /**
20
+ * If true (default), we assume the model value does NOT contain the suffix
21
+ * and we only add it visually at render time.
22
+ */
23
+ stripSuffix?: boolean;
24
+ }
25
+ export interface InputIconControlProps {
26
+ leadingIcons?: React.ReactNode[];
27
+ trailingIcons?: React.ReactNode[];
28
+ icon?: React.ReactNode;
29
+ iconGap?: number;
30
+ leadingIconSpacing?: number;
31
+ trailingIconSpacing?: number;
32
+ leadingControl?: React.ReactNode;
33
+ trailingControl?: React.ReactNode;
34
+ leadingControlClassName?: string;
35
+ trailingControlClassName?: string;
36
+ joinControls?: boolean;
37
+ extendBoxToControls?: boolean;
38
+ px?: number;
39
+ py?: number;
40
+ ps?: number;
41
+ pe?: number;
42
+ pb?: number;
43
+ inputClassName?: string;
44
+ }
45
+ export interface InputSizeProps {
46
+ size?: "sm" | "md" | "lg" | (string & {});
47
+ density?: "compact" | "normal" | "relaxed" | "dense" | "loose" | (string & {});
48
+ }
49
+ export type InputKeyFilter = string | RegExp | ((nextValue: string, ctx: {
50
+ event: any;
51
+ currentValue: string;
52
+ input: HTMLInputElement;
53
+ }) => boolean);
54
+ export interface InputKeyFilterProps {
55
+ /**
56
+ * Filter that constrains what can be typed / pasted.
57
+ *
58
+ * - string preset: "int" | "num" | "money" | "hex" | "alpha" | "alphanum" | "email"
59
+ * - string pattern: converted to new RegExp(pattern)
60
+ * - RegExp: used directly
61
+ * - function: custom validator
62
+ */
63
+ keyFilter?: InputKeyFilter;
64
+ /**
65
+ * Which keyboard event to hook for filtering:
66
+ * - "keydown"
67
+ * - "keypress" (closest to PrimeReact default)
68
+ * - "beforeinput"
69
+ *
70
+ * Default: "keypress"
71
+ */
72
+ keyFilterOn?: "keydown" | "keypress" | "beforeinput";
73
+ /**
74
+ * Whether to apply keyFilter to paste events.
75
+ * Default: true
76
+ */
77
+ keyFilterOnPaste?: boolean;
78
+ }
79
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size">, InputMaskProps, InputAffixProps, InputIconControlProps, InputSizeProps, InputKeyFilterProps {
80
+ }
81
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
82
+ export {};
83
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/presets/ui/input.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAGjC,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACvC;AAGD,MAAM,WAAW,eAAe;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,WAAW,qBAAqB;IAClC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAClC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CAClF;AAMD,MAAM,MAAM,cAAc,GACpB,MAAM,GACN,MAAM,GACN,CAAC,CACC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE;IACD,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;CAC3B,KACA,OAAO,CAAC,CAAC;AAElB,MAAM,WAAW,mBAAmB;IAChC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;IAErD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAuHD,MAAM,WAAW,UACb,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,EACjE,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,mBAAmB;CAAI;AAE3B,eAAO,MAAM,KAAK,qFAowBjB,CAAC"}
@@ -0,0 +1,436 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // src/presets/ui/input.tsx
3
+ // @ts-nocheck
4
+ import * as React from "react";
5
+ import { cn } from "@/lib/utils";
6
+ import { InputMask } from "../ui/input-mask";
7
+ function cx(...parts) {
8
+ return cn(...parts);
9
+ }
10
+ function resolveKeyFilterPattern(filter) {
11
+ if (!filter)
12
+ return null;
13
+ if (filter instanceof RegExp) {
14
+ // remove stateful flags for safety
15
+ const flags = filter.flags.replace("g", "").replace("y", "");
16
+ return new RegExp(filter.source, flags);
17
+ }
18
+ const presets = {
19
+ int: /^[+-]?\d*$/,
20
+ num: /^-?\d*(\.\d*)?$/,
21
+ money: /^-?\d*(\.\d{0,2})?$/,
22
+ hex: /^[0-9a-f]*$/i,
23
+ alpha: /^[A-Za-z]*$/,
24
+ alphanum: /^[A-Za-z0-9]*$/,
25
+ email: /^[^\s@]*@?[^\s@]*$/, // lenient while typing
26
+ };
27
+ const preset = presets[filter];
28
+ if (preset)
29
+ return preset;
30
+ try {
31
+ return new RegExp(filter);
32
+ }
33
+ catch {
34
+ return null;
35
+ }
36
+ }
37
+ function runKeyFilter(filter, nextValue, input, event) {
38
+ if (!filter)
39
+ return true;
40
+ // Always allow empty so users can clear the field
41
+ if (nextValue === "")
42
+ return true;
43
+ if (typeof filter === "function") {
44
+ return filter(nextValue, {
45
+ event,
46
+ currentValue: input.value,
47
+ input,
48
+ });
49
+ }
50
+ const pattern = resolveKeyFilterPattern(filter);
51
+ if (!pattern)
52
+ return true;
53
+ return pattern.test(nextValue);
54
+ }
55
+ function computeNextFromInsertion(input, inserted) {
56
+ const value = input.value ?? "";
57
+ const start = input.selectionStart ?? value.length;
58
+ const end = input.selectionEnd ?? start;
59
+ return value.slice(0, start) + inserted + value.slice(end);
60
+ }
61
+ // Same logic as in ShadcnTextVariant
62
+ function resolveBasePadding(size, density) {
63
+ let px = 12;
64
+ let py = 4;
65
+ const s = size ?? "md";
66
+ const d = density ?? "normal";
67
+ if (s === "sm") {
68
+ px = 10;
69
+ py = 3;
70
+ }
71
+ else if (s === "lg") {
72
+ px = 14;
73
+ py = 5;
74
+ }
75
+ if (d === "dense" || d === "compact") {
76
+ py = Math.max(2, py - 1);
77
+ }
78
+ else if (d === "relaxed" || d === "loose") {
79
+ py = py + 1;
80
+ }
81
+ return { px, py };
82
+ }
83
+ // Same logic as in ShadcnTextVariant
84
+ function resolveSizeDensityClasses(size, density) {
85
+ const s = size ?? "md";
86
+ const d = density ?? "normal";
87
+ let heightCls = "h-9";
88
+ let textCls = "text-base md:text-sm";
89
+ if (s === "sm") {
90
+ heightCls = "h-8";
91
+ textCls = "text-sm";
92
+ }
93
+ else if (s === "lg") {
94
+ heightCls = "h-10";
95
+ textCls = "text-base";
96
+ }
97
+ let densityCls = "";
98
+ if (d === "dense" || d === "compact") {
99
+ densityCls = "leading-tight";
100
+ }
101
+ else if (d === "relaxed" || d === "loose") {
102
+ densityCls = "leading-relaxed";
103
+ }
104
+ return { heightCls, textCls, densityCls };
105
+ }
106
+ export const Input = React.forwardRef(function Input(rawProps, forwardedRef) {
107
+ const {
108
+ // base
109
+ className, style, type, disabled, readOnly, required,
110
+ // size / density
111
+ size = "md", density = "normal",
112
+ // mask
113
+ mask, maskDefinitions, // reserved
114
+ slotChar, autoClear, unmask, maskInsertMode,
115
+ // affixes (value-level)
116
+ prefix, suffix, stripPrefix = true, stripSuffix = true,
117
+ // icons / controls
118
+ leadingIcons, trailingIcons, icon, iconGap, leadingIconSpacing, trailingIconSpacing, leadingControl, trailingControl, leadingControlClassName, trailingControlClassName, joinControls = true, extendBoxToControls = true, px, py, ps, pe, pb, inputClassName,
119
+ // key filter
120
+ keyFilter, keyFilterOn = "keypress", keyFilterOnPaste = true,
121
+ // events
122
+ onChange, onFocus, onBlur, onKeyDown, onKeyPress, onBeforeInput, onPaste,
123
+ // rest of native props (value, defaultValue, placeholder, etc.)
124
+ ...rest } = rawProps;
125
+ const sizeKey = size ?? "md";
126
+ const densityKey = density ?? "normal";
127
+ const isMasked = Boolean(mask);
128
+ const innerRef = React.useRef(null);
129
+ React.useImperativeHandle(forwardedRef, () => innerRef.current, []);
130
+ // Icons ONLY (prefix/suffix are NOT treated as icons)
131
+ const resolvedLeadingIcons = (() => {
132
+ if (leadingIcons && leadingIcons.length)
133
+ return leadingIcons;
134
+ if (icon)
135
+ return [icon];
136
+ return [];
137
+ })();
138
+ const resolvedTrailingIcons = trailingIcons ?? [];
139
+ const hasLeadingIcons = resolvedLeadingIcons.length > 0;
140
+ const hasTrailingIcons = resolvedTrailingIcons.length > 0;
141
+ const hasLeadingControl = !!leadingControl;
142
+ const hasTrailingControl = !!trailingControl;
143
+ const hasControls = hasLeadingControl || hasTrailingControl;
144
+ const hasIcons = hasLeadingIcons || hasTrailingIcons;
145
+ const hasExtras = hasControls || hasIcons;
146
+ const baseIconGap = iconGap ?? 4;
147
+ const leadingGap = leadingIconSpacing ?? baseIconGap;
148
+ const trailingGap = trailingIconSpacing ?? baseIconGap;
149
+ // Measure icon widths (for padding vars)
150
+ const leadingIconsRef = React.useRef(null);
151
+ const trailingIconsRef = React.useRef(null);
152
+ const [leadingIconsWidth, setLeadingIconsWidth] = React.useState(0);
153
+ const [trailingIconsWidth, setTrailingIconsWidth] = React.useState(0);
154
+ React.useLayoutEffect(() => {
155
+ if (typeof window === "undefined")
156
+ return;
157
+ if (typeof ResizeObserver === "undefined")
158
+ return;
159
+ const leadingEl = leadingIconsRef.current;
160
+ const trailingEl = trailingIconsRef.current;
161
+ if (!leadingEl && !trailingEl)
162
+ return;
163
+ const observer = new ResizeObserver((entries) => {
164
+ for (const entry of entries) {
165
+ const width = entry.contentRect.width;
166
+ if (entry.target === leadingIconsRef.current) {
167
+ setLeadingIconsWidth(width);
168
+ }
169
+ else if (entry.target === trailingIconsRef.current) {
170
+ setTrailingIconsWidth(width);
171
+ }
172
+ }
173
+ });
174
+ if (leadingEl)
175
+ observer.observe(leadingEl);
176
+ if (trailingEl)
177
+ observer.observe(trailingEl);
178
+ return () => observer.disconnect();
179
+ }, [hasLeadingIcons, hasTrailingIcons]);
180
+ // Padding vars (same idea as ShadcnTextVariant, feeding into Tailwind
181
+ // utilities on the actual “box” via CSS variables)
182
+ const { px: pxDefault, py: pyDefault } = resolveBasePadding(size, density);
183
+ const extraPx = typeof px === "number" ? px : 0;
184
+ const extraPy = typeof py === "number" ? py : 0;
185
+ const extraPs = typeof ps === "number" ? ps : 0;
186
+ const extraPe = typeof pe === "number" ? pe : 0;
187
+ const extraPb = typeof pb === "number" ? pb : 0;
188
+ let paddingStart = pxDefault + extraPx + extraPs;
189
+ let paddingEnd = pxDefault + extraPx + extraPe;
190
+ const paddingTop = pyDefault + extraPy;
191
+ const paddingBottom = pyDefault + extraPy + extraPb;
192
+ const textGap = baseIconGap;
193
+ if (hasLeadingIcons && leadingIconsWidth > 0) {
194
+ paddingStart += leadingIconsWidth + textGap;
195
+ }
196
+ if (hasTrailingIcons && trailingIconsWidth > 0) {
197
+ paddingEnd += trailingIconsWidth + textGap;
198
+ }
199
+ const varsStyle = {
200
+ ...(style ?? {}),
201
+ "--fp-pl": `${paddingStart}px`,
202
+ "--fp-pr": `${paddingEnd}px`,
203
+ "--fp-pt": `${paddingTop}px`,
204
+ "--fp-pb": `${paddingBottom}px`,
205
+ };
206
+ const { heightCls, textCls, densityCls } = resolveSizeDensityClasses(size, density);
207
+ // Core “box” classes (border, radius, focus, size/density),
208
+ // WITHOUT padding – padding is applied only on the actual box element.
209
+ const baseBoxClasses = cx("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30", "border-input w-full min-w-0 rounded-md border bg-transparent shadow-xs", "transition-[color,box-shadow] outline-none", "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", heightCls, textCls, densityCls);
210
+ // Padding classes driven by CSS vars
211
+ const boxPaddingClasses = cx("px-(--fp-pl,--spacing(3)) pr-(--fp-pr,--spacing(3))", "pt-(--fp-pt,--spacing(1)) pb-(--fp-pb,--spacing(1))");
212
+ // Inner neutral input (used when the *wrapper* carries the box)
213
+ const innerInputNeutral = cx("w-full min-w-0 bg-transparent border-none shadow-none outline-none", "px-0 py-0", "focus-visible:outline-none focus-visible:ring-0 focus-visible:border-transparent", "placeholder:text-muted-foreground", inputClassName);
214
+ const maskMode = unmask === true || unmask === "raw" ? "raw" : "masked";
215
+ // Focus handler with prefix/suffix selection logic
216
+ const handleFocus = React.useCallback((event) => {
217
+ onFocus?.(event);
218
+ if (!prefix && !suffix)
219
+ return;
220
+ const inputEl = event.currentTarget;
221
+ const inputValue = inputEl.value;
222
+ const prefixLength = (prefix || "").length;
223
+ const suffixLength = (suffix || "").length;
224
+ const end = inputValue.length === 0
225
+ ? 0
226
+ : inputValue.length - suffixLength;
227
+ try {
228
+ inputEl.setSelectionRange(prefixLength, end);
229
+ }
230
+ catch {
231
+ // ignore if unsupported
232
+ }
233
+ }, [onFocus, prefix, suffix]);
234
+ const focusInput = () => {
235
+ if (innerRef.current) {
236
+ innerRef.current.focus();
237
+ }
238
+ };
239
+ const handleIconMouseDown = (e) => {
240
+ e.preventDefault();
241
+ focusInput();
242
+ };
243
+ const placeholder = typeof mask === "string" && mask
244
+ ? mask
245
+ : rest.placeholder;
246
+ const hasCustomPadding = typeof px === "number" ||
247
+ typeof py === "number" ||
248
+ typeof ps === "number" ||
249
+ typeof pe === "number" ||
250
+ typeof pb === "number";
251
+ const hasKeyFilter = !!keyFilter;
252
+ // Key filter wrappers
253
+ const handleKeyDownWrapped = React.useCallback((event) => {
254
+ if (hasKeyFilter &&
255
+ keyFilterOn === "keydown" &&
256
+ !event.ctrlKey &&
257
+ !event.metaKey &&
258
+ !event.altKey &&
259
+ event.key &&
260
+ event.key.length === 1) {
261
+ const inputEl = event.currentTarget;
262
+ const nextValue = computeNextFromInsertion(inputEl, event.key);
263
+ if (!runKeyFilter(keyFilter, nextValue, inputEl, event)) {
264
+ event.preventDefault();
265
+ return;
266
+ }
267
+ }
268
+ onKeyDown?.(event);
269
+ }, [hasKeyFilter, keyFilterOn, keyFilter, onKeyDown]);
270
+ const handleKeyPressWrapped = React.useCallback((event) => {
271
+ if (hasKeyFilter &&
272
+ keyFilterOn === "keypress" &&
273
+ !event.ctrlKey &&
274
+ !event.metaKey &&
275
+ !event.altKey &&
276
+ event.key &&
277
+ event.key.length === 1) {
278
+ const inputEl = event.currentTarget;
279
+ const nextValue = computeNextFromInsertion(inputEl, event.key);
280
+ if (!runKeyFilter(keyFilter, nextValue, inputEl, event)) {
281
+ event.preventDefault();
282
+ return;
283
+ }
284
+ }
285
+ onKeyPress?.(event);
286
+ }, [hasKeyFilter, keyFilterOn, keyFilter, onKeyPress]);
287
+ const handleBeforeInputWrapped = React.useCallback((event) => {
288
+ if (hasKeyFilter &&
289
+ keyFilterOn === "beforeinput" &&
290
+ event?.nativeEvent) {
291
+ const inputEl = event.currentTarget;
292
+ const data = event.nativeEvent.data;
293
+ const inputType = event.nativeEvent.inputType;
294
+ // We only care about text insertions; deletions/etc. pass through.
295
+ if (data && inputType && inputType.startsWith("insert")) {
296
+ const nextValue = computeNextFromInsertion(inputEl, data);
297
+ if (!runKeyFilter(keyFilter, nextValue, inputEl, event)) {
298
+ event.preventDefault();
299
+ return;
300
+ }
301
+ }
302
+ }
303
+ onBeforeInput?.(event);
304
+ }, [hasKeyFilter, keyFilterOn, keyFilter, onBeforeInput]);
305
+ const handlePasteWrapped = React.useCallback((event) => {
306
+ if (hasKeyFilter && keyFilterOnPaste) {
307
+ const pasted = event.clipboardData?.getData("text") ?? "";
308
+ if (pasted) {
309
+ const inputEl = event.currentTarget;
310
+ const nextValue = computeNextFromInsertion(inputEl, pasted);
311
+ if (!runKeyFilter(keyFilter, nextValue, inputEl, event)) {
312
+ event.preventDefault();
313
+ return;
314
+ }
315
+ }
316
+ }
317
+ onPaste?.(event);
318
+ }, [hasKeyFilter, keyFilterOnPaste, keyFilter, onPaste]);
319
+ // Core renderer (mask vs plain)
320
+ const renderBaseInput = (extra) => {
321
+ const useInnerNeutral = extra.inner !== false;
322
+ // MASKED: we delegate value semantics to caller.
323
+ if (isMasked && mask) {
324
+ let maskWithAffixes = mask;
325
+ if (prefix) {
326
+ maskWithAffixes = `${prefix}${maskWithAffixes}`;
327
+ }
328
+ if (suffix) {
329
+ maskWithAffixes = `${maskWithAffixes}${suffix}`;
330
+ }
331
+ return (
332
+ //@ts-ignore
333
+ _jsx(InputMask, { ref: innerRef, mask: maskWithAffixes, slotChar: slotChar ?? "_", unmask: maskMode === "raw", disabled: disabled, readOnly: readOnly, onChange: onChange, onBlur: onBlur, onFocus: handleFocus, onKeyDown: handleKeyDownWrapped, onKeyPress: handleKeyPressWrapped, onBeforeInput: handleBeforeInputWrapped, onPaste: handlePasteWrapped, "aria-required": required ? "true" : undefined, "data-size": sizeKey, "data-density": densityKey, placeholder: placeholder, className: cx(useInnerNeutral ? innerInputNeutral : "", extra.className), style: extra.style, "data-slot": "input", ...rest }));
334
+ }
335
+ // PLAIN: value-level prefix/suffix
336
+ const modelValue = (rest.value ??
337
+ rest.defaultValue ??
338
+ "");
339
+ let displayValue = typeof modelValue === "string"
340
+ ? modelValue
341
+ : Array.isArray(modelValue)
342
+ ? modelValue.join(",")
343
+ : String(modelValue ?? "");
344
+ if (prefix) {
345
+ const hasPrefix = displayValue.startsWith(prefix);
346
+ if (stripPrefix) {
347
+ const withoutPrefix = hasPrefix
348
+ ? displayValue.slice(prefix.length)
349
+ : displayValue;
350
+ displayValue = prefix + withoutPrefix;
351
+ }
352
+ else {
353
+ displayValue = hasPrefix
354
+ ? displayValue
355
+ : prefix + displayValue;
356
+ }
357
+ }
358
+ if (suffix) {
359
+ const hasSuffix = displayValue.endsWith(suffix);
360
+ if (stripSuffix) {
361
+ const withoutSuffix = hasSuffix
362
+ ? displayValue.slice(0, displayValue.length - suffix.length)
363
+ : displayValue;
364
+ displayValue = withoutSuffix + suffix;
365
+ }
366
+ else {
367
+ displayValue = hasSuffix
368
+ ? displayValue
369
+ : displayValue + suffix;
370
+ }
371
+ }
372
+ return (
373
+ //@ts-ignore
374
+ _jsx("input", { ref: innerRef, type: type, "data-slot": "input", className: cx(useInnerNeutral ? innerInputNeutral : "", extra.className), style: extra.style, disabled: disabled, readOnly: readOnly, "aria-required": required ? "true" : undefined, "data-size": sizeKey, "data-density": densityKey, placeholder: placeholder, value: displayValue, onChange: onChange, onBlur: onBlur, onFocus: handleFocus, onKeyDown: handleKeyDownWrapped, onKeyPress: handleKeyPressWrapped, onBeforeInput: handleBeforeInputWrapped, onPaste: handlePasteWrapped, ...rest }));
375
+ };
376
+ // RENDER MODES
377
+ // 1. No controls, no icons → simple input (input is the box)
378
+ if (!hasControls && !hasIcons && !hasCustomPadding) {
379
+ return renderBaseInput({
380
+ inner: false,
381
+ className: cx(baseBoxClasses, boxPaddingClasses, className),
382
+ style: varsStyle,
383
+ });
384
+ }
385
+ // 2. No controls, but icons and/or custom padding → wrapper + box input
386
+ if (!hasControls) {
387
+ return (_jsxs("div", { className: cx("relative w-full"), style: style, "data-slot": "input-wrapper", "data-has-icons": hasIcons ? "true" : "false", children: [renderBaseInput({
388
+ inner: false,
389
+ className: cx(baseBoxClasses, boxPaddingClasses, className),
390
+ style: varsStyle,
391
+ }), hasLeadingIcons && (_jsx("div", { ref: leadingIconsRef, className: "pointer-events-auto absolute inset-y-0 left-0 flex items-center cursor-pointer", style: {
392
+ gap: leadingGap,
393
+ paddingLeft: `${pxDefault}px`,
394
+ }, "data-slot": "leading-icons", onMouseDown: handleIconMouseDown, children: resolvedLeadingIcons.map((node, idx) => (_jsx("span", { className: "flex items-center justify-center", children: node }, idx))) })), hasTrailingIcons && (_jsx("div", { ref: trailingIconsRef, className: "pointer-events-auto absolute inset-y-0 right-0 flex items-center cursor-pointer", style: {
395
+ gap: trailingGap,
396
+ paddingRight: `${pxDefault}px`,
397
+ }, "data-slot": "trailing-icons", onMouseDown: handleIconMouseDown, children: resolvedTrailingIcons.map((node, idx) => (_jsx("span", { className: "flex items-center justify-center", children: node }, idx))) }))] }));
398
+ }
399
+ // From here: we have controls → we take over the box.
400
+ // data-slot="input-group" NEVER carries padding; padding is on input-region / input-box.
401
+ const innerInputClassJoined = innerInputNeutral;
402
+ // 3. Joined mode: controls + input share one visual box
403
+ if (hasControls && joinControls) {
404
+ const groupClassName = cx("flex items-stretch w-full overflow-hidden", extendBoxToControls && cx("relative", baseBoxClasses), // box is the group
405
+ !extendBoxToControls &&
406
+ "relative border-none shadow-none bg-transparent", className);
407
+ const inputRegionClassName = cx("relative flex-1 flex items-center min-w-0",
408
+ // When the group isn't the box, the region becomes the box.
409
+ !extendBoxToControls && baseBoxClasses, "pl-[var(--fp-pl)] pr-[var(--fp-pr)] pt-[var(--fp-pt)] pb-[var(--fp-pb)]");
410
+ return (_jsxs("div", { className: groupClassName, style: varsStyle, "data-slot": "input-group", "data-has-extras": hasExtras ? "true" : "false", "data-disabled": disabled ? "true" : "false", "data-size": sizeKey, "data-density": densityKey, children: [hasLeadingControl && (_jsx("div", { className: cx("flex items-center", leadingControlClassName), "data-slot": "leading-control", children: leadingControl })), _jsxs("div", { className: inputRegionClassName, "data-slot": "input-region", children: [renderBaseInput({
411
+ inner: true,
412
+ className: innerInputClassJoined,
413
+ style: undefined,
414
+ }), hasLeadingIcons && (_jsx("div", { ref: leadingIconsRef, className: "absolute inset-y-0 left-0 flex items-center cursor-pointer", style: {
415
+ gap: leadingGap,
416
+ paddingLeft: `${pxDefault}px`,
417
+ }, "data-slot": "leading-icons", onMouseDown: handleIconMouseDown, children: resolvedLeadingIcons.map((node, idx) => (_jsx("span", { className: "flex items-center justify-center", children: node }, idx))) })), hasTrailingIcons && (_jsx("div", { ref: trailingIconsRef, className: "absolute inset-y-0 right-0 flex items-center cursor-pointer", style: {
418
+ gap: trailingGap,
419
+ paddingRight: `${pxDefault}px`,
420
+ }, "data-slot": "trailing-icons", onMouseDown: handleIconMouseDown, children: resolvedTrailingIcons.map((node, idx) => (_jsx("span", { className: "flex items-center justify-center", children: node }, idx))) }))] }), hasTrailingControl && (_jsx("div", { className: cx("flex items-center", trailingControlClassName), "data-slot": "trailing-control", children: trailingControl }))] }));
421
+ }
422
+ // 4. Separate mode: input box + separate neighbour controls
423
+ const standaloneBoxClassName = cx("relative", baseBoxClasses, "pl-[var(--fp-pl)] pr-[var(--fp-pr)] pt-[var(--fp-pt)] pb-[var(--fp-pb)]", className);
424
+ return (_jsxs("div", { className: "flex items-stretch gap-1 w-full", children: [hasLeadingControl && (_jsx("div", { className: cx("flex items-center", leadingControlClassName), "data-slot": "leading-control", children: leadingControl })), _jsx("div", { className: "flex-1 min-w-0", children: _jsxs("div", { className: standaloneBoxClassName, style: varsStyle, "data-slot": "input-box", "data-has-extras": hasExtras ? "true" : "false", "data-disabled": disabled ? "true" : "false", "data-size": sizeKey, "data-density": densityKey, children: [renderBaseInput({
425
+ inner: true,
426
+ className: innerInputNeutral,
427
+ style: undefined,
428
+ }), hasLeadingIcons && (_jsx("div", { ref: leadingIconsRef, className: "absolute inset-y-0 left-0 flex items-center cursor-pointer", style: {
429
+ gap: leadingGap,
430
+ paddingLeft: `${pxDefault}px`,
431
+ }, "data-slot": "leading-icons", onMouseDown: handleIconMouseDown, children: resolvedLeadingIcons.map((node, idx) => (_jsx("span", { className: "flex items-center justify-center", children: node }, idx))) })), hasTrailingIcons && (_jsx("div", { ref: trailingIconsRef, className: "absolute inset-y-0 right-0 flex items-center cursor-pointer", style: {
432
+ gap: trailingGap,
433
+ paddingRight: `${pxDefault}px`,
434
+ }, "data-slot": "trailing-icons", onMouseDown: handleIconMouseDown, children: resolvedTrailingIcons.map((node, idx) => (_jsx("span", { className: "flex items-center justify-center", children: node }, idx))) }))] }) }), hasTrailingControl && (_jsx("div", { className: cx("flex items-center", trailingControlClassName), "data-slot": "trailing-control", children: trailingControl }))] }));
435
+ });
436
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/presets/ui/input.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Label };
5
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../src/presets/ui/label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAIvD,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAWlD;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ import { cn } from "@/lib/utils";
4
+ function Label({ className, ...props }) {
5
+ return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
6
+ }
7
+ export { Label };
8
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../../src/presets/ui/label.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAEhC,SAAS,KAAK,CAAC,EACb,SAAS,EACT,GAAG,KAAK,EACyC;IACjD,OAAO,CACL,KAAC,cAAc,CAAC,IAAI,iBACR,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,qNAAqN,EACrN,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,60 @@
1
+ import * as React from "react";
2
+ import { ShadcnTextVariantProps } from "../shadcn-variants/text";
3
+ import { FieldSize } from "@/variants/shared";
4
+ type InputRef = HTMLInputElement;
5
+ export interface InputNumberValueChangeEvent {
6
+ originalEvent: React.SyntheticEvent<any> | null;
7
+ value: number | null;
8
+ stopPropagation(): void;
9
+ preventDefault(): void;
10
+ target: {
11
+ name?: string | null;
12
+ id?: string | null;
13
+ value: number | null;
14
+ };
15
+ }
16
+ export interface InputNumberProps extends Omit<ShadcnTextVariantProps, 'min' | 'max' | 'value'>, Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "defaultValue" | "onChange" | "onInput" | "onKeyDown" | "onKeyUp" | "size" | 'max' | 'min'> {
17
+ onKeyUp?(event: React.KeyboardEvent<HTMLInputElement>): unknown;
18
+ onKeyDown?(event: React.KeyboardEvent<HTMLInputElement>): unknown;
19
+ value?: number | null;
20
+ /**
21
+ * Emitted when the numeric value changes (Prime-style).
22
+ */
23
+ onValueChange?: (e: InputNumberValueChangeEvent) => void;
24
+ /**
25
+ * Optional simple change handler (numeric value).
26
+ */
27
+ onChange?: (e: {
28
+ originalEvent: React.SyntheticEvent<any>;
29
+ value: number | null;
30
+ }) => void;
31
+ locale?: string;
32
+ localeMatcher?: Intl.NumberFormatOptions["localeMatcher"];
33
+ mode?: "decimal" | "currency";
34
+ currency?: string;
35
+ currencyDisplay?: Intl.NumberFormatOptions["currencyDisplay"];
36
+ useGrouping?: boolean;
37
+ minFractionDigits?: number;
38
+ maxFractionDigits?: number;
39
+ roundingMode?: Intl.NumberFormatOptions["roundingMode"];
40
+ min?: number | null;
41
+ max?: number | null;
42
+ step?: number;
43
+ allowEmpty?: boolean;
44
+ format?: boolean;
45
+ inputId?: string;
46
+ inputClassName?: string;
47
+ inputStyle?: React.CSSProperties;
48
+ inputRef?: React.Ref<InputRef> | null;
49
+ /**
50
+ * String prefix/suffix (like Prime). They are part of formatting logic.
51
+ * You can ALSO forward them to your text variant as visual adornments.
52
+ */
53
+ prefix?: string;
54
+ suffix?: string;
55
+ size?: FieldSize;
56
+ invalid?: boolean;
57
+ }
58
+ export declare const InputNumber: React.MemoExoticComponent<React.ForwardRefExoticComponent<InputNumberProps & React.RefAttributes<HTMLInputElement>>>;
59
+ export {};
60
+ //# sourceMappingURL=number.d.ts.map