@timeax/form-palette 0.0.2 → 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 +5 -5
  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,622 +0,0 @@
1
- // src/presets/shadcn-variants/slider.tsx
2
-
3
- import * as React from "react";
4
- import type { VariantBaseProps, ChangeDetail } from "@/variants/shared";
5
- import { cn } from "@/lib/utils";
6
- import { Slider } from "@/presets/ui/slider";
7
-
8
- type SliderValue = number | undefined;
9
-
10
- type Size = "sm" | "md" | "lg";
11
- type Density = "compact" | "comfortable" | "loose";
12
-
13
- export interface ShadcnSliderVariantProps
14
- extends Pick<
15
- VariantBaseProps<SliderValue>,
16
- | "value"
17
- | "onValue"
18
- | "error"
19
- | "disabled"
20
- | "readOnly"
21
- | "size"
22
- | "density"
23
- > {
24
- /**
25
- * Minimum value for the slider.
26
- * Default: 0
27
- */
28
- min?: number;
29
-
30
- /**
31
- * Maximum value for the slider.
32
- * Default: 100
33
- */
34
- max?: number;
35
-
36
- /**
37
- * Step between values.
38
- * Default: 1
39
- */
40
- step?: number;
41
-
42
- /**
43
- * Show the current value as text next to the slider.
44
- * Default: true
45
- */
46
- showValue?: boolean;
47
-
48
- /**
49
- * Where to place the value label, relative to the slider.
50
- * - "end" → right of the slider (horizontal)
51
- * - "start" → left of the slider
52
- *
53
- * Default: "end"
54
- */
55
- valuePlacement?: "start" | "end";
56
-
57
- /**
58
- * Custom formatter for the numeric value.
59
- * If omitted, uses the raw number.
60
- */
61
- formatValue?: (value: SliderValue) => React.ReactNode;
62
-
63
- /**
64
- * Wrapper class for the entire slider field.
65
- */
66
- className?: string;
67
-
68
- /**
69
- * Extra classes for the Slider root.
70
- */
71
- sliderClassName?: string;
72
-
73
- /**
74
- * Extra classes for the value label.
75
- */
76
- valueClassName?: string;
77
-
78
- // ─────────────────────────────────────────────
79
- // Icons & controls (mirror text / select variants)
80
- // ─────────────────────────────────────────────
81
-
82
- /**
83
- * One or more icons displayed inside the slider region, on the left.
84
- *
85
- * If not provided and `icon` is set, that single icon
86
- * is treated as `leadingIcons[0]`.
87
- */
88
- leadingIcons?: React.ReactNode[];
89
-
90
- /**
91
- * Icons displayed on the right side of the slider region
92
- * (before/after the value label depending on placement).
93
- */
94
- trailingIcons?: React.ReactNode[];
95
-
96
- /**
97
- * Convenience single-icon prop for the left side.
98
- */
99
- icon?: React.ReactNode;
100
-
101
- /**
102
- * Base gap between icons and slider/value.
103
- * Defaults to 4px-ish via `gap-1`.
104
- */
105
- iconGap?: number;
106
-
107
- /**
108
- * Extra spacing to apply between leading icons and the slider track.
109
- */
110
- leadingIconSpacing?: number;
111
-
112
- /**
113
- * Extra spacing to apply between trailing icons and the value label.
114
- */
115
- trailingIconSpacing?: number;
116
-
117
- /**
118
- * Arbitrary React node rendered before the slider (e.g. a button).
119
- */
120
- leadingControl?: React.ReactNode;
121
-
122
- /**
123
- * Arbitrary React node rendered after the slider (e.g. a button).
124
- */
125
- trailingControl?: React.ReactNode;
126
-
127
- /**
128
- * Extra classes for the leading control wrapper.
129
- */
130
- leadingControlClassName?: string;
131
-
132
- /**
133
- * Extra classes for the trailing control wrapper.
134
- */
135
- trailingControlClassName?: string;
136
-
137
- /**
138
- * If true and there are controls, the slider + controls share
139
- * a single visual box (borders, radius, focus states).
140
- * Default: true (to match text/select behaviour).
141
- */
142
- joinControls?: boolean;
143
-
144
- /**
145
- * When joinControls is true, whether the box styling extends over controls
146
- * (true) or controls are visually separate (false).
147
- * Default: true.
148
- */
149
- extendBoxToControls?: boolean;
150
-
151
- // ─────────────────────────────────────────────
152
- // Built-in +/- control variants
153
- // ─────────────────────────────────────────────
154
-
155
- /**
156
- * Built-in +/- controls around the slider.
157
- *
158
- * - "none" → no built-in step buttons (default)
159
- * - "boxed" → +/- inside the same frame as the slider
160
- * - "edge" → loose layout: "- [ slider ] +"
161
- */
162
- controlVariant?: "none" | "boxed" | "edge";
163
-
164
- /**
165
- * Step used when clicking the +/- controls.
166
- * Defaults to `step`.
167
- */
168
- controlStep?: number;
169
-
170
- /**
171
- * Custom node for the decrement control. Default: "−".
172
- */
173
- controlDecrementIcon?: React.ReactNode;
174
-
175
- /**
176
- * Custom node for the increment control. Default: "+".
177
- */
178
- controlIncrementIcon?: React.ReactNode;
179
- }
180
-
181
- // ─────────────────────────────────────────────
182
- // Helpers
183
- // ─────────────────────────────────────────────
184
-
185
- function sliderHeight(size?: Size): string {
186
- switch (size) {
187
- case "sm":
188
- return "h-7 text-xs";
189
- case "lg":
190
- return "h-10 text-base";
191
- case "md":
192
- default:
193
- return "h-9 text-sm";
194
- }
195
- }
196
-
197
- function sliderPadding(density?: Density): string {
198
- switch (density) {
199
- case "compact":
200
- return "py-1";
201
- case "loose":
202
- return "py-3";
203
- case "comfortable":
204
- default:
205
- return "py-2";
206
- }
207
- }
208
-
209
- function defaultFormatValue(value: SliderValue): React.ReactNode {
210
- if (value == null) return "—";
211
- return value;
212
- }
213
-
214
- function clampToRange(v: number, min: number, max: number): number {
215
- if (v < min) return min;
216
- if (v > max) return max;
217
- return v;
218
- }
219
-
220
- // ─────────────────────────────────────────────
221
- // Component
222
- // ─────────────────────────────────────────────
223
-
224
- export const ShadcnSliderVariant = React.forwardRef<
225
- HTMLDivElement,
226
- ShadcnSliderVariantProps
227
- >(function ShadcnSliderVariant(props, _ref) {
228
- const {
229
- value,
230
- onValue,
231
- error,
232
- disabled,
233
- readOnly,
234
- size,
235
- density,
236
-
237
- min = 0,
238
- max = 100,
239
- step = 1,
240
-
241
- showValue = true,
242
- valuePlacement = "end",
243
- formatValue,
244
-
245
- className,
246
- sliderClassName,
247
- valueClassName,
248
-
249
- // Icons & controls
250
- leadingIcons,
251
- trailingIcons,
252
- icon,
253
- iconGap,
254
- leadingIconSpacing,
255
- trailingIconSpacing,
256
- leadingControl,
257
- trailingControl,
258
- leadingControlClassName,
259
- trailingControlClassName,
260
- joinControls = true,
261
- extendBoxToControls = true,
262
-
263
- // Built-in +/- controls
264
- controlVariant = "none",
265
- controlStep,
266
- controlDecrementIcon,
267
- controlIncrementIcon,
268
- } = props;
269
-
270
- const numericValue: number =
271
- typeof value === "number" ? value : min;
272
-
273
- const isDisabled = !!(disabled || readOnly);
274
-
275
- const handleChange = React.useCallback(
276
- (vals: number[]) => {
277
- if (!onValue) return;
278
- const next = clampToRange(vals[0], min, max);
279
-
280
- const detail: ChangeDetail = {
281
- source: "variant",
282
- raw: next,
283
- nativeEvent: undefined,
284
- meta: undefined,
285
- };
286
-
287
- onValue(next, detail);
288
- },
289
- [onValue, min, max]
290
- );
291
-
292
- const stepAmount = controlStep ?? step;
293
-
294
- const applyStep = React.useCallback(
295
- (direction: -1 | 1) => {
296
- if (!onValue || isDisabled) return;
297
-
298
- const current =
299
- typeof value === "number" ? value : min;
300
- const candidate = current + direction * stepAmount;
301
- const next = clampToRange(candidate, min, max);
302
-
303
- const detail: ChangeDetail = {
304
- source: "variant",
305
- raw: next,
306
- nativeEvent: undefined,
307
- meta: {
308
- action: direction > 0 ? "increment" : "decrement",
309
- },
310
- };
311
-
312
- onValue(next, detail);
313
- },
314
- [onValue, value, isDisabled, min, max, stepAmount]
315
- );
316
-
317
- const heightCls = sliderHeight(size as Size | undefined);
318
- const paddingCls = sliderPadding(density as Density | undefined);
319
-
320
- const displayValue =
321
- (formatValue ?? defaultFormatValue)(value ?? numericValue);
322
-
323
- // Icons resolution (same idea as text/select)
324
- const resolvedLeadingIcons: React.ReactNode[] = (() => {
325
- if (leadingIcons && leadingIcons.length) return leadingIcons;
326
- if (icon) return [icon];
327
- return [];
328
- })();
329
-
330
- const resolvedTrailingIcons: React.ReactNode[] = trailingIcons ?? [];
331
-
332
- const baseIconGap = iconGap ?? 4;
333
- const leadingGap = leadingIconSpacing ?? baseIconGap;
334
- const trailingGap = trailingIconSpacing ?? baseIconGap;
335
-
336
- const hasLeadingIcons = resolvedLeadingIcons.length > 0;
337
- const hasTrailingIcons = resolvedTrailingIcons.length > 0;
338
-
339
- // Value label
340
- const valueNode =
341
- showValue ? (
342
- <div
343
- className={cn(
344
- "text-xs text-muted-foreground whitespace-nowrap",
345
- valueClassName
346
- )}
347
- data-slot="slider-value"
348
- >
349
- {displayValue}
350
- </div>
351
- ) : null;
352
-
353
- const baseBoxClasses = cn(
354
- "border-input w-full min-w-0 rounded-md border bg-transparent shadow-xs",
355
- "transition-[color,box-shadow] outline-none",
356
- "focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",
357
- "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
358
- );
359
-
360
- // ─────────────────────────────────────────────
361
- // Built-in +/- controls → map to leading/trailingControl
362
- // ─────────────────────────────────────────────
363
-
364
- let effectiveLeadingControl = leadingControl;
365
- let effectiveTrailingControl = trailingControl;
366
- let effectiveJoinControls = joinControls;
367
-
368
- if (controlVariant === "boxed" || controlVariant === "edge") {
369
- const decLabel =
370
- controlDecrementIcon ?? <span className="text-base">−</span>;
371
- const incLabel =
372
- controlIncrementIcon ?? <span className="text-base">+</span>;
373
-
374
- const decButton = (
375
- <button
376
- type="button"
377
- onClick={() => applyStep(-1)}
378
- disabled={isDisabled}
379
- className={cn(
380
- "inline-flex items-center justify-center px-2 text-sm",
381
- "disabled:opacity-50 disabled:cursor-not-allowed"
382
- )}
383
- >
384
- {decLabel}
385
- </button>
386
- );
387
-
388
- const incButton = (
389
- <button
390
- type="button"
391
- onClick={() => applyStep(1)}
392
- disabled={isDisabled}
393
- className={cn(
394
- "inline-flex items-center justify-center px-2 text-sm",
395
- "disabled:opacity-50 disabled:cursor-not-allowed"
396
- )}
397
- >
398
- {incLabel}
399
- </button>
400
- );
401
-
402
- // Only auto-wire if caller didn't override them.
403
- if (!effectiveLeadingControl) {
404
- effectiveLeadingControl = decButton;
405
- }
406
- if (!effectiveTrailingControl) {
407
- effectiveTrailingControl = incButton;
408
- }
409
-
410
- // Edge variant → loose layout: "- [ slider ] +"
411
- if (controlVariant === "edge") {
412
- effectiveJoinControls = false;
413
- }
414
- }
415
-
416
- const hasLeadingControl = !!effectiveLeadingControl;
417
- const hasTrailingControl = !!effectiveTrailingControl;
418
- const hasControls = hasLeadingControl || hasTrailingControl;
419
-
420
- // Inner slider+icons+value layout (no outer controls)
421
- const SliderRegion = (
422
- <div
423
- className={cn(
424
- "flex w-full items-center gap-2",
425
- heightCls,
426
- paddingCls
427
- )}
428
- data-slot="slider-region"
429
- >
430
- {/* value before slider */}
431
- {valuePlacement === "start" && valueNode && (
432
- <div className="shrink-0 mr-1">{valueNode}</div>
433
- )}
434
-
435
- {/* leading icons */}
436
- {hasLeadingIcons && (
437
- <span
438
- className="flex items-center gap-1 shrink-0"
439
- style={{ columnGap: leadingGap }}
440
- data-slot="leading-icons"
441
- >
442
- {resolvedLeadingIcons.map((node, idx) => (
443
- <span
444
- key={idx}
445
- className="flex items-center justify-center"
446
- >
447
- {node}
448
- </span>
449
- ))}
450
- </span>
451
- )}
452
-
453
- {/* slider track */}
454
- <div className="flex-1 min-w-0" data-slot="slider-track">
455
- <Slider
456
- value={[numericValue]}
457
- onValueChange={handleChange}
458
- min={min}
459
- max={max}
460
- step={step}
461
- disabled={isDisabled}
462
- className={cn("w-full", sliderClassName)}
463
- />
464
- </div>
465
-
466
- {/* trailing icons */}
467
- {hasTrailingIcons && (
468
- <span
469
- className="flex items-center gap-1 shrink-0"
470
- style={{ columnGap: trailingGap }}
471
- data-slot="trailing-icons"
472
- >
473
- {resolvedTrailingIcons.map((node, idx) => (
474
- <span
475
- key={idx}
476
- className="flex items-center justify-center"
477
- >
478
- {node}
479
- </span>
480
- ))}
481
- </span>
482
- )}
483
-
484
- {/* value after slider */}
485
- {valuePlacement === "end" && valueNode && (
486
- <div className="shrink-0 ml-1">{valueNode}</div>
487
- )}
488
- </div>
489
- );
490
-
491
- // ─────────────────────────────────────────────
492
- // Layout cases
493
- // ─────────────────────────────────────────────
494
-
495
- // CASE 1: no controls → just slider region
496
- if (!hasControls) {
497
- return (
498
- <div
499
- data-slot="slider-field"
500
- className={cn(
501
- "w-full flex items-center",
502
- isDisabled && "opacity-50 cursor-not-allowed",
503
- className
504
- )}
505
- aria-disabled={isDisabled || undefined}
506
- aria-invalid={error ? "true" : undefined}
507
- >
508
- {SliderRegion}
509
- </div>
510
- );
511
- }
512
-
513
- // CASE 2: controls + joinControls → single shared box (sketch #1: boxed)
514
- if (effectiveJoinControls) {
515
- const groupClassName = cn(
516
- "flex items-stretch w-full",
517
- extendBoxToControls &&
518
- cn(
519
- "relative",
520
- baseBoxClasses // focus ring via :focus-within
521
- ),
522
- !extendBoxToControls &&
523
- "relative border-none shadow-none bg-transparent",
524
- className
525
- );
526
-
527
- return (
528
- <div
529
- data-slot="slider-field"
530
- className="w-full"
531
- aria-disabled={isDisabled || undefined}
532
- aria-invalid={error ? "true" : undefined}
533
- >
534
- <div
535
- className={groupClassName}
536
- data-slot="slider-group"
537
- data-disabled={isDisabled ? "true" : "false"}
538
- >
539
- {hasLeadingControl && (
540
- <div
541
- className={cn(
542
- "flex items-center px-2",
543
- leadingControlClassName
544
- )}
545
- data-slot="leading-control"
546
- >
547
- {effectiveLeadingControl}
548
- </div>
549
- )}
550
-
551
- <div
552
- className="flex-1 min-w-0 flex items-stretch"
553
- data-slot="slider-region-wrapper"
554
- >
555
- {SliderRegion}
556
- </div>
557
-
558
- {hasTrailingControl && (
559
- <div
560
- className={cn(
561
- "flex items-center px-2",
562
- trailingControlClassName
563
- )}
564
- data-slot="trailing-control"
565
- >
566
- {effectiveTrailingControl}
567
- </div>
568
- )}
569
- </div>
570
- </div>
571
- );
572
- }
573
-
574
- // CASE 3: controls present but separate boxes (sketch #2: edge)
575
- return (
576
- <div
577
- data-slot="slider-field"
578
- className={cn(
579
- "flex items-stretch w-full",
580
- isDisabled && "opacity-50 cursor-not-allowed",
581
- className
582
- )}
583
- aria-disabled={isDisabled || undefined}
584
- aria-invalid={error ? "true" : undefined}
585
- >
586
- {hasLeadingControl && (
587
- <div
588
- className={cn(
589
- "flex items-center mr-1",
590
- leadingControlClassName
591
- )}
592
- data-slot="leading-control"
593
- >
594
- {effectiveLeadingControl}
595
- </div>
596
- )}
597
-
598
- <div
599
- className="flex-1 min-w-0"
600
- data-slot="slider-region-outer"
601
- >
602
- {SliderRegion}
603
- </div>
604
-
605
- {hasTrailingControl && (
606
- <div
607
- className={cn(
608
- "flex items-center ml-1",
609
- trailingControlClassName
610
- )}
611
- data-slot="trailing-control"
612
- >
613
- {effectiveTrailingControl}
614
- </div>
615
- )}
616
- </div>
617
- );
618
- });
619
-
620
- ShadcnSliderVariant.displayName = "ShadcnSliderVariant";
621
-
622
- export default ShadcnSliderVariant;