@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
@@ -0,0 +1,38 @@
1
+ import type { Dict } from "@/schema/core";
2
+ import type { VariantModule } from "@/schema/variant";
3
+ import type { ShadcnTextUiProps } from "@/presets/shadcn-variants/text";
4
+ /**
5
+ * Text variant props (core layer).
6
+ *
7
+ * - Extends Dict so it can cleanly participate in the Variants registry.
8
+ * - Extends the Shadcn UI props so the core variant can pass everything
9
+ * straight through to the underlying visual component.
10
+ *
11
+ * This is where we hang *semantic* flags that drive validation.
12
+ */
13
+ export interface TextVariantProps extends Dict, ShadcnTextUiProps {
14
+ /**
15
+ * If true, the value will be trimmed before validation.
16
+ * (Visual value is still whatever the user types; this is just for
17
+ * validation semantics.)
18
+ */
19
+ trim?: boolean;
20
+ /**
21
+ * Minimum allowed string length (after optional trimming).
22
+ */
23
+ minLength?: number;
24
+ /**
25
+ * Maximum allowed string length (after optional trimming).
26
+ */
27
+ maxLength?: number;
28
+ }
29
+ /**
30
+ * Core text variant module.
31
+ *
32
+ * - Uses ShadcnTextVariant as the visual component.
33
+ * - Adds simple length-based validation.
34
+ * - Provides layout defaults for InputField to use.
35
+ */
36
+ export declare const textVariant: VariantModule<"text">;
37
+ export default textVariant;
38
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/variants/core/text.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,iBAAiB,EAA0B,MAAM,gCAAgC,CAAC;AAEhG;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,EAAE,iBAAiB;IAC7D;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAoCD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,MAAM,CAgC7C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,75 +1,27 @@
1
1
  // src/variants/core/text.tsx
2
-
3
- import * as React from "react";
4
-
5
- import type { Dict } from "@/schema/core";
6
- import type { VariantModule } from "@/schema/variant";
7
- import type { ValidateResult } from "@/schema/input-field";
8
2
  import { ShadcnTextVariant } from "@/presets/shadcn-variants/text";
9
- import type { ShadcnTextUiProps, ShadcnTextVariantProps } from "@/presets/shadcn-variants/text";
10
-
11
- /**
12
- * Text variant props (core layer).
13
- *
14
- * - Extends Dict so it can cleanly participate in the Variants registry.
15
- * - Extends the Shadcn UI props so the core variant can pass everything
16
- * straight through to the underlying visual component.
17
- *
18
- * This is where we hang *semantic* flags that drive validation.
19
- */
20
- export interface TextVariantProps extends Dict, ShadcnTextUiProps {
21
- /**
22
- * If true, the value will be trimmed before validation.
23
- * (Visual value is still whatever the user types; this is just for
24
- * validation semantics.)
25
- */
26
- trim?: boolean;
27
-
28
- /**
29
- * Minimum allowed string length (after optional trimming).
30
- */
31
- minLength?: number;
32
-
33
- /**
34
- * Maximum allowed string length (after optional trimming).
35
- */
36
- maxLength?: number;
37
- }
38
-
39
3
  /**
40
4
  * Simple validation helper for the text variant.
41
5
  */
42
- function validateText(
43
- value: string | undefined,
44
- ctx: {
45
- required?: boolean;
46
- props: ShadcnTextVariantProps & TextVariantProps;
47
- }
48
- ): ValidateResult {
6
+ function validateText(value, ctx) {
49
7
  const { required, props } = ctx;
50
8
  const { trim, minLength, maxLength } = props;
51
-
52
9
  const raw = value ?? "";
53
10
  const v = trim ? raw.trim() : raw;
54
-
55
11
  // required
56
12
  if (required && v.length === 0) {
57
13
  return "This field is required.";
58
14
  }
59
-
60
15
  // minLength
61
16
  if (typeof minLength === "number" && v.length > 0 && v.length < minLength) {
62
17
  return `Please enter at least ${minLength} characters.`;
63
18
  }
64
-
65
19
  // maxLength
66
20
  if (typeof maxLength === "number" && v.length > maxLength) {
67
21
  return `Please enter no more than ${maxLength} characters.`;
68
22
  }
69
-
70
23
  return true;
71
24
  }
72
-
73
25
  /**
74
26
  * Core text variant module.
75
27
  *
@@ -77,18 +29,15 @@ function validateText(
77
29
  * - Adds simple length-based validation.
78
30
  * - Provides layout defaults for InputField to use.
79
31
  */
80
- export const textVariant: VariantModule<"text"> = {
32
+ export const textVariant = {
81
33
  variant: "text",
82
-
83
34
  // Visual component: Shadcn-based text input
84
35
  Variant: ShadcnTextVariant,
85
-
86
36
  // Validation logic (runs before/alongside per-field onValidate)
87
37
  validate(value, { required, props, field, form }) {
88
38
  //@ts-ignore field + form are available if you need them later.
89
39
  return validateText(value, { required, props });
90
40
  },
91
-
92
41
  // Layout defaults for this variant
93
42
  defaults: {
94
43
  layout: {
@@ -103,12 +52,11 @@ export const textVariant: VariantModule<"text"> = {
103
52
  defaultDensity: "comfortable",
104
53
  },
105
54
  },
106
-
107
55
  meta: {
108
56
  label: "Text",
109
57
  description: "Single-line text input",
110
58
  tags: ["text", "input", "string"],
111
59
  },
112
60
  };
113
-
114
- export default textVariant;
61
+ export default textVariant;
62
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/variants/core/text.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAO7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA+BnE;;GAEG;AACH,SAAS,YAAY,CACjB,KAAyB,EACzB,GAGC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE7C,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAElC,WAAW;IACX,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,yBAAyB,CAAC;IACrC,CAAC;IAED,YAAY;IACZ,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACxE,OAAO,yBAAyB,SAAS,cAAc,CAAC;IAC5D,CAAC;IAED,YAAY;IACZ,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACxD,OAAO,6BAA6B,SAAS,cAAc,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAA0B;IAC9C,OAAO,EAAE,MAAM;IAEf,4CAA4C;IAC5C,OAAO,EAAE,iBAAiB;IAE1B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5C,+DAA+D;QAC/D,OAAO,YAAY,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,mCAAmC;IACnC,QAAQ,EAAE;QACN,MAAM,EAAE;YACJ,cAAc,EAAE,KAAK;YACrB,iBAAiB,EAAE,OAAO;YAC1B,oBAAoB,EAAE,OAAO;YAC7B,iBAAiB,EAAE,OAAO;YAC1B,kBAAkB,EAAE,OAAO;YAC3B,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;YACjB,cAAc,EAAE,aAAa;SAChC;KACJ;IAED,IAAI,EAAE;QACF,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;KACpC;CACJ,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { VariantModuleFor } from "@/schema/variant";
2
+ export declare const textareaVariant: VariantModuleFor<"textarea">;
3
+ //# sourceMappingURL=textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/variants/core/textarea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAiBxD,CAAA"}
@@ -0,0 +1,20 @@
1
+ import ShadcnTextareaVariant from "@/presets/shadcn-variants/textarea";
2
+ export const textareaVariant = {
3
+ variant: "textarea",
4
+ Variant: ShadcnTextareaVariant,
5
+ // Optional layout defaults – tweak as you like
6
+ defaults: {
7
+ layout: {
8
+ fullWidth: true,
9
+ // You can set defaultSize/defaultDensity here if you want:
10
+ // defaultSize: "md",
11
+ // defaultDensity: "normal",
12
+ },
13
+ },
14
+ meta: {
15
+ label: "Textarea",
16
+ description: "Multi-line text input area.",
17
+ tags: ["text", "multiline", "comments", "notes"],
18
+ },
19
+ };
20
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/variants/core/textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AAIvE,MAAM,CAAC,MAAM,eAAe,GAAiC;IAC1D,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,qBAA4B;IACrC,+CAA+C;IAC/C,QAAQ,EAAE;QACP,MAAM,EAAE;YACL,SAAS,EAAE,IAAI;YACf,2DAA2D;YAC3D,qBAAqB;YACrB,4BAA4B;SAC9B;KACH;IACD,IAAI,EAAE;QACH,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,6BAA6B;QAC1C,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC;KAClD;CACH,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { VariantModuleFor } from "@/schema/variant";
2
+ import type { FieldLayoutConfig } from "@/schema/input-field";
3
+ export declare const toggleLayoutDefaults: FieldLayoutConfig;
4
+ export declare const ToggleVariantModule: VariantModuleFor<"toggle">;
5
+ export default ToggleVariantModule;
6
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../src/variants/core/toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,eAAO,MAAM,oBAAoB,EAAE,iBA4BlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,QAAQ,CAW1D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,41 @@
1
+ // src/variants/core/toggle.ts
2
+ import ShadcnToggleVariant from "@/presets/shadcn-variants/toggle";
3
+ export const toggleLayoutDefaults = {
4
+ // Render label + control in a single row
5
+ inline: true,
6
+ // Semantically: label is to the "right" of the control for this variant.
7
+ // (Your InputField can use this to decide macro-level positioning.)
8
+ labelPlacement: "right",
9
+ // Attach all helpers to the label root by default.
10
+ // Sublabel will still use its own placement (default: "right"),
11
+ // but it's logically anchored to the label block.
12
+ relativeRoots: {
13
+ sublabel: "label",
14
+ description: "label",
15
+ helpText: "label",
16
+ errorText: "label",
17
+ },
18
+ fullWidth: false,
19
+ // Within the label root, show error first, then description, then help,
20
+ // then sublabel (all still respecting their individual placements).
21
+ ordering: {
22
+ label: ["errorText", "description", "helpText", "sublabel"],
23
+ // For this variant we don't really use input-root helpers,
24
+ // but we keep the key for completeness.
25
+ input: [],
26
+ },
27
+ };
28
+ export const ToggleVariantModule = {
29
+ variant: "toggle",
30
+ Variant: ShadcnToggleVariant,
31
+ defaults: {
32
+ layout: toggleLayoutDefaults,
33
+ },
34
+ meta: {
35
+ label: "Toggle",
36
+ description: "Boolean on/off switch",
37
+ tags: ["boolean", "toggle", "switch"],
38
+ },
39
+ };
40
+ export default ToggleVariantModule;
41
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../../src/variants/core/toggle.tsx"],"names":[],"mappings":"AAAA,8BAA8B;AAI9B,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAEnE,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACpD,yCAAyC;IACzC,MAAM,EAAE,IAAI;IAEZ,yEAAyE;IACzE,oEAAoE;IACpE,cAAc,EAAE,OAAO;IAEvB,mDAAmD;IACnD,gEAAgE;IAChE,kDAAkD;IAClD,aAAa,EAAE;QACZ,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,OAAO;KACpB;IAED,SAAS,EAAE,KAAK;IAEhB,wEAAwE;IACxE,oEAAoE;IACpE,QAAQ,EAAE;QACP,KAAK,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;QAC3D,2DAA2D;QAC3D,wCAAwC;QACxC,KAAK,EAAE,EAAE;KACX;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAA+B;IAC5D,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,mBAA0B;IACnC,QAAQ,EAAE;QACP,MAAM,EAAE,oBAAoB;KAC9B;IACD,IAAI,EAAE;QACH,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACvC;CACH,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { VariantModule } from "@/schema/variant";
2
+ declare const treeselectModule: VariantModule<'treeselect'>;
3
+ export default treeselectModule;
4
+ //# sourceMappingURL=treeselect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeselect.d.ts","sourceRoot":"","sources":["../../../src/variants/core/treeselect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,QAAA,MAAM,gBAAgB,EAAE,aAAa,CAAC,YAAY,CAGjD,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import ShadcnTreeSelectVariant from "@/presets/shadcn-variants/treeselect";
2
+ const treeselectModule = {
3
+ variant: 'treeselect',
4
+ Variant: ShadcnTreeSelectVariant
5
+ };
6
+ export default treeselectModule;
7
+ //# sourceMappingURL=treeselect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeselect.js","sourceRoot":"","sources":["../../../src/variants/core/treeselect.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,sCAAsC,CAAC;AAK3E,MAAM,gBAAgB,GAAgC;IACnD,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,uBAA8B;CACzC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,24 @@
1
+ import * as React from "react";
2
+ type NormalizedMultiItem = {
3
+ key: string;
4
+ value: string | number;
5
+ labelNode: React.ReactNode;
6
+ labelText: string;
7
+ disabled?: boolean;
8
+ };
9
+ export interface SelectionSummaryProps {
10
+ selectedItems: NormalizedMultiItem[];
11
+ placeholder?: React.ReactNode;
12
+ onRemoveValue?: (value: NormalizedMultiItem) => void;
13
+ }
14
+ export declare const SelectionSummary: React.FC<SelectionSummaryProps>;
15
+ export type SelectPrimitive = string | number;
16
+ /**
17
+ * Remove a single value from a selection array.
18
+ *
19
+ * - Works even if the selection is undefined/null.
20
+ * - Compares using String() so "1" and 1 are treated consistently.
21
+ */
22
+ export declare function removeSelectValue<T extends SelectPrimitive>(current: readonly T[] | undefined | null, valueToRemove: T): T[];
23
+ export {};
24
+ //# sourceMappingURL=selection-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-summary.d.ts","sourceRoot":"","sources":["../../../src/variants/helpers/selection-summary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,mBAAmB,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACnC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACvD;AAiBD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+K5D,CAAC;AAKF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,eAAe,EACxD,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,EACxC,aAAa,EAAE,CAAC,GAChB,CAAC,EAAE,CAML"}
@@ -0,0 +1,105 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { X } from "lucide-react";
4
+ import { cn } from "@/lib/utils";
5
+ import { Popover, PopoverTrigger, PopoverContent, } from "@/presets/ui/popover";
6
+ /**
7
+ * Helper: Measure text width using a canvas.
8
+ * Much faster than rendering hidden DOM elements.
9
+ */
10
+ function getTextWidth(text, font) {
11
+ if (typeof window === "undefined")
12
+ return 0;
13
+ const canvas = window.__canvas ||
14
+ (window.__canvas = document.createElement("canvas"));
15
+ const context = canvas.getContext("2d");
16
+ context.font = font;
17
+ const metrics = context.measureText(text);
18
+ return metrics.width;
19
+ }
20
+ export const SelectionSummary = ({ selectedItems, placeholder, onRemoveValue, }) => {
21
+ const containerRef = React.useRef(null);
22
+ const [visibleCount, setVisibleCount] = React.useState(0);
23
+ const [moreOpen, setMoreOpen] = React.useState(false);
24
+ // Measure available width and calculate how many items fit
25
+ React.useLayoutEffect(() => {
26
+ const el = containerRef.current;
27
+ if (!el)
28
+ return;
29
+ const computeVisibleItems = () => {
30
+ const containerWidth = el.clientWidth;
31
+ // 1. Get current font styles to ensure accurate measurement
32
+ const computedStyle = window.getComputedStyle(el);
33
+ const font = `${computedStyle.fontWeight} ${computedStyle.fontSize} ${computedStyle.fontFamily}`;
34
+ // 2. Calculate the "Buffer" (12 characters width)
35
+ // This is the space reserved for the "+ N more" trigger if truncation happens.
36
+ // We use 'M' or '0' as an average widest character approximation, or a standard string.
37
+ const bufferWidth = getTextWidth("000000000000", font);
38
+ // 3. Width of the separator (e.g., ", ")
39
+ const commaWidth = getTextWidth(", ", font);
40
+ let usedWidth = 0;
41
+ let count = 0;
42
+ const totalItems = selectedItems.length;
43
+ for (let i = 0; i < totalItems; i++) {
44
+ const item = selectedItems[i];
45
+ const itemWidth = getTextWidth(item.labelText, font);
46
+ // Is this the very last item in the entire list?
47
+ const isLastItem = i === totalItems - 1;
48
+ // If it's the last item, we don't need the buffer space.
49
+ // If it's NOT the last item, we must ensure we have space for this item AND the buffer.
50
+ // (Because if we can't fit the *next* item, we'll need the buffer to show the badge).
51
+ const spaceNeeded = isLastItem
52
+ ? itemWidth
53
+ : itemWidth + commaWidth + bufferWidth;
54
+ if (usedWidth + spaceNeeded <= containerWidth) {
55
+ usedWidth += itemWidth + commaWidth;
56
+ count++;
57
+ }
58
+ else {
59
+ // No more space
60
+ break;
61
+ }
62
+ }
63
+ // Ensure we show at least 1 item if there are items,
64
+ // unless even the first item is wider than the container (then CSS truncation handles it).
65
+ setVisibleCount(Math.max(1, count));
66
+ };
67
+ computeVisibleItems();
68
+ const ro = new ResizeObserver(computeVisibleItems);
69
+ ro.observe(el);
70
+ return () => ro.disconnect();
71
+ }, [selectedItems, selectedItems.length]); // Re-run if items change
72
+ const totalCount = selectedItems.length;
73
+ if (!totalCount) {
74
+ return (_jsx("span", { ref: containerRef, className: "truncate text-muted-foreground w-full block", children: placeholder ?? "Select options…" }));
75
+ }
76
+ const visibleItems = selectedItems.slice(0, visibleCount);
77
+ // If visible count covers everything, overflow is 0
78
+ const overflowCount = totalCount - visibleItems.length;
79
+ // Safety check: if our calculation says we can show X, but X < Total,
80
+ // strictly ensure we render the "More" chip.
81
+ // If calculation resulted in showing all items, overflow is 0.
82
+ const showMore = overflowCount > 0;
83
+ const handleRemove = (value) => {
84
+ if (!onRemoveValue)
85
+ return;
86
+ onRemoveValue(value);
87
+ };
88
+ return (_jsxs("span", { ref: containerRef, className: "flex items-center w-full overflow-hidden whitespace-nowrap", children: [visibleItems.map((item, index) => (_jsxs(React.Fragment, { children: [_jsx("span", { className: "truncate flex-shrink-0", children: item.labelNode }), index < visibleItems.length - 1 && (_jsx("span", { className: "text-muted-foreground mr-1", children: "," }))] }, item.key))), showMore && (_jsx("span", { className: "text-muted-foreground mr-1", children: "," })), showMore && (_jsxs(Popover, { open: moreOpen, onOpenChange: setMoreOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground underline underline-offset-2 flex-shrink-0", onClick: (e) => e.stopPropagation(), children: ["+", overflowCount, " more"] }) }), _jsxs(PopoverContent, { align: "start", className: "w-56 max-h-64 overflow-y-auto p-2 text-sm", onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "flex items-center justify-between mb-1", children: [_jsxs("span", { className: "font-medium text-xs text-muted-foreground", children: ["Selected (", totalCount, ")"] }), _jsx("button", { type: "button", className: "p-1 rounded hover:bg-muted", onClick: () => setMoreOpen(false), children: _jsx(X, { className: "h-3 w-3" }) })] }), _jsx("div", { className: "space-y-1", children: selectedItems.map((item) => (_jsxs("div", { className: cn("flex items-center justify-between gap-2 rounded px-2 py-1", "bg-muted/40"), children: [_jsx("span", { className: "truncate", children: item.labelNode }), onRemoveValue && (_jsx("button", { type: "button", className: "flex h-4 w-4 shrink-0 items-center justify-center rounded hover:bg-muted text-muted-foreground hover:text-foreground", onClick: (e) => {
89
+ e.stopPropagation();
90
+ handleRemove(item);
91
+ }, children: _jsx(X, { className: "h-3 w-3" }) }))] }, item.key))) })] })] }))] }));
92
+ };
93
+ /**
94
+ * Remove a single value from a selection array.
95
+ *
96
+ * - Works even if the selection is undefined/null.
97
+ * - Compares using String() so "1" and 1 are treated consistently.
98
+ */
99
+ export function removeSelectValue(current, valueToRemove) {
100
+ if (!current || current.length === 0)
101
+ return [];
102
+ const target = String(valueToRemove);
103
+ return current.filter((v) => String(v) !== target);
104
+ }
105
+ //# sourceMappingURL=selection-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-summary.js","sourceRoot":"","sources":["../../../src/variants/helpers/selection-summary.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { registerVariant as _register, getVariant as _get, listVariants as _list } from "@/variants/registry";
2
+ import type { VariantKey, VariantModule, VariantValueFor, VariantPropsFor } from "@/schema/variant";
3
+ import { textVariant } from "@/variants/core/text";
4
+ export type { VariantKey, VariantModule, VariantValueFor, VariantPropsFor };
5
+ export { _register as registerVariant, _get as getVariant, _list as listVariants, };
6
+ export { textVariant };
7
+ /**
8
+ * Register all core/built-in variants.
9
+ *
10
+ * Hosts can call this once at bootstrap:
11
+ *
12
+ * import { registerCoreVariants } from "@timeax/form-palette/variants";
13
+ * registerCoreVariants();
14
+ */
15
+ export declare function registerCoreVariants(): void;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/variants/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,eAAe,IAAI,SAAS,EAC5B,UAAU,IAAI,IAAI,EAClB,YAAY,IAAI,KAAK,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAmBnD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAC5E,OAAO,EACH,SAAS,IAAI,eAAe,EAC5B,IAAI,IAAI,UAAU,EAClB,KAAK,IAAI,YAAY,GACxB,CAAC;AACF,OAAO,EAAE,WAAW,EAAE,CAAC;AAwBvB;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
@@ -1,16 +1,5 @@
1
1
  // src/variants/index.ts
2
-
3
- import {
4
- registerVariant as _register,
5
- getVariant as _get,
6
- listVariants as _list,
7
- } from "@/variants/registry";
8
- import type {
9
- VariantKey,
10
- VariantModule,
11
- VariantValueFor,
12
- VariantPropsFor,
13
- } from "@/schema/variant";
2
+ import { registerVariant as _register, getVariant as _get, listVariants as _list, } from "@/variants/registry";
14
3
  import { textVariant } from "@/variants/core/text";
15
4
  import { numberVariant } from "./core/number";
16
5
  import { PhoneVariantModule } from "./core/phone";
@@ -24,21 +13,13 @@ import { radioVariantModule } from "./core/radio";
24
13
  import { checkboxModule } from "./core/checkbox";
25
14
  import { selectModule } from "./core/select";
26
15
  import multiSelectVariantModule from "./core/multiselect";
27
- import sliderModule from './core/slider'
16
+ import sliderModule from './core/slider';
28
17
  import { keyValueModule } from "./core/keyvalue";
29
18
  import customVariant from "./core/custom";
30
19
  import treeselectModule from "./core/treeselect";
31
20
  import { fileManagerModule } from "./core/file";
32
-
33
- export type { VariantKey, VariantModule, VariantValueFor, VariantPropsFor };
34
- export {
35
- _register as registerVariant,
36
- _get as getVariant,
37
- _list as listVariants,
38
- };
21
+ export { _register as registerVariant, _get as getVariant, _list as listVariants, };
39
22
  export { textVariant };
40
-
41
-
42
23
  const variants = [
43
24
  textVariant,
44
25
  numberVariant,
@@ -58,8 +39,7 @@ const variants = [
58
39
  customVariant,
59
40
  treeselectModule,
60
41
  fileManagerModule
61
- ]
62
-
42
+ ];
63
43
  /**
64
44
  * Register all core/built-in variants.
65
45
  *
@@ -68,8 +48,8 @@ const variants = [
68
48
  * import { registerCoreVariants } from "@timeax/form-palette/variants";
69
49
  * registerCoreVariants();
70
50
  */
71
- export function registerCoreVariants(): void {
72
- variants.forEach(item => _register(item as any))
51
+ export function registerCoreVariants() {
52
+ variants.forEach(item => _register(item));
73
53
  }
74
-
75
54
  registerCoreVariants();
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/variants/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAExB,OAAO,EACH,eAAe,IAAI,SAAS,EAC5B,UAAU,IAAI,IAAI,EAClB,YAAY,IAAI,KAAK,GACxB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,eAAe,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,mBAAmB,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,wBAAwB,MAAM,oBAAoB,CAAC;AAC1D,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,aAAa,MAAM,eAAe,CAAC;AAC1C,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EACH,SAAS,IAAI,eAAe,EAC5B,IAAI,IAAI,UAAU,EAClB,KAAK,IAAI,YAAY,GACxB,CAAC;AACF,OAAO,EAAE,WAAW,EAAE,CAAC;AAGvB,MAAM,QAAQ,GAAG;IACb,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,wBAAwB;IACxB,YAAY;IACZ,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,iBAAiB;CACpB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB;IAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAW,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { VariantKey, VariantModule } from "@/schema/variant";
2
+ /**
3
+ * Register (or overwrite) a variant module.
4
+ *
5
+ * Typically called from presets, e.g.:
6
+ *
7
+ * registerVariant(textVariant);
8
+ * registerVariant(numberVariant);
9
+ */
10
+ export declare function registerVariant<K extends VariantKey>(module: VariantModule<K>): void;
11
+ /**
12
+ * Look up a variant module by key.
13
+ */
14
+ export declare function getVariant<K extends VariantKey>(key: K): VariantModule<K> | undefined;
15
+ /**
16
+ * List all registered variant modules.
17
+ */
18
+ export declare function listVariants(): VariantModule<VariantKey>[];
19
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/variants/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOlE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAChD,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACzB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAC3C,GAAG,EAAE,CAAC,GACP,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAE9B;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAE1D"}
@@ -0,0 +1,29 @@
1
+ // src/variants/registry.ts
2
+ /**
3
+ * Internal storage for registered variants.
4
+ */
5
+ const registry = new Map();
6
+ /**
7
+ * Register (or overwrite) a variant module.
8
+ *
9
+ * Typically called from presets, e.g.:
10
+ *
11
+ * registerVariant(textVariant);
12
+ * registerVariant(numberVariant);
13
+ */
14
+ export function registerVariant(module) {
15
+ registry.set(module.variant, module);
16
+ }
17
+ /**
18
+ * Look up a variant module by key.
19
+ */
20
+ export function getVariant(key) {
21
+ return registry.get(key);
22
+ }
23
+ /**
24
+ * List all registered variant modules.
25
+ */
26
+ export function listVariants() {
27
+ return Array.from(registry.values());
28
+ }
29
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/variants/registry.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAI3B;;GAEG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC3B,MAAwB;IAExB,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAA4B,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACtB,GAAM;IAEN,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAiC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IACxB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAgC,CAAC;AACxE,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=select-shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-shared.d.ts","sourceRoot":"","sources":["../../src/variants/select-shared.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=select-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-shared.js","sourceRoot":"","sources":["../../src/variants/select-shared.ts"],"names":[],"mappings":""}