@bigbinary/neeto-atoms 1.0.8 → 1.0.10

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 (660) hide show
  1. package/dist/Accordion-BzfsJePA.js +22 -0
  2. package/dist/Accordion-BzfsJePA.js.map +1 -0
  3. package/dist/Alert-D_FV8xxo.js +65 -0
  4. package/dist/Alert-D_FV8xxo.js.map +1 -0
  5. package/dist/Avatar-D5YGlXVF.js +50 -0
  6. package/dist/Avatar-D5YGlXVF.js.map +1 -0
  7. package/dist/Badge-8FkscqDt.js +59 -0
  8. package/dist/Badge-8FkscqDt.js.map +1 -0
  9. package/dist/Button-Q7MPG6ph.js +92 -0
  10. package/dist/Button-Q7MPG6ph.js.map +1 -0
  11. package/dist/Calendar-pDD7nRF-.js +8025 -0
  12. package/dist/Calendar-pDD7nRF-.js.map +1 -0
  13. package/dist/Callout-B0w4GQtx.js +65 -0
  14. package/dist/Callout-B0w4GQtx.js.map +1 -0
  15. package/dist/Checkbox-zCxgcZiC.js +24 -0
  16. package/dist/Checkbox-zCxgcZiC.js.map +1 -0
  17. package/dist/ColorPicker-D-7QGnf9.js +277 -0
  18. package/dist/ColorPicker-D-7QGnf9.js.map +1 -0
  19. package/dist/{DataTable-BKe9K5XP.js → DataTable-DWR9gX9d.js} +11 -3
  20. package/dist/{DataTable-BKe9K5XP.js.map → DataTable-DWR9gX9d.js.map} +1 -1
  21. package/dist/DatePicker-COxwHPIZ.js +2960 -0
  22. package/dist/DatePicker-COxwHPIZ.js.map +1 -0
  23. package/dist/Dialog-BURSzxaP.js +61 -0
  24. package/dist/Dialog-BURSzxaP.js.map +1 -0
  25. package/dist/Empty-B2JwFmru.js +26 -0
  26. package/dist/Empty-B2JwFmru.js.map +1 -0
  27. package/dist/Input-C1gcv9o2.js +147 -0
  28. package/dist/Input-C1gcv9o2.js.map +1 -0
  29. package/dist/Kbd-EqbC0bua.js +36 -0
  30. package/dist/Kbd-EqbC0bua.js.map +1 -0
  31. package/dist/Label-BVy4hy9Z.js +58 -0
  32. package/dist/Label-BVy4hy9Z.js.map +1 -0
  33. package/dist/MultiEmailInput-SCTYovtX.js +139 -0
  34. package/dist/MultiEmailInput-SCTYovtX.js.map +1 -0
  35. package/dist/Pagination-DSc9yXPy.js +61 -0
  36. package/dist/Pagination-DSc9yXPy.js.map +1 -0
  37. package/dist/Popover-BFMrtVPq.js +95 -0
  38. package/dist/Popover-BFMrtVPq.js.map +1 -0
  39. package/dist/Progress-B9NlUm6e.js +13 -0
  40. package/dist/Progress-B9NlUm6e.js.map +1 -0
  41. package/dist/RadioGroup-BNeYQAoT.js +34 -0
  42. package/dist/RadioGroup-BNeYQAoT.js.map +1 -0
  43. package/dist/Select-BGODpJGc.js +561 -0
  44. package/dist/Select-BGODpJGc.js.map +1 -0
  45. package/dist/{components/SelectFieldWrapper.js → SelectFieldWrapper-BJzq9aCY.js} +3 -11
  46. package/dist/SelectFieldWrapper-BJzq9aCY.js.map +1 -0
  47. package/dist/Sheet-QFC_mHyj.js +63 -0
  48. package/dist/Sheet-QFC_mHyj.js.map +1 -0
  49. package/dist/Slider-BCQXhs0Q.js +25 -0
  50. package/dist/Slider-BCQXhs0Q.js.map +1 -0
  51. package/dist/Spinner-C8HSac-2.js +17 -0
  52. package/dist/Spinner-C8HSac-2.js.map +1 -0
  53. package/dist/Stepper-BoGkmkY0.js +29 -0
  54. package/dist/Stepper-BoGkmkY0.js.map +1 -0
  55. package/dist/Switch-B83TGxJ_.js +20 -0
  56. package/dist/Switch-B83TGxJ_.js.map +1 -0
  57. package/dist/Tabs-DWfKnl3S.js +38 -0
  58. package/dist/Tabs-DWfKnl3S.js.map +1 -0
  59. package/dist/Textarea-C0z50h0N.js +73 -0
  60. package/dist/Textarea-C0z50h0N.js.map +1 -0
  61. package/dist/TimePicker-C4x62jI1.js +142 -0
  62. package/dist/TimePicker-C4x62jI1.js.map +1 -0
  63. package/dist/TimePickerPanel-CiF0RExY.js +126 -0
  64. package/dist/TimePickerPanel-CiF0RExY.js.map +1 -0
  65. package/dist/Toastr-DYqpSaMd.js +115 -0
  66. package/dist/Toastr-DYqpSaMd.js.map +1 -0
  67. package/dist/Tooltip-DhwIZnOU.js +80 -0
  68. package/dist/Tooltip-DhwIZnOU.js.map +1 -0
  69. package/dist/TranslationProvider-Ba9rn47H.js +96 -0
  70. package/dist/TranslationProvider-Ba9rn47H.js.map +1 -0
  71. package/dist/Tree-Dkr11OPy.js +7977 -0
  72. package/dist/Tree-Dkr11OPy.js.map +1 -0
  73. package/dist/TreeSelect-Cmc90YWJ.js +168 -0
  74. package/dist/TreeSelect-Cmc90YWJ.js.map +1 -0
  75. package/dist/Typography-D5TjXEfu.js +82 -0
  76. package/dist/Typography-D5TjXEfu.js.map +1 -0
  77. package/dist/cjs/Accordion-BX5I9ypV.js +28 -0
  78. package/dist/cjs/Accordion-BX5I9ypV.js.map +1 -0
  79. package/dist/cjs/Alert-BVvLyM_d.js +67 -0
  80. package/dist/cjs/Alert-BVvLyM_d.js.map +1 -0
  81. package/dist/cjs/Avatar-CNao5gvP.js +52 -0
  82. package/dist/cjs/Avatar-CNao5gvP.js.map +1 -0
  83. package/dist/cjs/Badge-STBHzYLs.js +61 -0
  84. package/dist/cjs/Badge-STBHzYLs.js.map +1 -0
  85. package/dist/cjs/Button-Bt_AElge.js +94 -0
  86. package/dist/cjs/Button-Bt_AElge.js.map +1 -0
  87. package/dist/cjs/Calendar-Nk76Y9yP.js +8066 -0
  88. package/dist/cjs/Calendar-Nk76Y9yP.js.map +1 -0
  89. package/dist/cjs/Callout-CS2U6pM7.js +67 -0
  90. package/dist/cjs/Callout-CS2U6pM7.js.map +1 -0
  91. package/dist/cjs/Checkbox-DOlS2oCD.js +26 -0
  92. package/dist/cjs/Checkbox-DOlS2oCD.js.map +1 -0
  93. package/dist/cjs/{ColorPicker-DN8aynGh.js → ColorPicker-DEELmqH8.js} +7 -10
  94. package/dist/cjs/ColorPicker-DEELmqH8.js.map +1 -0
  95. package/dist/cjs/{DataTable-BQt_mXDX.js → DataTable-CWs96k8n.js} +11 -3
  96. package/dist/cjs/{DataTable-BQt_mXDX.js.map → DataTable-CWs96k8n.js.map} +1 -1
  97. package/dist/cjs/DatePicker-DpijPndg.js +2962 -0
  98. package/dist/cjs/DatePicker-DpijPndg.js.map +1 -0
  99. package/dist/cjs/Dialog-CtI_yWsJ.js +63 -0
  100. package/dist/cjs/Dialog-CtI_yWsJ.js.map +1 -0
  101. package/dist/cjs/Empty-qzle6YvT.js +28 -0
  102. package/dist/cjs/Empty-qzle6YvT.js.map +1 -0
  103. package/dist/cjs/Input-pkugjUb0.js +149 -0
  104. package/dist/cjs/Input-pkugjUb0.js.map +1 -0
  105. package/dist/cjs/Kbd-DHirsI--.js +38 -0
  106. package/dist/cjs/Kbd-DHirsI--.js.map +1 -0
  107. package/dist/cjs/Label-DpyfZsiT.js +60 -0
  108. package/dist/cjs/Label-DpyfZsiT.js.map +1 -0
  109. package/dist/cjs/MultiEmailInput-l0_YVjbp.js +141 -0
  110. package/dist/cjs/MultiEmailInput-l0_YVjbp.js.map +1 -0
  111. package/dist/cjs/Pagination-Byzt9Kmj.js +63 -0
  112. package/dist/cjs/Pagination-Byzt9Kmj.js.map +1 -0
  113. package/dist/cjs/Popover-LIxANoTc.js +101 -0
  114. package/dist/cjs/Popover-LIxANoTc.js.map +1 -0
  115. package/dist/cjs/Progress-DoCxZ_ZH.js +15 -0
  116. package/dist/cjs/Progress-DoCxZ_ZH.js.map +1 -0
  117. package/dist/cjs/RadioGroup-1RAoe38m.js +36 -0
  118. package/dist/cjs/RadioGroup-1RAoe38m.js.map +1 -0
  119. package/dist/cjs/Select-DOPZHlqc.js +567 -0
  120. package/dist/cjs/Select-DOPZHlqc.js.map +1 -0
  121. package/dist/cjs/{components/SelectFieldWrapper.js → SelectFieldWrapper-DEA--2wj.js} +2 -10
  122. package/dist/cjs/SelectFieldWrapper-DEA--2wj.js.map +1 -0
  123. package/dist/cjs/Sheet-CIhtNCBV.js +65 -0
  124. package/dist/cjs/Sheet-CIhtNCBV.js.map +1 -0
  125. package/dist/cjs/Slider-jNUS9vt8.js +27 -0
  126. package/dist/cjs/Slider-jNUS9vt8.js.map +1 -0
  127. package/dist/cjs/Spinner-DQutDMQq.js +19 -0
  128. package/dist/cjs/Spinner-DQutDMQq.js.map +1 -0
  129. package/dist/cjs/Stepper-DCoLl2ZS.js +35 -0
  130. package/dist/cjs/Stepper-DCoLl2ZS.js.map +1 -0
  131. package/dist/cjs/Switch-CFf8DtB_.js +22 -0
  132. package/dist/cjs/Switch-CFf8DtB_.js.map +1 -0
  133. package/dist/cjs/Tabs-D2247rd7.js +40 -0
  134. package/dist/cjs/Tabs-D2247rd7.js.map +1 -0
  135. package/dist/cjs/Textarea-BfdlAJ59.js +75 -0
  136. package/dist/cjs/Textarea-BfdlAJ59.js.map +1 -0
  137. package/dist/cjs/TimePicker-Ba2FdT1O.js +144 -0
  138. package/dist/cjs/TimePicker-Ba2FdT1O.js.map +1 -0
  139. package/dist/cjs/TimePickerPanel-DGNr97cj.js +132 -0
  140. package/dist/cjs/TimePickerPanel-DGNr97cj.js.map +1 -0
  141. package/dist/cjs/Toastr-BGp7-kmf.js +117 -0
  142. package/dist/cjs/Toastr-BGp7-kmf.js.map +1 -0
  143. package/dist/cjs/Tooltip-CtxI7QBY.js +86 -0
  144. package/dist/cjs/Tooltip-CtxI7QBY.js.map +1 -0
  145. package/dist/cjs/TranslationProvider-DBZHXmzX.js +103 -0
  146. package/dist/cjs/TranslationProvider-DBZHXmzX.js.map +1 -0
  147. package/dist/cjs/Tree-qpOcsGL9.js +7985 -0
  148. package/dist/cjs/Tree-qpOcsGL9.js.map +1 -0
  149. package/dist/cjs/TreeSelect-DiIEdiAU.js +170 -0
  150. package/dist/cjs/TreeSelect-DiIEdiAU.js.map +1 -0
  151. package/dist/cjs/Typography-C3rGpmAY.js +104 -0
  152. package/dist/cjs/Typography-C3rGpmAY.js.map +1 -0
  153. package/dist/cjs/components/Accordion.js +6 -28
  154. package/dist/cjs/components/Accordion.js.map +1 -1
  155. package/dist/cjs/components/Alert.js +10 -67
  156. package/dist/cjs/components/Alert.js.map +1 -1
  157. package/dist/cjs/components/Avatar.js +32 -0
  158. package/dist/cjs/components/Avatar.js.map +1 -0
  159. package/dist/cjs/components/Badge.js +10 -62
  160. package/dist/cjs/components/Badge.js.map +1 -1
  161. package/dist/cjs/components/Button.js +11 -94
  162. package/dist/cjs/components/Button.js.map +1 -1
  163. package/dist/cjs/components/Callout.js +16 -0
  164. package/dist/cjs/components/Callout.js.map +1 -0
  165. package/dist/cjs/components/Checkbox.js +8 -24
  166. package/dist/cjs/components/Checkbox.js.map +1 -1
  167. package/dist/cjs/components/ColorPicker.js +3 -1
  168. package/dist/cjs/components/ColorPicker.js.map +1 -1
  169. package/dist/cjs/components/DataTable.js +3 -2
  170. package/dist/cjs/components/DataTable.js.map +1 -1
  171. package/dist/cjs/components/DatePicker.js +45 -0
  172. package/dist/cjs/components/DatePicker.js.map +1 -0
  173. package/dist/cjs/components/Dialog.js +9 -64
  174. package/dist/cjs/components/Dialog.js.map +1 -1
  175. package/dist/cjs/components/DropdownMenu.js +3 -1
  176. package/dist/cjs/components/DropdownMenu.js.map +1 -1
  177. package/dist/cjs/components/Empty.js +40 -0
  178. package/dist/cjs/components/Empty.js.map +1 -0
  179. package/dist/cjs/components/Input.js +8 -151
  180. package/dist/cjs/components/Input.js.map +1 -1
  181. package/dist/cjs/components/Kbd.js +30 -0
  182. package/dist/cjs/components/Kbd.js.map +1 -0
  183. package/dist/cjs/components/Label.js +43 -0
  184. package/dist/cjs/components/Label.js.map +1 -0
  185. package/dist/cjs/components/MultiEmailInput.js +20 -0
  186. package/dist/cjs/components/MultiEmailInput.js.map +1 -0
  187. package/dist/cjs/components/Pagination.js +21 -0
  188. package/dist/cjs/components/Pagination.js.map +1 -0
  189. package/dist/cjs/components/Popover.js +7 -103
  190. package/dist/cjs/components/Popover.js.map +1 -1
  191. package/dist/cjs/components/Progress.js +16 -0
  192. package/dist/cjs/components/Progress.js.map +1 -0
  193. package/dist/cjs/components/RadioGroup.js +9 -40
  194. package/dist/cjs/components/RadioGroup.js.map +1 -1
  195. package/dist/cjs/components/Select.js +33 -0
  196. package/dist/cjs/components/Select.js.map +1 -1
  197. package/dist/cjs/components/Sheet.js +9 -66
  198. package/dist/cjs/components/Sheet.js.map +1 -1
  199. package/dist/cjs/components/Slider.js +28 -0
  200. package/dist/cjs/components/Slider.js.map +1 -0
  201. package/dist/cjs/components/Spinner.js +15 -0
  202. package/dist/cjs/components/Spinner.js.map +1 -0
  203. package/dist/cjs/components/Stepper.js +13 -0
  204. package/dist/cjs/components/Stepper.js.map +1 -0
  205. package/dist/cjs/components/Switch.js +8 -20
  206. package/dist/cjs/components/Switch.js.map +1 -1
  207. package/dist/cjs/components/Tabs.js +8 -55
  208. package/dist/cjs/components/Tabs.js.map +1 -1
  209. package/dist/cjs/components/Textarea.js +8 -77
  210. package/dist/cjs/components/Textarea.js.map +1 -1
  211. package/dist/cjs/components/TimePicker.js +42 -0
  212. package/dist/cjs/components/TimePicker.js.map +1 -0
  213. package/dist/cjs/components/Toastr.js +4 -126
  214. package/dist/cjs/components/Toastr.js.map +1 -1
  215. package/dist/cjs/components/Tooltip.js +5 -85
  216. package/dist/cjs/components/Tooltip.js.map +1 -1
  217. package/dist/cjs/components/TranslationProvider.js +12 -0
  218. package/dist/cjs/components/TranslationProvider.js.map +1 -0
  219. package/dist/cjs/components/Tree.js +62 -0
  220. package/dist/cjs/components/Tree.js.map +1 -0
  221. package/dist/cjs/components/TreeSelect.js +45 -0
  222. package/dist/cjs/components/TreeSelect.js.map +1 -0
  223. package/dist/cjs/components/Typography.js +8 -98
  224. package/dist/cjs/components/Typography.js.map +1 -1
  225. package/dist/cjs/{dialog-CF2GBHOG.js → dialog-Bvyrshz3.js} +4 -2
  226. package/dist/cjs/dialog-Bvyrshz3.js.map +1 -0
  227. package/dist/cjs/formik/Button.js +45 -0
  228. package/dist/cjs/formik/Button.js.map +1 -0
  229. package/dist/cjs/formik/Checkbox.js +38 -0
  230. package/dist/cjs/formik/Checkbox.js.map +1 -0
  231. package/dist/cjs/formik/Form.js +116 -0
  232. package/dist/cjs/formik/Form.js.map +1 -0
  233. package/dist/cjs/formik/Input.js +38 -0
  234. package/dist/cjs/formik/Input.js.map +1 -0
  235. package/dist/cjs/formik/MultiEmailInput.js +31 -0
  236. package/dist/cjs/formik/MultiEmailInput.js.map +1 -0
  237. package/dist/cjs/formik/RadioGroup.js +44 -0
  238. package/dist/cjs/formik/RadioGroup.js.map +1 -0
  239. package/dist/cjs/formik/Select.js +61 -0
  240. package/dist/cjs/formik/Select.js.map +1 -0
  241. package/dist/cjs/formik/Slider.js +39 -0
  242. package/dist/cjs/formik/Slider.js.map +1 -0
  243. package/dist/cjs/formik/Switch.js +33 -0
  244. package/dist/cjs/formik/Switch.js.map +1 -0
  245. package/dist/cjs/formik/Textarea.js +34 -0
  246. package/dist/cjs/formik/Textarea.js.map +1 -0
  247. package/dist/cjs/formik/TreeSelect.js +56 -0
  248. package/dist/cjs/formik/TreeSelect.js.map +1 -0
  249. package/dist/cjs/formik/index.js +101 -0
  250. package/dist/cjs/formik/index.js.map +1 -0
  251. package/dist/cjs/index.js +332 -408
  252. package/dist/cjs/index.js.map +1 -1
  253. package/dist/cjs/primitives/Breadcrumb.js +5 -2
  254. package/dist/cjs/primitives/Breadcrumb.js.map +1 -1
  255. package/dist/cjs/primitives/Calendar.js +10 -8020
  256. package/dist/cjs/primitives/Calendar.js.map +1 -1
  257. package/dist/cjs/primitives/Carousel.js +5 -2
  258. package/dist/cjs/primitives/Carousel.js.map +1 -1
  259. package/dist/cjs/primitives/Chart.js +410 -207
  260. package/dist/cjs/primitives/Chart.js.map +1 -1
  261. package/dist/cjs/primitives/Combobox.js +783 -1096
  262. package/dist/cjs/primitives/Combobox.js.map +1 -1
  263. package/dist/cjs/primitives/Command.js +6 -2
  264. package/dist/cjs/primitives/Command.js.map +1 -1
  265. package/dist/cjs/primitives/Dialog.js +2 -1
  266. package/dist/cjs/primitives/Dialog.js.map +1 -1
  267. package/dist/cjs/primitives/Pagination.js +12 -6
  268. package/dist/cjs/primitives/Pagination.js.map +1 -1
  269. package/dist/cjs/primitives/Resizable.js +799 -778
  270. package/dist/cjs/primitives/Resizable.js.map +1 -1
  271. package/dist/cjs/primitives/ScrollArea.js +10 -10
  272. package/dist/cjs/primitives/Select.js +77 -77
  273. package/dist/cjs/primitives/Sheet.js +2 -1
  274. package/dist/cjs/primitives/Sheet.js.map +1 -1
  275. package/dist/cjs/primitives/Sidebar.js +8 -4
  276. package/dist/cjs/primitives/Sidebar.js.map +1 -1
  277. package/dist/cjs/primitives/Sonner.js +7 -42
  278. package/dist/cjs/primitives/Sonner.js.map +1 -1
  279. package/dist/cjs/primitives/Spinner.js +3 -1
  280. package/dist/cjs/primitives/Spinner.js.map +1 -1
  281. package/dist/cjs/primitives/index.js +7 -4
  282. package/dist/cjs/primitives/index.js.map +1 -1
  283. package/dist/cjs/redux-DEF7lAd1.js +240 -0
  284. package/dist/cjs/redux-DEF7lAd1.js.map +1 -0
  285. package/dist/cjs/{sheet-CkCrHmVA.js → sheet-BZHMKVH1.js} +4 -2
  286. package/dist/cjs/sheet-BZHMKVH1.js.map +1 -0
  287. package/dist/cjs/triangle-alert-ZUMRpmzW.js +43 -0
  288. package/dist/cjs/triangle-alert-ZUMRpmzW.js.map +1 -0
  289. package/dist/cjs/with-selector-DeKHbQY7.js +121 -0
  290. package/dist/cjs/with-selector-DeKHbQY7.js.map +1 -0
  291. package/dist/components/Accordion/index.d.ts +2 -0
  292. package/dist/components/Accordion.js +5 -27
  293. package/dist/components/Accordion.js.map +1 -1
  294. package/dist/components/{Alert.d.ts → Alert/Alert.d.ts} +2 -2
  295. package/dist/components/Alert/constants.d.ts +3 -0
  296. package/dist/components/Alert/index.d.ts +2 -0
  297. package/dist/components/Alert.js +11 -72
  298. package/dist/components/Alert.js.map +1 -1
  299. package/dist/components/Avatar/Avatar.d.ts +31 -0
  300. package/dist/components/Avatar/constants.d.ts +3 -0
  301. package/dist/components/Avatar/index.d.ts +2 -0
  302. package/dist/components/Avatar/utils.d.ts +1 -0
  303. package/dist/components/Avatar.js +26 -0
  304. package/dist/components/Avatar.js.map +1 -0
  305. package/dist/components/{Badge.d.ts → Badge/Badge.d.ts} +1 -1
  306. package/dist/components/Badge/constants.d.ts +25 -0
  307. package/dist/components/Badge/index.d.ts +2 -0
  308. package/dist/components/Badge.js +8 -64
  309. package/dist/components/Badge.js.map +1 -1
  310. package/dist/components/Button/constants.d.ts +5 -0
  311. package/dist/components/Button/index.d.ts +2 -0
  312. package/dist/components/Button.js +12 -99
  313. package/dist/components/Button.js.map +1 -1
  314. package/dist/components/Callout/Callout.d.ts +17 -0
  315. package/dist/components/Callout/constants.d.ts +8 -0
  316. package/dist/components/Callout/index.d.ts +2 -0
  317. package/dist/components/Callout.js +10 -0
  318. package/dist/components/Callout.js.map +1 -0
  319. package/dist/components/Checkbox/index.d.ts +2 -0
  320. package/dist/components/Checkbox.js +6 -26
  321. package/dist/components/Checkbox.js.map +1 -1
  322. package/dist/components/ColorPicker.js +5 -3
  323. package/dist/components/ColorPicker.js.map +1 -1
  324. package/dist/components/DataTable/components/EmptyState.d.ts +1 -1
  325. package/dist/components/DataTable.js +6 -5
  326. package/dist/components/DataTable.js.map +1 -1
  327. package/dist/components/DatePicker/DatePicker.d.ts +4 -0
  328. package/dist/components/DatePicker/DatePickerFooter.d.ts +12 -0
  329. package/dist/components/DatePicker/TimezoneSelect.d.ts +8 -0
  330. package/dist/components/DatePicker/constants.d.ts +17 -0
  331. package/dist/components/DatePicker/index.d.ts +2 -0
  332. package/dist/components/DatePicker/types.d.ts +56 -0
  333. package/dist/components/DatePicker/utils.d.ts +6 -0
  334. package/dist/components/DatePicker.js +39 -0
  335. package/dist/components/DatePicker.js.map +1 -0
  336. package/dist/components/{Dialog.d.ts → Dialog/Dialog.d.ts} +1 -1
  337. package/dist/components/Dialog/constants.d.ts +2 -0
  338. package/dist/components/Dialog/index.d.ts +2 -0
  339. package/dist/components/Dialog.js +7 -66
  340. package/dist/components/Dialog.js.map +1 -1
  341. package/dist/components/DropdownMenu.js +6 -4
  342. package/dist/components/DropdownMenu.js.map +1 -1
  343. package/dist/components/Empty/Empty.d.ts +27 -0
  344. package/dist/components/Empty/index.d.ts +2 -0
  345. package/dist/components/Empty.js +34 -0
  346. package/dist/components/Empty.js.map +1 -0
  347. package/dist/components/Input/constants.d.ts +17 -0
  348. package/dist/components/Input/index.d.ts +2 -0
  349. package/dist/components/Input/utils.d.ts +7 -0
  350. package/dist/components/Input.js +6 -153
  351. package/dist/components/Input.js.map +1 -1
  352. package/dist/components/Kbd/Kbd.d.ts +15 -0
  353. package/dist/components/Kbd/constants.d.ts +1 -0
  354. package/dist/components/Kbd/index.d.ts +2 -0
  355. package/dist/components/Kbd.js +24 -0
  356. package/dist/components/Kbd.js.map +1 -0
  357. package/dist/components/Label/Label.d.ts +40 -0
  358. package/dist/components/Label/constants.d.ts +1 -0
  359. package/dist/components/Label/index.d.ts +2 -0
  360. package/dist/components/Label.js +37 -0
  361. package/dist/components/Label.js.map +1 -0
  362. package/dist/components/MultiEmailInput/MultiEmailInput.d.ts +3 -0
  363. package/dist/components/MultiEmailInput/constants.d.ts +3 -0
  364. package/dist/components/MultiEmailInput/index.d.ts +2 -0
  365. package/dist/components/MultiEmailInput/types.d.ts +53 -0
  366. package/dist/components/MultiEmailInput/useMultiEmailState.d.ts +18 -0
  367. package/dist/components/MultiEmailInput/utils.d.ts +9 -0
  368. package/dist/components/MultiEmailInput.js +14 -0
  369. package/dist/components/MultiEmailInput.js.map +1 -0
  370. package/dist/components/Pagination/Pagination.d.ts +18 -0
  371. package/dist/components/Pagination/constants.d.ts +1 -0
  372. package/dist/components/Pagination/hooks/usePaginationRange.d.ts +7 -0
  373. package/dist/components/Pagination/index.d.ts +2 -0
  374. package/dist/components/Pagination/utils.d.ts +1 -0
  375. package/dist/components/Pagination.js +15 -0
  376. package/dist/components/Pagination.js.map +1 -0
  377. package/dist/components/Popover/constants.d.ts +2 -0
  378. package/dist/components/Popover/index.d.ts +2 -0
  379. package/dist/components/Popover.js +8 -104
  380. package/dist/components/Popover.js.map +1 -1
  381. package/dist/components/Progress/Progress.d.ts +12 -0
  382. package/dist/components/Progress/index.d.ts +2 -0
  383. package/dist/components/Progress.js +10 -0
  384. package/dist/components/Progress.js.map +1 -0
  385. package/dist/components/RadioGroup/index.d.ts +2 -0
  386. package/dist/components/RadioGroup.js +7 -42
  387. package/dist/components/RadioGroup.js.map +1 -1
  388. package/dist/components/Select/MultiSelectCombobox.d.ts +2 -0
  389. package/dist/components/{MultiSelectCombobox.types.d.ts → Select/MultiSelectCombobox.types.d.ts} +3 -13
  390. package/dist/components/{OptionItem.d.ts → Select/OptionItem.d.ts} +1 -1
  391. package/dist/components/Select/Select.d.ts +5 -0
  392. package/dist/components/Select/SelectCombobox.d.ts +2 -0
  393. package/dist/components/Select/SelectCombobox.types.d.ts +73 -0
  394. package/dist/components/Select/dropdown.types.d.ts +12 -0
  395. package/dist/components/Select/index.d.ts +2 -0
  396. package/dist/components/Select/types.d.ts +148 -0
  397. package/dist/components/{MultiSelect.utils.d.ts → Select/utils.d.ts} +1 -1
  398. package/dist/components/Select.js +29 -1
  399. package/dist/components/Select.js.map +1 -1
  400. package/dist/components/Sheet/constants.d.ts +3 -0
  401. package/dist/components/Sheet/index.d.ts +2 -0
  402. package/dist/components/Sheet.js +7 -68
  403. package/dist/components/Sheet.js.map +1 -1
  404. package/dist/components/Slider/Slider.d.ts +19 -0
  405. package/dist/components/Slider/index.d.ts +2 -0
  406. package/dist/components/Slider.js +22 -0
  407. package/dist/components/Slider.js.map +1 -0
  408. package/dist/components/Spinner/Spinner.d.ts +10 -0
  409. package/dist/components/Spinner/constants.d.ts +1 -0
  410. package/dist/components/Spinner/index.d.ts +2 -0
  411. package/dist/components/Spinner.js +9 -0
  412. package/dist/components/Spinner.js.map +1 -0
  413. package/dist/components/Stepper/Stepper.d.ts +18 -0
  414. package/dist/components/Stepper/index.d.ts +2 -0
  415. package/dist/components/Stepper.js +7 -0
  416. package/dist/components/Stepper.js.map +1 -0
  417. package/dist/components/Switch/index.d.ts +2 -0
  418. package/dist/components/Switch.js +6 -22
  419. package/dist/components/Switch.js.map +1 -1
  420. package/dist/components/Tabs/constants.d.ts +5 -0
  421. package/dist/components/Tabs/index.d.ts +2 -0
  422. package/dist/components/Tabs.js +6 -57
  423. package/dist/components/Tabs.js.map +1 -1
  424. package/dist/components/{Textarea.d.ts → Textarea/Textarea.d.ts} +1 -1
  425. package/dist/components/Textarea/constants.d.ts +5 -0
  426. package/dist/components/Textarea/index.d.ts +2 -0
  427. package/dist/components/Textarea/utils.d.ts +2 -0
  428. package/dist/components/Textarea.js +6 -79
  429. package/dist/components/Textarea.js.map +1 -1
  430. package/dist/components/TimePicker/TimeColumn.d.ts +11 -0
  431. package/dist/components/TimePicker/TimePicker.d.ts +4 -0
  432. package/dist/components/TimePicker/TimePickerPanel.d.ts +4 -0
  433. package/dist/components/TimePicker/constants.d.ts +3 -0
  434. package/dist/components/TimePicker/index.d.ts +3 -0
  435. package/dist/components/TimePicker/types.d.ts +61 -0
  436. package/dist/components/TimePicker/utils.d.ts +11 -0
  437. package/dist/components/TimePicker.js +35 -0
  438. package/dist/components/TimePicker.js.map +1 -0
  439. package/dist/components/{Toastr.d.ts → Toastr/Toastr.d.ts} +2 -2
  440. package/dist/components/Toastr/index.d.ts +2 -0
  441. package/dist/components/Toastr/utils.d.ts +10 -0
  442. package/dist/components/Toastr.js +2 -128
  443. package/dist/components/Toastr.js.map +1 -1
  444. package/dist/components/Tooltip/constants.d.ts +2 -0
  445. package/dist/components/Tooltip/index.d.ts +2 -0
  446. package/dist/components/Tooltip.js +7 -87
  447. package/dist/components/Tooltip.js.map +1 -1
  448. package/dist/components/TranslationProvider/TranslationProvider.d.ts +6 -0
  449. package/dist/components/TranslationProvider/i18n.d.ts +1 -0
  450. package/dist/components/TranslationProvider/index.d.ts +2 -0
  451. package/dist/components/TranslationProvider/types.d.ts +7 -0
  452. package/dist/components/TranslationProvider.js +6 -0
  453. package/dist/components/TranslationProvider.js.map +1 -0
  454. package/dist/components/Tree/Tree.d.ts +2 -0
  455. package/dist/components/Tree/TreeContext.d.ts +26 -0
  456. package/dist/components/Tree/components/SwitcherIcon.d.ts +6 -0
  457. package/dist/components/Tree/components/TreeCheckbox.d.ts +8 -0
  458. package/dist/components/Tree/components/TreeNode.d.ts +3 -0
  459. package/dist/components/Tree/constants.d.ts +3 -0
  460. package/dist/components/Tree/hooks/useTreeCheck.d.ts +18 -0
  461. package/dist/components/Tree/hooks/useTreeExpansion.d.ts +18 -0
  462. package/dist/components/Tree/hooks/useTreeSelection.d.ts +16 -0
  463. package/dist/components/Tree/index.d.ts +3 -0
  464. package/dist/components/Tree/types.d.ts +110 -0
  465. package/dist/components/Tree/utils/adapter.d.ts +10 -0
  466. package/dist/components/Tree/utils/checkCascade.d.ts +5 -0
  467. package/dist/components/Tree/utils/search.d.ts +10 -0
  468. package/dist/components/Tree.js +57 -0
  469. package/dist/components/Tree.js.map +1 -0
  470. package/dist/components/TreeSelect/TreeSelect.d.ts +3 -0
  471. package/dist/components/TreeSelect/TreeSelectTrigger.d.ts +14 -0
  472. package/dist/components/{Select.constants.d.ts → TreeSelect/constants.d.ts} +2 -2
  473. package/dist/components/TreeSelect/hooks/useTreeSelectState.d.ts +30 -0
  474. package/dist/components/TreeSelect/hooks/useTreeSelectValue.d.ts +19 -0
  475. package/dist/components/TreeSelect/index.d.ts +2 -0
  476. package/dist/components/TreeSelect/types.d.ts +49 -0
  477. package/dist/components/TreeSelect/utils/pruneTree.d.ts +2 -0
  478. package/dist/components/TreeSelect/utils/resolveFieldNames.d.ts +5 -0
  479. package/dist/components/TreeSelect.js +39 -0
  480. package/dist/components/TreeSelect.js.map +1 -0
  481. package/dist/components/{Typography.d.ts → Typography/Typography.d.ts} +2 -2
  482. package/dist/components/Typography/index.d.ts +1 -0
  483. package/dist/components/Typography.js +6 -81
  484. package/dist/components/Typography.js.map +1 -1
  485. package/dist/{dialog-Civ9r6wD.js → dialog-CrB6N_2a.js} +4 -2
  486. package/dist/dialog-CrB6N_2a.js.map +1 -0
  487. package/dist/{floating-ui.react-dom-CcGbtPEK.js → floating-ui.react-dom-D8_f_WWh.js} +2 -2
  488. package/dist/{floating-ui.react-dom-CcGbtPEK.js.map → floating-ui.react-dom-D8_f_WWh.js.map} +1 -1
  489. package/dist/formik/Button.d.ts +7 -0
  490. package/dist/formik/Button.js +43 -0
  491. package/dist/formik/Button.js.map +1 -0
  492. package/dist/formik/Checkbox.d.ts +8 -0
  493. package/dist/formik/Checkbox.js +36 -0
  494. package/dist/formik/Checkbox.js.map +1 -0
  495. package/dist/formik/Form/FormWrapper.d.ts +9 -0
  496. package/dist/formik/Form/ScrollToErrorField/index.d.ts +5 -0
  497. package/dist/formik/Form/ScrollToErrorField/utils.d.ts +2 -0
  498. package/dist/formik/Form/index.d.ts +16 -0
  499. package/dist/formik/Form.js +114 -0
  500. package/dist/formik/Form.js.map +1 -0
  501. package/dist/formik/Input.d.ts +8 -0
  502. package/dist/formik/Input.js +36 -0
  503. package/dist/formik/Input.js.map +1 -0
  504. package/dist/formik/MultiEmailInput.d.ts +7 -0
  505. package/dist/formik/MultiEmailInput.js +29 -0
  506. package/dist/formik/MultiEmailInput.js.map +1 -0
  507. package/dist/formik/RadioGroup.js +42 -0
  508. package/dist/formik/RadioGroup.js.map +1 -0
  509. package/dist/formik/Select.d.ts +7 -0
  510. package/dist/formik/Select.js +59 -0
  511. package/dist/formik/Select.js.map +1 -0
  512. package/dist/formik/Slider.d.ts +8 -0
  513. package/dist/formik/Slider.js +37 -0
  514. package/dist/formik/Slider.js.map +1 -0
  515. package/dist/formik/Switch.d.ts +10 -0
  516. package/dist/formik/Switch.js +31 -0
  517. package/dist/formik/Switch.js.map +1 -0
  518. package/dist/formik/Textarea.d.ts +8 -0
  519. package/dist/formik/Textarea.js +32 -0
  520. package/dist/formik/Textarea.js.map +1 -0
  521. package/dist/formik/TreeSelect.d.ts +7 -0
  522. package/dist/formik/TreeSelect.js +54 -0
  523. package/dist/formik/TreeSelect.js.map +1 -0
  524. package/dist/formik/index.d.ts +22 -0
  525. package/dist/formik/index.js +85 -0
  526. package/dist/formik/index.js.map +1 -0
  527. package/dist/hooks/useAsyncOptions.d.ts +4 -4
  528. package/dist/hooks/useComboboxAnchor.d.ts +6 -0
  529. package/dist/hooks/useCreatableItems.d.ts +1 -1
  530. package/dist/hooks/useMultiSelectOptions.d.ts +22 -4
  531. package/dist/hooks/useMultiSelectState.d.ts +7 -4
  532. package/dist/hooks/useSelectState.d.ts +39 -14
  533. package/dist/{index-ByEpUy7w.js → index-C3hByjk3.js} +2 -2
  534. package/dist/{index-ByEpUy7w.js.map → index-C3hByjk3.js.map} +1 -1
  535. package/dist/{index-KzJfsx-e.js → index-DLPtgEJ_.js} +2 -2
  536. package/dist/{index-KzJfsx-e.js.map → index-DLPtgEJ_.js.map} +1 -1
  537. package/dist/index.css +2 -1
  538. package/dist/index.d.ts +34 -2
  539. package/dist/index.js +294 -392
  540. package/dist/index.js.map +1 -1
  541. package/dist/primitives/Breadcrumb.js +5 -2
  542. package/dist/primitives/Breadcrumb.js.map +1 -1
  543. package/dist/primitives/Calendar.js +8 -8003
  544. package/dist/primitives/Calendar.js.map +1 -1
  545. package/dist/primitives/Carousel.js +5 -2
  546. package/dist/primitives/Carousel.js.map +1 -1
  547. package/dist/primitives/Chart.js +253 -50
  548. package/dist/primitives/Chart.js.map +1 -1
  549. package/dist/primitives/Combobox.d.ts +3 -3
  550. package/dist/primitives/Combobox.js +787 -1100
  551. package/dist/primitives/Combobox.js.map +1 -1
  552. package/dist/primitives/Command.js +6 -2
  553. package/dist/primitives/Command.js.map +1 -1
  554. package/dist/primitives/ContextMenu.js +3 -3
  555. package/dist/primitives/Dialog.js +2 -1
  556. package/dist/primitives/Dialog.js.map +1 -1
  557. package/dist/primitives/DropdownMenu.js +3 -3
  558. package/dist/primitives/HoverCard.js +2 -2
  559. package/dist/primitives/Menubar.js +3 -3
  560. package/dist/primitives/Pagination.js +12 -6
  561. package/dist/primitives/Pagination.js.map +1 -1
  562. package/dist/primitives/Popover.js +2 -2
  563. package/dist/primitives/Resizable.js +799 -778
  564. package/dist/primitives/Resizable.js.map +1 -1
  565. package/dist/primitives/Select.js +4 -4
  566. package/dist/primitives/Sheet.js +2 -1
  567. package/dist/primitives/Sheet.js.map +1 -1
  568. package/dist/primitives/Sidebar.js +11 -7
  569. package/dist/primitives/Sidebar.js.map +1 -1
  570. package/dist/primitives/Sonner.js +5 -40
  571. package/dist/primitives/Sonner.js.map +1 -1
  572. package/dist/primitives/Spinner.js +3 -1
  573. package/dist/primitives/Spinner.js.map +1 -1
  574. package/dist/primitives/Tooltip.js +3 -3
  575. package/dist/primitives/index.js +11 -8
  576. package/dist/primitives/index.js.map +1 -1
  577. package/dist/redux-BKH6DnBB.js +235 -0
  578. package/dist/redux-BKH6DnBB.js.map +1 -0
  579. package/dist/shadcn/components/combobox.d.ts +1 -1
  580. package/dist/shadcn/components/command.d.ts +1 -1
  581. package/dist/shadcn/components/pagination.d.ts +2 -2
  582. package/dist/shadcn/components/typography.d.ts +4 -4
  583. package/dist/{sheet-COcn22fC.js → sheet-C763FqIh.js} +4 -2
  584. package/dist/sheet-C763FqIh.js.map +1 -0
  585. package/dist/{tooltip-DzjIJacP.js → tooltip-XkHLgxlU.js} +2 -2
  586. package/dist/{tooltip-DzjIJacP.js.map → tooltip-XkHLgxlU.js.map} +1 -1
  587. package/dist/translations/index.d.ts +66 -0
  588. package/dist/triangle-alert-PXnNWQy_.js +40 -0
  589. package/dist/triangle-alert-PXnNWQy_.js.map +1 -0
  590. package/dist/utils/dayjs/index.d.ts +4 -0
  591. package/dist/utils/dayjs/timezonePlugin.d.ts +3 -0
  592. package/dist/with-selector-Dv0G_V_o.js +115 -0
  593. package/dist/with-selector-Dv0G_V_o.js.map +1 -0
  594. package/package.json +54 -36
  595. package/dist/ColorPicker-BPvxDGDM.js +0 -276
  596. package/dist/ColorPicker-BPvxDGDM.js.map +0 -1
  597. package/dist/cjs/ColorPicker-DN8aynGh.js.map +0 -1
  598. package/dist/cjs/components/MultiSelect.js +0 -13
  599. package/dist/cjs/components/MultiSelect.js.map +0 -1
  600. package/dist/cjs/components/MultiSelectCombobox.js +0 -3
  601. package/dist/cjs/components/MultiSelectCombobox.js.map +0 -1
  602. package/dist/cjs/components/MultiSelectDropdown.js +0 -37
  603. package/dist/cjs/components/MultiSelectDropdown.js.map +0 -1
  604. package/dist/cjs/components/OptionItem.js +0 -34
  605. package/dist/cjs/components/OptionItem.js.map +0 -1
  606. package/dist/cjs/components/SelectFieldWrapper.js.map +0 -1
  607. package/dist/cjs/components/SelectOptions.js +0 -43
  608. package/dist/cjs/components/SelectOptions.js.map +0 -1
  609. package/dist/cjs/components/SelectTriggerContent.js +0 -43
  610. package/dist/cjs/components/SelectTriggerContent.js.map +0 -1
  611. package/dist/cjs/components/shared.js +0 -8
  612. package/dist/cjs/components/shared.js.map +0 -1
  613. package/dist/cjs/dialog-CF2GBHOG.js.map +0 -1
  614. package/dist/cjs/sheet-CkCrHmVA.js.map +0 -1
  615. package/dist/cjs/useCreatableItems-BTHtd7uo.js +0 -100
  616. package/dist/cjs/useCreatableItems-BTHtd7uo.js.map +0 -1
  617. package/dist/cjs/with-selector-u4xTSzCv.js +0 -457
  618. package/dist/cjs/with-selector-u4xTSzCv.js.map +0 -1
  619. package/dist/components/MultiSelect.d.ts +0 -4
  620. package/dist/components/MultiSelect.js +0 -4
  621. package/dist/components/MultiSelect.js.map +0 -1
  622. package/dist/components/MultiSelect.types.d.ts +0 -121
  623. package/dist/components/MultiSelectCombobox.d.ts +0 -3
  624. package/dist/components/MultiSelectCombobox.js +0 -2
  625. package/dist/components/MultiSelectCombobox.js.map +0 -1
  626. package/dist/components/MultiSelectDropdown.js +0 -35
  627. package/dist/components/MultiSelectDropdown.js.map +0 -1
  628. package/dist/components/OptionItem.js +0 -32
  629. package/dist/components/OptionItem.js.map +0 -1
  630. package/dist/components/Select.d.ts +0 -4
  631. package/dist/components/Select.types.d.ts +0 -58
  632. package/dist/components/SelectFieldWrapper.js.map +0 -1
  633. package/dist/components/SelectOptions.d.ts +0 -2
  634. package/dist/components/SelectOptions.js +0 -41
  635. package/dist/components/SelectOptions.js.map +0 -1
  636. package/dist/components/SelectTriggerContent.d.ts +0 -18
  637. package/dist/components/SelectTriggerContent.js +0 -41
  638. package/dist/components/SelectTriggerContent.js.map +0 -1
  639. package/dist/components/shared.js +0 -6
  640. package/dist/components/shared.js.map +0 -1
  641. package/dist/components/shared.types.d.ts +0 -16
  642. package/dist/dialog-Civ9r6wD.js.map +0 -1
  643. package/dist/sheet-COcn22fC.js.map +0 -1
  644. package/dist/useCreatableItems-B0seQA1_.js +0 -89
  645. package/dist/useCreatableItems-B0seQA1_.js.map +0 -1
  646. package/dist/with-selector--fY1NrB9.js +0 -448
  647. package/dist/with-selector--fY1NrB9.js.map +0 -1
  648. /package/dist/components/{Accordion.d.ts → Accordion/Accordion.d.ts} +0 -0
  649. /package/dist/components/{Button.d.ts → Button/Button.d.ts} +0 -0
  650. /package/dist/components/{Checkbox.d.ts → Checkbox/Checkbox.d.ts} +0 -0
  651. /package/dist/components/{Input.d.ts → Input/Input.d.ts} +0 -0
  652. /package/dist/components/{Popover.d.ts → Popover/Popover.d.ts} +0 -0
  653. /package/dist/components/{RadioGroup.d.ts → RadioGroup/RadioGroup.d.ts} +0 -0
  654. /package/dist/components/{MultiSelectDropdown.d.ts → Select/MultiSelectDropdown.d.ts} +0 -0
  655. /package/dist/components/{SelectFieldWrapper.d.ts → Select/SelectFieldWrapper.d.ts} +0 -0
  656. /package/dist/components/{MultiSelect.constants.d.ts → Select/constants.d.ts} +0 -0
  657. /package/dist/components/{Sheet.d.ts → Sheet/Sheet.d.ts} +0 -0
  658. /package/dist/components/{Switch.d.ts → Switch/Switch.d.ts} +0 -0
  659. /package/dist/components/{Tabs.d.ts → Tabs/Tabs.d.ts} +0 -0
  660. /package/dist/components/{Tooltip.d.ts → Tooltip/Tooltip.d.ts} +0 -0
@@ -0,0 +1,65 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef } from 'react';
3
+ import { Alert, AlertTitle, AlertDescription } from './primitives/Alert.js';
4
+ import { c as cn } from './utils-DdHUxIdC.js';
5
+ import { r as renderIcon } from './renderIcon-tlvMyboj.js';
6
+ import { c as createLucideIcon } from './createLucideIcon-C8ycilSN.js';
7
+ import { T as TriangleAlert, I as Info } from './triangle-alert-PXnNWQy_.js';
8
+
9
+ /**
10
+ * @license lucide-react v0.577.0 - ISC
11
+ *
12
+ * This source code is licensed under the ISC license.
13
+ * See the LICENSE file in the root directory of this source tree.
14
+ */
15
+
16
+
17
+ const __iconNode$1 = [
18
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
19
+ ["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
20
+ ["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
21
+ ];
22
+ const CircleAlert = createLucideIcon("circle-alert", __iconNode$1);
23
+
24
+ /**
25
+ * @license lucide-react v0.577.0 - ISC
26
+ *
27
+ * This source code is licensed under the ISC license.
28
+ * See the LICENSE file in the root directory of this source tree.
29
+ */
30
+
31
+
32
+ const __iconNode = [
33
+ ["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
34
+ ["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
35
+ ];
36
+ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode);
37
+
38
+ const VARIANT_CONFIG = {
39
+ info: {
40
+ container: "border-0 bg-info text-info-foreground",
41
+ icon: Info,
42
+ },
43
+ warning: {
44
+ container: "border-0 bg-warning text-warning-foreground",
45
+ icon: TriangleAlert,
46
+ },
47
+ danger: {
48
+ container: "border-0 bg-error text-error-foreground",
49
+ icon: CircleAlert,
50
+ },
51
+ success: {
52
+ container: "border-0 bg-success text-success-foreground",
53
+ icon: CircleCheckBig,
54
+ },
55
+ };
56
+
57
+ const Callout = forwardRef(({ variant = "info", icon, title, children, className, ...otherProps }, ref) => {
58
+ const config = VARIANT_CONFIG[variant];
59
+ const resolvedIcon = icon ?? config.icon;
60
+ return (jsxs(Alert, { ref: ref, className: cn(config.container, className), ...otherProps, children: [renderIcon(resolvedIcon, "size-4 shrink-0"), title && jsx(AlertTitle, { children: title }), children && (jsx(AlertDescription, { className: "text-current/80", children: children }))] }));
61
+ });
62
+ Callout.displayName = "Callout";
63
+
64
+ export { Callout as C };
65
+ //# sourceMappingURL=Callout-B0w4GQtx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Callout-B0w4GQtx.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/constants.ts","../src/components/Callout/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 from \"react\";\n\nimport {\n InfoIcon,\n AlertTriangleIcon,\n AlertCircleIcon,\n CheckCircleIcon,\n} from \"lucide-react\";\n\nimport type { CalloutVariant } from \"./Callout\";\n\nexport const 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","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\";\n\nimport { VARIANT_CONFIG } from \"./constants\";\n\nexport type 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\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","InfoIcon","AlertTriangleIcon","AlertCircleIcon","CheckCircleIcon","_jsxs","PrimitiveAlert","_jsx"],"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,GAAG,gBAAgB,CAAC,cAAc,EAAEA,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,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC;;ACFhE,MAAM,cAAc,GAMvB;AACF,IAAA,IAAI,EAAE;AACJ,QAAA,SAAS,EAAE,uCAAuC;AAClD,QAAA,IAAI,EAAEC,IAAQ;AACf,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,6CAA6C;AACxD,QAAA,IAAI,EAAEC,aAAiB;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;;ACPD,MAAM,OAAO,GAAG,UAAU,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,KAACC,KAAc,EAAA,EACb,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,KACtC,UAAU,EAAA,QAAA,EAAA,CAEb,UAAU,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAC3C,KAAK,IAAIC,GAAA,CAAC,UAAU,cAAE,KAAK,EAAA,CAAc,EACzC,QAAQ,KACPA,IAAC,gBAAgB,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,24 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { forwardRef, useId } from 'react';
3
+ import { c as cn } from './utils-DdHUxIdC.js';
4
+ import { Checkbox as Checkbox$1 } from './primitives/Checkbox.js';
5
+ import { Field, FieldContent, FieldLabel, FieldDescription, FieldError } from './primitives/Field.js';
6
+
7
+ const Checkbox = forwardRef(({ label, error, helpText, required = false, disabled = false, className, ...otherProps }, ref) => {
8
+ const generatedId = useId();
9
+ const id = otherProps.id ?? generatedId;
10
+ const errorId = `error_${id}`;
11
+ const helpTextId = `helpText_${id}`;
12
+ const ariaDescribedBy = [error ? errorId : null, helpText ? helpTextId : null]
13
+ .filter(Boolean)
14
+ .join(" ") || undefined;
15
+ const hasField = !!(label || error || helpText);
16
+ if (!hasField) {
17
+ return (jsx(Checkbox$1, { ref: ref, id: id, disabled: disabled, "aria-invalid": !!error || undefined, "aria-required": required || undefined, "aria-describedby": ariaDescribedBy, className: className, ...otherProps }));
18
+ }
19
+ return (jsxs("div", { className: cn("flex flex-col gap-1", className), "data-disabled": disabled || undefined, "data-invalid": !!error || undefined, children: [jsxs(Field, { orientation: "horizontal", children: [jsx(Checkbox$1, { ref: ref, id: id, disabled: disabled, "aria-invalid": !!error || undefined, "aria-required": required || undefined, "aria-describedby": ariaDescribedBy, ...otherProps }), jsxs(FieldContent, { children: [label && (jsxs(FieldLabel, { htmlFor: id, children: [label, required && (jsx("span", { "aria-hidden": "true", className: "text-destructive", children: "*" }))] })), helpText && (jsx(FieldDescription, { id: helpTextId, children: helpText }))] })] }), error && jsx(FieldError, { id: errorId, children: error })] }));
20
+ });
21
+ Checkbox.displayName = "Checkbox";
22
+
23
+ export { Checkbox as C };
24
+ //# sourceMappingURL=Checkbox-zCxgcZiC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox-zCxgcZiC.js","sources":["../src/components/Checkbox/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\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\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":["_jsx","PrimitiveCheckbox","_jsxs"],"mappings":";;;;;;AA2BA,MAAM,QAAQ,GAAG,UAAU,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,GAAG,KAAK,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,QACEA,GAAA,CAACC,UAAiB,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,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAA,eAAA,EAChC,QAAQ,IAAI,SAAS,EAAA,cAAA,EACtB,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,QAAA,EAAA,CAElCA,IAAA,CAAC,KAAK,EAAA,EAAC,WAAW,EAAC,YAAY,EAAA,QAAA,EAAA,CAC7BF,IAACC,UAAiB,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,KAAC,YAAY,EAAA,EAAA,QAAA,EAAA,CACV,KAAK,KACJA,IAAA,CAAC,UAAU,EAAA,EAAC,OAAO,EAAE,EAAE,EAAA,QAAA,EAAA,CACpB,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,EACA,QAAQ,KACPA,GAAA,CAAC,gBAAgB,EAAA,EAAC,EAAE,EAAE,UAAU,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAoB,CAChE,CAAA,EAAA,CACY,CAAA,EAAA,CACT,EACP,KAAK,IAAIA,GAAA,CAAC,UAAU,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,277 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { useCallback, useSyncExternalStore, forwardRef, useState, useRef } from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { HexAlphaColorPicker, HexColorPicker, HexColorInput } from 'react-colorful';
5
+ import { Button } from './primitives/Button.js';
6
+ import { Popover, PopoverTrigger, PopoverContent } from './primitives/Popover.js';
7
+ import { c as cn } from './utils-DdHUxIdC.js';
8
+ import { c as cva } from './index-D7Zy7P05.js';
9
+ import { C as ChevronDown } from './chevron-down-BNi0ntys.js';
10
+ import { c as createLucideIcon } from './createLucideIcon-C8ycilSN.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 = [
21
+ [
22
+ "path",
23
+ {
24
+ d: "m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12",
25
+ key: "1y3wsu"
26
+ }
27
+ ],
28
+ [
29
+ "path",
30
+ {
31
+ d: "m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z",
32
+ key: "110lr1"
33
+ }
34
+ ],
35
+ ["path", { d: "m2 22 .414-.414", key: "jhxm08" }]
36
+ ];
37
+ const Pipette = createLucideIcon("pipette", __iconNode);
38
+
39
+ const isSupported = typeof window !== "undefined" && "EyeDropper" in window;
40
+ const useEyeDropper = () => {
41
+ const open = useCallback(async () => {
42
+ if (!window.EyeDropper)
43
+ throw new Error("EyeDropper API not supported");
44
+ const dropper = new window.EyeDropper();
45
+ const result = await dropper.open();
46
+ return result.sRGBHex;
47
+ }, []);
48
+ return { isSupported, open };
49
+ };
50
+
51
+ const DEFAULT_PALETTE_COLORS = [
52
+ { hex: "#FFFFFF" },
53
+ { hex: "#D6D6D6" },
54
+ { hex: "#0A0E13" },
55
+ { hex: "#FECE1E" },
56
+ { hex: "#F32E48" },
57
+ { hex: "#02C39A" },
58
+ { hex: "#2A79C4" },
59
+ { hex: "#B3E5FC" },
60
+ { hex: "#C3C6F9" },
61
+ { hex: "#8064CE" },
62
+ { hex: "#FE861E" },
63
+ { hex: "#FF7DC9" },
64
+ { hex: "#028090" },
65
+ { hex: "#095482" },
66
+ ];
67
+ const RECENTLY_USED_STORAGE_KEY = "recently-used-colors";
68
+ const PICKER_HEIGHT = {
69
+ small: "100px",
70
+ medium: "120px",
71
+ large: "140px",
72
+ };
73
+
74
+ const getFromStorage = (key, fallback) => {
75
+ try {
76
+ const stored = localStorage.getItem(key);
77
+ return stored ? JSON.parse(stored) : fallback;
78
+ }
79
+ catch {
80
+ return fallback;
81
+ }
82
+ };
83
+ const setToStorage = (key, value) => {
84
+ try {
85
+ localStorage.setItem(key, JSON.stringify(value));
86
+ }
87
+ catch {
88
+ // Silently fail if storage is unavailable
89
+ }
90
+ };
91
+ const createSyncedStore = (storageKey) => {
92
+ const listeners = new Set();
93
+ const store = {
94
+ value: getFromStorage(storageKey, []),
95
+ getSnapshot: () => store.value,
96
+ getServerSnapshot: () => [],
97
+ setValue: (newValue) => {
98
+ store.value = newValue;
99
+ setToStorage(storageKey, newValue);
100
+ listeners.forEach(listener => listener());
101
+ },
102
+ subscribe: (callback) => {
103
+ listeners.add(callback);
104
+ const storageEventHandler = (event) => {
105
+ if (event.key !== storageKey)
106
+ return;
107
+ store.value = getFromStorage(storageKey, []);
108
+ listeners.forEach(listener => listener());
109
+ };
110
+ if (listeners.size === 1) {
111
+ window.addEventListener("storage", storageEventHandler);
112
+ }
113
+ return () => {
114
+ listeners.delete(callback);
115
+ if (listeners.size === 0) {
116
+ window.removeEventListener("storage", storageEventHandler);
117
+ }
118
+ };
119
+ },
120
+ };
121
+ return store;
122
+ };
123
+ const store = createSyncedStore(RECENTLY_USED_STORAGE_KEY);
124
+ const useRecentlyUsedColors = () => [
125
+ useSyncExternalStore(store.subscribe, store.getSnapshot, store.getServerSnapshot),
126
+ store.setValue,
127
+ ];
128
+
129
+ /**
130
+ * Validates a hex color string (3, 4, 6, or 8 digits with optional #).
131
+ */
132
+ const isValidHex = (hex) => /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(hex);
133
+ /**
134
+ * Parses a hex color string into RGBA components.
135
+ * Returns { r: 0, g: 0, b: 0, a: 1 } for invalid inputs.
136
+ */
137
+ const hexToRgb = (hex) => {
138
+ const raw = hex.replace(/^#/, "");
139
+ if (!/^([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(raw)) {
140
+ return { r: 0, g: 0, b: 0, a: 1 };
141
+ }
142
+ let r, g, b, a = 255;
143
+ if (raw.length === 3 || raw.length === 4) {
144
+ r = parseInt(raw[0] + raw[0], 16);
145
+ g = parseInt(raw[1] + raw[1], 16);
146
+ b = parseInt(raw[2] + raw[2], 16);
147
+ if (raw.length === 4)
148
+ a = parseInt(raw[3] + raw[3], 16);
149
+ }
150
+ else {
151
+ r = parseInt(raw.slice(0, 2), 16);
152
+ g = parseInt(raw.slice(2, 4), 16);
153
+ b = parseInt(raw.slice(4, 6), 16);
154
+ if (raw.length === 8)
155
+ a = parseInt(raw.slice(6, 8), 16);
156
+ }
157
+ return { r, g, b, a: Math.round((a / 255) * 100) / 100 };
158
+ };
159
+ /**
160
+ * Converts a hex color to an 8-digit hex string (#RRGGBBAA).
161
+ */
162
+ const hexToHex8 = (hex) => {
163
+ const { r, g, b, a } = hexToRgb(hex);
164
+ const alpha = Math.round(a * 255);
165
+ return `#${[r, g, b, alpha].map(v => v.toString(16).padStart(2, "0")).join("")}`;
166
+ };
167
+ /**
168
+ * Converts a color value to a normalized { hex, rgb } object.
169
+ * Handles transparency and validity checks.
170
+ */
171
+ const getColor = (colorValue, showTransparencyControl) => {
172
+ if (!isValidHex(colorValue)) {
173
+ return { hex: colorValue, rgb: { r: 0, g: 0, b: 0, a: 1 } };
174
+ }
175
+ const rgb = hexToRgb(colorValue);
176
+ if (rgb.a === 0) {
177
+ return { hex: colorValue, rgb };
178
+ }
179
+ const hex = showTransparencyControl
180
+ ? hexToHex8(colorValue)
181
+ : `#${colorValue.replace(/^#/, "").slice(0, 6)}`;
182
+ return { hex, rgb: hexToRgb(hex) };
183
+ };
184
+
185
+ const Palette = forwardRef(({ color, colorList = DEFAULT_PALETTE_COLORS, onChange, className, ...props }, ref) => (jsx("div", { ref: ref, className: cn("flex flex-row flex-wrap items-start justify-start gap-1", className), ...props, children: colorList.map(item => {
186
+ const value = item.hex ?? item.rgb ?? "";
187
+ const isActive = !!color && !!value && color.toLowerCase() === value.toLowerCase();
188
+ return (jsx("button", { type: "button", "data-testid": "color-palette-item", className: cn("size-6 rounded-[5px] border cursor-pointer overflow-hidden transition-colors", isActive
189
+ ? "border-muted-foreground"
190
+ : "border-border hover:border-muted-foreground/50"), onClick: () => onChange?.(value), children: jsx("span", { className: cn("block size-full", isValidHex(value)
191
+ ? ""
192
+ : "bg-[repeating-conic-gradient(#ccc_0_25%,transparent_0_50%)] bg-[length:8px_8px]"), style: isValidHex(value) ? { backgroundColor: value } : undefined }) }, value));
193
+ }) })));
194
+ Palette.displayName = "ColorPicker.Palette";
195
+
196
+ const targetVariants = cva("inline-flex items-center justify-between rounded-md border border-input bg-background transition-colors hover:border-muted-foreground focus-visible:outline-none focus-visible:border-primary focus-visible:ring-3 focus-visible:ring-primary/15 cursor-pointer", {
197
+ variants: {
198
+ size: {
199
+ small: "h-7 p-0.5 gap-2",
200
+ medium: "h-8 p-1 gap-2",
201
+ large: "h-10 p-1.5 gap-3",
202
+ },
203
+ },
204
+ defaultVariants: {
205
+ size: "large",
206
+ },
207
+ });
208
+ const Target = forwardRef(({ size = "large", showHexValue, color, colorValue, className, ...props }, ref) => (jsxs("button", { ref: ref, type: "button", "data-testid": "color-picker-target", className: cn(targetVariants({ size }), className), ...props, children: [showHexValue && (jsx("span", { className: "text-sm font-medium text-foreground min-w-[4.5rem] ps-1", children: color })), jsxs("span", { className: "inline-flex items-center gap-2", children: [jsx("span", { className: "block size-5 rounded-md border border-border", style: { backgroundColor: colorValue } }), jsx(ChevronDown, { className: "size-4 text-muted-foreground" })] })] })));
209
+ Target.displayName = "ColorPicker.Target";
210
+
211
+ const ColorPicker = forwardRef(({ color = "", size = "large", onChange, dropdownProps, showEyeDropper = true, showHexValue = false, showTransparencyControl = false, showPicker = true, showHexPicker = true, colorPalette, showRecentlyUsedColors = showPicker, className, }, ref) => {
212
+ const { t } = useTranslation();
213
+ const [colorInternal, setColorInternal] = useState(color);
214
+ const [isColorSelected, setIsColorSelected] = useState(false);
215
+ const [open, setOpen] = useState(false);
216
+ const hexColorInputValue = useRef("");
217
+ const { isSupported: eyeDropperSupported, open: openEyeDropper } = useEyeDropper();
218
+ const [recentlyUsedColors, setRecentlyUsedColors] = useRecentlyUsedColors();
219
+ const PickerComponent = showTransparencyControl
220
+ ? HexAlphaColorPicker
221
+ : HexColorPicker;
222
+ const colorValue = color ?? colorInternal ?? "";
223
+ const onColorChange = (value) => {
224
+ setIsColorSelected(true);
225
+ if (onChange) {
226
+ onChange(getColor(value, showTransparencyControl));
227
+ }
228
+ else {
229
+ setColorInternal(value);
230
+ }
231
+ };
232
+ const onColorInputChange = (hex) => {
233
+ hexColorInputValue.current = hex;
234
+ const expectedLength = showTransparencyControl ? 9 : 7;
235
+ if (hex.length !== expectedLength)
236
+ return;
237
+ onColorChange(hex);
238
+ hexColorInputValue.current = "";
239
+ };
240
+ const onBlur = () => {
241
+ if (!hexColorInputValue.current)
242
+ return;
243
+ onColorChange(hexColorInputValue.current);
244
+ hexColorInputValue.current = "";
245
+ };
246
+ const pickColor = async () => {
247
+ try {
248
+ const hex = await openEyeDropper();
249
+ onColorChange(hex);
250
+ }
251
+ catch {
252
+ // User cancelled or API unavailable
253
+ }
254
+ };
255
+ const onOpenChange = (nextOpen) => {
256
+ if (!nextOpen && showRecentlyUsedColors && isColorSelected) {
257
+ const newColor = getColor(colorValue, showTransparencyControl);
258
+ const filtered = recentlyUsedColors.filter(({ hex }) => hex !== newColor.hex);
259
+ const updated = [newColor, ...filtered];
260
+ if (updated.length > 14)
261
+ updated.pop();
262
+ setRecentlyUsedColors(updated);
263
+ setIsColorSelected(false);
264
+ }
265
+ setOpen(nextOpen);
266
+ };
267
+ return (jsxs(Popover, { open: open, onOpenChange: onOpenChange, children: [jsx(PopoverTrigger, { asChild: true, children: jsx(Target, { color: color, colorValue: colorValue, showHexValue: showHexValue, size: size }) }), jsx(PopoverContent, { ref: ref, align: "start", side: "bottom", className: cn("w-auto p-3", className), ...dropdownProps, children: jsxs("div", { className: "flex flex-col gap-3 w-56", children: [showPicker && (jsxs(Fragment, { children: [showHexPicker && (jsx("div", { "data-testid": "neeto-color-picker-section", style: {
268
+ ["--react-colorful-height"]: PICKER_HEIGHT[size] ?? "140px",
269
+ }, children: jsx(PickerComponent, { color: colorValue, onChange: onColorChange, style: {
270
+ width: "100%",
271
+ height: PICKER_HEIGHT[size] ?? "140px",
272
+ } }) })), jsxs("div", { className: "flex items-center justify-center gap-2", children: [showEyeDropper && eyeDropperSupported && (jsx(Button, { type: "button", variant: "ghost", size: "icon-sm", onClick: pickColor, "aria-label": t("neetoatoms.colorPicker.pickColor", "Pick color from screen"), children: jsx(Pipette, { className: "size-4" }) })), jsx("div", { className: "flex-1", "data-testid": "colorpicker-editable-input", children: jsx(HexColorInput, { prefixed: true, alpha: !!showTransparencyControl, color: colorValue, "data-testid": "colorpicker-editable-input-textbox", onChange: onColorInputChange, onBlur: onBlur, className: "h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none focus-visible:border-primary focus-visible:ring-3 focus-visible:ring-primary/15" }) })] })] })), jsx("div", { "data-testid": "color-palette", className: cn(showPicker && "border-t border-border pt-3"), children: jsx(Palette, { color: color, colorList: colorPalette, onChange: onColorChange }) }), showRecentlyUsedColors && recentlyUsedColors.length > 0 && (jsxs("div", { className: "border-t border-border pt-3", "data-testid": "color-palette-recently-used", children: [jsx("p", { className: "text-xs font-medium text-muted-foreground mb-2", children: t("neetoatoms.colorPicker.recentlyUsed", "Recently used") }), jsx(Palette, { colorList: recentlyUsedColors, onChange: onColorChange })] }))] }) })] }));
273
+ });
274
+ ColorPicker.displayName = "ColorPicker";
275
+
276
+ export { ColorPicker as C };
277
+ //# sourceMappingURL=ColorPicker-D-7QGnf9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker-D-7QGnf9.js","sources":["../node_modules/lucide-react/dist/esm/icons/pipette.js","../src/components/ColorPicker/hooks/useEyeDropper.ts","../src/components/ColorPicker/constants.ts","../src/components/ColorPicker/hooks/useRecentlyUsedColors.ts","../src/components/ColorPicker/utils.ts","../src/components/ColorPicker/Palette.tsx","../src/components/ColorPicker/Target.tsx","../src/components/ColorPicker/ColorPicker.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 [\n \"path\",\n {\n d: \"m12 9-8.414 8.414A2 2 0 0 0 3 18.828v1.344a2 2 0 0 1-.586 1.414A2 2 0 0 1 3.828 21h1.344a2 2 0 0 0 1.414-.586L15 12\",\n key: \"1y3wsu\"\n }\n ],\n [\n \"path\",\n {\n d: \"m18 9 .4.4a1 1 0 1 1-3 3l-3.8-3.8a1 1 0 1 1 3-3l.4.4 3.4-3.4a1 1 0 1 1 3 3z\",\n key: \"110lr1\"\n }\n ],\n [\"path\", { d: \"m2 22 .414-.414\", key: \"jhxm08\" }]\n];\nconst Pipette = createLucideIcon(\"pipette\", __iconNode);\n\nexport { __iconNode, Pipette as default };\n//# sourceMappingURL=pipette.js.map\n","import { useCallback } from \"react\";\n\ninterface EyeDropperResult {\n sRGBHex: string;\n}\n\ndeclare global {\n interface Window {\n EyeDropper?: new () => { open: () => Promise<EyeDropperResult> };\n }\n}\n\nconst isSupported = typeof window !== \"undefined\" && \"EyeDropper\" in window;\n\nexport const useEyeDropper = () => {\n const open = useCallback(async (): Promise<string> => {\n if (!window.EyeDropper) throw new Error(\"EyeDropper API not supported\");\n\n const dropper = new window.EyeDropper();\n const result = await dropper.open();\n\n return result.sRGBHex;\n }, []);\n\n return { isSupported, open };\n};\n","export const DEFAULT_PALETTE_COLORS = [\n { hex: \"#FFFFFF\" },\n { hex: \"#D6D6D6\" },\n { hex: \"#0A0E13\" },\n { hex: \"#FECE1E\" },\n { hex: \"#F32E48\" },\n { hex: \"#02C39A\" },\n { hex: \"#2A79C4\" },\n { hex: \"#B3E5FC\" },\n { hex: \"#C3C6F9\" },\n { hex: \"#8064CE\" },\n { hex: \"#FE861E\" },\n { hex: \"#FF7DC9\" },\n { hex: \"#028090\" },\n { hex: \"#095482\" },\n];\n\nexport const RECENTLY_USED_STORAGE_KEY = \"recently-used-colors\";\n\nexport const TARGET_SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n} as const;\n\nexport const PICKER_HEIGHT: Record<string, string> = {\n small: \"100px\",\n medium: \"120px\",\n large: \"140px\",\n};\n","import { useSyncExternalStore } from \"react\";\n\nimport { RECENTLY_USED_STORAGE_KEY } from \"../constants\";\n\ninterface ColorValue {\n hex: string;\n rgb: string | { r: number; g: number; b: number; a?: number };\n}\n\nconst getFromStorage = (key: string, fallback: ColorValue[]): ColorValue[] => {\n try {\n const stored = localStorage.getItem(key);\n\n return stored ? JSON.parse(stored) : fallback;\n } catch {\n return fallback;\n }\n};\n\nconst setToStorage = (key: string, value: ColorValue[]) => {\n try {\n localStorage.setItem(key, JSON.stringify(value));\n } catch {\n // Silently fail if storage is unavailable\n }\n};\n\nconst createSyncedStore = (storageKey: string) => {\n const listeners = new Set<() => void>();\n\n const store = {\n value: getFromStorage(storageKey, []),\n getSnapshot: () => store.value,\n getServerSnapshot: () => [] as ColorValue[],\n setValue: (newValue: ColorValue[]) => {\n store.value = newValue;\n setToStorage(storageKey, newValue);\n listeners.forEach(listener => listener());\n },\n subscribe: (callback: () => void) => {\n listeners.add(callback);\n\n const storageEventHandler = (event: StorageEvent) => {\n if (event.key !== storageKey) return;\n store.value = getFromStorage(storageKey, []);\n listeners.forEach(listener => listener());\n };\n\n if (listeners.size === 1) {\n window.addEventListener(\"storage\", storageEventHandler);\n }\n\n return () => {\n listeners.delete(callback);\n if (listeners.size === 0) {\n window.removeEventListener(\"storage\", storageEventHandler);\n }\n };\n },\n };\n\n return store;\n};\n\nconst store = createSyncedStore(RECENTLY_USED_STORAGE_KEY);\n\nexport const useRecentlyUsedColors = (): [\n ColorValue[],\n (value: ColorValue[]) => void,\n] => [\n useSyncExternalStore(\n store.subscribe,\n store.getSnapshot,\n store.getServerSnapshot\n ),\n store.setValue,\n];\n","/**\n * Validates a hex color string (3, 4, 6, or 8 digits with optional #).\n */\nexport const isValidHex = (hex: string): boolean =>\n /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(hex);\n\n/**\n * Parses a hex color string into RGBA components.\n * Returns { r: 0, g: 0, b: 0, a: 1 } for invalid inputs.\n */\nexport const hexToRgb = (\n hex: string\n): { r: number; g: number; b: number; a: number } => {\n const raw = hex.replace(/^#/, \"\");\n\n if (\n !/^([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(raw)\n ) {\n return { r: 0, g: 0, b: 0, a: 1 };\n }\n\n let r: number,\n g: number,\n b: number,\n a = 255;\n if (raw.length === 3 || raw.length === 4) {\n r = parseInt(raw[0] + raw[0], 16);\n g = parseInt(raw[1] + raw[1], 16);\n b = parseInt(raw[2] + raw[2], 16);\n if (raw.length === 4) a = parseInt(raw[3] + raw[3], 16);\n } else {\n r = parseInt(raw.slice(0, 2), 16);\n g = parseInt(raw.slice(2, 4), 16);\n b = parseInt(raw.slice(4, 6), 16);\n if (raw.length === 8) a = parseInt(raw.slice(6, 8), 16);\n }\n\n return { r, g, b, a: Math.round((a / 255) * 100) / 100 };\n};\n\n/**\n * Converts a hex color to an 8-digit hex string (#RRGGBBAA).\n */\nexport const hexToHex8 = (hex: string): string => {\n const { r, g, b, a } = hexToRgb(hex);\n const alpha = Math.round(a * 255);\n\n return `#${[r, g, b, alpha].map(v => v.toString(16).padStart(2, \"0\")).join(\"\")}`;\n};\n\n/**\n * Converts a color value to a normalized { hex, rgb } object.\n * Handles transparency and validity checks.\n */\nexport const getColor = (\n colorValue: string,\n showTransparencyControl: boolean\n): { hex: string; rgb: { r: number; g: number; b: number; a: number } } => {\n if (!isValidHex(colorValue)) {\n return { hex: colorValue, rgb: { r: 0, g: 0, b: 0, a: 1 } };\n }\n\n const rgb = hexToRgb(colorValue);\n\n if (rgb.a === 0) {\n return { hex: colorValue, rgb };\n }\n\n const hex = showTransparencyControl\n ? hexToHex8(colorValue)\n : `#${colorValue.replace(/^#/, \"\").slice(0, 6)}`;\n\n return { hex, rgb: hexToRgb(hex) };\n};\n","import React, { forwardRef } from \"react\";\n\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { isValidHex } from \"./utils\";\nimport { DEFAULT_PALETTE_COLORS } from \"./constants\";\nimport type { PaletteColor } from \"./types\";\n\nexport interface PaletteProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Currently selected color. */\n color?: string;\n /** List of colors to render. */\n colorList?: PaletteColor[];\n /** Callback when a color swatch is clicked. */\n onChange?: (color: string) => void;\n}\n\nconst Palette = forwardRef<HTMLDivElement, PaletteProps>(\n (\n {\n color,\n colorList = DEFAULT_PALETTE_COLORS,\n onChange,\n className,\n ...props\n },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(\n \"flex flex-row flex-wrap items-start justify-start gap-1\",\n className\n )}\n {...props}\n >\n {colorList.map(item => {\n const value = item.hex ?? item.rgb ?? \"\";\n const isActive =\n !!color && !!value && color.toLowerCase() === value.toLowerCase();\n\n return (\n <button\n type=\"button\"\n key={value}\n data-testid=\"color-palette-item\"\n className={cn(\n \"size-6 rounded-[5px] border cursor-pointer overflow-hidden transition-colors\",\n isActive\n ? \"border-muted-foreground\"\n : \"border-border hover:border-muted-foreground/50\"\n )}\n onClick={() => onChange?.(value)}\n >\n <span\n className={cn(\n \"block size-full\",\n isValidHex(value)\n ? \"\"\n : \"bg-[repeating-conic-gradient(#ccc_0_25%,transparent_0_50%)] bg-[length:8px_8px]\"\n )}\n style={isValidHex(value) ? { backgroundColor: value } : undefined}\n />\n </button>\n );\n })}\n </div>\n )\n);\n\nPalette.displayName = \"ColorPicker.Palette\";\n\nexport { Palette };\n","import React, { forwardRef } from \"react\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nconst targetVariants = cva(\n \"inline-flex items-center justify-between rounded-md border border-input bg-background transition-colors hover:border-muted-foreground focus-visible:outline-none focus-visible:border-primary focus-visible:ring-3 focus-visible:ring-primary/15 cursor-pointer\",\n {\n variants: {\n size: {\n small: \"h-7 p-0.5 gap-2\",\n medium: \"h-8 p-1 gap-2\",\n large: \"h-10 p-1.5 gap-3\",\n },\n },\n defaultVariants: {\n size: \"large\",\n },\n }\n);\n\nexport interface TargetProps\n extends\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"size\">,\n VariantProps<typeof targetVariants> {\n /** Show hex code text beside the color swatch. */\n showHexValue?: boolean;\n /** The original color prop value. */\n color?: string;\n /** The resolved color value to display. */\n colorValue?: string;\n}\n\nconst Target = forwardRef<HTMLButtonElement, TargetProps>(\n (\n { size = \"large\", showHexValue, color, colorValue, className, ...props },\n ref\n ) => (\n <button\n ref={ref}\n type=\"button\"\n data-testid=\"color-picker-target\"\n className={cn(targetVariants({ size }), className)}\n {...props}\n >\n {showHexValue && (\n <span className=\"text-sm font-medium text-foreground min-w-[4.5rem] ps-1\">\n {color}\n </span>\n )}\n <span className=\"inline-flex items-center gap-2\">\n <span\n className=\"block size-5 rounded-md border border-border\"\n style={{ backgroundColor: colorValue }}\n />\n <ChevronDown className=\"size-4 text-muted-foreground\" />\n </span>\n </button>\n )\n);\n\nTarget.displayName = \"ColorPicker.Target\";\n\nexport { Target };\n","import React, { forwardRef, useState, useRef } from \"react\";\n\nimport { Pipette } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport { Button } from \"src/primitives/Button\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"src/primitives/Popover\";\nimport { cn } from \"src/shadcn/lib/utils\";\n\nimport { useEyeDropper } from \"./hooks/useEyeDropper\";\nimport { useRecentlyUsedColors } from \"./hooks/useRecentlyUsedColors\";\nimport { Palette } from \"./Palette\";\nimport { Target } from \"./Target\";\nimport { PICKER_HEIGHT } from \"./constants\";\nimport type { ColorPickerProps } from \"./types\";\nimport { getColor } from \"./utils\";\n\nconst ColorPicker = forwardRef<HTMLDivElement, ColorPickerProps>(\n (\n {\n color = \"\",\n size = \"large\",\n onChange,\n dropdownProps,\n showEyeDropper = true,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n showHexPicker = true,\n colorPalette,\n showRecentlyUsedColors = showPicker,\n className,\n },\n ref\n ) => {\n const { t } = useTranslation();\n const [colorInternal, setColorInternal] = useState(color);\n const [isColorSelected, setIsColorSelected] = useState(false);\n const [open, setOpen] = useState(false);\n const hexColorInputValue = useRef(\"\");\n const { isSupported: eyeDropperSupported, open: openEyeDropper } =\n useEyeDropper();\n const [recentlyUsedColors, setRecentlyUsedColors] = useRecentlyUsedColors();\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const onColorChange = (value: string) => {\n setIsColorSelected(true);\n\n if (onChange) {\n onChange(getColor(value, showTransparencyControl));\n } else {\n setColorInternal(value);\n }\n };\n\n const onColorInputChange = (hex: string) => {\n hexColorInputValue.current = hex;\n const expectedLength = showTransparencyControl ? 9 : 7;\n if (hex.length !== expectedLength) return;\n\n onColorChange(hex);\n hexColorInputValue.current = \"\";\n };\n\n const onBlur = () => {\n if (!hexColorInputValue.current) return;\n\n onColorChange(hexColorInputValue.current);\n hexColorInputValue.current = \"\";\n };\n\n const pickColor = async () => {\n try {\n const hex = await openEyeDropper();\n onColorChange(hex);\n } catch {\n // User cancelled or API unavailable\n }\n };\n\n const onOpenChange = (nextOpen: boolean) => {\n if (!nextOpen && showRecentlyUsedColors && isColorSelected) {\n const newColor = getColor(colorValue, showTransparencyControl);\n const filtered = recentlyUsedColors.filter(\n ({ hex }) => hex !== newColor.hex\n );\n const updated = [newColor, ...filtered];\n if (updated.length > 14) updated.pop();\n\n setRecentlyUsedColors(updated);\n setIsColorSelected(false);\n }\n\n setOpen(nextOpen);\n };\n\n return (\n <Popover open={open} onOpenChange={onOpenChange}>\n <PopoverTrigger asChild>\n <Target\n color={color}\n colorValue={colorValue}\n showHexValue={showHexValue}\n size={size}\n />\n </PopoverTrigger>\n <PopoverContent\n ref={ref}\n align=\"start\"\n side=\"bottom\"\n className={cn(\"w-auto p-3\", className)}\n {...dropdownProps}\n >\n <div className=\"flex flex-col gap-3 w-56\">\n {showPicker && (\n <>\n {showHexPicker && (\n <div\n data-testid=\"neeto-color-picker-section\"\n style={{\n [\"--react-colorful-height\" as string]:\n PICKER_HEIGHT[size] ?? \"140px\",\n }}\n >\n <PickerComponent\n color={colorValue}\n onChange={onColorChange}\n style={{\n width: \"100%\",\n height: PICKER_HEIGHT[size] ?? \"140px\",\n }}\n />\n </div>\n )}\n <div className=\"flex items-center justify-center gap-2\">\n {showEyeDropper && eyeDropperSupported && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={pickColor}\n aria-label={t(\n \"neetoatoms.colorPicker.pickColor\",\n \"Pick color from screen\"\n )}\n >\n <Pipette className=\"size-4\" />\n </Button>\n )}\n <div\n className=\"flex-1\"\n data-testid=\"colorpicker-editable-input\"\n >\n <HexColorInput\n prefixed\n alpha={!!showTransparencyControl}\n color={colorValue}\n data-testid=\"colorpicker-editable-input-textbox\"\n onChange={onColorInputChange}\n onBlur={onBlur}\n className=\"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none focus-visible:border-primary focus-visible:ring-3 focus-visible:ring-primary/15\"\n />\n </div>\n </div>\n </>\n )}\n <div\n data-testid=\"color-palette\"\n className={cn(showPicker && \"border-t border-border pt-3\")}\n >\n <Palette\n color={color}\n colorList={colorPalette}\n onChange={onColorChange}\n />\n </div>\n {showRecentlyUsedColors && recentlyUsedColors.length > 0 && (\n <div\n className=\"border-t border-border pt-3\"\n data-testid=\"color-palette-recently-used\"\n >\n <p className=\"text-xs font-medium text-muted-foreground mb-2\">\n {t(\"neetoatoms.colorPicker.recentlyUsed\", \"Recently used\")}\n </p>\n <Palette\n colorList={recentlyUsedColors}\n onChange={onColorChange}\n />\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n }\n);\n\nColorPicker.displayName = \"ColorPicker\";\n\nexport { ColorPicker };\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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","x_google_ignoreList":[0]}
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import { useState, useCallback, useEffect, useMemo, useRef } from 'react';
4
4
  import { TableRow, TableCell, Table, TableHeader, TableHead, TableBody } from './primitives/Table.js';
5
5
  import { c as cn } from './utils-DdHUxIdC.js';
6
+ import { useTranslation } from 'react-i18next';
6
7
  import { Checkbox } from './primitives/Checkbox.js';
7
8
  import { Spinner } from './primitives/Spinner.js';
8
9
  import { c as createLucideIcon } from './createLucideIcon-C8ycilSN.js';
@@ -3300,7 +3301,10 @@ const useTablePagination = ({ totalCount = 0, pageSize = DEFAULT_PAGE_SIZE, curr
3300
3301
  };
3301
3302
  };
3302
3303
 
3303
- const SelectionCheckbox = ({ checked, onCheckedChange, ariaLabel, }) => (jsx("div", { className: "flex items-center justify-center", children: jsx(Checkbox, { checked: checked, onCheckedChange: onCheckedChange, "aria-label": ariaLabel ?? "Select row" }) }));
3304
+ const SelectionCheckbox = ({ checked, onCheckedChange, ariaLabel, }) => {
3305
+ const { t } = useTranslation();
3306
+ return (jsx("div", { className: "flex items-center justify-center", children: jsx(Checkbox, { checked: checked, onCheckedChange: onCheckedChange, "aria-label": ariaLabel ?? t("neetoatoms.dataTable.selectRow", "Select row") }) }));
3307
+ };
3304
3308
 
3305
3309
  const useTableSelection = ({ enableRowSelection, selectedRowKeys, onRowSelect, data, getRowId, }) => {
3306
3310
  const isControlled = selectedRowKeys !== undefined;
@@ -3505,7 +3509,11 @@ const useColumnOrdering = ({ enabled = false, columnOrder: controlledOrder, onCo
3505
3509
 
3506
3510
  const LoadingOverlay = () => (jsx("div", { className: "absolute inset-0 z-10 flex items-center justify-center bg-background/50", children: jsx(Spinner, { className: "size-6" }) }));
3507
3511
 
3508
- const EmptyState = ({ colSpan, message = "No results.", }) => (jsx(TableRow, { children: jsx(TableCell, { colSpan: colSpan, className: "min-h-24 text-center text-muted-foreground", children: message }) }));
3512
+ const EmptyState = ({ colSpan, message }) => {
3513
+ const { t } = useTranslation();
3514
+ const resolvedMessage = message ?? t("neetoatoms.dataTable.noResults", "No results.");
3515
+ return (jsx(TableRow, { children: jsx(TableCell, { colSpan: colSpan, className: "min-h-24 text-center text-muted-foreground", children: resolvedMessage }) }));
3516
+ };
3509
3517
 
3510
3518
  const SortIndicator = ({ column, }) => {
3511
3519
  if (!column.getCanSort())
@@ -3734,4 +3742,4 @@ const DataTable = ({ columns, data, getRowId: getRowIdProp, sorting: sortingProp
3734
3742
  };
3735
3743
 
3736
3744
  export { DataTable as D, useColumnPinning as a, useColumnVisibility as b, useTablePagination as c, useTableSelection as d, useTableSort as e, useColumnOrdering as u };
3737
- //# sourceMappingURL=DataTable-BKe9K5XP.js.map
3745
+ //# sourceMappingURL=DataTable-DWR9gX9d.js.map