@spear-ai/spectral 1.13.1 → 1.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (721) hide show
  1. package/dist/Accordion.d.ts +66 -46
  2. package/dist/Accordion.d.ts.map +1 -0
  3. package/dist/Accordion.js +113 -4
  4. package/dist/Accordion.js.map +1 -0
  5. package/dist/Alert/AlertBase.d.ts +75 -41
  6. package/dist/Alert/AlertBase.d.ts.map +1 -0
  7. package/dist/Alert/AlertBase.js +48 -39
  8. package/dist/Alert/AlertBase.js.map +1 -0
  9. package/dist/Alert.d.ts +24 -10
  10. package/dist/Alert.d.ts.map +1 -0
  11. package/dist/Alert.js +62 -50
  12. package/dist/Alert.js.map +1 -0
  13. package/dist/Avatar.d.ts +24 -11
  14. package/dist/Avatar.d.ts.map +1 -0
  15. package/dist/Avatar.js +87 -68
  16. package/dist/Avatar.js.map +1 -0
  17. package/dist/Badge.d.ts +19 -8
  18. package/dist/Badge.d.ts.map +1 -0
  19. package/dist/Badge.js +18 -13
  20. package/dist/Badge.js.map +1 -0
  21. package/dist/Button.d.ts +54 -26
  22. package/dist/Button.d.ts.map +1 -0
  23. package/dist/Button.js +72 -57
  24. package/dist/Button.js.map +1 -0
  25. package/dist/ButtonGroup/ButtonGroupButton.d.ts +25 -12
  26. package/dist/ButtonGroup/ButtonGroupButton.d.ts.map +1 -0
  27. package/dist/ButtonGroup/ButtonGroupButton.js +24 -19
  28. package/dist/ButtonGroup/ButtonGroupButton.js.map +1 -0
  29. package/dist/ButtonGroup.d.ts +60 -31
  30. package/dist/ButtonGroup.d.ts.map +1 -0
  31. package/dist/ButtonGroup.js +64 -49
  32. package/dist/ButtonGroup.js.map +1 -0
  33. package/dist/ButtonIcon.d.ts +32 -16
  34. package/dist/ButtonIcon.d.ts.map +1 -0
  35. package/dist/ButtonIcon.js +43 -35
  36. package/dist/ButtonIcon.js.map +1 -0
  37. package/dist/Checkbox/CheckboxBase.d.ts +54 -26
  38. package/dist/Checkbox/CheckboxBase.d.ts.map +1 -0
  39. package/dist/Checkbox/CheckboxBase.js +106 -74
  40. package/dist/Checkbox/CheckboxBase.js.map +1 -0
  41. package/dist/Checkbox.d.ts +49 -24
  42. package/dist/Checkbox.d.ts.map +1 -0
  43. package/dist/Checkbox.js +49 -40
  44. package/dist/Checkbox.js.map +1 -0
  45. package/dist/Combobox.d.ts +54 -23
  46. package/dist/Combobox.d.ts.map +1 -0
  47. package/dist/Combobox.js +203 -4
  48. package/dist/Combobox.js.map +1 -0
  49. package/dist/ControlGroup/ControlGroupSelect.d.ts +73 -43
  50. package/dist/ControlGroup/ControlGroupSelect.d.ts.map +1 -0
  51. package/dist/ControlGroup/ControlGroupSelect.js +159 -121
  52. package/dist/ControlGroup/ControlGroupSelect.js.map +1 -0
  53. package/dist/ControlGroup.d.ts +43 -21
  54. package/dist/ControlGroup.d.ts.map +1 -0
  55. package/dist/ControlGroup.js +54 -41
  56. package/dist/ControlGroup.js.map +1 -0
  57. package/dist/DataCard/Card.d.ts +36 -9
  58. package/dist/DataCard/Card.d.ts.map +1 -0
  59. package/dist/DataCard/Card.js +57 -37
  60. package/dist/DataCard/Card.js.map +1 -0
  61. package/dist/DataCard.d.ts +23 -9
  62. package/dist/DataCard.d.ts.map +1 -0
  63. package/dist/DataCard.js +40 -36
  64. package/dist/DataCard.js.map +1 -0
  65. package/dist/DateTimePicker/Calendar.d.ts +24 -11
  66. package/dist/DateTimePicker/Calendar.d.ts.map +1 -0
  67. package/dist/DateTimePicker/Calendar.js +54 -3
  68. package/dist/DateTimePicker/Calendar.js.map +1 -0
  69. package/dist/DateTimePicker/DateTimeDisplayInput.d.ts +24 -18
  70. package/dist/DateTimePicker/DateTimeDisplayInput.d.ts.map +1 -0
  71. package/dist/DateTimePicker/DateTimeDisplayInput.js +360 -213
  72. package/dist/DateTimePicker/DateTimeDisplayInput.js.map +1 -0
  73. package/dist/DateTimePicker/DateTimeInput.d.ts +41 -19
  74. package/dist/DateTimePicker/DateTimeInput.d.ts.map +1 -0
  75. package/dist/DateTimePicker/DateTimeInput.js +151 -98
  76. package/dist/DateTimePicker/DateTimeInput.js.map +1 -0
  77. package/dist/DateTimePicker/DateTimeUtils.d.ts +121 -109
  78. package/dist/DateTimePicker/DateTimeUtils.d.ts.map +1 -0
  79. package/dist/DateTimePicker/DateTimeUtils.js +296 -2
  80. package/dist/DateTimePicker/DateTimeUtils.js.map +1 -0
  81. package/dist/DateTimePicker/TimePeriodSelect.d.ts +16 -10
  82. package/dist/DateTimePicker/TimePeriodSelect.d.ts.map +1 -0
  83. package/dist/DateTimePicker/TimePeriodSelect.js +54 -40
  84. package/dist/DateTimePicker/TimePeriodSelect.js.map +1 -0
  85. package/dist/DateTimePicker/TimePicker.d.ts +29 -14
  86. package/dist/DateTimePicker/TimePicker.d.ts.map +1 -0
  87. package/dist/DateTimePicker/TimePicker.js +68 -54
  88. package/dist/DateTimePicker/TimePicker.js.map +1 -0
  89. package/dist/DateTimePicker.d.ts +56 -31
  90. package/dist/DateTimePicker.d.ts.map +1 -0
  91. package/dist/DateTimePicker.js +86 -71
  92. package/dist/DateTimePicker.js.map +1 -0
  93. package/dist/Dialog.d.ts +60 -21
  94. package/dist/Dialog.d.ts.map +1 -0
  95. package/dist/Dialog.js +103 -72
  96. package/dist/Dialog.js.map +1 -0
  97. package/dist/Drawer.d.ts +32 -14
  98. package/dist/Drawer.d.ts.map +1 -0
  99. package/dist/Drawer.js +46 -41
  100. package/dist/Drawer.js.map +1 -0
  101. package/dist/DropdownMenu.d.ts +84 -51
  102. package/dist/DropdownMenu.d.ts.map +1 -0
  103. package/dist/DropdownMenu.js +156 -3
  104. package/dist/DropdownMenu.js.map +1 -0
  105. package/dist/FormFieldMessage.d.ts +32 -8
  106. package/dist/FormFieldMessage.d.ts.map +1 -0
  107. package/dist/FormFieldMessage.js +64 -45
  108. package/dist/FormFieldMessage.js.map +1 -0
  109. package/dist/HoverCard.d.ts +51 -25
  110. package/dist/HoverCard.d.ts.map +1 -0
  111. package/dist/HoverCard.js +67 -3
  112. package/dist/HoverCard.js.map +1 -0
  113. package/dist/Icons/AdjustmentsIcon.d.ts +16 -3
  114. package/dist/Icons/AdjustmentsIcon.d.ts.map +1 -0
  115. package/dist/Icons/AdjustmentsIcon.js +84 -78
  116. package/dist/Icons/AdjustmentsIcon.js.map +1 -0
  117. package/dist/Icons/AnalyzeIcon.d.ts +16 -3
  118. package/dist/Icons/AnalyzeIcon.d.ts.map +1 -0
  119. package/dist/Icons/AnalyzeIcon.js +56 -50
  120. package/dist/Icons/AnalyzeIcon.js.map +1 -0
  121. package/dist/Icons/AnnotationsIcon.d.ts +16 -3
  122. package/dist/Icons/AnnotationsIcon.d.ts.map +1 -0
  123. package/dist/Icons/AnnotationsIcon.js +26 -20
  124. package/dist/Icons/AnnotationsIcon.js.map +1 -0
  125. package/dist/Icons/ApprovedIcon.d.ts +16 -3
  126. package/dist/Icons/ApprovedIcon.d.ts.map +1 -0
  127. package/dist/Icons/ApprovedIcon.js +32 -26
  128. package/dist/Icons/ApprovedIcon.js.map +1 -0
  129. package/dist/Icons/ArrowDownIcon.d.ts +16 -3
  130. package/dist/Icons/ArrowDownIcon.d.ts.map +1 -0
  131. package/dist/Icons/ArrowDownIcon.js +26 -20
  132. package/dist/Icons/ArrowDownIcon.js.map +1 -0
  133. package/dist/Icons/ArrowUpIcon.d.ts +16 -3
  134. package/dist/Icons/ArrowUpIcon.d.ts.map +1 -0
  135. package/dist/Icons/ArrowUpIcon.js +26 -20
  136. package/dist/Icons/ArrowUpIcon.js.map +1 -0
  137. package/dist/Icons/BoxToolIcon.d.ts +16 -3
  138. package/dist/Icons/BoxToolIcon.d.ts.map +1 -0
  139. package/dist/Icons/BoxToolIcon.js +23 -17
  140. package/dist/Icons/BoxToolIcon.js.map +1 -0
  141. package/dist/Icons/CalendarIcon.d.ts +16 -3
  142. package/dist/Icons/CalendarIcon.d.ts.map +1 -0
  143. package/dist/Icons/CalendarIcon.js +49 -43
  144. package/dist/Icons/CalendarIcon.js.map +1 -0
  145. package/dist/Icons/CheckCircleIcon.d.ts +16 -3
  146. package/dist/Icons/CheckCircleIcon.d.ts.map +1 -0
  147. package/dist/Icons/CheckCircleIcon.js +32 -26
  148. package/dist/Icons/CheckCircleIcon.js.map +1 -0
  149. package/dist/Icons/CheckSquareIcon.d.ts +16 -3
  150. package/dist/Icons/CheckSquareIcon.d.ts.map +1 -0
  151. package/dist/Icons/CheckSquareIcon.js +32 -26
  152. package/dist/Icons/CheckSquareIcon.js.map +1 -0
  153. package/dist/Icons/CheckmarkIcon.d.ts +17 -3
  154. package/dist/Icons/CheckmarkIcon.d.ts.map +1 -0
  155. package/dist/Icons/CheckmarkIcon.js +28 -22
  156. package/dist/Icons/CheckmarkIcon.js.map +1 -0
  157. package/dist/Icons/ChevronDownIcon.d.ts +16 -3
  158. package/dist/Icons/ChevronDownIcon.d.ts.map +1 -0
  159. package/dist/Icons/ChevronDownIcon.js +28 -22
  160. package/dist/Icons/ChevronDownIcon.js.map +1 -0
  161. package/dist/Icons/ChevronUpIcon.d.ts +16 -3
  162. package/dist/Icons/ChevronUpIcon.d.ts.map +1 -0
  163. package/dist/Icons/ChevronUpIcon.js +28 -22
  164. package/dist/Icons/ChevronUpIcon.js.map +1 -0
  165. package/dist/Icons/ClockIcon.d.ts +16 -3
  166. package/dist/Icons/ClockIcon.d.ts.map +1 -0
  167. package/dist/Icons/ClockIcon.js +32 -26
  168. package/dist/Icons/ClockIcon.js.map +1 -0
  169. package/dist/Icons/CloseCircleIcon.d.ts +16 -3
  170. package/dist/Icons/CloseCircleIcon.d.ts.map +1 -0
  171. package/dist/Icons/CloseCircleIcon.js +32 -26
  172. package/dist/Icons/CloseCircleIcon.js.map +1 -0
  173. package/dist/Icons/CloseIcon.d.ts +16 -3
  174. package/dist/Icons/CloseIcon.d.ts.map +1 -0
  175. package/dist/Icons/CloseIcon.js +24 -18
  176. package/dist/Icons/CloseIcon.js.map +1 -0
  177. package/dist/Icons/Crosshairs2Icon.d.ts +16 -3
  178. package/dist/Icons/Crosshairs2Icon.d.ts.map +1 -0
  179. package/dist/Icons/Crosshairs2Icon.js +56 -50
  180. package/dist/Icons/Crosshairs2Icon.js.map +1 -0
  181. package/dist/Icons/CrosshairsIcon.d.ts +16 -3
  182. package/dist/Icons/CrosshairsIcon.d.ts.map +1 -0
  183. package/dist/Icons/CrosshairsIcon.js +25 -19
  184. package/dist/Icons/CrosshairsIcon.js.map +1 -0
  185. package/dist/Icons/DashboardIcon.d.ts +16 -3
  186. package/dist/Icons/DashboardIcon.d.ts.map +1 -0
  187. package/dist/Icons/DashboardIcon.js +42 -36
  188. package/dist/Icons/DashboardIcon.js.map +1 -0
  189. package/dist/Icons/DatabaseIcon.d.ts +16 -3
  190. package/dist/Icons/DatabaseIcon.d.ts.map +1 -0
  191. package/dist/Icons/DatabaseIcon.js +42 -36
  192. package/dist/Icons/DatabaseIcon.js.map +1 -0
  193. package/dist/Icons/DeleteIcon.d.ts +16 -3
  194. package/dist/Icons/DeleteIcon.d.ts.map +1 -0
  195. package/dist/Icons/DeleteIcon.js +42 -36
  196. package/dist/Icons/DeleteIcon.js.map +1 -0
  197. package/dist/Icons/DurationIcon.d.ts +16 -3
  198. package/dist/Icons/DurationIcon.d.ts.map +1 -0
  199. package/dist/Icons/DurationIcon.js +63 -57
  200. package/dist/Icons/DurationIcon.js.map +1 -0
  201. package/dist/Icons/EditIcon.d.ts +16 -3
  202. package/dist/Icons/EditIcon.d.ts.map +1 -0
  203. package/dist/Icons/EditIcon.js +32 -26
  204. package/dist/Icons/EditIcon.js.map +1 -0
  205. package/dist/Icons/EmailIcon.d.ts +16 -3
  206. package/dist/Icons/EmailIcon.d.ts.map +1 -0
  207. package/dist/Icons/EmailIcon.js +32 -26
  208. package/dist/Icons/EmailIcon.js.map +1 -0
  209. package/dist/Icons/EraserIcon.d.ts +16 -3
  210. package/dist/Icons/EraserIcon.d.ts.map +1 -0
  211. package/dist/Icons/EraserIcon.js +27 -23
  212. package/dist/Icons/EraserIcon.js.map +1 -0
  213. package/dist/Icons/ErrorIcon.d.ts +16 -3
  214. package/dist/Icons/ErrorIcon.d.ts.map +1 -0
  215. package/dist/Icons/ErrorIcon.js +33 -27
  216. package/dist/Icons/ErrorIcon.js.map +1 -0
  217. package/dist/Icons/EyeClosedIcon.d.ts +16 -3
  218. package/dist/Icons/EyeClosedIcon.d.ts.map +1 -0
  219. package/dist/Icons/EyeClosedIcon.js +35 -29
  220. package/dist/Icons/EyeClosedIcon.js.map +1 -0
  221. package/dist/Icons/EyeClosedIcon2.d.ts +16 -3
  222. package/dist/Icons/EyeClosedIcon2.d.ts.map +1 -0
  223. package/dist/Icons/EyeClosedIcon2.js +33 -27
  224. package/dist/Icons/EyeClosedIcon2.js.map +1 -0
  225. package/dist/Icons/EyeOpenIcon.d.ts +16 -3
  226. package/dist/Icons/EyeOpenIcon.d.ts.map +1 -0
  227. package/dist/Icons/EyeOpenIcon.js +28 -22
  228. package/dist/Icons/EyeOpenIcon.js.map +1 -0
  229. package/dist/Icons/FileDownloadIcon.d.ts +16 -3
  230. package/dist/Icons/FileDownloadIcon.d.ts.map +1 -0
  231. package/dist/Icons/FileDownloadIcon.js +49 -43
  232. package/dist/Icons/FileDownloadIcon.js.map +1 -0
  233. package/dist/Icons/GoToFirstIcon.d.ts +16 -3
  234. package/dist/Icons/GoToFirstIcon.d.ts.map +1 -0
  235. package/dist/Icons/GoToFirstIcon.js +32 -26
  236. package/dist/Icons/GoToFirstIcon.js.map +1 -0
  237. package/dist/Icons/GoToLastIcon.d.ts +16 -3
  238. package/dist/Icons/GoToLastIcon.d.ts.map +1 -0
  239. package/dist/Icons/GoToLastIcon.js +32 -26
  240. package/dist/Icons/GoToLastIcon.js.map +1 -0
  241. package/dist/Icons/HarmonicCursorsIcon.d.ts +16 -3
  242. package/dist/Icons/HarmonicCursorsIcon.d.ts.map +1 -0
  243. package/dist/Icons/HarmonicCursorsIcon.js +29 -23
  244. package/dist/Icons/HarmonicCursorsIcon.js.map +1 -0
  245. package/dist/Icons/IconBase.d.ts +38 -14
  246. package/dist/Icons/IconBase.d.ts.map +1 -0
  247. package/dist/Icons/IconBase.js +61 -41
  248. package/dist/Icons/IconBase.js.map +1 -0
  249. package/dist/Icons/InfoIcon.d.ts +16 -3
  250. package/dist/Icons/InfoIcon.d.ts.map +1 -0
  251. package/dist/Icons/InfoIcon.js +42 -36
  252. package/dist/Icons/InfoIcon.js.map +1 -0
  253. package/dist/Icons/KeyboardIcon.d.ts +16 -3
  254. package/dist/Icons/KeyboardIcon.d.ts.map +1 -0
  255. package/dist/Icons/KeyboardIcon.js +32 -26
  256. package/dist/Icons/KeyboardIcon.js.map +1 -0
  257. package/dist/Icons/LabelIcon.d.ts +16 -3
  258. package/dist/Icons/LabelIcon.d.ts.map +1 -0
  259. package/dist/Icons/LabelIcon.js +25 -19
  260. package/dist/Icons/LabelIcon.js.map +1 -0
  261. package/dist/Icons/LassoIcon.d.ts +16 -3
  262. package/dist/Icons/LassoIcon.d.ts.map +1 -0
  263. package/dist/Icons/LassoIcon.js +42 -36
  264. package/dist/Icons/LassoIcon.js.map +1 -0
  265. package/dist/Icons/LineToolIcon.d.ts +16 -3
  266. package/dist/Icons/LineToolIcon.d.ts.map +1 -0
  267. package/dist/Icons/LineToolIcon.js +54 -48
  268. package/dist/Icons/LineToolIcon.js.map +1 -0
  269. package/dist/Icons/LiveViewIcon.d.ts +16 -3
  270. package/dist/Icons/LiveViewIcon.d.ts.map +1 -0
  271. package/dist/Icons/LiveViewIcon.js +56 -50
  272. package/dist/Icons/LiveViewIcon.js.map +1 -0
  273. package/dist/Icons/LoaderIcon.d.ts +16 -3
  274. package/dist/Icons/LoaderIcon.d.ts.map +1 -0
  275. package/dist/Icons/LoaderIcon.js +35 -31
  276. package/dist/Icons/LoaderIcon.js.map +1 -0
  277. package/dist/Icons/LocationIcon.d.ts +16 -3
  278. package/dist/Icons/LocationIcon.d.ts.map +1 -0
  279. package/dist/Icons/LocationIcon.js +32 -26
  280. package/dist/Icons/LocationIcon.js.map +1 -0
  281. package/dist/Icons/LogoutIcon.d.ts +16 -3
  282. package/dist/Icons/LogoutIcon.d.ts.map +1 -0
  283. package/dist/Icons/LogoutIcon.js +26 -20
  284. package/dist/Icons/LogoutIcon.js.map +1 -0
  285. package/dist/Icons/MaximizeIcon.d.ts +16 -3
  286. package/dist/Icons/MaximizeIcon.d.ts.map +1 -0
  287. package/dist/Icons/MaximizeIcon.js +49 -43
  288. package/dist/Icons/MaximizeIcon.js.map +1 -0
  289. package/dist/Icons/MeasureIcon.d.ts +16 -3
  290. package/dist/Icons/MeasureIcon.d.ts.map +1 -0
  291. package/dist/Icons/MeasureIcon.js +84 -78
  292. package/dist/Icons/MeasureIcon.js.map +1 -0
  293. package/dist/Icons/MenuDotsIcon.d.ts +16 -3
  294. package/dist/Icons/MenuDotsIcon.d.ts.map +1 -0
  295. package/dist/Icons/MenuDotsIcon.js +42 -36
  296. package/dist/Icons/MenuDotsIcon.js.map +1 -0
  297. package/dist/Icons/MenuIcon.d.ts +16 -3
  298. package/dist/Icons/MenuIcon.d.ts.map +1 -0
  299. package/dist/Icons/MenuIcon.js +42 -36
  300. package/dist/Icons/MenuIcon.js.map +1 -0
  301. package/dist/Icons/MessagesIcon.d.ts +16 -3
  302. package/dist/Icons/MessagesIcon.d.ts.map +1 -0
  303. package/dist/Icons/MessagesIcon.js +39 -33
  304. package/dist/Icons/MessagesIcon.js.map +1 -0
  305. package/dist/Icons/MetadataIcon.d.ts +16 -3
  306. package/dist/Icons/MetadataIcon.d.ts.map +1 -0
  307. package/dist/Icons/MetadataIcon.js +26 -20
  308. package/dist/Icons/MetadataIcon.js.map +1 -0
  309. package/dist/Icons/MinimizeIcon.d.ts +16 -3
  310. package/dist/Icons/MinimizeIcon.d.ts.map +1 -0
  311. package/dist/Icons/MinimizeIcon.js +49 -43
  312. package/dist/Icons/MinimizeIcon.js.map +1 -0
  313. package/dist/Icons/MinusIcon.d.ts +16 -3
  314. package/dist/Icons/MinusIcon.d.ts.map +1 -0
  315. package/dist/Icons/MinusIcon.js +24 -18
  316. package/dist/Icons/MinusIcon.js.map +1 -0
  317. package/dist/Icons/OntologyIcon.d.ts +16 -3
  318. package/dist/Icons/OntologyIcon.d.ts.map +1 -0
  319. package/dist/Icons/OntologyIcon.js +93 -87
  320. package/dist/Icons/OntologyIcon.js.map +1 -0
  321. package/dist/Icons/PanelIconClose.d.ts +16 -3
  322. package/dist/Icons/PanelIconClose.d.ts.map +1 -0
  323. package/dist/Icons/PanelIconClose.js +34 -28
  324. package/dist/Icons/PanelIconClose.js.map +1 -0
  325. package/dist/Icons/PanelIconOpen.d.ts +16 -3
  326. package/dist/Icons/PanelIconOpen.d.ts.map +1 -0
  327. package/dist/Icons/PanelIconOpen.js +34 -28
  328. package/dist/Icons/PanelIconOpen.js.map +1 -0
  329. package/dist/Icons/PauseIcon.d.ts +16 -3
  330. package/dist/Icons/PauseIcon.d.ts.map +1 -0
  331. package/dist/Icons/PauseIcon.js +32 -26
  332. package/dist/Icons/PauseIcon.js.map +1 -0
  333. package/dist/Icons/PlayIcon.d.ts +16 -3
  334. package/dist/Icons/PlayIcon.d.ts.map +1 -0
  335. package/dist/Icons/PlayIcon.js +26 -20
  336. package/dist/Icons/PlayIcon.js.map +1 -0
  337. package/dist/Icons/PlusIcon.d.ts +16 -3
  338. package/dist/Icons/PlusIcon.d.ts.map +1 -0
  339. package/dist/Icons/PlusIcon.js +26 -20
  340. package/dist/Icons/PlusIcon.js.map +1 -0
  341. package/dist/Icons/PolygonIcon.d.ts +17 -3
  342. package/dist/Icons/PolygonIcon.d.ts.map +1 -0
  343. package/dist/Icons/PolygonIcon.js +56 -50
  344. package/dist/Icons/PolygonIcon.js.map +1 -0
  345. package/dist/Icons/PrinterIcon.d.ts +16 -3
  346. package/dist/Icons/PrinterIcon.d.ts.map +1 -0
  347. package/dist/Icons/PrinterIcon.js +26 -20
  348. package/dist/Icons/PrinterIcon.js.map +1 -0
  349. package/dist/Icons/ProgressCheckIcon.d.ts +16 -3
  350. package/dist/Icons/ProgressCheckIcon.d.ts.map +1 -0
  351. package/dist/Icons/ProgressCheckIcon.js +63 -57
  352. package/dist/Icons/ProgressCheckIcon.js.map +1 -0
  353. package/dist/Icons/ResetIcon.d.ts +16 -3
  354. package/dist/Icons/ResetIcon.d.ts.map +1 -0
  355. package/dist/Icons/ResetIcon.js +23 -17
  356. package/dist/Icons/ResetIcon.js.map +1 -0
  357. package/dist/Icons/ReviewedIcon.d.ts +16 -3
  358. package/dist/Icons/ReviewedIcon.d.ts.map +1 -0
  359. package/dist/Icons/ReviewedIcon.js +42 -36
  360. package/dist/Icons/ReviewedIcon.js.map +1 -0
  361. package/dist/Icons/ScissorsIcon.d.ts +16 -3
  362. package/dist/Icons/ScissorsIcon.d.ts.map +1 -0
  363. package/dist/Icons/ScissorsIcon.js +28 -22
  364. package/dist/Icons/ScissorsIcon.js.map +1 -0
  365. package/dist/Icons/SearchIcon.d.ts +16 -3
  366. package/dist/Icons/SearchIcon.d.ts.map +1 -0
  367. package/dist/Icons/SearchIcon.js +32 -26
  368. package/dist/Icons/SearchIcon.js.map +1 -0
  369. package/dist/Icons/SettingsIcon.d.ts +16 -3
  370. package/dist/Icons/SettingsIcon.d.ts.map +1 -0
  371. package/dist/Icons/SettingsIcon.js +32 -26
  372. package/dist/Icons/SettingsIcon.js.map +1 -0
  373. package/dist/Icons/SortAscendingIcon.d.ts +16 -3
  374. package/dist/Icons/SortAscendingIcon.d.ts.map +1 -0
  375. package/dist/Icons/SortAscendingIcon.js +56 -50
  376. package/dist/Icons/SortAscendingIcon.js.map +1 -0
  377. package/dist/Icons/SortAtoZIcon.d.ts +16 -3
  378. package/dist/Icons/SortAtoZIcon.d.ts.map +1 -0
  379. package/dist/Icons/SortAtoZIcon.js +56 -50
  380. package/dist/Icons/SortAtoZIcon.js.map +1 -0
  381. package/dist/Icons/SortDescendingIcon.d.ts +16 -3
  382. package/dist/Icons/SortDescendingIcon.d.ts.map +1 -0
  383. package/dist/Icons/SortDescendingIcon.js +56 -50
  384. package/dist/Icons/SortDescendingIcon.js.map +1 -0
  385. package/dist/Icons/SortZtoAIcon.d.ts +16 -3
  386. package/dist/Icons/SortZtoAIcon.d.ts.map +1 -0
  387. package/dist/Icons/SortZtoAIcon.js +56 -50
  388. package/dist/Icons/SortZtoAIcon.js.map +1 -0
  389. package/dist/Icons/SparklesIcon.d.ts +16 -3
  390. package/dist/Icons/SparklesIcon.d.ts.map +1 -0
  391. package/dist/Icons/SparklesIcon.js +26 -20
  392. package/dist/Icons/SparklesIcon.js.map +1 -0
  393. package/dist/Icons/StackIcon.d.ts +16 -3
  394. package/dist/Icons/StackIcon.d.ts.map +1 -0
  395. package/dist/Icons/StackIcon.js +32 -26
  396. package/dist/Icons/StackIcon.js.map +1 -0
  397. package/dist/Icons/StarIcon.d.ts +16 -3
  398. package/dist/Icons/StarIcon.d.ts.map +1 -0
  399. package/dist/Icons/StarIcon.js +26 -20
  400. package/dist/Icons/StarIcon.js.map +1 -0
  401. package/dist/Icons/TrashIcon.d.ts +16 -3
  402. package/dist/Icons/TrashIcon.d.ts.map +1 -0
  403. package/dist/Icons/TrashIcon.js +23 -17
  404. package/dist/Icons/TrashIcon.js.map +1 -0
  405. package/dist/Icons/UndoIcon.d.ts +16 -3
  406. package/dist/Icons/UndoIcon.d.ts.map +1 -0
  407. package/dist/Icons/UndoIcon.js +26 -20
  408. package/dist/Icons/UndoIcon.js.map +1 -0
  409. package/dist/Icons/UploadIcon.d.ts +16 -3
  410. package/dist/Icons/UploadIcon.d.ts.map +1 -0
  411. package/dist/Icons/UploadIcon.js +42 -36
  412. package/dist/Icons/UploadIcon.js.map +1 -0
  413. package/dist/Icons/User2Icon.d.ts +16 -3
  414. package/dist/Icons/User2Icon.d.ts.map +1 -0
  415. package/dist/Icons/User2Icon.js +32 -26
  416. package/dist/Icons/User2Icon.js.map +1 -0
  417. package/dist/Icons/UserIcon.d.ts +16 -3
  418. package/dist/Icons/UserIcon.d.ts.map +1 -0
  419. package/dist/Icons/UserIcon.js +25 -19
  420. package/dist/Icons/UserIcon.js.map +1 -0
  421. package/dist/Icons/WarningIcon.d.ts +16 -3
  422. package/dist/Icons/WarningIcon.d.ts.map +1 -0
  423. package/dist/Icons/WarningIcon.js +25 -19
  424. package/dist/Icons/WarningIcon.js.map +1 -0
  425. package/dist/Icons/ZoomAllIcon.d.ts +16 -3
  426. package/dist/Icons/ZoomAllIcon.d.ts.map +1 -0
  427. package/dist/Icons/ZoomAllIcon.js +77 -71
  428. package/dist/Icons/ZoomAllIcon.js.map +1 -0
  429. package/dist/Icons/ZoomXIcon.d.ts +16 -3
  430. package/dist/Icons/ZoomXIcon.d.ts.map +1 -0
  431. package/dist/Icons/ZoomXIcon.js +42 -36
  432. package/dist/Icons/ZoomXIcon.js.map +1 -0
  433. package/dist/Icons/ZoomYIcon.d.ts +16 -3
  434. package/dist/Icons/ZoomYIcon.d.ts.map +1 -0
  435. package/dist/Icons/ZoomYIcon.js +42 -36
  436. package/dist/Icons/ZoomYIcon.js.map +1 -0
  437. package/dist/Icons.d.ts +82 -0
  438. package/dist/Icons.js +83 -82
  439. package/dist/IconsAnimated/PanelLeftCloseIcon.d.ts +15 -2
  440. package/dist/IconsAnimated/PanelLeftCloseIcon.d.ts.map +1 -0
  441. package/dist/IconsAnimated/PanelLeftCloseIcon.js +45 -35
  442. package/dist/IconsAnimated/PanelLeftCloseIcon.js.map +1 -0
  443. package/dist/IconsAnimated/PanelLeftOpenIcon.d.ts +15 -2
  444. package/dist/IconsAnimated/PanelLeftOpenIcon.d.ts.map +1 -0
  445. package/dist/IconsAnimated/PanelLeftOpenIcon.js +45 -35
  446. package/dist/IconsAnimated/PanelLeftOpenIcon.js.map +1 -0
  447. package/dist/IconsAnimated.d.ts +4 -0
  448. package/dist/IconsAnimated.js +5 -4
  449. package/dist/Input/InputUtils.d.ts +16 -11
  450. package/dist/Input/InputUtils.d.ts.map +1 -0
  451. package/dist/Input/InputUtils.js +47 -36
  452. package/dist/Input/InputUtils.js.map +1 -0
  453. package/dist/Input.d.ts +31 -26
  454. package/dist/Input.d.ts.map +1 -0
  455. package/dist/Input.js +161 -111
  456. package/dist/Input.js.map +1 -0
  457. package/dist/InputNumeric.d.ts +33 -12
  458. package/dist/InputNumeric.d.ts.map +1 -0
  459. package/dist/InputNumeric.js +146 -102
  460. package/dist/InputNumeric.js.map +1 -0
  461. package/dist/InputOTP.d.ts +95 -54
  462. package/dist/InputOTP.d.ts.map +1 -0
  463. package/dist/InputOTP.js +161 -3
  464. package/dist/InputOTP.js.map +1 -0
  465. package/dist/Kbd.d.ts +31 -16
  466. package/dist/Kbd.d.ts.map +1 -0
  467. package/dist/Kbd.js +55 -46
  468. package/dist/Kbd.js.map +1 -0
  469. package/dist/Label.d.ts +19 -9
  470. package/dist/Label.d.ts.map +1 -0
  471. package/dist/Label.js +16 -12
  472. package/dist/Label.js.map +1 -0
  473. package/dist/MultiSelect/MultiSelectBase.d.ts +81 -41
  474. package/dist/MultiSelect/MultiSelectBase.d.ts.map +1 -0
  475. package/dist/MultiSelect/MultiSelectBase.js +318 -235
  476. package/dist/MultiSelect/MultiSelectBase.js.map +1 -0
  477. package/dist/MultiSelect.d.ts +40 -23
  478. package/dist/MultiSelect.d.ts.map +1 -0
  479. package/dist/MultiSelect.js +31 -26
  480. package/dist/MultiSelect.js.map +1 -0
  481. package/dist/Popover.d.ts +28 -8
  482. package/dist/Popover.d.ts.map +1 -0
  483. package/dist/Popover.js +41 -28
  484. package/dist/Popover.js.map +1 -0
  485. package/dist/RadioButton.d.ts +36 -15
  486. package/dist/RadioButton.d.ts.map +1 -0
  487. package/dist/RadioButton.js +34 -26
  488. package/dist/RadioButton.js.map +1 -0
  489. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts +50 -23
  490. package/dist/RadioButtonGroup/RadioButtonGroupBase.d.ts.map +1 -0
  491. package/dist/RadioButtonGroup/RadioButtonGroupBase.js +63 -45
  492. package/dist/RadioButtonGroup/RadioButtonGroupBase.js.map +1 -0
  493. package/dist/RadioButtonGroup.d.ts +31 -10
  494. package/dist/RadioButtonGroup.d.ts.map +1 -0
  495. package/dist/RadioButtonGroup.js +16 -11
  496. package/dist/RadioButtonGroup.js.map +1 -0
  497. package/dist/RadioGroup.d.ts +62 -45
  498. package/dist/RadioGroup.d.ts.map +1 -0
  499. package/dist/RadioGroup.js +184 -3
  500. package/dist/RadioGroup.js.map +1 -0
  501. package/dist/Select.d.ts +38 -33
  502. package/dist/Select.d.ts.map +1 -0
  503. package/dist/Select.js +142 -116
  504. package/dist/Select.js.map +1 -0
  505. package/dist/Separator.d.ts +22 -10
  506. package/dist/Separator.d.ts.map +1 -0
  507. package/dist/Separator.js +20 -16
  508. package/dist/Separator.js.map +1 -0
  509. package/dist/Skeleton.d.ts +11 -2
  510. package/dist/Skeleton.d.ts.map +1 -0
  511. package/dist/Skeleton.js +14 -10
  512. package/dist/Skeleton.js.map +1 -0
  513. package/dist/Slider.d.ts +49 -26
  514. package/dist/Slider.d.ts.map +1 -0
  515. package/dist/Slider.js +167 -3
  516. package/dist/Slider.js.map +1 -0
  517. package/dist/SpectralProvider.d.ts +3 -30
  518. package/dist/SpectralProvider.js +4 -11
  519. package/dist/Switch/SwitchBase.d.ts +51 -24
  520. package/dist/Switch/SwitchBase.d.ts.map +1 -0
  521. package/dist/Switch/SwitchBase.js +91 -72
  522. package/dist/Switch/SwitchBase.js.map +1 -0
  523. package/dist/Switch.d.ts +53 -24
  524. package/dist/Switch.d.ts.map +1 -0
  525. package/dist/Switch.js +118 -3
  526. package/dist/Switch.js.map +1 -0
  527. package/dist/Tabs/TabsBase.d.ts +94 -50
  528. package/dist/Tabs/TabsBase.d.ts.map +1 -0
  529. package/dist/Tabs/TabsBase.js +213 -152
  530. package/dist/Tabs/TabsBase.js.map +1 -0
  531. package/dist/Tabs/tabsUtils.d.ts +35 -30
  532. package/dist/Tabs/tabsUtils.d.ts.map +1 -0
  533. package/dist/Tabs/tabsUtils.js +121 -49
  534. package/dist/Tabs/tabsUtils.js.map +1 -0
  535. package/dist/Tabs.d.ts +55 -35
  536. package/dist/Tabs.d.ts.map +1 -0
  537. package/dist/Tabs.js +81 -60
  538. package/dist/Tabs.js.map +1 -0
  539. package/dist/Textarea/TextareaUtils.d.ts +24 -13
  540. package/dist/Textarea/TextareaUtils.d.ts.map +1 -0
  541. package/dist/Textarea/TextareaUtils.js +52 -29
  542. package/dist/Textarea/TextareaUtils.js.map +1 -0
  543. package/dist/Textarea.d.ts +33 -25
  544. package/dist/Textarea.d.ts.map +1 -0
  545. package/dist/Textarea.js +94 -67
  546. package/dist/Textarea.js.map +1 -0
  547. package/dist/Toast.d.ts +63 -34
  548. package/dist/Toast.d.ts.map +1 -0
  549. package/dist/Toast.js +115 -3
  550. package/dist/Toast.js.map +1 -0
  551. package/dist/Toggle/ToggleBase.d.ts +29 -11
  552. package/dist/Toggle/ToggleBase.d.ts.map +1 -0
  553. package/dist/Toggle/ToggleBase.js +55 -41
  554. package/dist/Toggle/ToggleBase.js.map +1 -0
  555. package/dist/Toggle.d.ts +34 -16
  556. package/dist/Toggle.d.ts.map +1 -0
  557. package/dist/Toggle.js +46 -32
  558. package/dist/Toggle.js.map +1 -0
  559. package/dist/ToggleGroup/ToggleGroupBase.d.ts +45 -30
  560. package/dist/ToggleGroup/ToggleGroupBase.d.ts.map +1 -0
  561. package/dist/ToggleGroup/ToggleGroupBase.js +162 -111
  562. package/dist/ToggleGroup/ToggleGroupBase.js.map +1 -0
  563. package/dist/ToggleGroup/ToggleGroupItem.d.ts +31 -13
  564. package/dist/ToggleGroup/ToggleGroupItem.d.ts.map +1 -0
  565. package/dist/ToggleGroup/ToggleGroupItem.js +35 -27
  566. package/dist/ToggleGroup/ToggleGroupItem.js.map +1 -0
  567. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.d.ts +49 -20
  568. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.d.ts.map +1 -0
  569. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.js +123 -91
  570. package/dist/ToggleGroup/ToggleGroupSplitMenuItem.js.map +1 -0
  571. package/dist/ToggleGroup.d.ts +26 -10
  572. package/dist/ToggleGroup.d.ts.map +1 -0
  573. package/dist/ToggleGroup.js +35 -31
  574. package/dist/ToggleGroup.js.map +1 -0
  575. package/dist/Tooltip.d.ts +35 -12
  576. package/dist/Tooltip.d.ts.map +1 -0
  577. package/dist/Tooltip.js +68 -3
  578. package/dist/Tooltip.js.map +1 -0
  579. package/dist/Tray.d.ts +105 -61
  580. package/dist/Tray.d.ts.map +1 -0
  581. package/dist/Tray.js +120 -102
  582. package/dist/Tray.js.map +1 -0
  583. package/dist/components/Icons/iconTypes.d.ts +17 -0
  584. package/dist/components/Icons/iconTypes.d.ts.map +1 -0
  585. package/dist/components/IconsAnimated/iconTypes.d.ts +15 -0
  586. package/dist/components/IconsAnimated/iconTypes.d.ts.map +1 -0
  587. package/dist/components/SpectralProvider/SpectralProvider.d.ts +35 -0
  588. package/dist/components/SpectralProvider/SpectralProvider.d.ts.map +1 -0
  589. package/dist/components/SpectralProvider/SpectralProvider.js +33 -0
  590. package/dist/components/SpectralProvider/SpectralProvider.js.map +1 -0
  591. package/dist/components/ToggleGroup/ToggleGroup.context.js +14 -0
  592. package/dist/components/ToggleGroup/ToggleGroup.context.js.map +1 -0
  593. package/dist/hooks/useAccordionAutoScroll.d.ts +7 -2
  594. package/dist/hooks/useAccordionAutoScroll.d.ts.map +1 -1
  595. package/dist/hooks/useAccordionAutoScroll.js +71 -45
  596. package/dist/hooks/useAccordionAutoScroll.js.map +1 -0
  597. package/dist/hooks/useControllableState.d.ts +12 -8
  598. package/dist/hooks/useControllableState.d.ts.map +1 -1
  599. package/dist/hooks/useControllableState.js +23 -12
  600. package/dist/hooks/useControllableState.js.map +1 -0
  601. package/dist/hooks/useConvertToOklch.d.ts +6 -2
  602. package/dist/hooks/useConvertToOklch.d.ts.map +1 -1
  603. package/dist/hooks/useConvertToOklch.js +87 -42
  604. package/dist/hooks/useConvertToOklch.js.map +1 -0
  605. package/dist/hooks/useTheme.d.ts +10 -6
  606. package/dist/hooks/useTheme.d.ts.map +1 -1
  607. package/dist/hooks/useTheme.js +26 -18
  608. package/dist/hooks/useTheme.js.map +1 -0
  609. package/dist/hooks/useUncontrolledState.d.ts +8 -4
  610. package/dist/hooks/useUncontrolledState.d.ts.map +1 -1
  611. package/dist/hooks/useUncontrolledState.js +21 -11
  612. package/dist/hooks/useUncontrolledState.js.map +1 -0
  613. package/dist/index.d.ts +129 -47
  614. package/dist/index.js +130 -0
  615. package/dist/primitives/button.d.ts +22 -9
  616. package/dist/primitives/button.d.ts.map +1 -1
  617. package/dist/primitives/button.js +21 -15
  618. package/dist/primitives/button.js.map +1 -0
  619. package/dist/primitives/input-group.d.ts +46 -17
  620. package/dist/primitives/input-group.d.ts.map +1 -1
  621. package/dist/primitives/input-group.js +66 -43
  622. package/dist/primitives/input-group.js.map +1 -0
  623. package/dist/primitives/input.d.ts +16 -6
  624. package/dist/primitives/input.d.ts.map +1 -1
  625. package/dist/primitives/input.js +15 -10
  626. package/dist/primitives/input.js.map +1 -0
  627. package/dist/primitives/popover.d.ts +35 -9
  628. package/dist/primitives/popover.d.ts.map +1 -1
  629. package/dist/primitives/popover.js +56 -33
  630. package/dist/primitives/popover.js.map +1 -0
  631. package/dist/primitives/select.d.ts +60 -17
  632. package/dist/primitives/select.d.ts.map +1 -1
  633. package/dist/primitives/select.js +133 -3
  634. package/dist/primitives/select.js.map +1 -0
  635. package/dist/primitives/slot.d.ts +23 -14
  636. package/dist/primitives/slot.d.ts.map +1 -1
  637. package/dist/primitives/slot.js +53 -29
  638. package/dist/primitives/slot.js.map +1 -0
  639. package/dist/primitives/textarea.d.ts +11 -2
  640. package/dist/primitives/textarea.d.ts.map +1 -1
  641. package/dist/primitives/textarea.js +14 -9
  642. package/dist/primitives/textarea.js.map +1 -0
  643. package/dist/styles/horizon/colors.css +1 -0
  644. package/dist/styles/horizon-tokens.css +9 -0
  645. package/dist/styles/spectral.css +2 -2
  646. package/dist/utils/constants.d.ts +5 -1
  647. package/dist/utils/constants.d.ts.map +1 -1
  648. package/dist/utils/constants.js +5 -2
  649. package/dist/utils/constants.js.map +1 -0
  650. package/dist/utils/dropdownPositioning.d.ts +14 -9
  651. package/dist/utils/dropdownPositioning.d.ts.map +1 -1
  652. package/dist/utils/dropdownPositioning.js +57 -34
  653. package/dist/utils/dropdownPositioning.js.map +1 -0
  654. package/dist/utils/formFieldUtils.d.ts +93 -73
  655. package/dist/utils/formFieldUtils.d.ts.map +1 -1
  656. package/dist/utils/formFieldUtils.js +171 -106
  657. package/dist/utils/formFieldUtils.js.map +1 -0
  658. package/dist/utils/sharedUtils.d.ts +10 -6
  659. package/dist/utils/sharedUtils.d.ts.map +1 -1
  660. package/dist/utils/sharedUtils.js +23 -8
  661. package/dist/utils/sharedUtils.js.map +1 -0
  662. package/dist/utils/twUtils.d.ts +7 -2
  663. package/dist/utils/twUtils.d.ts.map +1 -1
  664. package/dist/utils/twUtils.js +12 -2
  665. package/dist/utils/twUtils.js.map +1 -0
  666. package/package.json +32 -24
  667. package/dist/.js +0 -129
  668. package/dist/Accordion-dVZHqyv8.js +0 -363
  669. package/dist/AnimatePresence-Bz_JZ2ah.js +0 -178
  670. package/dist/App.d.ts +0 -2
  671. package/dist/App.d.ts.map +0 -1
  672. package/dist/App.js +0 -9
  673. package/dist/Calendar-FXWVuKWS.js +0 -3109
  674. package/dist/Combination-MimnVFUU.js +0 -698
  675. package/dist/Combobox-DRQqx0os.js +0 -6379
  676. package/dist/DateTimeUtils-BJUAMuot.js +0 -2098
  677. package/dist/DropdownMenu-BO_RPCVU.js +0 -870
  678. package/dist/HoverCard-BhxgELKP.js +0 -201
  679. package/dist/Icons/index.d.ts +0 -81
  680. package/dist/InputOTP-DLn7ja7J.js +0 -464
  681. package/dist/RadioGroup-D-XjCU4Q.js +0 -333
  682. package/dist/Slider-CPYW_VYu.js +0 -490
  683. package/dist/Switch-CSmXtkia.js +0 -145
  684. package/dist/Toast-BuaZxqlt.js +0 -711
  685. package/dist/ToggleGroup/ToggleGroup.context.d.ts +0 -9
  686. package/dist/ToggleGroup/ToggleGroup.context.js +0 -11
  687. package/dist/Tooltip-CTjKOfvC.js +0 -389
  688. package/dist/builtin_esm-external-require-react-ItzZuLxx.js +0 -8
  689. package/dist/chunk-DmRZw4Wy.js +0 -17
  690. package/dist/clsx-Bfoz3aNJ.js +0 -16
  691. package/dist/dist-B9w6c9RC.js +0 -190
  692. package/dist/dist-Br_xj9vz.js +0 -12
  693. package/dist/dist-C-2mar4Y.js +0 -28
  694. package/dist/dist-C4MHwt9g.js +0 -10
  695. package/dist/dist-C6pGYii-.js +0 -6
  696. package/dist/dist-Cc8NfAO6.js +0 -122
  697. package/dist/dist-CcsVPym2.js +0 -68
  698. package/dist/dist-CrYg_9Cu.js +0 -913
  699. package/dist/dist-CwYxT5fv.js +0 -1287
  700. package/dist/dist-D9FsQh8P.js +0 -65
  701. package/dist/dist-DBLajRTL.js +0 -149
  702. package/dist/dist-DEkDg4Sk.js +0 -249
  703. package/dist/dist-DT46nqCO.js +0 -216
  704. package/dist/dist-PfrTYHr_.js +0 -29
  705. package/dist/dist-iDaHUF3d.js +0 -129
  706. package/dist/dist-s1uWaZYZ.js +0 -11
  707. package/dist/dist-tMzzRwxG.js +0 -33
  708. package/dist/index.d.ts.map +0 -1
  709. package/dist/main.d.ts +0 -1
  710. package/dist/main.d.ts.map +0 -1
  711. package/dist/main.js +0 -18960
  712. package/dist/proxy-BFVscmYQ.js +0 -4920
  713. package/dist/select-DFE8xm1L.js +0 -768
  714. package/dist/styles/base-colors.css +0 -62
  715. package/dist/styles/main.css +0 -2
  716. package/dist/styles/theme.css +0 -869
  717. package/dist/twUtils-BpqlKSeB.js +0 -1673
  718. package/dist/use-animation-BeSipRjB.js +0 -57
  719. package/dist/utils/dropdownPositioning.test.d.ts +0 -2
  720. package/dist/utils/dropdownPositioning.test.d.ts.map +0 -1
  721. package/dist/utils/dropdownPositioning.test.js +0 -22
@@ -1,148 +1,213 @@
1
- 'use client'
2
- import { t as e } from "../twUtils-BpqlKSeB.js";
3
- import { ErrorMessage as t, WarningMessage as n } from "../FormFieldMessage.js";
4
- import { useCallback as r, useEffect as i, useId as a, useRef as o, useState as s } from "react";
5
- import { jsx as c } from "react/jsx-runtime";
1
+ 'use client';
2
+ import { cn } from "./twUtils.js";
3
+ import { ErrorMessage, WarningMessage } from "../FormFieldMessage.js";
4
+ import { useCallback, useEffect, useId, useRef, useState } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
6
7
  //#region src/utils/formFieldUtils.tsx
7
- var l = ({ dropdownWidth: e, triggerStyleWidth: t, triggerWidth: n, viewportMaxWidth: r = "calc(100vw - 2rem)" }) => {
8
- let i = e === "trigger" ? "trigger" : e === "content" ? "content" : "custom", a = e === "trigger" ? n : e === "content" ? "max-content" : e, o = {
9
- maxWidth: r,
8
+ const getDropdownWidthStyles = ({ dropdownWidth, triggerStyleWidth, triggerWidth, viewportMaxWidth = "calc(100vw - 2rem)" }) => {
9
+ const dropdownWidthMode = dropdownWidth === "trigger" ? "trigger" : dropdownWidth === "content" ? "content" : "custom";
10
+ const resolvedDropdownWidth = dropdownWidth === "trigger" ? triggerWidth : dropdownWidth === "content" ? "max-content" : dropdownWidth;
11
+ const dropdownOverflowStyle = {
12
+ maxWidth: viewportMaxWidth,
10
13
  overflowX: "auto",
11
14
  overflowY: "auto"
12
15
  };
13
16
  return {
14
- dropdownOverflowStyle: o,
15
- dropdownWidthMode: i,
16
- dropdownWidthStyle: e === "trigger" ? { width: t ?? n } : {
17
- width: a,
18
- ...e === "content" ? { minWidth: "max-content" } : {},
19
- ...o
17
+ dropdownOverflowStyle,
18
+ dropdownWidthMode,
19
+ dropdownWidthStyle: dropdownWidth === "trigger" ? { width: triggerStyleWidth ?? triggerWidth } : {
20
+ width: resolvedDropdownWidth,
21
+ ...dropdownWidth === "content" ? { minWidth: "max-content" } : {},
22
+ ...dropdownOverflowStyle
20
23
  },
21
- resolvedDropdownWidth: a
24
+ resolvedDropdownWidth
22
25
  };
23
- }, u = (e) => ({
24
- success: "border-success-400 hover:border-success-500 focus-visible:border-success-400 focus-visible:outline-success-400",
25
- error: "border-danger-400 hover:border-danger-500 focus-visible:border-danger-400 focus-visible:outline-danger-400",
26
- warning: "border-warning-400 hover:border-warning-400 focus-visible:border-warning-400 focus-visible:outline-warning-400",
27
- loading: "cursor-wait border-input-border--disabled pointer-events-none",
28
- disabled: "cursor-not-allowed opacity-50 border-input-border--disabled text-input-text--disabled",
29
- default: ""
30
- })[e], d = (t = !1, n, r) => e("h-12 rounded-lg px-4 text-base flex w-full items-center justify-between border-2 border-input-border bg-input-bg", "text-input-text transition duration-200 hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "disabled:cursor-not-allowed disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:opacity-50", t && "border-input-border--focus hover:border-input-border--focus", u(n), r), f = (t, n = "bottom") => {
31
- let r = n === "bottom" ? "top-full mt-1 origin-top" : "bottom-full mb-1 origin-bottom", i = n === "bottom" ? t ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 -translate-y-1 pointer-events-none" : t ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 translate-y-1 pointer-events-none";
32
- return e("left-0 right-0 absolute z-50", p(), "transition-[opacity,transform] duration-150 motion-reduce:transform-none motion-reduce:transition-none", "will-change-[opacity,transform]", r, i);
33
- }, p = () => "rounded-lg border border-input-border bg-input-bg shadow-md", m = (t, n) => e("peer h-12 rounded-md ps-3 pe-12 text-base flex w-full border-2 border-input-border bg-input-bg transition duration-200", "placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", "disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled", u(t), n), h = (t, n) => e("peer h-24 rounded-md p-3 text-base flex w-full resize-none border-2 border-input-border bg-input-bg transition duration-200", "placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", "disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled", u(t), n), g = (e, t) => {
34
- let n = a();
35
- if (e) return e;
36
- let r = t?.trim().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9\-_.:]/g, "");
37
- return r ? `${r}-${n}` : n;
38
- }, _ = (e) => `${e}-error`, v = (t, n, r, i) => ({
39
- "aria-invalid": t === "error",
40
- "aria-required": r,
41
- "aria-describedby": e((t === "error" || t === "warning") && i, n) || void 0
42
- }), y = (e = {}) => ({
26
+ };
27
+ const getStateClasses = (state) => {
28
+ return {
29
+ success: "border-success-400 hover:border-success-500 focus-visible:border-success-400 focus-visible:outline-success-400",
30
+ error: "border-danger-400 hover:border-danger-500 focus-visible:border-danger-400 focus-visible:outline-danger-400",
31
+ warning: "border-warning-400 hover:border-warning-400 focus-visible:border-warning-400 focus-visible:outline-warning-400",
32
+ loading: "cursor-wait border-input-border--disabled pointer-events-none",
33
+ disabled: "cursor-not-allowed opacity-50 border-input-border--disabled text-input-text--disabled",
34
+ default: ""
35
+ }[state];
36
+ };
37
+ const getTriggerClasses = (isOpen = false, state, className) => {
38
+ return cn("h-12 rounded-lg px-4 text-base flex w-full items-center justify-between border-2 border-input-border bg-input-bg", "text-input-text transition duration-200 hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "disabled:cursor-not-allowed disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:opacity-50", isOpen && "border-input-border--focus hover:border-input-border--focus", getStateClasses(state), className);
39
+ };
40
+ const getDropdownClasses = (isOpen, position = "bottom") => {
41
+ const positionClasses = position === "bottom" ? "top-full mt-1 origin-top" : "bottom-full mb-1 origin-bottom";
42
+ const animationClasses = position === "bottom" ? isOpen ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 -translate-y-1 pointer-events-none" : isOpen ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 translate-y-1 pointer-events-none";
43
+ return cn("left-0 right-0 absolute z-50", getDropdownSurfaceClasses(), "transition-[opacity,transform] duration-150 motion-reduce:transform-none motion-reduce:transition-none", "will-change-[opacity,transform]", positionClasses, animationClasses);
44
+ };
45
+ const getDropdownSurfaceClasses = () => {
46
+ return "rounded-lg border border-input-border bg-input-bg shadow-md";
47
+ };
48
+ const getInputClasses = (state, className) => {
49
+ return cn("peer h-12 rounded-md ps-3 pe-12 text-base flex w-full border-2 border-input-border bg-input-bg transition duration-200", "placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", "disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled", getStateClasses(state), className);
50
+ };
51
+ const getTextareaClasses = (state, className) => {
52
+ return cn("peer h-24 rounded-md p-3 text-base flex w-full resize-none border-2 border-input-border bg-input-bg transition duration-200", "placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none", "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", "disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled", getStateClasses(state), className);
53
+ };
54
+ const useFormFieldId = (id, name) => {
55
+ const generatedId = useId();
56
+ if (id) return id;
57
+ const safeName = name?.trim().toLowerCase().replace(/\s+/g, "-").replace(/[^a-z0-9\-_.:]/g, "");
58
+ return safeName ? `${safeName}-${generatedId}` : generatedId;
59
+ };
60
+ const getErrorMessageId = (fieldId) => `${fieldId}-error`;
61
+ const getAriaProps = (state, ariaDescribedBy, ariaRequired, messageId) => ({
62
+ "aria-invalid": state === "error",
63
+ "aria-required": ariaRequired,
64
+ "aria-describedby": cn((state === "error" || state === "warning") && messageId, ariaDescribedBy) || void 0
65
+ });
66
+ const getFormFieldCSSProperties = (customProps = {}) => ({
43
67
  "--field-border-radius": "0.5rem",
44
68
  "--field-height": "3rem",
45
69
  "--field-padding": "1rem",
46
- ...e
47
- }), b = (e, t = "default") => ({
48
- isDisabled: e ?? t === "disabled",
49
- isLoading: t === "loading",
50
- isInvalid: t === "error"
51
- }), x = (e) => {
52
- let t = o(null);
53
- return i(() => {
54
- let n = (n) => {
55
- t.current && !t.current.contains(n.target) && e();
70
+ ...customProps
71
+ });
72
+ const useFormFieldState = (disabled, state = "default") => ({
73
+ isDisabled: disabled ?? state === "disabled",
74
+ isLoading: state === "loading",
75
+ isInvalid: state === "error"
76
+ });
77
+ const useClickOutside = (callback) => {
78
+ const ref = useRef(null);
79
+ useEffect(() => {
80
+ const handleClickOutside = (event) => {
81
+ if (ref.current && !ref.current.contains(event.target)) callback();
56
82
  };
57
- return document.addEventListener("mousedown", n), () => document.removeEventListener("mousedown", n);
58
- }, [e]), t;
59
- }, S = (e, t = !1, n, a, o, c) => {
60
- let [l, u] = s(-1);
61
- i(() => {
62
- if (e) if (t) u(0);
83
+ document.addEventListener("mousedown", handleClickOutside);
84
+ return () => document.removeEventListener("mousedown", handleClickOutside);
85
+ }, [callback]);
86
+ return ref;
87
+ };
88
+ const useKeyboardNavigation = (isOpen, multiSelect = false, onClose, onSelect, options, selectedValue) => {
89
+ const [focusedIndex, setFocusedIndex] = useState(-1);
90
+ useEffect(() => {
91
+ if (isOpen) if (multiSelect) setFocusedIndex(0);
63
92
  else {
64
- let e = o.findIndex((e) => e.value === c);
65
- u(e >= 0 ? e : 0);
93
+ const selectedIndex = options.findIndex((option) => option.value === selectedValue);
94
+ setFocusedIndex(selectedIndex >= 0 ? selectedIndex : 0);
66
95
  }
67
- else u(-1);
96
+ else setFocusedIndex(-1);
68
97
  }, [
69
- e,
70
- c,
71
- o,
72
- t
98
+ isOpen,
99
+ selectedValue,
100
+ options,
101
+ multiSelect
73
102
  ]);
74
- let d = r((e, t) => {
75
- let n = e + (t === "down" ? 1 : -1);
76
- return n = t === "down" ? Math.min(n, o.length - 1) : Math.max(n, 0), o[n]?.disabled && n !== e ? d(n, t) : n;
77
- }, [o]);
103
+ const getNextEnabledIndex = useCallback((currentIndex, direction) => {
104
+ let nextIndex = currentIndex + (direction === "down" ? 1 : -1);
105
+ if (direction === "down") nextIndex = Math.min(nextIndex, options.length - 1);
106
+ else nextIndex = Math.max(nextIndex, 0);
107
+ if (options[nextIndex]?.disabled && nextIndex !== currentIndex) return getNextEnabledIndex(nextIndex, direction);
108
+ return nextIndex;
109
+ }, [options]);
78
110
  return {
79
- focusedIndex: l,
80
- setFocusedIndex: u,
81
- handleKeyDown: r((r) => {
82
- if (!e) return [
83
- "ArrowDown",
84
- "ArrowUp",
85
- " ",
86
- "Enter"
87
- ].includes(r.key) ? (r.preventDefault(), "open") : void 0;
88
- let i = {
111
+ focusedIndex,
112
+ setFocusedIndex,
113
+ handleKeyDown: useCallback((event) => {
114
+ if (!isOpen) {
115
+ if ([
116
+ "ArrowDown",
117
+ "ArrowUp",
118
+ " ",
119
+ "Enter"
120
+ ].includes(event.key)) {
121
+ event.preventDefault();
122
+ return "open";
123
+ }
124
+ return;
125
+ }
126
+ const handler = {
89
127
  ArrowDown: () => {
90
- r.preventDefault(), u((e) => d(e, "down"));
128
+ event.preventDefault();
129
+ setFocusedIndex((prev) => getNextEnabledIndex(prev, "down"));
91
130
  },
92
131
  ArrowUp: () => {
93
- r.preventDefault(), u((e) => d(e, "up"));
132
+ event.preventDefault();
133
+ setFocusedIndex((prev) => getNextEnabledIndex(prev, "up"));
94
134
  },
95
135
  Enter: () => {
96
- r.preventDefault(), l >= 0 && o[l] && !o[l].disabled && (a(o[l].value), t || n());
136
+ event.preventDefault();
137
+ if (focusedIndex >= 0 && options[focusedIndex] && !options[focusedIndex].disabled) {
138
+ onSelect(options[focusedIndex].value);
139
+ if (!multiSelect) onClose();
140
+ }
97
141
  },
98
142
  " ": () => {
99
- r.preventDefault(), l >= 0 && o[l] && !o[l].disabled && (a(o[l].value), t || n());
143
+ event.preventDefault();
144
+ if (focusedIndex >= 0 && options[focusedIndex] && !options[focusedIndex].disabled) {
145
+ onSelect(options[focusedIndex].value);
146
+ if (!multiSelect) onClose();
147
+ }
100
148
  },
101
149
  Escape: () => {
102
- r.preventDefault(), n();
150
+ event.preventDefault();
151
+ onClose();
103
152
  },
104
153
  Home: () => {
105
- r.preventDefault(), u(0);
154
+ event.preventDefault();
155
+ setFocusedIndex(0);
106
156
  },
107
157
  End: () => {
108
- r.preventDefault(), u(o.length - 1);
158
+ event.preventDefault();
159
+ setFocusedIndex(options.length - 1);
109
160
  }
110
- }[r.key];
111
- i && i();
161
+ }[event.key];
162
+ if (handler) handler();
112
163
  }, [
113
- o,
114
- l,
115
- a,
116
- n,
117
- e,
118
- t,
119
- d
164
+ options,
165
+ focusedIndex,
166
+ onSelect,
167
+ onClose,
168
+ isOpen,
169
+ multiSelect,
170
+ getNextEnabledIndex
120
171
  ]),
121
- isOpen: e
172
+ isOpen
122
173
  };
123
- }, C = (e) => {
124
- let t = {}, n = [];
125
- return e.forEach((e) => {
126
- e.group ? (t[e.group] || (t[e.group] = []), t[e.group].push(e)) : n.push(e);
127
- }), {
128
- groups: t,
129
- ungrouped: n,
130
- hasGroups: Object.keys(t).length > 0
174
+ };
175
+ const groupOptions = (options) => {
176
+ const groups = {};
177
+ const ungrouped = [];
178
+ options.forEach((option) => {
179
+ if (option.group) {
180
+ if (!groups[option.group]) groups[option.group] = [];
181
+ groups[option.group].push(option);
182
+ } else ungrouped.push(option);
183
+ });
184
+ return {
185
+ groups,
186
+ ungrouped,
187
+ hasGroups: Object.keys(groups).length > 0
131
188
  };
132
- }, w = ({ className: t, message: n = "Loading…" }) => /* @__PURE__ */ c("div", {
189
+ };
190
+ const LoadingState = ({ className, message = "Loading…" }) => /* @__PURE__ */ jsx("div", {
133
191
  "aria-live": "polite",
134
- className: e("gap-2 py-6 text-base text-input-text-secondary flex items-center justify-center", t),
192
+ className: cn("gap-2 py-6 text-base text-input-text-secondary flex items-center justify-center", className),
135
193
  role: "status",
136
- children: n
137
- }), T = ({ className: t, message: n = "No options found" }) => /* @__PURE__ */ c("div", {
138
- className: e("py-6 text-base text-center text-text-secondary", t),
194
+ children: message
195
+ });
196
+ const EmptyState = ({ className, message = "No options found" }) => /* @__PURE__ */ jsx("div", {
197
+ className: cn("py-6 text-base text-center text-text-secondary", className),
139
198
  role: "status",
140
- children: n
141
- }), E = (t = !1, n, r) => e("my-0.5 first:mt-0 last:mb-0 rounded-sm py-1.5 pl-2 pr-8 text-base relative flex w-full cursor-pointer items-center outline-none select-none hover:bg-input-bg--hover data-[highlighted]:bg-input-bg--hover data-[highlighted]:text-input-text", n && "bg-input-bg--hover", r && "bg-input-bg--selected text-input-text", t && "pointer-events-none text-input-text--disabled"), D = (e) => {
142
- e && e.scrollIntoView({
199
+ children: message
200
+ });
201
+ const getOptionClasses = (isDisabled = false, isFocused, isSelected) => {
202
+ return cn("my-0.5 first:mt-0 last:mb-0 rounded-sm py-1.5 pl-2 pr-8 text-base relative flex w-full cursor-pointer items-center outline-none select-none hover:bg-input-bg--hover data-[highlighted]:bg-input-bg--hover data-[highlighted]:text-input-text", isFocused && "bg-input-bg--hover", isSelected && "bg-input-bg--selected text-input-text", isDisabled && "pointer-events-none text-input-text--disabled");
203
+ };
204
+ const scrollIntoView = (element) => {
205
+ if (element) element.scrollIntoView({
143
206
  block: "nearest",
144
207
  behavior: "smooth"
145
208
  });
146
209
  };
210
+
147
211
  //#endregion
148
- export { T as EmptyState, t as ErrorMessage, w as LoadingState, n as WarningMessage, v as getAriaProps, f as getDropdownClasses, p as getDropdownSurfaceClasses, l as getDropdownWidthStyles, _ as getErrorMessageId, y as getFormFieldCSSProperties, m as getInputClasses, E as getOptionClasses, u as getStateClasses, h as getTextareaClasses, d as getTriggerClasses, C as groupOptions, D as scrollIntoView, x as useClickOutside, g as useFormFieldId, b as useFormFieldState, S as useKeyboardNavigation };
212
+ export { EmptyState, ErrorMessage, LoadingState, WarningMessage, getAriaProps, getDropdownClasses, getDropdownSurfaceClasses, getDropdownWidthStyles, getErrorMessageId, getFormFieldCSSProperties, getInputClasses, getOptionClasses, getStateClasses, getTextareaClasses, getTriggerClasses, groupOptions, scrollIntoView, useClickOutside, useFormFieldId, useFormFieldState, useKeyboardNavigation };
213
+ //# sourceMappingURL=formFieldUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formFieldUtils.js","names":[],"sources":["../../src/utils/formFieldUtils.tsx"],"sourcesContent":["import { cn } from '@utils/twUtils'\nimport { type CSSProperties, type KeyboardEvent, type ReactNode, useCallback, useEffect, useId, useRef, useState } from 'react'\nexport { ErrorMessage, WarningMessage, type FormFieldMessageValue } from '@components/FormFieldMessage/FormFieldMessage'\n\nexport type FormFieldState = 'default' | 'error' | 'warning' | 'disabled' | 'loading' | 'success'\n\nexport interface BaseFormFieldProps {\n disabled?: boolean\n errorMessage?: string | string[] | Record<string, unknown> | null\n id?: string\n label?: string\n messageReserveLines?: number\n messageReserveSpace?: boolean\n name?: string\n onChange?: (value: string) => void\n required?: boolean\n state?: FormFieldState\n 'aria-describedby'?: string\n 'aria-disabled'?: boolean\n 'aria-invalid'?: boolean\n 'aria-label'?: string\n 'aria-required'?: boolean\n}\n\nexport interface BaseOption {\n disabled?: boolean\n group?: string\n label: string\n value: string\n}\n\nexport type DropdownWidth = 'trigger' | 'content' | (string & {})\nexport type DropdownWidthMode = 'trigger' | 'content' | 'custom'\n\ninterface DropdownWidthStyleConfig {\n dropdownWidth: DropdownWidth\n triggerStyleWidth?: string\n triggerWidth: string\n viewportMaxWidth?: string\n}\n\nexport const getDropdownWidthStyles = ({\n dropdownWidth,\n triggerStyleWidth,\n triggerWidth,\n viewportMaxWidth = 'calc(100vw - 2rem)',\n}: DropdownWidthStyleConfig): {\n dropdownOverflowStyle: CSSProperties\n dropdownWidthMode: DropdownWidthMode\n dropdownWidthStyle: CSSProperties\n resolvedDropdownWidth: string\n} => {\n const dropdownWidthMode: DropdownWidthMode = dropdownWidth === 'trigger' ? 'trigger' : dropdownWidth === 'content' ? 'content' : 'custom'\n\n const resolvedDropdownWidth = dropdownWidth === 'trigger' ? triggerWidth : dropdownWidth === 'content' ? 'max-content' : dropdownWidth\n\n const dropdownOverflowStyle: CSSProperties = {\n maxWidth: viewportMaxWidth,\n overflowX: 'auto',\n overflowY: 'auto',\n }\n\n const dropdownWidthStyle: CSSProperties =\n dropdownWidth === 'trigger'\n ? { width: triggerStyleWidth ?? triggerWidth }\n : {\n width: resolvedDropdownWidth,\n ...(dropdownWidth === 'content' ? { minWidth: 'max-content' } : {}),\n ...dropdownOverflowStyle,\n }\n\n return {\n dropdownOverflowStyle,\n dropdownWidthMode,\n dropdownWidthStyle,\n resolvedDropdownWidth,\n }\n}\n\nexport const getStateClasses = (state: FormFieldState): string => {\n const stateClassMap: Record<FormFieldState, string> = {\n success: 'border-success-400 hover:border-success-500 focus-visible:border-success-400 focus-visible:outline-success-400',\n error: 'border-danger-400 hover:border-danger-500 focus-visible:border-danger-400 focus-visible:outline-danger-400',\n warning: 'border-warning-400 hover:border-warning-400 focus-visible:border-warning-400 focus-visible:outline-warning-400',\n loading: 'cursor-wait border-input-border--disabled pointer-events-none',\n disabled: 'cursor-not-allowed opacity-50 border-input-border--disabled text-input-text--disabled',\n default: '',\n }\n return stateClassMap[state]\n}\n\nexport const getTriggerClasses = (isOpen: boolean = false, state: FormFieldState, className?: string): string => {\n return cn(\n 'h-12 rounded-lg px-4 text-base flex w-full items-center justify-between border-2 border-input-border bg-input-bg',\n 'text-input-text transition duration-200 hover:border-input-border--hover focus:border-input-border--focus focus:outline-none',\n 'disabled:cursor-not-allowed disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:opacity-50',\n isOpen && 'border-input-border--focus hover:border-input-border--focus',\n getStateClasses(state),\n className,\n )\n}\n\nexport const getDropdownClasses = (isOpen: boolean, position: 'top' | 'bottom' = 'bottom'): string => {\n const positionClasses = position === 'bottom' ? 'top-full mt-1 origin-top' : 'bottom-full mb-1 origin-bottom'\n\n const animationClasses = position === 'bottom' ? (isOpen ? 'scale-100 opacity-100 translate-y-0' : 'scale-95 opacity-0 -translate-y-1 pointer-events-none') : isOpen ? 'scale-100 opacity-100 translate-y-0' : 'scale-95 opacity-0 translate-y-1 pointer-events-none'\n\n return cn('left-0 right-0 absolute z-50', getDropdownSurfaceClasses(), 'transition-[opacity,transform] duration-150 motion-reduce:transform-none motion-reduce:transition-none', 'will-change-[opacity,transform]', positionClasses, animationClasses)\n}\n\nexport const getDropdownSurfaceClasses = (): string => {\n return 'rounded-lg border border-input-border bg-input-bg shadow-md'\n}\n\nexport const getInputClasses = (state: FormFieldState, className?: string): string => {\n return cn(\n 'peer h-12 rounded-md ps-3 pe-12 text-base flex w-full border-2 border-input-border bg-input-bg transition duration-200',\n 'placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none',\n 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus',\n 'disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled',\n getStateClasses(state),\n className,\n )\n}\n\nexport const getTextareaClasses = (state: FormFieldState, className?: string): string => {\n return cn(\n 'peer h-24 rounded-md p-3 text-base flex w-full resize-none border-2 border-input-border bg-input-bg transition duration-200',\n 'placeholder:text-input-text-placeholder hover:border-input-border--hover focus:border-input-border--focus focus:outline-none',\n 'focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus',\n 'disabled:pointer-events-none disabled:border-input-border--disabled disabled:bg-input-bg--disabled disabled:text-input-text--disabled',\n getStateClasses(state),\n className,\n )\n}\n\nexport const useFormFieldId = (id?: string, name?: string): string => {\n const generatedId = useId()\n if (id) return id\n const safeName = name\n ?.trim()\n .toLowerCase()\n .replace(/\\s+/g, '-')\n .replace(/[^a-z0-9\\-_.:]/g, '')\n return safeName ? `${safeName}-${generatedId}` : generatedId\n}\n\nexport const getErrorMessageId = (fieldId: string): string => `${fieldId}-error`\n\nexport const getAriaProps = (state: FormFieldState, ariaDescribedBy?: string, ariaRequired?: boolean, messageId?: string) => ({\n 'aria-invalid': state === 'error',\n 'aria-required': ariaRequired,\n 'aria-describedby': cn((state === 'error' || state === 'warning') && messageId, ariaDescribedBy) || undefined,\n})\n\nexport const getFormFieldCSSProperties = (customProps: Record<string, string> = {}) => ({\n '--field-border-radius': '0.5rem',\n '--field-height': '3rem',\n '--field-padding': '1rem',\n ...customProps,\n})\n\nexport const useFormFieldState = (disabled?: boolean, state: FormFieldState = 'default') => ({\n isDisabled: disabled ?? state === 'disabled',\n isLoading: state === 'loading',\n isInvalid: state === 'error',\n // isSuccess: state === 'success', // For future use\n})\n\nexport const useClickOutside = <T extends HTMLElement>(callback: () => void) => {\n const ref = useRef<T>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [callback])\n\n return ref\n}\n\nexport const useKeyboardNavigation = <T extends BaseOption>(isOpen: boolean, multiSelect: boolean = false, onClose: () => void, onSelect: (value: string) => void, options: T[], selectedValue: string | string[] | undefined) => {\n const [focusedIndex, setFocusedIndex] = useState(-1)\n\n // Reset focused index when opening/closing\n useEffect(() => {\n if (isOpen) {\n if (multiSelect) {\n setFocusedIndex(0)\n } else {\n const selectedIndex = options.findIndex((option) => option.value === selectedValue)\n setFocusedIndex(selectedIndex >= 0 ? selectedIndex : 0)\n }\n } else {\n setFocusedIndex(-1)\n }\n }, [isOpen, selectedValue, options, multiSelect])\n\n const getNextEnabledIndex = useCallback(\n (currentIndex: number, direction: 'up' | 'down'): number => {\n const increment = direction === 'down' ? 1 : -1\n let nextIndex = currentIndex + increment\n\n // Boundary checks\n if (direction === 'down') {\n nextIndex = Math.min(nextIndex, options.length - 1)\n } else {\n nextIndex = Math.max(nextIndex, 0)\n }\n\n const nextOption = options[nextIndex]\n if (nextOption?.disabled && nextIndex !== currentIndex) {\n return getNextEnabledIndex(nextIndex, direction)\n }\n\n return nextIndex\n },\n [options],\n )\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>): 'open' | void => {\n if (!isOpen) {\n if (['ArrowDown', 'ArrowUp', ' ', 'Enter'].includes(event.key)) {\n event.preventDefault()\n return 'open'\n }\n return\n }\n\n const keyHandlers = {\n ArrowDown: () => {\n event.preventDefault()\n setFocusedIndex((prev) => getNextEnabledIndex(prev, 'down'))\n },\n ArrowUp: () => {\n event.preventDefault()\n setFocusedIndex((prev) => getNextEnabledIndex(prev, 'up'))\n },\n Enter: () => {\n event.preventDefault()\n if (focusedIndex >= 0 && options[focusedIndex] && !options[focusedIndex].disabled) {\n onSelect(options[focusedIndex].value)\n if (!multiSelect) {\n onClose()\n }\n }\n },\n ' ': () => {\n event.preventDefault()\n if (focusedIndex >= 0 && options[focusedIndex] && !options[focusedIndex].disabled) {\n onSelect(options[focusedIndex].value)\n if (!multiSelect) {\n onClose()\n }\n }\n },\n Escape: () => {\n event.preventDefault()\n onClose()\n },\n Home: () => {\n event.preventDefault()\n setFocusedIndex(0)\n },\n End: () => {\n event.preventDefault()\n setFocusedIndex(options.length - 1)\n },\n }\n\n const handler = keyHandlers[event.key as keyof typeof keyHandlers]\n if (handler) {\n handler()\n }\n },\n [options, focusedIndex, onSelect, onClose, isOpen, multiSelect, getNextEnabledIndex],\n )\n\n return { focusedIndex, setFocusedIndex, handleKeyDown, isOpen }\n}\n\nexport const groupOptions = <T extends BaseOption>(options: T[]) => {\n const groups: Record<string, T[]> = {}\n const ungrouped: T[] = []\n\n options.forEach((option) => {\n if (option.group) {\n if (!groups[option.group]) {\n groups[option.group] = []\n }\n groups[option.group].push(option)\n } else {\n ungrouped.push(option)\n }\n })\n\n return {\n groups,\n ungrouped,\n hasGroups: Object.keys(groups).length > 0,\n }\n}\n\nexport const LoadingState = ({ className, message = 'Loading…' }: { className?: string; message?: string }) => (\n <div aria-live='polite' className={cn('gap-2 py-6 text-base text-input-text-secondary flex items-center justify-center', className)} role='status'>\n {message}\n </div>\n)\n\nexport const EmptyState = ({ className, message = 'No options found' }: { className?: string; message?: ReactNode }) => (\n <div className={cn('py-6 text-base text-center text-text-secondary', className)} role='status'>\n {message}\n </div>\n)\n\nexport const getOptionClasses = (isDisabled: boolean = false, isFocused: boolean, isSelected: boolean): string => {\n return cn(\n 'my-0.5 first:mt-0 last:mb-0 rounded-sm py-1.5 pl-2 pr-8 text-base relative flex w-full cursor-pointer items-center outline-none select-none hover:bg-input-bg--hover data-[highlighted]:bg-input-bg--hover data-[highlighted]:text-input-text',\n isFocused && 'bg-input-bg--hover',\n isSelected && 'bg-input-bg--selected text-input-text',\n isDisabled && 'pointer-events-none text-input-text--disabled',\n )\n}\n\nexport const scrollIntoView = (element: HTMLElement | null) => {\n if (element) {\n element.scrollIntoView({ block: 'nearest', behavior: 'smooth' })\n }\n}\n"],"mappings":"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"}
@@ -1,8 +1,12 @@
1
- export declare const clamp: (n: number, min: number, max: number) => number;
2
- export interface PasswordStrength {
3
- score: number;
4
- label: string;
5
- color: string;
1
+ 'use client';
2
+ //#region src/utils/sharedUtils.d.ts
3
+ declare const clamp: (n: number, min: number, max: number) => number;
4
+ interface PasswordStrength {
5
+ score: number;
6
+ label: string;
7
+ color: string;
6
8
  }
7
- export declare const calculatePasswordStrength: (password: string) => PasswordStrength;
9
+ declare const calculatePasswordStrength: (password: string) => PasswordStrength;
10
+ //#endregion
11
+ export { PasswordStrength, calculatePasswordStrength, clamp };
8
12
  //# sourceMappingURL=sharedUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sharedUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sharedUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE3D,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,KAAG,gBAc5D,CAAA"}
1
+ {"version":3,"file":"sharedUtils.d.ts","names":[],"sources":["../../src/utils/sharedUtils.ts"],"mappings":";;cAAa,KAAA,GAAK,CAAA,UAAa,GAAA,UAAa,GAAA;AAAA,UAI3B,gBAAA;EACf,KAAA;EACA,KAAA;EACA,KAAA;AAAA;AAAA,cAGW,yBAAA,GAAyB,QAAA,aAAuB,gBAAA"}
@@ -1,27 +1,42 @@
1
+ 'use client';
1
2
  //#region src/utils/sharedUtils.ts
2
- var e = (e, t, n) => Math.min(n, Math.max(t, e)), t = (e) => {
3
- let t = 0;
4
- return e.length >= 8 && (t += 1), e.length >= 12 && (t += 1), /[a-z]/u.test(e) && /[A-Z]/u.test(e) && (t += 1), /\d/u.test(e) && (t += 1), /[^\da-z]/i.test(e) && (t += 1), t <= 1 ? {
3
+ const clamp = (n, min, max) => {
4
+ return Math.min(max, Math.max(min, n));
5
+ };
6
+ const calculatePasswordStrength = (password) => {
7
+ let score = 0;
8
+ if (password.length >= 8) score += 1;
9
+ if (password.length >= 12) score += 1;
10
+ if (/[a-z]/u.test(password) && /[A-Z]/u.test(password)) score += 1;
11
+ if (/\d/u.test(password)) score += 1;
12
+ if (/[^\da-z]/i.test(password)) score += 1;
13
+ if (score <= 1) return {
5
14
  score: 1,
6
15
  label: "Weak",
7
16
  color: "#ef4444"
8
- } : t === 2 ? {
17
+ };
18
+ if (score === 2) return {
9
19
  score: 2,
10
20
  label: "Fair",
11
21
  color: "#f97316"
12
- } : t === 3 ? {
22
+ };
23
+ if (score === 3) return {
13
24
  score: 3,
14
25
  label: "Good",
15
26
  color: "#eab308"
16
- } : t === 4 ? {
27
+ };
28
+ if (score === 4) return {
17
29
  score: 4,
18
30
  label: "Strong",
19
31
  color: "#22c55e"
20
- } : {
32
+ };
33
+ return {
21
34
  score: 5,
22
35
  label: "Excellent",
23
36
  color: "#CDFB50"
24
37
  };
25
38
  };
39
+
26
40
  //#endregion
27
- export { t as calculatePasswordStrength, e as clamp };
41
+ export { calculatePasswordStrength, clamp };
42
+ //# sourceMappingURL=sharedUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharedUtils.js","names":[],"sources":["../../src/utils/sharedUtils.ts"],"sourcesContent":["export const clamp = (n: number, min: number, max: number): number => {\n return Math.min(max, Math.max(min, n))\n}\n\nexport interface PasswordStrength {\n score: number\n label: string\n color: string\n}\n\nexport const calculatePasswordStrength = (password: string): PasswordStrength => {\n let score = 0\n\n if (password.length >= 8) score += 1\n if (password.length >= 12) score += 1\n if (/[a-z]/u.test(password) && /[A-Z]/u.test(password)) score += 1\n if (/\\d/u.test(password)) score += 1\n if (/[^\\da-z]/i.test(password)) score += 1\n\n if (score <= 1) return { score: 1, label: 'Weak', color: '#ef4444' }\n if (score === 2) return { score: 2, label: 'Fair', color: '#f97316' }\n if (score === 3) return { score: 3, label: 'Good', color: '#eab308' }\n if (score === 4) return { score: 4, label: 'Strong', color: '#22c55e' }\n return { score: 5, label: 'Excellent', color: '#CDFB50' }\n}\n"],"mappings":";;AAAA,MAAa,SAAS,GAAW,KAAa,QAAwB;AACpE,QAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,EAAE,CAAC;;AASxC,MAAa,6BAA6B,aAAuC;CAC/E,IAAI,QAAQ;AAEZ,KAAI,SAAS,UAAU,EAAG,UAAS;AACnC,KAAI,SAAS,UAAU,GAAI,UAAS;AACpC,KAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,CAAE,UAAS;AACjE,KAAI,MAAM,KAAK,SAAS,CAAE,UAAS;AACnC,KAAI,YAAY,KAAK,SAAS,CAAE,UAAS;AAEzC,KAAI,SAAS,EAAG,QAAO;EAAE,OAAO;EAAG,OAAO;EAAQ,OAAO;EAAW;AACpE,KAAI,UAAU,EAAG,QAAO;EAAE,OAAO;EAAG,OAAO;EAAQ,OAAO;EAAW;AACrE,KAAI,UAAU,EAAG,QAAO;EAAE,OAAO;EAAG,OAAO;EAAQ,OAAO;EAAW;AACrE,KAAI,UAAU,EAAG,QAAO;EAAE,OAAO;EAAG,OAAO;EAAU,OAAO;EAAW;AACvE,QAAO;EAAE,OAAO;EAAG,OAAO;EAAa,OAAO;EAAW"}
@@ -1,3 +1,8 @@
1
- import { ClassValue } from 'clsx';
2
- export declare const cn: (...inputs: ClassValue[]) => string;
1
+ 'use client';
2
+ import { ClassValue } from "clsx";
3
+
4
+ //#region src/utils/twUtils.d.ts
5
+ declare const cn: (...inputs: ClassValue[]) => string;
6
+ //#endregion
7
+ export { cn };
3
8
  //# sourceMappingURL=twUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"twUtils.d.ts","sourceRoot":"","sources":["../../src/utils/twUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,eAAO,MAAM,EAAE,GAAI,GAAG,QAAQ,UAAU,EAAE,KAAG,MAE5C,CAAA"}
1
+ {"version":3,"file":"twUtils.d.ts","names":[],"sources":["../../src/utils/twUtils.ts"],"mappings":";;;;cAGa,EAAA,MAAE,MAAA,EAAe,UAAA"}
@@ -1,2 +1,12 @@
1
- import { t as e } from "../twUtils-BpqlKSeB.js";
2
- export { e as cn };
1
+ 'use client';
2
+ import { clsx } from "clsx";
3
+ import { twMerge } from "tailwind-merge";
4
+
5
+ //#region src/utils/twUtils.ts
6
+ const cn = (...inputs) => {
7
+ return twMerge(clsx(inputs));
8
+ };
9
+
10
+ //#endregion
11
+ export { cn };
12
+ //# sourceMappingURL=twUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twUtils.js","names":[],"sources":["../../src/utils/twUtils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport const cn = (...inputs: ClassValue[]): string => {\n return twMerge(clsx(inputs))\n}\n"],"mappings":";;;;;AAGA,MAAa,MAAM,GAAG,WAAiC;AACrD,QAAO,QAAQ,KAAK,OAAO,CAAC"}