@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
@@ -1,578 +0,0 @@
1
- // src/presets/shadcn-variants/radio.tsx
2
-
3
- import * as React from "react";
4
- import type { VariantBaseProps, ChangeDetail } from "@/variants/shared";
5
- import { cn } from "@/lib/utils";
6
-
7
- // Adjust path if your radio group lives elsewhere
8
- import {
9
- RadioGroup,
10
- RadioGroupItem,
11
- } from "@/presets/ui/radio-group";
12
-
13
- // ─────────────────────────────────────────────
14
- // Types
15
- // ─────────────────────────────────────────────
16
-
17
- /**
18
- * Visual size of the radio UI.
19
- */
20
- export type RadioSize = "sm" | "md" | "lg";
21
-
22
- /**
23
- * Vertical density of each radio row.
24
- *
25
- * Names aligned with your FieldDensity, but local to this variant.
26
- */
27
- export type RadioDensity = "compact" | "comfortable" | "loose";
28
-
29
- /**
30
- * Layout mode for the group.
31
- *
32
- * - "list" → stacked rows
33
- * - "grid" → CSS grid with `columns`
34
- */
35
- export type RadioLayoutMode = "list" | "grid";
36
-
37
- /**
38
- * Base radio item shape.
39
- */
40
- export interface RadioItem<TValue> {
41
- value: TValue;
42
- label: React.ReactNode;
43
- description?: React.ReactNode;
44
- disabled?: boolean;
45
- key?: React.Key;
46
- }
47
-
48
- /**
49
- * Mapping functions used when TItem is not `RadioItem<TValue>`.
50
- */
51
- export interface RadioMappers<TItem, TValue> {
52
- getValue: (item: TItem, index: number) => TValue;
53
- getLabel: (item: TItem, index: number) => React.ReactNode;
54
- getDescription?: (item: TItem, index: number) => React.ReactNode;
55
- isDisabled?: (item: TItem, index: number) => boolean;
56
- getKey?: (item: TItem, index: number) => React.Key;
57
- }
58
-
59
- /**
60
- * Context passed to a custom renderOption callback.
61
- */
62
- export interface RadioRenderOptionContext<TValue> {
63
- item: RadioItem<TValue>;
64
- index: number;
65
- selected: boolean;
66
- disabled: boolean;
67
- size: RadioSize;
68
- density: RadioDensity;
69
- /**
70
- * DOM id of this option (tied to the underlying RadioGroupItem).
71
- */
72
- optionId?: string;
73
-
74
- /**
75
- * Prebuilt radio control for convenience.
76
- * You can ignore this and render your own if you want.
77
- */
78
- radio: React.ReactNode;
79
- }
80
-
81
- /**
82
- * UI-specific radio props (independent of VariantBaseProps).
83
- */
84
- export interface ShadcnRadioUiProps<TItem, TValue> {
85
- /**
86
- * Items to render as choices.
87
- *
88
- * Can be:
89
- * - `RadioItem<TValue>[]`, or
90
- * - any custom TItem[] when used with mapping functions
91
- * or optionValue/optionLabel keys.
92
- */
93
- items: readonly TItem[];
94
-
95
- /**
96
- * Mapping functions for TItem → value/label/etc.
97
- *
98
- * Takes precedence over optionValue/optionLabel if provided.
99
- */
100
- mappers?: RadioMappers<TItem, TValue>;
101
-
102
- /**
103
- * Property name on TItem that holds the **value**.
104
- *
105
- * Example:
106
- * items = [{ id: "free", title: "Free" }]
107
- * optionValue = "id"
108
- */
109
- optionValue?: keyof TItem;
110
-
111
- /**
112
- * Property name on TItem that holds the **label**.
113
- *
114
- * Example:
115
- * items = [{ id: "free", title: "Free" }]
116
- * optionLabel = "title"
117
- */
118
- optionLabel?: keyof TItem;
119
-
120
- /**
121
- * Optional custom renderer for each option.
122
- *
123
- * If provided, the default label/description layout is skipped and
124
- * this function is responsible for rendering the row.
125
- */
126
- renderOption?: (
127
- ctx: RadioRenderOptionContext<TValue>
128
- ) => React.ReactNode;
129
-
130
- /**
131
- * Layout mode for the group.
132
- * Default: "list".
133
- */
134
- layout?: RadioLayoutMode;
135
-
136
- /**
137
- * Number of columns in grid mode.
138
- * Default: 2.
139
- */
140
- columns?: number;
141
-
142
- /**
143
- * Gap between items (list rows or grid cells) in px.
144
- * If omitted, Tailwind gaps/classes can handle spacing.
145
- */
146
- itemGapPx?: number;
147
-
148
- /**
149
- * Visual size of the radios.
150
- * Default: "md".
151
- */
152
- size?: RadioSize;
153
-
154
- /**
155
- * Vertical density (padding) of each row.
156
- * Default: "comfortable".
157
- */
158
- density?: RadioDensity;
159
-
160
- /**
161
- * ARIA overrides for the group.
162
- */
163
- "aria-label"?: string;
164
- "aria-labelledby"?: string;
165
-
166
- /**
167
- * Wrapper class for the whole radio group.
168
- */
169
- groupClassName?: string;
170
-
171
- /**
172
- * Extra classes for each radio option row.
173
- */
174
- optionClassName?: string;
175
-
176
- /**
177
- * Extra classes for the option label node.
178
- */
179
- labelClassName?: string;
180
-
181
- /**
182
- * Extra classes for the description text under the label.
183
- */
184
- descriptionClassName?: string;
185
- }
186
-
187
- /**
188
- * Full props for the Shadcn-based radio variant.
189
- */
190
- export type ShadcnRadioVariantProps<
191
- TValue,
192
- TItem = RadioItem<TValue>
193
- > = ShadcnRadioUiProps<TItem, TValue> &
194
- Pick<
195
- VariantBaseProps<TValue | undefined>,
196
- "value" | "onValue" | "error" | "disabled" | "required"
197
- > &
198
- Pick<
199
- React.ComponentProps<typeof RadioGroup>,
200
- // we want to allow name + data-* etc through
201
- "name"
202
- > & {
203
- id?: string;
204
- className?: string; // alias for groupClassName
205
- "aria-describedby"?: string;
206
- };
207
-
208
- /**
209
- * Convenience type for the concrete React component.
210
- */
211
- export interface ShadcnRadioVariantComponent<
212
- TValue,
213
- TItem = RadioItem<TValue>
214
- > extends React.ForwardRefExoticComponent<
215
- ShadcnRadioVariantProps<TValue, TItem> &
216
- React.RefAttributes<HTMLDivElement>
217
- > { }
218
-
219
- // ─────────────────────────────────────────────
220
- // Helpers
221
- // ─────────────────────────────────────────────
222
-
223
- function paddingForDensity(density: RadioDensity): string {
224
- switch (density) {
225
- case "compact":
226
- return "py-1.5";
227
- case "loose":
228
- return "py-3";
229
- case "comfortable":
230
- default:
231
- return "py-1";
232
- }
233
- }
234
-
235
- function labelTextSize(size: RadioSize): string {
236
- switch (size) {
237
- case "sm":
238
- return "text-xs";
239
- case "lg":
240
- return "text-base";
241
- case "md":
242
- default:
243
- return "text-sm";
244
- }
245
- }
246
-
247
- function descriptionTextSize(size: RadioSize): string {
248
- switch (size) {
249
- case "sm":
250
- return "text-[0.7rem]";
251
- case "lg":
252
- return "text-sm";
253
- case "md":
254
- default:
255
- return "text-xs";
256
- }
257
- }
258
-
259
- /**
260
- * Normalise TItem[] into RadioItem<TValue>[] using one of:
261
- * - explicit mappers
262
- * - optionValue/optionLabel keys
263
- * - native RadioItem fields
264
- */
265
- function normalizeItems<TItem, TValue>(
266
- items: readonly TItem[],
267
- mappers?: RadioMappers<TItem, TValue>,
268
- optionValueKey?: keyof TItem,
269
- optionLabelKey?: keyof TItem
270
- ): RadioItem<TValue>[] {
271
- // 1) Full mappers win – most explicit
272
- if (mappers) {
273
- return items.map((item, index) => ({
274
- value: mappers.getValue(item, index),
275
- label: mappers.getLabel(item, index),
276
- description: mappers.getDescription
277
- ? mappers.getDescription(item, index)
278
- : undefined,
279
- disabled: mappers.isDisabled
280
- ? mappers.isDisabled(item, index)
281
- : false,
282
- key: mappers.getKey ? mappers.getKey(item, index) : index,
283
- }));
284
- }
285
-
286
- // 2) optionValue / optionLabel keys
287
- if (optionValueKey || optionLabelKey) {
288
- return items.map((item, index) => {
289
- const anyItem = item as any;
290
-
291
- const rawValue =
292
- optionValueKey != null
293
- ? anyItem[optionValueKey as string]
294
- : anyItem.value;
295
-
296
- const value = rawValue as TValue;
297
-
298
- const rawLabel =
299
- optionLabelKey != null
300
- ? anyItem[optionLabelKey as string]
301
- : anyItem.label ?? String(rawValue ?? index);
302
-
303
- const description = anyItem.description;
304
- const disabled = !!anyItem.disabled;
305
- const key: React.Key = anyItem.key ?? index;
306
-
307
- return {
308
- value,
309
- label: rawLabel,
310
- description,
311
- disabled,
312
- key,
313
- };
314
- });
315
- }
316
-
317
- // 3) Fallback: assume TItem already matches RadioItem<TValue>
318
- return items as unknown as RadioItem<TValue>[];
319
- }
320
-
321
- /**
322
- * Shallow-ish equality for values.
323
- */
324
- function isEqualValue(a: unknown, b: unknown): boolean {
325
- return Object.is(a, b);
326
- }
327
-
328
- // ─────────────────────────────────────────────
329
- // Component
330
- // ─────────────────────────────────────────────
331
-
332
- const InnerShadcnRadioVariant = <
333
- TValue,
334
- TItem = RadioItem<TValue>
335
- >(
336
- props: ShadcnRadioVariantProps<TValue, TItem>,
337
- ref: React.Ref<HTMLDivElement>
338
- ) => {
339
- const {
340
- // variant base
341
- value,
342
- onValue,
343
- error,
344
- disabled,
345
- required,
346
-
347
- // radio UI
348
- items,
349
- mappers,
350
- optionValue,
351
- optionLabel,
352
- renderOption,
353
- layout = "list",
354
- columns = 2,
355
- itemGapPx,
356
- size = "md",
357
- density = "comfortable",
358
- "aria-label": ariaLabel,
359
- "aria-labelledby": ariaLabelledBy,
360
- "aria-describedby": ariaDescribedBy,
361
- name,
362
-
363
- groupClassName,
364
- optionClassName,
365
- labelClassName,
366
- descriptionClassName,
367
-
368
- className, // alias for groupClassName
369
- id,
370
-
371
- // passthrough to RadioGroup
372
- ...restGroupProps
373
- } = props;
374
-
375
- const hasError = !!error;
376
-
377
- const normalized = React.useMemo(
378
- () =>
379
- normalizeItems<TItem, TValue>(
380
- items,
381
- mappers,
382
- optionValue,
383
- optionLabel
384
- ),
385
- [items, mappers, optionValue, optionLabel]
386
- );
387
-
388
- // Map TValue → string for RadioGroup
389
- const selectedString = React.useMemo(() => {
390
- if (value === undefined) return undefined;
391
- const found = normalized.find((item) =>
392
- isEqualValue(item.value, value)
393
- );
394
- return found ? String(found.value) : undefined;
395
- }, [normalized, value]);
396
-
397
- const handleSelect = React.useCallback(
398
- (next: TValue) => {
399
- if (!onValue || disabled) return;
400
-
401
- const detail: ChangeDetail = {
402
- source: "variant",
403
- raw: next,
404
- nativeEvent: undefined,
405
- meta: undefined,
406
- };
407
-
408
- onValue(next, detail);
409
- },
410
- [onValue, disabled]
411
- );
412
-
413
- const handleRadioChange = React.useCallback(
414
- (raw: string) => {
415
- const found = normalized.find(
416
- (item) => String(item.value) === raw
417
- );
418
- if (!found) return;
419
- handleSelect(found.value);
420
- },
421
- [normalized, handleSelect]
422
- );
423
-
424
- const groupStyle: React.CSSProperties | undefined = React.useMemo(() => {
425
- if (!itemGapPx) {
426
- if (layout === "grid") {
427
- return {
428
- gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`,
429
- };
430
- }
431
- return undefined;
432
- }
433
-
434
- if (layout === "list") {
435
- return { rowGap: itemGapPx };
436
- }
437
-
438
- return {
439
- gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`,
440
- gap: itemGapPx,
441
- };
442
- }, [layout, columns, itemGapPx]);
443
-
444
- const groupClasses = cn(
445
- layout === "grid" ? "grid" : "flex flex-col",
446
- groupClassName ?? className
447
- );
448
-
449
- const baseOptionClass = cn(
450
- // layout container for each option row
451
- "relative flex items-start",
452
- // keep disabled styles
453
- "data-[disabled=true]:opacity-60 data-[disabled=true]:cursor-not-allowed",
454
- // vertical padding from density
455
- paddingForDensity(density),
456
- optionClassName
457
- );
458
-
459
- const labelClassesBase = cn(
460
- "font-medium text-foreground",
461
- labelTextSize(size),
462
- labelClassName
463
- );
464
-
465
- const descriptionClassesBase = cn(
466
- "mt-0.5 text-muted-foreground",
467
- descriptionTextSize(size),
468
- descriptionClassName
469
- );
470
-
471
- return (
472
- <RadioGroup
473
- ref={ref}
474
- id={id}
475
- name={name}
476
- value={selectedString}
477
- onValueChange={handleRadioChange}
478
- disabled={disabled}
479
- aria-label={ariaLabel}
480
- aria-labelledby={ariaLabelledBy}
481
- aria-describedby={ariaDescribedBy}
482
- aria-invalid={hasError || undefined}
483
- aria-required={required || undefined}
484
- className={groupClasses}
485
- style={groupStyle}
486
- data-slot="radio-group"
487
- {...restGroupProps}
488
- >
489
- {normalized.map((item, index) => {
490
- const itemString = String(item.value);
491
- const selected = selectedString === itemString;
492
- const optionDisabled = !!disabled || !!item.disabled;
493
- const optionKey = item.key ?? index;
494
- const optionId = id ? `${id}-option-${optionKey}` : undefined;
495
-
496
- const radioNode = (
497
- <RadioGroupItem
498
- id={optionId}
499
- value={itemString}
500
- disabled={optionDisabled}
501
- className="mt-1"
502
- />
503
- );
504
-
505
- // Custom renderer path
506
- if (renderOption) {
507
- return (
508
- <div
509
- key={optionKey}
510
- data-slot="radio-option"
511
- data-checked={selected ? "true" : "false"}
512
- data-disabled={optionDisabled ? "true" : "false"}
513
- className={baseOptionClass}
514
- >
515
- {renderOption({
516
- item,
517
- index,
518
- selected,
519
- disabled: optionDisabled,
520
- size,
521
- density,
522
- optionId,
523
- radio: radioNode,
524
- })}
525
- </div>
526
- );
527
- }
528
-
529
- // Default rendering
530
- return (
531
- <div
532
- key={optionKey}
533
- data-slot="radio-option"
534
- data-checked={selected ? "true" : "false"}
535
- data-disabled={optionDisabled ? "true" : "false"}
536
- className={baseOptionClass}
537
- >
538
- <label
539
- htmlFor={optionId}
540
- className="flex cursor-pointer items-start gap-3 w-full"
541
- >
542
- {radioNode}
543
-
544
- <div className="flex flex-col min-w-0">
545
- <span className={labelClassesBase}>
546
- {item.label}
547
- </span>
548
- {item.description != null && (
549
- <span className={descriptionClassesBase}>
550
- {item.description}
551
- </span>
552
- )}
553
- </div>
554
- </label>
555
- </div>
556
- );
557
- })}
558
- </RadioGroup>
559
- );
560
- };
561
-
562
- /**
563
- * Concrete Shadcn radio variant component.
564
- *
565
- * Cast to a generic-friendly type so TS can still infer TValue/TItem.
566
- */
567
- export const ShadcnRadioVariant =
568
- React.forwardRef(InnerShadcnRadioVariant) as unknown as <
569
- TValue,
570
- TItem = RadioItem<TValue>
571
- >(
572
- props: ShadcnRadioVariantProps<TValue, TItem> & {
573
- ref?: React.Ref<HTMLDivElement>;
574
- }
575
- ) => React.ReactElement | null;
576
-
577
-
578
- export default ShadcnRadioVariant;