@spear-ai/spectral 1.13.1 → 1.14.1

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 (720) hide show
  1. package/dist/Accordion.d.ts +66 -46
  2. package/dist/Accordion.d.ts.map +1 -0
  3. package/dist/Accordion.js +113 -4
  4. package/dist/Accordion.js.map +1 -0
  5. package/dist/Alert/AlertBase.d.ts +75 -41
  6. package/dist/Alert/AlertBase.d.ts.map +1 -0
  7. package/dist/Alert/AlertBase.js +48 -39
  8. package/dist/Alert/AlertBase.js.map +1 -0
  9. package/dist/Alert.d.ts +24 -10
  10. package/dist/Alert.d.ts.map +1 -0
  11. package/dist/Alert.js +62 -50
  12. package/dist/Alert.js.map +1 -0
  13. package/dist/Avatar.d.ts +24 -11
  14. package/dist/Avatar.d.ts.map +1 -0
  15. package/dist/Avatar.js +87 -68
  16. package/dist/Avatar.js.map +1 -0
  17. package/dist/Badge.d.ts +19 -8
  18. package/dist/Badge.d.ts.map +1 -0
  19. package/dist/Badge.js +18 -13
  20. package/dist/Badge.js.map +1 -0
  21. package/dist/Button.d.ts +50 -26
  22. package/dist/Button.d.ts.map +1 -0
  23. package/dist/Button.js +70 -57
  24. package/dist/Button.js.map +1 -0
  25. package/dist/ButtonGroup/ButtonGroupButton.d.ts +25 -12
  26. package/dist/ButtonGroup/ButtonGroupButton.d.ts.map +1 -0
  27. package/dist/ButtonGroup/ButtonGroupButton.js +24 -19
  28. package/dist/ButtonGroup/ButtonGroupButton.js.map +1 -0
  29. package/dist/ButtonGroup.d.ts +60 -31
  30. package/dist/ButtonGroup.d.ts.map +1 -0
  31. package/dist/ButtonGroup.js +64 -49
  32. package/dist/ButtonGroup.js.map +1 -0
  33. package/dist/ButtonIcon.d.ts +32 -16
  34. package/dist/ButtonIcon.d.ts.map +1 -0
  35. package/dist/ButtonIcon.js +43 -35
  36. package/dist/ButtonIcon.js.map +1 -0
  37. package/dist/Checkbox/CheckboxBase.d.ts +54 -26
  38. package/dist/Checkbox/CheckboxBase.d.ts.map +1 -0
  39. package/dist/Checkbox/CheckboxBase.js +106 -74
  40. package/dist/Checkbox/CheckboxBase.js.map +1 -0
  41. package/dist/Checkbox.d.ts +45 -24
  42. package/dist/Checkbox.d.ts.map +1 -0
  43. package/dist/Checkbox.js +45 -40
  44. package/dist/Checkbox.js.map +1 -0
  45. package/dist/Combobox.d.ts +52 -23
  46. package/dist/Combobox.d.ts.map +1 -0
  47. package/dist/Combobox.js +199 -4
  48. package/dist/Combobox.js.map +1 -0
  49. package/dist/ControlGroup/ControlGroupSelect.d.ts +69 -43
  50. package/dist/ControlGroup/ControlGroupSelect.d.ts.map +1 -0
  51. package/dist/ControlGroup/ControlGroupSelect.js +157 -121
  52. package/dist/ControlGroup/ControlGroupSelect.js.map +1 -0
  53. package/dist/ControlGroup.d.ts +39 -21
  54. package/dist/ControlGroup.d.ts.map +1 -0
  55. package/dist/ControlGroup.js +50 -41
  56. package/dist/ControlGroup.js.map +1 -0
  57. package/dist/DataCard/Card.d.ts +36 -9
  58. package/dist/DataCard/Card.d.ts.map +1 -0
  59. package/dist/DataCard/Card.js +57 -37
  60. package/dist/DataCard/Card.js.map +1 -0
  61. package/dist/DataCard.d.ts +23 -9
  62. package/dist/DataCard.d.ts.map +1 -0
  63. package/dist/DataCard.js +40 -36
  64. package/dist/DataCard.js.map +1 -0
  65. package/dist/DateTimePicker/Calendar.d.ts +24 -11
  66. package/dist/DateTimePicker/Calendar.d.ts.map +1 -0
  67. package/dist/DateTimePicker/Calendar.js +54 -3
  68. package/dist/DateTimePicker/Calendar.js.map +1 -0
  69. package/dist/DateTimePicker/DateTimeDisplayInput.d.ts +24 -18
  70. package/dist/DateTimePicker/DateTimeDisplayInput.d.ts.map +1 -0
  71. package/dist/DateTimePicker/DateTimeDisplayInput.js +360 -213
  72. package/dist/DateTimePicker/DateTimeDisplayInput.js.map +1 -0
  73. package/dist/DateTimePicker/DateTimeInput.d.ts +41 -19
  74. package/dist/DateTimePicker/DateTimeInput.d.ts.map +1 -0
  75. package/dist/DateTimePicker/DateTimeInput.js +151 -98
  76. package/dist/DateTimePicker/DateTimeInput.js.map +1 -0
  77. package/dist/DateTimePicker/DateTimeUtils.d.ts +121 -109
  78. package/dist/DateTimePicker/DateTimeUtils.d.ts.map +1 -0
  79. package/dist/DateTimePicker/DateTimeUtils.js +296 -2
  80. package/dist/DateTimePicker/DateTimeUtils.js.map +1 -0
  81. package/dist/DateTimePicker/TimePeriodSelect.d.ts +16 -10
  82. package/dist/DateTimePicker/TimePeriodSelect.d.ts.map +1 -0
  83. package/dist/DateTimePicker/TimePeriodSelect.js +54 -40
  84. package/dist/DateTimePicker/TimePeriodSelect.js.map +1 -0
  85. package/dist/DateTimePicker/TimePicker.d.ts +29 -14
  86. package/dist/DateTimePicker/TimePicker.d.ts.map +1 -0
  87. package/dist/DateTimePicker/TimePicker.js +68 -54
  88. package/dist/DateTimePicker/TimePicker.js.map +1 -0
  89. package/dist/DateTimePicker.d.ts +52 -31
  90. package/dist/DateTimePicker.d.ts.map +1 -0
  91. package/dist/DateTimePicker.js +84 -71
  92. package/dist/DateTimePicker.js.map +1 -0
  93. package/dist/Dialog.d.ts +60 -21
  94. package/dist/Dialog.d.ts.map +1 -0
  95. package/dist/Dialog.js +103 -72
  96. package/dist/Dialog.js.map +1 -0
  97. package/dist/Drawer.d.ts +32 -14
  98. package/dist/Drawer.d.ts.map +1 -0
  99. package/dist/Drawer.js +46 -41
  100. package/dist/Drawer.js.map +1 -0
  101. package/dist/DropdownMenu.d.ts +84 -51
  102. package/dist/DropdownMenu.d.ts.map +1 -0
  103. package/dist/DropdownMenu.js +156 -3
  104. package/dist/DropdownMenu.js.map +1 -0
  105. package/dist/FormFieldMessage.d.ts +26 -8
  106. package/dist/FormFieldMessage.d.ts.map +1 -0
  107. package/dist/FormFieldMessage.js +58 -45
  108. package/dist/FormFieldMessage.js.map +1 -0
  109. package/dist/HoverCard.d.ts +51 -25
  110. package/dist/HoverCard.d.ts.map +1 -0
  111. package/dist/HoverCard.js +67 -3
  112. package/dist/HoverCard.js.map +1 -0
  113. package/dist/Icons/AdjustmentsIcon.d.ts +16 -3
  114. package/dist/Icons/AdjustmentsIcon.d.ts.map +1 -0
  115. package/dist/Icons/AdjustmentsIcon.js +84 -78
  116. package/dist/Icons/AdjustmentsIcon.js.map +1 -0
  117. package/dist/Icons/AnalyzeIcon.d.ts +16 -3
  118. package/dist/Icons/AnalyzeIcon.d.ts.map +1 -0
  119. package/dist/Icons/AnalyzeIcon.js +56 -50
  120. package/dist/Icons/AnalyzeIcon.js.map +1 -0
  121. package/dist/Icons/AnnotationsIcon.d.ts +16 -3
  122. package/dist/Icons/AnnotationsIcon.d.ts.map +1 -0
  123. package/dist/Icons/AnnotationsIcon.js +26 -20
  124. package/dist/Icons/AnnotationsIcon.js.map +1 -0
  125. package/dist/Icons/ApprovedIcon.d.ts +16 -3
  126. package/dist/Icons/ApprovedIcon.d.ts.map +1 -0
  127. package/dist/Icons/ApprovedIcon.js +32 -26
  128. package/dist/Icons/ApprovedIcon.js.map +1 -0
  129. package/dist/Icons/ArrowDownIcon.d.ts +16 -3
  130. package/dist/Icons/ArrowDownIcon.d.ts.map +1 -0
  131. package/dist/Icons/ArrowDownIcon.js +26 -20
  132. package/dist/Icons/ArrowDownIcon.js.map +1 -0
  133. package/dist/Icons/ArrowUpIcon.d.ts +16 -3
  134. package/dist/Icons/ArrowUpIcon.d.ts.map +1 -0
  135. package/dist/Icons/ArrowUpIcon.js +26 -20
  136. package/dist/Icons/ArrowUpIcon.js.map +1 -0
  137. package/dist/Icons/BoxToolIcon.d.ts +16 -3
  138. package/dist/Icons/BoxToolIcon.d.ts.map +1 -0
  139. package/dist/Icons/BoxToolIcon.js +23 -17
  140. package/dist/Icons/BoxToolIcon.js.map +1 -0
  141. package/dist/Icons/CalendarIcon.d.ts +16 -3
  142. package/dist/Icons/CalendarIcon.d.ts.map +1 -0
  143. package/dist/Icons/CalendarIcon.js +49 -43
  144. package/dist/Icons/CalendarIcon.js.map +1 -0
  145. package/dist/Icons/CheckCircleIcon.d.ts +16 -3
  146. package/dist/Icons/CheckCircleIcon.d.ts.map +1 -0
  147. package/dist/Icons/CheckCircleIcon.js +32 -26
  148. package/dist/Icons/CheckCircleIcon.js.map +1 -0
  149. package/dist/Icons/CheckSquareIcon.d.ts +16 -3
  150. package/dist/Icons/CheckSquareIcon.d.ts.map +1 -0
  151. package/dist/Icons/CheckSquareIcon.js +32 -26
  152. package/dist/Icons/CheckSquareIcon.js.map +1 -0
  153. package/dist/Icons/CheckmarkIcon.d.ts +17 -3
  154. package/dist/Icons/CheckmarkIcon.d.ts.map +1 -0
  155. package/dist/Icons/CheckmarkIcon.js +28 -22
  156. package/dist/Icons/CheckmarkIcon.js.map +1 -0
  157. package/dist/Icons/ChevronDownIcon.d.ts +16 -3
  158. package/dist/Icons/ChevronDownIcon.d.ts.map +1 -0
  159. package/dist/Icons/ChevronDownIcon.js +28 -22
  160. package/dist/Icons/ChevronDownIcon.js.map +1 -0
  161. package/dist/Icons/ChevronUpIcon.d.ts +16 -3
  162. package/dist/Icons/ChevronUpIcon.d.ts.map +1 -0
  163. package/dist/Icons/ChevronUpIcon.js +28 -22
  164. package/dist/Icons/ChevronUpIcon.js.map +1 -0
  165. package/dist/Icons/ClockIcon.d.ts +16 -3
  166. package/dist/Icons/ClockIcon.d.ts.map +1 -0
  167. package/dist/Icons/ClockIcon.js +32 -26
  168. package/dist/Icons/ClockIcon.js.map +1 -0
  169. package/dist/Icons/CloseCircleIcon.d.ts +16 -3
  170. package/dist/Icons/CloseCircleIcon.d.ts.map +1 -0
  171. package/dist/Icons/CloseCircleIcon.js +32 -26
  172. package/dist/Icons/CloseCircleIcon.js.map +1 -0
  173. package/dist/Icons/CloseIcon.d.ts +16 -3
  174. package/dist/Icons/CloseIcon.d.ts.map +1 -0
  175. package/dist/Icons/CloseIcon.js +24 -18
  176. package/dist/Icons/CloseIcon.js.map +1 -0
  177. package/dist/Icons/Crosshairs2Icon.d.ts +16 -3
  178. package/dist/Icons/Crosshairs2Icon.d.ts.map +1 -0
  179. package/dist/Icons/Crosshairs2Icon.js +56 -50
  180. package/dist/Icons/Crosshairs2Icon.js.map +1 -0
  181. package/dist/Icons/CrosshairsIcon.d.ts +16 -3
  182. package/dist/Icons/CrosshairsIcon.d.ts.map +1 -0
  183. package/dist/Icons/CrosshairsIcon.js +25 -19
  184. package/dist/Icons/CrosshairsIcon.js.map +1 -0
  185. package/dist/Icons/DashboardIcon.d.ts +16 -3
  186. package/dist/Icons/DashboardIcon.d.ts.map +1 -0
  187. package/dist/Icons/DashboardIcon.js +42 -36
  188. package/dist/Icons/DashboardIcon.js.map +1 -0
  189. package/dist/Icons/DatabaseIcon.d.ts +16 -3
  190. package/dist/Icons/DatabaseIcon.d.ts.map +1 -0
  191. package/dist/Icons/DatabaseIcon.js +42 -36
  192. package/dist/Icons/DatabaseIcon.js.map +1 -0
  193. package/dist/Icons/DeleteIcon.d.ts +16 -3
  194. package/dist/Icons/DeleteIcon.d.ts.map +1 -0
  195. package/dist/Icons/DeleteIcon.js +42 -36
  196. package/dist/Icons/DeleteIcon.js.map +1 -0
  197. package/dist/Icons/DurationIcon.d.ts +16 -3
  198. package/dist/Icons/DurationIcon.d.ts.map +1 -0
  199. package/dist/Icons/DurationIcon.js +63 -57
  200. package/dist/Icons/DurationIcon.js.map +1 -0
  201. package/dist/Icons/EditIcon.d.ts +16 -3
  202. package/dist/Icons/EditIcon.d.ts.map +1 -0
  203. package/dist/Icons/EditIcon.js +32 -26
  204. package/dist/Icons/EditIcon.js.map +1 -0
  205. package/dist/Icons/EmailIcon.d.ts +16 -3
  206. package/dist/Icons/EmailIcon.d.ts.map +1 -0
  207. package/dist/Icons/EmailIcon.js +32 -26
  208. package/dist/Icons/EmailIcon.js.map +1 -0
  209. package/dist/Icons/EraserIcon.d.ts +16 -3
  210. package/dist/Icons/EraserIcon.d.ts.map +1 -0
  211. package/dist/Icons/EraserIcon.js +27 -23
  212. package/dist/Icons/EraserIcon.js.map +1 -0
  213. package/dist/Icons/ErrorIcon.d.ts +16 -3
  214. package/dist/Icons/ErrorIcon.d.ts.map +1 -0
  215. package/dist/Icons/ErrorIcon.js +33 -27
  216. package/dist/Icons/ErrorIcon.js.map +1 -0
  217. package/dist/Icons/EyeClosedIcon.d.ts +16 -3
  218. package/dist/Icons/EyeClosedIcon.d.ts.map +1 -0
  219. package/dist/Icons/EyeClosedIcon.js +35 -29
  220. package/dist/Icons/EyeClosedIcon.js.map +1 -0
  221. package/dist/Icons/EyeClosedIcon2.d.ts +16 -3
  222. package/dist/Icons/EyeClosedIcon2.d.ts.map +1 -0
  223. package/dist/Icons/EyeClosedIcon2.js +33 -27
  224. package/dist/Icons/EyeClosedIcon2.js.map +1 -0
  225. package/dist/Icons/EyeOpenIcon.d.ts +16 -3
  226. package/dist/Icons/EyeOpenIcon.d.ts.map +1 -0
  227. package/dist/Icons/EyeOpenIcon.js +28 -22
  228. package/dist/Icons/EyeOpenIcon.js.map +1 -0
  229. package/dist/Icons/FileDownloadIcon.d.ts +16 -3
  230. package/dist/Icons/FileDownloadIcon.d.ts.map +1 -0
  231. package/dist/Icons/FileDownloadIcon.js +49 -43
  232. package/dist/Icons/FileDownloadIcon.js.map +1 -0
  233. package/dist/Icons/GoToFirstIcon.d.ts +16 -3
  234. package/dist/Icons/GoToFirstIcon.d.ts.map +1 -0
  235. package/dist/Icons/GoToFirstIcon.js +32 -26
  236. package/dist/Icons/GoToFirstIcon.js.map +1 -0
  237. package/dist/Icons/GoToLastIcon.d.ts +16 -3
  238. package/dist/Icons/GoToLastIcon.d.ts.map +1 -0
  239. package/dist/Icons/GoToLastIcon.js +32 -26
  240. package/dist/Icons/GoToLastIcon.js.map +1 -0
  241. package/dist/Icons/HarmonicCursorsIcon.d.ts +16 -3
  242. package/dist/Icons/HarmonicCursorsIcon.d.ts.map +1 -0
  243. package/dist/Icons/HarmonicCursorsIcon.js +29 -23
  244. package/dist/Icons/HarmonicCursorsIcon.js.map +1 -0
  245. package/dist/Icons/IconBase.d.ts +38 -14
  246. package/dist/Icons/IconBase.d.ts.map +1 -0
  247. package/dist/Icons/IconBase.js +61 -41
  248. package/dist/Icons/IconBase.js.map +1 -0
  249. package/dist/Icons/InfoIcon.d.ts +16 -3
  250. package/dist/Icons/InfoIcon.d.ts.map +1 -0
  251. package/dist/Icons/InfoIcon.js +42 -36
  252. package/dist/Icons/InfoIcon.js.map +1 -0
  253. package/dist/Icons/KeyboardIcon.d.ts +16 -3
  254. package/dist/Icons/KeyboardIcon.d.ts.map +1 -0
  255. package/dist/Icons/KeyboardIcon.js +32 -26
  256. package/dist/Icons/KeyboardIcon.js.map +1 -0
  257. package/dist/Icons/LabelIcon.d.ts +16 -3
  258. package/dist/Icons/LabelIcon.d.ts.map +1 -0
  259. package/dist/Icons/LabelIcon.js +25 -19
  260. package/dist/Icons/LabelIcon.js.map +1 -0
  261. package/dist/Icons/LassoIcon.d.ts +16 -3
  262. package/dist/Icons/LassoIcon.d.ts.map +1 -0
  263. package/dist/Icons/LassoIcon.js +42 -36
  264. package/dist/Icons/LassoIcon.js.map +1 -0
  265. package/dist/Icons/LineToolIcon.d.ts +16 -3
  266. package/dist/Icons/LineToolIcon.d.ts.map +1 -0
  267. package/dist/Icons/LineToolIcon.js +54 -48
  268. package/dist/Icons/LineToolIcon.js.map +1 -0
  269. package/dist/Icons/LiveViewIcon.d.ts +16 -3
  270. package/dist/Icons/LiveViewIcon.d.ts.map +1 -0
  271. package/dist/Icons/LiveViewIcon.js +56 -50
  272. package/dist/Icons/LiveViewIcon.js.map +1 -0
  273. package/dist/Icons/LoaderIcon.d.ts +16 -3
  274. package/dist/Icons/LoaderIcon.d.ts.map +1 -0
  275. package/dist/Icons/LoaderIcon.js +35 -31
  276. package/dist/Icons/LoaderIcon.js.map +1 -0
  277. package/dist/Icons/LocationIcon.d.ts +16 -3
  278. package/dist/Icons/LocationIcon.d.ts.map +1 -0
  279. package/dist/Icons/LocationIcon.js +32 -26
  280. package/dist/Icons/LocationIcon.js.map +1 -0
  281. package/dist/Icons/LogoutIcon.d.ts +16 -3
  282. package/dist/Icons/LogoutIcon.d.ts.map +1 -0
  283. package/dist/Icons/LogoutIcon.js +26 -20
  284. package/dist/Icons/LogoutIcon.js.map +1 -0
  285. package/dist/Icons/MaximizeIcon.d.ts +16 -3
  286. package/dist/Icons/MaximizeIcon.d.ts.map +1 -0
  287. package/dist/Icons/MaximizeIcon.js +49 -43
  288. package/dist/Icons/MaximizeIcon.js.map +1 -0
  289. package/dist/Icons/MeasureIcon.d.ts +16 -3
  290. package/dist/Icons/MeasureIcon.d.ts.map +1 -0
  291. package/dist/Icons/MeasureIcon.js +84 -78
  292. package/dist/Icons/MeasureIcon.js.map +1 -0
  293. package/dist/Icons/MenuDotsIcon.d.ts +16 -3
  294. package/dist/Icons/MenuDotsIcon.d.ts.map +1 -0
  295. package/dist/Icons/MenuDotsIcon.js +42 -36
  296. package/dist/Icons/MenuDotsIcon.js.map +1 -0
  297. package/dist/Icons/MenuIcon.d.ts +16 -3
  298. package/dist/Icons/MenuIcon.d.ts.map +1 -0
  299. package/dist/Icons/MenuIcon.js +42 -36
  300. package/dist/Icons/MenuIcon.js.map +1 -0
  301. package/dist/Icons/MessagesIcon.d.ts +16 -3
  302. package/dist/Icons/MessagesIcon.d.ts.map +1 -0
  303. package/dist/Icons/MessagesIcon.js +39 -33
  304. package/dist/Icons/MessagesIcon.js.map +1 -0
  305. package/dist/Icons/MetadataIcon.d.ts +16 -3
  306. package/dist/Icons/MetadataIcon.d.ts.map +1 -0
  307. package/dist/Icons/MetadataIcon.js +26 -20
  308. package/dist/Icons/MetadataIcon.js.map +1 -0
  309. package/dist/Icons/MinimizeIcon.d.ts +16 -3
  310. package/dist/Icons/MinimizeIcon.d.ts.map +1 -0
  311. package/dist/Icons/MinimizeIcon.js +49 -43
  312. package/dist/Icons/MinimizeIcon.js.map +1 -0
  313. package/dist/Icons/MinusIcon.d.ts +16 -3
  314. package/dist/Icons/MinusIcon.d.ts.map +1 -0
  315. package/dist/Icons/MinusIcon.js +24 -18
  316. package/dist/Icons/MinusIcon.js.map +1 -0
  317. package/dist/Icons/OntologyIcon.d.ts +16 -3
  318. package/dist/Icons/OntologyIcon.d.ts.map +1 -0
  319. package/dist/Icons/OntologyIcon.js +93 -87
  320. package/dist/Icons/OntologyIcon.js.map +1 -0
  321. package/dist/Icons/PanelIconClose.d.ts +16 -3
  322. package/dist/Icons/PanelIconClose.d.ts.map +1 -0
  323. package/dist/Icons/PanelIconClose.js +34 -28
  324. package/dist/Icons/PanelIconClose.js.map +1 -0
  325. package/dist/Icons/PanelIconOpen.d.ts +16 -3
  326. package/dist/Icons/PanelIconOpen.d.ts.map +1 -0
  327. package/dist/Icons/PanelIconOpen.js +34 -28
  328. package/dist/Icons/PanelIconOpen.js.map +1 -0
  329. package/dist/Icons/PauseIcon.d.ts +16 -3
  330. package/dist/Icons/PauseIcon.d.ts.map +1 -0
  331. package/dist/Icons/PauseIcon.js +32 -26
  332. package/dist/Icons/PauseIcon.js.map +1 -0
  333. package/dist/Icons/PlayIcon.d.ts +16 -3
  334. package/dist/Icons/PlayIcon.d.ts.map +1 -0
  335. package/dist/Icons/PlayIcon.js +26 -20
  336. package/dist/Icons/PlayIcon.js.map +1 -0
  337. package/dist/Icons/PlusIcon.d.ts +16 -3
  338. package/dist/Icons/PlusIcon.d.ts.map +1 -0
  339. package/dist/Icons/PlusIcon.js +26 -20
  340. package/dist/Icons/PlusIcon.js.map +1 -0
  341. package/dist/Icons/PolygonIcon.d.ts +17 -3
  342. package/dist/Icons/PolygonIcon.d.ts.map +1 -0
  343. package/dist/Icons/PolygonIcon.js +56 -50
  344. package/dist/Icons/PolygonIcon.js.map +1 -0
  345. package/dist/Icons/PrinterIcon.d.ts +16 -3
  346. package/dist/Icons/PrinterIcon.d.ts.map +1 -0
  347. package/dist/Icons/PrinterIcon.js +26 -20
  348. package/dist/Icons/PrinterIcon.js.map +1 -0
  349. package/dist/Icons/ProgressCheckIcon.d.ts +16 -3
  350. package/dist/Icons/ProgressCheckIcon.d.ts.map +1 -0
  351. package/dist/Icons/ProgressCheckIcon.js +63 -57
  352. package/dist/Icons/ProgressCheckIcon.js.map +1 -0
  353. package/dist/Icons/ResetIcon.d.ts +16 -3
  354. package/dist/Icons/ResetIcon.d.ts.map +1 -0
  355. package/dist/Icons/ResetIcon.js +23 -17
  356. package/dist/Icons/ResetIcon.js.map +1 -0
  357. package/dist/Icons/ReviewedIcon.d.ts +16 -3
  358. package/dist/Icons/ReviewedIcon.d.ts.map +1 -0
  359. package/dist/Icons/ReviewedIcon.js +42 -36
  360. package/dist/Icons/ReviewedIcon.js.map +1 -0
  361. package/dist/Icons/ScissorsIcon.d.ts +16 -3
  362. package/dist/Icons/ScissorsIcon.d.ts.map +1 -0
  363. package/dist/Icons/ScissorsIcon.js +28 -22
  364. package/dist/Icons/ScissorsIcon.js.map +1 -0
  365. package/dist/Icons/SearchIcon.d.ts +16 -3
  366. package/dist/Icons/SearchIcon.d.ts.map +1 -0
  367. package/dist/Icons/SearchIcon.js +32 -26
  368. package/dist/Icons/SearchIcon.js.map +1 -0
  369. package/dist/Icons/SettingsIcon.d.ts +16 -3
  370. package/dist/Icons/SettingsIcon.d.ts.map +1 -0
  371. package/dist/Icons/SettingsIcon.js +32 -26
  372. package/dist/Icons/SettingsIcon.js.map +1 -0
  373. package/dist/Icons/SortAscendingIcon.d.ts +16 -3
  374. package/dist/Icons/SortAscendingIcon.d.ts.map +1 -0
  375. package/dist/Icons/SortAscendingIcon.js +56 -50
  376. package/dist/Icons/SortAscendingIcon.js.map +1 -0
  377. package/dist/Icons/SortAtoZIcon.d.ts +16 -3
  378. package/dist/Icons/SortAtoZIcon.d.ts.map +1 -0
  379. package/dist/Icons/SortAtoZIcon.js +56 -50
  380. package/dist/Icons/SortAtoZIcon.js.map +1 -0
  381. package/dist/Icons/SortDescendingIcon.d.ts +16 -3
  382. package/dist/Icons/SortDescendingIcon.d.ts.map +1 -0
  383. package/dist/Icons/SortDescendingIcon.js +56 -50
  384. package/dist/Icons/SortDescendingIcon.js.map +1 -0
  385. package/dist/Icons/SortZtoAIcon.d.ts +16 -3
  386. package/dist/Icons/SortZtoAIcon.d.ts.map +1 -0
  387. package/dist/Icons/SortZtoAIcon.js +56 -50
  388. package/dist/Icons/SortZtoAIcon.js.map +1 -0
  389. package/dist/Icons/SparklesIcon.d.ts +16 -3
  390. package/dist/Icons/SparklesIcon.d.ts.map +1 -0
  391. package/dist/Icons/SparklesIcon.js +26 -20
  392. package/dist/Icons/SparklesIcon.js.map +1 -0
  393. package/dist/Icons/StackIcon.d.ts +16 -3
  394. package/dist/Icons/StackIcon.d.ts.map +1 -0
  395. package/dist/Icons/StackIcon.js +32 -26
  396. package/dist/Icons/StackIcon.js.map +1 -0
  397. package/dist/Icons/StarIcon.d.ts +16 -3
  398. package/dist/Icons/StarIcon.d.ts.map +1 -0
  399. package/dist/Icons/StarIcon.js +26 -20
  400. package/dist/Icons/StarIcon.js.map +1 -0
  401. package/dist/Icons/TrashIcon.d.ts +16 -3
  402. package/dist/Icons/TrashIcon.d.ts.map +1 -0
  403. package/dist/Icons/TrashIcon.js +23 -17
  404. package/dist/Icons/TrashIcon.js.map +1 -0
  405. package/dist/Icons/UndoIcon.d.ts +16 -3
  406. package/dist/Icons/UndoIcon.d.ts.map +1 -0
  407. package/dist/Icons/UndoIcon.js +26 -20
  408. package/dist/Icons/UndoIcon.js.map +1 -0
  409. package/dist/Icons/UploadIcon.d.ts +16 -3
  410. package/dist/Icons/UploadIcon.d.ts.map +1 -0
  411. package/dist/Icons/UploadIcon.js +42 -36
  412. package/dist/Icons/UploadIcon.js.map +1 -0
  413. package/dist/Icons/User2Icon.d.ts +16 -3
  414. package/dist/Icons/User2Icon.d.ts.map +1 -0
  415. package/dist/Icons/User2Icon.js +32 -26
  416. package/dist/Icons/User2Icon.js.map +1 -0
  417. package/dist/Icons/UserIcon.d.ts +16 -3
  418. package/dist/Icons/UserIcon.d.ts.map +1 -0
  419. package/dist/Icons/UserIcon.js +25 -19
  420. package/dist/Icons/UserIcon.js.map +1 -0
  421. package/dist/Icons/WarningIcon.d.ts +16 -3
  422. package/dist/Icons/WarningIcon.d.ts.map +1 -0
  423. package/dist/Icons/WarningIcon.js +25 -19
  424. package/dist/Icons/WarningIcon.js.map +1 -0
  425. package/dist/Icons/ZoomAllIcon.d.ts +16 -3
  426. package/dist/Icons/ZoomAllIcon.d.ts.map +1 -0
  427. package/dist/Icons/ZoomAllIcon.js +77 -71
  428. package/dist/Icons/ZoomAllIcon.js.map +1 -0
  429. package/dist/Icons/ZoomXIcon.d.ts +16 -3
  430. package/dist/Icons/ZoomXIcon.d.ts.map +1 -0
  431. package/dist/Icons/ZoomXIcon.js +42 -36
  432. package/dist/Icons/ZoomXIcon.js.map +1 -0
  433. package/dist/Icons/ZoomYIcon.d.ts +16 -3
  434. package/dist/Icons/ZoomYIcon.d.ts.map +1 -0
  435. package/dist/Icons/ZoomYIcon.js +42 -36
  436. package/dist/Icons/ZoomYIcon.js.map +1 -0
  437. package/dist/Icons.d.ts +82 -0
  438. package/dist/Icons.js +83 -82
  439. package/dist/IconsAnimated/PanelLeftCloseIcon.d.ts +15 -2
  440. package/dist/IconsAnimated/PanelLeftCloseIcon.d.ts.map +1 -0
  441. package/dist/IconsAnimated/PanelLeftCloseIcon.js +45 -35
  442. package/dist/IconsAnimated/PanelLeftCloseIcon.js.map +1 -0
  443. package/dist/IconsAnimated/PanelLeftOpenIcon.d.ts +15 -2
  444. package/dist/IconsAnimated/PanelLeftOpenIcon.d.ts.map +1 -0
  445. package/dist/IconsAnimated/PanelLeftOpenIcon.js +45 -35
  446. package/dist/IconsAnimated/PanelLeftOpenIcon.js.map +1 -0
  447. package/dist/IconsAnimated.d.ts +4 -0
  448. package/dist/IconsAnimated.js +5 -4
  449. package/dist/Input/InputUtils.d.ts +16 -11
  450. package/dist/Input/InputUtils.d.ts.map +1 -0
  451. package/dist/Input/InputUtils.js +47 -36
  452. package/dist/Input/InputUtils.js.map +1 -0
  453. package/dist/Input.d.ts +31 -26
  454. package/dist/Input.d.ts.map +1 -0
  455. package/dist/Input.js +157 -111
  456. package/dist/Input.js.map +1 -0
  457. package/dist/InputNumeric.d.ts +31 -12
  458. package/dist/InputNumeric.d.ts.map +1 -0
  459. package/dist/InputNumeric.js +146 -102
  460. package/dist/InputNumeric.js.map +1 -0
  461. package/dist/InputOTP.d.ts +91 -54
  462. package/dist/InputOTP.d.ts.map +1 -0
  463. package/dist/InputOTP.js +159 -3
  464. package/dist/InputOTP.js.map +1 -0
  465. package/dist/Kbd.d.ts +31 -16
  466. package/dist/Kbd.d.ts.map +1 -0
  467. package/dist/Kbd.js +55 -46
  468. package/dist/Kbd.js.map +1 -0
  469. package/dist/Label.d.ts +19 -9
  470. package/dist/Label.d.ts.map +1 -0
  471. package/dist/Label.js +16 -12
  472. package/dist/Label.js.map +1 -0
  473. package/dist/MultiSelect/MultiSelectBase.d.ts +77 -41
  474. package/dist/MultiSelect/MultiSelectBase.d.ts.map +1 -0
  475. package/dist/MultiSelect/MultiSelectBase.js +314 -235
  476. package/dist/MultiSelect/MultiSelectBase.js.map +1 -0
  477. package/dist/MultiSelect.d.ts +40 -23
  478. package/dist/MultiSelect.d.ts.map +1 -0
  479. package/dist/MultiSelect.js +31 -26
  480. package/dist/MultiSelect.js.map +1 -0
  481. package/dist/Popover.d.ts +28 -8
  482. package/dist/Popover.d.ts.map +1 -0
  483. package/dist/Popover.js +41 -28
  484. package/dist/Popover.js.map +1 -0
  485. package/dist/RadioButton.d.ts +34 -15
  486. package/dist/RadioButton.d.ts.map +1 -0
  487. package/dist/RadioButton.js +32 -25
  488. package/dist/RadioButton.js.map +1 -0
  489. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +48 -23
  490. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts.map +1 -0
  491. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +59 -44
  492. package/dist/RadioButtonGroup/RadioButtonGroupBase.js.map +1 -0
  493. package/dist/RadioButtonGroup.d.ts +31 -10
  494. package/dist/RadioButtonGroup.d.ts.map +1 -0
  495. package/dist/RadioButtonGroup.js +16 -11
  496. package/dist/RadioButtonGroup.js.map +1 -0
  497. package/dist/RadioGroup.d.ts +60 -45
  498. package/dist/RadioGroup.d.ts.map +1 -0
  499. package/dist/RadioGroup.js +180 -3
  500. package/dist/RadioGroup.js.map +1 -0
  501. package/dist/Select.d.ts +38 -33
  502. package/dist/Select.d.ts.map +1 -0
  503. package/dist/Select.js +138 -116
  504. package/dist/Select.js.map +1 -0
  505. package/dist/Separator.d.ts +22 -10
  506. package/dist/Separator.d.ts.map +1 -0
  507. package/dist/Separator.js +20 -16
  508. package/dist/Separator.js.map +1 -0
  509. package/dist/Skeleton.d.ts +11 -2
  510. package/dist/Skeleton.d.ts.map +1 -0
  511. package/dist/Skeleton.js +14 -10
  512. package/dist/Skeleton.js.map +1 -0
  513. package/dist/Slider.d.ts +49 -26
  514. package/dist/Slider.d.ts.map +1 -0
  515. package/dist/Slider.js +167 -3
  516. package/dist/Slider.js.map +1 -0
  517. package/dist/SpectralProvider.d.ts +3 -30
  518. package/dist/SpectralProvider.js +4 -11
  519. package/dist/Switch/SwitchBase.d.ts +51 -24
  520. package/dist/Switch/SwitchBase.d.ts.map +1 -0
  521. package/dist/Switch/SwitchBase.js +91 -72
  522. package/dist/Switch/SwitchBase.js.map +1 -0
  523. package/dist/Switch.d.ts +49 -24
  524. package/dist/Switch.d.ts.map +1 -0
  525. package/dist/Switch.js +114 -3
  526. package/dist/Switch.js.map +1 -0
  527. package/dist/Tabs/TabsBase.d.ts +94 -50
  528. package/dist/Tabs/TabsBase.d.ts.map +1 -0
  529. package/dist/Tabs/TabsBase.js +213 -152
  530. package/dist/Tabs/TabsBase.js.map +1 -0
  531. package/dist/Tabs/tabsUtils.d.ts +35 -30
  532. package/dist/Tabs/tabsUtils.d.ts.map +1 -0
  533. package/dist/Tabs/tabsUtils.js +121 -49
  534. package/dist/Tabs/tabsUtils.js.map +1 -0
  535. package/dist/Tabs.d.ts +55 -35
  536. package/dist/Tabs.d.ts.map +1 -0
  537. package/dist/Tabs.js +81 -60
  538. package/dist/Tabs.js.map +1 -0
  539. package/dist/Textarea/TextareaUtils.d.ts +24 -13
  540. package/dist/Textarea/TextareaUtils.d.ts.map +1 -0
  541. package/dist/Textarea/TextareaUtils.js +52 -29
  542. package/dist/Textarea/TextareaUtils.js.map +1 -0
  543. package/dist/Textarea.d.ts +31 -25
  544. package/dist/Textarea.d.ts.map +1 -0
  545. package/dist/Textarea.js +90 -67
  546. package/dist/Textarea.js.map +1 -0
  547. package/dist/Toast.d.ts +63 -34
  548. package/dist/Toast.d.ts.map +1 -0
  549. package/dist/Toast.js +115 -3
  550. package/dist/Toast.js.map +1 -0
  551. package/dist/Toggle/ToggleBase.d.ts +29 -11
  552. package/dist/Toggle/ToggleBase.d.ts.map +1 -0
  553. package/dist/Toggle/ToggleBase.js +55 -41
  554. package/dist/Toggle/ToggleBase.js.map +1 -0
  555. package/dist/Toggle.d.ts +34 -16
  556. package/dist/Toggle.d.ts.map +1 -0
  557. package/dist/Toggle.js +46 -32
  558. package/dist/Toggle.js.map +1 -0
  559. package/dist/ToggleGroup/ToggleGroupBase.d.ts +42 -30
  560. package/dist/ToggleGroup/ToggleGroupBase.d.ts.map +1 -0
  561. package/dist/ToggleGroup/ToggleGroupBase.js +154 -111
  562. package/dist/ToggleGroup/ToggleGroupBase.js.map +1 -0
  563. package/dist/ToggleGroup/ToggleGroupItem.d.ts +31 -13
  564. package/dist/ToggleGroup/ToggleGroupItem.d.ts.map +1 -0
  565. package/dist/ToggleGroup/ToggleGroupItem.js +35 -27
  566. package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -0
  567. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.d.ts +49 -20
  568. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.d.ts.map +1 -0
  569. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.js +123 -91
  570. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.js.map +1 -0
  571. package/dist/ToggleGroup.d.ts +26 -10
  572. package/dist/ToggleGroup.d.ts.map +1 -0
  573. package/dist/ToggleGroup.js +35 -31
  574. package/dist/ToggleGroup.js.map +1 -0
  575. package/dist/Tooltip.d.ts +35 -12
  576. package/dist/Tooltip.d.ts.map +1 -0
  577. package/dist/Tooltip.js +68 -3
  578. package/dist/Tooltip.js.map +1 -0
  579. package/dist/Tray.d.ts +105 -61
  580. package/dist/Tray.d.ts.map +1 -0
  581. package/dist/Tray.js +120 -102
  582. package/dist/Tray.js.map +1 -0
  583. package/dist/components/Icons/iconTypes.d.ts +17 -0
  584. package/dist/components/Icons/iconTypes.d.ts.map +1 -0
  585. package/dist/components/IconsAnimated/iconTypes.d.ts +15 -0
  586. package/dist/components/IconsAnimated/iconTypes.d.ts.map +1 -0
  587. package/dist/components/SpectralProvider/SpectralProvider.d.ts +35 -0
  588. package/dist/components/SpectralProvider/SpectralProvider.d.ts.map +1 -0
  589. package/dist/components/SpectralProvider/SpectralProvider.js +33 -0
  590. package/dist/components/SpectralProvider/SpectralProvider.js.map +1 -0
  591. package/dist/components/ToggleGroup/ToggleGroup.context.js +14 -0
  592. package/dist/components/ToggleGroup/ToggleGroup.context.js.map +1 -0
  593. package/dist/hooks/useAccordionAutoScroll.d.ts +7 -2
  594. package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
  595. package/dist/hooks/useAccordionAutoScroll.js +71 -45
  596. package/dist/hooks/useAccordionAutoScroll.js.map +1 -0
  597. package/dist/hooks/useControllableState.d.ts +12 -8
  598. package/dist/hooks/useControllableState.d.ts.map +1 -1
  599. package/dist/hooks/useControllableState.js +23 -12
  600. package/dist/hooks/useControllableState.js.map +1 -0
  601. package/dist/hooks/useConvertToOklch.d.ts +6 -2
  602. package/dist/hooks/useConvertToOklch.d.ts.map +1 -1
  603. package/dist/hooks/useConvertToOklch.js +87 -42
  604. package/dist/hooks/useConvertToOklch.js.map +1 -0
  605. package/dist/hooks/useTheme.d.ts +10 -6
  606. package/dist/hooks/useTheme.d.ts.map +1 -1
  607. package/dist/hooks/useTheme.js +26 -18
  608. package/dist/hooks/useTheme.js.map +1 -0
  609. package/dist/hooks/useUncontrolledState.d.ts +8 -4
  610. package/dist/hooks/useUncontrolledState.d.ts.map +1 -1
  611. package/dist/hooks/useUncontrolledState.js +21 -11
  612. package/dist/hooks/useUncontrolledState.js.map +1 -0
  613. package/dist/index.d.ts +129 -47
  614. package/dist/index.js +130 -0
  615. package/dist/primitives/button.d.ts +22 -9
  616. package/dist/primitives/button.d.ts.map +1 -1
  617. package/dist/primitives/button.js +21 -15
  618. package/dist/primitives/button.js.map +1 -0
  619. package/dist/primitives/input-group.d.ts +46 -17
  620. package/dist/primitives/input-group.d.ts.map +1 -1
  621. package/dist/primitives/input-group.js +66 -43
  622. package/dist/primitives/input-group.js.map +1 -0
  623. package/dist/primitives/input.d.ts +16 -6
  624. package/dist/primitives/input.d.ts.map +1 -1
  625. package/dist/primitives/input.js +15 -10
  626. package/dist/primitives/input.js.map +1 -0
  627. package/dist/primitives/popover.d.ts +35 -9
  628. package/dist/primitives/popover.d.ts.map +1 -1
  629. package/dist/primitives/popover.js +56 -33
  630. package/dist/primitives/popover.js.map +1 -0
  631. package/dist/primitives/select.d.ts +60 -17
  632. package/dist/primitives/select.d.ts.map +1 -1
  633. package/dist/primitives/select.js +133 -3
  634. package/dist/primitives/select.js.map +1 -0
  635. package/dist/primitives/slot.d.ts +23 -14
  636. package/dist/primitives/slot.d.ts.map +1 -1
  637. package/dist/primitives/slot.js +53 -29
  638. package/dist/primitives/slot.js.map +1 -0
  639. package/dist/primitives/textarea.d.ts +11 -2
  640. package/dist/primitives/textarea.d.ts.map +1 -1
  641. package/dist/primitives/textarea.js +14 -9
  642. package/dist/primitives/textarea.js.map +1 -0
  643. package/dist/styles/horizon-tokens.css +9 -0
  644. package/dist/styles/spectral.css +2 -2
  645. package/dist/utils/constants.d.ts +5 -1
  646. package/dist/utils/constants.d.ts.map +1 -1
  647. package/dist/utils/constants.js +5 -2
  648. package/dist/utils/constants.js.map +1 -0
  649. package/dist/utils/dropdownPositioning.d.ts +14 -9
  650. package/dist/utils/dropdownPositioning.d.ts.map +1 -1
  651. package/dist/utils/dropdownPositioning.js +57 -34
  652. package/dist/utils/dropdownPositioning.js.map +1 -0
  653. package/dist/utils/formFieldUtils.d.ts +91 -73
  654. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  655. package/dist/utils/formFieldUtils.js +171 -106
  656. package/dist/utils/formFieldUtils.js.map +1 -0
  657. package/dist/utils/sharedUtils.d.ts +10 -6
  658. package/dist/utils/sharedUtils.d.ts.map +1 -1
  659. package/dist/utils/sharedUtils.js +23 -8
  660. package/dist/utils/sharedUtils.js.map +1 -0
  661. package/dist/utils/twUtils.d.ts +7 -2
  662. package/dist/utils/twUtils.d.ts.map +1 -1
  663. package/dist/utils/twUtils.js +12 -2
  664. package/dist/utils/twUtils.js.map +1 -0
  665. package/package.json +31 -23
  666. package/dist/.js +0 -129
  667. package/dist/Accordion-dVZHqyv8.js +0 -363
  668. package/dist/AnimatePresence-Bz_JZ2ah.js +0 -178
  669. package/dist/App.d.ts +0 -2
  670. package/dist/App.d.ts.map +0 -1
  671. package/dist/App.js +0 -9
  672. package/dist/Calendar-FXWVuKWS.js +0 -3109
  673. package/dist/Combination-MimnVFUU.js +0 -698
  674. package/dist/Combobox-DRQqx0os.js +0 -6379
  675. package/dist/DateTimeUtils-BJUAMuot.js +0 -2098
  676. package/dist/DropdownMenu-BO_RPCVU.js +0 -870
  677. package/dist/HoverCard-BhxgELKP.js +0 -201
  678. package/dist/Icons/index.d.ts +0 -81
  679. package/dist/InputOTP-DLn7ja7J.js +0 -464
  680. package/dist/RadioGroup-D-XjCU4Q.js +0 -333
  681. package/dist/Slider-CPYW_VYu.js +0 -490
  682. package/dist/Switch-CSmXtkia.js +0 -145
  683. package/dist/Toast-BuaZxqlt.js +0 -711
  684. package/dist/ToggleGroup/ToggleGroup.context.d.ts +0 -9
  685. package/dist/ToggleGroup/ToggleGroup.context.js +0 -11
  686. package/dist/Tooltip-CTjKOfvC.js +0 -389
  687. package/dist/builtin_esm-external-require-react-ItzZuLxx.js +0 -8
  688. package/dist/chunk-DmRZw4Wy.js +0 -17
  689. package/dist/clsx-Bfoz3aNJ.js +0 -16
  690. package/dist/dist-B9w6c9RC.js +0 -190
  691. package/dist/dist-Br_xj9vz.js +0 -12
  692. package/dist/dist-C-2mar4Y.js +0 -28
  693. package/dist/dist-C4MHwt9g.js +0 -10
  694. package/dist/dist-C6pGYii-.js +0 -6
  695. package/dist/dist-Cc8NfAO6.js +0 -122
  696. package/dist/dist-CcsVPym2.js +0 -68
  697. package/dist/dist-CrYg_9Cu.js +0 -913
  698. package/dist/dist-CwYxT5fv.js +0 -1287
  699. package/dist/dist-D9FsQh8P.js +0 -65
  700. package/dist/dist-DBLajRTL.js +0 -149
  701. package/dist/dist-DEkDg4Sk.js +0 -249
  702. package/dist/dist-DT46nqCO.js +0 -216
  703. package/dist/dist-PfrTYHr_.js +0 -29
  704. package/dist/dist-iDaHUF3d.js +0 -129
  705. package/dist/dist-s1uWaZYZ.js +0 -11
  706. package/dist/dist-tMzzRwxG.js +0 -33
  707. package/dist/index.d.ts.map +0 -1
  708. package/dist/main.d.ts +0 -1
  709. package/dist/main.d.ts.map +0 -1
  710. package/dist/main.js +0 -18960
  711. package/dist/proxy-BFVscmYQ.js +0 -4920
  712. package/dist/select-DFE8xm1L.js +0 -768
  713. package/dist/styles/base-colors.css +0 -62
  714. package/dist/styles/main.css +0 -2
  715. package/dist/styles/theme.css +0 -869
  716. package/dist/twUtils-BpqlKSeB.js +0 -1673
  717. package/dist/use-animation-BeSipRjB.js +0 -57
  718. package/dist/utils/dropdownPositioning.test.d.ts +0 -2
  719. package/dist/utils/dropdownPositioning.test.d.ts.map +0 -1
  720. package/dist/utils/dropdownPositioning.test.js +0 -22
@@ -1,348 +1,425 @@
1
- 'use client'
2
- import '../styles/main.css'
3
- import { CheckmarkIcon as e } from "../Icons/CheckmarkIcon.js";
4
- import { ChevronDownIcon as t } from "../Icons/ChevronDownIcon.js";
5
- import { CloseIcon as n } from "../Icons/CloseIcon.js";
6
- import { SearchIcon as r } from "../Icons/SearchIcon.js";
7
- import { t as i } from "../twUtils-BpqlKSeB.js";
8
- import { ErrorMessage as a, WarningMessage as o } from "../FormFieldMessage.js";
9
- import { EmptyState as s, LoadingState as c, getAriaProps as l, getDropdownSurfaceClasses as u, getDropdownWidthStyles as d, getErrorMessageId as f, getTriggerClasses as ee, useFormFieldId as te } from "../utils/formFieldUtils.js";
10
- import { useUncontrolledState as ne } from "../hooks/useUncontrolledState.js";
11
- import { Label as re } from "../Label.js";
12
- import { useAutoDropdownHorizontalShift as ie } from "../utils/dropdownPositioning.js";
13
- import { a as ae, i as oe, n as se, r as ce } from "../dist-B9w6c9RC.js";
14
- import { useCallback as p, useEffect as le, useId as ue, useMemo as m, useRef as de, useState as h } from "react";
15
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
1
+ 'use client';
2
+ import { CheckmarkIcon } from "../Icons/CheckmarkIcon.js";
3
+ import { ChevronDownIcon } from "../Icons/ChevronDownIcon.js";
4
+ import { CloseIcon } from "../Icons/CloseIcon.js";
5
+ import { SearchIcon } from "../Icons/SearchIcon.js";
6
+ import { cn } from "../utils/twUtils.js";
7
+ import { ErrorMessage, WarningMessage } from "../FormFieldMessage.js";
8
+ import { EmptyState, LoadingState, getAriaProps, getDropdownSurfaceClasses, getDropdownWidthStyles, getErrorMessageId, getTriggerClasses, useFormFieldId } from "../utils/formFieldUtils.js";
9
+ import { useUncontrolledState } from "../hooks/useUncontrolledState.js";
10
+ import { Label } from "../Label.js";
11
+ import { useAutoDropdownHorizontalShift } from "../utils/dropdownPositioning.js";
12
+ import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
+ import * as Popover from "@radix-ui/react-popover";
15
+
16
16
  //#region src/components/MultiSelect/MultiSelectBase.tsx
17
- var fe = "h-4 w-4", pe = () => i("max-h-80 z-50 overflow-hidden", u(), "motion-safe:data-[state=closed]:animate-out motion-safe:data-[state=open]:animate-in", "motion-safe:data-[state=closed]:fade-out-0 motion-safe:data-[state=open]:fade-in-0", "motion-safe:data-[state=closed]:zoom-out-95 motion-safe:data-[state=open]:zoom-in-95", "motion-safe:data-[side=bottom]:slide-in-from-top-2", "motion-safe:data-[side=top]:slide-in-from-bottom-2", "origin-(--radix-popover-content-transform-origin)"), me = (e, t, n, r, i, a, o, s, c) => {
18
- let [l, u] = h(-1), d = m(() => {
19
- let t = [];
20
- return o && t.push({ type: "search" }), s && t.push({ type: "select-all" }), e.forEach((e, n) => {
21
- e.disabled || t.push({
17
+ const ICON_SIZE = "h-4 w-4";
18
+ const getDropdownClasses = () => {
19
+ return cn("max-h-80 z-50 overflow-hidden", getDropdownSurfaceClasses(), "motion-safe:data-[state=closed]:animate-out motion-safe:data-[state=open]:animate-in", "motion-safe:data-[state=closed]:fade-out-0 motion-safe:data-[state=open]:fade-in-0", "motion-safe:data-[state=closed]:zoom-out-95 motion-safe:data-[state=open]:zoom-in-95", "motion-safe:data-[side=bottom]:slide-in-from-top-2", "motion-safe:data-[side=top]:slide-in-from-bottom-2", "origin-(--radix-popover-content-transform-origin)");
20
+ };
21
+ const useKeyboardNavigation = (options, onClearAll, onClose, onSelect, onSelectAll, searchInputRef, showSearch, showSelectAll, showClearAll) => {
22
+ const [focusedIndex, setFocusedIndex] = useState(-1);
23
+ const focusableItems = useMemo(() => {
24
+ const items = [];
25
+ if (showSearch) items.push({ type: "search" });
26
+ if (showSelectAll) items.push({ type: "select-all" });
27
+ options.forEach((option, index) => {
28
+ if (!option.disabled) items.push({
22
29
  type: "option",
23
- index: n,
24
- value: e.value
30
+ index,
31
+ value: option.value
25
32
  });
26
- }), c && t.push({ type: "clear-all" }), t;
33
+ });
34
+ if (showClearAll) items.push({ type: "clear-all" });
35
+ return items;
27
36
  }, [
28
- e,
29
- o,
30
- s,
31
- c
32
- ]), f = p((e) => {
33
- e < 0 || e >= d.length || d[e].type === "search" && a.current?.focus();
34
- }, [d, a]);
37
+ options,
38
+ showSearch,
39
+ showSelectAll,
40
+ showClearAll
41
+ ]);
42
+ const focusCurrentItem = useCallback((index) => {
43
+ if (index < 0 || index >= focusableItems.length) return;
44
+ if (focusableItems[index].type === "search") searchInputRef.current?.focus();
45
+ }, [focusableItems, searchInputRef]);
35
46
  return {
36
- focusedIndex: l,
37
- setFocusedIndex: u,
38
- handleKeyDown: p((e) => {
39
- let a = l >= 0 && l < d.length ? d[l] : null;
40
- if (e.key === " " && a?.type === "search" || e.key === "Enter" && a?.type === "search") return;
41
- let o = {
47
+ focusedIndex,
48
+ setFocusedIndex,
49
+ handleKeyDown: useCallback((event) => {
50
+ const currentItem = focusedIndex >= 0 && focusedIndex < focusableItems.length ? focusableItems[focusedIndex] : null;
51
+ if (event.key === " " && currentItem?.type === "search") return;
52
+ if (event.key === "Enter" && currentItem?.type === "search") return;
53
+ const handler = {
42
54
  ArrowDown: () => {
43
- e.preventDefault();
44
- let t = Math.min(l + 1, d.length - 1);
45
- u(t), f(t);
55
+ event.preventDefault();
56
+ const newIndex = Math.min(focusedIndex + 1, focusableItems.length - 1);
57
+ setFocusedIndex(newIndex);
58
+ focusCurrentItem(newIndex);
46
59
  },
47
60
  ArrowUp: () => {
48
- e.preventDefault();
49
- let t = Math.max(l - 1, 0);
50
- u(t), f(t);
61
+ event.preventDefault();
62
+ const newIndex = Math.max(focusedIndex - 1, 0);
63
+ setFocusedIndex(newIndex);
64
+ focusCurrentItem(newIndex);
51
65
  },
52
66
  Tab: () => {
53
- if (e.shiftKey) if (l <= 0) n();
67
+ if (event.shiftKey) if (focusedIndex <= 0) onClose();
54
68
  else {
55
- e.preventDefault();
56
- let t = l - 1;
57
- u(t), f(t);
69
+ event.preventDefault();
70
+ const newIndex = focusedIndex - 1;
71
+ setFocusedIndex(newIndex);
72
+ focusCurrentItem(newIndex);
58
73
  }
59
- else if (l >= d.length - 1) n();
74
+ else if (focusedIndex >= focusableItems.length - 1) onClose();
60
75
  else {
61
- e.preventDefault();
62
- let t = l + 1;
63
- u(t), f(t);
76
+ event.preventDefault();
77
+ const newIndex = focusedIndex + 1;
78
+ setFocusedIndex(newIndex);
79
+ focusCurrentItem(newIndex);
64
80
  }
65
81
  },
66
82
  Enter: () => {
67
- if (e.preventDefault(), l >= 0 && l < d.length) {
68
- let e = d[l];
69
- e.type === "select-all" ? i() : e.type === "clear-all" ? t() : e.type === "option" && r(e.value);
83
+ event.preventDefault();
84
+ if (focusedIndex >= 0 && focusedIndex < focusableItems.length) {
85
+ const item = focusableItems[focusedIndex];
86
+ if (item.type === "select-all") onSelectAll();
87
+ else if (item.type === "clear-all") onClearAll();
88
+ else if (item.type === "option") onSelect(item.value);
70
89
  }
71
90
  },
72
91
  " ": () => {
73
- if (e.preventDefault(), l >= 0 && l < d.length) {
74
- let e = d[l];
75
- e.type === "select-all" ? i() : e.type === "clear-all" ? t() : e.type === "option" && r(e.value);
92
+ event.preventDefault();
93
+ if (focusedIndex >= 0 && focusedIndex < focusableItems.length) {
94
+ const item = focusableItems[focusedIndex];
95
+ if (item.type === "select-all") onSelectAll();
96
+ else if (item.type === "clear-all") onClearAll();
97
+ else if (item.type === "option") onSelect(item.value);
76
98
  }
77
99
  },
78
100
  Escape: () => {
79
- e.preventDefault(), n();
101
+ event.preventDefault();
102
+ onClose();
80
103
  }
81
- }[e.key];
82
- o && o();
104
+ }[event.key];
105
+ if (handler) handler();
83
106
  }, [
84
- d,
85
- l,
86
- r,
87
- i,
88
- t,
89
- n,
90
- f
107
+ focusableItems,
108
+ focusedIndex,
109
+ onSelect,
110
+ onSelectAll,
111
+ onClearAll,
112
+ onClose,
113
+ focusCurrentItem
91
114
  ]),
92
- getOptionFocusIndex: p((e) => {
93
- if (l < 0 || l >= d.length) return !1;
94
- let t = d[l];
95
- return t.type === "option" && t.index === e;
96
- }, [l, d]),
97
- isSearchFocused: m(() => l < 0 || l >= d.length ? !1 : d[l].type === "search", [l, d]),
98
- isSelectAllFocused: m(() => l < 0 || l >= d.length ? !1 : d[l].type === "select-all", [l, d]),
99
- isClearAllFocused: m(() => l < 0 || l >= d.length ? !1 : d[l].type === "clear-all", [l, d]),
100
- focusedOptionValue: m(() => {
101
- if (l < 0 || l >= d.length) return null;
102
- let e = d[l];
103
- return e.type === "option" ? e.value : null;
104
- }, [l, d])
115
+ getOptionFocusIndex: useCallback((optionIndex) => {
116
+ if (focusedIndex < 0 || focusedIndex >= focusableItems.length) return false;
117
+ const item = focusableItems[focusedIndex];
118
+ return item.type === "option" && item.index === optionIndex;
119
+ }, [focusedIndex, focusableItems]),
120
+ isSearchFocused: useMemo(() => {
121
+ if (focusedIndex < 0 || focusedIndex >= focusableItems.length) return false;
122
+ return focusableItems[focusedIndex].type === "search";
123
+ }, [focusedIndex, focusableItems]),
124
+ isSelectAllFocused: useMemo(() => {
125
+ if (focusedIndex < 0 || focusedIndex >= focusableItems.length) return false;
126
+ return focusableItems[focusedIndex].type === "select-all";
127
+ }, [focusedIndex, focusableItems]),
128
+ isClearAllFocused: useMemo(() => {
129
+ if (focusedIndex < 0 || focusedIndex >= focusableItems.length) return false;
130
+ return focusableItems[focusedIndex].type === "clear-all";
131
+ }, [focusedIndex, focusableItems]),
132
+ focusedOptionValue: useMemo(() => {
133
+ if (focusedIndex < 0 || focusedIndex >= focusableItems.length) return null;
134
+ const item = focusableItems[focusedIndex];
135
+ return item.type === "option" ? item.value : null;
136
+ }, [focusedIndex, focusableItems])
105
137
  };
106
- }, y = ({ className: u, clearAllLabel: y = "Clear all", closeOnSelect: b = !1, dropdownWidth: x = "trigger", emptyMessage: he = "No options found", errorMessage: ge, defaultValue: _e = [], disabled: ve, id: S, label: C, loadingMessage: ye = "Loading options…", maxCount: w = 3, name: T, onChange: be, options: E = [], placeholder: xe = "Select options", ref: Se, searchPlaceholder: Ce = "Search options…", selectAllLabel: we = "Select all", showClearAll: Te = !0, showSearch: D = !0, showSelectAll: O = !0, sortAlphabetically: k = !1, state: A = "default", value: Ee, warningMessage: j, "aria-label": De, "aria-describedby": Oe, ...M }) => {
107
- let ke = ue(), N = te(S, T ?? `multiselect-${ke}`), P = `${N}-listbox`, F = f(N), I = `${N}-warning`, Ae = A === "error" ? F : A === "warning" && j ? I : void 0, [L, R] = h(!1), { dropdownShiftStyle: je, setDropdownElement: Me } = ie(L), [z, Ne] = h(""), [B, V] = ne({
108
- value: Ee,
109
- defaultValue: _e,
110
- onChange: be
111
- }), H = de(null), U = !!ve, Pe = A === "loading", Fe = l(A, Oe, M.required, Ae), { dropdownOverflowStyle: Ie, dropdownWidthMode: W, resolvedDropdownWidth: Le } = d({
112
- dropdownWidth: x,
138
+ };
139
+ const MultiSelectBase = ({ className, clearAllLabel = "Clear all", closeOnSelect = false, dropdownWidth = "trigger", emptyMessage = "No options found", errorMessage, defaultValue = [], disabled, id, label, loadingMessage = "Loading options…", maxCount = 3, name, onChange, options = [], placeholder = "Select options", ref, searchPlaceholder = "Search options…", selectAllLabel = "Select all", showClearAll = true, showSearch = true, showSelectAll = true, sortAlphabetically = false, state = "default", value: valueProp, warningMessage, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, ...props }) => {
140
+ const generatedId = useId();
141
+ const multiSelectId = useFormFieldId(id, name ?? `multiselect-${generatedId}`);
142
+ const listboxId = `${multiSelectId}-listbox`;
143
+ const errorMessageId = getErrorMessageId(multiSelectId);
144
+ const warningMessageId = `${multiSelectId}-warning`;
145
+ const messageId = state === "error" ? errorMessageId : state === "warning" && warningMessage ? warningMessageId : void 0;
146
+ const [isOpen, setIsOpen] = useState(false);
147
+ const { dropdownShiftStyle, setDropdownElement } = useAutoDropdownHorizontalShift(isOpen);
148
+ const [searchValue, setSearchValue] = useState("");
149
+ const [value, setValue] = useUncontrolledState({
150
+ value: valueProp,
151
+ defaultValue,
152
+ onChange
153
+ });
154
+ const searchInputRef = useRef(null);
155
+ const isDisabled = Boolean(disabled);
156
+ const isLoading = state === "loading";
157
+ const ariaProps = getAriaProps(state, ariaDescribedBy, props.required, messageId);
158
+ const { dropdownOverflowStyle, dropdownWidthMode, resolvedDropdownWidth } = getDropdownWidthStyles({
159
+ dropdownWidth,
113
160
  triggerWidth: "var(--radix-popover-trigger-width)"
114
- }), G = m(() => {
115
- let e = E.filter((e) => e.label.toLowerCase().includes(z.toLowerCase()));
116
- return k && (e = [...e].sort((e, t) => e.label.localeCompare(t.label))), e;
161
+ });
162
+ const filteredOptions = useMemo(() => {
163
+ let filtered = options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()));
164
+ if (sortAlphabetically) filtered = [...filtered].sort((a, b) => a.label.localeCompare(b.label));
165
+ return filtered;
117
166
  }, [
118
- E,
119
- z,
120
- k
121
- ]), K = m(() => {
122
- let e = {}, t = [];
123
- return G.forEach((n) => {
124
- n.group ? (e[n.group] || (e[n.group] = []), e[n.group].push(n)) : t.push(n);
125
- }), {
126
- groups: e,
127
- ungrouped: t,
128
- hasGroups: Object.keys(e).length > 0
167
+ options,
168
+ searchValue,
169
+ sortAlphabetically
170
+ ]);
171
+ const groupedOptions = useMemo(() => {
172
+ const groups = {};
173
+ const ungrouped = [];
174
+ filteredOptions.forEach((option) => {
175
+ if (option.group) {
176
+ if (!groups[option.group]) groups[option.group] = [];
177
+ groups[option.group].push(option);
178
+ } else ungrouped.push(option);
179
+ });
180
+ return {
181
+ groups,
182
+ ungrouped,
183
+ hasGroups: Object.keys(groups).length > 0
129
184
  };
130
- }, [G]), q = p((e) => {
131
- E.find((t) => t.value === e)?.disabled || (V(B.includes(e) ? B.filter((t) => t !== e) : [...B, e]), b && R(!1));
185
+ }, [filteredOptions]);
186
+ const toggleOption = useCallback((optionValue) => {
187
+ if (options.find((o) => o.value === optionValue)?.disabled) return;
188
+ setValue(value.includes(optionValue) ? value.filter((v) => v !== optionValue) : [...value, optionValue]);
189
+ if (closeOnSelect) setIsOpen(false);
132
190
  }, [
133
- b,
134
- E,
135
- V,
136
- B
137
- ]), J = p(() => {
138
- let e = E.filter((e) => !e.disabled).map((e) => e.value);
139
- e.every((e) => B.includes(e)) ? V([]) : V(e);
191
+ closeOnSelect,
192
+ options,
193
+ setValue,
194
+ value
195
+ ]);
196
+ const handleSelectAll = useCallback(() => {
197
+ const allValues = options.filter((o) => !o.disabled).map((o) => o.value);
198
+ if (allValues.every((v) => value.includes(v))) setValue([]);
199
+ else setValue(allValues);
140
200
  }, [
141
- E,
142
- V,
143
- B
144
- ]), Y = p(() => {
145
- V([]);
146
- }, [V]), X = m(() => E.filter((e) => !e.disabled).map((e) => e.value), [E]), Re = X.length > 0 && X.every((e) => B.includes(e)), { focusedOptionValue: Z, getOptionFocusIndex: ze, handleKeyDown: Be, isSelectAllFocused: Ve, setFocusedIndex: Q } = me(G, Y, () => R(!1), q, J, H, D, O, !1);
147
- le(() => {
148
- Q(L ? 0 : -1);
149
- }, [L, Q]);
150
- let He = p((e) => {
151
- Ne(e.target.value);
152
- }, []), Ue = () => {
153
- if (B.length === 0) return /* @__PURE__ */ _("span", {
201
+ options,
202
+ setValue,
203
+ value
204
+ ]);
205
+ const handleClearAll = useCallback(() => {
206
+ setValue([]);
207
+ }, [setValue]);
208
+ const allSelectableValues = useMemo(() => options.filter((o) => !o.disabled).map((o) => o.value), [options]);
209
+ const isAllSelected = allSelectableValues.length > 0 && allSelectableValues.every((v) => value.includes(v));
210
+ const { focusedOptionValue, getOptionFocusIndex, handleKeyDown, isSelectAllFocused, setFocusedIndex } = useKeyboardNavigation(filteredOptions, handleClearAll, () => setIsOpen(false), toggleOption, handleSelectAll, searchInputRef, showSearch, showSelectAll, false);
211
+ useEffect(() => {
212
+ if (isOpen) setFocusedIndex(0);
213
+ else setFocusedIndex(-1);
214
+ }, [isOpen, setFocusedIndex]);
215
+ const handleSearchChange = useCallback((e) => {
216
+ setSearchValue(e.target.value);
217
+ }, []);
218
+ const renderSelectedItems = () => {
219
+ if (value.length === 0) return /* @__PURE__ */ jsx("span", {
154
220
  className: "min-h-8 flex items-center text-input-text-placeholder",
155
- children: xe
221
+ children: placeholder
156
222
  });
157
- let e = B.slice(0, w), t = B.length - w;
158
- return /* @__PURE__ */ v("div", {
223
+ const displayedValues = value.slice(0, maxCount);
224
+ const remainingCount = value.length - maxCount;
225
+ return /* @__PURE__ */ jsxs("div", {
159
226
  className: "gap-1 flex flex-wrap items-center overflow-hidden",
160
- children: [e.map((e) => {
161
- let t = E.find((t) => t.value === e);
162
- return t ? /* @__PURE__ */ v("span", {
227
+ children: [displayedValues.map((val) => {
228
+ const option = options.find((o) => o.value === val);
229
+ if (!option) return null;
230
+ return /* @__PURE__ */ jsxs("span", {
163
231
  className: "gap-1 px-2 py-1 rounded-md text-xs max-w-48 inline-flex items-center bg-input-bg--selected text-input-text",
164
- children: [/* @__PURE__ */ _("span", {
232
+ children: [/* @__PURE__ */ jsx("span", {
165
233
  className: "truncate",
166
- children: t.label
167
- }), /* @__PURE__ */ _("span", {
234
+ children: option.label
235
+ }), /* @__PURE__ */ jsx("span", {
168
236
  "aria-hidden": "true",
169
237
  className: "hover:text-danger rounded-sm cursor-pointer",
170
238
  "data-testid": "spectral-multiselect-remove-item-button",
171
- onClick: (t) => {
172
- t.preventDefault(), t.stopPropagation(), q(e);
239
+ onClick: (e) => {
240
+ e.preventDefault();
241
+ e.stopPropagation();
242
+ toggleOption(val);
173
243
  },
174
244
  onPointerDown: (e) => {
175
245
  e.stopPropagation();
176
246
  },
177
- children: /* @__PURE__ */ _(n, { size: 12 })
247
+ children: /* @__PURE__ */ jsx(CloseIcon, { size: 12 })
178
248
  })]
179
- }, e) : null;
180
- }), t > 0 && /* @__PURE__ */ v("span", {
249
+ }, val);
250
+ }), remainingCount > 0 && /* @__PURE__ */ jsxs("span", {
181
251
  className: "text-input-text-secondary text-xs py-1 flex items-center tabular-nums",
182
252
  children: [
183
253
  "+",
184
- t,
254
+ remainingCount,
185
255
  " more"
186
256
  ]
187
257
  })]
188
258
  });
189
- }, $ = (t, n) => {
190
- let r = B.includes(t.value), a = ze(n), o = `${P}-option-${t.value}`;
191
- return /* @__PURE__ */ v("button", {
192
- "aria-selected": r,
193
- className: i("my-0.5 first:mt-0 last:mb-0 gap-3 rounded-sm px-3 py-2 text-sm flex w-full items-center text-left hover:bg-input-bg--hover focus-visible:bg-input-bg--hover focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50", a && "bg-input-bg--hover", r && "font-medium text-input-text"),
194
- disabled: t.disabled,
195
- id: o,
196
- onClick: () => q(t.value),
259
+ };
260
+ const renderOption = (option, index) => {
261
+ const isSelected = value.includes(option.value);
262
+ const isFocused = getOptionFocusIndex(index);
263
+ const optionId = `${listboxId}-option-${option.value}`;
264
+ return /* @__PURE__ */ jsxs("button", {
265
+ "aria-selected": isSelected,
266
+ className: cn("my-0.5 first:mt-0 last:mb-0 gap-3 rounded-sm px-3 py-2 text-sm flex w-full items-center text-left hover:bg-input-bg--hover focus-visible:bg-input-bg--hover focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50", isFocused && "bg-input-bg--hover", isSelected && "font-medium text-input-text"),
267
+ disabled: option.disabled,
268
+ id: optionId,
269
+ onClick: () => toggleOption(option.value),
197
270
  role: "option",
198
271
  type: "button",
199
- children: [/* @__PURE__ */ _("div", {
272
+ children: [/* @__PURE__ */ jsx("div", {
200
273
  "data-testid": "spectral-multiselect-selected-indicator",
201
- className: i("w-4 h-4 rounded flex items-center justify-center border border-input-border", r && "bg-primary border-primary"),
202
- children: r && /* @__PURE__ */ _(e, { size: 12 })
203
- }), /* @__PURE__ */ _("span", { children: t.label })]
204
- }, t.value);
274
+ className: cn("w-4 h-4 rounded flex items-center justify-center border border-input-border", isSelected && "bg-primary border-primary"),
275
+ children: isSelected && /* @__PURE__ */ jsx(CheckmarkIcon, { size: 12 })
276
+ }), /* @__PURE__ */ jsx("span", { children: option.label })]
277
+ }, option.value);
205
278
  };
206
- return /* @__PURE__ */ v("div", {
279
+ const getCSSCustomProperties = () => ({
280
+ "--multiselect-border-radius": "0.5rem",
281
+ "--multiselect-trigger-height": "3rem",
282
+ "--multiselect-dropdown-max-height": "20rem"
283
+ });
284
+ return /* @__PURE__ */ jsxs("div", {
207
285
  className: "w-full",
208
286
  "data-testid": "spectral-multiselect-root",
209
287
  children: [
210
- C && /* @__PURE__ */ _(re, {
211
- className: i("mb-2 block text-text-primary", U && "text-text-secondary"),
288
+ label && /* @__PURE__ */ jsx(Label, {
289
+ className: cn("mb-2 block text-text-primary", isDisabled && "text-text-secondary"),
212
290
  "data-testid": "spectral-multiselect-label",
213
- htmlFor: N,
214
- children: C
291
+ htmlFor: multiSelectId,
292
+ children: label
215
293
  }),
216
- /* @__PURE__ */ _(oe, {
217
- open: L,
218
- onOpenChange: R,
219
- children: /* @__PURE__ */ v("div", {
294
+ /* @__PURE__ */ jsx(Popover.Root, {
295
+ open: isOpen,
296
+ onOpenChange: setIsOpen,
297
+ children: /* @__PURE__ */ jsxs("div", {
220
298
  className: "relative",
221
299
  "data-testid": "spectral-multiselect-wrapper",
222
- onKeyDown: L ? Be : void 0,
300
+ onKeyDown: isOpen ? handleKeyDown : void 0,
223
301
  role: "none",
224
302
  children: [
225
- /* @__PURE__ */ _(ae, {
226
- asChild: !0,
227
- children: /* @__PURE__ */ v("button", {
228
- "aria-activedescendant": L && Z ? `${P}-option-${Z}` : void 0,
229
- "aria-controls": L ? P : void 0,
230
- "aria-expanded": L,
231
- "aria-label": De ?? C,
232
- className: i(ee(L, A, u), "max-h-22 py-2 text-sm"),
233
- "data-state": A,
303
+ /* @__PURE__ */ jsx(Popover.Trigger, {
304
+ asChild: true,
305
+ children: /* @__PURE__ */ jsxs("button", {
306
+ "aria-activedescendant": isOpen && focusedOptionValue ? `${listboxId}-option-${focusedOptionValue}` : void 0,
307
+ "aria-controls": isOpen ? listboxId : void 0,
308
+ "aria-expanded": isOpen,
309
+ "aria-label": ariaLabel ?? label,
310
+ className: cn(getTriggerClasses(isOpen, state, className), "max-h-22 py-2 text-sm"),
311
+ "data-state": state,
234
312
  "data-testid": "spectral-multiselect-trigger",
235
- disabled: U,
236
- id: N,
237
- name: T,
238
- ref: Se,
313
+ disabled: isDisabled,
314
+ id: multiSelectId,
315
+ name,
316
+ ref,
239
317
  role: "combobox",
240
- style: {
241
- "--multiselect-border-radius": "0.5rem",
242
- "--multiselect-trigger-height": "3rem",
243
- "--multiselect-dropdown-max-height": "20rem"
244
- },
318
+ style: getCSSCustomProperties(),
245
319
  type: "button",
246
- ...Fe,
247
- ...M,
248
- children: [/* @__PURE__ */ _("div", {
320
+ ...ariaProps,
321
+ ...props,
322
+ children: [/* @__PURE__ */ jsx("div", {
249
323
  className: "min-w-0 flex-1 overflow-hidden",
250
324
  "data-testid": "spectral-multiselect-selected-items",
251
- children: Ue()
252
- }), /* @__PURE__ */ _("div", {
325
+ children: renderSelectedItems()
326
+ }), /* @__PURE__ */ jsx("div", {
253
327
  className: "gap-2 ml-2 flex shrink-0 items-center",
254
- children: /* @__PURE__ */ _(t, {
255
- className: i("text-input-icon transition-transform duration-200", L && "rotate-180"),
328
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, {
329
+ className: cn("text-input-icon transition-transform duration-200", isOpen && "rotate-180"),
256
330
  size: 20
257
331
  })
258
332
  })]
259
333
  })
260
334
  }),
261
- Te && B.length > 0 && /* @__PURE__ */ _("button", {
335
+ showClearAll && value.length > 0 && /* @__PURE__ */ jsx("button", {
262
336
  "aria-label": "Clear all selections",
263
337
  className: "right-10 text-input-icon hover:text-input-icon--hover rounded-sm absolute top-1/2 z-10 -translate-y-1/2 cursor-pointer focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 disabled:pointer-events-none disabled:opacity-50",
264
338
  "data-testid": "spectral-multiselect-clear-all-button",
265
- disabled: U,
339
+ disabled: isDisabled,
266
340
  onClick: (e) => {
267
- e.stopPropagation(), Y(), document.getElementById(N)?.focus();
341
+ e.stopPropagation();
342
+ handleClearAll();
343
+ document.getElementById(multiSelectId)?.focus();
268
344
  },
269
345
  type: "button",
270
- children: /* @__PURE__ */ _(n, { size: 12 })
346
+ children: /* @__PURE__ */ jsx(CloseIcon, { size: 12 })
271
347
  }),
272
- /* @__PURE__ */ _(ce, { children: /* @__PURE__ */ _(se, {
348
+ /* @__PURE__ */ jsx(Popover.Portal, { children: /* @__PURE__ */ jsx(Popover.Content, {
273
349
  align: "start",
274
- avoidCollisions: !0,
275
- className: pe(),
350
+ avoidCollisions: true,
351
+ className: getDropdownClasses(),
276
352
  collisionPadding: 10,
277
- "data-dropdown-width-mode": W,
278
- "data-dropdown-width-value": W === "custom" ? x : void 0,
353
+ "data-dropdown-width-mode": dropdownWidthMode,
354
+ "data-dropdown-width-value": dropdownWidthMode === "custom" ? dropdownWidth : void 0,
279
355
  "data-testid": "spectral-multiselect-dropdown",
280
356
  onOpenAutoFocus: (e) => {
281
- e.preventDefault(), D && H.current?.focus();
357
+ e.preventDefault();
358
+ if (showSearch) searchInputRef.current?.focus();
282
359
  },
283
360
  side: "bottom",
284
361
  sideOffset: 4,
285
- ref: Me,
362
+ ref: setDropdownElement,
286
363
  style: {
287
- width: Le,
288
- ...x === "trigger" ? {} : Ie,
289
- ...je
364
+ width: resolvedDropdownWidth,
365
+ ...dropdownWidth === "trigger" ? {} : dropdownOverflowStyle,
366
+ ...dropdownShiftStyle
290
367
  },
291
- children: /* @__PURE__ */ v("div", {
368
+ children: /* @__PURE__ */ jsxs("div", {
292
369
  className: "p-1",
293
- children: [D && /* @__PURE__ */ v("div", {
370
+ children: [showSearch && /* @__PURE__ */ jsxs("div", {
294
371
  className: "mb-2 relative",
295
- children: [/* @__PURE__ */ _(r, { className: i(fe, "left-3 text-input-icon absolute top-1/2 -translate-y-1/2") }), /* @__PURE__ */ _("input", {
372
+ children: [/* @__PURE__ */ jsx(SearchIcon, { className: cn(ICON_SIZE, "left-3 text-input-icon absolute top-1/2 -translate-y-1/2") }), /* @__PURE__ */ jsx("input", {
296
373
  "aria-label": "Search options",
297
374
  className: "pl-9 pr-3 py-2 text-sm rounded-md focus-visible:ring-black w-full border border-input-border bg-input-bg focus-visible:border-input-border--focus focus-visible:ring-1 focus-visible:outline-none",
298
375
  "data-testid": "spectral-multiselect-search-input",
299
- onChange: He,
300
- placeholder: Ce,
301
- ref: H,
376
+ onChange: handleSearchChange,
377
+ placeholder: searchPlaceholder,
378
+ ref: searchInputRef,
302
379
  type: "text",
303
- value: z
380
+ value: searchValue
304
381
  })]
305
- }), /* @__PURE__ */ _("div", {
382
+ }), /* @__PURE__ */ jsx("div", {
306
383
  className: "max-h-64 overflow-y-auto",
307
- id: P,
384
+ id: listboxId,
308
385
  role: "listbox",
309
386
  "aria-multiselectable": "true",
310
- children: Pe ? /* @__PURE__ */ _(c, {
387
+ children: isLoading ? /* @__PURE__ */ jsx(LoadingState, {
311
388
  className: "text-sm",
312
- message: ye,
389
+ message: loadingMessage,
313
390
  "data-testid": "spectral-multiselect-loading"
314
- }) : G.length === 0 ? /* @__PURE__ */ _(s, {
391
+ }) : filteredOptions.length === 0 ? /* @__PURE__ */ jsx(EmptyState, {
315
392
  className: "text-sm",
316
393
  "data-testid": "spectral-multiselect-empty-message",
317
- message: he
318
- }) : /* @__PURE__ */ v(g, { children: [
319
- O && /* @__PURE__ */ v("div", {
394
+ message: emptyMessage
395
+ }) : /* @__PURE__ */ jsxs(Fragment, { children: [
396
+ showSelectAll && /* @__PURE__ */ jsxs("div", {
320
397
  className: "mb-1",
321
- children: [/* @__PURE__ */ _("button", {
322
- className: i("my-0.5 first:mt-0 last:mb-0 gap-3 rounded-sm px-3 py-2 text-sm font-medium text-input-text-secondary flex w-full items-center hover:bg-input-bg--hover focus-visible:bg-input-bg--hover focus-visible:outline-none", Ve && "bg-input-bg--hover"),
398
+ children: [/* @__PURE__ */ jsx("button", {
399
+ className: cn("my-0.5 first:mt-0 last:mb-0 gap-3 rounded-sm px-3 py-2 text-sm font-medium text-input-text-secondary flex w-full items-center hover:bg-input-bg--hover focus-visible:bg-input-bg--hover focus-visible:outline-none", isSelectAllFocused && "bg-input-bg--hover"),
323
400
  "data-testid": "spectral-multiselect-select-all-button",
324
- onClick: J,
401
+ onClick: handleSelectAll,
325
402
  type: "button",
326
- children: Re ? y : we
327
- }), /* @__PURE__ */ _("div", { className: "mx-3 my-1 h-px bg-input-border" })]
403
+ children: isAllSelected ? clearAllLabel : selectAllLabel
404
+ }), /* @__PURE__ */ jsx("div", { className: "mx-3 my-1 h-px bg-input-border" })]
328
405
  }),
329
- K.ungrouped.length > 0 && /* @__PURE__ */ _("div", {
406
+ groupedOptions.ungrouped.length > 0 && /* @__PURE__ */ jsx("div", {
330
407
  className: "mb-1",
331
- children: K.ungrouped.map((e, t) => $(e, t))
408
+ children: groupedOptions.ungrouped.map((option, index) => renderOption(option, index))
332
409
  }),
333
- Object.entries(K.groups).map(([e, t]) => /* @__PURE__ */ v("div", {
410
+ Object.entries(groupedOptions.groups).map(([groupName, groupOptions]) => /* @__PURE__ */ jsxs("div", {
334
411
  className: "mb-1",
335
412
  "data-testid": "spectral-multiselect-group",
336
413
  children: [
337
- (K.ungrouped.length > 0 || Object.keys(K.groups).indexOf(e) > 0) && /* @__PURE__ */ _("div", { className: "mx-3 my-1 h-px bg-input-border" }),
338
- /* @__PURE__ */ _("div", {
414
+ (groupedOptions.ungrouped.length > 0 || Object.keys(groupedOptions.groups).indexOf(groupName) > 0) && /* @__PURE__ */ jsx("div", { className: "mx-3 my-1 h-px bg-input-border" }),
415
+ /* @__PURE__ */ jsx("div", {
339
416
  "data-testid": "spectral-multiselect-group-name",
340
417
  className: "px-3 py-1 text-xs font-semibold text-input-text-secondary tracking-wide uppercase",
341
- children: e
418
+ children: groupName
342
419
  }),
343
- t.map((e, t) => $(e, G.indexOf(e)))
420
+ groupOptions.map((option, _index) => renderOption(option, filteredOptions.indexOf(option)))
344
421
  ]
345
- }, e))
422
+ }, groupName))
346
423
  ] })
347
424
  })]
348
425
  })
@@ -350,19 +427,21 @@ var fe = "h-4 w-4", pe = () => i("max-h-80 z-50 overflow-hidden", u(), "motion-s
350
427
  ]
351
428
  })
352
429
  }),
353
- /* @__PURE__ */ _(a, {
430
+ /* @__PURE__ */ jsx(ErrorMessage, {
354
431
  dataTestId: "spectral-multiselect-error-message",
355
- id: F,
356
- message: A === "error" ? ge : null
432
+ id: errorMessageId,
433
+ message: state === "error" ? errorMessage : null
357
434
  }),
358
- /* @__PURE__ */ _(o, {
435
+ /* @__PURE__ */ jsx(WarningMessage, {
359
436
  dataTestId: "spectral-multiselect-warning-message",
360
- id: I,
361
- message: A === "warning" ? j : null
437
+ id: warningMessageId,
438
+ message: state === "warning" ? warningMessage : null
362
439
  })
363
440
  ]
364
441
  });
365
442
  };
366
- y.displayName = "MultiSelectBase";
443
+ MultiSelectBase.displayName = "MultiSelectBase";
444
+
367
445
  //#endregion
368
- export { y as MultiSelectBase };
446
+ export { MultiSelectBase };
447
+ //# sourceMappingURL=MultiSelectBase.js.map