@spear-ai/spectral 1.13.0 → 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 -56
  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 -39
  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 -39
  50. package/dist/ControlGroup/ControlGroupSelect.d.ts.map +1 -0
  51. package/dist/ControlGroup/ControlGroupSelect.js +157 -115
  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 +62 -48
  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 -70
  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 -50
  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 +29 -0
  106. package/dist/FormFieldMessage.d.ts.map +1 -0
  107. package/dist/FormFieldMessage.js +68 -0
  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 -25
  454. package/dist/Input.d.ts.map +1 -0
  455. package/dist/Input.js +157 -110
  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 -113
  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 +315 -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 -115
  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 -33
  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 -66
  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 +48 -34
  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 -17
  568. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.d.ts.map +1 -0
  569. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.js +132 -61
  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 -46
  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 -85
  654. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  655. package/dist/utils/formFieldUtils.js +171 -127
  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 -128
  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-DCCcIDgq.js +0 -6378
  675. package/dist/DateTimeUtils-BJUAMuot.js +0 -2098
  676. package/dist/DropdownMenu-B8I8IRcu.js +0 -868
  677. package/dist/HoverCard-BhxgELKP.js +0 -201
  678. package/dist/Icons/index.d.ts +0 -81
  679. package/dist/InputOTP-DyhesOLs.js +0 -463
  680. package/dist/RadioGroup-BsBK247l.js +0 -328
  681. package/dist/Slider-CPYW_VYu.js +0 -490
  682. package/dist/Switch-Vep4hsq4.js +0 -144
  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-oAOoVl5g.js +0 -797
  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,9 +1,14 @@
1
- import { MouseEvent, RefObject } from 'react';
1
+ 'use client';
2
+ import { MouseEvent, RefObject } from "react";
3
+
4
+ //#region src/hooks/useAccordionAutoScroll.d.ts
2
5
  /**
3
6
  * Hook that handles auto-scrolling for accordions with return-to-position functionality
4
7
  *
5
8
  * @param triggerRef Reference to the accordion trigger element
6
9
  * @returns A click event handler for the accordion trigger
7
10
  */
8
- export declare const useAccordionAutoScroll: (triggerRef: RefObject<HTMLElement | null> | null) => (_event?: MouseEvent<HTMLButtonElement>) => void;
11
+ declare const useAccordionAutoScroll: (triggerRef: RefObject<HTMLElement | null> | null) => (_event?: MouseEvent<HTMLButtonElement>) => void;
12
+ //#endregion
13
+ export { useAccordionAutoScroll };
9
14
  //# sourceMappingURL=useAccordionAutoScroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAccordionAutoScroll.d.ts","sourceRoot":"","sources":["../../src/hooks/useAccordionAutoScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAOvF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAI,YAAY,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,eA8GxD,UAAU,CAAC,iBAAiB,CAAC,SAI3D,CAAA"}
1
+ {"version":3,"file":"useAccordionAutoScroll.d.ts","names":[],"sources":["../../src/hooks/useAccordionAutoScroll.ts"],"mappings":";;;;;;AAaA;;;;cAAa,sBAAA,GAAsB,UAAA,EAAgB,SAAA,CAAU,WAAA,qBAA0B,MAAA,GA8GxD,UAAA,CAAW,iBAAA"}
@@ -1,68 +1,94 @@
1
- 'use client'
2
- import { useCallback as e, useEffect as t, useRef as n } from "react";
1
+ 'use client';
2
+ import { useCallback, useEffect, useRef } from "react";
3
+
3
4
  //#region src/hooks/useAccordionAutoScroll.ts
4
- var r = (r) => {
5
- let i = n(null), a = n(null), o = e((e) => {
6
- if (!e || e === document.body) return window;
7
- let { overflow: t, overflowY: n } = window.getComputedStyle(e);
8
- return /(auto|scroll)/.test(t) || /(auto|scroll)/.test(n) ? e : o(e.parentElement);
5
+ /**
6
+ * Hook that handles auto-scrolling for accordions with return-to-position functionality
7
+ *
8
+ * @param triggerRef Reference to the accordion trigger element
9
+ * @returns A click event handler for the accordion trigger
10
+ */
11
+ const useAccordionAutoScroll = (triggerRef) => {
12
+ const originalScrollPosition = useRef(null);
13
+ const scrollContainerRef = useRef(null);
14
+ const findScrollableParent = useCallback((node) => {
15
+ if (!node || node === document.body) return window;
16
+ const { overflow, overflowY } = window.getComputedStyle(node);
17
+ if (/(auto|scroll)/.test(overflow) || /(auto|scroll)/.test(overflowY)) return node;
18
+ return findScrollableParent(node.parentElement);
9
19
  }, []);
10
- return t(() => {
11
- let e = r?.current ?? null;
12
- if (!e) return;
13
- let t = new MutationObserver((e) => {
14
- e.forEach((e) => {
15
- if (e.attributeName === "data-state") {
16
- let t = e.target, n = t.getAttribute("data-state"), r = t.closest("[data-scroll-options]");
17
- if (!r) return;
20
+ useEffect(() => {
21
+ const element = triggerRef?.current ?? null;
22
+ if (!element) return;
23
+ const observer = new MutationObserver((mutations) => {
24
+ mutations.forEach((mutation) => {
25
+ if (mutation.attributeName === "data-state") {
26
+ const element = mutation.target;
27
+ const currentState = element.getAttribute("data-state");
28
+ const rootElement = element.closest("[data-scroll-options]");
29
+ if (!rootElement) return;
18
30
  try {
19
- let e = r.getAttribute("data-scroll-options");
20
- if (!e) return;
21
- let { autoScroll: s, scrollPadding: c } = JSON.parse(e);
22
- if (s === "never") return;
23
- let l = o(t);
24
- if (n === "open") {
25
- if (s === "mobile" && window.innerHeight >= 768) return;
26
- l === window ? i.current = window.scrollY : i.current = l.scrollTop, a.current = l, setTimeout(() => {
27
- if (!t) return;
28
- let e = t.getBoundingClientRect(), n = c;
29
- if (l === window) {
30
- let t = window.scrollY + e.top + n - 0;
31
+ const scrollOptionsStr = rootElement.getAttribute("data-scroll-options");
32
+ if (!scrollOptionsStr) return;
33
+ const { autoScroll, scrollPadding } = JSON.parse(scrollOptionsStr);
34
+ if (autoScroll === "never") return;
35
+ const scrollContainer = findScrollableParent(element);
36
+ if (currentState === "open") {
37
+ if (autoScroll === "mobile" && window.innerHeight >= 768) return;
38
+ if (scrollContainer === window) originalScrollPosition.current = window.scrollY;
39
+ else originalScrollPosition.current = scrollContainer.scrollTop;
40
+ scrollContainerRef.current = scrollContainer;
41
+ setTimeout(() => {
42
+ if (!element) return;
43
+ const triggerRect = element.getBoundingClientRect();
44
+ const headerHeight = 0;
45
+ const paddingOffset = scrollPadding;
46
+ if (scrollContainer === window) {
47
+ const targetY = window.scrollY + triggerRect.top + paddingOffset - headerHeight;
31
48
  window.scrollTo({
32
- top: t,
49
+ top: targetY,
33
50
  behavior: "smooth"
34
51
  });
35
52
  } else {
36
- let t = l, r = t.getBoundingClientRect(), i = e.top - r.top;
37
- t.scrollTo({
38
- top: t.scrollTop + i + n - 0,
53
+ const container = scrollContainer;
54
+ const containerRect = container.getBoundingClientRect();
55
+ const relativeTop = triggerRect.top - containerRect.top;
56
+ container.scrollTo({
57
+ top: container.scrollTop + relativeTop + paddingOffset - headerHeight,
39
58
  behavior: "smooth"
40
59
  });
41
60
  }
42
61
  }, 100);
43
- } else if (n === "closed" && i.current !== null && a.current) {
44
- let e = i.current;
62
+ } else if (currentState === "closed" && originalScrollPosition.current !== null && scrollContainerRef.current) {
63
+ const scrollTop = originalScrollPosition.current;
45
64
  setTimeout(() => {
46
- let t = a.current;
47
- t === window ? window.scrollTo({
48
- top: e,
65
+ const container = scrollContainerRef.current;
66
+ if (container === window) window.scrollTo({
67
+ top: scrollTop,
49
68
  behavior: "smooth"
50
- }) : t instanceof HTMLElement && t.scrollTo({
51
- top: e,
69
+ });
70
+ else if (container instanceof HTMLElement) container.scrollTo({
71
+ top: scrollTop,
52
72
  behavior: "smooth"
53
- }), i.current = null, a.current = null;
73
+ });
74
+ originalScrollPosition.current = null;
75
+ scrollContainerRef.current = null;
54
76
  }, 100);
55
77
  }
56
- } catch (e) {
57
- console.error("Error handling accordion scroll:", { error: e });
78
+ } catch (error) {
79
+ console.error("Error handling accordion scroll:", { error });
58
80
  }
59
81
  }
60
82
  });
61
83
  });
62
- return t.observe(e, { attributes: !0 }), () => {
63
- t.disconnect();
84
+ observer.observe(element, { attributes: true });
85
+ return () => {
86
+ observer.disconnect();
64
87
  };
65
- }, [r, o]), e((e) => {}, []);
88
+ }, [triggerRef, findScrollableParent]);
89
+ return useCallback((_event) => {}, []);
66
90
  };
91
+
67
92
  //#endregion
68
- export { r as useAccordionAutoScroll };
93
+ export { useAccordionAutoScroll };
94
+ //# sourceMappingURL=useAccordionAutoScroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAccordionAutoScroll.js","names":[],"sources":["../../src/hooks/useAccordionAutoScroll.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, type MouseEvent, type RefObject } from 'react'\n\ninterface ScrollOptions {\n autoScroll: 'never' | 'mobile' | 'always'\n scrollPadding: number\n}\n\n/**\n * Hook that handles auto-scrolling for accordions with return-to-position functionality\n *\n * @param triggerRef Reference to the accordion trigger element\n * @returns A click event handler for the accordion trigger\n */\nexport const useAccordionAutoScroll = (triggerRef: RefObject<HTMLElement | null> | null) => {\n const originalScrollPosition = useRef<number | null>(null)\n const scrollContainerRef = useRef<HTMLElement | Window | null>(null)\n\n const findScrollableParent = useCallback((node: HTMLElement | null): HTMLElement | Window => {\n if (!node || node === document.body) return window\n\n const { overflow, overflowY } = window.getComputedStyle(node)\n if (/(auto|scroll)/.test(overflow) || /(auto|scroll)/.test(overflowY)) {\n return node\n }\n\n return findScrollableParent(node.parentElement)\n }, [])\n\n useEffect(() => {\n const element = triggerRef?.current ?? null\n if (!element) return\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.attributeName === 'data-state') {\n const element = mutation.target as HTMLElement\n const currentState = element.getAttribute('data-state')\n const rootElement = element.closest('[data-scroll-options]')\n\n if (!rootElement) return\n\n try {\n const scrollOptionsStr = rootElement.getAttribute('data-scroll-options')\n if (!scrollOptionsStr) return\n\n const scrollOptions = JSON.parse(scrollOptionsStr) as ScrollOptions\n const { autoScroll, scrollPadding } = scrollOptions\n\n if (autoScroll === 'never') return\n\n const scrollContainer = findScrollableParent(element)\n\n if (currentState === 'open') {\n if (autoScroll === 'mobile' && window.innerHeight >= 768) return\n\n if (scrollContainer === window) {\n originalScrollPosition.current = window.scrollY\n } else {\n originalScrollPosition.current = (scrollContainer as HTMLElement).scrollTop\n }\n\n scrollContainerRef.current = scrollContainer\n\n setTimeout(() => {\n if (!element) return\n\n const triggerRect = element.getBoundingClientRect()\n const headerHeight = 0\n const paddingOffset = scrollPadding\n\n if (scrollContainer === window) {\n const targetY = window.scrollY + triggerRect.top + paddingOffset - headerHeight\n\n window.scrollTo({\n top: targetY,\n behavior: 'smooth',\n })\n } else {\n const container = scrollContainer as HTMLElement\n const containerRect = container.getBoundingClientRect()\n const relativeTop = triggerRect.top - containerRect.top\n\n container.scrollTo({\n top: container.scrollTop + relativeTop + paddingOffset - headerHeight,\n behavior: 'smooth',\n })\n }\n }, 100)\n } else if (currentState === 'closed' && originalScrollPosition.current !== null && scrollContainerRef.current) {\n const scrollTop = originalScrollPosition.current\n setTimeout(() => {\n const container = scrollContainerRef.current\n\n if (container === window) {\n window.scrollTo({\n top: scrollTop,\n behavior: 'smooth',\n })\n } else if (container instanceof HTMLElement) {\n container.scrollTo({\n top: scrollTop,\n behavior: 'smooth',\n })\n }\n\n originalScrollPosition.current = null\n scrollContainerRef.current = null\n }, 100)\n }\n } catch (error) {\n console.error('Error handling accordion scroll:', { error: error })\n }\n }\n })\n })\n\n observer.observe(element, { attributes: true })\n\n return () => {\n observer.disconnect()\n }\n }, [triggerRef, findScrollableParent])\n\n return useCallback((_event?: MouseEvent<HTMLButtonElement>) => {\n // Let the native click behavior proceed without interference\n // The MutationObserver will handle the scrolling\n }, [])\n}\n"],"mappings":";;;;;;;;;;AAaA,MAAa,0BAA0B,eAAqD;CAC1F,MAAM,yBAAyB,OAAsB,KAAK;CAC1D,MAAM,qBAAqB,OAAoC,KAAK;CAEpE,MAAM,uBAAuB,aAAa,SAAmD;AAC3F,MAAI,CAAC,QAAQ,SAAS,SAAS,KAAM,QAAO;EAE5C,MAAM,EAAE,UAAU,cAAc,OAAO,iBAAiB,KAAK;AAC7D,MAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,UAAU,CACnE,QAAO;AAGT,SAAO,qBAAqB,KAAK,cAAc;IAC9C,EAAE,CAAC;AAEN,iBAAgB;EACd,MAAM,UAAU,YAAY,WAAW;AACvC,MAAI,CAAC,QAAS;EAEd,MAAM,WAAW,IAAI,kBAAkB,cAAc;AACnD,aAAU,SAAS,aAAa;AAC9B,QAAI,SAAS,kBAAkB,cAAc;KAC3C,MAAM,UAAU,SAAS;KACzB,MAAM,eAAe,QAAQ,aAAa,aAAa;KACvD,MAAM,cAAc,QAAQ,QAAQ,wBAAwB;AAE5D,SAAI,CAAC,YAAa;AAElB,SAAI;MACF,MAAM,mBAAmB,YAAY,aAAa,sBAAsB;AACxE,UAAI,CAAC,iBAAkB;MAGvB,MAAM,EAAE,YAAY,kBADE,KAAK,MAAM,iBACkB;AAEnD,UAAI,eAAe,QAAS;MAE5B,MAAM,kBAAkB,qBAAqB,QAAQ;AAErD,UAAI,iBAAiB,QAAQ;AAC3B,WAAI,eAAe,YAAY,OAAO,eAAe,IAAK;AAE1D,WAAI,oBAAoB,OACtB,wBAAuB,UAAU,OAAO;WAExC,wBAAuB,UAAW,gBAAgC;AAGpE,0BAAmB,UAAU;AAE7B,wBAAiB;AACf,YAAI,CAAC,QAAS;QAEd,MAAM,cAAc,QAAQ,uBAAuB;QACnD,MAAM,eAAe;QACrB,MAAM,gBAAgB;AAEtB,YAAI,oBAAoB,QAAQ;SAC9B,MAAM,UAAU,OAAO,UAAU,YAAY,MAAM,gBAAgB;AAEnE,gBAAO,SAAS;UACd,KAAK;UACL,UAAU;UACX,CAAC;eACG;SACL,MAAM,YAAY;SAClB,MAAM,gBAAgB,UAAU,uBAAuB;SACvD,MAAM,cAAc,YAAY,MAAM,cAAc;AAEpD,mBAAU,SAAS;UACjB,KAAK,UAAU,YAAY,cAAc,gBAAgB;UACzD,UAAU;UACX,CAAC;;UAEH,IAAI;iBACE,iBAAiB,YAAY,uBAAuB,YAAY,QAAQ,mBAAmB,SAAS;OAC7G,MAAM,YAAY,uBAAuB;AACzC,wBAAiB;QACf,MAAM,YAAY,mBAAmB;AAErC,YAAI,cAAc,OAChB,QAAO,SAAS;SACd,KAAK;SACL,UAAU;SACX,CAAC;iBACO,qBAAqB,YAC9B,WAAU,SAAS;SACjB,KAAK;SACL,UAAU;SACX,CAAC;AAGJ,+BAAuB,UAAU;AACjC,2BAAmB,UAAU;UAC5B,IAAI;;cAEF,OAAO;AACd,cAAQ,MAAM,oCAAoC,EAAS,OAAO,CAAC;;;KAGvE;IACF;AAEF,WAAS,QAAQ,SAAS,EAAE,YAAY,MAAM,CAAC;AAE/C,eAAa;AACX,YAAS,YAAY;;IAEtB,CAAC,YAAY,qBAAqB,CAAC;AAEtC,QAAO,aAAa,WAA2C,IAG5D,EAAE,CAAC"}
@@ -1,14 +1,18 @@
1
+ 'use client';
2
+ //#region src/hooks/useControllableState.d.ts
1
3
  /**
2
4
  * Hook for managing uncontrolled state with optional external control.
3
5
  */
4
- export declare const useUncontrolledState: <T>(options: {
5
- value?: T;
6
- defaultValue: T;
7
- onChange?: (next: T) => void;
6
+ declare const useUncontrolledState: <T>(options: {
7
+ value?: T;
8
+ defaultValue: T;
9
+ onChange?: (next: T) => void;
8
10
  }) => [T, (next: T | ((prev: T) => T)) => void];
9
- export declare const useControllableState: <T>(options: {
10
- value?: T;
11
- defaultValue: T;
12
- onChange?: (next: T) => void;
11
+ declare const useControllableState: <T>(options: {
12
+ value?: T;
13
+ defaultValue: T;
14
+ onChange?: (next: T) => void;
13
15
  }) => [T, (next: T | ((prev: T) => T)) => void];
16
+ //#endregion
17
+ export { useControllableState, useUncontrolledState };
14
18
  //# sourceMappingURL=useControllableState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useControllableState.d.ts","sourceRoot":"","sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAcvJ,CAAA;AAGD,eAAO,MAAM,oBAAoB,GAjBI,CAAC,WAAW;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAiBhG,CAAA"}
1
+ {"version":3,"file":"useControllableState.d.ts","names":[],"sources":["../../src/hooks/useControllableState.ts"],"mappings":";;;AAKA;;cAAa,oBAAA,MAAyB,OAAA;EAAa,KAAA,GAAQ,CAAA;EAAG,YAAA,EAAc,CAAA;EAAG,QAAA,IAAY,IAAA,EAAM,CAAA;AAAA,OAAgB,CAAA,GAAI,IAAA,EAAM,CAAA,KAAM,IAAA,EAAM,CAAA,KAAM,CAAA;AAAA,cAiBhI,oBAAA,MAjByB,OAAA;EAAa,KAAA,GAAQ,CAAA;EAAG,YAAA,EAAc,CAAA;EAAG,QAAA,IAAY,IAAA,EAAM,CAAA;AAAA,OAAgB,CAAA,GAAI,IAAA,EAAM,CAAA,KAAM,IAAA,EAAM,CAAA,KAAM,CAAA"}
@@ -1,16 +1,27 @@
1
- 'use client'
2
- import { useCallback as e, useState as t } from "react";
1
+ 'use client';
2
+ import { useCallback, useState } from "react";
3
+
3
4
  //#region src/hooks/useControllableState.ts
4
- var n = (n) => {
5
- let { value: r, defaultValue: i, onChange: a } = n, [o, s] = t(i), c = r !== void 0, l = c ? r : o;
6
- return [l, e((e) => {
7
- let t = typeof e == "function" ? e(l) : e;
8
- c || s(t), a?.(t);
5
+ /**
6
+ * Hook for managing uncontrolled state with optional external control.
7
+ */
8
+ const useUncontrolledState = (options) => {
9
+ const { value, defaultValue, onChange } = options;
10
+ const [uncontrolled, setUncontrolled] = useState(defaultValue);
11
+ const isControlled = value !== void 0;
12
+ const state = isControlled ? value : uncontrolled;
13
+ return [state, useCallback((next) => {
14
+ const resolvedNext = typeof next === "function" ? next(state) : next;
15
+ if (!isControlled) setUncontrolled(resolvedNext);
16
+ onChange?.(resolvedNext);
9
17
  }, [
10
- c,
11
- a,
12
- l
18
+ isControlled,
19
+ onChange,
20
+ state
13
21
  ])];
14
- }, r = n;
22
+ };
23
+ const useControllableState = useUncontrolledState;
24
+
15
25
  //#endregion
16
- export { r as useControllableState, n as useUncontrolledState };
26
+ export { useControllableState, useUncontrolledState };
27
+ //# sourceMappingURL=useControllableState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useControllableState.js","names":[],"sources":["../../src/hooks/useControllableState.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\n\n/**\n * Hook for managing uncontrolled state with optional external control.\n */\nexport const useUncontrolledState = <T>(options: { value?: T; defaultValue: T; onChange?: (next: T) => void }): [T, (next: T | ((prev: T) => T)) => void] => {\n const { value, defaultValue, onChange } = options\n const [uncontrolled, setUncontrolled] = useState<T>(defaultValue)\n const isControlled = value !== undefined\n const state = isControlled ? (value as T) : uncontrolled\n const set = useCallback(\n (next: T | ((prev: T) => T)) => {\n const resolvedNext = typeof next === 'function' ? (next as (prev: T) => T)(state) : next\n if (!isControlled) setUncontrolled(resolvedNext)\n onChange?.(resolvedNext)\n },\n [isControlled, onChange, state],\n )\n return [state, set]\n}\n\n// Backward compatible alias.\nexport const useControllableState = useUncontrolledState\n"],"mappings":";;;;;;;AAKA,MAAa,wBAA2B,YAAqH;CAC3J,MAAM,EAAE,OAAO,cAAc,aAAa;CAC1C,MAAM,CAAC,cAAc,mBAAmB,SAAY,aAAa;CACjE,MAAM,eAAe,UAAU;CAC/B,MAAM,QAAQ,eAAgB,QAAc;AAS5C,QAAO,CAAC,OARI,aACT,SAA+B;EAC9B,MAAM,eAAe,OAAO,SAAS,aAAc,KAAwB,MAAM,GAAG;AACpF,MAAI,CAAC,aAAc,iBAAgB,aAAa;AAChD,aAAW,aAAa;IAE1B;EAAC;EAAc;EAAU;EAAM,CAEf,CAAC;;AAIrB,MAAa,uBAAuB"}
@@ -1,3 +1,7 @@
1
- export declare const convertColorToOklch: (color: string) => string;
2
- export declare const useColorToOklch: (color?: string) => string | undefined;
1
+ 'use client';
2
+ //#region src/hooks/useConvertToOklch.d.ts
3
+ declare const convertColorToOklch: (color: string) => string;
4
+ declare const useColorToOklch: (color?: string) => string | undefined;
5
+ //#endregion
6
+ export { convertColorToOklch, useColorToOklch };
3
7
  //# sourceMappingURL=useConvertToOklch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useConvertToOklch.d.ts","sourceRoot":"","sources":["../../src/hooks/useConvertToOklch.ts"],"names":[],"mappings":"AAiGA,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAYnD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,uBAIjC,CAAA"}
1
+ {"version":3,"file":"useConvertToOklch.d.ts","names":[],"sources":["../../src/hooks/useConvertToOklch.ts"],"mappings":";;cAiGa,mBAAA,GAAmB,KAAA;AAAA,cAcnB,eAAA,GAAe,KAAA"}
@@ -1,51 +1,96 @@
1
- 'use client'
2
- import { useMemo as e } from "react";
1
+ 'use client';
2
+ import { useMemo } from "react";
3
+
3
4
  //#region src/hooks/useConvertToOklch.ts
4
- var t = /^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i, n = /^rgba?\(/i, r = (e) => Math.max(0, Math.min(255, e)), i = (e) => Math.max(0, Math.min(1, e)), a = (e) => {
5
- if (!t.test(e)) return null;
6
- let n = e.slice(1), r = n.length === 3 || n.length === 4, i = (e) => Number.parseInt(r ? e.repeat(2) : e, 16);
7
- if (n.length === 3 || n.length === 4) {
8
- let [e, t, r, a] = n.split("");
5
+ const HEX_PATTERN = /^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
6
+ const RGB_PATTERN = /^rgba?\(/i;
7
+ const clampChannel = (value) => Math.max(0, Math.min(255, value));
8
+ const clampAlpha = (value) => Math.max(0, Math.min(1, value));
9
+ const parseHexColor = (color) => {
10
+ if (!HEX_PATTERN.test(color)) return null;
11
+ const hex = color.slice(1);
12
+ const hasShortForm = hex.length === 3 || hex.length === 4;
13
+ const toChannel = (value) => Number.parseInt(hasShortForm ? value.repeat(2) : value, 16);
14
+ if (hex.length === 3 || hex.length === 4) {
15
+ const [r, g, b, a] = hex.split("");
9
16
  return {
10
- r: i(e),
11
- g: i(t),
12
- b: i(r),
13
- a: a ? i(a) / 255 : 1
17
+ r: toChannel(r),
18
+ g: toChannel(g),
19
+ b: toChannel(b),
20
+ a: a ? toChannel(a) / 255 : 1
14
21
  };
15
22
  }
16
23
  return {
17
- r: i(n.slice(0, 2)),
18
- g: i(n.slice(2, 4)),
19
- b: i(n.slice(4, 6)),
20
- a: n.length === 8 ? i(n.slice(6, 8)) / 255 : 1
24
+ r: toChannel(hex.slice(0, 2)),
25
+ g: toChannel(hex.slice(2, 4)),
26
+ b: toChannel(hex.slice(4, 6)),
27
+ a: hex.length === 8 ? toChannel(hex.slice(6, 8)) / 255 : 1
28
+ };
29
+ };
30
+ const parseRgbColor = (color) => {
31
+ if (!RGB_PATTERN.test(color)) return null;
32
+ const match = color.trim().match(/^rgba?\(\s*([-+]?\d*\.?\d+%?)\s*[, ]\s*([-+]?\d*\.?\d+%?)\s*[, ]\s*([-+]?\d*\.?\d+%?)(?:\s*[,/]\s*([-+]?\d*\.?\d+%?))?\s*\)$/i);
33
+ if (!match) return null;
34
+ const toRgbChannel = (value) => {
35
+ if (value.endsWith("%")) return clampChannel(Number.parseFloat(value) / 100 * 255);
36
+ return clampChannel(Number.parseFloat(value));
37
+ };
38
+ const toAlphaChannel = (value) => {
39
+ if (!value) return 1;
40
+ if (value.endsWith("%")) return clampAlpha(Number.parseFloat(value) / 100);
41
+ return clampAlpha(Number.parseFloat(value));
21
42
  };
22
- }, o = (e) => {
23
- if (!n.test(e)) return null;
24
- let t = e.trim().match(/^rgba?\(\s*([-+]?\d*\.?\d+%?)\s*[, ]\s*([-+]?\d*\.?\d+%?)\s*[, ]\s*([-+]?\d*\.?\d+%?)(?:\s*[,/]\s*([-+]?\d*\.?\d+%?))?\s*\)$/i);
25
- if (!t) return null;
26
- let a = (e) => e.endsWith("%") ? r(Number.parseFloat(e) / 100 * 255) : r(Number.parseFloat(e));
27
43
  return {
28
- r: a(t[1]),
29
- g: a(t[2]),
30
- b: a(t[3]),
31
- a: ((e) => e ? e.endsWith("%") ? i(Number.parseFloat(e) / 100) : i(Number.parseFloat(e)) : 1)(t[4])
44
+ r: toRgbChannel(match[1]),
45
+ g: toRgbChannel(match[2]),
46
+ b: toRgbChannel(match[3]),
47
+ a: toAlphaChannel(match[4])
32
48
  };
33
- }, s = (e) => {
34
- let t = e / 255;
35
- return t <= .04045 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4;
36
- }, c = (e, t) => {
37
- let n = 10 ** t;
38
- return Math.round(e * n) / n;
39
- }, l = ({ r: e, g: t, b: n, a: r }) => {
40
- let i = s(e), a = s(t), o = s(n), l = .4122214708 * i + .5363325363 * a + .0514459929 * o, u = .2119034982 * i + .6806995451 * a + .1073969566 * o, d = .0883024619 * i + .2817188376 * a + .6299787005 * o, f = Math.cbrt(l), p = Math.cbrt(u), m = Math.cbrt(d), h = .2104542553 * f + .793617785 * p - .0040720468 * m, g = 1.9779984951 * f - 2.428592205 * p + .4505937099 * m, _ = .0259040371 * f + .7827717662 * p - .808675766 * m, v = Math.sqrt(g ** 2 + _ ** 2), y = (Math.atan2(_, g) * 180 / Math.PI + 360) % 360, b = c(h * 100, 2), x = c(v, 4), S = c(y, 2);
41
- return r < 1 ? `oklch(${b}% ${x} ${S} / ${c(r, 3)})` : `oklch(${b}% ${x} ${S})`;
42
- }, u = (e) => {
43
- let t = e.trim();
44
- if (t.length === 0 || t.toLowerCase().startsWith("oklch(")) return t;
45
- let n = a(t);
46
- if (n) return l(n);
47
- let r = o(t);
48
- return r ? l(r) : t;
49
- }, d = (t) => e(() => t && u(t), [t]);
49
+ };
50
+ const toLinear = (channel) => {
51
+ const normalized = channel / 255;
52
+ return normalized <= .04045 ? normalized / 12.92 : ((normalized + .055) / 1.055) ** 2.4;
53
+ };
54
+ const round = (value, digits) => {
55
+ const factor = 10 ** digits;
56
+ return Math.round(value * factor) / factor;
57
+ };
58
+ const rgbToOklch = ({ r, g, b, a }) => {
59
+ const rLinear = toLinear(r);
60
+ const gLinear = toLinear(g);
61
+ const bLinear = toLinear(b);
62
+ const l = .4122214708 * rLinear + .5363325363 * gLinear + .0514459929 * bLinear;
63
+ const m = .2119034982 * rLinear + .6806995451 * gLinear + .1073969566 * bLinear;
64
+ const s = .0883024619 * rLinear + .2817188376 * gLinear + .6299787005 * bLinear;
65
+ const lRoot = Math.cbrt(l);
66
+ const mRoot = Math.cbrt(m);
67
+ const sRoot = Math.cbrt(s);
68
+ const lComponent = .2104542553 * lRoot + .793617785 * mRoot - .0040720468 * sRoot;
69
+ const aComponent = 1.9779984951 * lRoot - 2.428592205 * mRoot + .4505937099 * sRoot;
70
+ const bComponent = .0259040371 * lRoot + .7827717662 * mRoot - .808675766 * sRoot;
71
+ const chroma = Math.sqrt(aComponent ** 2 + bComponent ** 2);
72
+ const hue = (Math.atan2(bComponent, aComponent) * 180 / Math.PI + 360) % 360;
73
+ const lightnessPercent = round(lComponent * 100, 2);
74
+ const roundedChroma = round(chroma, 4);
75
+ const roundedHue = round(hue, 2);
76
+ if (a < 1) return `oklch(${lightnessPercent}% ${roundedChroma} ${roundedHue} / ${round(a, 3)})`;
77
+ return `oklch(${lightnessPercent}% ${roundedChroma} ${roundedHue})`;
78
+ };
79
+ const convertColorToOklch = (color) => {
80
+ const trimmedColor = color.trim();
81
+ if (trimmedColor.length === 0) return trimmedColor;
82
+ if (trimmedColor.toLowerCase().startsWith("oklch(")) return trimmedColor;
83
+ const parsedHex = parseHexColor(trimmedColor);
84
+ if (parsedHex) return rgbToOklch(parsedHex);
85
+ const parsedRgb = parseRgbColor(trimmedColor);
86
+ if (parsedRgb) return rgbToOklch(parsedRgb);
87
+ return trimmedColor;
88
+ };
89
+ const useColorToOklch = (color) => useMemo(() => {
90
+ if (!color) return color;
91
+ return convertColorToOklch(color);
92
+ }, [color]);
93
+
50
94
  //#endregion
51
- export { u as convertColorToOklch, d as useColorToOklch };
95
+ export { convertColorToOklch, useColorToOklch };
96
+ //# sourceMappingURL=useConvertToOklch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConvertToOklch.js","names":[],"sources":["../../src/hooks/useConvertToOklch.ts"],"sourcesContent":["import { useMemo } from 'react'\n\nconst HEX_PATTERN = /^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i\nconst RGB_PATTERN = /^rgba?\\(/i\n\nconst clampChannel = (value: number) => Math.max(0, Math.min(255, value))\nconst clampAlpha = (value: number) => Math.max(0, Math.min(1, value))\n\nconst parseHexColor = (color: string): { r: number; g: number; b: number; a: number } | null => {\n if (!HEX_PATTERN.test(color)) return null\n\n const hex = color.slice(1)\n const hasShortForm = hex.length === 3 || hex.length === 4\n\n const toChannel = (value: string) => Number.parseInt(hasShortForm ? value.repeat(2) : value, 16)\n\n if (hex.length === 3 || hex.length === 4) {\n const [r, g, b, a] = hex.split('')\n return {\n r: toChannel(r),\n g: toChannel(g),\n b: toChannel(b),\n a: a ? toChannel(a) / 255 : 1,\n }\n }\n\n return {\n r: toChannel(hex.slice(0, 2)),\n g: toChannel(hex.slice(2, 4)),\n b: toChannel(hex.slice(4, 6)),\n a: hex.length === 8 ? toChannel(hex.slice(6, 8)) / 255 : 1,\n }\n}\n\nconst parseRgbColor = (color: string): { r: number; g: number; b: number; a: number } | null => {\n if (!RGB_PATTERN.test(color)) return null\n\n const match = color.trim().match(/^rgba?\\(\\s*([-+]?\\d*\\.?\\d+%?)\\s*[, ]\\s*([-+]?\\d*\\.?\\d+%?)\\s*[, ]\\s*([-+]?\\d*\\.?\\d+%?)(?:\\s*[,/]\\s*([-+]?\\d*\\.?\\d+%?))?\\s*\\)$/i)\n if (!match) return null\n\n const toRgbChannel = (value: string) => {\n if (value.endsWith('%')) return clampChannel((Number.parseFloat(value) / 100) * 255)\n return clampChannel(Number.parseFloat(value))\n }\n\n const toAlphaChannel = (value?: string) => {\n if (!value) return 1\n if (value.endsWith('%')) return clampAlpha(Number.parseFloat(value) / 100)\n return clampAlpha(Number.parseFloat(value))\n }\n\n return {\n r: toRgbChannel(match[1]),\n g: toRgbChannel(match[2]),\n b: toRgbChannel(match[3]),\n a: toAlphaChannel(match[4]),\n }\n}\n\nconst toLinear = (channel: number) => {\n const normalized = channel / 255\n return normalized <= 0.04045 ? normalized / 12.92 : ((normalized + 0.055) / 1.055) ** 2.4\n}\n\nconst round = (value: number, digits: number) => {\n const factor = 10 ** digits\n return Math.round(value * factor) / factor\n}\n\nconst rgbToOklch = ({ r, g, b, a }: { r: number; g: number; b: number; a: number }) => {\n const rLinear = toLinear(r)\n const gLinear = toLinear(g)\n const bLinear = toLinear(b)\n\n const l = 0.4122214708 * rLinear + 0.5363325363 * gLinear + 0.0514459929 * bLinear\n const m = 0.2119034982 * rLinear + 0.6806995451 * gLinear + 0.1073969566 * bLinear\n const s = 0.0883024619 * rLinear + 0.2817188376 * gLinear + 0.6299787005 * bLinear\n\n const lRoot = Math.cbrt(l)\n const mRoot = Math.cbrt(m)\n const sRoot = Math.cbrt(s)\n\n const lComponent = 0.2104542553 * lRoot + 0.793617785 * mRoot - 0.0040720468 * sRoot\n const aComponent = 1.9779984951 * lRoot - 2.428592205 * mRoot + 0.4505937099 * sRoot\n const bComponent = 0.0259040371 * lRoot + 0.7827717662 * mRoot - 0.808675766 * sRoot\n\n const chroma = Math.sqrt(aComponent ** 2 + bComponent ** 2)\n const hue = ((Math.atan2(bComponent, aComponent) * 180) / Math.PI + 360) % 360\n\n const lightnessPercent = round(lComponent * 100, 2)\n const roundedChroma = round(chroma, 4)\n const roundedHue = round(hue, 2)\n\n if (a < 1) return `oklch(${lightnessPercent}% ${roundedChroma} ${roundedHue} / ${round(a, 3)})`\n return `oklch(${lightnessPercent}% ${roundedChroma} ${roundedHue})`\n}\n\nexport const convertColorToOklch = (color: string): string => {\n const trimmedColor = color.trim()\n if (trimmedColor.length === 0) return trimmedColor\n if (trimmedColor.toLowerCase().startsWith('oklch(')) return trimmedColor\n\n const parsedHex = parseHexColor(trimmedColor)\n if (parsedHex) return rgbToOklch(parsedHex)\n\n const parsedRgb = parseRgbColor(trimmedColor)\n if (parsedRgb) return rgbToOklch(parsedRgb)\n\n return trimmedColor\n}\n\nexport const useColorToOklch = (color?: string) =>\n useMemo(() => {\n if (!color) return color\n return convertColorToOklch(color)\n }, [color])\n"],"mappings":";;;;AAEA,MAAM,cAAc;AACpB,MAAM,cAAc;AAEpB,MAAM,gBAAgB,UAAkB,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,MAAM,CAAC;AACzE,MAAM,cAAc,UAAkB,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,MAAM,CAAC;AAErE,MAAM,iBAAiB,UAAyE;AAC9F,KAAI,CAAC,YAAY,KAAK,MAAM,CAAE,QAAO;CAErC,MAAM,MAAM,MAAM,MAAM,EAAE;CAC1B,MAAM,eAAe,IAAI,WAAW,KAAK,IAAI,WAAW;CAExD,MAAM,aAAa,UAAkB,OAAO,SAAS,eAAe,MAAM,OAAO,EAAE,GAAG,OAAO,GAAG;AAEhG,KAAI,IAAI,WAAW,KAAK,IAAI,WAAW,GAAG;EACxC,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,GAAG;AAClC,SAAO;GACL,GAAG,UAAU,EAAE;GACf,GAAG,UAAU,EAAE;GACf,GAAG,UAAU,EAAE;GACf,GAAG,IAAI,UAAU,EAAE,GAAG,MAAM;GAC7B;;AAGH,QAAO;EACL,GAAG,UAAU,IAAI,MAAM,GAAG,EAAE,CAAC;EAC7B,GAAG,UAAU,IAAI,MAAM,GAAG,EAAE,CAAC;EAC7B,GAAG,UAAU,IAAI,MAAM,GAAG,EAAE,CAAC;EAC7B,GAAG,IAAI,WAAW,IAAI,UAAU,IAAI,MAAM,GAAG,EAAE,CAAC,GAAG,MAAM;EAC1D;;AAGH,MAAM,iBAAiB,UAAyE;AAC9F,KAAI,CAAC,YAAY,KAAK,MAAM,CAAE,QAAO;CAErC,MAAM,QAAQ,MAAM,MAAM,CAAC,MAAM,gIAAgI;AACjK,KAAI,CAAC,MAAO,QAAO;CAEnB,MAAM,gBAAgB,UAAkB;AACtC,MAAI,MAAM,SAAS,IAAI,CAAE,QAAO,aAAc,OAAO,WAAW,MAAM,GAAG,MAAO,IAAI;AACpF,SAAO,aAAa,OAAO,WAAW,MAAM,CAAC;;CAG/C,MAAM,kBAAkB,UAAmB;AACzC,MAAI,CAAC,MAAO,QAAO;AACnB,MAAI,MAAM,SAAS,IAAI,CAAE,QAAO,WAAW,OAAO,WAAW,MAAM,GAAG,IAAI;AAC1E,SAAO,WAAW,OAAO,WAAW,MAAM,CAAC;;AAG7C,QAAO;EACL,GAAG,aAAa,MAAM,GAAG;EACzB,GAAG,aAAa,MAAM,GAAG;EACzB,GAAG,aAAa,MAAM,GAAG;EACzB,GAAG,eAAe,MAAM,GAAG;EAC5B;;AAGH,MAAM,YAAY,YAAoB;CACpC,MAAM,aAAa,UAAU;AAC7B,QAAO,cAAc,SAAU,aAAa,UAAU,aAAa,QAAS,UAAU;;AAGxF,MAAM,SAAS,OAAe,WAAmB;CAC/C,MAAM,SAAS,MAAM;AACrB,QAAO,KAAK,MAAM,QAAQ,OAAO,GAAG;;AAGtC,MAAM,cAAc,EAAE,GAAG,GAAG,GAAG,QAAwD;CACrF,MAAM,UAAU,SAAS,EAAE;CAC3B,MAAM,UAAU,SAAS,EAAE;CAC3B,MAAM,UAAU,SAAS,EAAE;CAE3B,MAAM,IAAI,cAAe,UAAU,cAAe,UAAU,cAAe;CAC3E,MAAM,IAAI,cAAe,UAAU,cAAe,UAAU,cAAe;CAC3E,MAAM,IAAI,cAAe,UAAU,cAAe,UAAU,cAAe;CAE3E,MAAM,QAAQ,KAAK,KAAK,EAAE;CAC1B,MAAM,QAAQ,KAAK,KAAK,EAAE;CAC1B,MAAM,QAAQ,KAAK,KAAK,EAAE;CAE1B,MAAM,aAAa,cAAe,QAAQ,aAAc,QAAQ,cAAe;CAC/E,MAAM,aAAa,eAAe,QAAQ,cAAc,QAAQ,cAAe;CAC/E,MAAM,aAAa,cAAe,QAAQ,cAAe,QAAQ,aAAc;CAE/E,MAAM,SAAS,KAAK,KAAK,cAAc,IAAI,cAAc,EAAE;CAC3D,MAAM,OAAQ,KAAK,MAAM,YAAY,WAAW,GAAG,MAAO,KAAK,KAAK,OAAO;CAE3E,MAAM,mBAAmB,MAAM,aAAa,KAAK,EAAE;CACnD,MAAM,gBAAgB,MAAM,QAAQ,EAAE;CACtC,MAAM,aAAa,MAAM,KAAK,EAAE;AAEhC,KAAI,IAAI,EAAG,QAAO,SAAS,iBAAiB,IAAI,cAAc,GAAG,WAAW,KAAK,MAAM,GAAG,EAAE,CAAC;AAC7F,QAAO,SAAS,iBAAiB,IAAI,cAAc,GAAG,WAAW;;AAGnE,MAAa,uBAAuB,UAA0B;CAC5D,MAAM,eAAe,MAAM,MAAM;AACjC,KAAI,aAAa,WAAW,EAAG,QAAO;AACtC,KAAI,aAAa,aAAa,CAAC,WAAW,SAAS,CAAE,QAAO;CAE5D,MAAM,YAAY,cAAc,aAAa;AAC7C,KAAI,UAAW,QAAO,WAAW,UAAU;CAE3C,MAAM,YAAY,cAAc,aAAa;AAC7C,KAAI,UAAW,QAAO,WAAW,UAAU;AAE3C,QAAO;;AAGT,MAAa,mBAAmB,UAC9B,cAAc;AACZ,KAAI,CAAC,MAAO,QAAO;AACnB,QAAO,oBAAoB,MAAM;GAChC,CAAC,MAAM,CAAC"}
@@ -1,8 +1,12 @@
1
- export type Theme = 'light' | 'dark';
2
- export interface UseThemeReturn {
3
- theme: Theme;
4
- setTheme: (theme: Theme) => void;
5
- toggleTheme: () => void;
1
+ 'use client';
2
+ //#region src/hooks/useTheme.d.ts
3
+ type Theme = 'light' | 'dark';
4
+ interface UseThemeReturn {
5
+ theme: Theme;
6
+ setTheme: (theme: Theme) => void;
7
+ toggleTheme: () => void;
6
8
  }
7
- export declare const useTheme: (defaultTheme?: Theme) => UseThemeReturn;
9
+ declare const useTheme: (defaultTheme?: Theme) => UseThemeReturn;
10
+ //#endregion
11
+ export { Theme, UseThemeReturn, useTheme };
8
12
  //# sourceMappingURL=useTheme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTheme.d.ts","sourceRoot":"","sources":["../../src/hooks/useTheme.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAED,eAAO,MAAM,QAAQ,GAAI,eAAc,KAAc,KAAG,cA4BvD,CAAA"}
1
+ {"version":3,"file":"useTheme.d.ts","names":[],"sources":["../../src/hooks/useTheme.ts"],"mappings":";;KAEY,KAAA;AAAA,UAEK,cAAA;EACf,KAAA,EAAO,KAAA;EACP,QAAA,GAAW,KAAA,EAAO,KAAA;EAClB,WAAA;AAAA;AAAA,cAGW,QAAA,GAAQ,YAAA,GAAkB,KAAA,KAAiB,cAAA"}
@@ -1,23 +1,31 @@
1
- 'use client'
2
- import { useEffect as e, useState as t } from "react";
1
+ 'use client';
2
+ import { useEffect, useState } from "react";
3
+
3
4
  //#region src/hooks/useTheme.ts
4
- var n = (n = "dark") => {
5
- let [r, i] = t(() => {
6
- if (typeof window > "u") return n;
7
- let e = localStorage.getItem("theme");
8
- return e === "light" || e === "dark" ? e : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
9
- }), a = (e) => {
10
- i(e);
5
+ const useTheme = (defaultTheme = "dark") => {
6
+ const [theme, setThemeState] = useState(() => {
7
+ if (typeof window === "undefined") return defaultTheme;
8
+ const stored = localStorage.getItem("theme");
9
+ if (stored === "light" || stored === "dark") return stored;
10
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
11
+ });
12
+ const setTheme = (newTheme) => {
13
+ setThemeState(newTheme);
11
14
  };
12
- return e(() => {
13
- document.documentElement.setAttribute("data-theme", r), localStorage.setItem("theme", r);
14
- }, [r]), {
15
- theme: r,
16
- setTheme: a,
17
- toggleTheme: () => {
18
- a(r === "dark" ? "light" : "dark");
19
- }
15
+ const toggleTheme = () => {
16
+ setTheme(theme === "dark" ? "light" : "dark");
17
+ };
18
+ useEffect(() => {
19
+ document.documentElement.setAttribute("data-theme", theme);
20
+ localStorage.setItem("theme", theme);
21
+ }, [theme]);
22
+ return {
23
+ theme,
24
+ setTheme,
25
+ toggleTheme
20
26
  };
21
27
  };
28
+
22
29
  //#endregion
23
- export { n as useTheme };
30
+ export { useTheme };
31
+ //# sourceMappingURL=useTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTheme.js","names":[],"sources":["../../src/hooks/useTheme.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nexport type Theme = 'light' | 'dark'\n\nexport interface UseThemeReturn {\n theme: Theme\n setTheme: (theme: Theme) => void\n toggleTheme: () => void\n}\n\nexport const useTheme = (defaultTheme: Theme = 'dark'): UseThemeReturn => {\n const [theme, setThemeState] = useState<Theme>(() => {\n if (typeof window === 'undefined') return defaultTheme\n\n const stored = localStorage.getItem('theme') as Theme | null\n if (stored === 'light' || stored === 'dark') return stored\n\n // Check system preference\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n })\n\n const setTheme = (newTheme: Theme) => {\n setThemeState(newTheme)\n }\n\n const toggleTheme = () => {\n setTheme(theme === 'dark' ? 'light' : 'dark')\n }\n\n useEffect(() => {\n const root = document.documentElement\n\n // Set data-theme attribute on root element (matching your existing CSS selectors)\n root.setAttribute('data-theme', theme)\n localStorage.setItem('theme', theme)\n }, [theme])\n\n return { theme, setTheme, toggleTheme }\n}\n"],"mappings":";;;;AAUA,MAAa,YAAY,eAAsB,WAA2B;CACxE,MAAM,CAAC,OAAO,iBAAiB,eAAsB;AACnD,MAAI,OAAO,WAAW,YAAa,QAAO;EAE1C,MAAM,SAAS,aAAa,QAAQ,QAAQ;AAC5C,MAAI,WAAW,WAAW,WAAW,OAAQ,QAAO;AAGpD,SAAO,OAAO,WAAW,+BAA+B,CAAC,UAAU,SAAS;GAC5E;CAEF,MAAM,YAAY,aAAoB;AACpC,gBAAc,SAAS;;CAGzB,MAAM,oBAAoB;AACxB,WAAS,UAAU,SAAS,UAAU,OAAO;;AAG/C,iBAAgB;AAId,EAHa,SAAS,gBAGjB,aAAa,cAAc,MAAM;AACtC,eAAa,QAAQ,SAAS,MAAM;IACnC,CAAC,MAAM,CAAC;AAEX,QAAO;EAAE;EAAO;EAAU;EAAa"}
@@ -1,9 +1,13 @@
1
+ 'use client';
2
+ //#region src/hooks/useUncontrolledState.d.ts
1
3
  /**
2
4
  * Hook for managing uncontrolled state with optional external control.
3
5
  */
4
- export declare const useUncontrolledState: <T>(options: {
5
- value?: T;
6
- defaultValue: T;
7
- onChange?: (next: T) => void;
6
+ declare const useUncontrolledState: <T>(options: {
7
+ value?: T;
8
+ defaultValue: T;
9
+ onChange?: (next: T) => void;
8
10
  }) => [T, (next: T | ((prev: T) => T)) => void];
11
+ //#endregion
12
+ export { useUncontrolledState };
9
13
  //# sourceMappingURL=useUncontrolledState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUncontrolledState.d.ts","sourceRoot":"","sources":["../../src/hooks/useUncontrolledState.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,KAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAcvJ,CAAA"}
1
+ {"version":3,"file":"useUncontrolledState.d.ts","names":[],"sources":["../../src/hooks/useUncontrolledState.ts"],"mappings":";;;AAKA;;cAAa,oBAAA,MAAyB,OAAA;EAAa,KAAA,GAAQ,CAAA;EAAG,YAAA,EAAc,CAAA;EAAG,QAAA,IAAY,IAAA,EAAM,CAAA;AAAA,OAAgB,CAAA,GAAI,IAAA,EAAM,CAAA,KAAM,IAAA,EAAM,CAAA,KAAM,CAAA"}
@@ -1,16 +1,26 @@
1
- 'use client'
2
- import { useCallback as e, useState as t } from "react";
1
+ 'use client';
2
+ import { useCallback, useState } from "react";
3
+
3
4
  //#region src/hooks/useUncontrolledState.ts
4
- var n = (n) => {
5
- let { value: r, defaultValue: i, onChange: a } = n, [o, s] = t(i), c = r !== void 0, l = c ? r : o;
6
- return [l, e((e) => {
7
- let t = typeof e == "function" ? e(l) : e;
8
- c || s(t), a?.(t);
5
+ /**
6
+ * Hook for managing uncontrolled state with optional external control.
7
+ */
8
+ const useUncontrolledState = (options) => {
9
+ const { value, defaultValue, onChange } = options;
10
+ const [uncontrolled, setUncontrolled] = useState(defaultValue);
11
+ const isControlled = value !== void 0;
12
+ const state = isControlled ? value : uncontrolled;
13
+ return [state, useCallback((next) => {
14
+ const resolvedNext = typeof next === "function" ? next(state) : next;
15
+ if (!isControlled) setUncontrolled(resolvedNext);
16
+ onChange?.(resolvedNext);
9
17
  }, [
10
- c,
11
- a,
12
- l
18
+ isControlled,
19
+ onChange,
20
+ state
13
21
  ])];
14
22
  };
23
+
15
24
  //#endregion
16
- export { n as useUncontrolledState };
25
+ export { useUncontrolledState };
26
+ //# sourceMappingURL=useUncontrolledState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUncontrolledState.js","names":[],"sources":["../../src/hooks/useUncontrolledState.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\n\n/**\n * Hook for managing uncontrolled state with optional external control.\n */\nexport const useUncontrolledState = <T>(options: { value?: T; defaultValue: T; onChange?: (next: T) => void }): [T, (next: T | ((prev: T) => T)) => void] => {\n const { value, defaultValue, onChange } = options\n const [uncontrolled, setUncontrolled] = useState<T>(defaultValue)\n const isControlled = value !== undefined\n const state = isControlled ? (value as T) : uncontrolled\n const set = useCallback(\n (next: T | ((prev: T) => T)) => {\n const resolvedNext = typeof next === 'function' ? (next as (prev: T) => T)(state) : next\n if (!isControlled) setUncontrolled(resolvedNext)\n onChange?.(resolvedNext)\n },\n [isControlled, onChange, state],\n )\n return [state, set]\n}\n"],"mappings":";;;;;;;AAKA,MAAa,wBAA2B,YAAqH;CAC3J,MAAM,EAAE,OAAO,cAAc,aAAa;CAC1C,MAAM,CAAC,cAAc,mBAAmB,SAAY,aAAa;CACjE,MAAM,eAAe,UAAU;CAC/B,MAAM,QAAQ,eAAgB,QAAc;AAS5C,QAAO,CAAC,OARI,aACT,SAA+B;EAC9B,MAAM,eAAe,OAAO,SAAS,aAAc,KAAwB,MAAM,GAAG;AACpF,MAAI,CAAC,aAAc,iBAAgB,aAAa;AAChD,aAAW,aAAa;IAE1B;EAAC;EAAc;EAAU;EAAM,CAEf,CAAC"}