@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/index.js CHANGED
@@ -1,42 +1,458 @@
1
- export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-Y4POx0WN.js';
1
+ export { Accordion } from './components/Accordion.js';
2
+ export { Alert } from './components/Alert.js';
3
+ export { Badge } from './components/Badge.js';
4
+ export { Button } from './components/Button.js';
5
+ export { Checkbox } from './components/Checkbox.js';
6
+ export { C as ColorPicker } from './ColorPicker-BPvxDGDM.js';
7
+ export { Dialog } from './components/Dialog.js';
8
+ export { DropdownMenu } from './components/DropdownMenu.js';
9
+ export { Input } from './components/Input.js';
10
+ import { jsxs, jsx } from 'react/jsx-runtime';
11
+ import React__default, { useState, useRef, useEffect, useCallback, useId, useMemo, forwardRef } from 'react';
12
+ import { f as flattenOptions, h as hasGroups, t as toBaseUiItems, u as useCreatableItems, C as CREATE_PREFIX } from './useCreatableItems-B0seQA1_.js';
13
+ import { SelectFieldWrapper } from './components/SelectFieldWrapper.js';
14
+ import { c as cn } from './utils-DdHUxIdC.js';
15
+ import { Combobox, ComboboxChips, ComboboxChip, ComboboxChipsInput, ComboboxContent } from './primitives/Combobox.js';
16
+ import { MultiSelectDropdown } from './components/MultiSelectDropdown.js';
17
+ export { RadioGroup } from './components/RadioGroup.js';
18
+ import { Select as Select$1, SelectContent } from './primitives/Select.js';
19
+ import { SelectTriggerContent } from './components/SelectTriggerContent.js';
20
+ import { renderOptions } from './components/SelectOptions.js';
21
+ export { Sheet } from './components/Sheet.js';
22
+ export { Popover } from './components/Popover.js';
23
+ export { Toastr } from './components/Toastr.js';
24
+ export { Switch } from './components/Switch.js';
25
+ export { Tabs } from './components/Tabs.js';
26
+ export { Textarea } from './components/Textarea.js';
27
+ export { Tooltip } from './components/Tooltip.js';
28
+ export { Typography, typographyVariants } from './components/Typography.js';
29
+ export { D as DataTable, u as useColumnOrdering, a as useColumnPinning, b as useColumnVisibility, c as useTablePagination, d as useTableSelection, e as useTableSort } from './DataTable-BKe9K5XP.js';
2
30
  export { u as useIsMobile } from './use-mobile-IRjN_mlT.js';
3
- export { c as cn } from './utils-DdHUxIdC.js';
4
- import 'react/jsx-runtime';
5
- import 'react';
6
- import './primitives/Table.js';
7
- import './primitives/Checkbox.js';
8
- import './check-Cpkv29p1.js';
31
+ import './primitives/Accordion.js';
32
+ import './chevron-down-BNi0ntys.js';
9
33
  import './createLucideIcon-C8ycilSN.js';
10
- import './index-BtkPdosV.js';
34
+ import './chevron-up-Bf2G3AAU.js';
11
35
  import './index-CiyxEyB0.js';
36
+ import './index-Dd1i1d2M.js';
37
+ import './index-BtkPdosV.js';
12
38
  import './index-DNzunGHb.js';
13
39
  import './index-Cor698lu.js';
14
40
  import './index-DOzu5J1s.js';
15
- import './index-30QpKM0j.js';
16
- import './index-BYZaLNq1.js';
17
- import './index-yFgkK_AM.js';
18
41
  import './index-DhnfW8wQ.js';
19
42
  import 'react-dom';
20
- import './primitives/Spinner.js';
21
- import './loader-circle-DycHUAWN.js';
22
- import './primitives/Button.js';
43
+ import './index-0o2E3Cnw.js';
44
+ import './index-yFgkK_AM.js';
45
+ import './index-zW4GjM5L.js';
46
+ import './index-BA158WEj.js';
47
+ import './primitives/Dialog.js';
23
48
  import './button-COIbN8dg.js';
24
49
  import './index-D7Zy7P05.js';
25
50
  import './index-CfriMyrd.js';
26
- import './primitives/Pagination.js';
27
- import './ellipsis-lb8Ws6br.js';
28
- import './chevron-right-DQnrO-ek.js';
29
- import './chevron-left-BDoT8E2-.js';
30
- import './primitives/DropdownMenu.js';
31
- import './index-BwxI_qgh.js';
32
- import './index-Dd1i1d2M.js';
33
- import './index-BA158WEj.js';
51
+ import './dialog-Civ9r6wD.js';
52
+ import './x-_o2T3n6D.js';
53
+ import './index-9HvIbmnI.js';
34
54
  import './index-BNPynZWM.js';
35
55
  import './index-CSUSJzOJ.js';
36
56
  import './index-B4_fVWDx.js';
37
- import './index-zW4GjM5L.js';
57
+ import './index-fV_U4ZJM.js';
58
+ import './renderIcon-tlvMyboj.js';
59
+ import './primitives/Button.js';
60
+ import './primitives/Spinner.js';
61
+ import './loader-circle-DycHUAWN.js';
62
+ import './primitives/Tooltip.js';
63
+ import './tooltip-DzjIJacP.js';
38
64
  import './index-ByEpUy7w.js';
39
65
  import './floating-ui.react-dom-CcGbtPEK.js';
40
- import './index-fV_U4ZJM.js';
66
+ import './index-BYZaLNq1.js';
67
+ import './index-CSggBaQF.js';
68
+ import './primitives/Badge.js';
69
+ import './primitives/Checkbox.js';
70
+ import './check-Cpkv29p1.js';
71
+ import './index-30QpKM0j.js';
72
+ import './primitives/Field.js';
73
+ import './label-B4qDF3W1.js';
74
+ import './separator-BbhgePmX.js';
75
+ import './primitives/Popover.js';
76
+ import './primitives/DropdownMenu.js';
77
+ import './chevron-right-DQnrO-ek.js';
78
+ import './index-KzJfsx-e.js';
41
79
  import './index-j_qxDBFl.js';
80
+ import './primitives/ButtonGroup.js';
81
+ import './primitives/InputGroup.js';
82
+ import './input-group-ytECR3Hw.js';
83
+ import './input-GLCCE2kT.js';
84
+ import './textarea-BSZwxzjQ.js';
85
+ import './components/shared.js';
86
+ import './with-selector--fY1NrB9.js';
87
+ import './index-CSMSzzKM.js';
88
+ import './index-DZXbzIgC.js';
89
+ import './components/OptionItem.js';
90
+ import './primitives/RadioGroup.js';
91
+ import './primitives/Label.js';
92
+ import './index-BfAAoDv6.js';
93
+ import './primitives/Sheet.js';
94
+ import './sheet-COcn22fC.js';
95
+ import './primitives/HoverCard.js';
96
+ import './index-D_roZz8G.js';
97
+ import './primitives/Switch.js';
98
+ import './primitives/Tabs.js';
99
+ import './primitives/Textarea.js';
100
+ import './primitives/Table.js';
101
+ import './primitives/Pagination.js';
102
+ import './ellipsis-lb8Ws6br.js';
103
+ import './chevron-left-BDoT8E2-.js';
104
+
105
+ function hyphenize(str) {
106
+ return str
107
+ .replace(/([a-z])([A-Z])/g, "$1-$2")
108
+ .replace(/[\s_]+/g, "-")
109
+ .toLowerCase();
110
+ }
111
+
112
+ function buildAriaDescribedBy(error, errorId, helpText, helpTextId) {
113
+ return ([error ? errorId : null, helpText ? helpTextId : null]
114
+ .filter(Boolean)
115
+ .join(" ") || undefined);
116
+ }
117
+ function buildTestIdPrefix(dataTestId, label) {
118
+ return dataTestId ?? (label ? hyphenize(label) : undefined);
119
+ }
120
+
121
+ function useAsyncOptions({ loadOptions, defaultOptions = false, cacheOptions = false, }) {
122
+ const [asyncOptions, setAsyncOptions] = useState(() => (Array.isArray(defaultOptions) ? defaultOptions : []));
123
+ const [isLoading, setIsLoading] = useState(false);
124
+ const cacheRef = useRef({});
125
+ const debounceRef = useRef(null);
126
+ const latestRequestRef = useRef(0);
127
+ const mountedRef = useRef(true);
128
+ // Load default options on mount when `defaultOptions === true`
129
+ useEffect(() => {
130
+ if (!loadOptions || defaultOptions !== true)
131
+ return;
132
+ let cancelled = false;
133
+ setIsLoading(true);
134
+ loadOptions("")
135
+ .then(results => {
136
+ if (cancelled)
137
+ return;
138
+ setAsyncOptions(results);
139
+ if (cacheOptions)
140
+ cacheRef.current[""] = results;
141
+ setIsLoading(false);
142
+ })
143
+ .catch(() => {
144
+ if (!cancelled)
145
+ setIsLoading(false);
146
+ });
147
+ return () => {
148
+ cancelled = true;
149
+ };
150
+ // eslint-disable-next-line react-hooks/exhaustive-deps
151
+ }, []);
152
+ // Clean up debounce timer and mark unmounted
153
+ useEffect(() => {
154
+ return () => {
155
+ mountedRef.current = false;
156
+ if (debounceRef.current)
157
+ clearTimeout(debounceRef.current);
158
+ };
159
+ }, []);
160
+ const handleAsyncInputChange = useCallback((value) => {
161
+ if (!loadOptions)
162
+ return;
163
+ const query = value.trim();
164
+ // Check cache first
165
+ if (cacheOptions && query in cacheRef.current) {
166
+ setAsyncOptions(cacheRef.current[query]);
167
+ return;
168
+ }
169
+ // Debounce the fetch
170
+ if (debounceRef.current)
171
+ clearTimeout(debounceRef.current);
172
+ debounceRef.current = setTimeout(() => {
173
+ const requestId = ++latestRequestRef.current;
174
+ setIsLoading(true);
175
+ loadOptions(query)
176
+ .then(results => {
177
+ if (requestId !== latestRequestRef.current || !mountedRef.current)
178
+ return;
179
+ setAsyncOptions(results);
180
+ if (cacheOptions)
181
+ cacheRef.current[query] = results;
182
+ setIsLoading(false);
183
+ })
184
+ .catch(() => {
185
+ if (requestId === latestRequestRef.current &&
186
+ mountedRef.current) {
187
+ setIsLoading(false);
188
+ }
189
+ });
190
+ }, 300);
191
+ }, [loadOptions, cacheOptions]);
192
+ return { asyncOptions, isLoading, handleAsyncInputChange };
193
+ }
194
+
195
+ function useLazyLoadSentinel({ fetchMore, isEnabled, }) {
196
+ const observerRef = useRef(null);
197
+ const fetchMoreRef = useRef(fetchMore);
198
+ fetchMoreRef.current = fetchMore;
199
+ const sentinelRef = useCallback((node) => {
200
+ observerRef.current?.disconnect();
201
+ observerRef.current = null;
202
+ if (!node || !isEnabled)
203
+ return;
204
+ const observer = new IntersectionObserver(entries => {
205
+ if (entries[0]?.isIntersecting)
206
+ fetchMoreRef.current?.();
207
+ }, { root: null, rootMargin: "0px", threshold: 0.1 });
208
+ observer.observe(node);
209
+ observerRef.current = observer;
210
+ }, [isEnabled]);
211
+ // Clean up observer on unmount
212
+ useEffect(() => {
213
+ return () => {
214
+ observerRef.current?.disconnect();
215
+ };
216
+ }, []);
217
+ return sentinelRef;
218
+ }
219
+
220
+ function useMultiSelectOptions(props) {
221
+ const isAsync = !!props.loadOptions;
222
+ const { asyncOptions, isLoading, handleAsyncInputChange } = useAsyncOptions({
223
+ loadOptions: props.loadOptions,
224
+ defaultOptions: props.defaultOptions ?? false,
225
+ cacheOptions: props.cacheOptions ?? false,
226
+ });
227
+ const resolvedOptions = isAsync
228
+ ? asyncOptions
229
+ : (props.options ?? []);
230
+ const flatOptions = flattenOptions(resolvedOptions);
231
+ const isGrouped = hasGroups(resolvedOptions);
232
+ const baseUiItems = React__default.useMemo(() => resolvedOptions.length > 0 ? toBaseUiItems(resolvedOptions) : undefined, [resolvedOptions]);
233
+ const hasMoreLazy = (props.isAsyncLoadOptionEnabled ?? false) &&
234
+ typeof props.totalOptionsCount === "number" &&
235
+ flatOptions.length < props.totalOptionsCount;
236
+ const loaderCallbackRef = useLazyLoadSentinel({
237
+ fetchMore: props.fetchMore,
238
+ isEnabled: props.isAsyncLoadOptionEnabled ?? false,
239
+ });
240
+ return {
241
+ isAsync,
242
+ resolvedOptions,
243
+ flatOptions,
244
+ isGrouped,
245
+ isLoading,
246
+ handleAsyncInputChange,
247
+ baseUiItems,
248
+ hasMoreLazy,
249
+ loaderCallbackRef,
250
+ };
251
+ }
252
+
253
+ const SIZE_CONFIG$1 = {
254
+ small: {
255
+ chips: "min-h-7 text-xs gap-0.5 px-1 py-0.5",
256
+ input: "text-xs",
257
+ chip: "h-4.5 text-[0.6875rem] px-1",
258
+ },
259
+ medium: {
260
+ chips: "min-h-8 text-sm gap-1 px-2.5 py-1",
261
+ input: "text-sm",
262
+ chip: "h-5.25 text-xs px-1.5",
263
+ },
264
+ large: {
265
+ chips: "min-h-10 text-sm gap-1 px-2.5 py-1.5",
266
+ input: "text-sm",
267
+ chip: "h-6 text-xs px-2",
268
+ },
269
+ };
270
+
271
+ function useMultiSelectState(props) {
272
+ const { id: idProp, size = "medium", label = "", error = "", helpText = "", value: valueProp, defaultValue, onChange, dataTestId, isCreatable = false, onCreateOption, formatCreateLabel = (v) => `Create "${v}"`, children, } = props;
273
+ const opt = useMultiSelectOptions(props);
274
+ const generatedId = useId();
275
+ const id = idProp ?? generatedId;
276
+ const errorId = `error_${id}`;
277
+ const helpTextId = `helpText_${id}`;
278
+ const sizeConfig = SIZE_CONFIG$1[size];
279
+ const isControlled = valueProp !== undefined;
280
+ const [internalValue, setInternalValue] = useState(defaultValue ?? []);
281
+ const selectedValues = isControlled ? valueProp : internalValue;
282
+ const handleChange = useCallback((values) => {
283
+ setInternalValue(values);
284
+ onChange?.(values);
285
+ }, [onChange]);
286
+ const { showCreateOption, effectiveItems, creatableFilter, handleInputValueChange, handleValueChange, } = useCreatableItems({
287
+ isCreatable,
288
+ isGrouped: opt.isGrouped,
289
+ flatOptions: opt.flatOptions,
290
+ selectedValues,
291
+ baseUiItems: opt.baseUiItems,
292
+ onCreateOption,
293
+ onChange: handleChange,
294
+ onAsyncInputChange: opt.isAsync ? opt.handleAsyncInputChange : undefined,
295
+ children,
296
+ });
297
+ const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
298
+ const testIdPrefix = buildTestIdPrefix(dataTestId, label);
299
+ const flatOptionsMap = useMemo(() => new Map(opt.flatOptions.map(o => [o.value, o])), [opt.flatOptions]);
300
+ const labelForValue = useCallback((val) => {
301
+ if (val.startsWith(CREATE_PREFIX)) {
302
+ return formatCreateLabel(val.slice(CREATE_PREFIX.length));
303
+ }
304
+ return flatOptionsMap.get(val)?.label ?? val;
305
+ }, [flatOptionsMap, formatCreateLabel]);
306
+ return {
307
+ ...opt,
308
+ id,
309
+ errorId,
310
+ helpTextId,
311
+ sizeConfig,
312
+ isControlled,
313
+ selectedValues,
314
+ effectiveItems,
315
+ creatableFilter,
316
+ handleInputValueChange,
317
+ handleValueChange,
318
+ showCreateOption,
319
+ ariaDescribedBy,
320
+ testIdPrefix,
321
+ labelForValue,
322
+ flatOptionsMap,
323
+ };
324
+ }
325
+
326
+ const MultiSelectCombobox = forwardRef((p, ref) => {
327
+ const [anchorEl, setAnchorEl] = useState(null);
328
+ const mergedRef = useCallback((node) => {
329
+ setAnchorEl(node);
330
+ if (typeof ref === "function")
331
+ ref(node);
332
+ else if (ref)
333
+ ref.current = node;
334
+ }, [ref]);
335
+ const handleClick = useCallback((e) => {
336
+ if (!p.isSearchable) {
337
+ e.currentTarget.querySelector("input")?.focus();
338
+ }
339
+ }, [p.isSearchable]);
340
+ return (jsxs(Combobox, { multiple: true, name: p.name, ...(p.effectiveItems && !p.children
341
+ ? {
342
+ items: p.effectiveItems,
343
+ itemToStringLabel: p.labelForValue,
344
+ ...(!p.isSearchable || p.isAsync
345
+ ? { filter: null }
346
+ : p.isCreatable
347
+ ? { filter: p.creatableFilter }
348
+ : {}),
349
+ }
350
+ : {}), ...(p.isControlled
351
+ ? { value: p.valueProp }
352
+ : { defaultValue: p.defaultValue }), onValueChange: p.handleValueChange, ...(p.isCreatable || p.isAsync
353
+ ? { onInputValueChange: p.handleInputValueChange }
354
+ : {}), onOpenChange: p.onOpenChange, disabled: p.isDisabled, autoHighlight: p.autoHighlight, children: [jsx("div", { ref: mergedRef, onClick: handleClick, className: !p.isSearchable ? "cursor-pointer" : undefined, children: jsxs(ComboboxChips, { className: cn(p.sizeConfig.chips, !!p.error &&
355
+ "border-destructive ring-3 ring-destructive/20 dark:border-destructive/50 dark:ring-destructive/40", p.chipsClassName), ...(p.testIdPrefix
356
+ ? { "data-testid": `${p.testIdPrefix}-select-container` }
357
+ : {}), children: [p.selectedValues.map(val => (jsx(ComboboxChip, { className: p.sizeConfig.chip, showRemove: !p.hideChipRemove, ...(p.testIdPrefix
358
+ ? { "data-testid": `${p.testIdPrefix}-chip` }
359
+ : {}), children: p.labelForValue(val) }, val))), jsx(ComboboxChipsInput, { id: p.id, placeholder: p.isSearchable && p.selectedValues.length === 0
360
+ ? p.placeholder
361
+ : undefined, "aria-invalid": !!p.error || undefined, "aria-describedby": p.ariaDescribedBy, "aria-required": p.required || undefined, className: cn(p.sizeConfig.input, !p.isSearchable && "w-0 min-w-0 overflow-hidden p-0 opacity-0"), disabled: p.isDisabled, ...(p.testIdPrefix
362
+ ? { "data-testid": `${p.testIdPrefix}-select-input` }
363
+ : {}) })] }) }), jsx(ComboboxContent, { anchor: anchorEl, ...p.contentProps, children: jsx(MultiSelectDropdown, { ...p.dropdownProps, labelForValue: p.labelForValue, testIdPrefix: p.testIdPrefix, children: p.children }) })] }));
364
+ });
365
+ MultiSelectCombobox.displayName = "MultiSelectCombobox";
366
+
367
+ const MultiSelect = forwardRef((props, ref) => {
368
+ const s = useMultiSelectState(props);
369
+ const label = props.label ?? "";
370
+ const error = props.error ?? "";
371
+ const helpText = props.helpText ?? "";
372
+ const isDisabled = props.isDisabled ?? false;
373
+ const required = props.required ?? false;
374
+ return (jsx(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: 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: {
375
+ resolvedOptions: s.resolvedOptions,
376
+ flatOptionsMap: s.flatOptionsMap,
377
+ isGrouped: s.isGrouped,
378
+ isLoading: s.isLoading,
379
+ loadingMessage: props.loadingMessage ?? "Loading\u2026",
380
+ emptyMessage: props.emptyMessage ?? "No results found.",
381
+ showCreateOption: s.showCreateOption,
382
+ hasMoreLazy: s.hasMoreLazy,
383
+ loaderCallbackRef: s.loaderCallbackRef,
384
+ }, children: props.children }) }));
385
+ });
386
+ MultiSelect.displayName = "MultiSelect";
387
+
388
+ const SIZE_CONFIG = {
389
+ small: { trigger: "h-7 text-xs", size: "sm", clearBtn: "size-3" },
390
+ medium: { trigger: "h-8 text-sm", size: "default", clearBtn: "size-3.5" },
391
+ large: { trigger: "h-10 text-sm", size: "default", clearBtn: "size-3.5" },
392
+ };
393
+
394
+ function useSelectState(props) {
395
+ 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;
396
+ const generatedId = useId();
397
+ const id = idProp ?? generatedId;
398
+ const errorId = `error_${id}`;
399
+ const helpTextId = `helpText_${id}`;
400
+ const sizeConfig = SIZE_CONFIG[size];
401
+ const isControlled = valueProp !== undefined;
402
+ const [internalValue, setInternalValue] = useState(defaultValue ?? "");
403
+ const currentValue = isControlled ? valueProp : internalValue;
404
+ const handleValueChange = useCallback((next) => {
405
+ if (!isControlled)
406
+ setInternalValue(next);
407
+ onChange?.(next);
408
+ }, [isControlled, onChange]);
409
+ const handleClear = useCallback((e) => {
410
+ e.stopPropagation();
411
+ e.preventDefault();
412
+ handleValueChange("");
413
+ }, [handleValueChange]);
414
+ const handleOpenChange = useCallback((open) => {
415
+ if (open)
416
+ onMenuOpen?.();
417
+ else
418
+ onMenuClose?.();
419
+ }, [onMenuOpen, onMenuClose]);
420
+ const ariaDescribedBy = buildAriaDescribedBy(error, errorId, helpText, helpTextId);
421
+ const testIdPrefix = buildTestIdPrefix(dataTestId, label);
422
+ const showClearButton = isClearable && !!currentValue && !isDisabled;
423
+ return {
424
+ id,
425
+ errorId,
426
+ helpTextId,
427
+ sizeConfig,
428
+ currentValue,
429
+ isControlled,
430
+ handleValueChange,
431
+ handleClear,
432
+ handleOpenChange,
433
+ ariaDescribedBy,
434
+ testIdPrefix,
435
+ showClearButton,
436
+ label,
437
+ error,
438
+ helpText,
439
+ placeholder,
440
+ isDisabled,
441
+ required,
442
+ position,
443
+ };
444
+ }
445
+
446
+ const Select = forwardRef((props, ref) => {
447
+ const s = useSelectState(props);
448
+ return (jsx(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: jsxs(Select$1, { 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: [jsx(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 }), jsx(SelectContent, { position: s.position, ...props.contentProps, ...(s.testIdPrefix
449
+ ? { "data-testid": `${s.testIdPrefix}-select-menu` }
450
+ : {}), children: props.children ??
451
+ (props.options
452
+ ? renderOptions(props.options, s.testIdPrefix)
453
+ : null) })] }) }));
454
+ });
455
+ Select.displayName = "Select";
456
+
457
+ export { MultiSelect, Select, cn };
42
458
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -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":["React","SIZE_CONFIG","_jsxs","_jsx","PrimitiveSelect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAM,SAAU,SAAS,CAAC,GAAW,EAAA;AACnC,IAAA,OAAO;AACJ,SAAA,OAAO,CAAC,iBAAiB,EAAE,OAAO;AAClC,SAAA,OAAO,CAAC,SAAS,EAAE,GAAG;AACtB,SAAA,WAAW,EAAE;AAClB;;ACHM,SAAU,oBAAoB,CAClC,KAAa,EACb,OAAe,EACf,QAAyB,EACzB,UAAkB,EAAA;IAElB,QACE,CAAC,KAAK,GAAG,OAAO,GAAG,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,IAAI;SAClD,MAAM,CAAC,OAAO;AACd,SAAA,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS;AAE7B;AAEM,SAAU,iBAAiB,CAC/B,UAA8B,EAC9B,KAAa,EAAA;AAEb,IAAA,OAAO,UAAU,KAAK,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AAC7D;;ACJM,SAAU,eAAe,CAAC,EAC9B,WAAW,EACX,cAAc,GAAG,KAAK,EACtB,YAAY,GAAG,KAAK,GACE,EAAA;AACtB,IAAA,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,EAAE,CAAC,CAC5D;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACjD,IAAA,MAAM,QAAQ,GAAG,MAAM,CAA0C,EAAE,CAAC;AACpE,IAAA,MAAM,WAAW,GAAG,MAAM,CAAuC,IAAI,CAAC;AACtE,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC;AAClC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;;IAG/B,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,WAAW,IAAI,cAAc,KAAK,IAAI;YAAE;QAC7C,IAAI,SAAS,GAAG,KAAK;QACrB,YAAY,CAAC,IAAI,CAAC;QAClB,WAAW,CAAC,EAAE;aACX,IAAI,CAAC,OAAO,IAAG;AACd,YAAA,IAAI,SAAS;gBAAE;YACf,eAAe,CAAC,OAAO,CAAC;AACxB,YAAA,IAAI,YAAY;AAAE,gBAAA,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO;YAChD,YAAY,CAAC,KAAK,CAAC;AACrB,QAAA,CAAC;aACA,KAAK,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC;AACrC,QAAA,CAAC,CAAC;AACJ,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,IAAI;AAClB,QAAA,CAAC;;IAEH,CAAC,EAAE,EAAE,CAAC;;IAGN,SAAS,CAAC,MAAK;AACb,QAAA,OAAO,MAAK;AACV,YAAA,UAAU,CAAC,OAAO,GAAG,KAAK;YAC1B,IAAI,WAAW,CAAC,OAAO;AAAE,gBAAA,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;AAC5D,QAAA,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,KAAa,KAAI;AAChB,QAAA,IAAI,CAAC,WAAW;YAAE;AAElB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE;;QAG1B,IAAI,YAAY,IAAI,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE;YAC7C,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxC;QACF;;QAGA,IAAI,WAAW,CAAC,OAAO;AAAE,YAAA,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC;AAC1D,QAAA,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,MAAK;AACpC,YAAA,MAAM,SAAS,GAAG,EAAE,gBAAgB,CAAC,OAAO;YAC5C,YAAY,CAAC,IAAI,CAAC;YAClB,WAAW,CAAC,KAAK;iBACd,IAAI,CAAC,OAAO,IAAG;gBACd,IAAI,SAAS,KAAK,gBAAgB,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO;oBAC/D;gBACF,eAAe,CAAC,OAAO,CAAC;AACxB,gBAAA,IAAI,YAAY;AAAE,oBAAA,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO;gBACnD,YAAY,CAAC,KAAK,CAAC;AACrB,YAAA,CAAC;iBACA,KAAK,CAAC,MAAK;AACV,gBAAA,IACE,SAAS,KAAK,gBAAgB,CAAC,OAAO;oBACtC,UAAU,CAAC,OAAO,EAClB;oBACA,YAAY,CAAC,KAAK,CAAC;gBACrB;AACF,YAAA,CAAC,CAAC;QACN,CAAC,EAAE,GAAG,CAAC;AACT,IAAA,CAAC,EACD,CAAC,WAAW,EAAE,YAAY,CAAC,CAC5B;AAED,IAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE;AAC5D;;SC3FgB,mBAAmB,CAAC,EAClC,SAAS,EACT,SAAS,GACiB,EAAA;AAC1B,IAAA,MAAM,WAAW,GAAG,MAAM,CAA8B,IAAI,CAAC;AAC7D,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;AACtC,IAAA,YAAY,CAAC,OAAO,GAAG,SAAS;AAEhC,IAAA,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,IAA2B,KAAI;AAC9B,QAAA,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE;AACjC,QAAA,WAAW,CAAC,OAAO,GAAG,IAAI;AAE1B,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;YAAE;AAEzB,QAAA,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,OAAO,IAAG;AACR,YAAA,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc;AAAE,gBAAA,YAAY,CAAC,OAAO,IAAI;AAC1D,QAAA,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAClD;AACD,QAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AACtB,QAAA,WAAW,CAAC,OAAO,GAAG,QAAQ;AAChC,IAAA,CAAC,EACD,CAAC,SAAS,CAAC,CACZ;;IAGD,SAAS,CAAC,MAAK;AACb,QAAA,OAAO,MAAK;AACV,YAAA,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,QAAA,CAAC;IACH,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,WAAW;AACpB;;AC5BM,SAAU,qBAAqB,CAAC,KAAuB,EAAA;AAC3D,IAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW;IAEnC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,GAAG,eAAe,CAAC;QAC1E,WAAW,EAAE,KAAK,CAAC,WAAW;AAC9B,QAAA,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK;AAC7C,QAAA,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK;AAC1C,KAAA,CAAC;IAEF,MAAM,eAAe,GAAwB;AAC3C,UAAE;WACC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;AACzB,IAAA,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC;AAE5C,IAAA,MAAM,WAAW,GAAGA,cAAK,CAAC,OAAO,CAC/B,MACE,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,SAAS,EACzE,CAAC,eAAe,CAAC,CAClB;IAED,MAAM,WAAW,GACf,CAAC,KAAK,CAAC,wBAAwB,IAAI,KAAK;AACxC,QAAA,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;AAC3C,QAAA,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,iBAAiB;IAE9C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;QAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;AAC1B,QAAA,SAAS,EAAE,KAAK,CAAC,wBAAwB,IAAI,KAAK;AACnD,KAAA,CAAC;IAEF,OAAO;QACL,OAAO;QACP,eAAe;QACf,WAAW;QACX,SAAS;QACT,SAAS;QACT,sBAAsB;QACtB,WAAW;QACX,WAAW;QACX,iBAAiB;KAClB;AACH;;ACxDO,MAAMC,aAAW,GAGpB;AACF,IAAA,KAAK,EAAE;AACL,QAAA,KAAK,EAAE,qCAAqC;AAC5C,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,6BAA6B;AACpC,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,mCAAmC;AAC1C,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,uBAAuB;AAC9B,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,KAAK,EAAE,sCAAsC;AAC7C,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,IAAI,EAAE,kBAAkB;AACzB,KAAA;CACF;;ACXK,SAAU,mBAAmB,CAAC,KAAuB,EAAA;IACzD,MAAM,EACJ,EAAE,EAAE,MAAM,EACV,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,EAAE,EACb,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,WAAW,GAAG,KAAK,EACnB,cAAc,EACd,iBAAiB,GAAG,CAAC,CAAS,KAAK,CAAA,QAAA,EAAW,CAAC,CAAA,CAAA,CAAG,EAClD,QAAQ,GACT,GAAG,KAAK;AAET,IAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC;AAExC,IAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAA,MAAM,EAAE,GAAG,MAAM,IAAI,WAAW;AAChC,IAAA,MAAM,OAAO,GAAG,CAAA,MAAA,EAAS,EAAE,EAAE;AAC7B,IAAA,MAAM,UAAU,GAAG,CAAA,SAAA,EAAY,EAAE,EAAE;AACnC,IAAA,MAAM,UAAU,GAAGA,aAAW,CAAC,IAAI,CAAC;AAEpC,IAAA,MAAM,YAAY,GAAG,SAAS,KAAK,SAAS;AAC5C,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAChD,YAAY,IAAI,EAAE,CACnB;IACD,MAAM,cAAc,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa;AAE/D,IAAA,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,MAAgB,KAAI;QACnB,gBAAgB,CAAC,MAAM,CAAC;AACxB,QAAA,QAAQ,GAAG,MAAM,CAAC;AACpB,IAAA,CAAC,EACD,CAAC,QAAQ,CAAC,CACX;AAED,IAAA,MAAM,EACJ,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAClB,GAAG,iBAAiB,CAAC;QACpB,WAAW;QACX,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,cAAc;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,cAAc;AACd,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,kBAAkB,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,sBAAsB,GAAG,SAAS;QACxE,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC;IAClF,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;AAEzD,IAAA,MAAM,cAAc,GAAG,OAAO,CAC5B,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EACrD,CAAC,GAAG,CAAC,WAAW,CAAC,CAClB;AAED,IAAA,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,GAAW,KAAI;AACd,QAAA,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;YACjC,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3D;QACA,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG;AAC9C,IAAA,CAAC,EACD,CAAC,cAAc,EAAE,iBAAiB,CAAC,CACpC;IAED,OAAO;AACL,QAAA,GAAG,GAAG;QACN,EAAE;QACF,OAAO;QACP,UAAU;QACV,UAAU;QACV,YAAY;QACZ,cAAc;QACd,cAAc;QACd,eAAe;QACf,sBAAsB;QACtB,iBAAiB;QACjB,gBAAgB;QAChB,eAAe;QACf,YAAY;QACZ,aAAa;QACb,cAAc;KACf;AACH;;ACzFO,MAAM,mBAAmB,GAAG,UAAU,CAG3C,CAAC,CAAC,EAAE,GAAG,KAAI;IACX,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC;AAErE,IAAA,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,IAA2B,KAAI;QAC9B,WAAW,CAAC,IAAI,CAAC;QACjB,IAAI,OAAO,GAAG,KAAK,UAAU;YAAE,GAAG,CAAC,IAAI,CAAC;AACnC,aAAA,IAAI,GAAG;AACT,YAAA,GAAqD,CAAC,OAAO,GAAG,IAAI;AACzE,IAAA,CAAC,EACD,CAAC,GAAG,CAAC,CACN;AAED,IAAA,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAmC,KAAI;AACtC,QAAA,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;YAClB,CAAC,CAAC,aAA6B,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;QAClE;AACF,IAAA,CAAC,EACD,CAAC,CAAC,CAAC,YAAY,CAAC,CACjB;IAED,QACEC,KAAC,QAAQ,EAAA,EACP,QAAQ,EAAA,IAAA,EACR,IAAI,EAAE,CAAC,CAAC,IAAI,EAAA,IACP,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;AAC1B,cAAE;gBACE,KAAK,EAAE,CAAC,CAAC,cAAc;gBACvB,iBAAiB,EAAE,CAAC,CAAC,aAAa;gBAClC,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;AACvB,sBAAE,EAAE,MAAM,EAAE,IAAI;sBACd,CAAC,CAAC;AACF,0BAAE,EAAE,MAAM,EAAE,CAAC,CAAC,eAAe;0BAC3B,EAAE,CAAC;AACV;AACH,cAAE,EAAE,CAAC,MACF,CAAC,CAAC;AACL,cAAE,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS;cACpB,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,EACrC,aAAa,EAAE,CAAC,CAAC,iBAAiB,EAAA,IAC7B,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;AACtB,cAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,sBAAsB;AAChD,cAAE,EAAE,CAAC,EACP,YAAY,EAAE,CAAC,CAAC,YAAY,EAC5B,QAAQ,EAAE,CAAC,CAAC,UAAU,EACtB,aAAa,EAAE,CAAC,CAAC,aAAa,EAAA,QAAA,EAAA,CAE9BC,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,gBAAgB,GAAG,SAAS,YAEzDD,IAAA,CAAC,aAAa,EAAA,EACZ,SAAS,EAAE,EAAE,CACX,CAAC,CAAC,UAAU,CAAC,KAAK,EAClB,CAAC,CAAC,CAAC,CAAC,KAAK;wBACP,mGAAmG,EACrG,CAAC,CAAC,cAAc,CACjB,EAAA,IACI,CAAC,CAAC;0BACH,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,YAAY,CAAA,iBAAA,CAAmB;AACvD,0BAAE,EAAE,CAAC,EAAA,QAAA,EAAA,CAEN,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KACvBC,IAAC,YAAY,EAAA,EAEX,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAC5B,UAAU,EAAE,CAAC,CAAC,CAAC,cAAc,EAAA,IACxB,CAAC,CAAC;kCACH,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,YAAY,CAAA,KAAA,CAAO;AAC3C,kCAAE,EAAE,CAAC,EAAA,QAAA,EAEN,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAPhB,GAAG,CAQK,CAChB,CAAC,EACFA,GAAA,CAAC,kBAAkB,EAAA,EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,WAAW,EACT,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK;kCAC1C,CAAC,CAAC;kCACF,SAAS,EAAA,cAAA,EAED,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,EAAA,kBAAA,EAClB,CAAC,CAAC,eAAe,mBACpB,CAAC,CAAC,QAAQ,IAAI,SAAS,EACtC,SAAS,EAAE,EAAE,CACX,CAAC,CAAC,UAAU,CAAC,KAAK,EAClB,CAAC,CAAC,CAAC,YAAY,IAAI,2CAA2C,CAC/D,EACD,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAA,IACjB,CAAC,CAAC;kCACH,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,YAAY,CAAA,aAAA,CAAe;kCACjD,EAAE,CAAC,EAAA,CACP,IACY,EAAA,CACZ,EACNA,IAAC,eAAe,EAAA,EAAC,MAAM,EAAE,QAAQ,KAAM,CAAC,CAAC,YAAY,EAAA,QAAA,EACnDA,GAAA,CAAC,mBAAmB,EAAA,EAAA,GACd,CAAC,CAAC,aAAa,EACnB,aAAa,EAAE,CAAC,CAAC,aAAa,EAC9B,YAAY,EAAE,CAAC,CAAC,YAAY,EAAA,QAAA,EAE3B,CAAC,CAAC,QAAQ,GACS,EAAA,CACN,CAAA,EAAA,CACT;AAEf,CAAC,CAAC;AACF,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;;AC7GvD,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,KAAK,EAAE,GAAG,KAAI;AACb,IAAA,MAAM,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC;AACpC,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;AAC/B,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;AAC/B,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE;AACrC,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK;AAC5C,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK;IAExC,QACEA,GAAA,CAAC,kBAAkB,EAAA,EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAElB,YAAY,EAAE,CAAC,CAAC,YAAY,EAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,EAAA,QAAA,EAE1BA,GAAA,CAAC,mBAAmB,EAAA,EAClB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,cAAc,EAAE,CAAC,CAAC,cAAc,EAChC,aAAa,EAAE,CAAC,CAAC,aAAa,EAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI,EACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,EACvC,eAAe,EAAE,CAAC,CAAC,eAAe,EAClC,YAAY,EAAE,CAAC,CAAC,YAAY,EAC5B,SAAS,EAAE,KAAK,CAAC,KAAK,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,cAAc,EAAE,CAAC,CAAC,cAAc,EAChC,iBAAiB,EACf,CAAC,CAAC,iBAAiD,EAErD,sBAAsB,EACpB,CAAC,CAAC,sBAAsD,EAE1D,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI,EAC1C,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,EACpC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK,EAC7C,eAAe,EAAE,CAAC,CAAC,eAAe,EAClC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,CAAC,CAAC,YAAY,EAC5B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,aAAa,EAAE;gBACb,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,SAAS,EAAE,CAAC,CAAC,SAAS;AACtB,gBAAA,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,eAAe;AACvD,gBAAA,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,mBAAmB;gBACvD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;gBACpC,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,aAAA,EAAA,QAAA,EAEA,KAAK,CAAC,QAAQ,EAAA,CACK,EAAA,CACH;AAEzB,CAAC;AAGH,WAAW,CAAC,WAAW,GAAG,aAAa;;AC1FhC,MAAM,WAAW,GAGpB;AACF,IAAA,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACjE,IAAA,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE;AACzE,IAAA,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE;CAC1E;;ACDK,SAAU,cAAc,CAAC,KAAkB,EAAA;IAC/C,MAAM,EACJ,EAAE,EAAE,MAAM,EACV,IAAI,GAAG,QAAQ,EACf,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,EAAE,EACV,QAAQ,GAAG,EAAE,EACb,WAAW,GAAG,EAAE,EAChB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,QAAQ,EACR,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,cAAc,EACzB,UAAU,EACV,WAAW,EACX,UAAU,GACX,GAAG,KAAK;AAET,IAAA,MAAM,WAAW,GAAG,KAAK,EAAE;AAC3B,IAAA,MAAM,EAAE,GAAG,MAAM,IAAI,WAAW;AAChC,IAAA,MAAM,OAAO,GAAG,CAAA,MAAA,EAAS,EAAE,EAAE;AAC7B,IAAA,MAAM,UAAU,GAAG,CAAA,SAAA,EAAY,EAAE,EAAE;AACnC,IAAA,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;AAEpC,IAAA,MAAM,YAAY,GAAG,SAAS,KAAK,SAAS;AAC5C,IAAA,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;IACtE,MAAM,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa;AAE7D,IAAA,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,IAAY,KAAI;AACf,QAAA,IAAI,CAAC,YAAY;YAAE,gBAAgB,CAAC,IAAI,CAAC;AACzC,QAAA,QAAQ,GAAG,IAAI,CAAC;AAClB,IAAA,CAAC,EACD,CAAC,YAAY,EAAE,QAAQ,CAAC,CACzB;AAED,IAAA,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAmB,KAAI;QACtB,CAAC,CAAC,eAAe,EAAE;QACnB,CAAC,CAAC,cAAc,EAAE;QAClB,iBAAiB,CAAC,EAAE,CAAC;AACvB,IAAA,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB;AAED,IAAA,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAAa,KAAI;AAChB,QAAA,IAAI,IAAI;YAAE,UAAU,IAAI;;YACnB,WAAW,IAAI;AACtB,IAAA,CAAC,EACD,CAAC,UAAU,EAAE,WAAW,CAAC,CAC1B;AAED,IAAA,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC;IAClF,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;IACzD,MAAM,eAAe,GAAG,WAAW,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,UAAU;IAEpE,OAAO;QACL,EAAE;QACF,OAAO;QACP,UAAU;QACV,UAAU;QACV,YAAY;QACZ,YAAY;QACZ,iBAAiB;QACjB,WAAW;QACX,gBAAgB;QAChB,eAAe;QACf,YAAY;QACZ,eAAe;QACf,KAAK;QACL,KAAK;QACL,QAAQ;QACR,WAAW;QACX,UAAU;QACV,QAAQ;QACR,QAAQ;KACT;AACH;;AClEA,MAAM,MAAM,GAAG,UAAU,CAAiC,CAAC,KAAK,EAAE,GAAG,KAAI;AACvE,IAAA,MAAM,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC;IAE/B,QACEA,IAAC,kBAAkB,EAAA,EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,YAAY,EAAE,CAAC,CAAC,YAAY,EAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,EAAA,QAAA,EAE1BD,IAAA,CAACE,QAAe,EAAA,EACd,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,CAAC,CAAC,YAAY,EACrB,YAAY,EAAE,CAAC,CAAC,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC,YAAY,EAC7D,aAAa,EAAE,CAAC,CAAC,iBAAiB,EAClC,YAAY,EAAE,CAAC,CAAC,gBAAgB,EAChC,QAAQ,EAAE,CAAC,CAAC,UAAU,EACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAA,QAAA,EAAA,CAEpBD,GAAA,CAAC,oBAAoB,IACnB,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,eAAe,EAAE,CAAC,CAAC,eAAe,EAClC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,YAAY,EAAE,CAAC,CAAC,YAAY,EAC5B,WAAW,EAAE,CAAC,CAAC,WAAW,EAC1B,eAAe,EAAE,CAAC,CAAC,eAAe,EAClC,WAAW,EAAE,CAAC,CAAC,WAAW,GAC1B,EACFA,GAAA,CAAC,aAAa,EAAA,EACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAChB,KAAK,CAAC,YAAY,EAAA,IACjB,CAAC,CAAC;0BACH,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,YAAY,CAAA,YAAA,CAAc;AAClD,0BAAE,EAAE,CAAC,EAAA,QAAA,EAEN,KAAK,CAAC,QAAQ;yBACZ,KAAK,CAAC;8BACH,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY;AAC7C,8BAAE,IAAI,CAAC,GACG,CAAA,EAAA,CACA,EAAA,CACC;AAEzB,CAAC;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
@@ -55,5 +55,5 @@ function InputGroupTextarea({ className, ...props }) {
55
55
  return (jsx(Textarea, { "data-slot": "input-group-control", className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className), ...props }));
56
56
  }
57
57
 
58
- export { InputGroup as I, InputGroupAddon as a, InputGroupButton as b, InputGroupInput as c, InputGroupText as d, InputGroupTextarea as e };
59
- //# sourceMappingURL=input-group-CDBpz6Pb.js.map
58
+ export { InputGroup as I, InputGroupAddon as a, InputGroupText as b, InputGroupInput as c, InputGroupButton as d, InputGroupTextarea as e };
59
+ //# sourceMappingURL=input-group-ytECR3Hw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-group-CDBpz6Pb.js","sources":["../src/shadcn/components/input-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { Button } from \"src/shadcn/components/button\"\nimport { Input } from \"src/shadcn/components/input\"\nimport { Textarea } from \"src/shadcn/components/textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first ps-2 has-[>button]:ms-[-0.3rem] has-[>kbd]:ms-[-0.15rem]\",\n \"inline-end\":\n \"order-last pe-2 has-[>button]:me-[-0.3rem] has-[>kbd]:me-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\n \"flex items-center gap-2 text-sm shadow-none\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n)\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n"],"names":["_jsx"],"mappings":";;;;;;;AAQA,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;IACtE,QACEA,0BACY,aAAa,EACvB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,EAAE,CACX,ulCAAulC,EACvlC,SAAS,CACV,KACG,KAAK,EAAA,CACT;AAEN;AAEA,MAAM,uBAAuB,GAAG,GAAG,CACjC,yPAAyP,EACzP;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,cAAc,EACZ,sEAAsE;AACxE,YAAA,YAAY,EACV,qEAAqE;AACvE,YAAA,aAAa,EACX,mGAAmG;AACrG,YAAA,WAAW,EACT,kGAAkG;AACrG,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,cAAc;AACtB,KAAA;AACF,CAAA,CACF;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,KAAK,GAAG,cAAc,EACtB,GAAG,KAAK,EACmE,EAAA;AAC3E,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,IAAI,EAAC,OAAO,EAAA,WAAA,EACF,mBAAmB,EAAA,YAAA,EACjB,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,EAC5D,OAAO,EAAE,CAAC,CAAC,KAAI;YACb,IAAK,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC/C;YACF;AACA,YAAA,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE;AAChE,QAAA,CAAC,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,MAAM,wBAAwB,GAAG,GAAG,CAClC,6CAA6C,EAC7C;AACE,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,EAAE,EAAE,2FAA2F;AAC/F,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,SAAS,EACP,6DAA6D;AAC/D,YAAA,SAAS,EAAE,2BAA2B;AACvC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,IAAI;AACX,KAAA;AACF,CAAA,CACF;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,IAAI,EACX,GAAG,KAAK,EAEqC,EAAA;AAC7C,IAAA,QACEA,GAAA,CAAC,MAAM,EAAA,EACL,IAAI,EAAE,IAAI,EAAA,WAAA,EACC,IAAI,EACf,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GACxD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgC,EAAA;AAC3E,IAAA,QACEA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,wHAAwH,EACxH,SAAS,CACV,EAAA,GACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACsB,EAAA;AAC9B,IAAA,QACEA,GAAA,CAAC,KAAK,iBACM,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CACX,kLAAkL,EAClL,SAAS,CACV,KACG,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACyB,EAAA;AACjC,IAAA,QACEA,GAAA,CAAC,QAAQ,iBACG,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CACX,mMAAmM,EACnM,SAAS,CACV,KACG,KAAK,EAAA,CACT;AAEN;;;;"}
1
+ {"version":3,"file":"input-group-ytECR3Hw.js","sources":["../src/shadcn/components/input-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\nimport { Button } from \"src/shadcn/components/button\"\nimport { Input } from \"src/shadcn/components/input\"\nimport { Textarea } from \"src/shadcn/components/textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pe-1.5 has-[>[data-align=inline-start]]:[&>input]:ps-1.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\":\n \"order-first ps-2 has-[>button]:ms-[-0.3rem] has-[>kbd]:ms-[-0.15rem]\",\n \"inline-end\":\n \"order-last pe-2 has-[>button]:me-[-0.3rem] has-[>kbd]:me-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\n \"flex items-center gap-2 text-sm shadow-none\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n)\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n"],"names":["_jsx"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export type IconProp = React.ComponentType<{
3
+ className?: string;
4
+ }> | string | React.ReactElement;
5
+ export declare function renderIcon(icon: IconProp, extraClassName?: string): import("react/jsx-runtime").JSX.Element;
@@ -9,7 +9,7 @@ import { u as useComposedRefs } from '../index-BtkPdosV.js';
9
9
  import { c as composeEventHandlers } from '../index-DNzunGHb.js';
10
10
  import { u as useControllableState } from '../index-Cor698lu.js';
11
11
  import { P as Primitive } from '../index-DhnfW8wQ.js';
12
- import { b as Content, R as Root, T as Trigger, c as createCollapsibleScope } from '../index-0o2E3Cnw.js';
12
+ import { R as Root, T as Trigger, b as Content, c as createCollapsibleScope } from '../index-0o2E3Cnw.js';
13
13
  import { u as useId } from '../index-zW4GjM5L.js';
14
14
  import { u as useDirection } from '../index-BA158WEj.js';
15
15
  import '../createLucideIcon-C8ycilSN.js';