@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 @@
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/Button.tsx"],"sourcesContent":["import React, { forwardRef, type ReactNode, type MouseEvent } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\nimport { Button as PrimitiveButton } from \"src/primitives/Button\";\nimport { Spinner } from \"src/primitives/Spinner\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"src/primitives/Tooltip\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype ButtonVariant =\n | \"default\"\n | \"secondary\"\n | \"destructive\"\n | \"outline\"\n | \"ghost\"\n | \"link\";\n\ntype ButtonSize =\n | \"default\"\n | \"xs\"\n | \"sm\"\n | \"lg\"\n | \"icon\"\n | \"icon-xs\"\n | \"icon-sm\"\n | \"icon-lg\";\n\ntype IconPosition = \"left\" | \"right\";\n\ntype ButtonType = \"button\" | \"reset\" | \"submit\";\n\ninterface ButtonTooltipProps {\n content?: ReactNode;\n position?: string;\n disabled?: boolean;\n}\n\nexport interface ButtonProps {\n /** Visual variant of the button. */\n variant?: ButtonVariant;\n /** Size of the button. */\n size?: ButtonSize;\n /** Text label rendered inside the button. */\n label?: string;\n /** Icon component, element, or class-name string. */\n icon?: IconProp;\n /** Placement of the icon relative to the label. */\n iconPosition?: IconPosition;\n /** Show a loading spinner and prevent clicks. */\n loading?: boolean;\n /** Disable the button. */\n disabled?: boolean;\n /** Click handler. */\n onClick?: (e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n /** Internal route (react-router `Link`). */\n to?: string;\n /** External URL (renders an anchor tag). */\n href?: string;\n /** HTML button type attribute. */\n type?: ButtonType;\n /** Stretch the button to fill its container. */\n fullWidth?: boolean;\n /** Additional CSS class names. */\n className?: string;\n /** Props forwarded to a wrapping Tooltip. */\n tooltipProps?: ButtonTooltipProps | null;\n /** Render as a custom element (polymorphic). */\n asChild?: boolean;\n /** Children rendered inside the button (fallback for `label`). */\n children?: ReactNode;\n}\n\n// ---------------------------------------------------------------------------\n// Mappings\n// ---------------------------------------------------------------------------\n\nconst ICON_ONLY_SIZE_MAP: Partial<Record<ButtonSize, ButtonSize>> = {\n xs: \"icon-xs\",\n sm: \"icon-sm\",\n default: \"icon\",\n lg: \"icon-lg\",\n};\n\nconst SPINNER_SIZE_MAP: Record<ButtonSize, string> = {\n xs: \"size-3\",\n sm: \"size-3.5\",\n default: \"size-3.5\",\n lg: \"size-4\",\n icon: \"size-3.5\",\n \"icon-xs\": \"size-3\",\n \"icon-sm\": \"size-3.5\",\n \"icon-lg\": \"size-4\",\n};\n\n// Map NeetoUI tooltip `position` values to Radix side values\nconst TOOLTIP_SIDE_MAP: Record<string, \"top\" | \"right\" | \"bottom\" | \"left\"> = {\n top: \"top\",\n bottom: \"bottom\",\n left: \"left\",\n right: \"right\",\n \"top-start\": \"top\",\n \"top-end\": \"top\",\n \"bottom-start\": \"bottom\",\n \"bottom-end\": \"bottom\",\n \"left-start\": \"left\",\n \"left-end\": \"left\",\n \"right-start\": \"right\",\n \"right-end\": \"right\",\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = \"default\",\n size = \"default\",\n label,\n icon = null,\n iconPosition = \"right\",\n loading = false,\n disabled = false,\n onClick,\n to,\n href,\n type = \"button\",\n fullWidth = false,\n className,\n tooltipProps = null,\n asChild = false,\n children,\n ...otherProps\n },\n ref\n ) => {\n const isIconSize = size.startsWith(\"icon\");\n const renderLabel = isIconSize ? null : label || children;\n const isIconOnly = !renderLabel && !!icon;\n const resolvedSize = isIconOnly ? (ICON_ONLY_SIZE_MAP[size] ?? size) : size;\n\n // --- Loading / disabled state ---\n const isDisabled = disabled || loading;\n\n // --- Click handler ---\n const handleClick = (\n e: MouseEvent<HTMLButtonElement | HTMLAnchorElement>\n ) => {\n if (loading || disabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n // --- Icon elements ---\n const iconElement = icon ? renderIcon(icon) : null;\n\n // --- Build the inner content ---\n const buttonContent = (\n <>\n {loading && (\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner\n aria-hidden=\"true\"\n className={SPINNER_SIZE_MAP[resolvedSize]}\n />\n </span>\n )}\n <span\n className={cn(\n \"inline-flex items-center gap-1.5\",\n loading && \"invisible\"\n )}\n >\n {iconPosition === \"left\" && iconElement && (\n <span data-icon=\"inline-start\">{iconElement}</span>\n )}\n {renderLabel && <span>{renderLabel}</span>}\n {iconPosition === \"right\" && iconElement && (\n <span data-icon=\"inline-end\">{iconElement}</span>\n )}\n </span>\n </>\n );\n\n // --- Merged className ---\n const mergedClassName = cn(\n fullWidth && \"w-full\",\n loading && \"relative pointer-events-none\",\n className\n );\n\n // --- Determine render element ---\n let buttonElement: ReactNode;\n\n if (asChild) {\n buttonElement = (\n <PrimitiveButton\n ref={ref}\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n {children}\n </PrimitiveButton>\n );\n } else if (!disabled && to) {\n buttonElement = (\n <PrimitiveButton\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n href={to}\n onClick={handleClick}\n >\n {buttonContent}\n </a>\n </PrimitiveButton>\n );\n } else if (!disabled && href) {\n buttonElement = (\n <PrimitiveButton\n asChild\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n {...otherProps}\n >\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n href={href}\n onClick={handleClick}\n >\n {buttonContent}\n </a>\n </PrimitiveButton>\n );\n } else {\n buttonElement = (\n <PrimitiveButton\n ref={ref}\n type={type}\n variant={variant}\n size={resolvedSize}\n className={mergedClassName}\n disabled={isDisabled}\n onClick={handleClick}\n {...otherProps}\n >\n {buttonContent}\n </PrimitiveButton>\n );\n }\n\n // --- Tooltip wrapper ---\n if (tooltipProps) {\n const { content, position, disabled: tooltipDisabled } = tooltipProps;\n\n if (tooltipDisabled || !content) {\n return <>{buttonElement}</>;\n }\n\n const side = position ? TOOLTIP_SIDE_MAP[position] : undefined;\n\n // Wrap disabled buttons in a span so tooltip still triggers\n const triggerContent = isDisabled ? (\n <span className=\"inline-flex\">{buttonElement}</span>\n ) : (\n buttonElement\n );\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>{triggerContent}</TooltipTrigger>\n <TooltipContent side={side}>{content}</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return <>{buttonElement}</>;\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button };\n"],"names":["forwardRef","renderIcon","_jsxs","_Fragment","_jsx","Spinner","cn","PrimitiveButton","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent"],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var primitives_Alert = require('../primitives/Alert.js');
6
+ var utils = require('../utils-CTr7wn5d.js');
7
+ var renderIcon = require('../renderIcon-fLF3odqg.js');
8
+ var createLucideIcon = require('../createLucideIcon-D0tRgV6l.js');
9
+ var triangleAlert = require('../triangle-alert-ZUMRpmzW.js');
10
+ require('../index-BZhTddX0.js');
11
+
12
+ /**
13
+ * @license lucide-react v0.577.0 - ISC
14
+ *
15
+ * This source code is licensed under the ISC license.
16
+ * See the LICENSE file in the root directory of this source tree.
17
+ */
18
+
19
+
20
+ const __iconNode$1 = [
21
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
22
+ ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
23
+ ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
24
+ ];
25
+ const CircleAlert = createLucideIcon.createLucideIcon("circle-alert", __iconNode$1);
26
+
27
+ /**
28
+ * @license lucide-react v0.577.0 - ISC
29
+ *
30
+ * This source code is licensed under the ISC license.
31
+ * See the LICENSE file in the root directory of this source tree.
32
+ */
33
+
34
+
35
+ const __iconNode = [
36
+ ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
37
+ ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
38
+ ];
39
+ const CircleCheckBig = createLucideIcon.createLucideIcon("circle-check-big", __iconNode);
40
+
41
+ // ---------------------------------------------------------------------------
42
+ // Variant config
43
+ // ---------------------------------------------------------------------------
44
+ const VARIANT_CONFIG = {
45
+ info: {
46
+ container: "border-0 bg-info text-info-foreground",
47
+ icon: triangleAlert.Info,
48
+ },
49
+ warning: {
50
+ container: "border-0 bg-warning text-warning-foreground",
51
+ icon: triangleAlert.TriangleAlert,
52
+ },
53
+ danger: {
54
+ container: "border-0 bg-error text-error-foreground",
55
+ icon: CircleAlert,
56
+ },
57
+ success: {
58
+ container: "border-0 bg-success text-success-foreground",
59
+ icon: CircleCheckBig,
60
+ },
61
+ };
62
+ // ---------------------------------------------------------------------------
63
+ // Component
64
+ // ---------------------------------------------------------------------------
65
+ const Callout = React.forwardRef(({ variant = "info", icon, title, children, className, ...otherProps }, ref) => {
66
+ const config = VARIANT_CONFIG[variant];
67
+ const resolvedIcon = icon ?? config.icon;
68
+ return (jsxRuntime.jsxs(primitives_Alert.Alert, { ref: ref, className: utils.cn(config.container, className), ...otherProps, children: [renderIcon.renderIcon(resolvedIcon, "size-4 shrink-0"), title && jsxRuntime.jsx(primitives_Alert.AlertTitle, { children: title }), children && (jsxRuntime.jsx(primitives_Alert.AlertDescription, { className: "text-current/80", children: children }))] }));
69
+ });
70
+ Callout.displayName = "Callout";
71
+
72
+ exports.Callout = Callout;
73
+ //# sourceMappingURL=Callout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Callout.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/circle-alert.js","../../../node_modules/lucide-react/dist/esm/icons/circle-check-big.js","../../../../src/components/Callout.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n];\nconst CircleAlert = createLucideIcon(\"circle-alert\", __iconNode);\n\nexport { __iconNode, CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n","/**\n * @license lucide-react v0.577.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M21.801 10A10 10 0 1 1 17 3.335\", key: \"yps3ct\" }],\n [\"path\", { d: \"m9 11 3 3L22 4\", key: \"1pflzl\" }]\n];\nconst CircleCheckBig = createLucideIcon(\"circle-check-big\", __iconNode);\n\nexport { __iconNode, CircleCheckBig as default };\n//# sourceMappingURL=circle-check-big.js.map\n","import React, { forwardRef } from \"react\";\n\nimport {\n Alert as PrimitiveAlert,\n AlertTitle,\n AlertDescription,\n} from \"src/primitives/Alert\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { renderIcon, type IconProp } from \"src/lib/renderIcon\";\nimport {\n InfoIcon,\n AlertTriangleIcon,\n AlertCircleIcon,\n CheckCircleIcon,\n} from \"lucide-react\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype CalloutVariant = \"info\" | \"warning\" | \"danger\" | \"success\";\n\ntype PrimitiveAlertProps = React.ComponentProps<typeof PrimitiveAlert>;\n\nexport interface CalloutProps extends Omit<PrimitiveAlertProps, \"variant\"> {\n /** Visual style of the callout. */\n variant?: CalloutVariant;\n /** Custom icon. Defaults to a variant-specific icon. */\n icon?: IconProp;\n /** Optional title rendered as AlertTitle. */\n title?: string;\n /** Content rendered as AlertDescription. */\n children?: React.ReactNode;\n}\n\n// ---------------------------------------------------------------------------\n// Variant config\n// ---------------------------------------------------------------------------\n\nconst VARIANT_CONFIG: Record<\n CalloutVariant,\n {\n container: string;\n icon: React.ComponentType<{ className?: string }>;\n }\n> = {\n info: {\n container: \"border-0 bg-info text-info-foreground\",\n icon: InfoIcon,\n },\n warning: {\n container: \"border-0 bg-warning text-warning-foreground\",\n icon: AlertTriangleIcon,\n },\n danger: {\n container: \"border-0 bg-error text-error-foreground\",\n icon: AlertCircleIcon,\n },\n success: {\n container: \"border-0 bg-success text-success-foreground\",\n icon: CheckCircleIcon,\n },\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Callout = forwardRef<HTMLDivElement, CalloutProps>(\n (\n { variant = \"info\", icon, title, children, className, ...otherProps },\n ref\n ) => {\n const config = VARIANT_CONFIG[variant];\n const resolvedIcon = icon ?? config.icon;\n\n return (\n <PrimitiveAlert\n ref={ref}\n className={cn(config.container, className)}\n {...otherProps}\n >\n {renderIcon(resolvedIcon, \"size-4 shrink-0\")}\n {title && <AlertTitle>{title}</AlertTitle>}\n {children && (\n <AlertDescription className=\"text-current/80\">\n {children}\n </AlertDescription>\n )}\n </PrimitiveAlert>\n );\n }\n);\n\nCallout.displayName = \"Callout\";\n\nexport { Callout };\n"],"names":["__iconNode","createLucideIcon","InfoIcon","AlertTriangleIcon","AlertCircleIcon","CheckCircleIcon","forwardRef","_jsxs","PrimitiveAlert","cn","renderIcon","_jsx","AlertTitle","AlertDescription"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAMA,YAAU,GAAG;AACnB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC5D,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACpE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;AACvE,CAAC;AACD,MAAM,WAAW,GAAGC,iCAAgB,CAAC,cAAc,EAAED,YAAU,CAAC;;ACdhE;AACA;AACA;AACA;AACA;AACA;;;AAIA,MAAM,UAAU,GAAG;AACnB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,iCAAiC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACnE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,QAAQ,EAAE;AACjD,CAAC;AACD,MAAM,cAAc,GAAGC,iCAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC;;ACsBvE;AACA;AACA;AAEA,MAAM,cAAc,GAMhB;AACF,IAAA,IAAI,EAAE;AACJ,QAAA,SAAS,EAAE,uCAAuC;AAClD,QAAA,IAAI,EAAEC,kBAAQ;AACf,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,6CAA6C;AACxD,QAAA,IAAI,EAAEC,2BAAiB;AACxB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,SAAS,EAAE,yCAAyC;AACpD,QAAA,IAAI,EAAEC,WAAe;AACtB,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,6CAA6C;AACxD,QAAA,IAAI,EAAEC,cAAe;AACtB,KAAA;CACF;AAED;AACA;AACA;AAEA,MAAM,OAAO,GAAGC,gBAAU,CACxB,CACE,EAAE,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,EACrE,GAAG,KACD;AACF,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;AACtC,IAAA,MAAM,YAAY,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI;IAExC,QACEC,gBAACC,sBAAc,EAAA,EACb,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,QAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,KACtC,UAAU,EAAA,QAAA,EAAA,CAEbC,qBAAU,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAC3C,KAAK,IAAIC,cAAA,CAACC,2BAAU,cAAE,KAAK,EAAA,CAAc,EACzC,QAAQ,KACPD,eAACE,iCAAgB,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAC1C,QAAQ,EAAA,CACQ,CACpB,CAAA,EAAA,CACc;AAErB,CAAC;AAGH,OAAO,CAAC,WAAW,GAAG,SAAS;;;;","x_google_ignoreList":[0,1]}
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var utils = require('../utils-CTr7wn5d.js');
6
+ var primitives_Checkbox = require('../primitives/Checkbox.js');
7
+ var primitives_Field = require('../primitives/Field.js');
8
+ require('../check-BQgcDXys.js');
9
+ require('../createLucideIcon-D0tRgV6l.js');
10
+ require('../index-D-iDn9RI.js');
11
+ require('../index-CGUGhyIp.js');
12
+ require('../index-COPkC3I5.js');
13
+ require('../index-CyrAgb4H.js');
14
+ require('../index-CCdG4z4E.js');
15
+ require('../index-CF951Pw9.js');
16
+ require('../index-Bf0WsHta.js');
17
+ require('../index-DcCSSgb7.js');
18
+ require('../index-DMbj7vXd.js');
19
+ require('react-dom');
20
+ require('../index-BZhTddX0.js');
21
+ require('../label-Bdc9ytTI.js');
22
+ require('../separator-CPy2gyg1.js');
23
+
24
+ // ---------------------------------------------------------------------------
25
+ // Component
26
+ // ---------------------------------------------------------------------------
27
+ const Checkbox = React.forwardRef(({ label, error, helpText, required = false, disabled = false, className, ...otherProps }, ref) => {
28
+ const generatedId = React.useId();
29
+ const id = otherProps.id ?? generatedId;
30
+ const errorId = `error_${id}`;
31
+ const helpTextId = `helpText_${id}`;
32
+ const ariaDescribedBy = [error ? errorId : null, helpText ? helpTextId : null]
33
+ .filter(Boolean)
34
+ .join(" ") || undefined;
35
+ const hasField = !!(label || error || helpText);
36
+ if (!hasField) {
37
+ return (jsxRuntime.jsx(primitives_Checkbox.Checkbox, { ref: ref, id: id, disabled: disabled, "aria-invalid": !!error || undefined, "aria-required": required || undefined, "aria-describedby": ariaDescribedBy, className: className, ...otherProps }));
38
+ }
39
+ return (jsxRuntime.jsxs("div", { className: utils.cn("flex flex-col gap-1", className), "data-disabled": disabled || undefined, "data-invalid": !!error || undefined, children: [jsxRuntime.jsxs(primitives_Field.Field, { orientation: "horizontal", children: [jsxRuntime.jsx(primitives_Checkbox.Checkbox, { ref: ref, id: id, disabled: disabled, "aria-invalid": !!error || undefined, "aria-required": required || undefined, "aria-describedby": ariaDescribedBy, ...otherProps }), jsxRuntime.jsxs(primitives_Field.FieldContent, { children: [label && (jsxRuntime.jsxs(primitives_Field.FieldLabel, { htmlFor: id, children: [label, required && (jsxRuntime.jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" }))] })), helpText && (jsxRuntime.jsx(primitives_Field.FieldDescription, { id: helpTextId, children: helpText }))] })] }), error && jsxRuntime.jsx(primitives_Field.FieldError, { id: errorId, children: error })] }));
40
+ });
41
+ Checkbox.displayName = "Checkbox";
42
+
43
+ exports.Checkbox = Checkbox;
44
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../src/components/Checkbox.tsx"],"sourcesContent":["import React, { forwardRef, useId } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport { Checkbox as PrimitiveCheckbox } from \"src/primitives/Checkbox\";\nimport {\n Field,\n FieldContent,\n FieldLabel,\n FieldDescription,\n FieldError,\n} from \"src/primitives/Field\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface CheckboxProps extends React.ComponentProps<\n typeof PrimitiveCheckbox\n> {\n /** Text displayed next to the checkbox. */\n label?: string;\n /** Error message displayed below the checkbox. */\n error?: string;\n /** Helper text displayed below the label. 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}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Checkbox = forwardRef<\n React.ComponentRef<typeof PrimitiveCheckbox>,\n CheckboxProps\n>(\n (\n {\n label,\n error,\n helpText,\n required = false,\n disabled = false,\n className,\n ...otherProps\n },\n ref\n ) => {\n const generatedId = useId();\n const id = otherProps.id ?? 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 if (!hasField) {\n return (\n <PrimitiveCheckbox\n ref={ref}\n id={id}\n disabled={disabled}\n aria-invalid={!!error || undefined}\n aria-required={required || undefined}\n aria-describedby={ariaDescribedBy}\n className={className}\n {...otherProps}\n />\n );\n }\n\n return (\n <div\n className={cn(\"flex flex-col gap-1\", className)}\n data-disabled={disabled || undefined}\n data-invalid={!!error || undefined}\n >\n <Field orientation=\"horizontal\">\n <PrimitiveCheckbox\n ref={ref}\n id={id}\n disabled={disabled}\n aria-invalid={!!error || undefined}\n aria-required={required || undefined}\n aria-describedby={ariaDescribedBy}\n {...otherProps}\n />\n <FieldContent>\n {label && (\n <FieldLabel htmlFor={id}>\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"text-destructive\">\n *\n </span>\n )}\n </FieldLabel>\n )}\n {helpText && (\n <FieldDescription id={helpTextId}>{helpText}</FieldDescription>\n )}\n </FieldContent>\n </Field>\n {error && <FieldError id={errorId}>{error}</FieldError>}\n </div>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n\nexport { Checkbox };\n"],"names":["forwardRef","useId","_jsx","PrimitiveCheckbox","_jsxs","cn","Field","FieldContent","FieldLabel","FieldDescription","FieldError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+BA;AACA;AACA;AAEA,MAAM,QAAQ,GAAGA,gBAAU,CAIzB,CACE,EACE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,GAAG,UAAU,EACd,EACD,GAAG,KACD;AACF,IAAA,MAAM,WAAW,GAAGC,WAAK,EAAE;AAC3B,IAAA,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,WAAW;AACvC,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,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,QACEC,cAAA,CAACC,4BAAiB,EAAA,EAChB,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAAA,cAAA,EACJ,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,eAAA,EACnB,QAAQ,IAAI,SAAS,EAAA,kBAAA,EAClB,eAAe,EACjC,SAAS,EAAE,SAAS,EAAA,GAChB,UAAU,EAAA,CACd;IAEN;IAEA,QACEC,eAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAEC,QAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAA,eAAA,EAChC,QAAQ,IAAI,SAAS,EAAA,cAAA,EACtB,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,QAAA,EAAA,CAElCD,eAAA,CAACE,sBAAK,EAAA,EAAC,WAAW,EAAC,YAAY,EAAA,QAAA,EAAA,CAC7BJ,eAACC,4BAAiB,EAAA,EAChB,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAAA,cAAA,EACJ,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,eAAA,EACnB,QAAQ,IAAI,SAAS,EAAA,kBAAA,EAClB,eAAe,EAAA,GAC7B,UAAU,EAAA,CACd,EACFC,gBAACG,6BAAY,EAAA,EAAA,QAAA,EAAA,CACV,KAAK,KACJH,eAAA,CAACI,2BAAU,EAAA,EAAC,OAAO,EAAE,EAAE,EAAA,QAAA,EAAA,CACpB,KAAK,EACL,QAAQ,KACPN,cAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAC,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,GAAA,EAAA,CAE9C,CACR,CAAA,EAAA,CACU,CACd,EACA,QAAQ,KACPA,cAAA,CAACO,iCAAgB,EAAA,EAAC,EAAE,EAAE,UAAU,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAoB,CAChE,CAAA,EAAA,CACY,CAAA,EAAA,CACT,EACP,KAAK,IAAIP,cAAA,CAACQ,2BAAU,EAAA,EAAC,EAAE,EAAE,OAAO,EAAA,QAAA,EAAG,KAAK,EAAA,CAAc,CAAA,EAAA,CACnD;AAEV,CAAC;AAGH,QAAQ,CAAC,WAAW,GAAG,UAAU;;;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var ColorPicker = require('../ColorPicker-DEELmqH8.js');
4
+ require('react/jsx-runtime');
5
+ require('react');
6
+ require('react-i18next');
7
+ require('react-colorful');
8
+ require('../primitives/Button.js');
9
+ require('../button-B8XGl69v.js');
10
+ require('../index-BZhTddX0.js');
11
+ require('../utils-CTr7wn5d.js');
12
+ require('../index-DuNgWCXZ.js');
13
+ require('../index-D-iDn9RI.js');
14
+ require('../primitives/Popover.js');
15
+ require('../index-COPkC3I5.js');
16
+ require('../index-CGUGhyIp.js');
17
+ require('../index-Bvu9MiFi.js');
18
+ require('../index-DMbj7vXd.js');
19
+ require('react-dom');
20
+ require('../index-lWVw05cs.js');
21
+ require('../index-ChSOMM8b.js');
22
+ require('../index-BwAq9ba8.js');
23
+ require('../index-CCdG4z4E.js');
24
+ require('../index-C9ICrOhM.js');
25
+ require('../floating-ui.react-dom-B4Aw6O7R.js');
26
+ require('../index-Bf0WsHta.js');
27
+ require('../index-Df-Ffa3s.js');
28
+ require('../index-DcCSSgb7.js');
29
+ require('../index-CyrAgb4H.js');
30
+ require('../chevron-down-CPsWSS51.js');
31
+ require('../createLucideIcon-D0tRgV6l.js');
32
+
33
+
34
+
35
+ exports.ColorPicker = ColorPicker.ColorPicker;
36
+ //# sourceMappingURL=ColorPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var DataTable = require('../DataTable-DJw2SZ7b.js');
3
+ var DataTable = require('../DataTable-CWs96k8n.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('../primitives/Table.js');
7
7
  require('../utils-CTr7wn5d.js');
8
+ require('react-i18next');
8
9
  require('../primitives/Checkbox.js');
9
10
  require('../check-BQgcDXys.js');
10
11
  require('../createLucideIcon-D0tRgV6l.js');
@@ -29,7 +30,7 @@ require('../ellipsis-4aubOI2n.js');
29
30
  require('../chevron-right-0jNdwX2Q.js');
30
31
  require('../chevron-left-BldoOh5p.js');
31
32
  require('../primitives/DropdownMenu.js');
32
- require('../index-CGet1HH4.js');
33
+ require('../index-PdtYHwPi.js');
33
34
  require('../index-Ch55j1or.js');
34
35
  require('../index-9jC1advf.js');
35
36
  require('../index-Bvu9MiFi.js');
@@ -39,7 +40,7 @@ require('../index-BwAq9ba8.js');
39
40
  require('../index-C9ICrOhM.js');
40
41
  require('../floating-ui.react-dom-B4Aw6O7R.js');
41
42
  require('../index-Df-Ffa3s.js');
42
- require('../index-DR7GJU4J.js');
43
+ require('../index-hQmfI1O7.js');
43
44
 
44
45
 
45
46
 
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DataTable.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,89 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var utils = require('../utils-CTr7wn5d.js');
6
+ var primitives_Dialog = require('../primitives/Dialog.js');
7
+ require('../button-B8XGl69v.js');
8
+ require('../index-BZhTddX0.js');
9
+ require('../index-DuNgWCXZ.js');
10
+ require('../index-D-iDn9RI.js');
11
+ require('../dialog-Bvyrshz3.js');
12
+ require('react-i18next');
13
+ require('../x-Brw3FJst.js');
14
+ require('../createLucideIcon-D0tRgV6l.js');
15
+ require('../index-BLGrl3PF.js');
16
+ require('../index-COPkC3I5.js');
17
+ require('../index-CGUGhyIp.js');
18
+ require('../index-BwAq9ba8.js');
19
+ require('../index-CCdG4z4E.js');
20
+ require('../index-CyrAgb4H.js');
21
+ require('../index-Bvu9MiFi.js');
22
+ require('../index-DMbj7vXd.js');
23
+ require('react-dom');
24
+ require('../index-lWVw05cs.js');
25
+ require('../index-ChSOMM8b.js');
26
+ require('../index-Df-Ffa3s.js');
27
+ require('../index-DcCSSgb7.js');
28
+
29
+ // ---------------------------------------------------------------------------
30
+ // Size mapping
31
+ // ---------------------------------------------------------------------------
32
+ const SIZE_CLASS_MAP = {
33
+ small: "sm:max-w-sm",
34
+ medium: "sm:max-w-md",
35
+ large: "sm:max-w-lg",
36
+ fullScreen: "h-screen w-screen max-w-none rounded-none sm:max-w-none",
37
+ };
38
+ const DialogHeader = React.forwardRef(({ children, className, description, dataTestid, ...otherProps }, ref) => (jsxRuntime.jsxs(primitives_Dialog.DialogHeader, { ref: ref, className: utils.cn(className), "data-testid": dataTestid ?? "dialog-header", ...otherProps, children: [children, description && jsxRuntime.jsx(primitives_Dialog.DialogDescription, { children: description })] })));
39
+ DialogHeader.displayName = "Dialog.Header";
40
+ const DialogBody = React.forwardRef(({ children, className, dataTestid, ...otherProps }, ref) => (jsxRuntime.jsx("div", { ref: ref, "data-slot": "dialog-body", "data-testid": dataTestid ?? "dialog-body", className: utils.cn("text-sm text-foreground", className), ...otherProps, children: children })));
41
+ DialogBody.displayName = "Dialog.Body";
42
+ const DialogFooter = React.forwardRef(({ children, className, dataTestid, ...otherProps }, ref) => (jsxRuntime.jsx(primitives_Dialog.DialogFooter, { ref: ref, className: utils.cn(className), "data-testid": dataTestid ?? "dialog-footer", ...otherProps, children: children })));
43
+ DialogFooter.displayName = "Dialog.Footer";
44
+ const DialogTitle = React.forwardRef(({ children, className, ...otherProps }, ref) => (jsxRuntime.jsx(primitives_Dialog.DialogTitle, { ref: ref, className: utils.cn("text-2xl font-semibold", className), ...otherProps, children: children })));
45
+ DialogTitle.displayName = "Dialog.Title";
46
+ // ---------------------------------------------------------------------------
47
+ // Component
48
+ // ---------------------------------------------------------------------------
49
+ const Dialog = React.forwardRef(({ size = "medium", isOpen = false, onClose = () => { }, children, className, closeOnEsc = true, closeButton = true, backdropClassName, closeOnOutsideClick = true, initialFocusRef, finalFocusRef, blockScrollOnMount = true, forceRender = false, modal: modalProp, defaultOpen,
50
+ // Radix content handlers — intercept and merge
51
+ onOpenAutoFocus: onOpenAutoFocusProp, onCloseAutoFocus: onCloseAutoFocusProp, ...otherContentProps }, ref) => {
52
+ const handleOpenChange = (open) => {
53
+ if (!open)
54
+ onClose();
55
+ };
56
+ const handleInteractOutside = (e) => {
57
+ if (!closeOnOutsideClick)
58
+ e.preventDefault();
59
+ };
60
+ const handleEscapeKeyDown = (e) => {
61
+ if (!closeOnEsc)
62
+ e.preventDefault();
63
+ };
64
+ const handleOpenAutoFocus = (e) => {
65
+ if (initialFocusRef?.current) {
66
+ e.preventDefault();
67
+ initialFocusRef.current.focus();
68
+ }
69
+ onOpenAutoFocusProp?.(e);
70
+ };
71
+ const handleCloseAutoFocus = (e) => {
72
+ if (finalFocusRef?.current) {
73
+ e.preventDefault();
74
+ finalFocusRef.current.focus();
75
+ }
76
+ onCloseAutoFocusProp?.(e);
77
+ };
78
+ // `modal` prop takes precedence; fall back to blockScrollOnMount
79
+ const resolvedModal = modalProp ?? blockScrollOnMount;
80
+ return (jsxRuntime.jsx(primitives_Dialog.Dialog, { open: isOpen, onOpenChange: handleOpenChange, modal: resolvedModal, defaultOpen: defaultOpen, children: jsxRuntime.jsx(primitives_Dialog.DialogContent, { ref: ref, "aria-modal": true, showCloseButton: closeButton, forceMount: forceRender || undefined, overlayClassName: backdropClassName, onInteractOutside: handleInteractOutside, onEscapeKeyDown: handleEscapeKeyDown, onOpenAutoFocus: handleOpenAutoFocus, onCloseAutoFocus: handleCloseAutoFocus, className: utils.cn(SIZE_CLASS_MAP[size], className), "data-testid": "dialog-wrapper", ...otherContentProps, children: children }) }));
81
+ });
82
+ Dialog.displayName = "Dialog";
83
+ Dialog.Header = DialogHeader;
84
+ Dialog.Body = DialogBody;
85
+ Dialog.Footer = DialogFooter;
86
+ Dialog.Title = DialogTitle;
87
+
88
+ exports.Dialog = Dialog;
89
+ //# sourceMappingURL=Dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog.tsx"],"sourcesContent":["import React, { forwardRef, type ReactNode, type RefObject } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Dialog as PrimitiveDialog,\n DialogContent as PrimitiveDialogContent,\n DialogDescription,\n DialogFooter as PrimitiveDialogFooter,\n DialogHeader as PrimitiveDialogHeader,\n DialogTitle as PrimitiveDialogTitle,\n} from \"src/primitives/Dialog\";\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype DialogSize = \"small\" | \"medium\" | \"large\" | \"fullScreen\";\n\n/** Radix Dialog.Content props we forward via ...otherProps. */\ntype DialogContentProps = React.ComponentProps<typeof PrimitiveDialogContent>;\n\nexport interface DialogProps extends Omit<\n DialogContentProps,\n | \"children\"\n | \"className\"\n | \"showCloseButton\"\n | \"onEscapeKeyDown\"\n | \"onInteractOutside\"\n> {\n /** Size of the dialog. */\n size?: DialogSize;\n /** Whether the dialog is open. */\n isOpen?: boolean;\n /** Callback invoked when the dialog is closed. */\n onClose?: () => void;\n /** Content rendered inside the dialog. */\n children?: ReactNode;\n /** Additional CSS class names applied to the dialog 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 dialog. */\n closeOnOutsideClick?: boolean;\n /** Ref of the element to receive focus when the dialog opens. */\n initialFocusRef?: RefObject<HTMLElement | null>;\n /** Ref of the element to receive focus when the dialog closes. */\n finalFocusRef?: RefObject<HTMLElement | null>;\n /** Whether to block body scroll when the dialog is mounted. Maps to Radix `modal` prop. */\n blockScrollOnMount?: boolean;\n /** Force children to re-render even when the dialog is closed. */\n forceRender?: boolean;\n /** Radix Dialog `modal` prop — takes precedence over blockScrollOnMount. */\n modal?: boolean;\n /** Radix Dialog `defaultOpen` prop. */\n defaultOpen?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Size mapping\n// ---------------------------------------------------------------------------\n\nconst SIZE_CLASS_MAP: Record<DialogSize, string> = {\n small: \"sm:max-w-sm\",\n medium: \"sm:max-w-md\",\n large: \"sm:max-w-lg\",\n fullScreen: \"h-screen w-screen max-w-none rounded-none sm:max-w-none\",\n};\n\n// ---------------------------------------------------------------------------\n// Subcomponents\n// ---------------------------------------------------------------------------\n\ninterface DialogSubcomponentProps extends React.ComponentProps<\"div\"> {\n children?: ReactNode;\n className?: string;\n /** Custom data-testid attribute. */\n dataTestid?: string;\n}\n\nconst DialogHeader = forwardRef<\n HTMLDivElement,\n DialogSubcomponentProps & { description?: string }\n>(({ children, className, description, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogHeader\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-header\"}\n {...otherProps}\n >\n {children}\n {description && <DialogDescription>{description}</DialogDescription>}\n </PrimitiveDialogHeader>\n));\nDialogHeader.displayName = \"Dialog.Header\";\n\nconst DialogBody = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <div\n ref={ref}\n data-slot=\"dialog-body\"\n data-testid={dataTestid ?? \"dialog-body\"}\n className={cn(\"text-sm text-foreground\", className)}\n {...otherProps}\n >\n {children}\n </div>\n )\n);\nDialogBody.displayName = \"Dialog.Body\";\n\nconst DialogFooter = forwardRef<HTMLDivElement, DialogSubcomponentProps>(\n ({ children, className, dataTestid, ...otherProps }, ref) => (\n <PrimitiveDialogFooter\n ref={ref}\n className={cn(className)}\n data-testid={dataTestid ?? \"dialog-footer\"}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogFooter>\n )\n);\nDialogFooter.displayName = \"Dialog.Footer\";\n\nconst DialogTitle = forwardRef<\n HTMLHeadingElement,\n React.ComponentProps<typeof PrimitiveDialogTitle>\n>(({ children, className, ...otherProps }, ref) => (\n <PrimitiveDialogTitle\n ref={ref}\n className={cn(\"text-2xl font-semibold\", className)}\n {...otherProps}\n >\n {children}\n </PrimitiveDialogTitle>\n));\nDialogTitle.displayName = \"Dialog.Title\";\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nconst Dialog = forwardRef<HTMLDivElement, DialogProps>(\n (\n {\n size = \"medium\",\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 blockScrollOnMount = true,\n forceRender = false,\n modal: modalProp,\n defaultOpen,\n // Radix content handlers — intercept and merge\n onOpenAutoFocus: onOpenAutoFocusProp,\n onCloseAutoFocus: onCloseAutoFocusProp,\n ...otherContentProps\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 // `modal` prop takes precedence; fall back to blockScrollOnMount\n const resolvedModal = modalProp ?? blockScrollOnMount;\n\n return (\n <PrimitiveDialog\n open={isOpen}\n onOpenChange={handleOpenChange}\n modal={resolvedModal}\n defaultOpen={defaultOpen}\n >\n <PrimitiveDialogContent\n ref={ref}\n aria-modal\n showCloseButton={closeButton}\n forceMount={forceRender || undefined}\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=\"dialog-wrapper\"\n {...otherContentProps}\n >\n {children}\n </PrimitiveDialogContent>\n </PrimitiveDialog>\n );\n }\n) as React.ForwardRefExoticComponent<\n DialogProps & React.RefAttributes<HTMLDivElement>\n> & {\n Header: typeof DialogHeader;\n Body: typeof DialogBody;\n Footer: typeof DialogFooter;\n Title: typeof DialogTitle;\n};\n\nDialog.displayName = \"Dialog\";\nDialog.Header = DialogHeader;\nDialog.Body = DialogBody;\nDialog.Footer = DialogFooter;\nDialog.Title = DialogTitle;\n\nexport { Dialog };\n"],"names":["forwardRef","_jsxs","PrimitiveDialogHeader","cn","_jsx","DialogDescription","PrimitiveDialogFooter","PrimitiveDialogTitle","PrimitiveDialog","PrimitiveDialogContent"],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var primitives_DropdownMenu = require('../primitives/DropdownMenu.js');
6
+ var reactI18next = require('react-i18next');
7
+ var utils = require('../utils-CTr7wn5d.js');
8
+ var renderIcon = require('../renderIcon-fLF3odqg.js');
9
+ var primitives_Button = require('../primitives/Button.js');
10
+ var primitives_ButtonGroup = require('../primitives/ButtonGroup.js');
11
+ var chevronDown = require('../chevron-down-CPsWSS51.js');
12
+ require('../chevron-right-0jNdwX2Q.js');
13
+ require('../createLucideIcon-D0tRgV6l.js');
14
+ require('../check-BQgcDXys.js');
15
+ require('../index-COPkC3I5.js');
16
+ require('../index-D-iDn9RI.js');
17
+ require('../index-CGUGhyIp.js');
18
+ require('../index-CyrAgb4H.js');
19
+ require('../index-CCdG4z4E.js');
20
+ require('../index-DMbj7vXd.js');
21
+ require('react-dom');
22
+ require('../index-PdtYHwPi.js');
23
+ require('../index-Ch55j1or.js');
24
+ require('../index-9jC1advf.js');
25
+ require('../index-Bvu9MiFi.js');
26
+ require('../index-lWVw05cs.js');
27
+ require('../index-ChSOMM8b.js');
28
+ require('../index-BwAq9ba8.js');
29
+ require('../index-C9ICrOhM.js');
30
+ require('../floating-ui.react-dom-B4Aw6O7R.js');
31
+ require('../index-Bf0WsHta.js');
32
+ require('../index-Df-Ffa3s.js');
33
+ require('../index-DcCSSgb7.js');
34
+ require('../index-hQmfI1O7.js');
35
+ require('../button-B8XGl69v.js');
36
+ require('../index-BZhTddX0.js');
37
+ require('../index-DuNgWCXZ.js');
38
+ require('../separator-CPy2gyg1.js');
39
+
40
+ const SIDE_MAP = {
41
+ top: "top",
42
+ bottom: "bottom",
43
+ left: "left",
44
+ right: "right",
45
+ "top-start": "top",
46
+ "top-end": "top",
47
+ "bottom-start": "bottom",
48
+ "bottom-end": "bottom",
49
+ "left-start": "left",
50
+ "left-end": "left",
51
+ "right-start": "right",
52
+ "right-end": "right",
53
+ auto: "bottom",
54
+ };
55
+ const ALIGN_MAP = {
56
+ top: "center",
57
+ bottom: "center",
58
+ left: "center",
59
+ right: "center",
60
+ "top-start": "start",
61
+ "top-end": "end",
62
+ "bottom-start": "start",
63
+ "bottom-end": "end",
64
+ "left-start": "start",
65
+ "left-end": "end",
66
+ "right-start": "start",
67
+ "right-end": "end",
68
+ auto: "end",
69
+ };
70
+ const BUTTON_STYLE_MAP = {
71
+ primary: "default",
72
+ secondary: "secondary",
73
+ tertiary: "outline",
74
+ text: "ghost",
75
+ danger: "destructive",
76
+ "danger-text": "ghost",
77
+ link: "link",
78
+ };
79
+ const BUTTON_SIZE_MAP = {
80
+ small: "sm",
81
+ medium: "default",
82
+ large: "lg",
83
+ };
84
+ const MENU_ITEM_STYLE_MAP = {
85
+ default: "default",
86
+ danger: "destructive",
87
+ };
88
+ const CHEVRON_SIZE_MAP = {
89
+ small: "size-3.5",
90
+ medium: "size-4",
91
+ large: "size-4",
92
+ };
93
+
94
+ const SplitTrigger = React.forwardRef(({ label, icon, buttonStyle, buttonSize, buttonProps, disabled, isOpen, onClick, actionButtonRef, className, ...otherProps }, ref) => {
95
+ const { t } = reactI18next.useTranslation();
96
+ const variant = BUTTON_STYLE_MAP[buttonStyle];
97
+ const size = BUTTON_SIZE_MAP[buttonSize];
98
+ return (jsxRuntime.jsxs(primitives_ButtonGroup.ButtonGroup, { ref: ref, className: utils.cn("neeto-ui-action-dropdown", className), ...otherProps, children: [jsxRuntime.jsxs(primitives_Button.Button, { ref: actionButtonRef, type: "button", variant: variant, size: size, disabled: disabled, onClick: onClick, "data-testid": "action-dropdown-btn", ...buttonProps, children: [icon && renderIcon.renderIcon(icon, "size-4"), label && jsxRuntime.jsx("span", { children: label })] }), jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuTrigger, { asChild: true, disabled: disabled, children: jsxRuntime.jsx(primitives_Button.Button, { type: "button", variant: variant, size: size, disabled: disabled, "aria-label": t("neetoatoms.dropdownMenu.openMenu", "Open dropdown menu"), className: "px-1.5", children: jsxRuntime.jsx(chevronDown.ChevronDown, { "aria-hidden": "true", className: utils.cn(CHEVRON_SIZE_MAP[buttonSize], "shrink-0 transition-transform duration-200", isOpen && "rotate-180") }) }) })] }));
99
+ });
100
+ SplitTrigger.displayName = "Dropdown.SplitTrigger";
101
+
102
+ const TriggerButton = React.forwardRef(({ label, icon, buttonStyle, buttonSize, buttonProps, disabled, isOpen, onClick, className, ...otherProps }, ref) => (jsxRuntime.jsx(primitives_Button.Button, { ref: ref, type: "button", variant: BUTTON_STYLE_MAP[buttonStyle], size: BUTTON_SIZE_MAP[buttonSize], disabled: disabled, className: utils.cn(buttonStyle === "danger-text" &&
103
+ "text-destructive hover:text-destructive", "gap-1.5", className), onClick: onClick, ...otherProps, ...buttonProps, children: jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5", children: [icon && renderIcon.renderIcon(icon, "size-4"), label && jsxRuntime.jsx("span", { children: label }), jsxRuntime.jsx(chevronDown.ChevronDown, { "aria-hidden": "true", className: utils.cn(CHEVRON_SIZE_MAP[buttonSize], "shrink-0 transition-transform duration-200", isOpen && "rotate-180") })] }) })));
104
+ TriggerButton.displayName = "Dropdown.TriggerButton";
105
+
106
+ const DropdownContext = React.createContext({ closeOnSelect: true });
107
+
108
+ const DropdownBase = ({ label, icon, buttonStyle = "primary", buttonSize = "medium", buttonProps, customTarget, disabled = false, children, position = "bottom-end", closeOnEsc = true, closeOnSelect = true, closeOnOutsideClick = true, isOpen: isOpenProp, onClose, onClick, className, triggerRef, dropdownProps, }) => {
109
+ const [internalOpen, setInternalOpen] = React.useState(false);
110
+ const isControlled = isOpenProp !== undefined;
111
+ const open = isControlled ? isOpenProp : internalOpen;
112
+ const handleOpenChange = React.useCallback((next) => {
113
+ if (!isControlled)
114
+ setInternalOpen(next);
115
+ if (!next)
116
+ onClose?.();
117
+ }, [isControlled, onClose]);
118
+ const side = SIDE_MAP[position] ?? "bottom";
119
+ const align = ALIGN_MAP[position] ?? "end";
120
+ // Split-button mode: onClick provided without a customTarget.
121
+ const isSplit = !!onClick && !customTarget;
122
+ const sharedTriggerProps = {
123
+ label,
124
+ icon,
125
+ buttonStyle,
126
+ buttonSize,
127
+ buttonProps,
128
+ disabled,
129
+ isOpen: open,
130
+ onClick,
131
+ };
132
+ const triggerNode = isSplit ? (jsxRuntime.jsx(SplitTrigger, { ...sharedTriggerProps, actionButtonRef: triggerRef, className: className })) : (jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuTrigger, { asChild: true, disabled: disabled, className: className, children: customTarget ? (typeof customTarget === "function" ? (customTarget({ isOpen: open })) : (customTarget)) : (jsxRuntime.jsx(TriggerButton, { ref: triggerRef, ...sharedTriggerProps })) }));
133
+ return (jsxRuntime.jsx(DropdownContext.Provider, { value: { closeOnSelect }, children: jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenu, { open: open, onOpenChange: handleOpenChange, modal: closeOnOutsideClick, children: [triggerNode, jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuContent, { side: side, align: align, onEscapeKeyDown: closeOnEsc ? undefined : e => e.preventDefault(), onInteractOutside: closeOnOutsideClick ? undefined : e => e.preventDefault(), ...dropdownProps, children: children })] }) }));
134
+ };
135
+
136
+ const Divider = React.forwardRef((props, ref) => jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuSeparator, { ref: ref, ...props }));
137
+ Divider.displayName = "Dropdown.Divider";
138
+
139
+ const Label = React.forwardRef(({ children, className, ...otherProps }, ref) => (jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuLabel, { ref: ref, className: className, ...otherProps, children: children })));
140
+ Label.displayName = "Dropdown.Label";
141
+
142
+ const Menu = React.forwardRef(({ children, className, ...otherProps }, ref) => (jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuGroup, { ref: ref, className: utils.cn("flex flex-col", className), ...otherProps, children: children })));
143
+ Menu.displayName = "Dropdown.Menu";
144
+
145
+ const MenuItemButton = React.forwardRef(({ children, isActive = false, isDisabled = false, style = "default", prefix, suffix, to, href, className, onClick, variant: _variant, disabled: _disabled, asChild: _asChild, onSelect: _onSelect, ...otherProps }, ref) => {
146
+ const { closeOnSelect } = React.useContext(DropdownContext);
147
+ const variant = MENU_ITEM_STYLE_MAP[style];
148
+ const linkHref = to ?? href;
149
+ const handleSelect = React.useCallback((e) => {
150
+ if (!closeOnSelect)
151
+ e.preventDefault();
152
+ onClick?.(e);
153
+ }, [closeOnSelect, onClick]);
154
+ const itemContent = React.useMemo(() => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [prefix && (jsxRuntime.jsx("span", { "data-slot": "menu-item-prefix", className: "shrink-0", children: prefix })), jsxRuntime.jsx("span", { className: "flex-1 truncate", children: children }), suffix && (jsxRuntime.jsx("span", { "data-slot": "menu-item-suffix", className: "ms-auto shrink-0 text-muted-foreground", children: suffix }))] })), [prefix, children, suffix]);
155
+ return (jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuItem, { ref: ref, variant: variant, disabled: isDisabled, "data-active": isActive || undefined, className: utils.cn(isActive && "bg-accent text-accent-foreground", className), asChild: !!linkHref, onSelect: handleSelect, ...otherProps, children: linkHref ? jsxRuntime.jsx("a", { href: linkHref, children: itemContent }) : itemContent }));
156
+ });
157
+ MenuItemButton.displayName = "Dropdown.MenuItem.Button";
158
+
159
+ const MenuItem = React.forwardRef(({ children, className, ...otherProps }, ref) => {
160
+ // When used without className or extra props, skip the wrapper div
161
+ // so Radix's DropdownMenuItem sits directly inside the Group.
162
+ const hasWrapper = className || ref || Object.keys(otherProps).length > 0;
163
+ if (!hasWrapper)
164
+ return jsxRuntime.jsx(jsxRuntime.Fragment, { children: children });
165
+ return (jsxRuntime.jsx("div", { ref: ref, className: className, role: "none", ...otherProps, children: children }));
166
+ });
167
+ MenuItem.displayName = "Dropdown.MenuItem";
168
+ MenuItem.Button = MenuItemButton;
169
+
170
+ const SubMenu = React.forwardRef(({ label, icon, children, className }, ref) => (jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuSub, { children: [jsxRuntime.jsxs(primitives_DropdownMenu.DropdownMenuSubTrigger, { ref: ref, className: className, children: [icon && jsxRuntime.jsx("span", { className: "shrink-0", children: renderIcon.renderIcon(icon, "size-4") }), label && jsxRuntime.jsx("span", { children: label })] }), jsxRuntime.jsx(primitives_DropdownMenu.DropdownMenuSubContent, { children: children })] })));
171
+ SubMenu.displayName = "Dropdown.SubMenu";
172
+
173
+ const DropdownMenu = DropdownBase;
174
+ DropdownMenu.displayName = "DropdownMenu";
175
+ DropdownMenu.Menu = Menu;
176
+ DropdownMenu.MenuItem = MenuItem;
177
+ DropdownMenu.Divider = Divider;
178
+ DropdownMenu.Label = Label;
179
+ DropdownMenu.SubMenu = SubMenu;
180
+
181
+ exports.DropdownMenu = DropdownMenu;
182
+ //# sourceMappingURL=DropdownMenu.js.map