@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,67 +1,139 @@
1
+ 'use client';
1
2
  import "react";
3
+
2
4
  //#region src/components/Tabs/tabsUtils.ts
3
- var e = (e) => {
4
- let t = {
5
+ /**
6
+ * Calculates the position and dimensions of the active tab indicator
7
+ */
8
+ const calculateIndicatorStyle = (tabsListRef) => {
9
+ const defaultStyle = {
5
10
  left: 0,
6
11
  top: 0,
7
12
  width: 0,
8
13
  height: 0,
9
14
  orientation: "horizontal",
10
- isEnclosed: !1
15
+ isEnclosed: false
11
16
  };
12
- if (!e.current) return t;
13
- let n = e.current.querySelector("[data-state='active']"), r = e.current.closest("[data-orientation]")?.getAttribute("data-orientation") ?? "horizontal", i = e.current.closest(".enclosed") !== null;
14
- if (!n) return {
15
- ...t,
16
- orientation: r,
17
- isEnclosed: i
17
+ if (!tabsListRef.current) return defaultStyle;
18
+ const activeTab = tabsListRef.current.querySelector(`[data-state='active']`);
19
+ const orientation = tabsListRef.current.closest("[data-orientation]")?.getAttribute("data-orientation") ?? "horizontal";
20
+ const isEnclosed = tabsListRef.current.closest(".enclosed") !== null;
21
+ if (!activeTab) return {
22
+ ...defaultStyle,
23
+ orientation,
24
+ isEnclosed
18
25
  };
19
- let a = n.getBoundingClientRect(), o = e.current.getBoundingClientRect();
26
+ const activeRect = activeTab.getBoundingClientRect();
27
+ const tabsRect = tabsListRef.current.getBoundingClientRect();
20
28
  return {
21
- height: a.height,
22
- isEnclosed: i,
23
- left: a.left - o.left,
24
- orientation: r,
25
- top: a.top - o.top,
26
- width: a.width
29
+ height: activeRect.height,
30
+ isEnclosed,
31
+ left: activeRect.left - tabsRect.left,
32
+ orientation,
33
+ top: activeRect.top - tabsRect.top,
34
+ width: activeRect.width
27
35
  };
28
- }, t = (e) => e.orientation === "horizontal" ? {
29
- left: `${e.left}px`,
30
- width: `${e.width}px`
31
- } : {
32
- height: `${e.height}px`,
33
- top: `${e.top}px`
34
- }, n = (e, t) => {
35
- let n = null, r = (...r) => {
36
- n !== null && clearTimeout(n), n = setTimeout(() => {
37
- e(...r);
38
- }, t);
36
+ };
37
+ /**
38
+ * Gets CSS positioning styles for the indicator based on orientation
39
+ */
40
+ const getIndicatorPosition = (style) => {
41
+ if (style.orientation === "horizontal") return {
42
+ left: `${style.left}px`,
43
+ width: `${style.width}px`
39
44
  };
40
- return r.cancel = () => {
41
- n !== null && (clearTimeout(n), n = null);
42
- }, r;
43
- }, r = () => {
44
- if (typeof window > "u") return !1;
45
+ return {
46
+ height: `${style.height}px`,
47
+ top: `${style.top}px`
48
+ };
49
+ };
50
+ const debounce = (func, wait) => {
51
+ let timeout = null;
52
+ const debounced = (...args) => {
53
+ if (timeout !== null) clearTimeout(timeout);
54
+ timeout = setTimeout(() => {
55
+ func(...args);
56
+ }, wait);
57
+ };
58
+ debounced.cancel = () => {
59
+ if (timeout !== null) {
60
+ clearTimeout(timeout);
61
+ timeout = null;
62
+ }
63
+ };
64
+ return debounced;
65
+ };
66
+ /**
67
+ * Checks if user prefers reduced motion (SSR safe)
68
+ */
69
+ const prefersReducedMotion = () => {
70
+ if (typeof window === "undefined") return false;
45
71
  try {
46
72
  return window.matchMedia("(prefers-reduced-motion: reduce)").matches;
47
73
  } catch {
48
- return !1;
74
+ return false;
75
+ }
76
+ };
77
+ /**
78
+ * Generates a cryptographically secure unique ID for component instances
79
+ */
80
+ const generateId = (prefix = "tabs") => {
81
+ if (typeof crypto !== "undefined" && crypto.randomUUID) return `${prefix}-${crypto.randomUUID()}`;
82
+ return `${prefix}-${Math.random().toString(36).substring(2, 11)}-${Date.now().toString(36)}`;
83
+ };
84
+ /**
85
+ * Enhanced type guard with better error reporting in development
86
+ */
87
+ const validateSingleTabValue = (tab, index) => {
88
+ if (typeof tab !== "object" || tab === null) {
89
+ console.warn(`Tabs: Tab at index ${index} must be an object, received: ${typeof tab}`);
90
+ return false;
91
+ }
92
+ const obj = tab;
93
+ if (!("key" in obj) || typeof obj.key !== "string" || obj.key.length === 0) {
94
+ console.warn(`Tabs: Tab at index ${index} must have a non-empty string 'key' property`);
95
+ return false;
96
+ }
97
+ if (!("label" in obj)) {
98
+ console.warn(`Tabs: Tab at index ${index} must have a 'label' property`);
99
+ return false;
100
+ }
101
+ if (!("children" in obj)) {
102
+ console.warn(`Tabs: Tab at index ${index} must have a 'children' property`);
103
+ return false;
104
+ }
105
+ return true;
106
+ };
107
+ /**
108
+ * Validates tab values array for library usage with comprehensive type checking
109
+ */
110
+ const validateTabValues = (tabValues) => {
111
+ if (!Array.isArray(tabValues) || tabValues.length === 0) {
112
+ console.warn("Tabs: tabValues must be a non-empty array");
113
+ return false;
49
114
  }
50
- }, i = (e = "tabs") => typeof crypto < "u" && crypto.randomUUID ? `${e}-${crypto.randomUUID()}` : `${e}-${Math.random().toString(36).substring(2, 11)}-${Date.now().toString(36)}`, a = (e, t) => {
51
- if (typeof e != "object" || !e) return console.warn(`Tabs: Tab at index ${t} must be an object, received: ${typeof e}`), !1;
52
- let n = e;
53
- return !("key" in n) || typeof n.key != "string" || n.key.length === 0 ? (console.warn(`Tabs: Tab at index ${t} must have a non-empty string 'key' property`), !1) : "label" in n ? "children" in n ? !0 : (console.warn(`Tabs: Tab at index ${t} must have a 'children' property`), !1) : (console.warn(`Tabs: Tab at index ${t} must have a 'label' property`), !1);
54
- }, o = (e) => {
55
- if (!Array.isArray(e) || e.length === 0) return console.warn("Tabs: tabValues must be a non-empty array"), !1;
56
- let t = /* @__PURE__ */ new Set();
57
- for (let n = 0; n < e.length; n += 1) {
58
- let r = e[n];
59
- if (!a(r, n)) return !1;
60
- let i = r;
61
- if (t.has(i.key)) return console.warn(`Tabs: Duplicate key found: '${i.key}' at index ${n}`), !1;
62
- t.add(i.key);
115
+ const keys = /* @__PURE__ */ new Set();
116
+ for (let index = 0; index < tabValues.length; index += 1) {
117
+ const tab = tabValues[index];
118
+ if (!validateSingleTabValue(tab, index)) return false;
119
+ const obj = tab;
120
+ if (keys.has(obj.key)) {
121
+ console.warn(`Tabs: Duplicate key found: '${obj.key}' at index ${index}`);
122
+ return false;
123
+ }
124
+ keys.add(obj.key);
63
125
  }
64
- return !0;
65
- }, s = (e) => e.map((e) => e.key), c = (e, t) => e.find((e) => e.key === t);
126
+ return true;
127
+ };
128
+ /**
129
+ * Type-safe key extractor for tab values
130
+ */
131
+ const getTabKeys = (tabValues) => tabValues.map((tab) => tab.key);
132
+ /**
133
+ * Finds a tab by key with proper type narrowing
134
+ */
135
+ const findTabByKey = (tabValues, key) => tabValues.find((tab) => tab.key === key);
136
+
66
137
  //#endregion
67
- export { e as calculateIndicatorStyle, n as debounce, c as findTabByKey, i as generateId, t as getIndicatorPosition, s as getTabKeys, r as prefersReducedMotion, o as validateTabValues };
138
+ export { calculateIndicatorStyle, debounce, findTabByKey, generateId, getIndicatorPosition, getTabKeys, prefersReducedMotion, validateTabValues };
139
+ //# sourceMappingURL=tabsUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabsUtils.js","names":[],"sources":["../../src/components/Tabs/tabsUtils.ts"],"sourcesContent":["import { type RefObject } from 'react'\n\nexport interface IndicatorStyle {\n left: number\n top: number\n width: number\n height: number\n orientation: 'horizontal' | 'vertical'\n isEnclosed: boolean\n}\n\nexport interface IndicatorPosition {\n left?: string\n top?: string\n width?: string\n height?: string\n}\n\n/**\n * Calculates the position and dimensions of the active tab indicator\n */\nexport const calculateIndicatorStyle = (tabsListRef: RefObject<HTMLDivElement | null>): IndicatorStyle => {\n const defaultStyle = {\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n orientation: 'horizontal',\n isEnclosed: false,\n } as const satisfies IndicatorStyle\n\n if (!tabsListRef.current) return defaultStyle\n\n const activeTab = tabsListRef.current.querySelector<HTMLElement>(`[data-state='active']`)\n\n const orientation = (tabsListRef.current.closest('[data-orientation]')?.getAttribute('data-orientation') ?? 'horizontal') as 'horizontal' | 'vertical'\n\n const isEnclosed = tabsListRef.current.closest('.enclosed') !== null\n\n if (!activeTab) return { ...defaultStyle, orientation, isEnclosed }\n\n const activeRect = activeTab.getBoundingClientRect()\n const tabsRect = tabsListRef.current.getBoundingClientRect()\n\n return {\n height: activeRect.height,\n isEnclosed,\n left: activeRect.left - tabsRect.left,\n orientation,\n top: activeRect.top - tabsRect.top,\n width: activeRect.width,\n } satisfies IndicatorStyle\n}\n\n/**\n * Gets CSS positioning styles for the indicator based on orientation\n */\nexport const getIndicatorPosition = (style: IndicatorStyle): IndicatorPosition => {\n if (style.orientation === 'horizontal') {\n return {\n left: `${style.left}px`,\n width: `${style.width}px`,\n } satisfies IndicatorPosition\n }\n\n return {\n height: `${style.height}px`,\n top: `${style.top}px`,\n } satisfies IndicatorPosition\n}\n\n/**\n * Debounce utility for performance optimization with proper cleanup\n */\nexport interface DebouncedFunction<TArgs extends unknown[]> {\n (...args: TArgs): void\n cancel: () => void\n}\n\nexport const debounce = <TArgs extends unknown[]>(func: (...args: TArgs) => void, wait: number): DebouncedFunction<TArgs> => {\n let timeout: ReturnType<typeof setTimeout> | null = null\n\n const debounced = (...args: TArgs): void => {\n if (timeout !== null) {\n clearTimeout(timeout)\n }\n timeout = setTimeout(() => {\n func(...args)\n }, wait)\n }\n\n debounced.cancel = (): void => {\n if (timeout !== null) {\n clearTimeout(timeout)\n timeout = null\n }\n }\n\n return debounced\n}\n\n/**\n * Checks if user prefers reduced motion (SSR safe)\n */\nexport const prefersReducedMotion = (): boolean => {\n if (typeof window === 'undefined') return false\n\n try {\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches\n } catch {\n return false\n }\n}\n\n/**\n * Generates a cryptographically secure unique ID for component instances\n */\nexport const generateId = (prefix: string = 'tabs'): string => {\n if (typeof crypto !== 'undefined' && crypto.randomUUID) {\n return `${prefix}-${crypto.randomUUID()}`\n }\n\n // Fallback for older environments\n return `${prefix}-${Math.random().toString(36).substring(2, 11)}-${Date.now().toString(36)}`\n}\n\n/**\n * Enhanced type guard with better error reporting in development\n */\nconst validateSingleTabValue = (\n tab: unknown,\n index: number,\n): tab is {\n key: string\n label: unknown\n children: unknown\n} => {\n if (typeof tab !== 'object' || tab === null) {\n console.warn(`Tabs: Tab at index ${index} must be an object, received: ${typeof tab}`)\n return false\n }\n\n const obj = tab as Record<string, unknown>\n\n if (!('key' in obj) || typeof obj.key !== 'string' || obj.key.length === 0) {\n console.warn(`Tabs: Tab at index ${index} must have a non-empty string 'key' property`)\n return false\n }\n\n if (!('label' in obj)) {\n console.warn(`Tabs: Tab at index ${index} must have a 'label' property`)\n return false\n }\n\n if (!('children' in obj)) {\n console.warn(`Tabs: Tab at index ${index} must have a 'children' property`)\n return false\n }\n\n return true\n}\n\n/**\n * Validates tab values array for library usage with comprehensive type checking\n */\nexport const validateTabValues = (tabValues: { key: string; label: unknown; children: unknown; [K: string]: unknown }[]): boolean => {\n if (!Array.isArray(tabValues) || tabValues.length === 0) {\n console.warn('Tabs: tabValues must be a non-empty array')\n return false\n }\n\n const keys = new Set<string>()\n\n for (let index = 0; index < tabValues.length; index += 1) {\n const tab = tabValues[index]\n if (!validateSingleTabValue(tab, index)) {\n return false\n }\n\n // TypeScript now knows tab has a key property\n const obj = tab as { key: string; [K: string]: unknown }\n\n if (keys.has(obj.key)) {\n console.warn(`Tabs: Duplicate key found: '${obj.key}' at index ${index}`)\n return false\n }\n\n keys.add(obj.key)\n }\n\n return true\n}\n\n/**\n * Type-safe key extractor for tab values\n */\nexport const getTabKeys = <T extends { key: string }>(tabValues: T[]): string[] => tabValues.map((tab) => tab.key)\n\n/**\n * Finds a tab by key with proper type narrowing\n */\nexport const findTabByKey = <T extends { key: string }>(tabValues: T[], key: string): T | undefined => tabValues.find((tab) => tab.key === key)\n"],"mappings":";;;;;;;AAqBA,MAAa,2BAA2B,gBAAkE;CACxG,MAAM,eAAe;EACnB,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACR,aAAa;EACb,YAAY;EACb;AAED,KAAI,CAAC,YAAY,QAAS,QAAO;CAEjC,MAAM,YAAY,YAAY,QAAQ,cAA2B,wBAAwB;CAEzF,MAAM,cAAe,YAAY,QAAQ,QAAQ,qBAAqB,EAAE,aAAa,mBAAmB,IAAI;CAE5G,MAAM,aAAa,YAAY,QAAQ,QAAQ,YAAY,KAAK;AAEhE,KAAI,CAAC,UAAW,QAAO;EAAE,GAAG;EAAc;EAAa;EAAY;CAEnE,MAAM,aAAa,UAAU,uBAAuB;CACpD,MAAM,WAAW,YAAY,QAAQ,uBAAuB;AAE5D,QAAO;EACL,QAAQ,WAAW;EACnB;EACA,MAAM,WAAW,OAAO,SAAS;EACjC;EACA,KAAK,WAAW,MAAM,SAAS;EAC/B,OAAO,WAAW;EACnB;;;;;AAMH,MAAa,wBAAwB,UAA6C;AAChF,KAAI,MAAM,gBAAgB,aACxB,QAAO;EACL,MAAM,GAAG,MAAM,KAAK;EACpB,OAAO,GAAG,MAAM,MAAM;EACvB;AAGH,QAAO;EACL,QAAQ,GAAG,MAAM,OAAO;EACxB,KAAK,GAAG,MAAM,IAAI;EACnB;;AAWH,MAAa,YAAqC,MAAgC,SAA2C;CAC3H,IAAI,UAAgD;CAEpD,MAAM,aAAa,GAAG,SAAsB;AAC1C,MAAI,YAAY,KACd,cAAa,QAAQ;AAEvB,YAAU,iBAAiB;AACzB,QAAK,GAAG,KAAK;KACZ,KAAK;;AAGV,WAAU,eAAqB;AAC7B,MAAI,YAAY,MAAM;AACpB,gBAAa,QAAQ;AACrB,aAAU;;;AAId,QAAO;;;;;AAMT,MAAa,6BAAsC;AACjD,KAAI,OAAO,WAAW,YAAa,QAAO;AAE1C,KAAI;AACF,SAAO,OAAO,WAAW,mCAAmC,CAAC;SACvD;AACN,SAAO;;;;;;AAOX,MAAa,cAAc,SAAiB,WAAmB;AAC7D,KAAI,OAAO,WAAW,eAAe,OAAO,WAC1C,QAAO,GAAG,OAAO,GAAG,OAAO,YAAY;AAIzC,QAAO,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,SAAS,GAAG;;;;;AAM5F,MAAM,0BACJ,KACA,UAKG;AACH,KAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC3C,UAAQ,KAAK,sBAAsB,MAAM,gCAAgC,OAAO,MAAM;AACtF,SAAO;;CAGT,MAAM,MAAM;AAEZ,KAAI,EAAE,SAAS,QAAQ,OAAO,IAAI,QAAQ,YAAY,IAAI,IAAI,WAAW,GAAG;AAC1E,UAAQ,KAAK,sBAAsB,MAAM,8CAA8C;AACvF,SAAO;;AAGT,KAAI,EAAE,WAAW,MAAM;AACrB,UAAQ,KAAK,sBAAsB,MAAM,+BAA+B;AACxE,SAAO;;AAGT,KAAI,EAAE,cAAc,MAAM;AACxB,UAAQ,KAAK,sBAAsB,MAAM,kCAAkC;AAC3E,SAAO;;AAGT,QAAO;;;;;AAMT,MAAa,qBAAqB,cAAmG;AACnI,KAAI,CAAC,MAAM,QAAQ,UAAU,IAAI,UAAU,WAAW,GAAG;AACvD,UAAQ,KAAK,4CAA4C;AACzD,SAAO;;CAGT,MAAM,uBAAO,IAAI,KAAa;AAE9B,MAAK,IAAI,QAAQ,GAAG,QAAQ,UAAU,QAAQ,SAAS,GAAG;EACxD,MAAM,MAAM,UAAU;AACtB,MAAI,CAAC,uBAAuB,KAAK,MAAM,CACrC,QAAO;EAIT,MAAM,MAAM;AAEZ,MAAI,KAAK,IAAI,IAAI,IAAI,EAAE;AACrB,WAAQ,KAAK,+BAA+B,IAAI,IAAI,aAAa,QAAQ;AACzE,UAAO;;AAGT,OAAK,IAAI,IAAI,IAAI;;AAGnB,QAAO;;;;;AAMT,MAAa,cAAyC,cAA6B,UAAU,KAAK,QAAQ,IAAI,IAAI;;;;AAKlH,MAAa,gBAA2C,WAAgB,QAA+B,UAAU,MAAM,QAAQ,IAAI,QAAQ,IAAI"}
package/dist/Tabs.d.ts CHANGED
@@ -1,39 +1,59 @@
1
- import { ReactNode } from 'react';
2
- import { TabsBase, TabsContent, TabsContentContainer, TabsList, TabsTrigger, TabsBaseProps } from './TabsBase';
3
- export interface TabValue {
4
- children: ReactNode;
5
- disabled?: boolean | undefined;
6
- key: string | undefined;
7
- label: ReactNode;
8
- 'aria-label'?: string | undefined;
9
- 'aria-describedby'?: string | undefined;
1
+ 'use client';
2
+ import { TabsBase, TabsBaseProps, TabsContent, TabsContentContainer, TabsContentContainerProps, TabsContentProps, TabsList, TabsListProps, TabsTrigger, TabsTriggerProps } from "./Tabs/TabsBase.js";
3
+ import { ReactNode } from "react";
4
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
+
6
+ //#region src/components/Tabs/Tabs.d.ts
7
+ interface TabValue {
8
+ children: ReactNode;
9
+ disabled?: boolean | undefined;
10
+ key: string | undefined;
11
+ label: ReactNode;
12
+ 'aria-label'?: string | undefined;
13
+ 'aria-describedby'?: string | undefined;
10
14
  }
11
- export interface TabsProps extends Omit<TabsBaseProps, 'children' | 'defaultValue' | 'onError' | 'disabled' | 'value'> {
12
- activationMode?: 'automatic' | 'manual' | undefined;
13
- ariaLabel?: string | undefined;
14
- className?: string | undefined;
15
- /** Hide the content panel, useful when managing content display externally */
16
- hideContent?: boolean | undefined;
17
- onBeforeChange?: (newValue: string, oldValue: string) => boolean | Promise<boolean> | undefined;
18
- onError?: ((error: Error) => void) | undefined;
19
- loading?: boolean | undefined;
20
- openOnLoad?: string | undefined;
21
- rightSlot?: ReactNode | undefined;
22
- tabValues: TabValue[] | undefined;
23
- /**
24
- * Controlled value - the currently active tab key.
25
- * When provided, the component operates in controlled mode and the parent
26
- * must manage the active tab state via `onValueChange`.
27
- * Mutually exclusive with `openOnLoad` - use one or the other.
28
- */
29
- value?: string | undefined;
30
- variant?: 'enclosed' | 'default';
15
+ interface TabsProps extends Omit<TabsBaseProps, 'children' | 'defaultValue' | 'onError' | 'disabled' | 'value'> {
16
+ activationMode?: 'automatic' | 'manual' | undefined;
17
+ ariaLabel?: string | undefined;
18
+ className?: string | undefined;
19
+ /** Hide the content panel, useful when managing content display externally */
20
+ hideContent?: boolean | undefined;
21
+ onBeforeChange?: (newValue: string, oldValue: string) => boolean | Promise<boolean> | undefined;
22
+ onError?: ((error: Error) => void) | undefined;
23
+ loading?: boolean | undefined;
24
+ openOnLoad?: string | undefined;
25
+ rightSlot?: ReactNode | undefined;
26
+ tabValues: TabValue[] | undefined;
27
+ /**
28
+ * Controlled value - the currently active tab key.
29
+ * When provided, the component operates in controlled mode and the parent
30
+ * must manage the active tab state via `onValueChange`.
31
+ * Mutually exclusive with `openOnLoad` - use one or the other.
32
+ */
33
+ value?: string | undefined;
34
+ variant?: 'enclosed' | 'default';
31
35
  }
32
- export declare const Tabs: ({ activationMode, ariaLabel, className, hideContent, loading, onBeforeChange, onError, onValueChange, openOnLoad, orientation, rightSlot, tabValues, value: controlledValue, variant, ...props }: TabsProps) => import("react/jsx-runtime").JSX.Element;
33
- export { TabsContent, TabsContentContainer, TabsList, TabsBase as TabsRoot, TabsTrigger };
34
- export type { TabsBaseProps, TabsContentContainerProps, TabsContentProps, TabsListProps, TabsTriggerProps } from './TabsBase';
35
- export type TabKeys<T extends TabValue[]> = T[number]['key'];
36
- export type TabValueWithKey<TKey extends string> = TabValue & {
37
- key: TKey;
36
+ declare const Tabs: ({
37
+ activationMode,
38
+ ariaLabel,
39
+ className,
40
+ hideContent,
41
+ loading,
42
+ onBeforeChange,
43
+ onError,
44
+ onValueChange,
45
+ openOnLoad,
46
+ orientation,
47
+ rightSlot,
48
+ tabValues,
49
+ value: controlledValue,
50
+ variant,
51
+ ...props
52
+ }: TabsProps) => _$react_jsx_runtime0.JSX.Element;
53
+ type TabKeys<T extends TabValue[]> = T[number]['key'];
54
+ type TabValueWithKey<TKey extends string> = TabValue & {
55
+ key: TKey;
38
56
  };
57
+ //#endregion
58
+ export { TabKeys, TabValue, TabValueWithKey, Tabs, type TabsBaseProps, TabsContent, TabsContentContainer, type TabsContentContainerProps, type TabsContentProps, TabsList, type TabsListProps, TabsProps, TabsBase as TabsRoot, TabsTrigger, type TabsTriggerProps };
39
59
  //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","names":[],"sources":["../src/components/Tabs/Tabs.tsx"],"mappings":";;;;;;UAKiB,QAAA;EACf,QAAA,EAAU,SAAA;EACV,QAAA;EACA,GAAA;EACA,KAAA,EAAO,SAAA;EACP,YAAA;EACA,kBAAA;AAAA;AAAA,UAGe,SAAA,SAAkB,IAAA,CAAK,aAAA;EACtC,cAAA;EACA,SAAA;EACA,SAAA;EARO;EAUP,WAAA;EACA,cAAA,IAAkB,QAAA,UAAkB,QAAA,uBAA+B,OAAA;EACnE,OAAA,KAAY,KAAA,EAAO,KAAA;EACnB,OAAA;EACA,UAAA;EACA,SAAA,GAAY,SAAA;EACZ,SAAA,EAAW,QAAA;EAX2B;;;;;;EAkBtC,KAAA;EACA,OAAA;AAAA;AAAA,cAGW,IAAA;EAAI,cAAA;EAAA,SAAA;EAAA,SAAA;EAAA,WAAA;EAAA,OAAA;EAAA,cAAA;EAAA,OAAA;EAAA,aAAA;EAAA,UAAA;EAAA,WAAA;EAAA,SAAA;EAAA,SAAA;EAAA,KAAA,EAAA,eAAA;EAAA,OAAA;EAAA,GAAA;AAAA,GAgBd,SAAA,KAAS,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAmIA,OAAA,WAAkB,QAAA,MAAc,CAAA;AAAA,KAChC,eAAA,wBAAuC,QAAA;EAAa,GAAA,EAAK,IAAA;AAAA"}
package/dist/Tabs.js CHANGED
@@ -1,77 +1,98 @@
1
- 'use client'
2
- import './styles/main.css'
3
- import { t as e } from "./twUtils-BpqlKSeB.js";
4
- import { getTabKeys as t, validateTabValues as n } from "./Tabs/tabsUtils.js";
5
- import { TabsBase as r, TabsContent as i, TabsContentContainer as a, TabsList as o, TabsTrigger as s } from "./Tabs/TabsBase.js";
1
+ 'use client';
2
+ import { cn } from "./utils/twUtils.js";
3
+ import { getTabKeys, validateTabValues } from "./Tabs/tabsUtils.js";
4
+ import { TabsBase, TabsContent, TabsContentContainer, TabsList, TabsTrigger } from "./Tabs/TabsBase.js";
6
5
  import "react";
7
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+
8
8
  //#region src/components/Tabs/Tabs.tsx
9
- var u = ({ activationMode: u = "automatic", ariaLabel: d, className: f, hideContent: p = !1, loading: m = !1, onBeforeChange: h, onError: g, onValueChange: _, openOnLoad: v, orientation: y = "horizontal", rightSlot: b, tabValues: x = [], value: S, variant: C = "default", ...w }) => {
10
- if (m) return /* @__PURE__ */ c("div", {
9
+ const Tabs = ({ activationMode = "automatic", ariaLabel, className, hideContent = false, loading = false, onBeforeChange, onError, onValueChange, openOnLoad, orientation = "horizontal", rightSlot, tabValues = [], value: controlledValue, variant = "default", ...props }) => {
10
+ if (loading) return /* @__PURE__ */ jsx("div", {
11
11
  className: "p-4 relative flex w-full flex-col text-center text-text-secondary",
12
12
  role: "status",
13
13
  "aria-live": "polite",
14
- children: /* @__PURE__ */ c("p", { children: "Loading tabs…" })
14
+ children: /* @__PURE__ */ jsx("p", { children: "Loading tabs…" })
15
15
  });
16
- let T = x.filter((e) => e.key !== void 0), E = S !== void 0;
17
- if (!n(T)) return g?.(/* @__PURE__ */ Error("Invalid tabValues provided to Tabs component")), /* @__PURE__ */ c("div", {
18
- className: "p-4 text-gray-500 relative flex w-full flex-col text-center",
19
- role: "alert",
20
- "aria-live": "polite",
21
- children: /* @__PURE__ */ c("p", { children: "No valid tabs provided" })
22
- });
23
- let D = t(T), O;
24
- E && (D.includes(S) ? O = S : (console.warn(`Tabs: value '${S}' is not a valid tab key, falling back to first tab`), O = D[0]));
25
- let k;
26
- if (!E && (k = v ?? D[0], v && !D.includes(v) && (console.warn(`Tabs: openOnLoad value '${v}' is not a valid tab key`), k = D[0]), !k)) return g?.(/* @__PURE__ */ Error("No valid default tab available")), /* @__PURE__ */ c("div", {
27
- className: "p-4 relative flex w-full flex-col text-center text-text-secondary",
28
- role: "alert",
29
- "aria-live": "polite",
30
- children: /* @__PURE__ */ c("p", { children: "Unable to render tabs" })
31
- });
32
- let A = async (e) => {
33
- if (h && _) {
34
- let t = E ? O ?? "" : k ?? "";
16
+ const validTabs = tabValues.filter((tab) => tab.key !== void 0);
17
+ const isControlled = controlledValue !== void 0;
18
+ if (!validateTabValues(validTabs)) {
19
+ onError?.(/* @__PURE__ */ new Error("Invalid tabValues provided to Tabs component"));
20
+ return /* @__PURE__ */ jsx("div", {
21
+ className: "p-4 text-gray-500 relative flex w-full flex-col text-center",
22
+ role: "alert",
23
+ "aria-live": "polite",
24
+ children: /* @__PURE__ */ jsx("p", { children: "No valid tabs provided" })
25
+ });
26
+ }
27
+ const validKeys = getTabKeys(validTabs);
28
+ let effectiveValue;
29
+ if (isControlled) if (validKeys.includes(controlledValue)) effectiveValue = controlledValue;
30
+ else {
31
+ console.warn(`Tabs: value '${controlledValue}' is not a valid tab key, falling back to first tab`);
32
+ effectiveValue = validKeys[0];
33
+ }
34
+ let defaultValue;
35
+ if (!isControlled) {
36
+ defaultValue = openOnLoad ?? validKeys[0];
37
+ if (openOnLoad && !validKeys.includes(openOnLoad)) {
38
+ console.warn(`Tabs: openOnLoad value '${openOnLoad}' is not a valid tab key`);
39
+ defaultValue = validKeys[0];
40
+ }
41
+ if (!defaultValue) {
42
+ onError?.(/* @__PURE__ */ new Error("No valid default tab available"));
43
+ return /* @__PURE__ */ jsx("div", {
44
+ className: "p-4 relative flex w-full flex-col text-center text-text-secondary",
45
+ role: "alert",
46
+ "aria-live": "polite",
47
+ children: /* @__PURE__ */ jsx("p", { children: "Unable to render tabs" })
48
+ });
49
+ }
50
+ }
51
+ const handleValueChange = async (newValue) => {
52
+ if (onBeforeChange && onValueChange) {
53
+ const currentValue = isControlled ? effectiveValue ?? "" : defaultValue ?? "";
35
54
  try {
36
- if (await h(e, t) === !1) return;
37
- } catch (e) {
38
- g?.(e instanceof Error ? e : /* @__PURE__ */ Error("Before change callback failed"));
55
+ if (await onBeforeChange(newValue, currentValue) === false) return;
56
+ } catch (error) {
57
+ onError?.(error instanceof Error ? error : /* @__PURE__ */ new Error("Before change callback failed"));
39
58
  return;
40
59
  }
41
60
  }
42
- _?.(e);
61
+ onValueChange?.(newValue);
43
62
  };
44
- return /* @__PURE__ */ c("div", {
63
+ return /* @__PURE__ */ jsx("div", {
45
64
  className: "relative flex w-full flex-col",
46
- children: /* @__PURE__ */ l(r, {
47
- "aria-label": d,
48
- className: e("relative w-full data-[orientation=vertical]:flex", C, f),
49
- ...E ? { value: O } : { defaultValue: k },
50
- orientation: y,
51
- activationMode: u,
52
- onValueChange: A,
53
- ...w,
54
- children: [/* @__PURE__ */ c(o, {
55
- className: e("inline-flex w-full items-center justify-between", y === "horizontal" && C === "default" && "border-b border-tabs-border", y === "vertical" && C === "default" && "m-0 py-1 relative h-auto w-auto flex-col items-stretch border-r border-tabs-border", y === "horizontal" && C === "enclosed" && "rounded-lg p-1 relative border-0 bg-tabs-group-bg", y === "vertical" && C === "enclosed" && "rounded-lg p-1 w-auto flex-col border-0 bg-tabs-group-bg"),
56
- rightSlot: b,
57
- children: T.map((t) => /* @__PURE__ */ c(s, {
58
- value: t.key,
59
- disabled: t.disabled,
60
- "aria-label": t["aria-label"],
61
- "aria-describedby": t["aria-describedby"],
62
- className: e("font-semibold relative whitespace-nowrap transition-all duration-500 ease-in-out focus:outline-none focus-visible:outline-none", y === "horizontal" && C === "default" && "py-2 px-4 hover:bg-tabs-bg--hover text-text-primary hover:text-accent", y === "vertical" && C === "default" && "h-10 px-4 py-2 hover:bg-tabs-bg--hover flex items-center text-text-primary hover:text-accent data-[state=active]:text-accent", y === "horizontal" && C === "enclosed" && "px-4 py-2 hover:bg-tabs-bg--hover z-[1] inline-flex items-center justify-center text-text-primary hover:text-accent data-[state=active]:text-accent", y === "vertical" && C === "enclosed" && "px-4 py-2 hover:bg-tabs-bg--hover z-1 text-text-primary hover:text-accent data-[state=active]:text-accent", "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-text-primary"),
63
- children: t.label
64
- }, t.key))
65
- }), !p && /* @__PURE__ */ c(a, {
66
- className: e(y === "vertical" && "flex-1"),
67
- children: T.map((t) => /* @__PURE__ */ c(i, {
68
- value: t.key,
69
- className: e("text-text-primary focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent", y === "horizontal" && "pb-4", y === "vertical" && "py-2 px-4"),
70
- children: t.children
71
- }, t.key))
65
+ children: /* @__PURE__ */ jsxs(TabsBase, {
66
+ "aria-label": ariaLabel,
67
+ className: cn("relative w-full data-[orientation=vertical]:flex", variant, className),
68
+ ...isControlled ? { value: effectiveValue } : { defaultValue },
69
+ orientation,
70
+ activationMode,
71
+ onValueChange: handleValueChange,
72
+ ...props,
73
+ children: [/* @__PURE__ */ jsx(TabsList, {
74
+ className: cn("inline-flex w-full items-center justify-between", orientation === "horizontal" && variant === "default" && "border-b border-tabs-border", orientation === "vertical" && variant === "default" && "m-0 py-1 relative h-auto w-auto flex-col items-stretch border-r border-tabs-border", orientation === "horizontal" && variant === "enclosed" && "rounded-lg p-1 relative border-0 bg-tabs-group-bg", orientation === "vertical" && variant === "enclosed" && "rounded-lg p-1 w-auto flex-col border-0 bg-tabs-group-bg"),
75
+ rightSlot,
76
+ children: validTabs.map((tab) => /* @__PURE__ */ jsx(TabsTrigger, {
77
+ value: tab.key,
78
+ disabled: tab.disabled,
79
+ "aria-label": tab["aria-label"],
80
+ "aria-describedby": tab["aria-describedby"],
81
+ className: cn("font-semibold relative whitespace-nowrap transition-all duration-500 ease-in-out focus:outline-none focus-visible:outline-none", orientation === "horizontal" && variant === "default" && "py-2 px-4 hover:bg-tabs-bg--hover text-text-primary hover:text-accent", orientation === "vertical" && variant === "default" && "h-10 px-4 py-2 hover:bg-tabs-bg--hover flex items-center text-text-primary hover:text-accent data-[state=active]:text-accent", orientation === "horizontal" && variant === "enclosed" && "px-4 py-2 hover:bg-tabs-bg--hover z-[1] inline-flex items-center justify-center text-text-primary hover:text-accent data-[state=active]:text-accent", orientation === "vertical" && variant === "enclosed" && "px-4 py-2 hover:bg-tabs-bg--hover z-1 text-text-primary hover:text-accent data-[state=active]:text-accent", "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-text-primary"),
82
+ children: tab.label
83
+ }, tab.key))
84
+ }), !hideContent && /* @__PURE__ */ jsx(TabsContentContainer, {
85
+ className: cn(orientation === "vertical" && "flex-1"),
86
+ children: validTabs.map((tab) => /* @__PURE__ */ jsx(TabsContent, {
87
+ value: tab.key,
88
+ className: cn("text-text-primary focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent", orientation === "horizontal" && "pb-4", orientation === "vertical" && "py-2 px-4"),
89
+ children: tab.children
90
+ }, tab.key))
72
91
  })]
73
92
  })
74
93
  });
75
94
  };
95
+
76
96
  //#endregion
77
- export { u as Tabs, i as TabsContent, a as TabsContentContainer, o as TabsList, r as TabsRoot, s as TabsTrigger };
97
+ export { Tabs, TabsContent, TabsContentContainer, TabsList, TabsBase as TabsRoot, TabsTrigger };
98
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","names":[],"sources":["../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import { cn } from '@utils/twUtils'\nimport { type ReactNode } from 'react'\nimport { TabsBase, TabsContent, TabsContentContainer, TabsList, TabsTrigger, type TabsBaseProps } from './TabsBase'\nimport { getTabKeys, validateTabValues } from './tabsUtils'\n\nexport interface TabValue {\n children: ReactNode\n disabled?: boolean | undefined\n key: string | undefined\n label: ReactNode\n 'aria-label'?: string | undefined\n 'aria-describedby'?: string | undefined\n}\n\nexport interface TabsProps extends Omit<TabsBaseProps, 'children' | 'defaultValue' | 'onError' | 'disabled' | 'value'> {\n activationMode?: 'automatic' | 'manual' | undefined\n ariaLabel?: string | undefined\n className?: string | undefined\n /** Hide the content panel, useful when managing content display externally */\n hideContent?: boolean | undefined\n onBeforeChange?: (newValue: string, oldValue: string) => boolean | Promise<boolean> | undefined\n onError?: ((error: Error) => void) | undefined\n loading?: boolean | undefined\n openOnLoad?: string | undefined\n rightSlot?: ReactNode | undefined\n tabValues: TabValue[] | undefined\n /**\n * Controlled value - the currently active tab key.\n * When provided, the component operates in controlled mode and the parent\n * must manage the active tab state via `onValueChange`.\n * Mutually exclusive with `openOnLoad` - use one or the other.\n */\n value?: string | undefined\n variant?: 'enclosed' | 'default'\n}\n\nexport const Tabs = ({\n activationMode = 'automatic',\n ariaLabel,\n className,\n hideContent = false,\n loading = false,\n onBeforeChange,\n onError,\n onValueChange,\n openOnLoad,\n orientation = 'horizontal',\n rightSlot,\n tabValues = [],\n value: controlledValue,\n variant = 'default',\n ...props\n}: TabsProps) => {\n if (loading) {\n return (\n <div className='p-4 relative flex w-full flex-col text-center text-text-secondary' role='status' aria-live='polite'>\n <p>Loading tabs…</p>\n </div>\n )\n }\n\n const validTabs = tabValues.filter((tab): tab is TabValue & { key: string } => tab.key !== undefined)\n const isControlled = controlledValue !== undefined\n\n if (!validateTabValues(validTabs as { key: string; label: unknown; children: unknown; [K: string]: unknown }[])) {\n const error = new Error('Invalid tabValues provided to Tabs component')\n onError?.(error)\n\n return (\n <div className='p-4 text-gray-500 relative flex w-full flex-col text-center' role='alert' aria-live='polite'>\n <p>No valid tabs provided</p>\n </div>\n )\n }\n\n const validKeys = getTabKeys(validTabs)\n\n // Compute effective value for controlled mode (fallback if invalid)\n let effectiveValue: string | undefined\n if (isControlled) {\n if (validKeys.includes(controlledValue)) {\n effectiveValue = controlledValue\n } else {\n console.warn(`Tabs: value '${controlledValue}' is not a valid tab key, falling back to first tab`)\n effectiveValue = validKeys[0]\n }\n }\n\n // For uncontrolled mode, determine the default value\n let defaultValue: string | undefined\n if (!isControlled) {\n defaultValue = openOnLoad ?? validKeys[0]\n\n if (openOnLoad && !validKeys.includes(openOnLoad)) {\n console.warn(`Tabs: openOnLoad value '${openOnLoad}' is not a valid tab key`)\n defaultValue = validKeys[0]\n }\n\n if (!defaultValue) {\n const error = new Error('No valid default tab available')\n onError?.(error)\n return (\n <div className='p-4 relative flex w-full flex-col text-center text-text-secondary' role='alert' aria-live='polite'>\n <p>Unable to render tabs</p>\n </div>\n )\n }\n }\n\n const handleValueChange = async (newValue: string) => {\n if (onBeforeChange && onValueChange) {\n const currentValue = isControlled ? (effectiveValue ?? '') : (defaultValue ?? '')\n try {\n const canChange = await onBeforeChange(newValue, currentValue)\n if (canChange === false) return\n } catch (error) {\n onError?.(error instanceof Error ? error : new Error('Before change callback failed'))\n return\n }\n }\n\n onValueChange?.(newValue)\n }\n\n return (\n <div className='relative flex w-full flex-col'>\n <TabsBase\n aria-label={ariaLabel}\n className={cn('relative w-full data-[orientation=vertical]:flex', variant, className)}\n {...(isControlled ? { value: effectiveValue } : { defaultValue })}\n orientation={orientation}\n activationMode={activationMode}\n onValueChange={handleValueChange}\n {...props}\n >\n <TabsList\n className={cn(\n 'inline-flex w-full items-center justify-between',\n orientation === 'horizontal' && variant === 'default' && 'border-b border-tabs-border',\n orientation === 'vertical' && variant === 'default' && 'm-0 py-1 relative h-auto w-auto flex-col items-stretch border-r border-tabs-border',\n orientation === 'horizontal' && variant === 'enclosed' && 'rounded-lg p-1 relative border-0 bg-tabs-group-bg',\n orientation === 'vertical' && variant === 'enclosed' && 'rounded-lg p-1 w-auto flex-col border-0 bg-tabs-group-bg',\n )}\n rightSlot={rightSlot}\n >\n {validTabs.map((tab) => (\n <TabsTrigger\n key={tab.key}\n value={tab.key}\n disabled={tab.disabled}\n aria-label={tab['aria-label']}\n aria-describedby={tab['aria-describedby']}\n className={cn(\n 'font-semibold relative whitespace-nowrap transition-all duration-500 ease-in-out focus:outline-none focus-visible:outline-none',\n orientation === 'horizontal' && variant === 'default' && 'py-2 px-4 hover:bg-tabs-bg--hover text-text-primary hover:text-accent',\n orientation === 'vertical' && variant === 'default' && 'h-10 px-4 py-2 hover:bg-tabs-bg--hover flex items-center text-text-primary hover:text-accent data-[state=active]:text-accent',\n orientation === 'horizontal' && variant === 'enclosed' && 'px-4 py-2 hover:bg-tabs-bg--hover z-[1] inline-flex items-center justify-center text-text-primary hover:text-accent data-[state=active]:text-accent',\n orientation === 'vertical' && variant === 'enclosed' && 'px-4 py-2 hover:bg-tabs-bg--hover z-1 text-text-primary hover:text-accent data-[state=active]:text-accent',\n 'disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-text-primary',\n )}\n >\n {tab.label}\n </TabsTrigger>\n ))}\n </TabsList>\n {!hideContent && (\n <TabsContentContainer className={cn(orientation === 'vertical' && 'flex-1')}>\n {validTabs.map((tab) => (\n <TabsContent key={tab.key} value={tab.key} className={cn('text-text-primary focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', orientation === 'horizontal' && 'pb-4', orientation === 'vertical' && 'py-2 px-4')}>\n {tab.children}\n </TabsContent>\n ))}\n </TabsContentContainer>\n )}\n </TabsBase>\n </div>\n )\n}\n\nexport { TabsContent, TabsContentContainer, TabsList, TabsBase as TabsRoot, TabsTrigger }\n\nexport type { TabsBaseProps, TabsContentContainerProps, TabsContentProps, TabsListProps, TabsTriggerProps } from './TabsBase'\n\nexport type TabKeys<T extends TabValue[]> = T[number]['key']\nexport type TabValueWithKey<TKey extends string> = TabValue & { key: TKey }\n"],"mappings":";;;;;;;;AAoCA,MAAa,QAAQ,EACnB,iBAAiB,aACjB,WACA,WACA,cAAc,OACd,UAAU,OACV,gBACA,SACA,eACA,YACA,cAAc,cACd,WACA,YAAY,EAAE,EACd,OAAO,iBACP,UAAU,WACV,GAAG,YACY;AACf,KAAI,QACF,QACE,oBAAC,OAAD;EAAK,WAAU;EAAoE,MAAK;EAAS,aAAU;YACzG,oBAAC,KAAD,YAAG,iBAAiB;EAChB;CAIV,MAAM,YAAY,UAAU,QAAQ,QAA2C,IAAI,QAAQ,OAAU;CACrG,MAAM,eAAe,oBAAoB;AAEzC,KAAI,CAAC,kBAAkB,UAAwF,EAAE;AAE/G,4BAAU,IADQ,MAAM,+CACT,CAAC;AAEhB,SACE,oBAAC,OAAD;GAAK,WAAU;GAA8D,MAAK;GAAQ,aAAU;aAClG,oBAAC,KAAD,YAAG,0BAA0B;GACzB;;CAIV,MAAM,YAAY,WAAW,UAAU;CAGvC,IAAI;AACJ,KAAI,aACF,KAAI,UAAU,SAAS,gBAAgB,CACrC,kBAAiB;MACZ;AACL,UAAQ,KAAK,gBAAgB,gBAAgB,qDAAqD;AAClG,mBAAiB,UAAU;;CAK/B,IAAI;AACJ,KAAI,CAAC,cAAc;AACjB,iBAAe,cAAc,UAAU;AAEvC,MAAI,cAAc,CAAC,UAAU,SAAS,WAAW,EAAE;AACjD,WAAQ,KAAK,2BAA2B,WAAW,0BAA0B;AAC7E,kBAAe,UAAU;;AAG3B,MAAI,CAAC,cAAc;AAEjB,6BAAU,IADQ,MAAM,iCACT,CAAC;AAChB,UACE,oBAAC,OAAD;IAAK,WAAU;IAAoE,MAAK;IAAQ,aAAU;cACxG,oBAAC,KAAD,YAAG,yBAAyB;IACxB;;;CAKZ,MAAM,oBAAoB,OAAO,aAAqB;AACpD,MAAI,kBAAkB,eAAe;GACnC,MAAM,eAAe,eAAgB,kBAAkB,KAAO,gBAAgB;AAC9E,OAAI;AAEF,QAAI,MADoB,eAAe,UAAU,aAAa,KAC5C,MAAO;YAClB,OAAO;AACd,cAAU,iBAAiB,QAAQ,wBAAQ,IAAI,MAAM,gCAAgC,CAAC;AACtF;;;AAIJ,kBAAgB,SAAS;;AAG3B,QACE,oBAAC,OAAD;EAAK,WAAU;YACb,qBAAC,UAAD;GACE,cAAY;GACZ,WAAW,GAAG,oDAAoD,SAAS,UAAU;GACrF,GAAK,eAAe,EAAE,OAAO,gBAAgB,GAAG,EAAE,cAAc;GACnD;GACG;GAChB,eAAe;GACf,GAAI;aAPN,CASE,oBAAC,UAAD;IACE,WAAW,GACT,mDACA,gBAAgB,gBAAgB,YAAY,aAAa,+BACzD,gBAAgB,cAAc,YAAY,aAAa,sFACvD,gBAAgB,gBAAgB,YAAY,cAAc,qDAC1D,gBAAgB,cAAc,YAAY,cAAc,2DACzD;IACU;cAEV,UAAU,KAAK,QACd,oBAAC,aAAD;KAEE,OAAO,IAAI;KACX,UAAU,IAAI;KACd,cAAY,IAAI;KAChB,oBAAkB,IAAI;KACtB,WAAW,GACT,kIACA,gBAAgB,gBAAgB,YAAY,aAAa,yEACzD,gBAAgB,cAAc,YAAY,aAAa,gIACvD,gBAAgB,gBAAgB,YAAY,cAAc,uJAC1D,gBAAgB,cAAc,YAAY,cAAc,6GACxD,iHACD;eAEA,IAAI;KACO,EAfP,IAAI,IAeG,CACd;IACO,GACV,CAAC,eACA,oBAAC,sBAAD;IAAsB,WAAW,GAAG,gBAAgB,cAAc,SAAS;cACxE,UAAU,KAAK,QACd,oBAAC,aAAD;KAA2B,OAAO,IAAI;KAAK,WAAW,GAAG,4HAA4H,gBAAgB,gBAAgB,QAAQ,gBAAgB,cAAc,YAAY;eACpQ,IAAI;KACO,EAFI,IAAI,IAER,CACd;IACmB,EAEhB;;EACP"}
@@ -1,19 +1,30 @@
1
- import { ChangeEvent, ClipboardEvent, FocusEvent } from 'react';
2
- export interface UseTextareaOptions {
3
- maxLength: number;
4
- onBlur?: (e: FocusEvent<HTMLTextAreaElement>) => void;
5
- onChange: (value: string) => void;
6
- onFocus?: (e: FocusEvent<HTMLTextAreaElement>) => void;
7
- value: string;
1
+ 'use client';
2
+ import { ChangeEvent, ClipboardEvent, FocusEvent } from "react";
3
+
4
+ //#region src/components/Textarea/TextareaUtils.d.ts
5
+ interface UseTextareaOptions {
6
+ maxLength: number;
7
+ onBlur?: (e: FocusEvent<HTMLTextAreaElement>) => void;
8
+ onChange: (value: string) => void;
9
+ onFocus?: (e: FocusEvent<HTMLTextAreaElement>) => void;
10
+ value: string;
8
11
  }
9
- export interface UseTextareaReturn {
10
- handleBlur: (e: FocusEvent<HTMLTextAreaElement>) => void;
11
- handleChange: (e: ChangeEvent<HTMLTextAreaElement>) => void;
12
- handleFocus: (e: FocusEvent<HTMLTextAreaElement>) => void;
13
- handlePaste: (e: ClipboardEvent<HTMLTextAreaElement>) => void;
12
+ interface UseTextareaReturn {
13
+ handleBlur: (e: FocusEvent<HTMLTextAreaElement>) => void;
14
+ handleChange: (e: ChangeEvent<HTMLTextAreaElement>) => void;
15
+ handleFocus: (e: FocusEvent<HTMLTextAreaElement>) => void;
16
+ handlePaste: (e: ClipboardEvent<HTMLTextAreaElement>) => void;
14
17
  }
15
18
  /**
16
19
  * Custom hook for textarea functionality with character limits and event handling
17
20
  */
18
- export declare const useTextarea: ({ maxLength, value, onChange, onFocus, onBlur }: UseTextareaOptions) => UseTextareaReturn;
21
+ declare const useTextarea: ({
22
+ maxLength,
23
+ value,
24
+ onChange,
25
+ onFocus,
26
+ onBlur
27
+ }: UseTextareaOptions) => UseTextareaReturn;
28
+ //#endregion
29
+ export { UseTextareaOptions, UseTextareaReturn, useTextarea };
19
30
  //# sourceMappingURL=TextareaUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextareaUtils.d.ts","names":[],"sources":["../../src/components/Textarea/TextareaUtils.tsx"],"mappings":";;;;UAEiB,kBAAA;EACf,SAAA;EACA,MAAA,IAAU,CAAA,EAAG,UAAA,CAAW,mBAAA;EACxB,QAAA,GAAW,KAAA;EACX,OAAA,IAAW,CAAA,EAAG,UAAA,CAAW,mBAAA;EACzB,KAAA;AAAA;AAAA,UAGe,iBAAA;EACf,UAAA,GAAa,CAAA,EAAG,UAAA,CAAW,mBAAA;EAC3B,YAAA,GAAe,CAAA,EAAG,WAAA,CAAY,mBAAA;EAC9B,WAAA,GAAc,CAAA,EAAG,UAAA,CAAW,mBAAA;EAC5B,WAAA,GAAc,CAAA,EAAG,cAAA,CAAe,mBAAA;AAAA;;;;cA+CrB,WAAA;EAAW,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,OAAA;EAAA;AAAA,GAAqD,kBAAA,KAAqB,iBAAA"}