@spear-ai/spectral 1.13.1 → 1.14.2

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 (721) 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 +54 -26
  22. package/dist/Button.d.ts.map +1 -0
  23. package/dist/Button.js +72 -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 +49 -24
  42. package/dist/Checkbox.d.ts.map +1 -0
  43. package/dist/Checkbox.js +49 -40
  44. package/dist/Checkbox.js.map +1 -0
  45. package/dist/Combobox.d.ts +54 -23
  46. package/dist/Combobox.d.ts.map +1 -0
  47. package/dist/Combobox.js +203 -4
  48. package/dist/Combobox.js.map +1 -0
  49. package/dist/ControlGroup/ControlGroupSelect.d.ts +73 -43
  50. package/dist/ControlGroup/ControlGroupSelect.d.ts.map +1 -0
  51. package/dist/ControlGroup/ControlGroupSelect.js +159 -121
  52. package/dist/ControlGroup/ControlGroupSelect.js.map +1 -0
  53. package/dist/ControlGroup.d.ts +43 -21
  54. package/dist/ControlGroup.d.ts.map +1 -0
  55. package/dist/ControlGroup.js +54 -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 +56 -31
  90. package/dist/DateTimePicker.d.ts.map +1 -0
  91. package/dist/DateTimePicker.js +86 -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 +32 -8
  106. package/dist/FormFieldMessage.d.ts.map +1 -0
  107. package/dist/FormFieldMessage.js +64 -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 +161 -111
  456. package/dist/Input.js.map +1 -0
  457. package/dist/InputNumeric.d.ts +33 -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 +95 -54
  462. package/dist/InputOTP.d.ts.map +1 -0
  463. package/dist/InputOTP.js +161 -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 +81 -41
  474. package/dist/MultiSelect/MultiSelectBase.d.ts.map +1 -0
  475. package/dist/MultiSelect/MultiSelectBase.js +318 -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 +36 -15
  486. package/dist/RadioButton.d.ts.map +1 -0
  487. package/dist/RadioButton.js +34 -26
  488. package/dist/RadioButton.js.map +1 -0
  489. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +50 -23
  490. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts.map +1 -0
  491. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +63 -45
  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 +62 -45
  498. package/dist/RadioGroup.d.ts.map +1 -0
  499. package/dist/RadioGroup.js +184 -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 +142 -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 +53 -24
  524. package/dist/Switch.d.ts.map +1 -0
  525. package/dist/Switch.js +118 -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 +33 -25
  544. package/dist/Textarea.d.ts.map +1 -0
  545. package/dist/Textarea.js +94 -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 +45 -30
  560. package/dist/ToggleGroup/ToggleGroupBase.d.ts.map +1 -0
  561. package/dist/ToggleGroup/ToggleGroupBase.js +162 -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/colors.css +1 -0
  644. package/dist/styles/horizon-tokens.css +9 -0
  645. package/dist/styles/spectral.css +2 -2
  646. package/dist/utils/constants.d.ts +5 -1
  647. package/dist/utils/constants.d.ts.map +1 -1
  648. package/dist/utils/constants.js +5 -2
  649. package/dist/utils/constants.js.map +1 -0
  650. package/dist/utils/dropdownPositioning.d.ts +14 -9
  651. package/dist/utils/dropdownPositioning.d.ts.map +1 -1
  652. package/dist/utils/dropdownPositioning.js +57 -34
  653. package/dist/utils/dropdownPositioning.js.map +1 -0
  654. package/dist/utils/formFieldUtils.d.ts +93 -73
  655. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  656. package/dist/utils/formFieldUtils.js +171 -106
  657. package/dist/utils/formFieldUtils.js.map +1 -0
  658. package/dist/utils/sharedUtils.d.ts +10 -6
  659. package/dist/utils/sharedUtils.d.ts.map +1 -1
  660. package/dist/utils/sharedUtils.js +23 -8
  661. package/dist/utils/sharedUtils.js.map +1 -0
  662. package/dist/utils/twUtils.d.ts +7 -2
  663. package/dist/utils/twUtils.d.ts.map +1 -1
  664. package/dist/utils/twUtils.js +12 -2
  665. package/dist/utils/twUtils.js.map +1 -0
  666. package/package.json +32 -24
  667. package/dist/.js +0 -129
  668. package/dist/Accordion-dVZHqyv8.js +0 -363
  669. package/dist/AnimatePresence-Bz_JZ2ah.js +0 -178
  670. package/dist/App.d.ts +0 -2
  671. package/dist/App.d.ts.map +0 -1
  672. package/dist/App.js +0 -9
  673. package/dist/Calendar-FXWVuKWS.js +0 -3109
  674. package/dist/Combination-MimnVFUU.js +0 -698
  675. package/dist/Combobox-DRQqx0os.js +0 -6379
  676. package/dist/DateTimeUtils-BJUAMuot.js +0 -2098
  677. package/dist/DropdownMenu-BO_RPCVU.js +0 -870
  678. package/dist/HoverCard-BhxgELKP.js +0 -201
  679. package/dist/Icons/index.d.ts +0 -81
  680. package/dist/InputOTP-DLn7ja7J.js +0 -464
  681. package/dist/RadioGroup-D-XjCU4Q.js +0 -333
  682. package/dist/Slider-CPYW_VYu.js +0 -490
  683. package/dist/Switch-CSmXtkia.js +0 -145
  684. package/dist/Toast-BuaZxqlt.js +0 -711
  685. package/dist/ToggleGroup/ToggleGroup.context.d.ts +0 -9
  686. package/dist/ToggleGroup/ToggleGroup.context.js +0 -11
  687. package/dist/Tooltip-CTjKOfvC.js +0 -389
  688. package/dist/builtin_esm-external-require-react-ItzZuLxx.js +0 -8
  689. package/dist/chunk-DmRZw4Wy.js +0 -17
  690. package/dist/clsx-Bfoz3aNJ.js +0 -16
  691. package/dist/dist-B9w6c9RC.js +0 -190
  692. package/dist/dist-Br_xj9vz.js +0 -12
  693. package/dist/dist-C-2mar4Y.js +0 -28
  694. package/dist/dist-C4MHwt9g.js +0 -10
  695. package/dist/dist-C6pGYii-.js +0 -6
  696. package/dist/dist-Cc8NfAO6.js +0 -122
  697. package/dist/dist-CcsVPym2.js +0 -68
  698. package/dist/dist-CrYg_9Cu.js +0 -913
  699. package/dist/dist-CwYxT5fv.js +0 -1287
  700. package/dist/dist-D9FsQh8P.js +0 -65
  701. package/dist/dist-DBLajRTL.js +0 -149
  702. package/dist/dist-DEkDg4Sk.js +0 -249
  703. package/dist/dist-DT46nqCO.js +0 -216
  704. package/dist/dist-PfrTYHr_.js +0 -29
  705. package/dist/dist-iDaHUF3d.js +0 -129
  706. package/dist/dist-s1uWaZYZ.js +0 -11
  707. package/dist/dist-tMzzRwxG.js +0 -33
  708. package/dist/index.d.ts.map +0 -1
  709. package/dist/main.d.ts +0 -1
  710. package/dist/main.d.ts.map +0 -1
  711. package/dist/main.js +0 -18960
  712. package/dist/proxy-BFVscmYQ.js +0 -4920
  713. package/dist/select-DFE8xm1L.js +0 -768
  714. package/dist/styles/base-colors.css +0 -62
  715. package/dist/styles/main.css +0 -2
  716. package/dist/styles/theme.css +0 -869
  717. package/dist/twUtils-BpqlKSeB.js +0 -1673
  718. package/dist/use-animation-BeSipRjB.js +0 -57
  719. package/dist/utils/dropdownPositioning.test.d.ts +0 -2
  720. package/dist/utils/dropdownPositioning.test.d.ts.map +0 -1
  721. package/dist/utils/dropdownPositioning.test.js +0 -22
@@ -1,106 +1,142 @@
1
- 'use client'
2
- import '../styles/main.css'
3
- import { t as e } from "../twUtils-BpqlKSeB.js";
4
- import { t } from "../proxy-BFVscmYQ.js";
5
- import { t as n } from "../AnimatePresence-Bz_JZ2ah.js";
6
- import { t as r } from "../dist-Cc8NfAO6.js";
7
- import { calculateIndicatorStyle as i, debounce as a, generateId as o, prefersReducedMotion as s } from "./tabsUtils.js";
8
- import { createContext as c, useCallback as l, useContext as u, useEffect as d, useId as f, useMemo as p, useRef as m, useState as h } from "react";
9
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
1
+ 'use client';
2
+ import { cn } from "../utils/twUtils.js";
3
+ import { calculateIndicatorStyle, debounce, generateId, prefersReducedMotion } from "./tabsUtils.js";
4
+ import { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { AnimatePresence, motion } from "motion/react";
7
+ import useMeasure from "react-use-measure";
8
+
10
9
  //#region src/components/Tabs/TabsBase.tsx
11
- var v = c(null), y = (e = "Tabs") => {
12
- let t = u(v);
13
- if (t === null) throw Error(`${e} components must be used within a Tabs.Root`);
14
- return t;
15
- }, b = function({ ref: e, activationMode: t = "automatic", children: n, defaultValue: r, dir: i = "ltr", disabled: a = !1, onValueChange: s, orientation: c = "horizontal", rightSlot: u, value: d, ...p }) {
16
- let [m, _] = h(r ?? ""), y = f() ?? o("tabs"), b = d !== void 0, x = b ? d : m, S = {
17
- activationMode: t,
18
- baseId: y,
19
- dir: i,
20
- disabled: a,
21
- onValueChange: l((e) => {
22
- a || (b || _(e), s?.(e));
10
+ const TabsContext = createContext(null);
11
+ const useTabsContext = (componentName = "Tabs") => {
12
+ const context = useContext(TabsContext);
13
+ if (context === null) throw new Error(`${componentName} components must be used within a Tabs.Root`);
14
+ return context;
15
+ };
16
+ const TabsBase = function Tabs({ ref, activationMode = "automatic", children, defaultValue, dir = "ltr", disabled = false, onValueChange, orientation = "horizontal", rightSlot, value: controlledValue, ...props }) {
17
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? "");
18
+ const baseId = useId() ?? generateId("tabs");
19
+ const isControlled = controlledValue !== void 0;
20
+ const value = isControlled ? controlledValue : uncontrolledValue;
21
+ const contextValue = {
22
+ activationMode,
23
+ baseId,
24
+ dir,
25
+ disabled,
26
+ onValueChange: useCallback((newValue) => {
27
+ if (disabled) return;
28
+ if (!isControlled) setUncontrolledValue(newValue);
29
+ onValueChange?.(newValue);
23
30
  }, [
24
- b,
25
- s,
26
- a
31
+ isControlled,
32
+ onValueChange,
33
+ disabled
27
34
  ]),
28
- orientation: c,
29
- rightSlot: u,
30
- value: x
35
+ orientation,
36
+ rightSlot,
37
+ value
31
38
  };
32
- return /* @__PURE__ */ g(v.Provider, {
33
- value: S,
34
- children: /* @__PURE__ */ g("div", {
35
- ref: e,
39
+ return /* @__PURE__ */ jsx(TabsContext.Provider, {
40
+ value: contextValue,
41
+ children: /* @__PURE__ */ jsx("div", {
42
+ ref,
36
43
  "data-testid": "spectral-tabs",
37
- "data-orientation": c,
38
- "data-disabled": a ? "" : void 0,
39
- dir: i,
40
- ...p,
41
- children: n
44
+ "data-orientation": orientation,
45
+ "data-disabled": disabled ? "" : void 0,
46
+ dir,
47
+ ...props,
48
+ children
42
49
  })
43
50
  });
44
- }, x = function({ ref: n, children: r, className: o, loop: c = !0, rightSlot: u, ...f }) {
45
- let { orientation: v, disabled: b, value: x } = y("TabsList"), [S, C] = h(null), w = m(null), T = s(), E = l(() => {
46
- let e = i(w);
47
- (e.width > 0 || e.height > 0) && C(e);
48
- }, []), D = p(() => a(E, 16), [E]);
49
- d(() => {
50
- if (E(), typeof ResizeObserver > "u" || typeof MutationObserver > "u") return;
51
- let e = new ResizeObserver(D), t = new MutationObserver(D), n = w.current;
52
- return n && (e.observe(n), t.observe(n, {
53
- attributes: !0,
54
- childList: !0,
55
- subtree: !0
56
- })), () => {
57
- e.disconnect(), t.disconnect(), D.cancel();
51
+ };
52
+ const TabsList = function TabsList({ ref, children, className, loop = true, rightSlot, ...props }) {
53
+ const { orientation, disabled, value } = useTabsContext("TabsList");
54
+ const [indicatorStyle, setIndicatorStyle] = useState(null);
55
+ const tabsListRef = useRef(null);
56
+ const reducedMotion = prefersReducedMotion();
57
+ const calculatePosition = useCallback(() => {
58
+ const newStyle = calculateIndicatorStyle(tabsListRef);
59
+ if (newStyle.width > 0 || newStyle.height > 0) setIndicatorStyle(newStyle);
60
+ }, []);
61
+ const debouncedCalculatePosition = useMemo(() => debounce(calculatePosition, 16), [calculatePosition]);
62
+ useEffect(() => {
63
+ calculatePosition();
64
+ if (typeof ResizeObserver === "undefined" || typeof MutationObserver === "undefined") return;
65
+ const resizeObserver = new ResizeObserver(debouncedCalculatePosition);
66
+ const mutationObserver = new MutationObserver(debouncedCalculatePosition);
67
+ const currentRef = tabsListRef.current;
68
+ if (currentRef) {
69
+ resizeObserver.observe(currentRef);
70
+ mutationObserver.observe(currentRef, {
71
+ attributes: true,
72
+ childList: true,
73
+ subtree: true
74
+ });
75
+ }
76
+ return () => {
77
+ resizeObserver.disconnect();
78
+ mutationObserver.disconnect();
79
+ debouncedCalculatePosition.cancel();
58
80
  };
59
- }, [E, D]), d(() => {
60
- E();
61
- }, [x, E]);
62
- let O = l((e) => {
63
- if (b) return;
64
- let t = Array.from(w.current?.querySelectorAll("[role='tab']:not([disabled]):not([aria-disabled='true'])") ?? []);
65
- if (t.length === 0) return;
66
- let n = t.findIndex((e) => e === document.activeElement);
67
- if (n === -1) return;
68
- let r = null, { key: i, ctrlKey: a, metaKey: o } = e, s = a || o;
69
- v === "horizontal" ? i === "ArrowLeft" || i === "ArrowUp" && s ? r = n > 0 ? n - 1 : c ? t.length - 1 : n : (i === "ArrowRight" || i === "ArrowDown" && s) && (r = n < t.length - 1 ? n + 1 : c ? 0 : n) : i === "ArrowUp" || i === "ArrowLeft" && s ? r = n > 0 ? n - 1 : c ? t.length - 1 : n : (i === "ArrowDown" || i === "ArrowRight" && s) && (r = n < t.length - 1 ? n + 1 : c ? 0 : n), i === "Home" ? r = 0 : i === "End" && (r = t.length - 1), r !== null && r !== n && (e.preventDefault(), e.stopPropagation(), t[r]?.focus());
81
+ }, [calculatePosition, debouncedCalculatePosition]);
82
+ useEffect(() => {
83
+ calculatePosition();
84
+ }, [value, calculatePosition]);
85
+ const handleKeyDown = useCallback((event) => {
86
+ if (disabled) return;
87
+ const triggers = Array.from(tabsListRef.current?.querySelectorAll(`[role='tab']:not([disabled]):not([aria-disabled='true'])`) ?? []);
88
+ if (triggers.length === 0) return;
89
+ const currentIndex = triggers.findIndex((trigger) => trigger === document.activeElement);
90
+ if (currentIndex === -1) return;
91
+ let nextIndex = null;
92
+ const { key, ctrlKey, metaKey } = event;
93
+ const isModified = ctrlKey || metaKey;
94
+ if (orientation === "horizontal") {
95
+ if (key === "ArrowLeft" || key === "ArrowUp" && isModified) nextIndex = currentIndex > 0 ? currentIndex - 1 : loop ? triggers.length - 1 : currentIndex;
96
+ else if (key === "ArrowRight" || key === "ArrowDown" && isModified) nextIndex = currentIndex < triggers.length - 1 ? currentIndex + 1 : loop ? 0 : currentIndex;
97
+ } else if (key === "ArrowUp" || key === "ArrowLeft" && isModified) nextIndex = currentIndex > 0 ? currentIndex - 1 : loop ? triggers.length - 1 : currentIndex;
98
+ else if (key === "ArrowDown" || key === "ArrowRight" && isModified) nextIndex = currentIndex < triggers.length - 1 ? currentIndex + 1 : loop ? 0 : currentIndex;
99
+ if (key === "Home") nextIndex = 0;
100
+ else if (key === "End") nextIndex = triggers.length - 1;
101
+ if (nextIndex !== null && nextIndex !== currentIndex) {
102
+ event.preventDefault();
103
+ event.stopPropagation();
104
+ triggers[nextIndex]?.focus();
105
+ }
70
106
  }, [
71
- b,
72
- v,
73
- c
107
+ disabled,
108
+ orientation,
109
+ loop
74
110
  ]);
75
- return /* @__PURE__ */ _("div", {
111
+ return /* @__PURE__ */ jsxs("div", {
76
112
  className: "relative",
77
- ref: w,
78
- children: [/* @__PURE__ */ _("div", {
79
- ref: n,
113
+ ref: tabsListRef,
114
+ children: [/* @__PURE__ */ jsxs("div", {
115
+ ref,
80
116
  role: "tablist",
81
117
  "data-testid": "spectral-tabs-list",
82
- "aria-orientation": v,
83
- "aria-disabled": b,
84
- className: e("tabs-list flex", v === "horizontal" && "items-center justify-between", v === "vertical" && "flex-col", o),
85
- onKeyDown: O,
86
- ...f,
87
- children: [/* @__PURE__ */ g("div", {
88
- className: e("flex", v === "horizontal" && "items-center", v === "vertical" && "flex-col"),
89
- children: r
90
- }), u && /* @__PURE__ */ g("div", {
118
+ "aria-orientation": orientation,
119
+ "aria-disabled": disabled,
120
+ className: cn("tabs-list flex", orientation === "horizontal" && "items-center justify-between", orientation === "vertical" && "flex-col", className),
121
+ onKeyDown: handleKeyDown,
122
+ ...props,
123
+ children: [/* @__PURE__ */ jsx("div", {
124
+ className: cn("flex", orientation === "horizontal" && "items-center", orientation === "vertical" && "flex-col"),
125
+ children
126
+ }), rightSlot && /* @__PURE__ */ jsx("div", {
91
127
  className: "z-10 flex items-center",
92
- children: u
128
+ children: rightSlot
93
129
  })]
94
- }), S && /* @__PURE__ */ g(t.div, {
95
- className: e("top-0 left-0 pointer-events-none absolute will-change-transform select-none", S.orientation === "horizontal" && !S.isEnclosed && "after:bottom-0 after:left-0 bottom-px z-10 after:absolute after:w-full after:rounded-t-[0.3rem] after:border-b-[0.3rem] after:border-tabs-indicator after:content-['']", S.orientation === "vertical" && !S.isEnclosed && "after:right-0 after:top-0 after:w-1 right-px z-10 after:absolute after:h-full after:rounded-l-[0.3rem] after:border-r-[0.3rem] after:border-tabs-indicator after:content-['']", S.orientation === "horizontal" && S.isEnclosed && "rounded-lg shadow-lg z-0 bg-tabs-enclosed-indicator", S.orientation === "vertical" && S.isEnclosed && "rounded-lg shadow-lg z-0 bg-tabs-enclosed-indicator"),
96
- initial: !1,
130
+ }), indicatorStyle && /* @__PURE__ */ jsx(motion.div, {
131
+ className: cn("top-0 left-0 pointer-events-none absolute will-change-transform select-none", indicatorStyle.orientation === "horizontal" && !indicatorStyle.isEnclosed && `after:bottom-0 after:left-0 bottom-px z-10 after:absolute after:w-full after:rounded-t-[0.3rem] after:border-b-[0.3rem] after:border-tabs-indicator after:content-['']`, indicatorStyle.orientation === "vertical" && !indicatorStyle.isEnclosed && `after:right-0 after:top-0 after:w-1 right-px z-10 after:absolute after:h-full after:rounded-l-[0.3rem] after:border-r-[0.3rem] after:border-tabs-indicator after:content-['']`, indicatorStyle.orientation === "horizontal" && indicatorStyle.isEnclosed && "rounded-lg shadow-lg z-0 bg-tabs-enclosed-indicator", indicatorStyle.orientation === "vertical" && indicatorStyle.isEnclosed && "rounded-lg shadow-lg z-0 bg-tabs-enclosed-indicator"),
132
+ initial: false,
97
133
  animate: {
98
- x: S.left,
99
- y: S.isEnclosed ? S.top + S.height * .1 : S.top,
100
- width: S.width,
101
- height: S.isEnclosed ? S.orientation === "vertical" ? 40 : S.height * .8 : S.height
134
+ x: indicatorStyle.left,
135
+ y: indicatorStyle.isEnclosed ? indicatorStyle.top + indicatorStyle.height * .1 : indicatorStyle.top,
136
+ width: indicatorStyle.width,
137
+ height: indicatorStyle.isEnclosed ? indicatorStyle.orientation === "vertical" ? 40 : indicatorStyle.height * .8 : indicatorStyle.height
102
138
  },
103
- transition: T ? { duration: 0 } : {
139
+ transition: reducedMotion ? { duration: 0 } : {
104
140
  x: {
105
141
  type: "spring",
106
142
  stiffness: 500,
@@ -129,65 +165,83 @@ var v = c(null), y = (e = "Tabs") => {
129
165
  "aria-hidden": "true"
130
166
  })]
131
167
  });
132
- }, S = function({ ref: t, className: n, value: r, onClick: i, onKeyDown: a, disabled: o = !1, ...s }) {
133
- let { value: c, onValueChange: u, activationMode: d, disabled: f, baseId: p } = y("TabsTrigger"), m = `${p}-trigger-${r}`, h = `${p}-content-${r}`, _ = c === r, v = f || o, b = l((e) => {
134
- if (v) {
135
- e.preventDefault();
168
+ };
169
+ const TabsTrigger = function TabsTrigger({ ref, className, value: triggerValue, onClick, onKeyDown, disabled: triggerDisabled = false, ...props }) {
170
+ const { value, onValueChange, activationMode, disabled: contextDisabled, baseId } = useTabsContext("TabsTrigger");
171
+ const triggerId = `${baseId}-trigger-${triggerValue}`;
172
+ const contentId = `${baseId}-content-${triggerValue}`;
173
+ const isActive = value === triggerValue;
174
+ const isDisabled = contextDisabled || triggerDisabled;
175
+ const handleClick = useCallback((event) => {
176
+ if (isDisabled) {
177
+ event.preventDefault();
136
178
  return;
137
179
  }
138
- u(r), i?.(e);
180
+ onValueChange(triggerValue);
181
+ onClick?.(event);
139
182
  }, [
140
- r,
141
- u,
142
- i,
143
- v
144
- ]), x = l((e) => {
145
- if (v) {
146
- e.preventDefault();
183
+ triggerValue,
184
+ onValueChange,
185
+ onClick,
186
+ isDisabled
187
+ ]);
188
+ const handleKeyDown = useCallback((event) => {
189
+ if (isDisabled) {
190
+ event.preventDefault();
147
191
  return;
148
192
  }
149
- let { key: t } = e;
150
- (t === "Enter" || t === " ") && (e.preventDefault(), e.stopPropagation(), u(r)), a?.(e);
193
+ const { key } = event;
194
+ if (key === "Enter" || key === " ") {
195
+ event.preventDefault();
196
+ event.stopPropagation();
197
+ onValueChange(triggerValue);
198
+ }
199
+ onKeyDown?.(event);
151
200
  }, [
152
- r,
153
- u,
154
- a,
155
- v
156
- ]), S = l(() => {
157
- v || d === "automatic" && u(r);
201
+ triggerValue,
202
+ onValueChange,
203
+ onKeyDown,
204
+ isDisabled
205
+ ]);
206
+ const handleFocus = useCallback(() => {
207
+ if (isDisabled) return;
208
+ if (activationMode === "automatic") onValueChange(triggerValue);
158
209
  }, [
159
- d,
160
- u,
161
- r,
162
- v
210
+ activationMode,
211
+ onValueChange,
212
+ triggerValue,
213
+ isDisabled
163
214
  ]);
164
- return /* @__PURE__ */ g("button", {
165
- "aria-controls": h,
166
- "aria-disabled": v,
167
- "aria-selected": _,
168
- className: e("tabs-trigger z-10 hover:cursor-pointer focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent", n),
169
- "data-disabled": v ? "" : void 0,
170
- "data-state": _ ? "active" : "inactive",
215
+ return /* @__PURE__ */ jsx("button", {
216
+ "aria-controls": contentId,
217
+ "aria-disabled": isDisabled,
218
+ "aria-selected": isActive,
219
+ className: cn("tabs-trigger z-10 hover:cursor-pointer focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent", className),
220
+ "data-disabled": isDisabled ? "" : void 0,
221
+ "data-state": isActive ? "active" : "inactive",
171
222
  "data-testid": "spectral-tabs-trigger",
172
- disabled: v,
173
- id: m,
174
- onClick: b,
175
- onFocus: S,
176
- onKeyDown: x,
177
- ref: t,
223
+ disabled: isDisabled,
224
+ id: triggerId,
225
+ onClick: handleClick,
226
+ onFocus: handleFocus,
227
+ onKeyDown: handleKeyDown,
228
+ ref,
178
229
  role: "tab",
179
- tabIndex: _ ? 0 : -1,
230
+ tabIndex: isActive ? 0 : -1,
180
231
  type: "button",
181
- ...s
232
+ ...props
182
233
  });
183
- }, C = function({ ref: i, children: a, className: o }) {
184
- let { value: c } = y("TabsContentContainer"), [l, u] = r(), d = s();
185
- return /* @__PURE__ */ g(t.div, {
186
- ref: i,
187
- className: e("overflow-hidden", o),
234
+ };
235
+ const TabsContentContainer = function TabsContentContainer({ ref, children, className }) {
236
+ const { value } = useTabsContext("TabsContentContainer");
237
+ const [measureRef, bounds] = useMeasure();
238
+ const reducedMotion = prefersReducedMotion();
239
+ return /* @__PURE__ */ jsx(motion.div, {
240
+ ref,
241
+ className: cn("overflow-hidden", className),
188
242
  "data-testid": "spectral-tabs-content-container",
189
- animate: { height: u.height || "auto" },
190
- transition: d ? { duration: 0 } : {
243
+ animate: { height: bounds.height || "auto" },
244
+ transition: reducedMotion ? { duration: 0 } : {
191
245
  duration: .3,
192
246
  ease: [
193
247
  .25,
@@ -196,12 +250,12 @@ var v = c(null), y = (e = "Tabs") => {
196
250
  1
197
251
  ]
198
252
  },
199
- children: /* @__PURE__ */ g(n, {
253
+ children: /* @__PURE__ */ jsx(AnimatePresence, {
200
254
  mode: "wait",
201
- initial: !1,
202
- children: /* @__PURE__ */ g(t.div, {
203
- ref: l,
204
- initial: d ? !1 : {
255
+ initial: false,
256
+ children: /* @__PURE__ */ jsx(motion.div, {
257
+ ref: measureRef,
258
+ initial: reducedMotion ? false : {
205
259
  opacity: 0,
206
260
  y: 8
207
261
  },
@@ -209,11 +263,11 @@ var v = c(null), y = (e = "Tabs") => {
209
263
  opacity: 1,
210
264
  y: 0
211
265
  },
212
- exit: d ? void 0 : {
266
+ exit: reducedMotion ? void 0 : {
213
267
  opacity: 0,
214
268
  y: -8
215
269
  },
216
- transition: d ? { duration: 0 } : {
270
+ transition: reducedMotion ? { duration: 0 } : {
217
271
  duration: .2,
218
272
  ease: [
219
273
  .25,
@@ -222,24 +276,31 @@ var v = c(null), y = (e = "Tabs") => {
222
276
  1
223
277
  ]
224
278
  },
225
- children: a
226
- }, c)
279
+ children
280
+ }, value)
227
281
  })
228
282
  });
229
- }, w = function({ ref: t, className: n, value: r, forceMount: i = !1, ...a }) {
230
- let { value: o, baseId: s } = y("TabsContent"), c = `${s}-content-${r}`, l = `${s}-trigger-${r}`, u = o === r;
231
- return !i && !u ? null : /* @__PURE__ */ g("div", {
232
- "aria-labelledby": l,
233
- className: e("tabs-content focus:outline-none focus-visible:outline-none", n),
234
- "data-state": u ? "active" : "inactive",
283
+ };
284
+ const TabsContent = function TabsContent({ ref, className, value: contentValue, forceMount = false, ...props }) {
285
+ const { value, baseId } = useTabsContext("TabsContent");
286
+ const contentId = `${baseId}-content-${contentValue}`;
287
+ const triggerId = `${baseId}-trigger-${contentValue}`;
288
+ const isActive = value === contentValue;
289
+ if (!forceMount && !isActive) return null;
290
+ return /* @__PURE__ */ jsx("div", {
291
+ "aria-labelledby": triggerId,
292
+ className: cn("tabs-content focus:outline-none focus-visible:outline-none", className),
293
+ "data-state": isActive ? "active" : "inactive",
235
294
  "data-testid": "spectral-tabs-content",
236
- hidden: !u,
237
- id: c,
238
- ref: t,
295
+ hidden: !isActive,
296
+ id: contentId,
297
+ ref,
239
298
  role: "tabpanel",
240
299
  tabIndex: 0,
241
- ...a
300
+ ...props
242
301
  });
243
302
  };
303
+
244
304
  //#endregion
245
- export { b as TabsBase, w as TabsContent, C as TabsContentContainer, v as TabsContext, x as TabsList, S as TabsTrigger, y as useTabsContext };
305
+ export { TabsBase, TabsContent, TabsContentContainer, TabsContext, TabsList, TabsTrigger, useTabsContext };
306
+ //# sourceMappingURL=TabsBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsBase.js","names":[],"sources":["../../src/components/Tabs/TabsBase.tsx"],"sourcesContent":["import { cn } from '@utils/twUtils'\nimport { AnimatePresence, motion } from 'motion/react'\nimport { createContext, useCallback, useContext, useEffect, useId, useMemo, useRef, useState, type ComponentPropsWithoutRef, type KeyboardEvent, type MouseEvent, type ReactNode, type Ref } from 'react'\nimport useMeasure from 'react-use-measure'\nimport { calculateIndicatorStyle, debounce, generateId, prefersReducedMotion, type IndicatorStyle } from './tabsUtils'\n\nexport interface TabsContextValue {\n activationMode: 'automatic' | 'manual'\n baseId: string\n dir: 'ltr' | 'rtl'\n disabled: boolean\n onValueChange: (value: string) => void\n orientation: 'horizontal' | 'vertical'\n rightSlot?: ReactNode | undefined\n value: string\n}\n\nexport const TabsContext = createContext<TabsContextValue | null>(null)\n\nexport const useTabsContext = (componentName: string = 'Tabs'): TabsContextValue => {\n const context = useContext(TabsContext)\n if (context === null) {\n throw new Error(`${componentName} components must be used within a Tabs.Root`)\n }\n return context\n}\n\nexport interface TabsBaseProps extends Omit<ComponentPropsWithoutRef<'div'>, 'dir' | 'defaultValue'> {\n onValueChange?: (value: string) => void\n activationMode?: 'automatic' | 'manual'\n defaultValue?: string\n children: ReactNode\n dir?: 'ltr' | 'rtl'\n disabled?: boolean\n orientation?: 'horizontal' | 'vertical'\n rightSlot?: ReactNode | undefined\n value?: string\n}\n\nexport const TabsBase = function Tabs({\n ref,\n activationMode = 'automatic',\n children,\n defaultValue,\n dir = 'ltr',\n disabled = false,\n onValueChange,\n orientation = 'horizontal',\n rightSlot,\n value: controlledValue,\n ...props\n}: TabsBaseProps & {\n ref?: Ref<HTMLElement>\n}) {\n const [uncontrolledValue, setUncontrolledValue] = useState<string>(defaultValue ?? '')\n const baseId = useId() ?? generateId('tabs')\n const isControlled = controlledValue !== undefined\n const value = isControlled ? controlledValue : uncontrolledValue\n\n const handleValueChange = useCallback(\n (newValue: string): void => {\n if (disabled) return\n\n if (!isControlled) {\n setUncontrolledValue(newValue)\n }\n onValueChange?.(newValue)\n },\n [isControlled, onValueChange, disabled],\n )\n\n const contextValue = {\n activationMode,\n baseId,\n dir,\n disabled,\n onValueChange: handleValueChange,\n orientation,\n rightSlot,\n value,\n } as const satisfies TabsContextValue\n\n return (\n <TabsContext.Provider value={contextValue}>\n <div ref={ref as Ref<HTMLDivElement>} data-testid='spectral-tabs' data-orientation={orientation} data-disabled={disabled ? '' : undefined} dir={dir} {...props}>\n {children}\n </div>\n </TabsContext.Provider>\n )\n}\n\nexport interface TabsListProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n children?: ReactNode\n loop?: boolean\n rightSlot?: ReactNode | undefined\n}\n\nexport const TabsList = function TabsList({\n ref,\n children,\n className,\n loop = true,\n rightSlot,\n ...props\n}: TabsListProps & {\n ref?: Ref<HTMLElement>\n}) {\n const { orientation, disabled, value } = useTabsContext('TabsList')\n const [indicatorStyle, setIndicatorStyle] = useState<IndicatorStyle | null>(null)\n const tabsListRef = useRef<HTMLDivElement>(null)\n const reducedMotion = prefersReducedMotion()\n\n // Calculate indicator position\n const calculatePosition = useCallback(() => {\n const newStyle = calculateIndicatorStyle(tabsListRef)\n // Only update if we have a valid position (width/height > 0)\n if (newStyle.width > 0 || newStyle.height > 0) {\n setIndicatorStyle(newStyle)\n }\n }, [])\n\n // Debounced version for resize/mutation observers\n const debouncedCalculatePosition = useMemo(() => debounce(calculatePosition, 16), [calculatePosition])\n\n // Initial calculation and observer setup\n useEffect(() => {\n // Immediate calculation on mount\n calculatePosition()\n\n // Only set up observers if browser APIs are available\n if (typeof ResizeObserver === 'undefined' || typeof MutationObserver === 'undefined') {\n return\n }\n\n const resizeObserver = new ResizeObserver(debouncedCalculatePosition)\n const mutationObserver = new MutationObserver(debouncedCalculatePosition)\n\n const currentRef = tabsListRef.current\n if (currentRef) {\n resizeObserver.observe(currentRef)\n mutationObserver.observe(currentRef, {\n attributes: true,\n childList: true,\n subtree: true,\n })\n }\n\n return () => {\n resizeObserver.disconnect()\n mutationObserver.disconnect()\n debouncedCalculatePosition.cancel()\n }\n }, [calculatePosition, debouncedCalculatePosition])\n\n // Recalculate when value changes\n useEffect(() => {\n calculatePosition()\n }, [value, calculatePosition])\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>): void => {\n if (disabled) return\n\n const triggers = Array.from(tabsListRef.current?.querySelectorAll<HTMLElement>(`[role='tab']:not([disabled]):not([aria-disabled='true'])`) ?? [])\n\n if (triggers.length === 0) return\n\n const currentIndex = triggers.findIndex((trigger) => trigger === document.activeElement)\n if (currentIndex === -1) return\n\n let nextIndex: number | null = null\n\n const { key, ctrlKey, metaKey } = event\n const isModified = ctrlKey || metaKey\n\n if (orientation === 'horizontal') {\n if (key === 'ArrowLeft' || (key === 'ArrowUp' && isModified)) {\n nextIndex = currentIndex > 0 ? currentIndex - 1 : loop ? triggers.length - 1 : currentIndex\n } else if (key === 'ArrowRight' || (key === 'ArrowDown' && isModified)) {\n nextIndex = currentIndex < triggers.length - 1 ? currentIndex + 1 : loop ? 0 : currentIndex\n }\n } else {\n if (key === 'ArrowUp' || (key === 'ArrowLeft' && isModified)) {\n nextIndex = currentIndex > 0 ? currentIndex - 1 : loop ? triggers.length - 1 : currentIndex\n } else if (key === 'ArrowDown' || (key === 'ArrowRight' && isModified)) {\n nextIndex = currentIndex < triggers.length - 1 ? currentIndex + 1 : loop ? 0 : currentIndex\n }\n }\n\n if (key === 'Home') {\n nextIndex = 0\n } else if (key === 'End') {\n nextIndex = triggers.length - 1\n }\n\n if (nextIndex !== null && nextIndex !== currentIndex) {\n event.preventDefault()\n event.stopPropagation()\n ;(triggers[nextIndex] as HTMLButtonElement)?.focus()\n }\n },\n [disabled, orientation, loop],\n )\n\n return (\n <div className='relative' ref={tabsListRef}>\n <div\n ref={ref as Ref<HTMLDivElement>}\n role='tablist'\n data-testid='spectral-tabs-list'\n aria-orientation={orientation}\n aria-disabled={disabled}\n className={cn('tabs-list flex', orientation === 'horizontal' && 'items-center justify-between', orientation === 'vertical' && 'flex-col', className)}\n onKeyDown={handleKeyDown}\n {...props}\n >\n <div className={cn('flex', orientation === 'horizontal' && 'items-center', orientation === 'vertical' && 'flex-col')}>{children}</div>\n {rightSlot && <div className='z-10 flex items-center'>{rightSlot}</div>}\n </div>\n {/* Animated indicator - only rendered after first measurement */}\n {indicatorStyle && (\n <motion.div\n className={cn(\n 'top-0 left-0 pointer-events-none absolute will-change-transform select-none',\n indicatorStyle.orientation === 'horizontal' && !indicatorStyle.isEnclosed && `after:bottom-0 after:left-0 bottom-px z-10 after:absolute after:w-full after:rounded-t-[0.3rem] after:border-b-[0.3rem] after:border-tabs-indicator after:content-['']`,\n indicatorStyle.orientation === 'vertical' && !indicatorStyle.isEnclosed && `after:right-0 after:top-0 after:w-1 right-px z-10 after:absolute after:h-full after:rounded-l-[0.3rem] after:border-r-[0.3rem] after:border-tabs-indicator after:content-['']`,\n indicatorStyle.orientation === 'horizontal' && indicatorStyle.isEnclosed && 'rounded-lg shadow-lg z-0 bg-tabs-enclosed-indicator',\n indicatorStyle.orientation === 'vertical' && indicatorStyle.isEnclosed && 'rounded-lg shadow-lg z-0 bg-tabs-enclosed-indicator',\n )}\n // Don't animate on initial mount - prevents sliding from (0,0)\n initial={false}\n animate={{\n // Use x/y (translateX/translateY) for position - compositor-friendly, no reflows\n x: indicatorStyle.left,\n y: indicatorStyle.isEnclosed ? indicatorStyle.top + indicatorStyle.height * 0.1 : indicatorStyle.top,\n // Width/height required for correct rendering: scaleX/Y would distort\n // border-radius on enclosed variant and border widths on default variant\n width: indicatorStyle.width,\n height: indicatorStyle.isEnclosed ? (indicatorStyle.orientation === 'vertical' ? 40 : indicatorStyle.height * 0.8) : indicatorStyle.height,\n }}\n transition={\n reducedMotion\n ? { duration: 0 }\n : {\n // Separate transition configs: spring for transforms, tween for layout\n x: { type: 'spring', stiffness: 500, damping: 40, mass: 1 },\n y: { type: 'spring', stiffness: 500, damping: 40, mass: 1 },\n width: { type: 'spring', stiffness: 500, damping: 40, mass: 1 },\n height: { type: 'spring', stiffness: 500, damping: 40, mass: 1 },\n }\n }\n aria-hidden='true'\n />\n )}\n </div>\n )\n}\n\nexport interface TabsTriggerProps extends ComponentPropsWithoutRef<'button'> {\n value: string\n disabled?: boolean\n}\n\nexport const TabsTrigger = function TabsTrigger({\n ref,\n className,\n value: triggerValue,\n onClick,\n onKeyDown,\n disabled: triggerDisabled = false,\n ...props\n}: TabsTriggerProps & {\n ref?: Ref<HTMLElement>\n}) {\n const { value, onValueChange, activationMode, disabled: contextDisabled, baseId } = useTabsContext('TabsTrigger')\n\n const triggerId = `${baseId}-trigger-${triggerValue}`\n const contentId = `${baseId}-content-${triggerValue}`\n const isActive = value === triggerValue\n const isDisabled = contextDisabled || triggerDisabled\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>): void => {\n if (isDisabled) {\n event.preventDefault()\n return\n }\n onValueChange(triggerValue)\n onClick?.(event)\n },\n [triggerValue, onValueChange, onClick, isDisabled],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>): void => {\n if (isDisabled) {\n event.preventDefault()\n return\n }\n\n const { key } = event\n\n if (key === 'Enter' || key === ' ') {\n event.preventDefault()\n event.stopPropagation()\n onValueChange(triggerValue)\n }\n\n onKeyDown?.(event)\n },\n [triggerValue, onValueChange, onKeyDown, isDisabled],\n )\n\n const handleFocus = useCallback((): void => {\n if (isDisabled) return\n if (activationMode === 'automatic') {\n onValueChange(triggerValue)\n }\n }, [activationMode, onValueChange, triggerValue, isDisabled])\n\n return (\n <button\n aria-controls={contentId}\n aria-disabled={isDisabled}\n aria-selected={isActive}\n className={cn('tabs-trigger z-10 hover:cursor-pointer focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', className)}\n data-disabled={isDisabled ? '' : undefined}\n data-state={isActive ? 'active' : 'inactive'}\n data-testid='spectral-tabs-trigger'\n disabled={isDisabled}\n id={triggerId}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={ref as Ref<HTMLButtonElement>}\n role='tab'\n tabIndex={isActive ? 0 : -1}\n type='button'\n {...props}\n />\n )\n}\n\nexport interface TabsContentContainerProps {\n children: ReactNode\n className?: string\n}\n\nexport const TabsContentContainer = function TabsContentContainer({\n ref,\n children,\n className,\n}: TabsContentContainerProps & {\n ref?: Ref<HTMLDivElement>\n}) {\n const { value } = useTabsContext('TabsContentContainer')\n const [measureRef, bounds] = useMeasure()\n const reducedMotion = prefersReducedMotion()\n\n return (\n <motion.div\n ref={ref}\n className={cn('overflow-hidden', className)}\n data-testid='spectral-tabs-content-container'\n animate={{\n height: bounds.height || 'auto',\n }}\n transition={\n reducedMotion\n ? { duration: 0 }\n : {\n duration: 0.3,\n ease: [0.25, 1, 0.5, 1],\n }\n }\n >\n <AnimatePresence mode='wait' initial={false}>\n <motion.div\n key={value}\n ref={measureRef}\n initial={reducedMotion ? false : { opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={reducedMotion ? undefined : { opacity: 0, y: -8 }}\n transition={\n reducedMotion\n ? { duration: 0 }\n : {\n duration: 0.2,\n ease: [0.25, 1, 0.5, 1],\n }\n }\n >\n {children}\n </motion.div>\n </AnimatePresence>\n </motion.div>\n )\n}\n\nexport interface TabsContentProps extends ComponentPropsWithoutRef<'div'> {\n value: string\n forceMount?: boolean\n}\n\nexport const TabsContent = function TabsContent({\n ref,\n className,\n value: contentValue,\n forceMount = false,\n ...props\n}: TabsContentProps & {\n ref?: Ref<HTMLElement>\n}) {\n const { value, baseId } = useTabsContext('TabsContent')\n const contentId = `${baseId}-content-${contentValue}`\n const triggerId = `${baseId}-trigger-${contentValue}`\n const isActive = value === contentValue\n\n if (!forceMount && !isActive) {\n return null\n }\n\n return (\n <div\n aria-labelledby={triggerId}\n className={cn('tabs-content focus:outline-none focus-visible:outline-none', className)}\n data-state={isActive ? 'active' : 'inactive'}\n data-testid='spectral-tabs-content'\n hidden={!isActive}\n id={contentId}\n ref={ref as Ref<HTMLDivElement>}\n role='tabpanel'\n tabIndex={0}\n {...props}\n />\n )\n}\n"],"mappings":"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"}
@@ -1,61 +1,66 @@
1
- import { RefObject } from 'react';
2
- export interface IndicatorStyle {
3
- left: number;
4
- top: number;
5
- width: number;
6
- height: number;
7
- orientation: 'horizontal' | 'vertical';
8
- isEnclosed: boolean;
1
+ 'use client';
2
+ import { RefObject } from "react";
3
+
4
+ //#region src/components/Tabs/tabsUtils.d.ts
5
+ interface IndicatorStyle {
6
+ left: number;
7
+ top: number;
8
+ width: number;
9
+ height: number;
10
+ orientation: 'horizontal' | 'vertical';
11
+ isEnclosed: boolean;
9
12
  }
10
- export interface IndicatorPosition {
11
- left?: string;
12
- top?: string;
13
- width?: string;
14
- height?: string;
13
+ interface IndicatorPosition {
14
+ left?: string;
15
+ top?: string;
16
+ width?: string;
17
+ height?: string;
15
18
  }
16
19
  /**
17
20
  * Calculates the position and dimensions of the active tab indicator
18
21
  */
19
- export declare const calculateIndicatorStyle: (tabsListRef: RefObject<HTMLDivElement | null>) => IndicatorStyle;
22
+ declare const calculateIndicatorStyle: (tabsListRef: RefObject<HTMLDivElement | null>) => IndicatorStyle;
20
23
  /**
21
24
  * Gets CSS positioning styles for the indicator based on orientation
22
25
  */
23
- export declare const getIndicatorPosition: (style: IndicatorStyle) => IndicatorPosition;
26
+ declare const getIndicatorPosition: (style: IndicatorStyle) => IndicatorPosition;
24
27
  /**
25
28
  * Debounce utility for performance optimization with proper cleanup
26
29
  */
27
- export interface DebouncedFunction<TArgs extends unknown[]> {
28
- (...args: TArgs): void;
29
- cancel: () => void;
30
+ interface DebouncedFunction<TArgs extends unknown[]> {
31
+ (...args: TArgs): void;
32
+ cancel: () => void;
30
33
  }
31
- export declare const debounce: <TArgs extends unknown[]>(func: (...args: TArgs) => void, wait: number) => DebouncedFunction<TArgs>;
34
+ declare const debounce: <TArgs extends unknown[]>(func: (...args: TArgs) => void, wait: number) => DebouncedFunction<TArgs>;
32
35
  /**
33
36
  * Checks if user prefers reduced motion (SSR safe)
34
37
  */
35
- export declare const prefersReducedMotion: () => boolean;
38
+ declare const prefersReducedMotion: () => boolean;
36
39
  /**
37
40
  * Generates a cryptographically secure unique ID for component instances
38
41
  */
39
- export declare const generateId: (prefix?: string) => string;
42
+ declare const generateId: (prefix?: string) => string;
40
43
  /**
41
44
  * Validates tab values array for library usage with comprehensive type checking
42
45
  */
43
- export declare const validateTabValues: (tabValues: {
44
- key: string;
45
- label: unknown;
46
- children: unknown;
47
- [K: string]: unknown;
46
+ declare const validateTabValues: (tabValues: {
47
+ key: string;
48
+ label: unknown;
49
+ children: unknown;
50
+ [K: string]: unknown;
48
51
  }[]) => boolean;
49
52
  /**
50
53
  * Type-safe key extractor for tab values
51
54
  */
52
- export declare const getTabKeys: <T extends {
53
- key: string;
55
+ declare const getTabKeys: <T extends {
56
+ key: string;
54
57
  }>(tabValues: T[]) => string[];
55
58
  /**
56
59
  * Finds a tab by key with proper type narrowing
57
60
  */
58
- export declare const findTabByKey: <T extends {
59
- key: string;
61
+ declare const findTabByKey: <T extends {
62
+ key: string;
60
63
  }>(tabValues: T[], key: string) => T | undefined;
64
+ //#endregion
65
+ export { DebouncedFunction, IndicatorPosition, IndicatorStyle, calculateIndicatorStyle, debounce, findTabByKey, generateId, getIndicatorPosition, getTabKeys, prefersReducedMotion, validateTabValues };
61
66
  //# sourceMappingURL=tabsUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabsUtils.d.ts","names":[],"sources":["../../src/components/Tabs/tabsUtils.ts"],"mappings":";;;;UAEiB,cAAA;EACf,IAAA;EACA,GAAA;EACA,KAAA;EACA,MAAA;EACA,WAAA;EACA,UAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,GAAA;EACA,KAAA;EACA,MAAA;AAAA;AAJF;;;AAAA,cAUa,uBAAA,GAAuB,WAAA,EAAiB,SAAA,CAAU,cAAA,aAAyB,cAAA;;;;cAoC3E,oBAAA,GAAoB,KAAA,EAAW,cAAA,KAAiB,iBAAA;;;AApC7D;UAqDiB,iBAAA;EAAA,IACX,IAAA,EAAM,KAAA;EACV,MAAA;AAAA;AAAA,cAGW,QAAA,4BAAmC,IAAA,MAAY,IAAA,EAAM,KAAA,WAAc,IAAA,aAAiB,iBAAA,CAAkB,KAAA;;;;cAyBtG,oBAAA;;;;cAaA,UAAA,GAAU,MAAA;AA5DvB;;;AAAA,cA4Ga,iBAAA,GAAiB,SAAA;EAAiB,GAAA;EAAa,KAAA;EAAgB,QAAA;EAAA,CAAoB,CAAA;AAAA;AA3FhG;;;AAAA,cA0Ha,UAAA;EAA0B,GAAA;AAAA,GAAa,SAAA,EAAa,CAAA;;;;cAKpD,YAAA;EAA4B,GAAA;AAAA,GAAa,SAAA,EAAa,CAAA,IAAG,GAAA,aAAgB,CAAA"}