@bigbinary/neeto-atoms 1.0.7 → 1.0.9

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 (393) hide show
  1. package/dist/ColorPicker-D-7QGnf9.js +277 -0
  2. package/dist/ColorPicker-D-7QGnf9.js.map +1 -0
  3. package/dist/{DataTable-Y4POx0WN.js → DataTable-DWR9gX9d.js} +146 -138
  4. package/dist/DataTable-DWR9gX9d.js.map +1 -0
  5. package/dist/TranslationProvider-Ba9rn47H.js +96 -0
  6. package/dist/TranslationProvider-Ba9rn47H.js.map +1 -0
  7. package/dist/cjs/ColorPicker-DEELmqH8.js +279 -0
  8. package/dist/cjs/ColorPicker-DEELmqH8.js.map +1 -0
  9. package/dist/cjs/{DataTable-DJw2SZ7b.js → DataTable-CWs96k8n.js} +146 -138
  10. package/dist/cjs/DataTable-CWs96k8n.js.map +1 -0
  11. package/dist/cjs/TranslationProvider-DBZHXmzX.js +103 -0
  12. package/dist/cjs/TranslationProvider-DBZHXmzX.js.map +1 -0
  13. package/dist/cjs/components/Accordion.js +49 -0
  14. package/dist/cjs/components/Accordion.js.map +1 -0
  15. package/dist/cjs/components/Alert.js +105 -0
  16. package/dist/cjs/components/Alert.js.map +1 -0
  17. package/dist/cjs/components/Avatar.js +75 -0
  18. package/dist/cjs/components/Avatar.js.map +1 -0
  19. package/dist/cjs/components/Badge.js +73 -0
  20. package/dist/cjs/components/Badge.js.map +1 -0
  21. package/dist/cjs/components/Button.js +122 -0
  22. package/dist/cjs/components/Button.js.map +1 -0
  23. package/dist/cjs/components/Callout.js +73 -0
  24. package/dist/cjs/components/Callout.js.map +1 -0
  25. package/dist/cjs/components/Checkbox.js +44 -0
  26. package/dist/cjs/components/Checkbox.js.map +1 -0
  27. package/dist/cjs/components/ColorPicker.js +36 -0
  28. package/dist/cjs/components/ColorPicker.js.map +1 -0
  29. package/dist/cjs/components/DataTable.js +4 -3
  30. package/dist/cjs/components/DataTable.js.map +1 -1
  31. package/dist/cjs/components/Dialog.js +89 -0
  32. package/dist/cjs/components/Dialog.js.map +1 -0
  33. package/dist/cjs/components/DropdownMenu.js +182 -0
  34. package/dist/cjs/components/DropdownMenu.js.map +1 -0
  35. package/dist/cjs/components/Empty.js +59 -0
  36. package/dist/cjs/components/Empty.js.map +1 -0
  37. package/dist/cjs/components/Input.js +167 -0
  38. package/dist/cjs/components/Input.js.map +1 -0
  39. package/dist/cjs/components/Kbd.js +63 -0
  40. package/dist/cjs/components/Kbd.js.map +1 -0
  41. package/dist/cjs/components/Label.js +91 -0
  42. package/dist/cjs/components/Label.js.map +1 -0
  43. package/dist/cjs/components/MultiSelect.js +13 -0
  44. package/dist/cjs/components/MultiSelect.js.map +1 -0
  45. package/dist/cjs/components/MultiSelectCombobox.js +3 -0
  46. package/dist/cjs/components/MultiSelectCombobox.js.map +1 -0
  47. package/dist/cjs/components/MultiSelectDropdown.js +38 -0
  48. package/dist/cjs/components/MultiSelectDropdown.js.map +1 -0
  49. package/dist/cjs/components/OptionItem.js +34 -0
  50. package/dist/cjs/components/OptionItem.js.map +1 -0
  51. package/dist/cjs/components/Popover.js +123 -0
  52. package/dist/cjs/components/Popover.js.map +1 -0
  53. package/dist/cjs/components/Progress.js +22 -0
  54. package/dist/cjs/components/Progress.js.map +1 -0
  55. package/dist/cjs/components/RadioGroup.js +63 -0
  56. package/dist/cjs/components/RadioGroup.js.map +1 -0
  57. package/dist/cjs/components/Select.js +3 -0
  58. package/dist/cjs/components/Select.js.map +1 -0
  59. package/dist/cjs/components/SelectFieldWrapper.js +33 -0
  60. package/dist/cjs/components/SelectFieldWrapper.js.map +1 -0
  61. package/dist/cjs/components/SelectOptions.js +43 -0
  62. package/dist/cjs/components/SelectOptions.js.map +1 -0
  63. package/dist/cjs/components/SelectTriggerContent.js +47 -0
  64. package/dist/cjs/components/SelectTriggerContent.js.map +1 -0
  65. package/dist/cjs/components/Sheet.js +91 -0
  66. package/dist/cjs/components/Sheet.js.map +1 -0
  67. package/dist/cjs/components/Slider.js +45 -0
  68. package/dist/cjs/components/Slider.js.map +1 -0
  69. package/dist/cjs/components/Spinner.js +27 -0
  70. package/dist/cjs/components/Spinner.js.map +1 -0
  71. package/dist/cjs/components/Stepper.js +39 -0
  72. package/dist/cjs/components/Stepper.js.map +1 -0
  73. package/dist/cjs/components/Switch.js +35 -0
  74. package/dist/cjs/components/Switch.js.map +1 -0
  75. package/dist/cjs/components/Tabs.js +74 -0
  76. package/dist/cjs/components/Tabs.js.map +1 -0
  77. package/dist/cjs/components/Textarea.js +89 -0
  78. package/dist/cjs/components/Textarea.js.map +1 -0
  79. package/dist/cjs/components/Toastr.js +133 -0
  80. package/dist/cjs/components/Toastr.js.map +1 -0
  81. package/dist/cjs/components/Tooltip.js +109 -0
  82. package/dist/cjs/components/Tooltip.js.map +1 -0
  83. package/dist/cjs/components/TranslationProvider.js +12 -0
  84. package/dist/cjs/components/TranslationProvider.js.map +1 -0
  85. package/dist/cjs/{primitives → components}/Typography.js +6 -6
  86. package/dist/cjs/components/Typography.js.map +1 -0
  87. package/dist/cjs/components/shared.js +8 -0
  88. package/dist/cjs/components/shared.js.map +1 -0
  89. package/dist/cjs/{dialog-DzNWLbJ6.js → dialog-Bvyrshz3.js} +5 -3
  90. package/dist/cjs/dialog-Bvyrshz3.js.map +1 -0
  91. package/dist/cjs/{index-DAds6mf_.js → index-BLGrl3PF.js} +31 -31
  92. package/dist/cjs/{index-DAds6mf_.js.map → index-BLGrl3PF.js.map} +1 -1
  93. package/dist/cjs/{index-BqCr1H3u.js → index-BiGm7NEA.js} +11 -11
  94. package/dist/cjs/{index-BqCr1H3u.js.map → index-BiGm7NEA.js.map} +1 -1
  95. package/dist/cjs/{index-CGet1HH4.js → index-PdtYHwPi.js} +66 -66
  96. package/dist/cjs/{index-CGet1HH4.js.map → index-PdtYHwPi.js.map} +1 -1
  97. package/dist/cjs/index-Vlwnyfvs.js +1145 -0
  98. package/dist/cjs/index-Vlwnyfvs.js.map +1 -0
  99. package/dist/cjs/{index-DR7GJU4J.js → index-hQmfI1O7.js} +17 -17
  100. package/dist/cjs/{index-DR7GJU4J.js.map → index-hQmfI1O7.js.map} +1 -1
  101. package/dist/cjs/index.js +497 -26
  102. package/dist/cjs/index.js.map +1 -1
  103. package/dist/cjs/primitives/Accordion.js +16 -16
  104. package/dist/cjs/primitives/Accordion.js.map +1 -1
  105. package/dist/cjs/primitives/AlertDialog.js +1 -1
  106. package/dist/cjs/primitives/Badge.js +58 -6
  107. package/dist/cjs/primitives/Badge.js.map +1 -1
  108. package/dist/cjs/primitives/Breadcrumb.js +5 -2
  109. package/dist/cjs/primitives/Breadcrumb.js.map +1 -1
  110. package/dist/cjs/primitives/Carousel.js +5 -2
  111. package/dist/cjs/primitives/Carousel.js.map +1 -1
  112. package/dist/cjs/primitives/Chart.js +137 -137
  113. package/dist/cjs/primitives/Chart.js.map +1 -1
  114. package/dist/cjs/primitives/Collapsible.js +1 -1
  115. package/dist/cjs/primitives/Combobox.js +4 -4
  116. package/dist/cjs/primitives/Combobox.js.map +1 -1
  117. package/dist/cjs/primitives/Command.js +7 -3
  118. package/dist/cjs/primitives/Command.js.map +1 -1
  119. package/dist/cjs/primitives/ContextMenu.js +2 -2
  120. package/dist/cjs/primitives/Dialog.js +11 -6
  121. package/dist/cjs/primitives/Dialog.js.map +1 -1
  122. package/dist/cjs/primitives/Drawer.js +1 -1
  123. package/dist/cjs/primitives/DropdownMenu.js +38 -38
  124. package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
  125. package/dist/cjs/primitives/HoverCard.js +16 -16
  126. package/dist/cjs/primitives/Menubar.js +2 -2
  127. package/dist/cjs/primitives/Pagination.js +11 -5
  128. package/dist/cjs/primitives/Pagination.js.map +1 -1
  129. package/dist/cjs/primitives/Popover.js +13 -13
  130. package/dist/cjs/primitives/RadioGroup.js +27 -26
  131. package/dist/cjs/primitives/RadioGroup.js.map +1 -1
  132. package/dist/cjs/primitives/Select.js +77 -77
  133. package/dist/cjs/primitives/Sheet.js +11 -6
  134. package/dist/cjs/primitives/Sheet.js.map +1 -1
  135. package/dist/cjs/primitives/Sidebar.js +10 -6
  136. package/dist/cjs/primitives/Sidebar.js.map +1 -1
  137. package/dist/cjs/primitives/Sonner.js +19 -1180
  138. package/dist/cjs/primitives/Sonner.js.map +1 -1
  139. package/dist/cjs/primitives/Spinner.js +3 -1
  140. package/dist/cjs/primitives/Spinner.js.map +1 -1
  141. package/dist/cjs/primitives/Switch.js +4 -8
  142. package/dist/cjs/primitives/Switch.js.map +1 -1
  143. package/dist/cjs/primitives/Tabs.js +11 -11
  144. package/dist/cjs/primitives/ToggleGroup.js +1 -1
  145. package/dist/cjs/primitives/Tooltip.js +1 -1
  146. package/dist/cjs/primitives/index.js +11 -11
  147. package/dist/cjs/renderIcon-fLF3odqg.js +26 -0
  148. package/dist/cjs/renderIcon-fLF3odqg.js.map +1 -0
  149. package/dist/cjs/{sheet-nHSYZxAA.js → sheet-BZHMKVH1.js} +5 -3
  150. package/dist/cjs/sheet-BZHMKVH1.js.map +1 -0
  151. package/dist/cjs/{tooltip-CRkOMh1b.js → tooltip-C-568jEL.js} +17 -17
  152. package/dist/cjs/{tooltip-CRkOMh1b.js.map → tooltip-C-568jEL.js.map} +1 -1
  153. package/dist/cjs/triangle-alert-ZUMRpmzW.js +43 -0
  154. package/dist/cjs/triangle-alert-ZUMRpmzW.js.map +1 -0
  155. package/dist/cjs/useCreatableItems-BTHtd7uo.js +100 -0
  156. package/dist/cjs/useCreatableItems-BTHtd7uo.js.map +1 -0
  157. package/dist/cjs/{reselect-CeyIIDM-.js → with-selector-u4xTSzCv.js} +111 -111
  158. package/dist/cjs/with-selector-u4xTSzCv.js.map +1 -0
  159. package/dist/components/Accordion.d.ts +18 -0
  160. package/dist/components/Accordion.js +43 -0
  161. package/dist/components/Accordion.js.map +1 -0
  162. package/dist/components/Alert.d.ts +51 -0
  163. package/dist/components/Alert.js +103 -0
  164. package/dist/components/Alert.js.map +1 -0
  165. package/dist/components/Avatar.d.ts +31 -0
  166. package/dist/components/Avatar.js +73 -0
  167. package/dist/components/Avatar.js.map +1 -0
  168. package/dist/components/Badge.d.ts +29 -0
  169. package/dist/components/Badge.js +71 -0
  170. package/dist/components/Badge.js.map +1 -0
  171. package/dist/components/Button.d.ts +47 -0
  172. package/dist/components/Button.js +120 -0
  173. package/dist/components/Button.js.map +1 -0
  174. package/dist/components/Callout.d.ts +17 -0
  175. package/dist/components/Callout.js +71 -0
  176. package/dist/components/Callout.js.map +1 -0
  177. package/dist/components/Checkbox.d.ts +16 -0
  178. package/dist/components/Checkbox.js +42 -0
  179. package/dist/components/Checkbox.js.map +1 -0
  180. package/dist/components/ColorPicker/ColorPicker.d.ts +4 -0
  181. package/dist/components/ColorPicker/Palette.d.ts +12 -0
  182. package/dist/components/ColorPicker/Target.d.ts +15 -0
  183. package/dist/components/ColorPicker/constants.d.ts +10 -0
  184. package/dist/components/ColorPicker/hooks/useEyeDropper.d.ts +15 -0
  185. package/dist/components/ColorPicker/hooks/useRecentlyUsedColors.d.ts +11 -0
  186. package/dist/components/ColorPicker/index.d.ts +2 -0
  187. package/dist/components/ColorPicker/types.d.ts +42 -0
  188. package/dist/components/ColorPicker/utils.d.ts +31 -0
  189. package/dist/components/ColorPicker.js +30 -0
  190. package/dist/components/ColorPicker.js.map +1 -0
  191. package/dist/components/DataTable/components/EmptyState.d.ts +1 -1
  192. package/dist/components/DataTable.js +3 -2
  193. package/dist/components/DataTable.js.map +1 -1
  194. package/dist/components/Dialog.d.ts +56 -0
  195. package/dist/components/Dialog.js +87 -0
  196. package/dist/components/Dialog.js.map +1 -0
  197. package/dist/components/DropdownMenu/Divider.d.ts +3 -0
  198. package/dist/components/DropdownMenu/DropdownBase.d.ts +3 -0
  199. package/dist/components/DropdownMenu/Label.d.ts +7 -0
  200. package/dist/components/DropdownMenu/Menu.d.ts +7 -0
  201. package/dist/components/DropdownMenu/MenuItem.d.ts +10 -0
  202. package/dist/components/DropdownMenu/MenuItemButton.d.ts +4 -0
  203. package/dist/components/DropdownMenu/SplitTrigger.d.ts +13 -0
  204. package/dist/components/DropdownMenu/SubMenu.d.ts +10 -0
  205. package/dist/components/DropdownMenu/TriggerButton.d.ts +10 -0
  206. package/dist/components/DropdownMenu/constants.d.ts +7 -0
  207. package/dist/components/DropdownMenu/index.d.ts +16 -0
  208. package/dist/components/DropdownMenu/types.d.ts +88 -0
  209. package/dist/components/DropdownMenu.js +180 -0
  210. package/dist/components/DropdownMenu.js.map +1 -0
  211. package/dist/components/Empty.d.ts +27 -0
  212. package/dist/components/Empty.js +57 -0
  213. package/dist/components/Empty.js.map +1 -0
  214. package/dist/components/Input.d.ts +39 -0
  215. package/dist/components/Input.js +165 -0
  216. package/dist/components/Input.js.map +1 -0
  217. package/dist/components/Kbd.d.ts +15 -0
  218. package/dist/components/Kbd.js +61 -0
  219. package/dist/components/Kbd.js.map +1 -0
  220. package/dist/components/Label.d.ts +40 -0
  221. package/dist/components/Label.js +89 -0
  222. package/dist/components/Label.js.map +1 -0
  223. package/dist/components/MultiSelect.constants.d.ts +5 -0
  224. package/dist/components/MultiSelect.d.ts +4 -0
  225. package/dist/components/MultiSelect.js +4 -0
  226. package/dist/components/MultiSelect.js.map +1 -0
  227. package/dist/components/MultiSelect.types.d.ts +121 -0
  228. package/dist/components/MultiSelect.utils.d.ts +18 -0
  229. package/dist/components/MultiSelectCombobox.d.ts +3 -0
  230. package/dist/components/MultiSelectCombobox.js +2 -0
  231. package/dist/components/MultiSelectCombobox.js.map +1 -0
  232. package/dist/components/MultiSelectCombobox.types.d.ts +52 -0
  233. package/dist/components/MultiSelectDropdown.d.ts +9 -0
  234. package/dist/components/MultiSelectDropdown.js +36 -0
  235. package/dist/components/MultiSelectDropdown.js.map +1 -0
  236. package/dist/components/OptionItem.d.ts +9 -0
  237. package/dist/components/OptionItem.js +32 -0
  238. package/dist/components/OptionItem.js.map +1 -0
  239. package/dist/components/Popover.d.ts +47 -0
  240. package/dist/components/Popover.js +117 -0
  241. package/dist/components/Popover.js.map +1 -0
  242. package/dist/components/Progress.d.ts +12 -0
  243. package/dist/components/Progress.js +20 -0
  244. package/dist/components/Progress.js.map +1 -0
  245. package/dist/components/RadioGroup.d.ts +32 -0
  246. package/dist/components/RadioGroup.js +61 -0
  247. package/dist/components/RadioGroup.js.map +1 -0
  248. package/dist/components/Select.constants.d.ts +5 -0
  249. package/dist/components/Select.d.ts +4 -0
  250. package/dist/components/Select.js +2 -0
  251. package/dist/components/Select.js.map +1 -0
  252. package/dist/components/Select.types.d.ts +58 -0
  253. package/dist/components/SelectFieldWrapper.d.ts +18 -0
  254. package/dist/components/SelectFieldWrapper.js +31 -0
  255. package/dist/components/SelectFieldWrapper.js.map +1 -0
  256. package/dist/components/SelectOptions.d.ts +2 -0
  257. package/dist/components/SelectOptions.js +41 -0
  258. package/dist/components/SelectOptions.js.map +1 -0
  259. package/dist/components/SelectTriggerContent.d.ts +18 -0
  260. package/dist/components/SelectTriggerContent.js +45 -0
  261. package/dist/components/SelectTriggerContent.js.map +1 -0
  262. package/dist/components/Sheet.d.ts +54 -0
  263. package/dist/components/Sheet.js +89 -0
  264. package/dist/components/Sheet.js.map +1 -0
  265. package/dist/components/Slider.d.ts +19 -0
  266. package/dist/components/Slider.js +43 -0
  267. package/dist/components/Slider.js.map +1 -0
  268. package/dist/components/Spinner.d.ts +10 -0
  269. package/dist/components/Spinner.js +25 -0
  270. package/dist/components/Spinner.js.map +1 -0
  271. package/dist/components/Stepper.d.ts +18 -0
  272. package/dist/components/Stepper.js +33 -0
  273. package/dist/components/Stepper.js.map +1 -0
  274. package/dist/components/Switch.d.ts +18 -0
  275. package/dist/components/Switch.js +33 -0
  276. package/dist/components/Switch.js.map +1 -0
  277. package/dist/components/Tabs.d.ts +20 -0
  278. package/dist/components/Tabs.js +72 -0
  279. package/dist/components/Tabs.js.map +1 -0
  280. package/dist/components/Textarea.d.ts +36 -0
  281. package/dist/components/Textarea.js +87 -0
  282. package/dist/components/Textarea.js.map +1 -0
  283. package/dist/components/Toastr.d.ts +30 -0
  284. package/dist/components/Toastr.js +131 -0
  285. package/dist/components/Toastr.js.map +1 -0
  286. package/dist/components/Tooltip.d.ts +29 -0
  287. package/dist/components/Tooltip.js +103 -0
  288. package/dist/components/Tooltip.js.map +1 -0
  289. package/dist/components/TranslationProvider/TranslationProvider.d.ts +6 -0
  290. package/dist/components/TranslationProvider/i18n.d.ts +1 -0
  291. package/dist/components/TranslationProvider/index.d.ts +2 -0
  292. package/dist/components/TranslationProvider/types.d.ts +7 -0
  293. package/dist/components/TranslationProvider.js +6 -0
  294. package/dist/components/TranslationProvider.js.map +1 -0
  295. package/dist/{primitives → components}/Typography.d.ts +3 -3
  296. package/dist/{primitives → components}/Typography.js +6 -6
  297. package/dist/components/Typography.js.map +1 -0
  298. package/dist/components/shared.js +6 -0
  299. package/dist/components/shared.js.map +1 -0
  300. package/dist/components/shared.types.d.ts +16 -0
  301. package/dist/{dialog-C97DOTvO.js → dialog-CrB6N_2a.js} +6 -4
  302. package/dist/dialog-CrB6N_2a.js.map +1 -0
  303. package/dist/hooks/useAsyncOptions.d.ts +13 -0
  304. package/dist/hooks/useCreatableItems.d.ts +30 -0
  305. package/dist/hooks/useLazyLoadSentinel.d.ts +6 -0
  306. package/dist/hooks/useMultiSelectOptions.d.ts +15 -0
  307. package/dist/hooks/useMultiSelectState.d.ts +37 -0
  308. package/dist/hooks/useSelectState.d.ts +27 -0
  309. package/dist/{index-PF0ms7Xn.js → index-9HvIbmnI.js} +3 -3
  310. package/dist/{index-PF0ms7Xn.js.map → index-9HvIbmnI.js.map} +1 -1
  311. package/dist/index-D_roZz8G.js +1137 -0
  312. package/dist/index-D_roZz8G.js.map +1 -0
  313. package/dist/{index-BwxI_qgh.js → index-KzJfsx-e.js} +3 -3
  314. package/dist/{index-BwxI_qgh.js.map → index-KzJfsx-e.js.map} +1 -1
  315. package/dist/index.css +25 -1
  316. package/dist/index.d.ts +61 -0
  317. package/dist/index.js +463 -24
  318. package/dist/index.js.map +1 -1
  319. package/dist/{input-group-CDBpz6Pb.js → input-group-ytECR3Hw.js} +2 -2
  320. package/dist/{input-group-CDBpz6Pb.js.map → input-group-ytECR3Hw.js.map} +1 -1
  321. package/dist/lib/renderIcon.d.ts +5 -0
  322. package/dist/primitives/Accordion.js +1 -1
  323. package/dist/primitives/AlertDialog.js +1 -1
  324. package/dist/primitives/Badge.d.ts +13 -3
  325. package/dist/primitives/Badge.js +54 -2
  326. package/dist/primitives/Badge.js.map +1 -1
  327. package/dist/primitives/Breadcrumb.js +5 -2
  328. package/dist/primitives/Breadcrumb.js.map +1 -1
  329. package/dist/primitives/Carousel.js +5 -2
  330. package/dist/primitives/Carousel.js.map +1 -1
  331. package/dist/primitives/Chart.js +1 -1
  332. package/dist/primitives/Combobox.js +3 -3
  333. package/dist/primitives/Command.js +8 -4
  334. package/dist/primitives/Command.js.map +1 -1
  335. package/dist/primitives/ContextMenu.js +1 -1
  336. package/dist/primitives/Dialog.d.ts +11 -3
  337. package/dist/primitives/Dialog.js +12 -7
  338. package/dist/primitives/Dialog.js.map +1 -1
  339. package/dist/primitives/Drawer.js +1 -1
  340. package/dist/primitives/DropdownMenu.js +2 -2
  341. package/dist/primitives/InputGroup.js +1 -1
  342. package/dist/primitives/Menubar.js +1 -1
  343. package/dist/primitives/Pagination.js +11 -5
  344. package/dist/primitives/Pagination.js.map +1 -1
  345. package/dist/primitives/RadioGroup.d.ts +8 -3
  346. package/dist/primitives/RadioGroup.js +9 -8
  347. package/dist/primitives/RadioGroup.js.map +1 -1
  348. package/dist/primitives/Select.js +3 -3
  349. package/dist/primitives/Sheet.d.ts +12 -3
  350. package/dist/primitives/Sheet.js +12 -7
  351. package/dist/primitives/Sheet.js.map +1 -1
  352. package/dist/primitives/Sidebar.js +10 -6
  353. package/dist/primitives/Sidebar.js.map +1 -1
  354. package/dist/primitives/Sonner.js +16 -1175
  355. package/dist/primitives/Sonner.js.map +1 -1
  356. package/dist/primitives/Spinner.js +3 -1
  357. package/dist/primitives/Spinner.js.map +1 -1
  358. package/dist/primitives/Switch.d.ts +6 -3
  359. package/dist/primitives/Switch.js +4 -8
  360. package/dist/primitives/Switch.js.map +1 -1
  361. package/dist/primitives/Tooltip.js +1 -1
  362. package/dist/primitives/index.d.ts +0 -1
  363. package/dist/primitives/index.js +10 -8
  364. package/dist/primitives/index.js.map +1 -1
  365. package/dist/renderIcon-tlvMyboj.js +20 -0
  366. package/dist/renderIcon-tlvMyboj.js.map +1 -0
  367. package/dist/shadcn/components/command.d.ts +1 -1
  368. package/dist/shadcn/components/pagination.d.ts +2 -2
  369. package/dist/shadcn/components/typography.d.ts +6 -6
  370. package/dist/{sheet-D1ngftfX.js → sheet-C763FqIh.js} +6 -4
  371. package/dist/sheet-C763FqIh.js.map +1 -0
  372. package/dist/{tooltip-D5soNrAP.js → tooltip-DzjIJacP.js} +3 -3
  373. package/dist/{tooltip-D5soNrAP.js.map → tooltip-DzjIJacP.js.map} +1 -1
  374. package/dist/translations/index.d.ts +66 -0
  375. package/dist/triangle-alert-PXnNWQy_.js +40 -0
  376. package/dist/triangle-alert-PXnNWQy_.js.map +1 -0
  377. package/dist/useCreatableItems-B0seQA1_.js +89 -0
  378. package/dist/useCreatableItems-B0seQA1_.js.map +1 -0
  379. package/dist/utils/fieldIds.d.ts +2 -0
  380. package/dist/utils/hyphenize.d.ts +1 -0
  381. package/dist/{reselect-CABQm5hA.js → with-selector--fY1NrB9.js} +111 -111
  382. package/dist/with-selector--fY1NrB9.js.map +1 -0
  383. package/package.json +39 -34
  384. package/dist/DataTable-Y4POx0WN.js.map +0 -1
  385. package/dist/cjs/DataTable-DJw2SZ7b.js.map +0 -1
  386. package/dist/cjs/dialog-DzNWLbJ6.js.map +0 -1
  387. package/dist/cjs/primitives/Typography.js.map +0 -1
  388. package/dist/cjs/reselect-CeyIIDM-.js.map +0 -1
  389. package/dist/cjs/sheet-nHSYZxAA.js.map +0 -1
  390. package/dist/dialog-C97DOTvO.js.map +0 -1
  391. package/dist/primitives/Typography.js.map +0 -1
  392. package/dist/reselect-CABQm5hA.js.map +0 -1
  393. package/dist/sheet-D1ngftfX.js.map +0 -1
@@ -0,0 +1,31 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { Field, FieldLabel, FieldContent, FieldError, FieldDescription } from '../primitives/Field.js';
3
+ import 'react';
4
+ import '../index-D7Zy7P05.js';
5
+ import '../utils-DdHUxIdC.js';
6
+ import '../label-B4qDF3W1.js';
7
+ import '../index-DhnfW8wQ.js';
8
+ import 'react-dom';
9
+ import '../index-BtkPdosV.js';
10
+ import '../separator-BbhgePmX.js';
11
+
12
+ function SelectFieldWrapper({ id, label, error, helpText, errorId, helpTextId, isDisabled, required, testIdPrefix, labelProps, className, children, }) {
13
+ const hasField = !!(label || error || helpText);
14
+ if (!hasField) {
15
+ return (jsx("div", { className: className, ...(testIdPrefix
16
+ ? { "data-testid": `${testIdPrefix}-select-container-wrapper` }
17
+ : {}), children: children }));
18
+ }
19
+ return (jsxs(Field, { "data-disabled": isDisabled || undefined, "data-invalid": !!error || undefined, className: className, ...(testIdPrefix
20
+ ? { "data-testid": `${testIdPrefix}-select-container-wrapper` }
21
+ : {}), children: [label && (jsxs(FieldLabel, { htmlFor: id, ...labelProps, ...(testIdPrefix
22
+ ? { "data-testid": `${testIdPrefix}-input-label` }
23
+ : {}), children: [label, required && (jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" }))] })), jsxs(FieldContent, { children: [children, !!error && (jsx(FieldError, { id: errorId, ...(testIdPrefix
24
+ ? { "data-testid": `${testIdPrefix}-select-error` }
25
+ : {}), children: error })), helpText && (jsx(FieldDescription, { id: helpTextId, ...(testIdPrefix
26
+ ? { "data-testid": `${testIdPrefix}-select-help-text` }
27
+ : {}), children: helpText }))] })] }));
28
+ }
29
+
30
+ export { SelectFieldWrapper };
31
+ //# sourceMappingURL=SelectFieldWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectFieldWrapper.js","sources":["../../src/components/SelectFieldWrapper.tsx"],"sourcesContent":["import type React from \"react\";\n\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\n\ninterface SelectFieldWrapperProps {\n id: string;\n label: string;\n error: string;\n helpText: React.ReactNode;\n errorId: string;\n helpTextId: string;\n isDisabled: boolean;\n required: boolean;\n testIdPrefix?: string;\n labelProps?: Omit<\n React.ComponentProps<typeof FieldLabel>,\n \"htmlFor\" | \"children\"\n >;\n className?: string;\n children: React.ReactNode;\n}\n\nexport function SelectFieldWrapper({\n id,\n label,\n error,\n helpText,\n errorId,\n helpTextId,\n isDisabled,\n required,\n testIdPrefix,\n labelProps,\n className,\n children,\n}: SelectFieldWrapperProps) {\n const hasField = !!(label || error || helpText);\n\n if (!hasField) {\n return (\n <div\n className={className}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-container-wrapper` }\n : {})}\n >\n {children}\n </div>\n );\n }\n\n return (\n <Field\n data-disabled={isDisabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-container-wrapper` }\n : {})}\n >\n {label && (\n <FieldLabel\n htmlFor={id}\n {...labelProps}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-input-label` }\n : {})}\n >\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n <FieldContent>\n {children}\n {!!error && (\n <FieldError\n id={errorId}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-error` }\n : {})}\n >\n {error}\n </FieldError>\n )}\n {helpText && (\n <FieldDescription\n id={helpTextId}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-help-text` }\n : {})}\n >\n {helpText}\n </FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;AA4BM,SAAU,kBAAkB,CAAC,EACjC,EAAE,EACF,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,GACgB,EAAA;IACxB,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC;IAE/C,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,SAAS,EAAA,IACf;AACH,kBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,2BAA2B;AAC7D,kBAAE,EAAE,CAAC,YAEN,QAAQ,EAAA,CACL;IAEV;AAEA,IAAA,QACEC,IAAA,CAAC,KAAK,qBACW,UAAU,IAAI,SAAS,EAAA,cAAA,EACxB,CAAC,CAAC,KAAK,IAAI,SAAS,EAClC,SAAS,EAAE,SAAS,EAAA,IACf;AACH,cAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,2BAA2B;AAC7D,cAAE,EAAE,CAAC,EAAA,QAAA,EAAA,CAEN,KAAK,KACJA,IAAA,CAAC,UAAU,EAAA,EACT,OAAO,EAAE,EAAE,KACP,UAAU,EAAA,IACT;AACH,sBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,cAAc;AAChD,sBAAE,EAAE,CAAC,EAAA,QAAA,EAAA,CAEN,KAAK,EACL,QAAQ,KACPD,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAC,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,GAAA,EAAA,CAE9C,CACR,CAAA,EAAA,CACU,CACd,EACDC,IAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACV,QAAQ,EACR,CAAC,CAAC,KAAK,KACND,GAAA,CAAC,UAAU,EAAA,EACT,EAAE,EAAE,OAAO,EAAA,IACN;AACH,8BAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,eAAe;AACjD,8BAAE,EAAE,CAAC,YAEN,KAAK,EAAA,CACK,CACd,EACA,QAAQ,KACPA,GAAA,CAAC,gBAAgB,EAAA,EACf,EAAE,EAAE,UAAU,EAAA,IACT;AACH,8BAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,mBAAmB;8BACnD,EAAE,CAAC,EAAA,QAAA,EAEN,QAAQ,GACQ,CACpB,CAAA,EAAA,CACY,CAAA,EAAA,CACT;AAEZ;;;;"}
@@ -0,0 +1,2 @@
1
+ import type { SelectOption } from "./Select.types";
2
+ export declare function renderOptions(options: SelectOption[], testId?: string): import("react/jsx-runtime").JSX.Element[];
@@ -0,0 +1,41 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { SelectGroup, SelectLabel, SelectItem } from '../primitives/Select.js';
3
+ import { isOptionGroup } from './shared.js';
4
+ import '../utils-DdHUxIdC.js';
5
+ import '../chevron-down-BNi0ntys.js';
6
+ import '../createLucideIcon-C8ycilSN.js';
7
+ import 'react';
8
+ import '../chevron-up-Bf2G3AAU.js';
9
+ import '../check-Cpkv29p1.js';
10
+ import 'react-dom';
11
+ import '../index-BfAAoDv6.js';
12
+ import '../index-DNzunGHb.js';
13
+ import '../index-Dd1i1d2M.js';
14
+ import '../index-CiyxEyB0.js';
15
+ import '../index-BtkPdosV.js';
16
+ import '../index-BA158WEj.js';
17
+ import '../index-BNPynZWM.js';
18
+ import '../index-DhnfW8wQ.js';
19
+ import '../index-CSUSJzOJ.js';
20
+ import '../index-B4_fVWDx.js';
21
+ import '../index-zW4GjM5L.js';
22
+ import '../index-DOzu5J1s.js';
23
+ import '../index-ByEpUy7w.js';
24
+ import '../floating-ui.react-dom-CcGbtPEK.js';
25
+ import '../index-BYZaLNq1.js';
26
+ import '../index-fV_U4ZJM.js';
27
+ import '../index-Cor698lu.js';
28
+ import '../index-30QpKM0j.js';
29
+ import '../index-CSggBaQF.js';
30
+
31
+ function renderOptions(options, testId) {
32
+ return options.map(opt => {
33
+ if (isOptionGroup(opt)) {
34
+ return (jsxs(SelectGroup, { children: [jsx(SelectLabel, { children: opt.label }), opt.options.map(item => (jsx(SelectItem, { value: item.value, disabled: item.disabled, ...(testId ? { "data-testid": `${testId}-select-option` } : {}), children: item.label }, item.value)))] }, opt.label));
35
+ }
36
+ return (jsx(SelectItem, { value: opt.value, disabled: opt.disabled, ...(testId ? { "data-testid": `${testId}-select-option` } : {}), children: opt.label }, opt.value));
37
+ });
38
+ }
39
+
40
+ export { renderOptions };
41
+ //# sourceMappingURL=SelectOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectOptions.js","sources":["../../src/components/SelectOptions.tsx"],"sourcesContent":["import { SelectGroup, SelectItem, SelectLabel } from \"src/primitives/Select\";\nimport { isOptionGroup } from \"./shared.types\";\nimport type { SelectOption } from \"./Select.types\";\n\nexport function renderOptions(options: SelectOption[], testId?: string) {\n return options.map(opt => {\n if (isOptionGroup(opt)) {\n return (\n <SelectGroup key={opt.label}>\n <SelectLabel>{opt.label}</SelectLabel>\n {opt.options.map(item => (\n <SelectItem\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n {...(testId ? { \"data-testid\": `${testId}-select-option` } : {})}\n >\n {item.label}\n </SelectItem>\n ))}\n </SelectGroup>\n );\n }\n\n return (\n <SelectItem\n key={opt.value}\n value={opt.value}\n disabled={opt.disabled}\n {...(testId ? { \"data-testid\": `${testId}-select-option` } : {})}\n >\n {opt.label}\n </SelectItem>\n );\n });\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIM,SAAU,aAAa,CAAC,OAAuB,EAAE,MAAe,EAAA;AACpE,IAAA,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAG;AACvB,QAAA,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE;AACtB,YAAA,QACEA,IAAA,CAAC,WAAW,EAAA,EAAA,QAAA,EAAA,CACVC,IAAC,WAAW,EAAA,EAAA,QAAA,EAAE,GAAG,CAAC,KAAK,EAAA,CAAe,EACrC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KACnBA,IAAC,UAAU,EAAA,EAET,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,IAClB,MAAM,GAAG,EAAE,aAAa,EAAE,CAAA,EAAG,MAAM,CAAA,cAAA,CAAgB,EAAE,GAAG,EAAE,CAAC,EAAA,QAAA,EAE/D,IAAI,CAAC,KAAK,EAAA,EALN,IAAI,CAAC,KAAK,CAMJ,CACd,CAAC,KAXc,GAAG,CAAC,KAAK,CAYb;QAElB;AAEA,QAAA,QACEA,GAAA,CAAC,UAAU,IAET,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,MACjB,MAAM,GAAG,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA,cAAA,CAAgB,EAAE,GAAG,EAAE,CAAC,YAE/D,GAAG,CAAC,KAAK,EAAA,EALL,GAAG,CAAC,KAAK,CAMH;AAEjB,IAAA,CAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ interface SelectTriggerContentProps {
3
+ id: string;
4
+ sizeConfig: {
5
+ trigger: string;
6
+ size: "sm" | "default";
7
+ clearBtn: string;
8
+ };
9
+ error: string;
10
+ ariaDescribedBy?: string;
11
+ triggerClassName?: string;
12
+ testIdPrefix?: string;
13
+ placeholder: string;
14
+ showClearButton: boolean;
15
+ handleClear: (e: React.MouseEvent) => void;
16
+ }
17
+ export declare const SelectTriggerContent: React.ForwardRefExoticComponent<SelectTriggerContentProps & React.RefAttributes<HTMLButtonElement>>;
18
+ export {};
@@ -0,0 +1,45 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { c as cn } from '../utils-DdHUxIdC.js';
5
+ import { SelectTrigger, SelectValue } from '../primitives/Select.js';
6
+ import { X } from '../x-_o2T3n6D.js';
7
+ import '../chevron-down-BNi0ntys.js';
8
+ import '../createLucideIcon-C8ycilSN.js';
9
+ import '../chevron-up-Bf2G3AAU.js';
10
+ import '../check-Cpkv29p1.js';
11
+ import 'react-dom';
12
+ import '../index-BfAAoDv6.js';
13
+ import '../index-DNzunGHb.js';
14
+ import '../index-Dd1i1d2M.js';
15
+ import '../index-CiyxEyB0.js';
16
+ import '../index-BtkPdosV.js';
17
+ import '../index-BA158WEj.js';
18
+ import '../index-BNPynZWM.js';
19
+ import '../index-DhnfW8wQ.js';
20
+ import '../index-CSUSJzOJ.js';
21
+ import '../index-B4_fVWDx.js';
22
+ import '../index-zW4GjM5L.js';
23
+ import '../index-DOzu5J1s.js';
24
+ import '../index-ByEpUy7w.js';
25
+ import '../floating-ui.react-dom-CcGbtPEK.js';
26
+ import '../index-BYZaLNq1.js';
27
+ import '../index-fV_U4ZJM.js';
28
+ import '../index-Cor698lu.js';
29
+ import '../index-30QpKM0j.js';
30
+ import '../index-CSggBaQF.js';
31
+
32
+ const SelectTriggerContent = forwardRef(({ id, sizeConfig, error, ariaDescribedBy, triggerClassName, testIdPrefix, placeholder, showClearButton, handleClear, }, ref) => {
33
+ const { t } = useTranslation();
34
+ return (jsxs(SelectTrigger, { ref: ref, id: id, size: sizeConfig.size, "aria-invalid": !!error || undefined, "aria-describedby": ariaDescribedBy, className: cn("w-full", sizeConfig.trigger, triggerClassName), ...(testIdPrefix
35
+ ? { "data-testid": `${testIdPrefix}-select-container` }
36
+ : {}), children: [jsx(SelectValue, { placeholder: placeholder, ...(testIdPrefix
37
+ ? { "data-testid": `${testIdPrefix}-select-value` }
38
+ : {}) }), showClearButton && (jsx("button", { type: "button", "aria-label": t("neetoatoms.select.clearSelection", "Clear selection"), tabIndex: -1, className: cn("ms-auto shrink-0 rounded-sm opacity-50", "hover:opacity-100 focus-visible:outline-none"), onClick: handleClear, onPointerDown: e => e.preventDefault(), ...(testIdPrefix
39
+ ? { "data-testid": `${testIdPrefix}-clear-indicator` }
40
+ : {}), children: jsx(X, { "aria-hidden": "true", className: sizeConfig.clearBtn }) }))] }));
41
+ });
42
+ SelectTriggerContent.displayName = "SelectTriggerContent";
43
+
44
+ export { SelectTriggerContent };
45
+ //# sourceMappingURL=SelectTriggerContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTriggerContent.js","sources":["../../src/components/SelectTriggerContent.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { X } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { SelectTrigger, SelectValue } from \"src/primitives/Select\";\n\ninterface SelectTriggerContentProps {\n id: string;\n sizeConfig: { trigger: string; size: \"sm\" | \"default\"; clearBtn: string };\n error: string;\n ariaDescribedBy?: string;\n triggerClassName?: string;\n testIdPrefix?: string;\n placeholder: string;\n showClearButton: boolean;\n handleClear: (e: React.MouseEvent) => void;\n}\n\nexport const SelectTriggerContent = forwardRef<\n HTMLButtonElement,\n SelectTriggerContentProps\n>(\n (\n {\n id,\n sizeConfig,\n error,\n ariaDescribedBy,\n triggerClassName,\n testIdPrefix,\n placeholder,\n showClearButton,\n handleClear,\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n return (\n <SelectTrigger\n ref={ref}\n id={id}\n size={sizeConfig.size}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n className={cn(\"w-full\", sizeConfig.trigger, triggerClassName)}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-container` }\n : {})}\n >\n <SelectValue\n placeholder={placeholder}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-select-value` }\n : {})}\n />\n {showClearButton && (\n <button\n type=\"button\"\n aria-label={t(\n \"neetoatoms.select.clearSelection\",\n \"Clear selection\"\n )}\n tabIndex={-1}\n className={cn(\n \"ms-auto shrink-0 rounded-sm opacity-50\",\n \"hover:opacity-100 focus-visible:outline-none\"\n )}\n onClick={handleClear}\n onPointerDown={e => e.preventDefault()}\n {...(testIdPrefix\n ? { \"data-testid\": `${testIdPrefix}-clear-indicator` }\n : {})}\n >\n <X aria-hidden=\"true\" className={sizeConfig.clearBtn} />\n </button>\n )}\n </SelectTrigger>\n );\n }\n);\n\nSelectTriggerContent.displayName = \"SelectTriggerContent\";\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBO,MAAM,oBAAoB,GAAG,UAAU,CAI5C,CACE,EACE,EAAE,EACF,UAAU,EACV,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,GACZ,EACD,GAAG,KACD;AACF,IAAA,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE;AAE9B,IAAA,QACEA,IAAA,CAAC,aAAa,IACZ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,UAAU,CAAC,IAAI,kBACP,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,kBAAA,EAChB,eAAe,EACjC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAA,IACxD;AACH,cAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,mBAAmB;AACrD,cAAE,EAAE,CAAC,EAAA,QAAA,EAAA,CAEPC,GAAA,CAAC,WAAW,EAAA,EACV,WAAW,EAAE,WAAW,EAAA,IACnB;AACH,sBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,eAAe;sBAC/C,EAAE,CAAC,EAAA,CACP,EACD,eAAe,KACdA,GAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EAAA,YAAA,EACD,CAAC,CACX,kCAAkC,EAClC,iBAAiB,CAClB,EACD,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,8CAA8C,CAC/C,EACD,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAA,IACjC;AACH,sBAAE,EAAE,aAAa,EAAE,CAAA,EAAG,YAAY,kBAAkB;AACpD,sBAAE,EAAE,CAAC,YAEPA,GAAA,CAAC,CAAC,mBAAa,MAAM,EAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAA,CAAI,GACjD,CACV,CAAA,EAAA,CACa;AAEpB,CAAC;AAGH,oBAAoB,CAAC,WAAW,GAAG,sBAAsB;;;;"}
@@ -0,0 +1,54 @@
1
+ import React, { type ReactNode, type RefObject } from "react";
2
+ import { SheetContent as PrimitiveSheetContent } from "src/primitives/Sheet";
3
+ type SheetSize = "small" | "large" | "extraLarge";
4
+ /** Radix Sheet.Content props we forward via ...otherProps. */
5
+ type SheetContentProps = React.ComponentProps<typeof PrimitiveSheetContent>;
6
+ export interface SheetProps extends Omit<SheetContentProps, "children" | "className" | "side" | "showCloseButton" | "onEscapeKeyDown" | "onInteractOutside"> {
7
+ /** Size of the sheet. */
8
+ size?: SheetSize;
9
+ /** Whether the sheet is open. */
10
+ isOpen?: boolean;
11
+ /** Callback invoked when the sheet is closed. */
12
+ onClose?: () => void;
13
+ /** Content rendered inside the sheet. */
14
+ children?: ReactNode;
15
+ /** Additional CSS class names applied to the sheet content. */
16
+ className?: string;
17
+ /** Close on pressing the Esc key. */
18
+ closeOnEsc?: boolean;
19
+ /** Show the close button. */
20
+ closeButton?: boolean;
21
+ /** Additional CSS class names applied to the backdrop/overlay. */
22
+ backdropClassName?: string;
23
+ /** Close on clicking outside the sheet. */
24
+ closeOnOutsideClick?: boolean;
25
+ /** Ref of the element to receive focus when the sheet opens. */
26
+ initialFocusRef?: RefObject<HTMLElement | null>;
27
+ /** Ref of the element to receive focus when the sheet closes. */
28
+ finalFocusRef?: RefObject<HTMLElement | null>;
29
+ /** Which side the sheet slides in from. */
30
+ side?: "top" | "right" | "bottom" | "left";
31
+ /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */
32
+ modal?: boolean;
33
+ /** Radix Dialog `defaultOpen` prop. */
34
+ defaultOpen?: boolean;
35
+ }
36
+ interface SheetSubcomponentProps extends React.ComponentProps<"div"> {
37
+ children?: ReactNode;
38
+ className?: string;
39
+ }
40
+ declare const SheetHeader: React.ForwardRefExoticComponent<Omit<SheetSubcomponentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
41
+ declare const SheetBody: React.ForwardRefExoticComponent<Omit<SheetSubcomponentProps & {
42
+ hasFooter?: boolean;
43
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
44
+ declare const SheetFooter: React.ForwardRefExoticComponent<Omit<SheetSubcomponentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
+ declare const SheetTitle: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-dialog").DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
46
+ declare const SheetDescription: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-dialog").DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
47
+ declare const Sheet: React.ForwardRefExoticComponent<SheetProps & React.RefAttributes<HTMLDivElement>> & {
48
+ Header: typeof SheetHeader;
49
+ Body: typeof SheetBody;
50
+ Footer: typeof SheetFooter;
51
+ Title: typeof SheetTitle;
52
+ Description: typeof SheetDescription;
53
+ };
54
+ export { Sheet };
@@ -0,0 +1,89 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { c as cn } from '../utils-DdHUxIdC.js';
4
+ import { SheetHeader as SheetHeader$1, SheetFooter as SheetFooter$1, SheetTitle as SheetTitle$1, SheetDescription as SheetDescription$1, Sheet as Sheet$1, SheetContent } from '../primitives/Sheet.js';
5
+ import '../button-COIbN8dg.js';
6
+ import '../index-D7Zy7P05.js';
7
+ import '../index-CfriMyrd.js';
8
+ import '../index-BtkPdosV.js';
9
+ import '../sheet-C763FqIh.js';
10
+ import 'react-i18next';
11
+ import '../x-_o2T3n6D.js';
12
+ import '../createLucideIcon-C8ycilSN.js';
13
+ import '../index-9HvIbmnI.js';
14
+ import '../index-DNzunGHb.js';
15
+ import '../index-CiyxEyB0.js';
16
+ import '../index-zW4GjM5L.js';
17
+ import '../index-DOzu5J1s.js';
18
+ import '../index-Cor698lu.js';
19
+ import '../index-BNPynZWM.js';
20
+ import '../index-DhnfW8wQ.js';
21
+ import 'react-dom';
22
+ import '../index-CSUSJzOJ.js';
23
+ import '../index-B4_fVWDx.js';
24
+ import '../index-fV_U4ZJM.js';
25
+ import '../index-yFgkK_AM.js';
26
+
27
+ // ---------------------------------------------------------------------------
28
+ // Size mapping
29
+ // ---------------------------------------------------------------------------
30
+ // Uses data-[side] selector to match primitive specificity so tailwind-merge
31
+ // can override the default sm:max-w-sm from the primitive.
32
+ const SIZE_CLASS_MAP = {
33
+ small: "data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
34
+ large: "data-[side=left]:sm:max-w-lg data-[side=right]:sm:max-w-lg",
35
+ extraLarge: "data-[side=left]:sm:max-w-2xl data-[side=right]:sm:max-w-2xl",
36
+ };
37
+ const SheetHeader = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetHeader$1, { ref: ref, className: cn(className), "data-testid": "sheet-header", ...otherProps, children: children })));
38
+ SheetHeader.displayName = "Sheet.Header";
39
+ const SheetBody = forwardRef(({ children, className, hasFooter = true, ...otherProps }, ref) => (jsx("div", { ref: ref, "data-slot": "sheet-body", "data-testid": "sheet-body", className: cn("flex flex-1 flex-col items-start justify-start overflow-y-auto px-4", hasFooter && "pb-0", className), ...otherProps, children: children })));
40
+ SheetBody.displayName = "Sheet.Body";
41
+ const SheetFooter = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetFooter$1, { ref: ref, className: cn("flex flex-row items-center justify-start gap-2 border-t", className), "data-testid": "sheet-footer", ...otherProps, children: children })));
42
+ SheetFooter.displayName = "Sheet.Footer";
43
+ const SheetTitle = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetTitle$1, { ref: ref, className: cn("text-2xl font-semibold", className), ...otherProps, children: children })));
44
+ SheetTitle.displayName = "Sheet.Title";
45
+ const SheetDescription = forwardRef(({ children, className, ...otherProps }, ref) => (jsx(SheetDescription$1, { ref: ref, className: cn(className), ...otherProps, children: children })));
46
+ SheetDescription.displayName = "Sheet.Description";
47
+ // ---------------------------------------------------------------------------
48
+ // Component
49
+ // ---------------------------------------------------------------------------
50
+ const Sheet = forwardRef(({ size = "small", isOpen = false, onClose = () => { }, children, className, closeOnEsc = true, closeButton = true, backdropClassName, closeOnOutsideClick = true, initialFocusRef, finalFocusRef, side = "right", modal, defaultOpen,
51
+ // Radix content handlers — intercept and merge
52
+ onOpenAutoFocus: onOpenAutoFocusProp, onCloseAutoFocus: onCloseAutoFocusProp, ...otherProps }, ref) => {
53
+ const handleOpenChange = (open) => {
54
+ if (!open)
55
+ onClose();
56
+ };
57
+ const handleInteractOutside = (e) => {
58
+ if (!closeOnOutsideClick)
59
+ e.preventDefault();
60
+ };
61
+ const handleEscapeKeyDown = (e) => {
62
+ if (!closeOnEsc)
63
+ e.preventDefault();
64
+ };
65
+ const handleOpenAutoFocus = (e) => {
66
+ if (initialFocusRef?.current) {
67
+ e.preventDefault();
68
+ initialFocusRef.current.focus();
69
+ }
70
+ onOpenAutoFocusProp?.(e);
71
+ };
72
+ const handleCloseAutoFocus = (e) => {
73
+ if (finalFocusRef?.current) {
74
+ e.preventDefault();
75
+ finalFocusRef.current.focus();
76
+ }
77
+ onCloseAutoFocusProp?.(e);
78
+ };
79
+ return (jsx(Sheet$1, { open: isOpen, onOpenChange: handleOpenChange, modal: modal, defaultOpen: defaultOpen, children: jsx(SheetContent, { ref: ref, side: side, showCloseButton: closeButton, overlayClassName: backdropClassName, onInteractOutside: handleInteractOutside, onEscapeKeyDown: handleEscapeKeyDown, onOpenAutoFocus: handleOpenAutoFocus, onCloseAutoFocus: handleCloseAutoFocus, className: cn(SIZE_CLASS_MAP[size], className), "data-testid": "sheet-wrapper", ...otherProps, children: children }) }));
80
+ });
81
+ Sheet.displayName = "Sheet";
82
+ Sheet.Header = SheetHeader;
83
+ Sheet.Body = SheetBody;
84
+ Sheet.Footer = SheetFooter;
85
+ Sheet.Title = SheetTitle;
86
+ Sheet.Description = SheetDescription;
87
+
88
+ export { Sheet };
89
+ //# sourceMappingURL=Sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sheet.js","sources":["../../src/components/Sheet.tsx"],"sourcesContent":["import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Sheet as PrimitiveSheet,\n SheetContent as PrimitiveSheetContent,\n SheetDescription as PrimitiveSheetDescription,\n SheetFooter as PrimitiveSheetFooter,\n SheetHeader as PrimitiveSheetHeader,\n SheetTitle as PrimitiveSheetTitle,\n} from \"src/primitives/Sheet\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype SheetSize = \"small\" | \"large\" | \"extraLarge\";\n\n/** Radix Sheet.Content props we forward via ...otherProps. */\ntype SheetContentProps = React.ComponentProps<typeof PrimitiveSheetContent>;\n\nexport interface SheetProps extends Omit<\n SheetContentProps,\n | \"children\"\n | \"className\"\n | \"side\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the sheet. */\n size?: SheetSize;\n /** Whether the sheet is open. */\n isOpen?: boolean;\n /** Callback invoked when the sheet is closed. */\n onClose?: () => void;\n /** Content rendered inside the sheet. */\n children?: ReactNode;\n /** Additional CSS class names applied to the sheet content. */\n className?: string;\n /** Close on pressing the Esc key. */\n closeOnEsc?: boolean;\n /** Show the close button. */\n closeButton?: boolean;\n /** Additional CSS class names applied to the backdrop/overlay. */\n backdropClassName?: string;\n /** Close on clicking outside the sheet. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the sheet opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the sheet closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Which side the sheet slides in from. */\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Size mapping\n// ---------------------------------------------------------------------------\n\n// Uses data-[side] selector to match primitive specificity so tailwind-merge\n// can override the default sm:max-w-sm from the primitive.\nconst SIZE_CLASS_MAP: Record<SheetSize, string> = {\n small: \"data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm\",\n large: \"data-[side=left]:sm:max-w-lg data-[side=right]:sm:max-w-lg\",\n extraLarge: \"data-[side=left]:sm:max-w-2xl data-[side=right]:sm:max-w-2xl\",\n};\n\n// ---------------------------------------------------------------------------\n// Subcomponents\n// ---------------------------------------------------------------------------\n\ninterface SheetSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n}\n\nconst SheetHeader = forwardRef<HTMLDivElement, SheetSubcomponentProps>(\n ({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetHeader\n ref={ref}\n className={cn(className)}\n data-testid=\"sheet-header\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetHeader>\n )\n);\nSheetHeader.displayName = \"Sheet.Header\";\n\nconst SheetBody = forwardRef<\n HTMLDivElement,\n SheetSubcomponentProps & { hasFooter?: boolean }\n>(({ children, className, hasFooter = true, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-body\"\n data-testid=\"sheet-body\"\n className={cn(\n \"flex flex-1 flex-col items-start justify-start overflow-y-auto px-4\",\n hasFooter && \"pb-0\",\n className\n )}\n {...otherProps}\n >\n {children}\n </div>\n));\nSheetBody.displayName = \"Sheet.Body\";\n\nconst SheetFooter = forwardRef<HTMLDivElement, SheetSubcomponentProps>(\n ({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetFooter\n ref={ref}\n className={cn(\n \"flex flex-row items-center justify-start gap-2 border-t\",\n className\n )}\n data-testid=\"sheet-footer\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetFooter>\n )\n);\nSheetFooter.displayName = \"Sheet.Footer\";\n\nconst SheetTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveSheetTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetTitle\n ref={ref}\n className={cn(\"text-2xl font-semibold\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveSheetTitle>\n));\nSheetTitle.displayName = \"Sheet.Title\";\n\nconst SheetDescription = forwardRef<\n HTMLParagraphElement,\n React.ComponentProps<typeof PrimitiveSheetDescription>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveSheetDescription\n ref={ref}\n className={cn(className)}\n {...otherProps}\n >\n {children}\n </PrimitiveSheetDescription>\n));\nSheetDescription.displayName = \"Sheet.Description\";\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Sheet = forwardRef<HTMLDivElement, SheetProps>(\n (\n {\n size = \"small\",\n isOpen = false,\n onClose = () => {},\n children,\n className,\n closeOnEsc = true,\n closeButton = true,\n backdropClassName,\n closeOnOutsideClick = true,\n initialFocusRef,\n finalFocusRef,\n side = \"right\",\n modal,\n defaultOpen,\n // Radix content handlers — intercept and merge\n onOpenAutoFocus: onOpenAutoFocusProp,\n onCloseAutoFocus: onCloseAutoFocusProp,\n ...otherProps\n },\n ref\n ) => {\n const handleOpenChange = (open: boolean) => {\n if (!open) onClose();\n };\n\n const handleInteractOutside = (e: Event) => {\n if (!closeOnOutsideClick) e.preventDefault();\n };\n\n const handleEscapeKeyDown = (e: KeyboardEvent) => {\n if (!closeOnEsc) e.preventDefault();\n };\n\n const handleOpenAutoFocus = (e: Event) => {\n if (initialFocusRef?.current) {\n e.preventDefault();\n initialFocusRef.current.focus();\n }\n onOpenAutoFocusProp?.(e);\n };\n\n const handleCloseAutoFocus = (e: Event) => {\n if (finalFocusRef?.current) {\n e.preventDefault();\n finalFocusRef.current.focus();\n }\n onCloseAutoFocusProp?.(e);\n };\n\n return (\n <PrimitiveSheet\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={modal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveSheetContent\n ref={ref}\n side={side}\n showCloseButton={closeButton}\n overlayClassName={backdropClassName}\n onInteractOutside={handleInteractOutside}\n onEscapeKeyDown={handleEscapeKeyDown}\n onOpenAutoFocus={handleOpenAutoFocus}\n onCloseAutoFocus={handleCloseAutoFocus}\n className={cn(SIZE_CLASS_MAP[size], className)}\n data-testid=\"sheet-wrapper\"\n {...otherProps}\n >\n {children}\n </PrimitiveSheetContent>\n </PrimitiveSheet>\n );\n }\n) as React.ForwardRefExoticComponent<\n SheetProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof SheetHeader;\n Body: typeof SheetBody;\n Footer: typeof SheetFooter;\n Title: typeof SheetTitle;\n Description: typeof SheetDescription;\n};\n\nSheet.displayName = \"Sheet\";\nSheet.Header = SheetHeader;\nSheet.Body = SheetBody;\nSheet.Footer = SheetFooter;\nSheet.Title = SheetTitle;\nSheet.Description = SheetDescription;\n\nexport { Sheet };\n"],"names":["_jsx","PrimitiveSheetHeader","PrimitiveSheetFooter","PrimitiveSheetTitle","PrimitiveSheetDescription","PrimitiveSheet","PrimitiveSheetContent"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import { Slider as PrimitiveSlider } from "src/primitives/Slider";
3
+ import { FieldLabel } from "src/primitives/Field";
4
+ export interface SliderProps extends React.ComponentProps<typeof PrimitiveSlider> {
5
+ /** Label displayed above the slider. */
6
+ label?: string;
7
+ /** Error message displayed below the slider. */
8
+ error?: string;
9
+ /** Help text displayed below the slider. Accepts string or ReactNode. */
10
+ helpText?: React.ReactNode;
11
+ /** Shows a required indicator next to the label. */
12
+ required?: boolean;
13
+ /** Additional class name for the outermost wrapper. */
14
+ className?: string;
15
+ /** Props forwarded to the FieldLabel element. */
16
+ labelProps?: React.ComponentProps<typeof FieldLabel>;
17
+ }
18
+ declare const Slider: React.ForwardRefExoticComponent<Omit<SliderProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
19
+ export { Slider };
@@ -0,0 +1,43 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { forwardRef, useId } from 'react';
3
+ import { Slider as Slider$1 } from '../primitives/Slider.js';
4
+ import { c as cn } from '../utils-DdHUxIdC.js';
5
+ import { Field, FieldLabel, FieldContent, FieldError, FieldDescription } from '../primitives/Field.js';
6
+ import '../index-BfAAoDv6.js';
7
+ import '../index-DNzunGHb.js';
8
+ import '../index-BtkPdosV.js';
9
+ import '../index-CiyxEyB0.js';
10
+ import '../index-Cor698lu.js';
11
+ import '../index-DOzu5J1s.js';
12
+ import '../index-BA158WEj.js';
13
+ import '../index-30QpKM0j.js';
14
+ import '../index-BYZaLNq1.js';
15
+ import '../index-DhnfW8wQ.js';
16
+ import 'react-dom';
17
+ import '../index-Dd1i1d2M.js';
18
+ import '../index-D7Zy7P05.js';
19
+ import '../label-B4qDF3W1.js';
20
+ import '../separator-BbhgePmX.js';
21
+
22
+ // ---------------------------------------------------------------------------
23
+ // Component
24
+ // ---------------------------------------------------------------------------
25
+ const Slider = forwardRef(({ label, error, helpText, required = false, className, labelProps, disabled, id: idProp, ...otherProps }, ref) => {
26
+ const generatedId = useId();
27
+ const id = idProp ?? generatedId;
28
+ const errorId = `error_${id}`;
29
+ const helpTextId = `helpText_${id}`;
30
+ const ariaDescribedBy = [error ? errorId : null, helpText ? helpTextId : null]
31
+ .filter(Boolean)
32
+ .join(" ") || undefined;
33
+ const hasField = !!(label || error || helpText);
34
+ const slider = (jsx(Slider$1, { ref: ref, id: id, disabled: disabled, "aria-invalid": !!error || undefined, "aria-describedby": ariaDescribedBy, "aria-label": !label ? undefined : label, className: cn(!hasField && className), ...otherProps }));
35
+ if (!hasField) {
36
+ return slider;
37
+ }
38
+ return (jsxs(Field, { "data-disabled": disabled || undefined, "data-invalid": !!error || undefined, className: className, children: [label && (jsxs(FieldLabel, { htmlFor: id, ...labelProps, children: [label, required && (jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" }))] })), jsxs(FieldContent, { children: [slider, !!error && jsx(FieldError, { id: errorId, children: error }), helpText && (jsx(FieldDescription, { id: helpTextId, children: helpText }))] })] }));
39
+ });
40
+ Slider.displayName = "Slider";
41
+
42
+ export { Slider };
43
+ //# sourceMappingURL=Slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slider.js","sources":["../../src/components/Slider.tsx"],"sourcesContent":["import React, { forwardRef, useId } from \"react\";\n\nimport { Slider as PrimitiveSlider } from \"src/primitives/Slider\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Field,\n FieldLabel,\n FieldContent,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface SliderProps extends React.ComponentProps<\n typeof PrimitiveSlider\n> {\n /** Label displayed above the slider. */\n label?: string;\n /** Error message displayed below the slider. */\n error?: string;\n /** Help text displayed below the slider. Accepts string or ReactNode. */\n helpText?: React.ReactNode;\n /** Shows a required indicator next to the label. */\n required?: boolean;\n /** Additional class name for the outermost wrapper. */\n className?: string;\n /** Props forwarded to the FieldLabel element. */\n labelProps?: React.ComponentProps<typeof FieldLabel>;\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Slider = forwardRef<\n React.ComponentRef<typeof PrimitiveSlider>,\n SliderProps\n>(\n (\n {\n label,\n error,\n helpText,\n required = false,\n className,\n labelProps,\n disabled,\n id: idProp,\n ...otherProps\n },\n ref\n ) => {\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n const ariaDescribedBy =\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined;\n\n const hasField = !!(label || error || helpText);\n\n const slider = (\n <PrimitiveSlider\n ref={ref}\n id={id}\n disabled={disabled}\n aria-invalid={!!error || undefined}\n aria-describedby={ariaDescribedBy}\n aria-label={!label ? undefined : label}\n className={cn(!hasField && className)}\n {...otherProps}\n />\n );\n\n if (!hasField) {\n return slider;\n }\n\n return (\n <Field\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n className={className}\n >\n {label && (\n <FieldLabel htmlFor={id} {...labelProps}>\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n <FieldContent>\n {slider}\n {!!error && <FieldError id={errorId}>{error}</FieldError>}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n );\n }\n);\n\nSlider.displayName = \"Slider\";\n\nexport { Slider };\n"],"names":["_jsx","PrimitiveSlider","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiCA;AACA;AACA;AAEA,MAAM,MAAM,GAAG,UAAU,CAIvB,CACE,EACE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,UAAU,EACV,QAAQ,EACR,EAAE,EAAE,MAAM,EACV,GAAG,UAAU,EACd,EACD,GAAG,KACD;AACF,IAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAA,MAAM,EAAE,GAAG,MAAM,IAAI,WAAW;AAChC,IAAA,MAAM,OAAO,GAAG,CAAA,MAAA,EAAS,EAAE,EAAE;AAC7B,IAAA,MAAM,UAAU,GAAG,CAAA,SAAA,EAAY,EAAE,EAAE;IAEnC,MAAM,eAAe,GACnB,CAAC,KAAK,GAAG,OAAO,GAAG,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;SAClD,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS;IAE3B,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC;IAE/C,MAAM,MAAM,IACVA,GAAA,CAACC,QAAe,EAAA,EACd,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAAA,cAAA,EACJ,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,kBAAA,EAChB,eAAe,gBACrB,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,EACtC,SAAS,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,EAAA,GACjC,UAAU,EAAA,CACd,CACH;IAED,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,QACEC,IAAA,CAAC,KAAK,EAAA,EAAA,eAAA,EACW,QAAQ,IAAI,SAAS,EAAA,cAAA,EACtB,CAAC,CAAC,KAAK,IAAI,SAAS,EAClC,SAAS,EAAE,SAAS,EAAA,QAAA,EAAA,CAEnB,KAAK,KACJA,KAAC,UAAU,EAAA,EAAC,OAAO,EAAE,EAAE,EAAA,GAAM,UAAU,EAAA,QAAA,EAAA,CACpC,KAAK,EACL,QAAQ,KACPF,GAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAC,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,GAAA,EAAA,CAE9C,CACR,CAAA,EAAA,CACU,CACd,EACDE,IAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACV,MAAM,EACN,CAAC,CAAC,KAAK,IAAIF,IAAC,UAAU,EAAA,EAAC,EAAE,EAAE,OAAO,EAAA,QAAA,EAAG,KAAK,GAAc,EACxD,QAAQ,KACPA,GAAA,CAAC,gBAAgB,EAAA,EAAC,EAAE,EAAE,UAAU,YAAG,QAAQ,EAAA,CAAoB,CAChE,CAAA,EAAA,CACY,CAAA,EAAA,CACT;AAEZ,CAAC;AAGH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Spinner as PrimitiveSpinner } from "src/primitives/Spinner";
3
+ export interface SpinnerProps extends React.ComponentProps<typeof PrimitiveSpinner> {
4
+ /** Size variant of the spinner. */
5
+ size?: "sm" | "default" | "lg" | "xl";
6
+ /** Additional CSS class names. */
7
+ className?: string;
8
+ }
9
+ declare const Spinner: React.ForwardRefExoticComponent<Omit<SpinnerProps, "ref"> & React.RefAttributes<SVGSVGElement>>;
10
+ export { Spinner };
@@ -0,0 +1,25 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { c as cn } from '../utils-DdHUxIdC.js';
4
+ import { Spinner as Spinner$1 } from '../primitives/Spinner.js';
5
+ import 'react-i18next';
6
+ import '../loader-circle-DycHUAWN.js';
7
+ import '../createLucideIcon-C8ycilSN.js';
8
+
9
+ // ---------------------------------------------------------------------------
10
+ // Size config
11
+ // ---------------------------------------------------------------------------
12
+ const SIZE_CONFIG = {
13
+ sm: "size-3",
14
+ default: "size-4",
15
+ lg: "size-6",
16
+ xl: "size-8",
17
+ };
18
+ // ---------------------------------------------------------------------------
19
+ // Component
20
+ // ---------------------------------------------------------------------------
21
+ const Spinner = forwardRef(({ size = "default", className, ...otherProps }, ref) => (jsx(Spinner$1, { ref: ref, className: cn(SIZE_CONFIG[size], className), ...otherProps })));
22
+ Spinner.displayName = "Spinner";
23
+
24
+ export { Spinner };
25
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","sources":["../../src/components/Spinner.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Spinner as PrimitiveSpinner } from \"src/primitives/Spinner\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface SpinnerProps extends React.ComponentProps<\n typeof PrimitiveSpinner\n> {\n /** Size variant of the spinner. */\n size?: \"sm\" | \"default\" | \"lg\" | \"xl\";\n /** Additional CSS class names. */\n className?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Size config\n// ---------------------------------------------------------------------------\n\nconst SIZE_CONFIG: Record<NonNullable<SpinnerProps[\"size\"]>, string> = {\n sm: \"size-3\",\n default: \"size-4\",\n lg: \"size-6\",\n xl: \"size-8\",\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Spinner = forwardRef<SVGSVGElement, SpinnerProps>(\n ({ size = \"default\", className, ...otherProps }, ref) => (\n <PrimitiveSpinner\n ref={ref}\n className={cn(SIZE_CONFIG[size], className)}\n {...otherProps}\n />\n )\n);\n\nSpinner.displayName = \"Spinner\";\n\nexport { Spinner };\n"],"names":["_jsx","PrimitiveSpinner"],"mappings":";;;;;;;;AAkBA;AACA;AACA;AAEA,MAAM,WAAW,GAAsD;AACrE,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,EAAE,EAAE,QAAQ;CACb;AAED;AACA;AACA;AAEA,MAAM,OAAO,GAAG,UAAU,CACxB,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,MAClDA,GAAA,CAACC,SAAgB,EAAA,EACf,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,EAAA,GACvC,UAAU,EAAA,CACd,CACH;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ export interface StepperProps {
3
+ /** Step definitions. */
4
+ steps: Array<{
5
+ id: string | number;
6
+ label: string;
7
+ }>;
8
+ /** Current active step (0-based). */
9
+ activeIndex?: number;
10
+ /** Callback when a step indicator is clicked. */
11
+ onStepClick?: (index: number) => void;
12
+ /** Additional class name for the outermost wrapper. */
13
+ className?: string;
14
+ /** Layout direction. */
15
+ orientation?: "horizontal" | "vertical";
16
+ }
17
+ declare const Stepper: React.ForwardRefExoticComponent<StepperProps & React.RefAttributes<HTMLDivElement>>;
18
+ export { Stepper };
@@ -0,0 +1,33 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import React__default, { forwardRef } from 'react';
3
+ import { c as cn } from '../utils-DdHUxIdC.js';
4
+ import { C as Check } from '../check-Cpkv29p1.js';
5
+ import '../createLucideIcon-C8ycilSN.js';
6
+
7
+ // ---------------------------------------------------------------------------
8
+ // Component
9
+ // ---------------------------------------------------------------------------
10
+ const Stepper = forwardRef(({ steps, activeIndex = 0, onStepClick, className, orientation = "horizontal", }, ref) => {
11
+ const isHorizontal = orientation === "horizontal";
12
+ return (jsx("div", { ref: ref, role: "list", "aria-label": "Progress", className: cn("flex gap-2", isHorizontal ? "flex-row items-center" : "flex-col items-start", className), children: steps.map((step, index) => {
13
+ const isCompleted = index < activeIndex;
14
+ const isActive = index === activeIndex;
15
+ const isClickable = (isCompleted || isActive) && !!onStepClick;
16
+ const isLast = index === steps.length - 1;
17
+ const indicator = (jsx("span", { className: cn("relative flex size-7 shrink-0 items-center justify-center rounded-full text-sm font-semibold transition-colors", isCompleted && "bg-primary text-primary-foreground", isActive &&
18
+ "bg-primary text-primary-foreground ring-2 ring-primary ring-offset-2 ring-offset-background", !isCompleted &&
19
+ !isActive &&
20
+ "bg-muted text-foreground/60 ring-1 ring-border"), children: isCompleted ? (jsx(Check, { className: "size-3.5", "aria-hidden": "true" })) : (index + 1) }));
21
+ const stepContent = (jsxs("div", { className: cn("flex min-w-0", isHorizontal
22
+ ? "flex-row items-center gap-2"
23
+ : "flex-row items-center gap-3"), children: [isClickable ? (jsx("button", { type: "button", onClick: () => onStepClick(index), "aria-current": isActive ? "step" : undefined, className: "cursor-pointer rounded-full focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", children: indicator })) : (jsx("span", { "aria-current": isActive ? "step" : undefined, children: indicator })), jsx("span", { className: cn("hidden text-sm truncate max-w-full sm:inline", isActive && "font-medium text-foreground", isCompleted && "text-foreground", !isCompleted && !isActive && "text-muted-foreground"), children: step.label })] }));
24
+ const connector = !isLast && (jsx("div", { "aria-hidden": "true", className: cn("transition-colors", isHorizontal
25
+ ? "mx-2 min-w-5 flex-1 border-t-2 sm:mx-3 sm:min-w-8"
26
+ : "ms-[13px] min-h-6 self-stretch border-s-2", isCompleted ? "border-primary" : "border-dashed border-border") }));
27
+ return (jsxs(React__default.Fragment, { children: [jsx("div", { role: "listitem", className: cn("flex min-w-0", isHorizontal ? "shrink-0" : "flex-col"), children: stepContent }), connector] }, step.id));
28
+ }) }));
29
+ });
30
+ Stepper.displayName = "Stepper";
31
+
32
+ export { Stepper };
33
+ //# sourceMappingURL=Stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stepper.js","sources":["../../src/components/Stepper.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface StepperProps {\n /** Step definitions. */\n steps: Array<{ id: string | number; label: string }>;\n /** Current active step (0-based). */\n activeIndex?: number;\n /** Callback when a step indicator is clicked. */\n onStepClick?: (index: number) => void;\n /** Additional class name for the outermost wrapper. */\n className?: string;\n /** Layout direction. */\n orientation?: \"horizontal\" | \"vertical\";\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Stepper = forwardRef<HTMLDivElement, StepperProps>(\n (\n {\n steps,\n activeIndex = 0,\n onStepClick,\n className,\n orientation = \"horizontal\",\n },\n ref\n ) => {\n const isHorizontal = orientation === \"horizontal\";\n\n return (\n <div\n ref={ref}\n role=\"list\"\n aria-label=\"Progress\"\n className={cn(\n \"flex gap-2\",\n isHorizontal ? \"flex-row items-center\" : \"flex-col items-start\",\n className\n )}\n >\n {steps.map((step, index) => {\n const isCompleted = index < activeIndex;\n const isActive = index === activeIndex;\n const isClickable = (isCompleted || isActive) && !!onStepClick;\n const isLast = index === steps.length - 1;\n\n const indicator = (\n <span\n className={cn(\n \"relative flex size-7 shrink-0 items-center justify-center rounded-full text-sm font-semibold transition-colors\",\n isCompleted && \"bg-primary text-primary-foreground\",\n isActive &&\n \"bg-primary text-primary-foreground ring-2 ring-primary ring-offset-2 ring-offset-background\",\n !isCompleted &&\n !isActive &&\n \"bg-muted text-foreground/60 ring-1 ring-border\"\n )}\n >\n {isCompleted ? (\n <CheckIcon className=\"size-3.5\" aria-hidden=\"true\" />\n ) : (\n index + 1\n )}\n </span>\n );\n\n const stepContent = (\n <div\n className={cn(\n \"flex min-w-0\",\n isHorizontal\n ? \"flex-row items-center gap-2\"\n : \"flex-row items-center gap-3\"\n )}\n >\n {isClickable ? (\n <button\n type=\"button\"\n onClick={() => onStepClick(index)}\n aria-current={isActive ? \"step\" : undefined}\n className=\"cursor-pointer rounded-full focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\"\n >\n {indicator}\n </button>\n ) : (\n <span aria-current={isActive ? \"step\" : undefined}>\n {indicator}\n </span>\n )}\n <span\n className={cn(\n \"hidden text-sm truncate max-w-full sm:inline\",\n isActive && \"font-medium text-foreground\",\n isCompleted && \"text-foreground\",\n !isCompleted && !isActive && \"text-muted-foreground\"\n )}\n >\n {step.label}\n </span>\n </div>\n );\n\n const connector = !isLast && (\n <div\n aria-hidden=\"true\"\n className={cn(\n \"transition-colors\",\n isHorizontal\n ? \"mx-2 min-w-5 flex-1 border-t-2 sm:mx-3 sm:min-w-8\"\n : \"ms-[13px] min-h-6 self-stretch border-s-2\",\n isCompleted ? \"border-primary\" : \"border-dashed border-border\"\n )}\n />\n );\n\n return (\n <React.Fragment key={step.id}>\n <div\n role=\"listitem\"\n className={cn(\n \"flex min-w-0\",\n isHorizontal ? \"shrink-0\" : \"flex-col\"\n )}\n >\n {stepContent}\n </div>\n {connector}\n </React.Fragment>\n );\n })}\n </div>\n );\n }\n);\n\nStepper.displayName = \"Stepper\";\n\nexport { Stepper };\n"],"names":["_jsx","CheckIcon","_jsxs","React"],"mappings":";;;;;;AAsBA;AACA;AACA;AAEA,MAAM,OAAO,GAAG,UAAU,CACxB,CACE,EACE,KAAK,EACL,WAAW,GAAG,CAAC,EACf,WAAW,EACX,SAAS,EACT,WAAW,GAAG,YAAY,GAC3B,EACD,GAAG,KACD;AACF,IAAA,MAAM,YAAY,GAAG,WAAW,KAAK,YAAY;AAEjD,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EAAA,YAAA,EACA,UAAU,EACrB,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,YAAY,GAAG,uBAAuB,GAAG,sBAAsB,EAC/D,SAAS,CACV,EAAA,QAAA,EAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACzB,YAAA,MAAM,WAAW,GAAG,KAAK,GAAG,WAAW;AACvC,YAAA,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW;YACtC,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,QAAQ,KAAK,CAAC,CAAC,WAAW;YAC9D,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;AAEzC,YAAA,MAAM,SAAS,IACbA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,gHAAgH,EAChH,WAAW,IAAI,oCAAoC,EACnD,QAAQ;oBACN,6FAA6F,EAC/F,CAAC,WAAW;AACV,oBAAA,CAAC,QAAQ;oBACT,gDAAgD,CACnD,EAAA,QAAA,EAEA,WAAW,IACVA,GAAA,CAACC,KAAS,EAAA,EAAC,SAAS,EAAC,UAAU,EAAA,aAAA,EAAa,MAAM,EAAA,CAAG,KAErD,KAAK,GAAG,CAAC,CACV,EAAA,CACI,CACR;YAED,MAAM,WAAW,IACfC,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,cAAc,EACd;AACE,sBAAE;AACF,sBAAE,6BAA6B,CAClC,aAEA,WAAW,IACVF,gBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,WAAW,CAAC,KAAK,CAAC,EAAA,cAAA,EACnB,QAAQ,GAAG,MAAM,GAAG,SAAS,EAC3C,SAAS,EAAC,+GAA+G,EAAA,QAAA,EAExH,SAAS,GACH,KAETA,GAAA,CAAA,MAAA,EAAA,EAAA,cAAA,EAAoB,QAAQ,GAAG,MAAM,GAAG,SAAS,EAAA,QAAA,EAC9C,SAAS,EAAA,CACL,CACR,EACDA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,8CAA8C,EAC9C,QAAQ,IAAI,6BAA6B,EACzC,WAAW,IAAI,iBAAiB,EAChC,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,uBAAuB,CACrD,YAEA,IAAI,CAAC,KAAK,EAAA,CACN,CAAA,EAAA,CACH,CACP;AAED,YAAA,MAAM,SAAS,GAAG,CAAC,MAAM,KACvBA,GAAA,CAAA,KAAA,EAAA,EAAA,aAAA,EACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,mBAAmB,EACnB;AACE,sBAAE;AACF,sBAAE,2CAA2C,EAC/C,WAAW,GAAG,gBAAgB,GAAG,6BAA6B,CAC/D,EAAA,CACD,CACH;AAED,YAAA,QACEE,IAAA,CAACC,cAAK,CAAC,QAAQ,eACbH,GAAA,CAAA,KAAA,EAAA,EACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,EAAE,CACX,cAAc,EACd,YAAY,GAAG,UAAU,GAAG,UAAU,CACvC,EAAA,QAAA,EAEA,WAAW,EAAA,CACR,EACL,SAAS,CAAA,EAAA,EAVS,IAAI,CAAC,EAAE,CAWX;QAErB,CAAC,CAAC,EAAA,CACE;AAEV,CAAC;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { Switch as PrimitiveSwitch } from "src/primitives/Switch";
3
+ export interface SwitchProps extends Omit<React.ComponentProps<typeof PrimitiveSwitch>, "children"> {
4
+ /** Text label displayed next to the switch. */
5
+ label?: string;
6
+ /** Error message displayed below the switch. */
7
+ error?: string;
8
+ /** Helper text displayed below the label. Accepts string or ReactNode. */
9
+ helpText?: React.ReactNode;
10
+ /** Shows a required indicator next to the label. */
11
+ required?: boolean;
12
+ /** Additional class name for the outermost wrapper. */
13
+ className?: string;
14
+ /** Size of the switch. */
15
+ size?: "sm" | "default" | "lg";
16
+ }
17
+ declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
18
+ export { Switch };
@@ -0,0 +1,33 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, useId } from 'react';
3
+ import { Switch as Switch$1 } from '../primitives/Switch.js';
4
+ import { Label } from '../primitives/Label.js';
5
+ import { c as cn } from '../utils-DdHUxIdC.js';
6
+ import '../index-DNzunGHb.js';
7
+ import '../index-BtkPdosV.js';
8
+ import '../index-CiyxEyB0.js';
9
+ import '../index-Cor698lu.js';
10
+ import '../index-DOzu5J1s.js';
11
+ import '../index-30QpKM0j.js';
12
+ import '../index-BYZaLNq1.js';
13
+ import '../index-DhnfW8wQ.js';
14
+ import 'react-dom';
15
+ import '../label-B4qDF3W1.js';
16
+
17
+ // ---------------------------------------------------------------------------
18
+ // Component
19
+ // ---------------------------------------------------------------------------
20
+ const Switch = forwardRef(({ label, error, helpText, required = false, className, size = "default", disabled, id: idProp, ...otherProps }, ref) => {
21
+ const generatedId = useId();
22
+ const id = idProp ?? generatedId;
23
+ const errorId = `error_${id}`;
24
+ const helpTextId = `helpText_${id}`;
25
+ const ariaDescribedBy = [error ? errorId : null, helpText ? helpTextId : null]
26
+ .filter(Boolean)
27
+ .join(" ") || undefined;
28
+ return (jsxs("div", { className: cn("inline-flex flex-col gap-1.5", className), "data-disabled": disabled || undefined, "data-invalid": !!error || undefined, children: [jsxs("div", { className: cn("inline-flex gap-2", helpText ? "items-start" : "items-center"), children: [jsx(Switch$1, { ref: ref, id: id, size: size, disabled: disabled, "aria-invalid": !!error || undefined, "aria-describedby": ariaDescribedBy, "aria-required": required || undefined, className: helpText ? "mt-0.5" : undefined, ...otherProps }), (label || helpText) && (jsxs("div", { className: "flex flex-col gap-0.5", children: [label && (jsxs(Label, { htmlFor: id, className: cn("cursor-pointer", disabled && "cursor-not-allowed opacity-50"), children: [label, required && (jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" }))] })), helpText && (jsx("p", { id: helpTextId, className: "text-sm text-muted-foreground", children: helpText }))] }))] }), error && (jsx("p", { id: errorId, role: "alert", className: "text-xs text-destructive", children: error }))] }));
29
+ });
30
+ Switch.displayName = "Switch";
31
+
32
+ export { Switch };
33
+ //# sourceMappingURL=Switch.js.map