@timeax/form-palette 0.0.4 → 0.0.5

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 (425) hide show
  1. package/dist/{schema/adapter.d.ts → adapters.d.mts} +116 -13
  2. package/dist/adapters.d.ts +292 -0
  3. package/dist/adapters.js +13283 -0
  4. package/dist/adapters.js.map +1 -0
  5. package/dist/adapters.mjs +13269 -0
  6. package/dist/adapters.mjs.map +1 -0
  7. package/dist/index.d.mts +3744 -0
  8. package/dist/index.d.ts +3744 -15
  9. package/dist/index.js +43013 -25
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +42965 -0
  12. package/dist/index.mjs.map +1 -0
  13. package/package.json +23 -8
  14. package/dist/adapters/axios.d.ts +0 -21
  15. package/dist/adapters/axios.d.ts.map +0 -1
  16. package/dist/adapters/axios.js +0 -74
  17. package/dist/adapters/axios.js.map +0 -1
  18. package/dist/adapters/index.d.ts +0 -35
  19. package/dist/adapters/index.d.ts.map +0 -1
  20. package/dist/adapters/index.js +0 -74
  21. package/dist/adapters/index.js.map +0 -1
  22. package/dist/adapters/inertia.d.ts +0 -24
  23. package/dist/adapters/inertia.d.ts.map +0 -1
  24. package/dist/adapters/inertia.js +0 -126
  25. package/dist/adapters/inertia.js.map +0 -1
  26. package/dist/core/adapter-registry.d.ts +0 -30
  27. package/dist/core/adapter-registry.d.ts.map +0 -1
  28. package/dist/core/adapter-registry.js +0 -69
  29. package/dist/core/adapter-registry.js.map +0 -1
  30. package/dist/core/bound/bind-host.d.ts +0 -13
  31. package/dist/core/bound/bind-host.d.ts.map +0 -1
  32. package/dist/core/bound/bind-host.js +0 -2
  33. package/dist/core/bound/bind-host.js.map +0 -1
  34. package/dist/core/bound/observe-bound-field.d.ts +0 -21
  35. package/dist/core/bound/observe-bound-field.d.ts.map +0 -1
  36. package/dist/core/bound/observe-bound-field.js +0 -116
  37. package/dist/core/bound/observe-bound-field.js.map +0 -1
  38. package/dist/core/bound/wait-for-bound-field.d.ts +0 -5
  39. package/dist/core/bound/wait-for-bound-field.d.ts.map +0 -1
  40. package/dist/core/bound/wait-for-bound-field.js +0 -35
  41. package/dist/core/bound/wait-for-bound-field.js.map +0 -1
  42. package/dist/core/context.d.ts +0 -19
  43. package/dist/core/context.d.ts.map +0 -1
  44. package/dist/core/context.js +0 -11
  45. package/dist/core/context.js.map +0 -1
  46. package/dist/core/core-provider.d.ts +0 -22
  47. package/dist/core/core-provider.d.ts.map +0 -1
  48. package/dist/core/core-provider.js +0 -663
  49. package/dist/core/core-provider.js.map +0 -1
  50. package/dist/core/core-root.d.ts +0 -26
  51. package/dist/core/core-root.d.ts.map +0 -1
  52. package/dist/core/core-root.js +0 -38
  53. package/dist/core/core-root.js.map +0 -1
  54. package/dist/core/core-shell.d.ts +0 -22
  55. package/dist/core/core-shell.d.ts.map +0 -1
  56. package/dist/core/core-shell.js +0 -8
  57. package/dist/core/core-shell.js.map +0 -1
  58. package/dist/core/errors/error-strip.d.ts +0 -34
  59. package/dist/core/errors/error-strip.d.ts.map +0 -1
  60. package/dist/core/errors/error-strip.js +0 -18
  61. package/dist/core/errors/error-strip.js.map +0 -1
  62. package/dist/core/errors/index.d.ts +0 -4
  63. package/dist/core/errors/index.d.ts.map +0 -1
  64. package/dist/core/errors/index.js +0 -4
  65. package/dist/core/errors/index.js.map +0 -1
  66. package/dist/core/errors/map-error-bag.d.ts +0 -24
  67. package/dist/core/errors/map-error-bag.d.ts.map +0 -1
  68. package/dist/core/errors/map-error-bag.js +0 -39
  69. package/dist/core/errors/map-error-bag.js.map +0 -1
  70. package/dist/core/errors/map-zod.d.ts +0 -18
  71. package/dist/core/errors/map-zod.d.ts.map +0 -1
  72. package/dist/core/errors/map-zod.js +0 -27
  73. package/dist/core/errors/map-zod.js.map +0 -1
  74. package/dist/core/hooks/use-button.d.ts +0 -73
  75. package/dist/core/hooks/use-button.d.ts.map +0 -1
  76. package/dist/core/hooks/use-button.js +0 -116
  77. package/dist/core/hooks/use-button.js.map +0 -1
  78. package/dist/core/hooks/use-core-context.d.ts +0 -9
  79. package/dist/core/hooks/use-core-context.d.ts.map +0 -1
  80. package/dist/core/hooks/use-core-context.js +0 -17
  81. package/dist/core/hooks/use-core-context.js.map +0 -1
  82. package/dist/core/hooks/use-core-utility.d.ts +0 -1
  83. package/dist/core/hooks/use-core-utility.d.ts.map +0 -1
  84. package/dist/core/hooks/use-core-utility.js +0 -2
  85. package/dist/core/hooks/use-core-utility.js.map +0 -1
  86. package/dist/core/hooks/use-core.d.ts +0 -9
  87. package/dist/core/hooks/use-core.d.ts.map +0 -1
  88. package/dist/core/hooks/use-core.js +0 -11
  89. package/dist/core/hooks/use-core.js.map +0 -1
  90. package/dist/core/hooks/use-field.d.ts +0 -141
  91. package/dist/core/hooks/use-field.d.ts.map +0 -1
  92. package/dist/core/hooks/use-field.js +0 -256
  93. package/dist/core/hooks/use-field.js.map +0 -1
  94. package/dist/core/hooks/use-optional-field.d.ts +0 -9
  95. package/dist/core/hooks/use-optional-field.d.ts.map +0 -1
  96. package/dist/core/hooks/use-optional-field.js +0 -146
  97. package/dist/core/hooks/use-optional-field.js.map +0 -1
  98. package/dist/core/index.d.ts +0 -11
  99. package/dist/core/index.d.ts.map +0 -1
  100. package/dist/core/index.js +0 -11
  101. package/dist/core/index.js.map +0 -1
  102. package/dist/core/registry/binder-registry.d.ts +0 -38
  103. package/dist/core/registry/binder-registry.d.ts.map +0 -1
  104. package/dist/core/registry/binder-registry.js +0 -52
  105. package/dist/core/registry/binder-registry.js.map +0 -1
  106. package/dist/core/registry/field-registry.d.ts +0 -86
  107. package/dist/core/registry/field-registry.d.ts.map +0 -1
  108. package/dist/core/registry/field-registry.js +0 -173
  109. package/dist/core/registry/field-registry.js.map +0 -1
  110. package/dist/core/test.d.ts +0 -2
  111. package/dist/core/test.d.ts.map +0 -1
  112. package/dist/core/test.js +0 -9
  113. package/dist/core/test.js.map +0 -1
  114. package/dist/index.d.ts.map +0 -1
  115. package/dist/input/index.d.ts +0 -3
  116. package/dist/input/index.d.ts.map +0 -1
  117. package/dist/input/index.js +0 -3
  118. package/dist/input/index.js.map +0 -1
  119. package/dist/input/input-field.d.ts +0 -15
  120. package/dist/input/input-field.d.ts.map +0 -1
  121. package/dist/input/input-field.js +0 -413
  122. package/dist/input/input-field.js.map +0 -1
  123. package/dist/input/input-layout-graph.d.ts +0 -77
  124. package/dist/input/input-layout-graph.d.ts.map +0 -1
  125. package/dist/input/input-layout-graph.js +0 -108
  126. package/dist/input/input-layout-graph.js.map +0 -1
  127. package/dist/input/input-props.d.ts +0 -128
  128. package/dist/input/input-props.d.ts.map +0 -1
  129. package/dist/input/input-props.js +0 -4
  130. package/dist/input/input-props.js.map +0 -1
  131. package/dist/lib/get-global-countries.d.ts +0 -3
  132. package/dist/lib/get-global-countries.d.ts.map +0 -1
  133. package/dist/lib/get-global-countries.js +0 -70
  134. package/dist/lib/get-global-countries.js.map +0 -1
  135. package/dist/lib/utils.d.ts +0 -3
  136. package/dist/lib/utils.d.ts.map +0 -1
  137. package/dist/lib/utils.js +0 -6
  138. package/dist/lib/utils.js.map +0 -1
  139. package/dist/presets/index.d.ts +0 -1
  140. package/dist/presets/index.d.ts.map +0 -1
  141. package/dist/presets/index.js +0 -2
  142. package/dist/presets/index.js.map +0 -1
  143. package/dist/presets/shadcn-preset.d.ts +0 -1
  144. package/dist/presets/shadcn-preset.d.ts.map +0 -1
  145. package/dist/presets/shadcn-preset.js +0 -2
  146. package/dist/presets/shadcn-preset.js.map +0 -1
  147. package/dist/presets/shadcn-variants/checkbox.d.ts +0 -212
  148. package/dist/presets/shadcn-variants/checkbox.d.ts.map +0 -1
  149. package/dist/presets/shadcn-variants/checkbox.js +0 -315
  150. package/dist/presets/shadcn-variants/checkbox.js.map +0 -1
  151. package/dist/presets/shadcn-variants/chips.d.ts +0 -154
  152. package/dist/presets/shadcn-variants/chips.d.ts.map +0 -1
  153. package/dist/presets/shadcn-variants/chips.js +0 -266
  154. package/dist/presets/shadcn-variants/chips.js.map +0 -1
  155. package/dist/presets/shadcn-variants/color.d.ts +0 -63
  156. package/dist/presets/shadcn-variants/color.d.ts.map +0 -1
  157. package/dist/presets/shadcn-variants/color.js +0 -96
  158. package/dist/presets/shadcn-variants/color.js.map +0 -1
  159. package/dist/presets/shadcn-variants/custom.d.ts +0 -94
  160. package/dist/presets/shadcn-variants/custom.d.ts.map +0 -1
  161. package/dist/presets/shadcn-variants/custom.js +0 -80
  162. package/dist/presets/shadcn-variants/custom.js.map +0 -1
  163. package/dist/presets/shadcn-variants/date.d.ts +0 -114
  164. package/dist/presets/shadcn-variants/date.d.ts.map +0 -1
  165. package/dist/presets/shadcn-variants/date.js +0 -414
  166. package/dist/presets/shadcn-variants/date.js.map +0 -1
  167. package/dist/presets/shadcn-variants/file.d.ts +0 -79
  168. package/dist/presets/shadcn-variants/file.d.ts.map +0 -1
  169. package/dist/presets/shadcn-variants/file.js +0 -289
  170. package/dist/presets/shadcn-variants/file.js.map +0 -1
  171. package/dist/presets/shadcn-variants/keyvalue.d.ts +0 -35
  172. package/dist/presets/shadcn-variants/keyvalue.d.ts.map +0 -1
  173. package/dist/presets/shadcn-variants/keyvalue.js +0 -215
  174. package/dist/presets/shadcn-variants/keyvalue.js.map +0 -1
  175. package/dist/presets/shadcn-variants/multiselect.d.ts +0 -210
  176. package/dist/presets/shadcn-variants/multiselect.d.ts.map +0 -1
  177. package/dist/presets/shadcn-variants/multiselect.js +0 -352
  178. package/dist/presets/shadcn-variants/multiselect.js.map +0 -1
  179. package/dist/presets/shadcn-variants/number.d.ts +0 -31
  180. package/dist/presets/shadcn-variants/number.d.ts.map +0 -1
  181. package/dist/presets/shadcn-variants/number.js +0 -64
  182. package/dist/presets/shadcn-variants/number.js.map +0 -1
  183. package/dist/presets/shadcn-variants/password.d.ts +0 -195
  184. package/dist/presets/shadcn-variants/password.d.ts.map +0 -1
  185. package/dist/presets/shadcn-variants/password.js +0 -296
  186. package/dist/presets/shadcn-variants/password.js.map +0 -1
  187. package/dist/presets/shadcn-variants/phone.d.ts +0 -69
  188. package/dist/presets/shadcn-variants/phone.d.ts.map +0 -1
  189. package/dist/presets/shadcn-variants/phone.js +0 -308
  190. package/dist/presets/shadcn-variants/phone.js.map +0 -1
  191. package/dist/presets/shadcn-variants/radio.d.ts +0 -172
  192. package/dist/presets/shadcn-variants/radio.d.ts.map +0 -1
  193. package/dist/presets/shadcn-variants/radio.js +0 -192
  194. package/dist/presets/shadcn-variants/radio.js.map +0 -1
  195. package/dist/presets/shadcn-variants/select.d.ts +0 -203
  196. package/dist/presets/shadcn-variants/select.d.ts.map +0 -1
  197. package/dist/presets/shadcn-variants/select.js +0 -285
  198. package/dist/presets/shadcn-variants/select.js.map +0 -1
  199. package/dist/presets/shadcn-variants/slider.d.ts +0 -131
  200. package/dist/presets/shadcn-variants/slider.d.ts.map +0 -1
  201. package/dist/presets/shadcn-variants/slider.js +0 -151
  202. package/dist/presets/shadcn-variants/slider.js.map +0 -1
  203. package/dist/presets/shadcn-variants/text.d.ts +0 -155
  204. package/dist/presets/shadcn-variants/text.d.ts.map +0 -1
  205. package/dist/presets/shadcn-variants/text.js +0 -98
  206. package/dist/presets/shadcn-variants/text.js.map +0 -1
  207. package/dist/presets/shadcn-variants/textarea.d.ts +0 -18
  208. package/dist/presets/shadcn-variants/textarea.d.ts.map +0 -1
  209. package/dist/presets/shadcn-variants/textarea.js +0 -24
  210. package/dist/presets/shadcn-variants/textarea.js.map +0 -1
  211. package/dist/presets/shadcn-variants/toggle.d.ts +0 -61
  212. package/dist/presets/shadcn-variants/toggle.d.ts.map +0 -1
  213. package/dist/presets/shadcn-variants/toggle.js +0 -67
  214. package/dist/presets/shadcn-variants/toggle.js.map +0 -1
  215. package/dist/presets/shadcn-variants/treeselect.d.ts +0 -81
  216. package/dist/presets/shadcn-variants/treeselect.d.ts.map +0 -1
  217. package/dist/presets/shadcn-variants/treeselect.js +0 -317
  218. package/dist/presets/shadcn-variants/treeselect.js.map +0 -1
  219. package/dist/presets/ui/badge.d.ts +0 -10
  220. package/dist/presets/ui/badge.d.ts.map +0 -1
  221. package/dist/presets/ui/badge.js +0 -23
  222. package/dist/presets/ui/badge.js.map +0 -1
  223. package/dist/presets/ui/button.d.ts +0 -11
  224. package/dist/presets/ui/button.d.ts.map +0 -1
  225. package/dist/presets/ui/button.js +0 -34
  226. package/dist/presets/ui/button.js.map +0 -1
  227. package/dist/presets/ui/calendar.d.ts +0 -9
  228. package/dist/presets/ui/calendar.d.ts.map +0 -1
  229. package/dist/presets/ui/calendar.js +0 -76
  230. package/dist/presets/ui/calendar.js.map +0 -1
  231. package/dist/presets/ui/checkbox.d.ts +0 -18
  232. package/dist/presets/ui/checkbox.d.ts.map +0 -1
  233. package/dist/presets/ui/checkbox.js +0 -61
  234. package/dist/presets/ui/checkbox.js.map +0 -1
  235. package/dist/presets/ui/custom.d.ts +0 -1
  236. package/dist/presets/ui/custom.d.ts.map +0 -1
  237. package/dist/presets/ui/custom.js +0 -2
  238. package/dist/presets/ui/custom.js.map +0 -1
  239. package/dist/presets/ui/dialog.d.ts +0 -16
  240. package/dist/presets/ui/dialog.d.ts.map +0 -1
  241. package/dist/presets/ui/dialog.js +0 -36
  242. package/dist/presets/ui/dialog.js.map +0 -1
  243. package/dist/presets/ui/field.d.ts +0 -25
  244. package/dist/presets/ui/field.d.ts.map +0 -1
  245. package/dist/presets/ui/field.js +0 -76
  246. package/dist/presets/ui/field.js.map +0 -1
  247. package/dist/presets/ui/input-mask.d.ts +0 -34
  248. package/dist/presets/ui/input-mask.d.ts.map +0 -1
  249. package/dist/presets/ui/input-mask.js +0 -561
  250. package/dist/presets/ui/input-mask.js.map +0 -1
  251. package/dist/presets/ui/input-otp.d.ts +0 -12
  252. package/dist/presets/ui/input-otp.d.ts.map +0 -1
  253. package/dist/presets/ui/input-otp.js +0 -22
  254. package/dist/presets/ui/input-otp.js.map +0 -1
  255. package/dist/presets/ui/input.d.ts +0 -83
  256. package/dist/presets/ui/input.d.ts.map +0 -1
  257. package/dist/presets/ui/input.js +0 -436
  258. package/dist/presets/ui/input.js.map +0 -1
  259. package/dist/presets/ui/label.d.ts +0 -5
  260. package/dist/presets/ui/label.d.ts.map +0 -1
  261. package/dist/presets/ui/label.js +0 -8
  262. package/dist/presets/ui/label.js.map +0 -1
  263. package/dist/presets/ui/number.d.ts +0 -60
  264. package/dist/presets/ui/number.d.ts.map +0 -1
  265. package/dist/presets/ui/number.js +0 -1078
  266. package/dist/presets/ui/number.js.map +0 -1
  267. package/dist/presets/ui/popover.d.ts +0 -8
  268. package/dist/presets/ui/popover.d.ts.map +0 -1
  269. package/dist/presets/ui/popover.js +0 -17
  270. package/dist/presets/ui/popover.js.map +0 -1
  271. package/dist/presets/ui/radio-group.d.ts +0 -6
  272. package/dist/presets/ui/radio-group.d.ts.map +0 -1
  273. package/dist/presets/ui/radio-group.js +0 -12
  274. package/dist/presets/ui/radio-group.js.map +0 -1
  275. package/dist/presets/ui/scroll-area.d.ts +0 -6
  276. package/dist/presets/ui/scroll-area.d.ts.map +0 -1
  277. package/dist/presets/ui/scroll-area.js +0 -13
  278. package/dist/presets/ui/scroll-area.js.map +0 -1
  279. package/dist/presets/ui/select.d.ts +0 -21
  280. package/dist/presets/ui/select.d.ts.map +0 -1
  281. package/dist/presets/ui/select.js +0 -38
  282. package/dist/presets/ui/select.js.map +0 -1
  283. package/dist/presets/ui/separator.d.ts +0 -5
  284. package/dist/presets/ui/separator.d.ts.map +0 -1
  285. package/dist/presets/ui/separator.js +0 -9
  286. package/dist/presets/ui/separator.js.map +0 -1
  287. package/dist/presets/ui/slider.d.ts +0 -5
  288. package/dist/presets/ui/slider.d.ts.map +0 -1
  289. package/dist/presets/ui/slider.js +0 -14
  290. package/dist/presets/ui/slider.js.map +0 -1
  291. package/dist/presets/ui/switch.d.ts +0 -7
  292. package/dist/presets/ui/switch.d.ts.map +0 -1
  293. package/dist/presets/ui/switch.js +0 -9
  294. package/dist/presets/ui/switch.js.map +0 -1
  295. package/dist/presets/ui/textarea.d.ts +0 -76
  296. package/dist/presets/ui/textarea.d.ts.map +0 -1
  297. package/dist/presets/ui/textarea.js +0 -291
  298. package/dist/presets/ui/textarea.js.map +0 -1
  299. package/dist/presets/ui/time-dropdowns.d.ts +0 -58
  300. package/dist/presets/ui/time-dropdowns.d.ts.map +0 -1
  301. package/dist/presets/ui/time-dropdowns.js +0 -133
  302. package/dist/presets/ui/time-dropdowns.js.map +0 -1
  303. package/dist/schema/adapter.d.ts.map +0 -1
  304. package/dist/schema/adapter.js +0 -3
  305. package/dist/schema/adapter.js.map +0 -1
  306. package/dist/schema/core.d.ts +0 -329
  307. package/dist/schema/core.d.ts.map +0 -1
  308. package/dist/schema/core.js +0 -4
  309. package/dist/schema/core.js.map +0 -1
  310. package/dist/schema/field-map.d.ts +0 -1
  311. package/dist/schema/field-map.d.ts.map +0 -1
  312. package/dist/schema/field-map.js +0 -2
  313. package/dist/schema/field-map.js.map +0 -1
  314. package/dist/schema/field.d.ts +0 -191
  315. package/dist/schema/field.d.ts.map +0 -1
  316. package/dist/schema/field.js +0 -4
  317. package/dist/schema/field.js.map +0 -1
  318. package/dist/schema/index.d.ts +0 -1
  319. package/dist/schema/index.d.ts.map +0 -1
  320. package/dist/schema/index.js +0 -2
  321. package/dist/schema/index.js.map +0 -1
  322. package/dist/schema/input-field.d.ts +0 -223
  323. package/dist/schema/input-field.d.ts.map +0 -1
  324. package/dist/schema/input-field.js +0 -3
  325. package/dist/schema/input-field.js.map +0 -1
  326. package/dist/schema/presets.d.ts +0 -1
  327. package/dist/schema/presets.d.ts.map +0 -1
  328. package/dist/schema/presets.js +0 -2
  329. package/dist/schema/presets.js.map +0 -1
  330. package/dist/schema/variant.d.ts +0 -176
  331. package/dist/schema/variant.d.ts.map +0 -1
  332. package/dist/schema/variant.js +0 -3
  333. package/dist/schema/variant.js.map +0 -1
  334. package/dist/variants/core/checkbox.d.ts +0 -15
  335. package/dist/variants/core/checkbox.d.ts.map +0 -1
  336. package/dist/variants/core/checkbox.js +0 -27
  337. package/dist/variants/core/checkbox.js.map +0 -1
  338. package/dist/variants/core/chips.d.ts +0 -3
  339. package/dist/variants/core/chips.d.ts.map +0 -1
  340. package/dist/variants/core/chips.js +0 -20
  341. package/dist/variants/core/chips.js.map +0 -1
  342. package/dist/variants/core/color.d.ts +0 -3
  343. package/dist/variants/core/color.d.ts.map +0 -1
  344. package/dist/variants/core/color.js +0 -14
  345. package/dist/variants/core/color.js.map +0 -1
  346. package/dist/variants/core/custom.d.ts +0 -11
  347. package/dist/variants/core/custom.d.ts.map +0 -1
  348. package/dist/variants/core/custom.js +0 -15
  349. package/dist/variants/core/custom.js.map +0 -1
  350. package/dist/variants/core/date.d.ts +0 -3
  351. package/dist/variants/core/date.d.ts.map +0 -1
  352. package/dist/variants/core/date.js +0 -20
  353. package/dist/variants/core/date.js.map +0 -1
  354. package/dist/variants/core/file.d.ts +0 -3
  355. package/dist/variants/core/file.d.ts.map +0 -1
  356. package/dist/variants/core/file.js +0 -6
  357. package/dist/variants/core/file.js.map +0 -1
  358. package/dist/variants/core/keyvalue.d.ts +0 -3
  359. package/dist/variants/core/keyvalue.d.ts.map +0 -1
  360. package/dist/variants/core/keyvalue.js +0 -9
  361. package/dist/variants/core/keyvalue.js.map +0 -1
  362. package/dist/variants/core/multiselect.d.ts +0 -11
  363. package/dist/variants/core/multiselect.d.ts.map +0 -1
  364. package/dist/variants/core/multiselect.js +0 -15
  365. package/dist/variants/core/multiselect.js.map +0 -1
  366. package/dist/variants/core/number.d.ts +0 -38
  367. package/dist/variants/core/number.d.ts.map +0 -1
  368. package/dist/variants/core/number.js +0 -62
  369. package/dist/variants/core/number.js.map +0 -1
  370. package/dist/variants/core/password.d.ts +0 -11
  371. package/dist/variants/core/password.d.ts.map +0 -1
  372. package/dist/variants/core/password.js +0 -29
  373. package/dist/variants/core/password.js.map +0 -1
  374. package/dist/variants/core/phone.d.ts +0 -3
  375. package/dist/variants/core/phone.d.ts.map +0 -1
  376. package/dist/variants/core/phone.js +0 -14
  377. package/dist/variants/core/phone.js.map +0 -1
  378. package/dist/variants/core/radio.d.ts +0 -8
  379. package/dist/variants/core/radio.d.ts.map +0 -1
  380. package/dist/variants/core/radio.js +0 -34
  381. package/dist/variants/core/radio.js.map +0 -1
  382. package/dist/variants/core/select.d.ts +0 -5
  383. package/dist/variants/core/select.d.ts.map +0 -1
  384. package/dist/variants/core/select.js +0 -11
  385. package/dist/variants/core/select.js.map +0 -1
  386. package/dist/variants/core/slider.d.ts +0 -19
  387. package/dist/variants/core/slider.d.ts.map +0 -1
  388. package/dist/variants/core/slider.js +0 -36
  389. package/dist/variants/core/slider.js.map +0 -1
  390. package/dist/variants/core/text.d.ts +0 -38
  391. package/dist/variants/core/text.d.ts.map +0 -1
  392. package/dist/variants/core/text.js +0 -62
  393. package/dist/variants/core/text.js.map +0 -1
  394. package/dist/variants/core/textarea.d.ts +0 -3
  395. package/dist/variants/core/textarea.d.ts.map +0 -1
  396. package/dist/variants/core/textarea.js +0 -20
  397. package/dist/variants/core/textarea.js.map +0 -1
  398. package/dist/variants/core/toggle.d.ts +0 -6
  399. package/dist/variants/core/toggle.d.ts.map +0 -1
  400. package/dist/variants/core/toggle.js +0 -41
  401. package/dist/variants/core/toggle.js.map +0 -1
  402. package/dist/variants/core/treeselect.d.ts +0 -4
  403. package/dist/variants/core/treeselect.d.ts.map +0 -1
  404. package/dist/variants/core/treeselect.js +0 -7
  405. package/dist/variants/core/treeselect.js.map +0 -1
  406. package/dist/variants/helpers/selection-summary.d.ts +0 -24
  407. package/dist/variants/helpers/selection-summary.d.ts.map +0 -1
  408. package/dist/variants/helpers/selection-summary.js +0 -105
  409. package/dist/variants/helpers/selection-summary.js.map +0 -1
  410. package/dist/variants/index.d.ts +0 -16
  411. package/dist/variants/index.d.ts.map +0 -1
  412. package/dist/variants/index.js +0 -55
  413. package/dist/variants/index.js.map +0 -1
  414. package/dist/variants/registry.d.ts +0 -19
  415. package/dist/variants/registry.d.ts.map +0 -1
  416. package/dist/variants/registry.js +0 -29
  417. package/dist/variants/registry.js.map +0 -1
  418. package/dist/variants/select-shared.d.ts +0 -1
  419. package/dist/variants/select-shared.d.ts.map +0 -1
  420. package/dist/variants/select-shared.js +0 -2
  421. package/dist/variants/select-shared.js.map +0 -1
  422. package/dist/variants/shared.d.ts +0 -107
  423. package/dist/variants/shared.d.ts.map +0 -1
  424. package/dist/variants/shared.js +0 -3
  425. package/dist/variants/shared.js.map +0 -1
@@ -1,266 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- // src/presets/shadcn-variants/chips.tsx
3
- import * as React from "react";
4
- import { Input } from "@/presets/ui/input";
5
- import { Textarea } from "@/presets/ui/textarea";
6
- import { cn } from "@/lib/utils";
7
- import { X } from "lucide-react";
8
- // ─────────────────────────────────────────────
9
- // Helpers
10
- // ─────────────────────────────────────────────
11
- function normalizeSeparators(sep) {
12
- if (!sep)
13
- return [",", ";"];
14
- if (Array.isArray(sep))
15
- return sep;
16
- return [sep];
17
- }
18
- function splitIntoTokens(raw, sep) {
19
- const separators = normalizeSeparators(sep);
20
- let acc = [raw];
21
- for (const s of separators) {
22
- const next = [];
23
- for (const chunk of acc) {
24
- if (!chunk)
25
- continue;
26
- if (typeof s === "string") {
27
- next.push(...chunk.split(s));
28
- }
29
- else {
30
- next.push(...chunk.split(s));
31
- }
32
- }
33
- acc = next;
34
- }
35
- return acc
36
- .map((t) => t.trim())
37
- .filter((t) => t.length > 0);
38
- }
39
- // ─────────────────────────────────────────────
40
- // Component
41
- // ─────────────────────────────────────────────
42
- export const ShadcnChipsVariant = React.forwardRef(function ShadcnChipsVariant(props, ref) {
43
- const {
44
- // variant base bits
45
- value, onValue, error,
46
- // chips behaviour
47
- placeholder, separators, addOnEnter = true, addOnTab = true, addOnBlur = true, allowDuplicates = false, maxChips, backspaceRemovesLast = true, clearable = false, onAddChips, onRemoveChips, renderChip, renderOverflowChip, maxVisibleChips, maxChipChars, maxChipWidth, textareaMode = false, placement,
48
- // UI classNames
49
- className, chipsClassName, chipClassName, chipLabelClassName, chipRemoveClassName, inputClassName,
50
- // rest of text UI bits (size, density, icons, etc.)
51
- ...restTextProps } = props;
52
- const chips = React.useMemo(() => value ?? [], [value]);
53
- const hasChips = chips.length > 0;
54
- const [inputText, setInputText] = React.useState("");
55
- // ─────────────────────────────────────────────
56
- // Value emit
57
- // ─────────────────────────────────────────────
58
- const emitChange = React.useCallback((nextChips, meta) => {
59
- const detail = {
60
- source: "variant",
61
- raw: nextChips,
62
- nativeEvent: undefined,
63
- meta: {
64
- ...meta,
65
- chips: nextChips,
66
- },
67
- };
68
- onValue?.(nextChips.length ? nextChips : undefined, detail);
69
- }, [onValue]);
70
- const commitFromRaw = React.useCallback((raw) => {
71
- const tokens = splitIntoTokens(raw, separators);
72
- if (!tokens.length)
73
- return;
74
- let next = [...chips];
75
- const added = [];
76
- for (const token of tokens) {
77
- if (!allowDuplicates && next.includes(token))
78
- continue;
79
- if (typeof maxChips === "number" && next.length >= maxChips) {
80
- break;
81
- }
82
- next.push(token);
83
- added.push(token);
84
- }
85
- if (!added.length)
86
- return;
87
- emitChange(next, { action: "add", added });
88
- onAddChips?.(added, next);
89
- setInputText("");
90
- }, [chips, separators, allowDuplicates, maxChips, emitChange, onAddChips]);
91
- const handleRemoveAt = React.useCallback((index) => {
92
- if (index < 0 || index >= chips.length)
93
- return;
94
- const removed = [chips[index]];
95
- const next = chips.filter((_, i) => i !== index);
96
- emitChange(next, { action: "remove", removed });
97
- onRemoveChips?.(removed, next);
98
- }, [chips, emitChange, onRemoveChips]);
99
- const handleClear = React.useCallback((ev) => {
100
- ev?.preventDefault();
101
- ev?.stopPropagation();
102
- if (!chips.length)
103
- return;
104
- emitChange([], { action: "clear", removed: [...chips] });
105
- onRemoveChips?.([...chips], []);
106
- setInputText("");
107
- }, [chips, emitChange, onRemoveChips]);
108
- // ─────────────────────────────────────────────
109
- // Entry events (Input or Textarea)
110
- // ─────────────────────────────────────────────
111
- const handleEntryChange = React.useCallback((event) => {
112
- const next = event.target.value ?? "";
113
- setInputText(next);
114
- }, []);
115
- const handleEntryKeyDown = React.useCallback((event) => {
116
- const key = event.key;
117
- if (key === "Enter" && addOnEnter) {
118
- event.preventDefault();
119
- if (inputText.trim().length) {
120
- commitFromRaw(inputText);
121
- }
122
- return;
123
- }
124
- if (key === "Tab" && addOnTab && inputText.trim().length) {
125
- event.preventDefault();
126
- commitFromRaw(inputText);
127
- return;
128
- }
129
- // Backspace on empty input → remove last chip
130
- if (key === "Backspace" &&
131
- backspaceRemovesLast &&
132
- !inputText.length &&
133
- chips.length) {
134
- event.preventDefault();
135
- handleRemoveAt(chips.length - 1);
136
- return;
137
- }
138
- }, [
139
- inputText,
140
- addOnEnter,
141
- addOnTab,
142
- backspaceRemovesLast,
143
- chips.length,
144
- commitFromRaw,
145
- handleRemoveAt,
146
- ]);
147
- const handleEntryBlur = React.useCallback((event) => {
148
- if (addOnBlur && inputText.trim().length) {
149
- commitFromRaw(inputText);
150
- }
151
- // Forward to host onBlur if provided in restTextProps
152
- const anyProps = restTextProps;
153
- const hostOnBlur = anyProps?.onBlur;
154
- hostOnBlur?.(event);
155
- }, [addOnBlur, inputText, commitFromRaw, restTextProps]);
156
- const effectivePlaceholder = placeholder ?? (hasChips ? "" : "Add item…");
157
- // ─────────────────────────────────────────────
158
- // Chip rendering (maxVisible / overflow / truncation)
159
- // ─────────────────────────────────────────────
160
- let visibleChips = chips;
161
- let hiddenCount = 0;
162
- if (typeof maxVisibleChips === "number" &&
163
- maxVisibleChips > 0 &&
164
- chips.length > maxVisibleChips) {
165
- visibleChips = chips.slice(0, maxVisibleChips);
166
- hiddenCount = chips.length - visibleChips.length;
167
- }
168
- const maxWidthStyle = maxChipWidth !== undefined
169
- ? {
170
- maxWidth: typeof maxChipWidth === "number"
171
- ? `${maxChipWidth}px`
172
- : maxChipWidth,
173
- }
174
- : undefined;
175
- const baseChipClasses = textareaMode
176
- ? "inline-flex min-w-0 gap-1 items-center justify-between rounded-md bg-muted px-2 py-2 text-muted-foreground"
177
- : "inline-flex max-w-full items-center gap-1 rounded bg-muted px-2 py-0.5 text-muted-foreground hover:bg-muted/80";
178
- const baseRemoveClasses = textareaMode
179
- ? "cursor-pointer text-[16px] opacity-70 hover:opacity-100 mt-0.5"
180
- : "cursor-pointer text-[16px] opacity-70 hover:opacity-100";
181
- const chipNodes = visibleChips.map((chip, index) => {
182
- if (renderChip) {
183
- return (_jsx(React.Fragment, { children: renderChip(chip, index, {
184
- remove: () => handleRemoveAt(index),
185
- chips,
186
- }) }, `${chip}-${index}`));
187
- }
188
- let label = chip;
189
- if (typeof maxChipChars === "number" &&
190
- maxChipChars > 0 &&
191
- label.length > maxChipChars) {
192
- label = label.slice(0, maxChipChars) + "…";
193
- }
194
- return (_jsxs("button", { type: "button", className: cn(baseChipClasses, chipClassName), onClick: (e) => {
195
- e.preventDefault();
196
- }, "data-slot": "chip", children: [_jsx("span", { className: cn("truncate", chipLabelClassName), style: maxWidthStyle, children: label }), _jsx("span", { className: cn(baseRemoveClasses, chipRemoveClassName), onClick: (e) => {
197
- e.preventDefault();
198
- e.stopPropagation();
199
- handleRemoveAt(index);
200
- }, "aria-hidden": "true", children: _jsx(X, { size: 16 }) })] }, `${chip}-${index}`));
201
- });
202
- if (hiddenCount > 0) {
203
- const defaultOverflow = (_jsxs("span", { className: cn(baseChipClasses, "cursor-default", chipClassName), "data-slot": "chip-overflow", children: ["+", hiddenCount, " more"] }));
204
- const node = renderOverflowChip?.(hiddenCount, chips) ?? defaultOverflow;
205
- chipNodes.push(_jsx(React.Fragment, { children: node }, "__overflow"));
206
- }
207
- // ─────────────────────────────────────────────
208
- // Placement (inline vs below)
209
- // ─────────────────────────────────────────────
210
- const effectivePlacement = textareaMode
211
- ? (placement ?? "inline")
212
- : (placement ?? "inline");
213
- const inlinePlacement = effectivePlacement === "inline";
214
- // Input-mode inline controls (inside the Input frame)
215
- let leadingControl;
216
- let trailingControl;
217
- // Below-the-field block (both modes)
218
- let chipsBelowBlock;
219
- // Textarea-mode upper toolbox (instead of leadingControl/trailingControl)
220
- let textareaUpperControl;
221
- let textareaUpperClassName;
222
- if (hasChips) {
223
- if (textareaMode) {
224
- if (inlinePlacement) {
225
- // chips live in the upper toolbox row, single-line row by default
226
- textareaUpperControl = (_jsxs("div", { "data-slot": "chips-upper", className: cn("flex items-center gap-1 text-xs", chipsClassName), children: [chipNodes, clearable && (_jsx("button", { type: "button", onClick: handleClear, className: "ml-auto inline-flex h-6 px-2 items-center justify-center rounded-full text-[0.72rem] text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1", "data-slot": "chips-clear", children: "Clear" }))] }));
227
- textareaUpperClassName = chipsClassName;
228
- }
229
- else {
230
- // textareaMode + placement=below → block under the textarea box
231
- chipsBelowBlock = (_jsxs("div", { className: cn("mt-2 flex items-center gap-2 text-xs", chipsClassName), "data-slot": "chips-list-below", children: [chipNodes, clearable && (_jsx("button", { type: "button", onClick: handleClear, className: "self-start inline-flex h-6 px-2 items-center justify-center rounded-full text-[0.72rem] text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1", "data-slot": "chips-clear", children: "Clear" }))] }));
232
- }
233
- }
234
- else {
235
- // INPUT MODE
236
- if (inlinePlacement) {
237
- leadingControl = (_jsx("div", { className: cn("flex min-w-0 flex-row items-center gap-1 pr-1 py-1 text-xs pl-2", chipsClassName), "data-slot": "chips-list", children: chipNodes }));
238
- if (clearable) {
239
- trailingControl = (_jsx("div", { className: "flex h-full items-center pr-1", "data-slot": "chips-trailing", children: _jsx("button", { type: "button", onClick: handleClear, className: "inline-flex h-6 w-6 items-center justify-center rounded-full text-xs text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1", "data-slot": "chips-clear", "aria-label": "Clear chips", children: "\u00D7" }) }));
240
- }
241
- }
242
- else {
243
- chipsBelowBlock = (_jsxs("div", { className: cn("mt-1 flex flex-row items-center gap-1 text-xs", chipsClassName), "data-slot": "chips-list-below", children: [chipNodes, clearable && (_jsx("button", { type: "button", onClick: handleClear, className: "inline-flex h-6 px-2 items-center justify-center rounded-full text-[0.72rem] text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1", "data-slot": "chips-clear", children: "Clear" }))] }));
244
- }
245
- }
246
- }
247
- const joinControls = !textareaMode && inlinePlacement && hasChips;
248
- const extendBoxToControls = !textareaMode && inlinePlacement && hasChips;
249
- // ─────────────────────────────────────────────
250
- // Entry control (Input vs Textarea)
251
- // ─────────────────────────────────────────────
252
- return (_jsx("div", { className: className, "data-slot": "chips-field", children: textareaMode ? (_jsxs(_Fragment, { children: [_jsx(Textarea, { ref: ref, ...restTextProps, value: inputText, onChange: handleEntryChange, onKeyDown: handleEntryKeyDown, onBlur: handleEntryBlur, extendBoxToToolbox: effectivePlacement === "inline", placeholder: effectivePlaceholder,
253
- // textarea-specific defaults
254
- autoResize: true, rows: 1, upperControl: textareaUpperControl, upperControlClassName: textareaUpperClassName, inputClassName: inputClassName, "aria-invalid": error ? "true" : undefined }), !inlinePlacement && hasChips && chipsBelowBlock] })) : (_jsxs(_Fragment, { children: [_jsx(Input, { ref: ref, ...restTextProps, type: "text",
255
- // The Input's value is the *draft* text, not the chips.
256
- value: inputText, onChange: handleEntryChange, onKeyDown: handleEntryKeyDown, onBlur: handleEntryBlur, placeholder: effectivePlaceholder,
257
- // ONLY pass controls when chips are inline
258
- leadingControl: inlinePlacement ? leadingControl : undefined, trailingControl: inlinePlacement ? trailingControl : undefined,
259
- // Only flip into "group box" mode when there are chips inline
260
- joinControls: joinControls, extendBoxToControls: extendBoxToControls, inputClassName: cn("min-w-[4ch] flex-1 py-0", inlinePlacement &&
261
- hasChips &&
262
- "bg-transparent border-none shadow-none outline-none", inputClassName), "aria-invalid": error ? "true" : undefined }), !inlinePlacement && hasChips && chipsBelowBlock] })) }));
263
- });
264
- ShadcnChipsVariant.displayName = "ShadcnChipsVariant";
265
- export default ShadcnChipsVariant;
266
- //# sourceMappingURL=chips.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chips.js","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/chips.tsx"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import * as React from "react";
2
- import type { VariantBaseProps } from "@/variants/shared";
3
- import type { ShadcnTextVariantProps } from "@/presets/shadcn-variants/text";
4
- type BaseProps = VariantBaseProps<string | undefined>;
5
- /**
6
- * Extra options specific to the color variant.
7
- */
8
- export interface ColorSpecificProps {
9
- /**
10
- * If false, we hide the colour preview box.
11
- * Default: true
12
- */
13
- showPreview?: boolean;
14
- /**
15
- * If false, we hide the picker toggle control/icon.
16
- * Default: true
17
- */
18
- showPickerToggle?: boolean;
19
- /**
20
- * Size of the colour swatch in pixels.
21
- * Default: 18
22
- */
23
- previewSize?: number;
24
- /**
25
- * Optional className for the outer wrapper that hosts
26
- * the Input + hidden color input.
27
- */
28
- wrapperClassName?: string;
29
- /**
30
- * Optional className for the preview button itself (around the swatch).
31
- */
32
- previewButtonClassName?: string;
33
- /**
34
- * Optional className for the swatch box inside the preview button.
35
- */
36
- previewSwatchClassName?: string;
37
- /**
38
- * Optional className for the hidden `<input type="color">`.
39
- *
40
- * By default this input is visually hidden and only used
41
- * to invoke the browser/OS colour picker, but you can override
42
- * this class to make it visible and style it.
43
- */
44
- pickerInputClassName?: string;
45
- /**
46
- * Custom icon shown in the trailing control as the picker toggle.
47
- * If omitted, a tiny ▾ triangle is used.
48
- */
49
- pickerToggleIcon?: React.ReactNode;
50
- className?: string;
51
- }
52
- /**
53
- * We inherit the *visual/behavioural* props from ShadcnTextVariant,
54
- * but control value / onValue / type / inputMode / leadingControl / trailingControl ourselves.
55
- */
56
- type TextUiProps = Omit<ShadcnTextVariantProps, "type" | "inputMode" | "leadingControl" | "trailingControl" | "value" | "onValue">;
57
- /**
58
- * Full props for the color variant as seen by the form runtime.
59
- */
60
- export type ShadcnColorVariantProps = TextUiProps & ColorSpecificProps & Pick<BaseProps, "value" | "onValue">;
61
- export declare const ShadcnColorVariant: React.ForwardRefExoticComponent<TextUiProps & ColorSpecificProps & Pick<BaseProps, "value" | "onValue"> & React.RefAttributes<HTMLInputElement>>;
62
- export {};
63
- //# sourceMappingURL=color.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/color.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;AAK7E,KAAK,SAAS,GAAG,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,KAAK,WAAW,GAAG,IAAI,CACpB,sBAAsB,EACtB,MAAM,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,OAAO,GAAG,SAAS,CACnF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAC9C,kBAAkB,GAClB,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;AAUxC,eAAO,MAAM,kBAAkB,kJA4L7B,CAAC"}
@@ -1,96 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // src/presets/shadcn-variants/color.tsx
3
- import * as React from "react";
4
- import { Input } from "@/presets/ui/input";
5
- import { cn } from "@/lib/utils";
6
- import { Palette } from "lucide-react";
7
- function normalizeColorForPicker(value) {
8
- // Very light sanity: accept #rgb or #rrggbb; otherwise fall back.
9
- if (typeof value === "string" && /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(value)) {
10
- return value;
11
- }
12
- return "#000000";
13
- }
14
- export const ShadcnColorVariant = React.forwardRef(function ShadcnColorVariant(props, ref) {
15
- const {
16
- // variant contract
17
- value, onValue,
18
- // colour-specific
19
- showPreview = true, showPickerToggle = true, previewSize = 18, wrapperClassName, previewButtonClassName, previewSwatchClassName, pickerInputClassName, pickerToggleIcon,
20
- // from text variant UI
21
- error, joinControls = true, extendBoxToControls = true,
22
- // everything else → Input (size, density, className, icons, etc.)
23
- ...restTextProps } = props;
24
- const [local, setLocal] = React.useState(value ?? "");
25
- const [pickerOpen, setPickerOpen] = React.useState(false);
26
- React.useEffect(() => {
27
- setLocal(value ?? "");
28
- }, [value]);
29
- const pickerRef = React.useRef(null);
30
- const effectiveColor = normalizeColorForPicker(local || value);
31
- const showError = Boolean(error);
32
- const openSystemPicker = React.useCallback(() => {
33
- setPickerOpen(true);
34
- // Small timeout so state flushes before click; not strictly required but safe.
35
- window.setTimeout(() => {
36
- pickerRef.current?.click();
37
- }, 0);
38
- }, []);
39
- const handleTextChange = React.useCallback((event) => {
40
- const next = event.target.value ?? "";
41
- setLocal(next);
42
- if (onValue) {
43
- const detail = {
44
- source: "variant",
45
- raw: next,
46
- nativeEvent: event,
47
- meta: { source: "input" },
48
- };
49
- onValue(next || undefined, detail);
50
- }
51
- }, [onValue]);
52
- const handlePickerChange = React.useCallback((event) => {
53
- const next = event.target.value ?? "";
54
- setLocal(next);
55
- if (onValue) {
56
- const detail = {
57
- source: "variant",
58
- raw: next,
59
- nativeEvent: event,
60
- meta: { source: "picker" },
61
- };
62
- onValue(next || undefined, detail);
63
- }
64
- // Once the user picks a colour, the OS picker closes.
65
- setPickerOpen(false);
66
- }, [onValue]);
67
- const handlePickerBlur = React.useCallback(() => {
68
- // If the user cancels the picker, blur fires and we can clear state.
69
- setPickerOpen(false);
70
- }, []);
71
- // ———————————————————————————————
72
- // Leading control: colour preview
73
- // ———————————————————————————————
74
- const leadingControl = showPreview ? (_jsx("button", { type: "button", onClick: openSystemPicker, className: cn("flex h-full items-center px-3 border-r border-border/50", "hover:bg-muted/50 transition-colors focus-visible:outline-none focus-visible:bg-muted/50", previewButtonClassName), tabIndex: -1, "aria-label": "Open colour picker", children: _jsx("span", { className: cn("inline-flex rounded-sm shadow-sm ring-1 ring-inset ring-foreground/10", previewSwatchClassName), style: {
75
- width: previewSize,
76
- height: previewSize,
77
- backgroundColor: effectiveColor,
78
- } }) })) : undefined;
79
- // ———————————————————————————————
80
- // Trailing control: picker toggle icon
81
- // ———————————————————————————————
82
- const toggleNode = pickerToggleIcon !== undefined ? (pickerToggleIcon) : (
83
- // Swapped the text caret for a Lucide Palette icon
84
- _jsx(Palette, { className: "h-4 w-4 opacity-50" }));
85
- const trailingControl = showPickerToggle ? (_jsx("button", { type: "button", onClick: openSystemPicker, className: "flex h-full items-center px-3 text-muted-foreground hover:text-foreground transition-colors", tabIndex: -1, "aria-label": pickerOpen ? "Close colour picker" : "Open colour picker", "data-open": pickerOpen ? "true" : "false", children: toggleNode })) : undefined;
86
- // ———————————————————————————————
87
- // Render
88
- // ———————————————————————————————
89
- return (_jsxs("div", { className: cn("relative group/color", wrapperClassName), children: [_jsx(Input, { ref: ref, ...restTextProps, type: "text", value: local, onChange: handleTextChange, leadingControl: leadingControl, trailingControl: trailingControl, joinControls: joinControls, extendBoxToControls: extendBoxToControls, "aria-invalid": showError ? "true" : undefined,
90
- // Added mono font and uppercase for cleaner hex code display
91
- className: cn("font-mono uppercase", restTextProps.className), maxLength: 9 }), _jsx("input", { ref: pickerRef, type: "color",
92
- // hidden
93
- className: cn("absolute h-0 w-0 opacity-0 pointer-events-none", pickerInputClassName), value: effectiveColor, onChange: handlePickerChange, onBlur: handlePickerBlur, tabIndex: -1, "aria-hidden": "true" })] }));
94
- });
95
- ShadcnColorVariant.displayName = "ShadcnColorVariant";
96
- //# sourceMappingURL=color.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/color.tsx"],"names":[],"mappings":";AAAA,wCAAwC;AAExC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA4EvC,SAAS,uBAAuB,CAAC,KAAyB;IACvD,kEAAkE;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjF,OAAO,KAAK,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGhD,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACrC,MAAM;IACH,mBAAmB;IACnB,KAAK,EACL,OAAO;IAEP,kBAAkB;IAClB,WAAW,GAAG,IAAI,EAClB,gBAAgB,GAAG,IAAI,EACvB,WAAW,GAAG,EAAE,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB;IAEhB,uBAAuB;IACvB,KAAK,EACL,YAAY,GAAG,IAAI,EACnB,mBAAmB,GAAG,IAAI;IAE1B,kEAAkE;IAClE,GAAG,aAAa,EAClB,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QAClB,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAA0B,IAAI,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,+EAA+E;QAC/E,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACpB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;IACT,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,KAA0C,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,OAAO,EAAE,CAAC;YACX,MAAM,MAAM,GAAsC;gBAC/C,MAAM,EAAE,SAAS;gBACjB,GAAG,EAAE,IAAI;gBACT,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;aAC3B,CAAC;YACF,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;IACJ,CAAC,EACD,CAAC,OAAO,CAAC,CACX,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,KAA0C,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,OAAO,EAAE,CAAC;YACX,MAAM,MAAM,GAAuC;gBAChD,MAAM,EAAE,SAAS;gBACjB,GAAG,EAAE,IAAI;gBACT,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;aAC5B,CAAC;YACF,OAAO,CAAC,IAAI,IAAI,SAAS,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,sDAAsD;QACtD,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EACD,CAAC,OAAO,CAAC,CACX,CAAC;IAEF,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,qEAAqE;QACrE,aAAa,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,kCAAkC;IAClC,kCAAkC;IAClC,kCAAkC;IAElC,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAClC,iBACG,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,EAAE,CACV,yDAAyD,EACzD,0FAA0F,EAC1F,sBAAsB,CACxB,EACD,QAAQ,EAAE,CAAC,CAAC,gBACD,oBAAoB,YAE/B,eACG,SAAS,EAAE,EAAE,CACV,uEAAuE,EACvE,sBAAsB,CACxB,EACD,KAAK,EAAE;gBACJ,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,WAAW;gBACnB,eAAe,EAAE,cAAc;aACjC,GACF,GACI,CACX,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,kCAAkC;IAClC,uCAAuC;IACvC,kCAAkC;IAElC,MAAM,UAAU,GACb,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,CAC9B,gBAAgB,CAClB,CAAC,CAAC,CAAC;IACD,mDAAmD;IACnD,KAAC,OAAO,IAAC,SAAS,EAAC,oBAAoB,GAAG,CAC5C,CAAC;IAEL,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CACxC,iBACG,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAC,6FAA6F,EACvG,QAAQ,EAAE,CAAC,CAAC,gBACA,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,oBAAoB,eAC1D,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAEvC,UAAU,GACL,CACX,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,kCAAkC;IAClC,SAAS;IACT,kCAAkC;IAElC,OAAO,CACJ,eAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,aACzD,KAAC,KAAK,IACH,GAAG,EAAE,GAAG,KACJ,aAAa,EACjB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,mBAAmB,kBAC1B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBAC5C,6DAA6D;gBAC7D,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,aAAa,CAAC,SAAS,CAAC,EAC7D,SAAS,EAAE,CAAC,GACb,EAKF,gBACG,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,OAAO;gBACZ,SAAS;gBACT,SAAS,EAAE,EAAE,CACV,gDAAgD,EAChD,oBAAoB,CACtB,EACD,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,CAAC,CAAC,iBACA,MAAM,GACnB,IACC,CACR,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC"}
@@ -1,94 +0,0 @@
1
- import * as React from "react";
2
- import type { VariantBaseProps, ChangeDetail } from "@/variants/shared";
3
- /**
4
- * Props for the generic "custom" variant.
5
- *
6
- * - The only special props we define are:
7
- * - component: the React component to render
8
- * - valueProp / changeProp / disabledProp / readOnlyProp / errorProp
9
- * - idProp / nameProp / placeholderProp
10
- * - mapValue / mapDetail (optional hooks)
11
- *
12
- * - All other props are treated as "component props" and forwarded
13
- * directly to the underlying component.
14
- *
15
- * The underlying component is expected to:
16
- * - accept the mapped `valueProp`
17
- * - call the mapped `changeProp` with the next value (first argument)
18
- * - optionally use disabled/readOnly/error/id/name/placeholder via the mapped names
19
- */
20
- export interface ShadcnCustomVariantProps<TValue = unknown> extends VariantBaseProps<TValue> {
21
- /**
22
- * The actual React component to render.
23
- *
24
- * Example:
25
- * component={MyToggle}
26
- */
27
- component: React.ComponentType<any>;
28
- /**
29
- * Prop name that carries the current value for the component.
30
- * Default: "value".
31
- */
32
- valueProp?: string;
33
- /**
34
- * Prop name for the change handler that the component will call.
35
- * Default: "onChange".
36
- *
37
- * The component is expected to call:
38
- * props[changeProp](nextValue, ...otherArgs?)
39
- *
40
- * The first argument is taken as the new value.
41
- */
42
- changeProp?: string;
43
- /**
44
- * Prop name for disabled state.
45
- * Default: "disabled".
46
- */
47
- disabledProp?: string;
48
- /**
49
- * Prop name for read-only state.
50
- * Default: "readOnly".
51
- */
52
- readOnlyProp?: string;
53
- /**
54
- * Prop name for passing error to the component (if it cares).
55
- * If provided, we pass the `error` field as-is.
56
- * Example values: "error", "isInvalid", "status".
57
- */
58
- errorProp?: string;
59
- /**
60
- * Prop name for the id attribute.
61
- * Default: "id".
62
- */
63
- idProp?: string;
64
- /**
65
- * Prop name for the name attribute.
66
- * Default: "name".
67
- */
68
- nameProp?: string;
69
- /**
70
- * Prop name for the placeholder attribute.
71
- * Default: "placeholder".
72
- */
73
- placeholderProp?: string;
74
- /**
75
- * Optional transform for the raw next value before it hits the field.
76
- *
77
- * Receives the first argument that the component passes to the change
78
- * handler, plus the full argument list for flexibility.
79
- */
80
- mapValue?: (raw: any, ...args: any[]) => TValue;
81
- /**
82
- * Optional builder for ChangeDetail, given the raw next value.
83
- *
84
- * If omitted, a default { source: "variant", raw } detail is used.
85
- */
86
- mapDetail?: (raw: any, ...args: any[]) => ChangeDetail;
87
- /**
88
- * Any other props are assumed to belong to the custom component.
89
- */
90
- [key: string]: unknown;
91
- }
92
- export declare const ShadcnCustomVariant: React.ForwardRefExoticComponent<Omit<ShadcnCustomVariantProps<any>, "ref"> & React.RefAttributes<any>>;
93
- export default ShadcnCustomVariant;
94
- //# sourceMappingURL=custom.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/custom.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,wBAAwB,CAAC,MAAM,GAAG,OAAO,CACvD,SAAQ,gBAAgB,CAAC,MAAM,CAAC;IAChC;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAEpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC;IAEhD;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,YAAY,CAAC;IAEvD;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,mBAAmB,wGAmH9B,CAAC;AAIH,eAAe,mBAAmB,CAAC"}
@@ -1,80 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // src/presets/shadcn-variants/custom.tsx
3
- import * as React from "react";
4
- export const ShadcnCustomVariant = React.forwardRef(function ShadcnCustomVariant(props, ref) {
5
- const {
6
- // Variant base props we care about:
7
- value, onValue, error, disabled, readOnly, id, name, placeholder,
8
- // Mapping props:
9
- component: Component, valueProp = "value", changeProp = "onChange", disabledProp = "disabled", readOnlyProp = "readOnly", errorProp, idProp = "id", nameProp = "name", placeholderProp = "placeholder", mapValue, mapDetail,
10
- // Everything else goes straight to the component:
11
- ...rest } = props;
12
- // If there is no component, bail out (dev-time safety).
13
- if (!Component) {
14
- if (process.env.NODE_ENV !== "production") {
15
- // eslint-disable-next-line no-console
16
- console.warn("[form-palette] ShadcnCustomVariant: `component` prop is required.");
17
- }
18
- return null;
19
- }
20
- const isDisabled = !!disabled;
21
- const isReadOnly = !!readOnly;
22
- /**
23
- * Bridge from the component's change callback to the variant contract.
24
- *
25
- * We assume the custom component calls the mapped change prop
26
- * with the **next value as its first argument**:
27
- *
28
- * props[changeProp](nextValue, ...rest)
29
- */
30
- const handleChange = React.useCallback((...args) => {
31
- if (!onValue)
32
- return;
33
- if (isDisabled || isReadOnly)
34
- return;
35
- const raw = args[0];
36
- const next = mapValue
37
- ? mapValue(raw, ...args)
38
- : raw;
39
- const detail = mapDetail?.(raw, ...args) ?? {
40
- source: "variant",
41
- raw,
42
- nativeEvent: undefined,
43
- meta: undefined,
44
- };
45
- onValue(next, detail);
46
- }, [onValue, isDisabled, isReadOnly, mapValue, mapDetail]);
47
- // Build the props for the custom component.
48
- const innerProps = {
49
- ...rest, // ← all non-special props from InputField go directly to the component
50
- };
51
- // Map value → component[valueProp]
52
- innerProps[valueProp] = value;
53
- // Map handler → component[changeProp]
54
- innerProps[changeProp] = handleChange;
55
- // Map disabled / readOnly
56
- if (disabledProp) {
57
- innerProps[disabledProp] = isDisabled;
58
- }
59
- if (readOnlyProp) {
60
- innerProps[readOnlyProp] = isReadOnly;
61
- }
62
- // Map error if a mapping key is provided
63
- if (errorProp && error !== undefined) {
64
- innerProps[errorProp] = error;
65
- }
66
- // Map id/name/placeholder if present
67
- if (id !== undefined && idProp) {
68
- innerProps[idProp] = id;
69
- }
70
- if (name !== undefined && nameProp) {
71
- innerProps[nameProp] = name;
72
- }
73
- if (placeholder !== undefined && placeholderProp) {
74
- innerProps[placeholderProp] = placeholder;
75
- }
76
- return _jsx(Component, { ref: ref, ...innerProps });
77
- });
78
- ShadcnCustomVariant.displayName = "ShadcnCustomVariant";
79
- export default ShadcnCustomVariant;
80
- //# sourceMappingURL=custom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../src/presets/shadcn-variants/custom.tsx"],"names":[],"mappings":"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"}