@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 @@
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/phone.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAY7E,KAAK,SAAS,GAAG,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IAChC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAElD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAChC;AAKD,KAAK,WAAW,GAAG,IAAI,CACpB,sBAAsB,EAEtB,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAC/D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAC9C,kBAAkB,GAClB,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAmWxC,eAAO,MAAM,kBAAkB,kJA8K7B,CAAC"}
@@ -0,0 +1,308 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // src/presets/shadcn-variants/phone.tsx
3
+ import * as React from "react";
4
+ import { Input } from "@/presets/ui/input";
5
+ import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem, } from "@/presets/ui/select";
6
+ import { cn } from "@/lib/utils";
7
+ import { getGlobalCountryList } from "@/lib/get-global-countries";
8
+ // ———————————————————————————————
9
+ // Defaults
10
+ // ———————————————————————————————
11
+ // ———————————————————————————————
12
+ // Mask helpers (lightweight legacy port)
13
+ // ———————————————————————————————
14
+ const TOKEN_CHARS = new Set(["9", "a", "*"]);
15
+ /**
16
+ * Phone only ever really uses digit masks, so we keep this compact.
17
+ */
18
+ function compileMask(pattern, placeholderChar = "_") {
19
+ return { pattern, placeholderChar };
20
+ }
21
+ /**
22
+ * Apply a simple token-based mask:
23
+ * - '9' → digit
24
+ * - 'a' → letter
25
+ * - '*' → alphanumeric
26
+ *
27
+ * `keepCharPositions` keeps literal chars/placeholders even when not filled.
28
+ */
29
+ function applyMask(mask, raw, keepCharPositions) {
30
+ const { pattern, placeholderChar } = mask;
31
+ let result = "";
32
+ let rawIndex = 0;
33
+ const len = pattern.length;
34
+ const hasTokenAhead = (pos) => {
35
+ for (let j = pos + 1; j < len; j++) {
36
+ if (TOKEN_CHARS.has(pattern[j]))
37
+ return true;
38
+ }
39
+ return false;
40
+ };
41
+ for (let i = 0; i < len; i++) {
42
+ const ch = pattern[i];
43
+ const isToken = TOKEN_CHARS.has(ch);
44
+ if (isToken) {
45
+ if (rawIndex >= raw.length) {
46
+ if (keepCharPositions) {
47
+ result += placeholderChar;
48
+ continue;
49
+ }
50
+ break;
51
+ }
52
+ const next = raw[rawIndex++];
53
+ result += next;
54
+ continue;
55
+ }
56
+ // Literal character in the mask.
57
+ const rawRemaining = rawIndex < raw.length;
58
+ const tokenAhead = hasTokenAhead(i);
59
+ // No tokens ahead → trailing literal.
60
+ if (!tokenAhead) {
61
+ if (keepCharPositions) {
62
+ result += ch;
63
+ continue;
64
+ }
65
+ break;
66
+ }
67
+ if (rawRemaining) {
68
+ // We still have digits to place → include the literal.
69
+ result += ch;
70
+ }
71
+ else if (keepCharPositions) {
72
+ // No digits left, but want full skeleton.
73
+ result += ch;
74
+ }
75
+ else {
76
+ // No digits left, and we don't keep skeleton → stop.
77
+ break;
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ /**
83
+ * Strip everything except digits.
84
+ */
85
+ function digitsOnly(input) {
86
+ return (input ?? "").replace(/\D+/g, "");
87
+ }
88
+ // ———————————————————————————————
89
+ // Value ↔ display helpers
90
+ // ———————————————————————————————
91
+ function dialPrefixFor(country) {
92
+ return `+${country.dial} `;
93
+ }
94
+ /**
95
+ * From any stored value (masked, e164, or national) extract
96
+ * the NATIONAL digits for a given country.
97
+ *
98
+ * Strategy: remove all non-digits, then strip leading dial code
99
+ * if present.
100
+ */
101
+ function valueToNationalDigits(value, country) {
102
+ const digits = digitsOnly(value);
103
+ if (!digits)
104
+ return "";
105
+ if (digits.startsWith(country.dial)) {
106
+ return digits.slice(country.dial.length);
107
+ }
108
+ return digits;
109
+ }
110
+ /**
111
+ * Build the display string shown in the input for a given value.
112
+ *
113
+ * Always renders "+<dial> " plus an optionally masked national part.
114
+ */
115
+ function computeDisplayFromValue(value, country, keepCharPositions) {
116
+ const prefix = dialPrefixFor(country);
117
+ const national = valueToNationalDigits(value, country);
118
+ if (!national) {
119
+ return prefix;
120
+ }
121
+ const mask = compileMask(country.mask);
122
+ const maskedNational = applyMask(mask, national, keepCharPositions);
123
+ if (!maskedNational) {
124
+ return prefix;
125
+ }
126
+ return prefix + maskedNational;
127
+ }
128
+ /**
129
+ * Given raw user input in the field, compute:
130
+ * - display string (what we show in the input)
131
+ * - next form value (according to valueMode)
132
+ * - nationalDigits (for metadata)
133
+ */
134
+ function computeNextFromInput(rawInput, country, mode, keepCharPositions) {
135
+ const prefix = dialPrefixFor(country);
136
+ const allDigits = digitsOnly(rawInput);
137
+ let national = allDigits;
138
+ if (national.startsWith(country.dial)) {
139
+ national = national.slice(country.dial.length);
140
+ }
141
+ const mask = compileMask(country.mask);
142
+ const maskedNational = applyMask(mask, national, keepCharPositions);
143
+ const display = national.length === 0 ? prefix : (prefix + maskedNational || prefix);
144
+ let nextValue;
145
+ if (!national.length) {
146
+ nextValue = undefined;
147
+ }
148
+ else if (mode === "masked") {
149
+ nextValue = display;
150
+ }
151
+ else if (mode === "e164") {
152
+ nextValue = country.dial + national;
153
+ }
154
+ else {
155
+ // "national"
156
+ nextValue = national;
157
+ }
158
+ return { display, nextValue, nationalDigits: national };
159
+ }
160
+ /**
161
+ * When the country changes, re-interpret the existing value's
162
+ * digits into the new country's mask/dial.
163
+ */
164
+ function remapToCountry(value, from, to, mode, keepCharPositions) {
165
+ if (!value) {
166
+ const prefix = dialPrefixFor(to);
167
+ return { display: prefix, nextValue: undefined };
168
+ }
169
+ const digitsAll = digitsOnly(value);
170
+ let national = digitsAll;
171
+ if (digitsAll.startsWith(from.dial)) {
172
+ national = digitsAll.slice(from.dial.length);
173
+ }
174
+ const prefix = dialPrefixFor(to);
175
+ const mask = compileMask(to.mask);
176
+ const masked = applyMask(mask, national, keepCharPositions);
177
+ const display = national.length === 0 ? prefix : (prefix + masked || prefix);
178
+ let nextValue;
179
+ if (!national.length) {
180
+ nextValue = undefined;
181
+ }
182
+ else if (mode === "masked") {
183
+ nextValue = display;
184
+ }
185
+ else if (mode === "e164") {
186
+ nextValue = to.dial + national;
187
+ }
188
+ else {
189
+ nextValue = national;
190
+ }
191
+ return { display, nextValue };
192
+ }
193
+ /**
194
+ * If no placeholder is passed, we show the dial prefix plus an
195
+ * underscore-skeleton version of the national mask.
196
+ */
197
+ function buildPlaceholder(country) {
198
+ const prefix = dialPrefixFor(country);
199
+ const skeleton = country.mask.replace(/[9a\*]/g, "_");
200
+ return prefix + skeleton;
201
+ }
202
+ const CountrySelect = ({ countries, value, onChange, showFlag, showSelectedLabel, showSelectedDial, showDialInList, countrySelectClassName, countryTriggerClassName, countryValueClassName, countryContentClassName, countryItemClassName, }) => {
203
+ const selected = countries.find((c) => c.code === value) ?? countries[0] ?? null;
204
+ const triggerLabel = selected
205
+ ? [
206
+ showFlag && selected.flag ? selected.flag : null,
207
+ showSelectedDial ? `+${selected.dial}` : null,
208
+ showSelectedLabel ? selected.label : null,
209
+ ]
210
+ .filter(Boolean)
211
+ .join(" ")
212
+ : "";
213
+ return (_jsx("div", { className: countrySelectClassName, children: _jsxs(Select, { value: selected?.code ?? "", onValueChange: onChange, children: [_jsx(SelectTrigger, { className: cn("h-full min-w-18 px-2 focus-visible:ring-0 py-0 shadow-none rounded-none border-l-0 border-t-0 border-b-0 border-r text-xs whitespace-nowrap", countryTriggerClassName), children: _jsx(SelectValue, { placeholder: "Code", className: countryValueClassName, children: triggerLabel || selected?.code || "—" }) }), _jsx(SelectContent, { className: countryContentClassName, children: countries.map((c) => {
214
+ const parts = [];
215
+ if (showFlag && c.flag) {
216
+ parts.push(String(c.flag));
217
+ }
218
+ if (showDialInList) {
219
+ parts.push(`+${c.dial}`);
220
+ }
221
+ parts.push(c.label);
222
+ return (_jsx(SelectItem, { value: c.code, className: countryItemClassName, children: parts.join(" ") }, c.code));
223
+ }) })] }) }));
224
+ };
225
+ // ———————————————————————————————
226
+ // Main variant component
227
+ // ———————————————————————————————
228
+ export const ShadcnPhoneVariant = React.forwardRef(function ShadcnPhoneVariant(props, ref) {
229
+ const { countries: countriesProp, defaultCountry, onCountryChange, showCountry = true, showFlag = true, showSelectedLabel = false, showSelectedDial = false, showDialInList = true, valueMode = "e164", keepCharPositions = false, value, onValue, countryPlaceholder: placeholder, error, countrySelectClassName, countryTriggerClassName, countryValueClassName, countryContentClassName, countryItemClassName, ...restTextProps } = props;
230
+ let DEFAULT_COUNTRIES = getGlobalCountryList();
231
+ const countries = countriesProp && countriesProp.length > 0
232
+ ? countriesProp
233
+ : DEFAULT_COUNTRIES;
234
+ const [country, setCountry] = React.useState(() => {
235
+ if (defaultCountry) {
236
+ const found = countries.find((c) => c.code === defaultCountry);
237
+ if (found)
238
+ return found;
239
+ }
240
+ return countries[0] ?? DEFAULT_COUNTRIES[0];
241
+ });
242
+ // Keep active country in sync if list/default changes.
243
+ React.useEffect(() => {
244
+ setCountry((prev) => {
245
+ if (defaultCountry) {
246
+ const found = countries.find((c) => c.code === defaultCountry);
247
+ if (found)
248
+ return found;
249
+ }
250
+ const stillThere = countries.find((c) => c.code === prev.code);
251
+ return stillThere ?? countries[0] ?? prev;
252
+ });
253
+ }, [countries, defaultCountry]);
254
+ const [local, setLocal] = React.useState(() => computeDisplayFromValue(value, country, keepCharPositions));
255
+ // Sync local display when external value or country changes.
256
+ React.useEffect(() => {
257
+ setLocal(computeDisplayFromValue(value, country, keepCharPositions));
258
+ }, [value, country, keepCharPositions]);
259
+ const handleInputChange = React.useCallback((event) => {
260
+ const rawInput = event.target.value ?? "";
261
+ const { display, nextValue, nationalDigits } = computeNextFromInput(rawInput, country, valueMode, keepCharPositions);
262
+ setLocal(display);
263
+ if (onValue) {
264
+ const detail = {
265
+ source: "variant",
266
+ raw: rawInput,
267
+ nativeEvent: event,
268
+ meta: {
269
+ country,
270
+ nationalDigits,
271
+ },
272
+ };
273
+ onValue(nextValue, detail);
274
+ }
275
+ }, [country, valueMode, keepCharPositions, onValue]);
276
+ const handleCountryChange = React.useCallback((nextCode) => {
277
+ const nextCountry = countries.find((c) => c.code === nextCode) ?? countries[0];
278
+ if (!nextCountry)
279
+ return;
280
+ setCountry(nextCountry);
281
+ onCountryChange?.(nextCountry);
282
+ const { display, nextValue } = remapToCountry(value, country, nextCountry, valueMode, keepCharPositions);
283
+ setLocal(display);
284
+ if (onValue) {
285
+ const detail = {
286
+ source: "variant",
287
+ raw: undefined,
288
+ meta: {
289
+ from: country,
290
+ to: nextCountry,
291
+ },
292
+ };
293
+ onValue(nextValue, detail);
294
+ }
295
+ }, [
296
+ countries,
297
+ country,
298
+ keepCharPositions,
299
+ onCountryChange,
300
+ onValue,
301
+ value,
302
+ valueMode,
303
+ ]);
304
+ const effectivePlaceholder = placeholder ?? buildPlaceholder(country);
305
+ const leadingControl = showCountry ? (_jsx(CountrySelect, { countries: countries, value: country.code, onChange: handleCountryChange, showFlag: showFlag, showSelectedLabel: showSelectedLabel, showSelectedDial: showSelectedDial, showDialInList: showDialInList, countrySelectClassName: countrySelectClassName, countryTriggerClassName: countryTriggerClassName, countryValueClassName: countryValueClassName, countryContentClassName: countryContentClassName, countryItemClassName: countryItemClassName })) : undefined;
306
+ return (_jsx(Input, { ref: ref, ...restTextProps, type: "tel", inputMode: "tel", value: local, onChange: handleInputChange, leadingControl: leadingControl, placeholder: effectivePlaceholder, "aria-invalid": error ? "true" : undefined }));
307
+ });
308
+ //# sourceMappingURL=phone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/phone.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import * as React from "react";
2
+ import type { VariantBaseProps } from "@/variants/shared";
3
+ import { RadioGroup } from "@/presets/ui/radio-group";
4
+ /**
5
+ * Visual size of the radio UI.
6
+ */
7
+ export type RadioSize = "sm" | "md" | "lg";
8
+ /**
9
+ * Vertical density of each radio row.
10
+ *
11
+ * Names aligned with your FieldDensity, but local to this variant.
12
+ */
13
+ export type RadioDensity = "compact" | "comfortable" | "loose";
14
+ /**
15
+ * Layout mode for the group.
16
+ *
17
+ * - "list" → stacked rows
18
+ * - "grid" → CSS grid with `columns`
19
+ */
20
+ export type RadioLayoutMode = "list" | "grid";
21
+ /**
22
+ * Base radio item shape.
23
+ */
24
+ export interface RadioItem<TValue> {
25
+ value: TValue;
26
+ label: React.ReactNode;
27
+ description?: React.ReactNode;
28
+ disabled?: boolean;
29
+ key?: React.Key;
30
+ }
31
+ /**
32
+ * Mapping functions used when TItem is not `RadioItem<TValue>`.
33
+ */
34
+ export interface RadioMappers<TItem, TValue> {
35
+ getValue: (item: TItem, index: number) => TValue;
36
+ getLabel: (item: TItem, index: number) => React.ReactNode;
37
+ getDescription?: (item: TItem, index: number) => React.ReactNode;
38
+ isDisabled?: (item: TItem, index: number) => boolean;
39
+ getKey?: (item: TItem, index: number) => React.Key;
40
+ }
41
+ /**
42
+ * Context passed to a custom renderOption callback.
43
+ */
44
+ export interface RadioRenderOptionContext<TValue> {
45
+ item: RadioItem<TValue>;
46
+ index: number;
47
+ selected: boolean;
48
+ disabled: boolean;
49
+ size: RadioSize;
50
+ density: RadioDensity;
51
+ /**
52
+ * DOM id of this option (tied to the underlying RadioGroupItem).
53
+ */
54
+ optionId?: string;
55
+ /**
56
+ * Prebuilt radio control for convenience.
57
+ * You can ignore this and render your own if you want.
58
+ */
59
+ radio: React.ReactNode;
60
+ }
61
+ /**
62
+ * UI-specific radio props (independent of VariantBaseProps).
63
+ */
64
+ export interface ShadcnRadioUiProps<TItem, TValue> {
65
+ /**
66
+ * Items to render as choices.
67
+ *
68
+ * Can be:
69
+ * - `RadioItem<TValue>[]`, or
70
+ * - any custom TItem[] when used with mapping functions
71
+ * or optionValue/optionLabel keys.
72
+ */
73
+ items: readonly TItem[];
74
+ /**
75
+ * Mapping functions for TItem → value/label/etc.
76
+ *
77
+ * Takes precedence over optionValue/optionLabel if provided.
78
+ */
79
+ mappers?: RadioMappers<TItem, TValue>;
80
+ /**
81
+ * Property name on TItem that holds the **value**.
82
+ *
83
+ * Example:
84
+ * items = [{ id: "free", title: "Free" }]
85
+ * optionValue = "id"
86
+ */
87
+ optionValue?: keyof TItem;
88
+ /**
89
+ * Property name on TItem that holds the **label**.
90
+ *
91
+ * Example:
92
+ * items = [{ id: "free", title: "Free" }]
93
+ * optionLabel = "title"
94
+ */
95
+ optionLabel?: keyof TItem;
96
+ /**
97
+ * Optional custom renderer for each option.
98
+ *
99
+ * If provided, the default label/description layout is skipped and
100
+ * this function is responsible for rendering the row.
101
+ */
102
+ renderOption?: (ctx: RadioRenderOptionContext<TValue>) => React.ReactNode;
103
+ /**
104
+ * Layout mode for the group.
105
+ * Default: "list".
106
+ */
107
+ layout?: RadioLayoutMode;
108
+ /**
109
+ * Number of columns in grid mode.
110
+ * Default: 2.
111
+ */
112
+ columns?: number;
113
+ /**
114
+ * Gap between items (list rows or grid cells) in px.
115
+ * If omitted, Tailwind gaps/classes can handle spacing.
116
+ */
117
+ itemGapPx?: number;
118
+ /**
119
+ * Visual size of the radios.
120
+ * Default: "md".
121
+ */
122
+ size?: RadioSize;
123
+ /**
124
+ * Vertical density (padding) of each row.
125
+ * Default: "comfortable".
126
+ */
127
+ density?: RadioDensity;
128
+ /**
129
+ * ARIA overrides for the group.
130
+ */
131
+ "aria-label"?: string;
132
+ "aria-labelledby"?: string;
133
+ /**
134
+ * Wrapper class for the whole radio group.
135
+ */
136
+ groupClassName?: string;
137
+ /**
138
+ * Extra classes for each radio option row.
139
+ */
140
+ optionClassName?: string;
141
+ /**
142
+ * Extra classes for the option label node.
143
+ */
144
+ labelClassName?: string;
145
+ /**
146
+ * Extra classes for the description text under the label.
147
+ */
148
+ descriptionClassName?: string;
149
+ }
150
+ /**
151
+ * Full props for the Shadcn-based radio variant.
152
+ */
153
+ export type ShadcnRadioVariantProps<TValue, TItem = RadioItem<TValue>> = ShadcnRadioUiProps<TItem, TValue> & Pick<VariantBaseProps<TValue | undefined>, "value" | "onValue" | "error" | "disabled" | "required"> & Pick<React.ComponentProps<typeof RadioGroup>, "name"> & {
154
+ id?: string;
155
+ className?: string;
156
+ "aria-describedby"?: string;
157
+ };
158
+ /**
159
+ * Convenience type for the concrete React component.
160
+ */
161
+ export interface ShadcnRadioVariantComponent<TValue, TItem = RadioItem<TValue>> extends React.ForwardRefExoticComponent<ShadcnRadioVariantProps<TValue, TItem> & React.RefAttributes<HTMLDivElement>> {
162
+ }
163
+ /**
164
+ * Concrete Shadcn radio variant component.
165
+ *
166
+ * Cast to a generic-friendly type so TS can still infer TValue/TItem.
167
+ */
168
+ export declare const ShadcnRadioVariant: <TValue, TItem = RadioItem<TValue>>(props: ShadcnRadioVariantProps<TValue, TItem> & {
169
+ ref?: React.Ref<HTMLDivElement>;
170
+ }) => React.ReactElement | null;
171
+ export default ShadcnRadioVariant;
172
+ //# sourceMappingURL=radio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/radio.tsx"],"names":[],"mappings":"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"}