@bigbinary/neeto-atoms 1.0.7 → 1.0.8

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 (302) hide show
  1. package/dist/ColorPicker-BPvxDGDM.js +276 -0
  2. package/dist/ColorPicker-BPvxDGDM.js.map +1 -0
  3. package/dist/{DataTable-Y4POx0WN.js → DataTable-BKe9K5XP.js} +136 -136
  4. package/dist/DataTable-BKe9K5XP.js.map +1 -0
  5. package/dist/cjs/ColorPicker-DN8aynGh.js +282 -0
  6. package/dist/cjs/ColorPicker-DN8aynGh.js.map +1 -0
  7. package/dist/cjs/{DataTable-DJw2SZ7b.js → DataTable-BQt_mXDX.js} +136 -136
  8. package/dist/cjs/DataTable-BQt_mXDX.js.map +1 -0
  9. package/dist/cjs/components/Accordion.js +49 -0
  10. package/dist/cjs/components/Accordion.js.map +1 -0
  11. package/dist/cjs/components/Alert.js +101 -0
  12. package/dist/cjs/components/Alert.js.map +1 -0
  13. package/dist/cjs/components/Badge.js +71 -0
  14. package/dist/cjs/components/Badge.js.map +1 -0
  15. package/dist/cjs/components/Button.js +121 -0
  16. package/dist/cjs/components/Button.js.map +1 -0
  17. package/dist/cjs/components/Checkbox.js +44 -0
  18. package/dist/cjs/components/Checkbox.js.map +1 -0
  19. package/dist/cjs/components/ColorPicker.js +34 -0
  20. package/dist/cjs/components/ColorPicker.js.map +1 -0
  21. package/dist/cjs/components/DataTable.js +3 -3
  22. package/dist/cjs/components/Dialog.js +88 -0
  23. package/dist/cjs/components/Dialog.js.map +1 -0
  24. package/dist/cjs/components/DropdownMenu.js +180 -0
  25. package/dist/cjs/components/DropdownMenu.js.map +1 -0
  26. package/dist/cjs/components/Input.js +167 -0
  27. package/dist/cjs/components/Input.js.map +1 -0
  28. package/dist/cjs/components/MultiSelect.js +13 -0
  29. package/dist/cjs/components/MultiSelect.js.map +1 -0
  30. package/dist/cjs/components/MultiSelectCombobox.js +3 -0
  31. package/dist/cjs/components/MultiSelectCombobox.js.map +1 -0
  32. package/dist/cjs/components/MultiSelectDropdown.js +37 -0
  33. package/dist/cjs/components/MultiSelectDropdown.js.map +1 -0
  34. package/dist/cjs/components/OptionItem.js +34 -0
  35. package/dist/cjs/components/OptionItem.js.map +1 -0
  36. package/dist/cjs/components/Popover.js +123 -0
  37. package/dist/cjs/components/Popover.js.map +1 -0
  38. package/dist/cjs/components/RadioGroup.js +63 -0
  39. package/dist/cjs/components/RadioGroup.js.map +1 -0
  40. package/dist/cjs/components/Select.js +3 -0
  41. package/dist/cjs/components/Select.js.map +1 -0
  42. package/dist/cjs/components/SelectFieldWrapper.js +33 -0
  43. package/dist/cjs/components/SelectFieldWrapper.js.map +1 -0
  44. package/dist/cjs/components/SelectOptions.js +43 -0
  45. package/dist/cjs/components/SelectOptions.js.map +1 -0
  46. package/dist/cjs/components/SelectTriggerContent.js +43 -0
  47. package/dist/cjs/components/SelectTriggerContent.js.map +1 -0
  48. package/dist/cjs/components/Sheet.js +90 -0
  49. package/dist/cjs/components/Sheet.js.map +1 -0
  50. package/dist/cjs/components/Switch.js +35 -0
  51. package/dist/cjs/components/Switch.js.map +1 -0
  52. package/dist/cjs/components/Tabs.js +74 -0
  53. package/dist/cjs/components/Tabs.js.map +1 -0
  54. package/dist/cjs/components/Textarea.js +89 -0
  55. package/dist/cjs/components/Textarea.js.map +1 -0
  56. package/dist/cjs/components/Toastr.js +133 -0
  57. package/dist/cjs/components/Toastr.js.map +1 -0
  58. package/dist/cjs/components/Tooltip.js +109 -0
  59. package/dist/cjs/components/Tooltip.js.map +1 -0
  60. package/dist/cjs/{primitives → components}/Typography.js +6 -6
  61. package/dist/cjs/components/Typography.js.map +1 -0
  62. package/dist/cjs/components/shared.js +8 -0
  63. package/dist/cjs/components/shared.js.map +1 -0
  64. package/dist/cjs/{dialog-DzNWLbJ6.js → dialog-CF2GBHOG.js} +2 -2
  65. package/dist/cjs/{dialog-DzNWLbJ6.js.map → dialog-CF2GBHOG.js.map} +1 -1
  66. package/dist/cjs/{index-DAds6mf_.js → index-BLGrl3PF.js} +31 -31
  67. package/dist/cjs/{index-DAds6mf_.js.map → index-BLGrl3PF.js.map} +1 -1
  68. package/dist/cjs/{index-BqCr1H3u.js → index-BiGm7NEA.js} +11 -11
  69. package/dist/cjs/{index-BqCr1H3u.js.map → index-BiGm7NEA.js.map} +1 -1
  70. package/dist/cjs/{index-CGet1HH4.js → index-PdtYHwPi.js} +66 -66
  71. package/dist/cjs/{index-CGet1HH4.js.map → index-PdtYHwPi.js.map} +1 -1
  72. package/dist/cjs/index-Vlwnyfvs.js +1145 -0
  73. package/dist/cjs/index-Vlwnyfvs.js.map +1 -0
  74. package/dist/cjs/{index-DR7GJU4J.js → index-hQmfI1O7.js} +17 -17
  75. package/dist/cjs/{index-DR7GJU4J.js.map → index-hQmfI1O7.js.map} +1 -1
  76. package/dist/cjs/index.js +463 -26
  77. package/dist/cjs/index.js.map +1 -1
  78. package/dist/cjs/primitives/Accordion.js +16 -16
  79. package/dist/cjs/primitives/Accordion.js.map +1 -1
  80. package/dist/cjs/primitives/AlertDialog.js +1 -1
  81. package/dist/cjs/primitives/Badge.js +58 -6
  82. package/dist/cjs/primitives/Badge.js.map +1 -1
  83. package/dist/cjs/primitives/Chart.js +137 -137
  84. package/dist/cjs/primitives/Chart.js.map +1 -1
  85. package/dist/cjs/primitives/Collapsible.js +1 -1
  86. package/dist/cjs/primitives/Combobox.js +4 -4
  87. package/dist/cjs/primitives/Combobox.js.map +1 -1
  88. package/dist/cjs/primitives/Command.js +2 -2
  89. package/dist/cjs/primitives/ContextMenu.js +2 -2
  90. package/dist/cjs/primitives/Dialog.js +10 -6
  91. package/dist/cjs/primitives/Dialog.js.map +1 -1
  92. package/dist/cjs/primitives/Drawer.js +1 -1
  93. package/dist/cjs/primitives/DropdownMenu.js +38 -38
  94. package/dist/cjs/primitives/DropdownMenu.js.map +1 -1
  95. package/dist/cjs/primitives/HoverCard.js +16 -16
  96. package/dist/cjs/primitives/Menubar.js +2 -2
  97. package/dist/cjs/primitives/Popover.js +13 -13
  98. package/dist/cjs/primitives/RadioGroup.js +27 -26
  99. package/dist/cjs/primitives/RadioGroup.js.map +1 -1
  100. package/dist/cjs/primitives/Select.js +77 -77
  101. package/dist/cjs/primitives/Sheet.js +10 -6
  102. package/dist/cjs/primitives/Sheet.js.map +1 -1
  103. package/dist/cjs/primitives/Sidebar.js +3 -3
  104. package/dist/cjs/primitives/Sonner.js +12 -1138
  105. package/dist/cjs/primitives/Sonner.js.map +1 -1
  106. package/dist/cjs/primitives/Switch.js +4 -8
  107. package/dist/cjs/primitives/Switch.js.map +1 -1
  108. package/dist/cjs/primitives/Tabs.js +11 -11
  109. package/dist/cjs/primitives/ToggleGroup.js +1 -1
  110. package/dist/cjs/primitives/Tooltip.js +1 -1
  111. package/dist/cjs/primitives/index.js +9 -11
  112. package/dist/cjs/primitives/index.js.map +1 -1
  113. package/dist/cjs/renderIcon-fLF3odqg.js +26 -0
  114. package/dist/cjs/renderIcon-fLF3odqg.js.map +1 -0
  115. package/dist/cjs/{sheet-nHSYZxAA.js → sheet-CkCrHmVA.js} +2 -2
  116. package/dist/cjs/{sheet-nHSYZxAA.js.map → sheet-CkCrHmVA.js.map} +1 -1
  117. package/dist/cjs/{tooltip-CRkOMh1b.js → tooltip-C-568jEL.js} +17 -17
  118. package/dist/cjs/{tooltip-CRkOMh1b.js.map → tooltip-C-568jEL.js.map} +1 -1
  119. package/dist/cjs/useCreatableItems-BTHtd7uo.js +100 -0
  120. package/dist/cjs/useCreatableItems-BTHtd7uo.js.map +1 -0
  121. package/dist/cjs/{reselect-CeyIIDM-.js → with-selector-u4xTSzCv.js} +111 -111
  122. package/dist/cjs/with-selector-u4xTSzCv.js.map +1 -0
  123. package/dist/components/Accordion.d.ts +18 -0
  124. package/dist/components/Accordion.js +43 -0
  125. package/dist/components/Accordion.js.map +1 -0
  126. package/dist/components/Alert.d.ts +51 -0
  127. package/dist/components/Alert.js +99 -0
  128. package/dist/components/Alert.js.map +1 -0
  129. package/dist/components/Badge.d.ts +29 -0
  130. package/dist/components/Badge.js +69 -0
  131. package/dist/components/Badge.js.map +1 -0
  132. package/dist/components/Button.d.ts +47 -0
  133. package/dist/components/Button.js +119 -0
  134. package/dist/components/Button.js.map +1 -0
  135. package/dist/components/Checkbox.d.ts +16 -0
  136. package/dist/components/Checkbox.js +42 -0
  137. package/dist/components/Checkbox.js.map +1 -0
  138. package/dist/components/ColorPicker/ColorPicker.d.ts +4 -0
  139. package/dist/components/ColorPicker/Palette.d.ts +12 -0
  140. package/dist/components/ColorPicker/Target.d.ts +15 -0
  141. package/dist/components/ColorPicker/constants.d.ts +10 -0
  142. package/dist/components/ColorPicker/hooks/useEyeDropper.d.ts +15 -0
  143. package/dist/components/ColorPicker/hooks/useRecentlyUsedColors.d.ts +11 -0
  144. package/dist/components/ColorPicker/index.d.ts +2 -0
  145. package/dist/components/ColorPicker/types.d.ts +42 -0
  146. package/dist/components/ColorPicker/utils.d.ts +31 -0
  147. package/dist/components/ColorPicker.js +28 -0
  148. package/dist/components/ColorPicker.js.map +1 -0
  149. package/dist/components/DataTable.js +2 -2
  150. package/dist/components/Dialog.d.ts +56 -0
  151. package/dist/components/Dialog.js +86 -0
  152. package/dist/components/Dialog.js.map +1 -0
  153. package/dist/components/DropdownMenu/Divider.d.ts +3 -0
  154. package/dist/components/DropdownMenu/DropdownBase.d.ts +3 -0
  155. package/dist/components/DropdownMenu/Label.d.ts +7 -0
  156. package/dist/components/DropdownMenu/Menu.d.ts +7 -0
  157. package/dist/components/DropdownMenu/MenuItem.d.ts +10 -0
  158. package/dist/components/DropdownMenu/MenuItemButton.d.ts +4 -0
  159. package/dist/components/DropdownMenu/SplitTrigger.d.ts +13 -0
  160. package/dist/components/DropdownMenu/SubMenu.d.ts +10 -0
  161. package/dist/components/DropdownMenu/TriggerButton.d.ts +10 -0
  162. package/dist/components/DropdownMenu/constants.d.ts +7 -0
  163. package/dist/components/DropdownMenu/index.d.ts +16 -0
  164. package/dist/components/DropdownMenu/types.d.ts +88 -0
  165. package/dist/components/DropdownMenu.js +178 -0
  166. package/dist/components/DropdownMenu.js.map +1 -0
  167. package/dist/components/Input.d.ts +39 -0
  168. package/dist/components/Input.js +165 -0
  169. package/dist/components/Input.js.map +1 -0
  170. package/dist/components/MultiSelect.constants.d.ts +5 -0
  171. package/dist/components/MultiSelect.d.ts +4 -0
  172. package/dist/components/MultiSelect.js +4 -0
  173. package/dist/components/MultiSelect.js.map +1 -0
  174. package/dist/components/MultiSelect.types.d.ts +121 -0
  175. package/dist/components/MultiSelect.utils.d.ts +18 -0
  176. package/dist/components/MultiSelectCombobox.d.ts +3 -0
  177. package/dist/components/MultiSelectCombobox.js +2 -0
  178. package/dist/components/MultiSelectCombobox.js.map +1 -0
  179. package/dist/components/MultiSelectCombobox.types.d.ts +52 -0
  180. package/dist/components/MultiSelectDropdown.d.ts +9 -0
  181. package/dist/components/MultiSelectDropdown.js +35 -0
  182. package/dist/components/MultiSelectDropdown.js.map +1 -0
  183. package/dist/components/OptionItem.d.ts +9 -0
  184. package/dist/components/OptionItem.js +32 -0
  185. package/dist/components/OptionItem.js.map +1 -0
  186. package/dist/components/Popover.d.ts +47 -0
  187. package/dist/components/Popover.js +117 -0
  188. package/dist/components/Popover.js.map +1 -0
  189. package/dist/components/RadioGroup.d.ts +32 -0
  190. package/dist/components/RadioGroup.js +61 -0
  191. package/dist/components/RadioGroup.js.map +1 -0
  192. package/dist/components/Select.constants.d.ts +5 -0
  193. package/dist/components/Select.d.ts +4 -0
  194. package/dist/components/Select.js +2 -0
  195. package/dist/components/Select.js.map +1 -0
  196. package/dist/components/Select.types.d.ts +58 -0
  197. package/dist/components/SelectFieldWrapper.d.ts +18 -0
  198. package/dist/components/SelectFieldWrapper.js +31 -0
  199. package/dist/components/SelectFieldWrapper.js.map +1 -0
  200. package/dist/components/SelectOptions.d.ts +2 -0
  201. package/dist/components/SelectOptions.js +41 -0
  202. package/dist/components/SelectOptions.js.map +1 -0
  203. package/dist/components/SelectTriggerContent.d.ts +18 -0
  204. package/dist/components/SelectTriggerContent.js +41 -0
  205. package/dist/components/SelectTriggerContent.js.map +1 -0
  206. package/dist/components/Sheet.d.ts +54 -0
  207. package/dist/components/Sheet.js +88 -0
  208. package/dist/components/Sheet.js.map +1 -0
  209. package/dist/components/Switch.d.ts +18 -0
  210. package/dist/components/Switch.js +33 -0
  211. package/dist/components/Switch.js.map +1 -0
  212. package/dist/components/Tabs.d.ts +20 -0
  213. package/dist/components/Tabs.js +72 -0
  214. package/dist/components/Tabs.js.map +1 -0
  215. package/dist/components/Textarea.d.ts +36 -0
  216. package/dist/components/Textarea.js +87 -0
  217. package/dist/components/Textarea.js.map +1 -0
  218. package/dist/components/Toastr.d.ts +30 -0
  219. package/dist/components/Toastr.js +131 -0
  220. package/dist/components/Toastr.js.map +1 -0
  221. package/dist/components/Tooltip.d.ts +29 -0
  222. package/dist/components/Tooltip.js +103 -0
  223. package/dist/components/Tooltip.js.map +1 -0
  224. package/dist/{primitives → components}/Typography.d.ts +2 -2
  225. package/dist/{primitives → components}/Typography.js +6 -6
  226. package/dist/components/Typography.js.map +1 -0
  227. package/dist/components/shared.js +6 -0
  228. package/dist/components/shared.js.map +1 -0
  229. package/dist/components/shared.types.d.ts +16 -0
  230. package/dist/{dialog-C97DOTvO.js → dialog-Civ9r6wD.js} +3 -3
  231. package/dist/{dialog-C97DOTvO.js.map → dialog-Civ9r6wD.js.map} +1 -1
  232. package/dist/hooks/useAsyncOptions.d.ts +13 -0
  233. package/dist/hooks/useCreatableItems.d.ts +30 -0
  234. package/dist/hooks/useLazyLoadSentinel.d.ts +6 -0
  235. package/dist/hooks/useMultiSelectOptions.d.ts +15 -0
  236. package/dist/hooks/useMultiSelectState.d.ts +37 -0
  237. package/dist/hooks/useSelectState.d.ts +27 -0
  238. package/dist/{index-PF0ms7Xn.js → index-9HvIbmnI.js} +3 -3
  239. package/dist/{index-PF0ms7Xn.js.map → index-9HvIbmnI.js.map} +1 -1
  240. package/dist/index-D_roZz8G.js +1137 -0
  241. package/dist/index-D_roZz8G.js.map +1 -0
  242. package/dist/{index-BwxI_qgh.js → index-KzJfsx-e.js} +3 -3
  243. package/dist/{index-BwxI_qgh.js.map → index-KzJfsx-e.js.map} +1 -1
  244. package/dist/index.css +25 -1
  245. package/dist/index.d.ts +40 -0
  246. package/dist/index.js +440 -24
  247. package/dist/index.js.map +1 -1
  248. package/dist/{input-group-CDBpz6Pb.js → input-group-ytECR3Hw.js} +2 -2
  249. package/dist/{input-group-CDBpz6Pb.js.map → input-group-ytECR3Hw.js.map} +1 -1
  250. package/dist/lib/renderIcon.d.ts +5 -0
  251. package/dist/primitives/Accordion.js +1 -1
  252. package/dist/primitives/AlertDialog.js +1 -1
  253. package/dist/primitives/Badge.d.ts +13 -3
  254. package/dist/primitives/Badge.js +54 -2
  255. package/dist/primitives/Badge.js.map +1 -1
  256. package/dist/primitives/Chart.js +1 -1
  257. package/dist/primitives/Combobox.js +3 -3
  258. package/dist/primitives/Command.js +3 -3
  259. package/dist/primitives/ContextMenu.js +1 -1
  260. package/dist/primitives/Dialog.d.ts +11 -3
  261. package/dist/primitives/Dialog.js +11 -7
  262. package/dist/primitives/Dialog.js.map +1 -1
  263. package/dist/primitives/Drawer.js +1 -1
  264. package/dist/primitives/DropdownMenu.js +2 -2
  265. package/dist/primitives/InputGroup.js +1 -1
  266. package/dist/primitives/Menubar.js +1 -1
  267. package/dist/primitives/RadioGroup.d.ts +8 -3
  268. package/dist/primitives/RadioGroup.js +9 -8
  269. package/dist/primitives/RadioGroup.js.map +1 -1
  270. package/dist/primitives/Select.js +3 -3
  271. package/dist/primitives/Sheet.d.ts +12 -3
  272. package/dist/primitives/Sheet.js +11 -7
  273. package/dist/primitives/Sheet.js.map +1 -1
  274. package/dist/primitives/Sidebar.js +3 -3
  275. package/dist/primitives/Sonner.js +11 -1135
  276. package/dist/primitives/Sonner.js.map +1 -1
  277. package/dist/primitives/Switch.d.ts +6 -3
  278. package/dist/primitives/Switch.js +4 -8
  279. package/dist/primitives/Switch.js.map +1 -1
  280. package/dist/primitives/Tooltip.js +1 -1
  281. package/dist/primitives/index.d.ts +0 -1
  282. package/dist/primitives/index.js +8 -8
  283. package/dist/renderIcon-tlvMyboj.js +20 -0
  284. package/dist/renderIcon-tlvMyboj.js.map +1 -0
  285. package/dist/shadcn/components/typography.d.ts +4 -4
  286. package/dist/{sheet-D1ngftfX.js → sheet-COcn22fC.js} +3 -3
  287. package/dist/{sheet-D1ngftfX.js.map → sheet-COcn22fC.js.map} +1 -1
  288. package/dist/{tooltip-D5soNrAP.js → tooltip-DzjIJacP.js} +3 -3
  289. package/dist/{tooltip-D5soNrAP.js.map → tooltip-DzjIJacP.js.map} +1 -1
  290. package/dist/useCreatableItems-B0seQA1_.js +89 -0
  291. package/dist/useCreatableItems-B0seQA1_.js.map +1 -0
  292. package/dist/utils/fieldIds.d.ts +2 -0
  293. package/dist/utils/hyphenize.d.ts +1 -0
  294. package/dist/{reselect-CABQm5hA.js → with-selector--fY1NrB9.js} +111 -111
  295. package/dist/with-selector--fY1NrB9.js.map +1 -0
  296. package/package.json +2 -1
  297. package/dist/DataTable-Y4POx0WN.js.map +0 -1
  298. package/dist/cjs/DataTable-DJw2SZ7b.js.map +0 -1
  299. package/dist/cjs/primitives/Typography.js.map +0 -1
  300. package/dist/cjs/reselect-CeyIIDM-.js.map +0 -1
  301. package/dist/primitives/Typography.js.map +0 -1
  302. package/dist/reselect-CABQm5hA.js.map +0 -1
package/dist/cjs/index.js CHANGED
@@ -1,49 +1,485 @@
1
1
  'use strict';
2
2
 
3
- var DataTable = require('./DataTable-DJw2SZ7b.js');
4
- var useMobile = require('./use-mobile-B-UYxtqX.js');
3
+ var components_Accordion = require('./components/Accordion.js');
4
+ var components_Alert = require('./components/Alert.js');
5
+ var components_Badge = require('./components/Badge.js');
6
+ var components_Button = require('./components/Button.js');
7
+ var components_Checkbox = require('./components/Checkbox.js');
8
+ var ColorPicker = require('./ColorPicker-DN8aynGh.js');
9
+ var components_Dialog = require('./components/Dialog.js');
10
+ var components_DropdownMenu = require('./components/DropdownMenu.js');
11
+ var components_Input = require('./components/Input.js');
12
+ var jsxRuntime = require('react/jsx-runtime');
13
+ var React = require('react');
14
+ var components_MultiSelect = require('./useCreatableItems-BTHtd7uo.js');
15
+ var components_SelectFieldWrapper = require('./components/SelectFieldWrapper.js');
5
16
  var utils = require('./utils-CTr7wn5d.js');
6
- require('react/jsx-runtime');
7
- require('react');
8
- require('./primitives/Table.js');
9
- require('./primitives/Checkbox.js');
10
- require('./check-BQgcDXys.js');
17
+ var primitives_Combobox = require('./primitives/Combobox.js');
18
+ var components_MultiSelectDropdown = require('./components/MultiSelectDropdown.js');
19
+ var components_RadioGroup = require('./components/RadioGroup.js');
20
+ var primitives_Select = require('./primitives/Select.js');
21
+ var components_SelectTriggerContent = require('./components/SelectTriggerContent.js');
22
+ var components_SelectOptions = require('./components/SelectOptions.js');
23
+ var components_Sheet = require('./components/Sheet.js');
24
+ var components_Popover = require('./components/Popover.js');
25
+ var components_Toastr = require('./components/Toastr.js');
26
+ var components_Switch = require('./components/Switch.js');
27
+ var components_Tabs = require('./components/Tabs.js');
28
+ var components_Textarea = require('./components/Textarea.js');
29
+ var components_Tooltip = require('./components/Tooltip.js');
30
+ var components_Typography = require('./components/Typography.js');
31
+ var DataTable = require('./DataTable-BQt_mXDX.js');
32
+ var useMobile = require('./use-mobile-B-UYxtqX.js');
33
+ require('./primitives/Accordion.js');
34
+ require('./chevron-down-CPsWSS51.js');
11
35
  require('./createLucideIcon-D0tRgV6l.js');
12
- require('./index-D-iDn9RI.js');
36
+ require('./chevron-up-BpwpBnZU.js');
13
37
  require('./index-CGUGhyIp.js');
38
+ require('./index-Ch55j1or.js');
39
+ require('./index-D-iDn9RI.js');
14
40
  require('./index-COPkC3I5.js');
15
41
  require('./index-CyrAgb4H.js');
16
42
  require('./index-CCdG4z4E.js');
17
- require('./index-CF951Pw9.js');
18
- require('./index-Bf0WsHta.js');
19
- require('./index-DcCSSgb7.js');
20
43
  require('./index-DMbj7vXd.js');
21
44
  require('react-dom');
22
- require('./primitives/Spinner.js');
23
- require('./loader-circle-Bw7zP2Gn.js');
24
- require('./primitives/Button.js');
45
+ require('./index-BiGm7NEA.js');
46
+ require('./index-DcCSSgb7.js');
47
+ require('./index-BwAq9ba8.js');
48
+ require('./index-9jC1advf.js');
49
+ require('./primitives/Dialog.js');
25
50
  require('./button-B8XGl69v.js');
26
51
  require('./index-BZhTddX0.js');
27
52
  require('./index-DuNgWCXZ.js');
28
- require('./primitives/Pagination.js');
29
- require('./ellipsis-4aubOI2n.js');
30
- require('./chevron-right-0jNdwX2Q.js');
31
- require('./chevron-left-BldoOh5p.js');
32
- require('./primitives/DropdownMenu.js');
33
- require('./index-CGet1HH4.js');
34
- require('./index-Ch55j1or.js');
35
- require('./index-9jC1advf.js');
53
+ require('./dialog-CF2GBHOG.js');
54
+ require('./x-Brw3FJst.js');
55
+ require('./index-BLGrl3PF.js');
36
56
  require('./index-Bvu9MiFi.js');
37
57
  require('./index-lWVw05cs.js');
38
58
  require('./index-ChSOMM8b.js');
39
- require('./index-BwAq9ba8.js');
59
+ require('./index-Df-Ffa3s.js');
60
+ require('./renderIcon-fLF3odqg.js');
61
+ require('./primitives/Button.js');
62
+ require('./primitives/Spinner.js');
63
+ require('./loader-circle-Bw7zP2Gn.js');
64
+ require('./primitives/Tooltip.js');
65
+ require('./tooltip-C-568jEL.js');
40
66
  require('./index-C9ICrOhM.js');
41
67
  require('./floating-ui.react-dom-B4Aw6O7R.js');
42
- require('./index-Df-Ffa3s.js');
43
- require('./index-DR7GJU4J.js');
68
+ require('./index-Bf0WsHta.js');
69
+ require('./index-CB9xFokC.js');
70
+ require('./primitives/Badge.js');
71
+ require('./primitives/Checkbox.js');
72
+ require('./check-BQgcDXys.js');
73
+ require('./index-CF951Pw9.js');
74
+ require('./primitives/Field.js');
75
+ require('./label-Bdc9ytTI.js');
76
+ require('./separator-CPy2gyg1.js');
77
+ require('./primitives/Popover.js');
78
+ require('./primitives/DropdownMenu.js');
79
+ require('./chevron-right-0jNdwX2Q.js');
80
+ require('./index-PdtYHwPi.js');
81
+ require('./index-hQmfI1O7.js');
82
+ require('./primitives/ButtonGroup.js');
83
+ require('./primitives/InputGroup.js');
84
+ require('./input-group-DoK0-4fL.js');
85
+ require('./input-CgKPISj_.js');
86
+ require('./textarea-CZSSY75H.js');
87
+ require('./components/shared.js');
88
+ require('./with-selector-u4xTSzCv.js');
89
+ require('./index-BrpkRQoS.js');
90
+ require('./index-DnKJmaCq.js');
91
+ require('./components/OptionItem.js');
92
+ require('./primitives/RadioGroup.js');
93
+ require('./primitives/Label.js');
94
+ require('./index-EyWRfsCG.js');
95
+ require('./primitives/Sheet.js');
96
+ require('./sheet-CkCrHmVA.js');
97
+ require('./primitives/HoverCard.js');
98
+ require('./index-Vlwnyfvs.js');
99
+ require('./primitives/Switch.js');
100
+ require('./primitives/Tabs.js');
101
+ require('./primitives/Textarea.js');
102
+ require('./primitives/Table.js');
103
+ require('./primitives/Pagination.js');
104
+ require('./ellipsis-4aubOI2n.js');
105
+ require('./chevron-left-BldoOh5p.js');
106
+
107
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
44
108
 
109
+ var React__default = /*#__PURE__*/_interopDefault(React);
45
110
 
111
+ function hyphenize(str) {
112
+ return str
113
+ .replace(/([a-z])([A-Z])/g, "$1-$2")
114
+ .replace(/[\s_]+/g, "-")
115
+ .toLowerCase();
116
+ }
46
117
 
118
+ function buildAriaDescribedBy(error, errorId, helpText, helpTextId) {
119
+ return ([error ? errorId : null, helpText ? helpTextId : null]
120
+ .filter(Boolean)
121
+ .join(" ") || undefined);
122
+ }
123
+ function buildTestIdPrefix(dataTestId, label) {
124
+ return dataTestId ?? (label ? hyphenize(label) : undefined);
125
+ }
126
+
127
+ function useAsyncOptions({ loadOptions, defaultOptions = false, cacheOptions = false, }) {
128
+ const [asyncOptions, setAsyncOptions] = React.useState(() => (Array.isArray(defaultOptions) ? defaultOptions : []));
129
+ const [isLoading, setIsLoading] = React.useState(false);
130
+ const cacheRef = React.useRef({});
131
+ const debounceRef = React.useRef(null);
132
+ const latestRequestRef = React.useRef(0);
133
+ const mountedRef = React.useRef(true);
134
+ // Load default options on mount when `defaultOptions === true`
135
+ React.useEffect(() => {
136
+ if (!loadOptions || defaultOptions !== true)
137
+ return;
138
+ let cancelled = false;
139
+ setIsLoading(true);
140
+ loadOptions("")
141
+ .then(results => {
142
+ if (cancelled)
143
+ return;
144
+ setAsyncOptions(results);
145
+ if (cacheOptions)
146
+ cacheRef.current[""] = results;
147
+ setIsLoading(false);
148
+ })
149
+ .catch(() => {
150
+ if (!cancelled)
151
+ setIsLoading(false);
152
+ });
153
+ return () => {
154
+ cancelled = true;
155
+ };
156
+ // eslint-disable-next-line react-hooks/exhaustive-deps
157
+ }, []);
158
+ // Clean up debounce timer and mark unmounted
159
+ React.useEffect(() => {
160
+ return () => {
161
+ mountedRef.current = false;
162
+ if (debounceRef.current)
163
+ clearTimeout(debounceRef.current);
164
+ };
165
+ }, []);
166
+ const handleAsyncInputChange = React.useCallback((value) => {
167
+ if (!loadOptions)
168
+ return;
169
+ const query = value.trim();
170
+ // Check cache first
171
+ if (cacheOptions && query in cacheRef.current) {
172
+ setAsyncOptions(cacheRef.current[query]);
173
+ return;
174
+ }
175
+ // Debounce the fetch
176
+ if (debounceRef.current)
177
+ clearTimeout(debounceRef.current);
178
+ debounceRef.current = setTimeout(() => {
179
+ const requestId = ++latestRequestRef.current;
180
+ setIsLoading(true);
181
+ loadOptions(query)
182
+ .then(results => {
183
+ if (requestId !== latestRequestRef.current || !mountedRef.current)
184
+ return;
185
+ setAsyncOptions(results);
186
+ if (cacheOptions)
187
+ cacheRef.current[query] = results;
188
+ setIsLoading(false);
189
+ })
190
+ .catch(() => {
191
+ if (requestId === latestRequestRef.current &&
192
+ mountedRef.current) {
193
+ setIsLoading(false);
194
+ }
195
+ });
196
+ }, 300);
197
+ }, [loadOptions, cacheOptions]);
198
+ return { asyncOptions, isLoading, handleAsyncInputChange };
199
+ }
200
+
201
+ function useLazyLoadSentinel({ fetchMore, isEnabled, }) {
202
+ const observerRef = React.useRef(null);
203
+ const fetchMoreRef = React.useRef(fetchMore);
204
+ fetchMoreRef.current = fetchMore;
205
+ const sentinelRef = React.useCallback((node) => {
206
+ observerRef.current?.disconnect();
207
+ observerRef.current = null;
208
+ if (!node || !isEnabled)
209
+ return;
210
+ const observer = new IntersectionObserver(entries => {
211
+ if (entries[0]?.isIntersecting)
212
+ fetchMoreRef.current?.();
213
+ }, { root: null, rootMargin: "0px", threshold: 0.1 });
214
+ observer.observe(node);
215
+ observerRef.current = observer;
216
+ }, [isEnabled]);
217
+ // Clean up observer on unmount
218
+ React.useEffect(() => {
219
+ return () => {
220
+ observerRef.current?.disconnect();
221
+ };
222
+ }, []);
223
+ return sentinelRef;
224
+ }
225
+
226
+ function useMultiSelectOptions(props) {
227
+ const isAsync = !!props.loadOptions;
228
+ const { asyncOptions, isLoading, handleAsyncInputChange } = useAsyncOptions({
229
+ loadOptions: props.loadOptions,
230
+ defaultOptions: props.defaultOptions ?? false,
231
+ cacheOptions: props.cacheOptions ?? false,
232
+ });
233
+ const resolvedOptions = isAsync
234
+ ? asyncOptions
235
+ : (props.options ?? []);
236
+ const flatOptions = components_MultiSelect.flattenOptions(resolvedOptions);
237
+ const isGrouped = components_MultiSelect.hasGroups(resolvedOptions);
238
+ const baseUiItems = React__default.default.useMemo(() => resolvedOptions.length > 0 ? components_MultiSelect.toBaseUiItems(resolvedOptions) : undefined, [resolvedOptions]);
239
+ const hasMoreLazy = (props.isAsyncLoadOptionEnabled ?? false) &&
240
+ typeof props.totalOptionsCount === "number" &&
241
+ flatOptions.length < props.totalOptionsCount;
242
+ const loaderCallbackRef = useLazyLoadSentinel({
243
+ fetchMore: props.fetchMore,
244
+ isEnabled: props.isAsyncLoadOptionEnabled ?? false,
245
+ });
246
+ return {
247
+ isAsync,
248
+ resolvedOptions,
249
+ flatOptions,
250
+ isGrouped,
251
+ isLoading,
252
+ handleAsyncInputChange,
253
+ baseUiItems,
254
+ hasMoreLazy,
255
+ loaderCallbackRef,
256
+ };
257
+ }
258
+
259
+ const SIZE_CONFIG$1 = {
260
+ small: {
261
+ chips: "min-h-7 text-xs gap-0.5 px-1 py-0.5",
262
+ input: "text-xs",
263
+ chip: "h-4.5 text-[0.6875rem] px-1",
264
+ },
265
+ medium: {
266
+ chips: "min-h-8 text-sm gap-1 px-2.5 py-1",
267
+ input: "text-sm",
268
+ chip: "h-5.25 text-xs px-1.5",
269
+ },
270
+ large: {
271
+ chips: "min-h-10 text-sm gap-1 px-2.5 py-1.5",
272
+ input: "text-sm",
273
+ chip: "h-6 text-xs px-2",
274
+ },
275
+ };
276
+
277
+ function useMultiSelectState(props) {
278
+ const { id: idProp, size = "medium", label = "", error = "", helpText = "", value: valueProp, defaultValue, onChange, dataTestId, isCreatable = false, onCreateOption, formatCreateLabel = (v) => `Create "${v}"`, children, } = props;
279
+ const opt = useMultiSelectOptions(props);
280
+ const generatedId = React.useId();
281
+ const id = idProp ?? generatedId;
282
+ const errorId = `error_${id}`;
283
+ const helpTextId = `helpText_${id}`;
284
+ const sizeConfig = SIZE_CONFIG$1[size];
285
+ const isControlled = valueProp !== undefined;
286
+ const [internalValue, setInternalValue] = React.useState(defaultValue ?? []);
287
+ const selectedValues = isControlled ? valueProp : internalValue;
288
+ const handleChange = React.useCallback((values) => {
289
+ setInternalValue(values);
290
+ onChange?.(values);
291
+ }, [onChange]);
292
+ const { showCreateOption, effectiveItems, creatableFilter, handleInputValueChange, handleValueChange, } = components_MultiSelect.useCreatableItems({
293
+ isCreatable,
294
+ isGrouped: opt.isGrouped,
295
+ flatOptions: opt.flatOptions,
296
+ selectedValues,
297
+ baseUiItems: opt.baseUiItems,
298
+ onCreateOption,
299
+ onChange: handleChange,
300
+ onAsyncInputChange: opt.isAsync ? opt.handleAsyncInputChange : undefined,
301
+ children,
302
+ });
303
+ const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
304
+ const testIdPrefix = buildTestIdPrefix(dataTestId, label);
305
+ const flatOptionsMap = React.useMemo(() => new Map(opt.flatOptions.map(o => [o.value, o])), [opt.flatOptions]);
306
+ const labelForValue = React.useCallback((val) => {
307
+ if (val.startsWith(components_MultiSelect.CREATE_PREFIX)) {
308
+ return formatCreateLabel(val.slice(components_MultiSelect.CREATE_PREFIX.length));
309
+ }
310
+ return flatOptionsMap.get(val)?.label ?? val;
311
+ }, [flatOptionsMap, formatCreateLabel]);
312
+ return {
313
+ ...opt,
314
+ id,
315
+ errorId,
316
+ helpTextId,
317
+ sizeConfig,
318
+ isControlled,
319
+ selectedValues,
320
+ effectiveItems,
321
+ creatableFilter,
322
+ handleInputValueChange,
323
+ handleValueChange,
324
+ showCreateOption,
325
+ ariaDescribedBy,
326
+ testIdPrefix,
327
+ labelForValue,
328
+ flatOptionsMap,
329
+ };
330
+ }
331
+
332
+ const MultiSelectCombobox = React.forwardRef((p, ref) => {
333
+ const [anchorEl, setAnchorEl] = React.useState(null);
334
+ const mergedRef = React.useCallback((node) => {
335
+ setAnchorEl(node);
336
+ if (typeof ref === "function")
337
+ ref(node);
338
+ else if (ref)
339
+ ref.current = node;
340
+ }, [ref]);
341
+ const handleClick = React.useCallback((e) => {
342
+ if (!p.isSearchable) {
343
+ e.currentTarget.querySelector("input")?.focus();
344
+ }
345
+ }, [p.isSearchable]);
346
+ return (jsxRuntime.jsxs(primitives_Combobox.Combobox, { multiple: true, name: p.name, ...(p.effectiveItems && !p.children
347
+ ? {
348
+ items: p.effectiveItems,
349
+ itemToStringLabel: p.labelForValue,
350
+ ...(!p.isSearchable || p.isAsync
351
+ ? { filter: null }
352
+ : p.isCreatable
353
+ ? { filter: p.creatableFilter }
354
+ : {}),
355
+ }
356
+ : {}), ...(p.isControlled
357
+ ? { value: p.valueProp }
358
+ : { defaultValue: p.defaultValue }), onValueChange: p.handleValueChange, ...(p.isCreatable || p.isAsync
359
+ ? { onInputValueChange: p.handleInputValueChange }
360
+ : {}), onOpenChange: p.onOpenChange, disabled: p.isDisabled, autoHighlight: p.autoHighlight, children: [jsxRuntime.jsx("div", { ref: mergedRef, onClick: handleClick, className: !p.isSearchable ? "cursor-pointer" : undefined, children: jsxRuntime.jsxs(primitives_Combobox.ComboboxChips, { className: utils.cn(p.sizeConfig.chips, !!p.error &&
361
+ "border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40", p.chipsClassName), ...(p.testIdPrefix
362
+ ? { "data-testid": `${p.testIdPrefix}-select-container` }
363
+ : {}), children: [p.selectedValues.map(val => (jsxRuntime.jsx(primitives_Combobox.ComboboxChip, { className: p.sizeConfig.chip, showRemove: !p.hideChipRemove, ...(p.testIdPrefix
364
+ ? { "data-testid": `${p.testIdPrefix}-chip` }
365
+ : {}), children: p.labelForValue(val) }, val))), jsxRuntime.jsx(primitives_Combobox.ComboboxChipsInput, { id: p.id, placeholder: p.isSearchable && p.selectedValues.length === 0
366
+ ? p.placeholder
367
+ : undefined, "aria-invalid": !!p.error || undefined, "aria-describedby": p.ariaDescribedBy, "aria-required": p.required || undefined, className: utils.cn(p.sizeConfig.input, !p.isSearchable && "w-0 min-w-0 overflow-hidden p-0 opacity-0"), disabled: p.isDisabled, ...(p.testIdPrefix
368
+ ? { "data-testid": `${p.testIdPrefix}-select-input` }
369
+ : {}) })] }) }), jsxRuntime.jsx(primitives_Combobox.ComboboxContent, { anchor: anchorEl, ...p.contentProps, children: jsxRuntime.jsx(components_MultiSelectDropdown.MultiSelectDropdown, { ...p.dropdownProps, labelForValue: p.labelForValue, testIdPrefix: p.testIdPrefix, children: p.children }) })] }));
370
+ });
371
+ MultiSelectCombobox.displayName = "MultiSelectCombobox";
372
+
373
+ const MultiSelect = React.forwardRef((props, ref) => {
374
+ const s = useMultiSelectState(props);
375
+ const label = props.label ?? "";
376
+ const error = props.error ?? "";
377
+ const helpText = props.helpText ?? "";
378
+ const isDisabled = props.isDisabled ?? false;
379
+ const required = props.required ?? false;
380
+ return (jsxRuntime.jsx(components_SelectFieldWrapper.SelectFieldWrapper, { id: s.id, label: label, error: error, helpText: helpText, errorId: s.errorId, helpTextId: s.helpTextId, isDisabled: isDisabled, required: required, testIdPrefix: s.testIdPrefix, labelProps: props.labelProps, className: props.className, children: jsxRuntime.jsx(MultiSelectCombobox, { ref: ref, name: props.name, id: s.id, effectiveItems: s.effectiveItems, labelForValue: s.labelForValue, isSearchable: props.isSearchable ?? true, isAsync: s.isAsync, isCreatable: props.isCreatable ?? false, creatableFilter: s.creatableFilter, isControlled: s.isControlled, valueProp: props.value, defaultValue: props.defaultValue, selectedValues: s.selectedValues, handleValueChange: s.handleValueChange, handleInputValueChange: s.handleInputValueChange, onOpenChange: props.onOpenChange, isDisabled: isDisabled, autoHighlight: props.autoHighlight ?? true, sizeConfig: s.sizeConfig, error: error, chipsClassName: props.chipsClassName, placeholder: props.placeholder ?? "", hideChipRemove: props.hideChipRemove ?? false, ariaDescribedBy: s.ariaDescribedBy, required: required, testIdPrefix: s.testIdPrefix, contentProps: props.contentProps, dropdownProps: {
381
+ resolvedOptions: s.resolvedOptions,
382
+ flatOptionsMap: s.flatOptionsMap,
383
+ isGrouped: s.isGrouped,
384
+ isLoading: s.isLoading,
385
+ loadingMessage: props.loadingMessage ?? "Loading\u2026",
386
+ emptyMessage: props.emptyMessage ?? "No results found.",
387
+ showCreateOption: s.showCreateOption,
388
+ hasMoreLazy: s.hasMoreLazy,
389
+ loaderCallbackRef: s.loaderCallbackRef,
390
+ }, children: props.children }) }));
391
+ });
392
+ MultiSelect.displayName = "MultiSelect";
393
+
394
+ const SIZE_CONFIG = {
395
+ small: { trigger: "h-7 text-xs", size: "sm", clearBtn: "size-3" },
396
+ medium: { trigger: "h-8 text-sm", size: "default", clearBtn: "size-3.5" },
397
+ large: { trigger: "h-10 text-sm", size: "default", clearBtn: "size-3.5" },
398
+ };
399
+
400
+ function useSelectState(props) {
401
+ const { id: idProp, size = "medium", label = "", error = "", helpText = "", placeholder = "", value: valueProp, defaultValue, onChange, isDisabled = false, isClearable = false, required = false, position = "item-aligned", onMenuOpen, onMenuClose, dataTestId, } = props;
402
+ const generatedId = React.useId();
403
+ const id = idProp ?? generatedId;
404
+ const errorId = `error_${id}`;
405
+ const helpTextId = `helpText_${id}`;
406
+ const sizeConfig = SIZE_CONFIG[size];
407
+ const isControlled = valueProp !== undefined;
408
+ const [internalValue, setInternalValue] = React.useState(defaultValue ?? "");
409
+ const currentValue = isControlled ? valueProp : internalValue;
410
+ const handleValueChange = React.useCallback((next) => {
411
+ if (!isControlled)
412
+ setInternalValue(next);
413
+ onChange?.(next);
414
+ }, [isControlled, onChange]);
415
+ const handleClear = React.useCallback((e) => {
416
+ e.stopPropagation();
417
+ e.preventDefault();
418
+ handleValueChange("");
419
+ }, [handleValueChange]);
420
+ const handleOpenChange = React.useCallback((open) => {
421
+ if (open)
422
+ onMenuOpen?.();
423
+ else
424
+ onMenuClose?.();
425
+ }, [onMenuOpen, onMenuClose]);
426
+ const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
427
+ const testIdPrefix = buildTestIdPrefix(dataTestId, label);
428
+ const showClearButton = isClearable && !!currentValue && !isDisabled;
429
+ return {
430
+ id,
431
+ errorId,
432
+ helpTextId,
433
+ sizeConfig,
434
+ currentValue,
435
+ isControlled,
436
+ handleValueChange,
437
+ handleClear,
438
+ handleOpenChange,
439
+ ariaDescribedBy,
440
+ testIdPrefix,
441
+ showClearButton,
442
+ label,
443
+ error,
444
+ helpText,
445
+ placeholder,
446
+ isDisabled,
447
+ required,
448
+ position,
449
+ };
450
+ }
451
+
452
+ const Select = React.forwardRef((props, ref) => {
453
+ const s = useSelectState(props);
454
+ return (jsxRuntime.jsx(components_SelectFieldWrapper.SelectFieldWrapper, { id: s.id, label: s.label, error: s.error, helpText: s.helpText, errorId: s.errorId, helpTextId: s.helpTextId, isDisabled: s.isDisabled, required: s.required, testIdPrefix: s.testIdPrefix, labelProps: props.labelProps, className: props.className, children: jsxRuntime.jsxs(primitives_Select.Select, { name: props.name, value: s.currentValue, defaultValue: s.isControlled ? undefined : props.defaultValue, onValueChange: s.handleValueChange, onOpenChange: s.handleOpenChange, disabled: s.isDisabled, required: s.required, children: [jsxRuntime.jsx(components_SelectTriggerContent.SelectTriggerContent, { ref: ref, id: s.id, sizeConfig: s.sizeConfig, error: s.error, ariaDescribedBy: s.ariaDescribedBy, triggerClassName: props.triggerClassName, testIdPrefix: s.testIdPrefix, placeholder: s.placeholder, showClearButton: s.showClearButton, handleClear: s.handleClear }), jsxRuntime.jsx(primitives_Select.SelectContent, { position: s.position, ...props.contentProps, ...(s.testIdPrefix
455
+ ? { "data-testid": `${s.testIdPrefix}-select-menu` }
456
+ : {}), children: props.children ??
457
+ (props.options
458
+ ? components_SelectOptions.renderOptions(props.options, s.testIdPrefix)
459
+ : null) })] }) }));
460
+ });
461
+ Select.displayName = "Select";
462
+
463
+ exports.Accordion = components_Accordion.Accordion;
464
+ exports.Alert = components_Alert.Alert;
465
+ exports.Badge = components_Badge.Badge;
466
+ exports.Button = components_Button.Button;
467
+ exports.Checkbox = components_Checkbox.Checkbox;
468
+ exports.ColorPicker = ColorPicker.ColorPicker;
469
+ exports.Dialog = components_Dialog.Dialog;
470
+ exports.DropdownMenu = components_DropdownMenu.DropdownMenu;
471
+ exports.Input = components_Input.Input;
472
+ exports.cn = utils.cn;
473
+ exports.RadioGroup = components_RadioGroup.RadioGroup;
474
+ exports.Sheet = components_Sheet.Sheet;
475
+ exports.Popover = components_Popover.Popover;
476
+ exports.Toastr = components_Toastr.Toastr;
477
+ exports.Switch = components_Switch.Switch;
478
+ exports.Tabs = components_Tabs.Tabs;
479
+ exports.Textarea = components_Textarea.Textarea;
480
+ exports.Tooltip = components_Tooltip.Tooltip;
481
+ exports.Typography = components_Typography.Typography;
482
+ exports.typographyVariants = components_Typography.typographyVariants;
47
483
  exports.DataTable = DataTable.DataTable;
48
484
  exports.useColumnOrdering = DataTable.useColumnOrdering;
49
485
  exports.useColumnPinning = DataTable.useColumnPinning;
@@ -52,5 +488,6 @@ exports.useTablePagination = DataTable.useTablePagination;
52
488
  exports.useTableSelection = DataTable.useTableSelection;
53
489
  exports.useTableSort = DataTable.useTableSort;
54
490
  exports.useIsMobile = useMobile.useIsMobile;
55
- exports.cn = utils.cn;
491
+ exports.MultiSelect = MultiSelect;
492
+ exports.Select = Select;
56
493
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/hyphenize.ts","../../../src/utils/fieldIds.ts","../../../src/hooks/useAsyncOptions.ts","../../../src/hooks/useLazyLoadSentinel.ts","../../../src/hooks/useMultiSelectOptions.ts","../../../src/components/MultiSelect.constants.ts","../../../src/hooks/useMultiSelectState.ts","../../../src/components/MultiSelectCombobox.tsx","../../../src/components/MultiSelect.tsx","../../../src/components/Select.constants.ts","../../../src/hooks/useSelectState.ts","../../../src/components/Select.tsx"],"sourcesContent":["export function hyphenize(str: string): string {\n return str\n .replace(/([a-z])([A-Z])/g, \"$1-$2\")\n .replace(/[\\s_]+/g, \"-\")\n .toLowerCase();\n}\n","import { hyphenize } from \"./hyphenize\";\n\nexport function buildAriaDescribedBy(\n error: string,\n errorId: string,\n helpText: React.ReactNode,\n helpTextId: string\n): string | undefined {\n return (\n [error ? errorId : null, helpText ? helpTextId : null]\n .filter(Boolean)\n .join(\" \") || undefined\n );\n}\n\nexport function buildTestIdPrefix(\n dataTestId: string | undefined,\n label: string\n): string | undefined {\n return dataTestId ?? (label ? hyphenize(label) : undefined);\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport type { MultiSelectOptionBase } from \"src/components/MultiSelect.types\";\n\ninterface UseAsyncOptionsConfig {\n loadOptions?: (inputValue: string) => Promise<MultiSelectOptionBase[]>;\n defaultOptions?: boolean | MultiSelectOptionBase[];\n cacheOptions?: boolean;\n}\n\ninterface UseAsyncOptionsReturn {\n asyncOptions: MultiSelectOptionBase[];\n isLoading: boolean;\n handleAsyncInputChange: (value: string) => void;\n}\n\nexport function useAsyncOptions({\n loadOptions,\n defaultOptions = false,\n cacheOptions = false,\n}: UseAsyncOptionsConfig): UseAsyncOptionsReturn {\n const [asyncOptions, setAsyncOptions] = useState<MultiSelectOptionBase[]>(\n () => (Array.isArray(defaultOptions) ? defaultOptions : [])\n );\n const [isLoading, setIsLoading] = useState(false);\n const cacheRef = useRef<Record<string, MultiSelectOptionBase[]>>({});\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const latestRequestRef = useRef(0);\n const mountedRef = useRef(true);\n\n // Load default options on mount when `defaultOptions === true`\n useEffect(() => {\n if (!loadOptions || defaultOptions !== true) return;\n let cancelled = false;\n setIsLoading(true);\n loadOptions(\"\")\n .then(results => {\n if (cancelled) return;\n setAsyncOptions(results);\n if (cacheOptions) cacheRef.current[\"\"] = results;\n setIsLoading(false);\n })\n .catch(() => {\n if (!cancelled) setIsLoading(false);\n });\n return () => {\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Clean up debounce timer and mark unmounted\n useEffect(() => {\n return () => {\n mountedRef.current = false;\n if (debounceRef.current) clearTimeout(debounceRef.current);\n };\n }, []);\n\n const handleAsyncInputChange = useCallback(\n (value: string) => {\n if (!loadOptions) return;\n\n const query = value.trim();\n\n // Check cache first\n if (cacheOptions && query in cacheRef.current) {\n setAsyncOptions(cacheRef.current[query]);\n return;\n }\n\n // Debounce the fetch\n if (debounceRef.current) clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => {\n const requestId = ++latestRequestRef.current;\n setIsLoading(true);\n loadOptions(query)\n .then(results => {\n if (requestId !== latestRequestRef.current || !mountedRef.current)\n return;\n setAsyncOptions(results);\n if (cacheOptions) cacheRef.current[query] = results;\n setIsLoading(false);\n })\n .catch(() => {\n if (\n requestId === latestRequestRef.current &&\n mountedRef.current\n ) {\n setIsLoading(false);\n }\n });\n }, 300);\n },\n [loadOptions, cacheOptions]\n );\n\n return { asyncOptions, isLoading, handleAsyncInputChange };\n}\n","import { useCallback, useEffect, useRef } from \"react\";\n\ninterface UseLazyLoadSentinelConfig {\n fetchMore?: () => void;\n isEnabled: boolean;\n}\n\nexport function useLazyLoadSentinel({\n fetchMore,\n isEnabled,\n}: UseLazyLoadSentinelConfig) {\n const observerRef = useRef<IntersectionObserver | null>(null);\n const fetchMoreRef = useRef(fetchMore);\n fetchMoreRef.current = fetchMore;\n\n const sentinelRef = useCallback(\n (node: HTMLDivElement | null) => {\n observerRef.current?.disconnect();\n observerRef.current = null;\n\n if (!node || !isEnabled) return;\n\n const observer = new IntersectionObserver(\n entries => {\n if (entries[0]?.isIntersecting) fetchMoreRef.current?.();\n },\n { root: null, rootMargin: \"0px\", threshold: 0.1 }\n );\n observer.observe(node);\n observerRef.current = observer;\n },\n [isEnabled]\n );\n\n // Clean up observer on unmount\n useEffect(() => {\n return () => {\n observerRef.current?.disconnect();\n };\n }, []);\n\n return sentinelRef;\n}\n","import React from \"react\";\n\nimport { useAsyncOptions } from \"./useAsyncOptions\";\nimport { useLazyLoadSentinel } from \"./useLazyLoadSentinel\";\nimport {\n flattenOptions,\n hasGroups,\n toBaseUiItems,\n} from \"src/components/MultiSelect.utils\";\nimport type {\n MultiSelectOption,\n MultiSelectProps,\n} from \"src/components/MultiSelect.types\";\n\nexport function useMultiSelectOptions(props: MultiSelectProps) {\n const isAsync = !!props.loadOptions;\n\n const { asyncOptions, isLoading, handleAsyncInputChange } = useAsyncOptions({\n loadOptions: props.loadOptions,\n defaultOptions: props.defaultOptions ?? false,\n cacheOptions: props.cacheOptions ?? false,\n });\n\n const resolvedOptions: MultiSelectOption[] = isAsync\n ? asyncOptions\n : (props.options ?? []);\n const flatOptions = flattenOptions(resolvedOptions);\n const isGrouped = hasGroups(resolvedOptions);\n\n const baseUiItems = React.useMemo(\n () =>\n resolvedOptions.length > 0 ? toBaseUiItems(resolvedOptions) : undefined,\n [resolvedOptions]\n );\n\n const hasMoreLazy =\n (props.isAsyncLoadOptionEnabled ?? false) &&\n typeof props.totalOptionsCount === \"number\" &&\n flatOptions.length < props.totalOptionsCount;\n\n const loaderCallbackRef = useLazyLoadSentinel({\n fetchMore: props.fetchMore,\n isEnabled: props.isAsyncLoadOptionEnabled ?? false,\n });\n\n return {\n isAsync,\n resolvedOptions,\n flatOptions,\n isGrouped,\n isLoading,\n handleAsyncInputChange,\n baseUiItems,\n hasMoreLazy,\n loaderCallbackRef,\n };\n}\n","export const SIZE_CONFIG: Record<\n \"small\" | \"medium\" | \"large\",\n { chips: string; input: string; chip: string }\n> = {\n small: {\n chips: \"min-h-7 text-xs gap-0.5 px-1 py-0.5\",\n input: \"text-xs\",\n chip: \"h-4.5 text-[0.6875rem] px-1\",\n },\n medium: {\n chips: \"min-h-8 text-sm gap-1 px-2.5 py-1\",\n input: \"text-sm\",\n chip: \"h-5.25 text-xs px-1.5\",\n },\n large: {\n chips: \"min-h-10 text-sm gap-1 px-2.5 py-1.5\",\n input: \"text-sm\",\n chip: \"h-6 text-xs px-2\",\n },\n};\n","import { useCallback, useId, useMemo, useState } from \"react\";\n\nimport { buildAriaDescribedBy, buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { useCreatableItems, CREATE_PREFIX } from \"./useCreatableItems\";\nimport { useMultiSelectOptions } from \"./useMultiSelectOptions\";\nimport { SIZE_CONFIG } from \"src/components/MultiSelect.constants\";\nimport type { MultiSelectProps } from \"src/components/MultiSelect.types\";\n\nexport function useMultiSelectState(props: MultiSelectProps) {\n const {\n id: idProp,\n size = \"medium\",\n label = \"\",\n error = \"\",\n helpText = \"\",\n value: valueProp,\n defaultValue,\n onChange,\n dataTestId,\n isCreatable = false,\n onCreateOption,\n formatCreateLabel = (v: string) => `Create \"${v}\"`,\n children,\n } = props;\n\n const opt = useMultiSelectOptions(props);\n\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const sizeConfig = SIZE_CONFIG[size];\n\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState<string[]>(\n defaultValue ?? []\n );\n const selectedValues = isControlled ? valueProp : internalValue;\n\n const handleChange = useCallback(\n (values: string[]) => {\n setInternalValue(values);\n onChange?.(values);\n },\n [onChange]\n );\n\n const {\n showCreateOption,\n effectiveItems,\n creatableFilter,\n handleInputValueChange,\n handleValueChange,\n } = useCreatableItems({\n isCreatable,\n isGrouped: opt.isGrouped,\n flatOptions: opt.flatOptions,\n selectedValues,\n baseUiItems: opt.baseUiItems,\n onCreateOption,\n onChange: handleChange,\n onAsyncInputChange: opt.isAsync ? opt.handleAsyncInputChange : undefined,\n children,\n });\n\n const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n\n const flatOptionsMap = useMemo(\n () => new Map(opt.flatOptions.map(o => [o.value, o])),\n [opt.flatOptions]\n );\n\n const labelForValue = useCallback(\n (val: string) => {\n if (val.startsWith(CREATE_PREFIX)) {\n return formatCreateLabel(val.slice(CREATE_PREFIX.length));\n }\n return flatOptionsMap.get(val)?.label ?? val;\n },\n [flatOptionsMap, formatCreateLabel]\n );\n\n return {\n ...opt,\n id,\n errorId,\n helpTextId,\n sizeConfig,\n isControlled,\n selectedValues,\n effectiveItems,\n creatableFilter,\n handleInputValueChange,\n handleValueChange,\n showCreateOption,\n ariaDescribedBy,\n testIdPrefix,\n labelForValue,\n flatOptionsMap,\n };\n}\n","import React, { forwardRef, useCallback, useState } from \"react\";\nimport { cn } from \"src/shadcn/lib/utils\";\nimport {\n Combobox,\n ComboboxContent,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n} from \"src/primitives/Combobox\";\nimport { MultiSelectDropdown } from \"./MultiSelectDropdown\";\nimport type { MultiSelectComboboxProps } from \"./MultiSelectCombobox.types\";\n\nexport const MultiSelectCombobox = forwardRef<\n HTMLDivElement,\n MultiSelectComboboxProps\n>((p, ref) => {\n const [anchorEl, setAnchorEl] = useState<HTMLDivElement | null>(null);\n\n const mergedRef = useCallback(\n (node: HTMLDivElement | null) => {\n setAnchorEl(node);\n if (typeof ref === \"function\") ref(node);\n else if (ref)\n (ref as React.MutableRefObject<HTMLDivElement | null>).current = node;\n },\n [ref]\n );\n\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLDivElement>) => {\n if (!p.isSearchable) {\n (e.currentTarget as HTMLElement).querySelector(\"input\")?.focus();\n }\n },\n [p.isSearchable]\n );\n\n return (\n <Combobox\n multiple\n name={p.name}\n {...(p.effectiveItems && !p.children\n ? {\n items: p.effectiveItems,\n itemToStringLabel: p.labelForValue,\n ...(!p.isSearchable || p.isAsync\n ? { filter: null }\n : p.isCreatable\n ? { filter: p.creatableFilter }\n : {}),\n }\n : {})}\n {...(p.isControlled\n ? { value: p.valueProp }\n : { defaultValue: p.defaultValue })}\n onValueChange={p.handleValueChange}\n {...(p.isCreatable || p.isAsync\n ? { onInputValueChange: p.handleInputValueChange }\n : {})}\n onOpenChange={p.onOpenChange}\n disabled={p.isDisabled}\n autoHighlight={p.autoHighlight}\n >\n <div\n ref={mergedRef}\n onClick={handleClick}\n className={!p.isSearchable ? \"cursor-pointer\" : undefined}\n >\n <ComboboxChips\n className={cn(\n p.sizeConfig.chips,\n !!p.error &&\n \"border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40\",\n p.chipsClassName\n )}\n {...(p.testIdPrefix\n ? { \"data-testid\": `${p.testIdPrefix}-select-container` }\n : {})}\n >\n {p.selectedValues.map(val => (\n <ComboboxChip\n key={val}\n className={p.sizeConfig.chip}\n showRemove={!p.hideChipRemove}\n {...(p.testIdPrefix\n ? { \"data-testid\": `${p.testIdPrefix}-chip` }\n : {})}\n >\n {p.labelForValue(val)}\n </ComboboxChip>\n ))}\n <ComboboxChipsInput\n id={p.id}\n placeholder={\n p.isSearchable && p.selectedValues.length === 0\n ? p.placeholder\n : undefined\n }\n aria-invalid={!!p.error || undefined}\n aria-describedby={p.ariaDescribedBy}\n aria-required={p.required || undefined}\n className={cn(\n p.sizeConfig.input,\n !p.isSearchable && \"w-0 min-w-0 overflow-hidden p-0 opacity-0\"\n )}\n disabled={p.isDisabled}\n {...(p.testIdPrefix\n ? { \"data-testid\": `${p.testIdPrefix}-select-input` }\n : {})}\n />\n </ComboboxChips>\n </div>\n <ComboboxContent anchor={anchorEl} {...p.contentProps}>\n <MultiSelectDropdown\n {...p.dropdownProps}\n labelForValue={p.labelForValue}\n testIdPrefix={p.testIdPrefix}\n >\n {p.children}\n </MultiSelectDropdown>\n </ComboboxContent>\n </Combobox>\n );\n});\nMultiSelectCombobox.displayName = \"MultiSelectCombobox\";\n","import { forwardRef } from \"react\";\n\nimport { useMultiSelectState } from \"src/hooks/useMultiSelectState\";\nimport { SelectFieldWrapper } from \"./SelectFieldWrapper\";\nimport { MultiSelectCombobox } from \"./MultiSelectCombobox\";\nimport type { MultiSelectProps } from \"./MultiSelect.types\";\n\n// Re-export types for barrel file consumers\nexport type {\n MultiSelectProps,\n MultiSelectOption,\n MultiSelectOptionBase,\n MultiSelectOptionGroup,\n} from \"./MultiSelect.types\";\n\nconst MultiSelect = forwardRef<HTMLDivElement, MultiSelectProps>(\n (props, ref) => {\n const s = useMultiSelectState(props);\n const label = props.label ?? \"\";\n const error = props.error ?? \"\";\n const helpText = props.helpText ?? \"\";\n const isDisabled = props.isDisabled ?? false;\n const required = props.required ?? false;\n\n return (\n <SelectFieldWrapper\n id={s.id}\n label={label}\n error={error}\n helpText={helpText}\n errorId={s.errorId}\n helpTextId={s.helpTextId}\n isDisabled={isDisabled}\n required={required}\n\n testIdPrefix={s.testIdPrefix}\n labelProps={props.labelProps}\n className={props.className}\n >\n <MultiSelectCombobox\n ref={ref}\n name={props.name}\n id={s.id}\n effectiveItems={s.effectiveItems}\n labelForValue={s.labelForValue}\n isSearchable={props.isSearchable ?? true}\n isAsync={s.isAsync}\n isCreatable={props.isCreatable ?? false}\n creatableFilter={s.creatableFilter}\n isControlled={s.isControlled}\n valueProp={props.value}\n defaultValue={props.defaultValue}\n selectedValues={s.selectedValues}\n handleValueChange={\n s.handleValueChange as (...args: unknown[]) => void\n }\n handleInputValueChange={\n s.handleInputValueChange as (...args: unknown[]) => void\n }\n onOpenChange={props.onOpenChange}\n isDisabled={isDisabled}\n autoHighlight={props.autoHighlight ?? true}\n sizeConfig={s.sizeConfig}\n error={error}\n chipsClassName={props.chipsClassName}\n placeholder={props.placeholder ?? \"\"}\n hideChipRemove={props.hideChipRemove ?? false}\n ariaDescribedBy={s.ariaDescribedBy}\n required={required}\n testIdPrefix={s.testIdPrefix}\n contentProps={props.contentProps}\n dropdownProps={{\n resolvedOptions: s.resolvedOptions,\n flatOptionsMap: s.flatOptionsMap,\n isGrouped: s.isGrouped,\n isLoading: s.isLoading,\n loadingMessage: props.loadingMessage ?? \"Loading\\u2026\",\n emptyMessage: props.emptyMessage ?? \"No results found.\",\n showCreateOption: s.showCreateOption,\n hasMoreLazy: s.hasMoreLazy,\n loaderCallbackRef: s.loaderCallbackRef,\n }}\n >\n {props.children}\n </MultiSelectCombobox>\n </SelectFieldWrapper>\n );\n }\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n\nexport { MultiSelect };\n","export const SIZE_CONFIG: Record<\n \"small\" | \"medium\" | \"large\",\n { trigger: string; size: \"sm\" | \"default\"; clearBtn: string }\n> = {\n small: { trigger: \"h-7 text-xs\", size: \"sm\", clearBtn: \"size-3\" },\n medium: { trigger: \"h-8 text-sm\", size: \"default\", clearBtn: \"size-3.5\" },\n large: { trigger: \"h-10 text-sm\", size: \"default\", clearBtn: \"size-3.5\" },\n};\n","import React, { useCallback, useId, useState } from \"react\";\n\nimport { buildAriaDescribedBy, buildTestIdPrefix } from \"src/utils/fieldIds\";\nimport { SIZE_CONFIG } from \"src/components/Select.constants\";\nimport type { SelectProps } from \"src/components/Select.types\";\n\nexport function useSelectState(props: SelectProps) {\n const {\n id: idProp,\n size = \"medium\",\n label = \"\",\n error = \"\",\n helpText = \"\",\n placeholder = \"\",\n value: valueProp,\n defaultValue,\n onChange,\n isDisabled = false,\n isClearable = false,\n required = false,\n position = \"item-aligned\",\n onMenuOpen,\n onMenuClose,\n dataTestId,\n } = props;\n\n const generatedId = useId();\n const id = idProp ?? generatedId;\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const sizeConfig = SIZE_CONFIG[size];\n\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState(defaultValue ?? \"\");\n const currentValue = isControlled ? valueProp : internalValue;\n\n const handleValueChange = useCallback(\n (next: string) => {\n if (!isControlled) setInternalValue(next);\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n\n const handleClear = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n handleValueChange(\"\");\n },\n [handleValueChange]\n );\n\n const handleOpenChange = useCallback(\n (open: boolean) => {\n if (open) onMenuOpen?.();\n else onMenuClose?.();\n },\n [onMenuOpen, onMenuClose]\n );\n\n const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);\n const testIdPrefix = buildTestIdPrefix(dataTestId, label);\n const showClearButton = isClearable && !!currentValue && !isDisabled;\n\n return {\n id,\n errorId,\n helpTextId,\n sizeConfig,\n currentValue,\n isControlled,\n handleValueChange,\n handleClear,\n handleOpenChange,\n ariaDescribedBy,\n testIdPrefix,\n showClearButton,\n label,\n error,\n helpText,\n placeholder,\n isDisabled,\n required,\n position,\n };\n}\n","import { forwardRef } from \"react\";\n\nimport {\n Select as PrimitiveSelect,\n SelectContent,\n} from \"src/primitives/Select\";\nimport { useSelectState } from \"src/hooks/useSelectState\";\nimport { SelectFieldWrapper } from \"./SelectFieldWrapper\";\nimport { SelectTriggerContent } from \"./SelectTriggerContent\";\nimport { renderOptions } from \"./SelectOptions\";\nimport type { SelectProps } from \"./Select.types\";\n\n// Re-export types for barrel file consumers\nexport type {\n SelectProps,\n SelectOption,\n SelectOptionBase,\n SelectOptionGroup,\n} from \"./Select.types\";\n\nconst Select = forwardRef<HTMLButtonElement, SelectProps>((props, ref) => {\n const s = useSelectState(props);\n\n return (\n <SelectFieldWrapper\n id={s.id}\n label={s.label}\n error={s.error}\n helpText={s.helpText}\n errorId={s.errorId}\n helpTextId={s.helpTextId}\n isDisabled={s.isDisabled}\n required={s.required}\n testIdPrefix={s.testIdPrefix}\n labelProps={props.labelProps}\n className={props.className}\n >\n <PrimitiveSelect\n name={props.name}\n value={s.currentValue}\n defaultValue={s.isControlled ? undefined : props.defaultValue}\n onValueChange={s.handleValueChange}\n onOpenChange={s.handleOpenChange}\n disabled={s.isDisabled}\n required={s.required}\n >\n <SelectTriggerContent\n ref={ref}\n id={s.id}\n sizeConfig={s.sizeConfig}\n error={s.error}\n ariaDescribedBy={s.ariaDescribedBy}\n triggerClassName={props.triggerClassName}\n testIdPrefix={s.testIdPrefix}\n placeholder={s.placeholder}\n showClearButton={s.showClearButton}\n handleClear={s.handleClear}\n />\n <SelectContent\n position={s.position}\n {...props.contentProps}\n {...(s.testIdPrefix\n ? { \"data-testid\": `${s.testIdPrefix}-select-menu` }\n : {})}\n >\n {props.children ??\n (props.options\n ? renderOptions(props.options, s.testIdPrefix)\n : null)}\n </SelectContent>\n </PrimitiveSelect>\n </SelectFieldWrapper>\n );\n});\n\nSelect.displayName = \"Select\";\n\nexport { Select };\n"],"names":["useState","useRef","useEffect","useCallback","flattenOptions","hasGroups","React","toBaseUiItems","SIZE_CONFIG","useId","useCreatableItems","useMemo","CREATE_PREFIX","forwardRef","_jsxs","Combobox","_jsx","ComboboxChips","cn","ComboboxChip","ComboboxChipsInput","ComboboxContent","MultiSelectDropdown","SelectFieldWrapper","PrimitiveSelect","SelectTriggerContent","SelectContent","renderOptions"],"mappings":"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"}