@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,134 +1,172 @@
1
- 'use client'
2
- import '../styles/main.css'
3
- import { t as e } from "../twUtils-BpqlKSeB.js";
4
- import { getStateClasses as t } from "../utils/formFieldUtils.js";
5
- import { Label as n } from "../Label.js";
6
- import { Input as r } from "../primitives/input.js";
7
- import { i, l as a, n as o, t as s, u as c } from "../select-DFE8xm1L.js";
8
- import { ControlGroup as l, ControlGroupItem as u, useControlGroup as d } from "../ControlGroup.js";
9
- import { useId as f } from "react";
10
- import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
1
+ 'use client';
2
+ import { cn } from "../utils/twUtils.js";
3
+ import { getStateClasses } from "../utils/formFieldUtils.js";
4
+ import { Label } from "../Label.js";
5
+ import { Input } from "../primitives/input.js";
6
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../primitives/select.js";
7
+ import { ControlGroup, ControlGroupItem, useControlGroup } from "../ControlGroup.js";
8
+ import { useId } from "react";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+
11
11
  //#region src/components/ControlGroup/ControlGroupSelect.tsx
12
- var g = "[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none", _ = "Amount", v = "Select an option", y = "flex w-full min-w-0 flex-col gap-1.5", b = "h-12! min-h-12! border-2! border-input-border bg-input-bg text-base text-input-text transition duration-200 placeholder:text-input-text-placeholder hover:border-input-border--hover focus-visible:border-input-border--focus 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", x = (e, t = 0) => {
13
- let n = e?.trim();
14
- if (n) return `${Math.max(n.length + t, 8)}ch`;
15
- }, S = (e, t) => {
16
- let n = e?.trim();
17
- return n && n.length > 0 ? n : t;
18
- }, C = ({ amountStep: e, ariaLabel: t, captionLayout: n = "inline", className: r, dataTestId: i = "spectral-control-group-select", disabled: a, errorMessage: o, id: s, dropdownWidth: c = "trigger", inputAriaLabel: u, inputPlaceholder: d, inputItemClassName: p, inputValue: h, maxAmount: g = 1e6, minAmount: y = 0, onInputChange: b, orientation: C = "horizontal", selectAriaLabel: T, selectItemClassName: E, selectOptions: D, selectPlaceholder: O, state: k = "default", type: A = "number", warningMessage: j, ...M }) => {
19
- let N = f(), P = s ?? N, F = `${P}-amount`, I = `${P}-select`, L = `${F}-label`, R = `${I}-label`, z = n === "above", B = z ? void 0 : d, V = z ? void 0 : O, H = S(d, _), U = S(O, v), W = u ?? (z ? void 0 : H), G = T ?? (z ? void 0 : U), K = x(d, 3), q = x(O, 5), J = t ?? `${H} and ${U}`, Y = !!a, X = h !== void 0 && b !== void 0;
20
- return /* @__PURE__ */ m(l, {
21
- "aria-label": J,
22
- className: r,
23
- "data-testid": i,
24
- disabled: a,
25
- errorMessage: o,
26
- id: P,
27
- orientation: C,
28
- state: k,
29
- warningMessage: j,
30
- children: /* @__PURE__ */ m(w, {
31
- amountStep: e,
32
- dataTestId: i,
33
- inputAccessibleName: W,
34
- inputCaption: B,
35
- inputId: F,
36
- inputLabelId: L,
37
- inputLabelText: H,
38
- inputItemClassName: p,
39
- inputMinWidth: K,
40
- inputValue: X ? h : void 0,
41
- isDisabled: Y,
42
- maxAmount: g,
43
- minAmount: y,
44
- onInputChange: X ? b : void 0,
45
- dropdownWidth: c,
46
- selectCaption: V,
47
- selectOptions: D,
48
- selectLabelId: R,
49
- selectLabelText: U,
50
- selectItemClassName: E,
51
- selectProps: M,
52
- selectTriggerAriaLabel: G,
53
- selectTriggerId: I,
54
- selectTriggerMinWidth: q,
55
- type: A,
56
- useAboveLabels: z
12
+ const numberInputNoSpinner = "[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none";
13
+ const defaultInputLabel = "Amount";
14
+ const defaultSelectLabel = "Select an option";
15
+ const fieldStackClass = "flex w-full min-w-0 flex-col gap-1.5";
16
+ const groupedFieldBaseClasses = "h-12! min-h-12! border-2! border-input-border bg-input-bg text-base text-input-text transition duration-200 placeholder:text-input-text-placeholder hover:border-input-border--hover focus-visible:border-input-border--focus 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";
17
+ const getFieldMinWidth = (caption, extraCharacters = 0) => {
18
+ const normalizedCaption = caption?.trim();
19
+ if (!normalizedCaption) return void 0;
20
+ return `${Math.max(normalizedCaption.length + extraCharacters, 8)}ch`;
21
+ };
22
+ const getReadableLabel = (label, fallback) => {
23
+ const normalizedLabel = label?.trim();
24
+ return normalizedLabel && normalizedLabel.length > 0 ? normalizedLabel : fallback;
25
+ };
26
+ const ControlGroupSelect = ({ amountStep, ariaLabel, captionLayout = "inline", className, dataTestId = "spectral-control-group-select", disabled, errorMessage, id, dropdownWidth = "trigger", inputAriaLabel, inputPlaceholder, inputItemClassName, inputValue, messageReserveLines = 1, messageReserveSpace = true, maxAmount = 1e6, minAmount = 0, onInputChange, orientation = "horizontal", selectAriaLabel, selectItemClassName, selectOptions, selectPlaceholder, state = "default", type = "number", warningMessage, ...selectProps }) => {
27
+ const baseId = useId();
28
+ const idPrefix = id ?? baseId;
29
+ const inputId = `${idPrefix}-amount`;
30
+ const selectTriggerId = `${idPrefix}-select`;
31
+ const inputLabelId = `${inputId}-label`;
32
+ const selectLabelId = `${selectTriggerId}-label`;
33
+ const useAboveLabels = captionLayout === "above";
34
+ const inputCaption = useAboveLabels ? void 0 : inputPlaceholder;
35
+ const selectCaption = useAboveLabels ? void 0 : selectPlaceholder;
36
+ const inputLabelText = getReadableLabel(inputPlaceholder, defaultInputLabel);
37
+ const selectLabelText = getReadableLabel(selectPlaceholder, defaultSelectLabel);
38
+ const inputAccessibleName = inputAriaLabel ?? (useAboveLabels ? void 0 : inputLabelText);
39
+ const selectTriggerAriaLabel = selectAriaLabel ?? (useAboveLabels ? void 0 : selectLabelText);
40
+ const inputMinWidth = getFieldMinWidth(inputPlaceholder, 3);
41
+ const selectTriggerMinWidth = getFieldMinWidth(selectPlaceholder, 5);
42
+ const groupAriaLabel = ariaLabel ?? `${inputLabelText} and ${selectLabelText}`;
43
+ const isDisabled = !!disabled;
44
+ const isInputControlled = inputValue !== void 0 && onInputChange !== void 0;
45
+ return /* @__PURE__ */ jsx(ControlGroup, {
46
+ "aria-label": groupAriaLabel,
47
+ className,
48
+ "data-testid": dataTestId,
49
+ disabled,
50
+ errorMessage,
51
+ id: idPrefix,
52
+ messageReserveLines,
53
+ messageReserveSpace,
54
+ orientation,
55
+ state,
56
+ warningMessage,
57
+ children: /* @__PURE__ */ jsx(ControlGroupSelectInner, {
58
+ amountStep,
59
+ dataTestId,
60
+ inputAccessibleName,
61
+ inputCaption,
62
+ inputId,
63
+ inputLabelId,
64
+ inputLabelText,
65
+ inputItemClassName,
66
+ inputMinWidth,
67
+ inputValue: isInputControlled ? inputValue : void 0,
68
+ isDisabled,
69
+ maxAmount,
70
+ minAmount,
71
+ onInputChange: isInputControlled ? onInputChange : void 0,
72
+ dropdownWidth,
73
+ selectCaption,
74
+ selectOptions,
75
+ selectLabelId,
76
+ selectLabelText,
77
+ selectItemClassName,
78
+ selectProps,
79
+ selectTriggerAriaLabel,
80
+ selectTriggerId,
81
+ selectTriggerMinWidth,
82
+ type,
83
+ useAboveLabels
57
84
  })
58
85
  });
59
- }, w = ({ amountStep: l, dataTestId: f, dropdownWidth: _, inputAccessibleName: v, inputCaption: x, inputId: S, inputLabelId: C, inputLabelText: w, inputItemClassName: T, inputMinWidth: E, inputValue: D, isDisabled: O, maxAmount: k, minAmount: A, onInputChange: j, selectCaption: M, selectLabelId: N, selectLabelText: P, selectItemClassName: F, selectOptions: I, selectProps: L, selectTriggerAriaLabel: R, selectTriggerId: z, selectTriggerMinWidth: B, type: V, useAboveLabels: H }) => {
60
- let { messageId: U, orientation: W, state: G } = d(), K = L.open !== void 0, q = (e) => {
61
- L.onOpenChange?.(e);
62
- }, J = W === "horizontal" ? "rounded-s-md rounded-e-none" : "rounded-ss-md rounded-se-md rounded-es-none rounded-ee-none", Y = W === "horizontal" ? "rounded-s-none rounded-e-md" : "rounded-ss-none rounded-se-none rounded-es-md rounded-ee-md", X = W === "horizontal" ? "me-0" : "mbe-0", Z = W === "horizontal" ? "me-0 [&>*:last-child]:-ms-0.5" : "mbe-0 [&>*:last-child]:-mt-0.5", Q = /* @__PURE__ */ m(r, {
63
- "aria-describedby": U,
64
- "aria-label": v,
65
- "aria-labelledby": H ? C : void 0,
66
- className: e(b, J, t(G), V === "number" && g, V === "number" && "tabular-nums"),
67
- "data-testid": `${f}-input`,
68
- disabled: O,
69
- id: H ? S : void 0,
70
- type: V === "number" ? "number" : "text",
71
- placeholder: x,
72
- style: E ? { minWidth: E } : void 0,
73
- min: A ?? 0,
74
- max: k ?? 1e6,
75
- ...D !== void 0 && j !== void 0 ? {
76
- value: D,
77
- onChange: j
86
+ };
87
+ const ControlGroupSelectInner = ({ amountStep, dataTestId, dropdownWidth, inputAccessibleName, inputCaption, inputId, inputLabelId, inputLabelText, inputItemClassName, inputMinWidth, inputValue, isDisabled, maxAmount, minAmount, onInputChange, selectCaption, selectLabelId, selectLabelText, selectItemClassName, selectOptions, selectProps, selectTriggerAriaLabel, selectTriggerId, selectTriggerMinWidth, type, useAboveLabels }) => {
88
+ const { messageId, orientation, state } = useControlGroup();
89
+ const isSelectOpenControlled = selectProps.open !== void 0;
90
+ const handleSelectOpenChange = (nextOpen) => {
91
+ selectProps.onOpenChange?.(nextOpen);
92
+ };
93
+ const inputRadiusClasses = orientation === "horizontal" ? "rounded-s-md rounded-e-none" : "rounded-ss-md rounded-se-md rounded-es-none rounded-ee-none";
94
+ const selectRadiusClasses = orientation === "horizontal" ? "rounded-s-none rounded-e-md" : "rounded-ss-none rounded-se-none rounded-es-md rounded-ee-md";
95
+ const firstItemAboveLabelClasses = orientation === "horizontal" ? "me-0" : "mbe-0";
96
+ const secondItemAboveLabelClasses = orientation === "horizontal" ? "me-0 [&>*:last-child]:-ms-0.5" : "mbe-0 [&>*:last-child]:-mt-0.5";
97
+ const inputElement = /* @__PURE__ */ jsx(Input, {
98
+ "aria-describedby": messageId,
99
+ "aria-label": inputAccessibleName,
100
+ "aria-labelledby": useAboveLabels ? inputLabelId : void 0,
101
+ className: cn(groupedFieldBaseClasses, inputRadiusClasses, getStateClasses(state), type === "number" && numberInputNoSpinner, type === "number" && "tabular-nums"),
102
+ "data-testid": `${dataTestId}-input`,
103
+ disabled: isDisabled,
104
+ id: useAboveLabels ? inputId : void 0,
105
+ type: type === "number" ? "number" : "text",
106
+ placeholder: inputCaption,
107
+ style: inputMinWidth ? { minWidth: inputMinWidth } : void 0,
108
+ min: minAmount ?? 0,
109
+ max: maxAmount ?? 1e6,
110
+ ...inputValue !== void 0 && onInputChange !== void 0 ? {
111
+ value: inputValue,
112
+ onChange: onInputChange
78
113
  } : {},
79
- step: l ?? 1
80
- }), $ = /* @__PURE__ */ m(a, {
81
- "aria-describedby": U,
82
- "aria-label": R,
83
- "aria-labelledby": H ? N : void 0,
84
- className: e("text-input-text data-placeholder:text-input-text-placeholder!", Y, "px-4 w-full justify-between focus-visible:border-input-border--focus focus-visible:ring-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", t(G)),
85
- "data-testid": `${f}-select-trigger`,
86
- disabled: O,
87
- id: H ? z : void 0,
88
- style: B ? { minWidth: B } : void 0,
89
- children: /* @__PURE__ */ m(c, {
114
+ step: amountStep ?? 1
115
+ });
116
+ const selectTriggerElement = /* @__PURE__ */ jsx(SelectTrigger, {
117
+ "aria-describedby": messageId,
118
+ "aria-label": selectTriggerAriaLabel,
119
+ "aria-labelledby": useAboveLabels ? selectLabelId : void 0,
120
+ className: cn("text-input-text data-placeholder:text-input-text-placeholder!", selectRadiusClasses, "px-4 w-full justify-between focus-visible:border-input-border--focus focus-visible:ring-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus", getStateClasses(state)),
121
+ "data-testid": `${dataTestId}-select-trigger`,
122
+ disabled: isDisabled,
123
+ id: useAboveLabels ? selectTriggerId : void 0,
124
+ style: selectTriggerMinWidth ? { minWidth: selectTriggerMinWidth } : void 0,
125
+ children: /* @__PURE__ */ jsx(SelectValue, {
90
126
  className: "min-w-0 block max-w-full truncate text-left whitespace-nowrap text-input-text! data-placeholder:text-input-text-placeholder!",
91
- placeholder: M
127
+ placeholder: selectCaption
92
128
  })
93
129
  });
94
- return /* @__PURE__ */ h(p, { children: [/* @__PURE__ */ m(u, {
95
- className: e(H ? X : void 0, T),
96
- children: H ? /* @__PURE__ */ h("div", {
97
- className: y,
98
- children: [/* @__PURE__ */ m(n, {
130
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(ControlGroupItem, {
131
+ className: cn(useAboveLabels ? firstItemAboveLabelClasses : void 0, inputItemClassName),
132
+ children: useAboveLabels ? /* @__PURE__ */ jsxs("div", {
133
+ className: fieldStackClass,
134
+ children: [/* @__PURE__ */ jsx(Label, {
99
135
  className: "text-text-primary",
100
- htmlFor: S,
101
- id: C,
102
- children: w
103
- }), Q]
104
- }) : Q
105
- }), /* @__PURE__ */ h(s, {
106
- ...L,
107
- "data-testid": `${f}-select-root`,
108
- disabled: O,
109
- ...K ? { open: L.open } : {},
110
- onOpenChange: q,
111
- children: [/* @__PURE__ */ m(u, {
112
- className: e(H ? Z : void 0, F),
113
- children: H ? /* @__PURE__ */ h("div", {
114
- className: y,
115
- children: [/* @__PURE__ */ m(n, {
136
+ htmlFor: inputId,
137
+ id: inputLabelId,
138
+ children: inputLabelText
139
+ }), inputElement]
140
+ }) : inputElement
141
+ }), /* @__PURE__ */ jsxs(Select, {
142
+ ...selectProps,
143
+ "data-testid": `${dataTestId}-select-root`,
144
+ disabled: isDisabled,
145
+ ...isSelectOpenControlled ? { open: selectProps.open } : {},
146
+ onOpenChange: handleSelectOpenChange,
147
+ children: [/* @__PURE__ */ jsx(ControlGroupItem, {
148
+ className: cn(useAboveLabels ? secondItemAboveLabelClasses : void 0, selectItemClassName),
149
+ children: useAboveLabels ? /* @__PURE__ */ jsxs("div", {
150
+ className: fieldStackClass,
151
+ children: [/* @__PURE__ */ jsx(Label, {
116
152
  className: "text-text-primary",
117
- htmlFor: z,
118
- id: N,
119
- children: P
120
- }), $]
121
- }) : $
122
- }), /* @__PURE__ */ m(o, {
123
- "data-testid": `${f}-select-content`,
124
- dropdownWidth: _,
125
- children: I.map((e) => /* @__PURE__ */ m(i, {
126
- disabled: e.disabled,
127
- value: e.value,
128
- children: e.label
129
- }, e.value))
153
+ htmlFor: selectTriggerId,
154
+ id: selectLabelId,
155
+ children: selectLabelText
156
+ }), selectTriggerElement]
157
+ }) : selectTriggerElement
158
+ }), /* @__PURE__ */ jsx(SelectContent, {
159
+ "data-testid": `${dataTestId}-select-content`,
160
+ dropdownWidth,
161
+ children: selectOptions.map((option) => /* @__PURE__ */ jsx(SelectItem, {
162
+ disabled: option.disabled,
163
+ value: option.value,
164
+ children: option.label
165
+ }, option.value))
130
166
  })]
131
167
  })] });
132
168
  };
169
+
133
170
  //#endregion
134
- export { C as ControlGroupSelect };
171
+ export { ControlGroupSelect };
172
+ //# sourceMappingURL=ControlGroupSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlGroupSelect.js","names":[],"sources":["../../src/components/ControlGroup/ControlGroupSelect.tsx"],"sourcesContent":["import { Label } from '@components/Label/Label'\nimport { Input } from '@primitives/input'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@primitives/select'\nimport { getStateClasses, type DropdownWidth, type FormFieldState } from '@utils/formFieldUtils'\nimport { cn } from '@utils/twUtils'\nimport { useId, type ComponentProps } from 'react'\nimport { ControlGroup, ControlGroupItem, useControlGroup, type ControlGroupProps } from './ControlGroup'\n\nconst numberInputNoSpinner = '[appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none'\nconst defaultInputLabel = 'Amount'\nconst defaultSelectLabel = 'Select an option'\n\nexport interface SelectOptionType {\n disabled?: boolean\n label: string\n value: string\n}\n\n/** `inline`: `inputPlaceholder` / `selectPlaceholder` show inside the fields. `above`: same strings render as labels above each control (no inner placeholders). */\nexport type ControlGroupSelectCaptionLayout = 'above' | 'inline'\n\ntype ControlGroupSelectInputControlProps =\n | {\n inputValue: ComponentProps<typeof Input>['value']\n onInputChange: ComponentProps<typeof Input>['onChange']\n }\n | {\n inputValue?: undefined\n onInputChange?: undefined\n }\n\ntype ControlGroupSelectBaseProps = ComponentProps<typeof Select> &\n Pick<ControlGroupProps, 'orientation'> & {\n amountStep?: number\n /** Accessible name for the group wrapper (use when there is no visible group heading). */\n ariaLabel?: string\n captionLayout?: ControlGroupSelectCaptionLayout\n className?: string\n dataTestId?: string\n disabled?: boolean\n dropdownWidth?: DropdownWidth\n errorMessage?: string | string[] | Record<string, unknown> | null\n id?: string\n /** Class applied to the input `ControlGroupItem` segment for width/split composition. */\n inputItemClassName?: string\n /** When `captionLayout` is `inline`, overrides the input's accessible name (defaults to `inputPlaceholder` when set). */\n inputAriaLabel?: string\n inputPlaceholder?: string\n maxAmount?: number\n /** Number of message lines to reserve (default: 1). */\n messageReserveLines?: number\n /** Whether to keep message space reserved when hidden (default: true). */\n messageReserveSpace?: boolean\n minAmount?: number\n selectPlaceholder?: string\n /** When `captionLayout` is `inline` and `selectPlaceholder` is empty, sets the select trigger's accessible name. */\n selectAriaLabel?: string\n /** Class applied to the select `ControlGroupItem` segment for width/split composition. */\n selectItemClassName?: string\n selectOptions: SelectOptionType[]\n state?: Exclude<FormFieldState, 'disabled'>\n type?: 'number' | 'text'\n warningMessage?: string | string[] | Record<string, unknown> | null\n }\n\nexport type ControlGroupSelectProps = ControlGroupSelectBaseProps & ControlGroupSelectInputControlProps\n\nconst fieldStackClass = 'flex w-full min-w-0 flex-col gap-1.5'\nconst groupedFieldBaseClasses =\n 'h-12! min-h-12! border-2! border-input-border bg-input-bg text-base text-input-text transition duration-200 placeholder:text-input-text-placeholder hover:border-input-border--hover focus-visible:border-input-border--focus 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'\n\nconst getFieldMinWidth = (caption?: string, extraCharacters: number = 0): string | undefined => {\n const normalizedCaption = caption?.trim()\n if (!normalizedCaption) return undefined\n return `${Math.max(normalizedCaption.length + extraCharacters, 8)}ch`\n}\n\nconst getReadableLabel = (label: string | undefined, fallback: string): string => {\n const normalizedLabel = label?.trim()\n return normalizedLabel && normalizedLabel.length > 0 ? normalizedLabel : fallback\n}\n\nexport const ControlGroupSelect = ({\n amountStep,\n ariaLabel,\n captionLayout = 'inline',\n className,\n dataTestId = 'spectral-control-group-select',\n disabled,\n errorMessage,\n id,\n dropdownWidth = 'trigger',\n inputAriaLabel,\n inputPlaceholder,\n inputItemClassName,\n inputValue,\n messageReserveLines = 1,\n messageReserveSpace = true,\n maxAmount = 1000000,\n minAmount = 0,\n onInputChange,\n orientation = 'horizontal',\n selectAriaLabel,\n selectItemClassName,\n selectOptions,\n selectPlaceholder,\n state = 'default',\n type = 'number',\n warningMessage,\n ...selectProps\n}: ControlGroupSelectProps) => {\n const baseId = useId()\n const idPrefix = id ?? baseId\n const inputId = `${idPrefix}-amount`\n const selectTriggerId = `${idPrefix}-select`\n const inputLabelId = `${inputId}-label`\n const selectLabelId = `${selectTriggerId}-label`\n\n const useAboveLabels = captionLayout === 'above'\n const inputCaption = useAboveLabels ? undefined : inputPlaceholder\n const selectCaption = useAboveLabels ? undefined : selectPlaceholder\n const inputLabelText = getReadableLabel(inputPlaceholder, defaultInputLabel)\n const selectLabelText = getReadableLabel(selectPlaceholder, defaultSelectLabel)\n\n const inputAccessibleName = inputAriaLabel ?? (useAboveLabels ? undefined : inputLabelText)\n const selectTriggerAriaLabel = selectAriaLabel ?? (useAboveLabels ? undefined : selectLabelText)\n const inputMinWidth = getFieldMinWidth(inputPlaceholder, 3)\n const selectTriggerMinWidth = getFieldMinWidth(selectPlaceholder, 5)\n const groupAriaLabel = ariaLabel ?? `${inputLabelText} and ${selectLabelText}`\n\n const isDisabled = !!disabled\n const isInputControlled = inputValue !== undefined && onInputChange !== undefined\n\n return (\n <ControlGroup\n aria-label={groupAriaLabel}\n className={className}\n data-testid={dataTestId}\n disabled={disabled}\n errorMessage={errorMessage}\n id={idPrefix}\n messageReserveLines={messageReserveLines}\n messageReserveSpace={messageReserveSpace}\n orientation={orientation}\n state={state}\n warningMessage={warningMessage}\n >\n <ControlGroupSelectInner\n amountStep={amountStep}\n dataTestId={dataTestId}\n inputAccessibleName={inputAccessibleName}\n inputCaption={inputCaption}\n inputId={inputId}\n inputLabelId={inputLabelId}\n inputLabelText={inputLabelText}\n inputItemClassName={inputItemClassName}\n inputMinWidth={inputMinWidth}\n inputValue={isInputControlled ? inputValue : undefined}\n isDisabled={isDisabled}\n maxAmount={maxAmount}\n minAmount={minAmount}\n onInputChange={isInputControlled ? onInputChange : undefined}\n dropdownWidth={dropdownWidth}\n selectCaption={selectCaption}\n selectOptions={selectOptions}\n selectLabelId={selectLabelId}\n selectLabelText={selectLabelText}\n selectItemClassName={selectItemClassName}\n selectProps={selectProps}\n selectTriggerAriaLabel={selectTriggerAriaLabel}\n selectTriggerId={selectTriggerId}\n selectTriggerMinWidth={selectTriggerMinWidth}\n type={type}\n useAboveLabels={useAboveLabels}\n />\n </ControlGroup>\n )\n}\n\ninterface ControlGroupSelectInnerProps {\n amountStep?: number\n dataTestId: string\n dropdownWidth: DropdownWidth\n inputAccessibleName?: string\n inputCaption?: string\n inputId: string\n inputLabelId: string\n inputLabelText: string\n inputItemClassName?: string\n inputMinWidth?: string\n inputValue?: ComponentProps<typeof Input>['value']\n isDisabled: boolean\n maxAmount: number\n minAmount: number\n onInputChange?: ComponentProps<typeof Input>['onChange']\n selectCaption?: string\n selectLabelId: string\n selectLabelText: string\n selectItemClassName?: string\n selectOptions: SelectOptionType[]\n selectProps: Omit<ComponentProps<typeof Select>, 'children'>\n selectTriggerAriaLabel?: string\n selectTriggerId: string\n selectTriggerMinWidth?: string\n type: 'number' | 'text'\n useAboveLabels: boolean\n}\n\nconst ControlGroupSelectInner = ({\n amountStep,\n dataTestId,\n dropdownWidth,\n inputAccessibleName,\n inputCaption,\n inputId,\n inputLabelId,\n inputLabelText,\n inputItemClassName,\n inputMinWidth,\n inputValue,\n isDisabled,\n maxAmount,\n minAmount,\n onInputChange,\n selectCaption,\n selectLabelId,\n selectLabelText,\n selectItemClassName,\n selectOptions,\n selectProps,\n selectTriggerAriaLabel,\n selectTriggerId,\n selectTriggerMinWidth,\n type,\n useAboveLabels,\n}: ControlGroupSelectInnerProps) => {\n const { messageId, orientation, state } = useControlGroup()\n const isSelectOpenControlled = selectProps.open !== undefined\n const handleSelectOpenChange: NonNullable<ComponentProps<typeof Select>['onOpenChange']> = (nextOpen) => {\n selectProps.onOpenChange?.(nextOpen)\n }\n\n const inputRadiusClasses = orientation === 'horizontal' ? 'rounded-s-md rounded-e-none' : 'rounded-ss-md rounded-se-md rounded-es-none rounded-ee-none'\n const selectRadiusClasses = orientation === 'horizontal' ? 'rounded-s-none rounded-e-md' : 'rounded-ss-none rounded-se-none rounded-es-md rounded-ee-md'\n const firstItemAboveLabelClasses = orientation === 'horizontal' ? 'me-0' : 'mbe-0'\n const secondItemAboveLabelClasses = orientation === 'horizontal' ? 'me-0 [&>*:last-child]:-ms-0.5' : 'mbe-0 [&>*:last-child]:-mt-0.5'\n\n const inputElement = (\n <Input\n aria-describedby={messageId}\n aria-label={inputAccessibleName}\n aria-labelledby={useAboveLabels ? inputLabelId : undefined}\n className={cn(groupedFieldBaseClasses, inputRadiusClasses, getStateClasses(state), type === 'number' && numberInputNoSpinner, type === 'number' && 'tabular-nums')}\n data-testid={`${dataTestId}-input`}\n disabled={isDisabled}\n id={useAboveLabels ? inputId : undefined}\n type={type === 'number' ? 'number' : 'text'}\n placeholder={inputCaption}\n style={inputMinWidth ? { minWidth: inputMinWidth } : undefined}\n min={minAmount ?? 0}\n max={maxAmount ?? 1000000}\n {...(inputValue !== undefined && onInputChange !== undefined ? { value: inputValue, onChange: onInputChange } : {})}\n step={amountStep ?? 1}\n />\n )\n\n const selectTriggerElement = (\n <SelectTrigger\n aria-describedby={messageId}\n aria-label={selectTriggerAriaLabel}\n aria-labelledby={useAboveLabels ? selectLabelId : undefined}\n className={cn(\n 'text-input-text data-placeholder:text-input-text-placeholder!',\n selectRadiusClasses,\n 'px-4 w-full justify-between focus-visible:border-input-border--focus focus-visible:ring-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-input-border--focus',\n getStateClasses(state),\n )}\n data-testid={`${dataTestId}-select-trigger`}\n disabled={isDisabled}\n id={useAboveLabels ? selectTriggerId : undefined}\n style={selectTriggerMinWidth ? { minWidth: selectTriggerMinWidth } : undefined}\n >\n <SelectValue className='min-w-0 block max-w-full truncate text-left whitespace-nowrap text-input-text! data-placeholder:text-input-text-placeholder!' placeholder={selectCaption} />\n </SelectTrigger>\n )\n\n return (\n <>\n <ControlGroupItem className={cn(useAboveLabels ? firstItemAboveLabelClasses : undefined, inputItemClassName)}>\n {useAboveLabels ? (\n <div className={fieldStackClass}>\n <Label className='text-text-primary' htmlFor={inputId} id={inputLabelId}>\n {inputLabelText}\n </Label>\n {inputElement}\n </div>\n ) : (\n inputElement\n )}\n </ControlGroupItem>\n <Select {...selectProps} data-testid={`${dataTestId}-select-root`} disabled={isDisabled} {...(isSelectOpenControlled ? { open: selectProps.open } : {})} onOpenChange={handleSelectOpenChange}>\n <ControlGroupItem className={cn(useAboveLabels ? secondItemAboveLabelClasses : undefined, selectItemClassName)}>\n {useAboveLabels ? (\n <div className={fieldStackClass}>\n <Label className='text-text-primary' htmlFor={selectTriggerId} id={selectLabelId}>\n {selectLabelText}\n </Label>\n {selectTriggerElement}\n </div>\n ) : (\n selectTriggerElement\n )}\n </ControlGroupItem>\n <SelectContent data-testid={`${dataTestId}-select-content`} dropdownWidth={dropdownWidth}>\n {selectOptions.map((option) => (\n <SelectItem disabled={option.disabled} key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;AAQA,MAAM,uBAAuB;AAC7B,MAAM,oBAAoB;AAC1B,MAAM,qBAAqB;AAyD3B,MAAM,kBAAkB;AACxB,MAAM,0BACJ;AAEF,MAAM,oBAAoB,SAAkB,kBAA0B,MAA0B;CAC9F,MAAM,oBAAoB,SAAS,MAAM;AACzC,KAAI,CAAC,kBAAmB,QAAO;AAC/B,QAAO,GAAG,KAAK,IAAI,kBAAkB,SAAS,iBAAiB,EAAE,CAAC;;AAGpE,MAAM,oBAAoB,OAA2B,aAA6B;CAChF,MAAM,kBAAkB,OAAO,MAAM;AACrC,QAAO,mBAAmB,gBAAgB,SAAS,IAAI,kBAAkB;;AAG3E,MAAa,sBAAsB,EACjC,YACA,WACA,gBAAgB,UAChB,WACA,aAAa,iCACb,UACA,cACA,IACA,gBAAgB,WAChB,gBACA,kBACA,oBACA,YACA,sBAAsB,GACtB,sBAAsB,MACtB,YAAY,KACZ,YAAY,GACZ,eACA,cAAc,cACd,iBACA,qBACA,eACA,mBACA,QAAQ,WACR,OAAO,UACP,gBACA,GAAG,kBAC0B;CAC7B,MAAM,SAAS,OAAO;CACtB,MAAM,WAAW,MAAM;CACvB,MAAM,UAAU,GAAG,SAAS;CAC5B,MAAM,kBAAkB,GAAG,SAAS;CACpC,MAAM,eAAe,GAAG,QAAQ;CAChC,MAAM,gBAAgB,GAAG,gBAAgB;CAEzC,MAAM,iBAAiB,kBAAkB;CACzC,MAAM,eAAe,iBAAiB,SAAY;CAClD,MAAM,gBAAgB,iBAAiB,SAAY;CACnD,MAAM,iBAAiB,iBAAiB,kBAAkB,kBAAkB;CAC5E,MAAM,kBAAkB,iBAAiB,mBAAmB,mBAAmB;CAE/E,MAAM,sBAAsB,mBAAmB,iBAAiB,SAAY;CAC5E,MAAM,yBAAyB,oBAAoB,iBAAiB,SAAY;CAChF,MAAM,gBAAgB,iBAAiB,kBAAkB,EAAE;CAC3D,MAAM,wBAAwB,iBAAiB,mBAAmB,EAAE;CACpE,MAAM,iBAAiB,aAAa,GAAG,eAAe,OAAO;CAE7D,MAAM,aAAa,CAAC,CAAC;CACrB,MAAM,oBAAoB,eAAe,UAAa,kBAAkB;AAExE,QACE,oBAAC,cAAD;EACE,cAAY;EACD;EACX,eAAa;EACH;EACI;EACd,IAAI;EACiB;EACA;EACR;EACN;EACS;YAEhB,oBAAC,yBAAD;GACc;GACA;GACS;GACP;GACL;GACK;GACE;GACI;GACL;GACf,YAAY,oBAAoB,aAAa;GACjC;GACD;GACA;GACX,eAAe,oBAAoB,gBAAgB;GACpC;GACA;GACA;GACA;GACE;GACI;GACR;GACW;GACP;GACM;GACjB;GACU;GAChB;EACW;;AAiCnB,MAAM,2BAA2B,EAC/B,YACA,YACA,eACA,qBACA,cACA,SACA,cACA,gBACA,oBACA,eACA,YACA,YACA,WACA,WACA,eACA,eACA,eACA,iBACA,qBACA,eACA,aACA,wBACA,iBACA,uBACA,MACA,qBACkC;CAClC,MAAM,EAAE,WAAW,aAAa,UAAU,iBAAiB;CAC3D,MAAM,yBAAyB,YAAY,SAAS;CACpD,MAAM,0BAAsF,aAAa;AACvG,cAAY,eAAe,SAAS;;CAGtC,MAAM,qBAAqB,gBAAgB,eAAe,gCAAgC;CAC1F,MAAM,sBAAsB,gBAAgB,eAAe,gCAAgC;CAC3F,MAAM,6BAA6B,gBAAgB,eAAe,SAAS;CAC3E,MAAM,8BAA8B,gBAAgB,eAAe,kCAAkC;CAErG,MAAM,eACJ,oBAAC,OAAD;EACE,oBAAkB;EAClB,cAAY;EACZ,mBAAiB,iBAAiB,eAAe;EACjD,WAAW,GAAG,yBAAyB,oBAAoB,gBAAgB,MAAM,EAAE,SAAS,YAAY,sBAAsB,SAAS,YAAY,eAAe;EAClK,eAAa,GAAG,WAAW;EAC3B,UAAU;EACV,IAAI,iBAAiB,UAAU;EAC/B,MAAM,SAAS,WAAW,WAAW;EACrC,aAAa;EACb,OAAO,gBAAgB,EAAE,UAAU,eAAe,GAAG;EACrD,KAAK,aAAa;EAClB,KAAK,aAAa;EAClB,GAAK,eAAe,UAAa,kBAAkB,SAAY;GAAE,OAAO;GAAY,UAAU;GAAe,GAAG,EAAE;EAClH,MAAM,cAAc;EACpB;CAGJ,MAAM,uBACJ,oBAAC,eAAD;EACE,oBAAkB;EAClB,cAAY;EACZ,mBAAiB,iBAAiB,gBAAgB;EAClD,WAAW,GACT,iEACA,qBACA,8LACA,gBAAgB,MAAM,CACvB;EACD,eAAa,GAAG,WAAW;EAC3B,UAAU;EACV,IAAI,iBAAiB,kBAAkB;EACvC,OAAO,wBAAwB,EAAE,UAAU,uBAAuB,GAAG;YAErE,oBAAC,aAAD;GAAa,WAAU;GAA+H,aAAa;GAAiB;EACtK;AAGlB,QACE,4CACE,oBAAC,kBAAD;EAAkB,WAAW,GAAG,iBAAiB,6BAA6B,QAAW,mBAAmB;YACzG,iBACC,qBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,oBAAC,OAAD;IAAO,WAAU;IAAoB,SAAS;IAAS,IAAI;cACxD;IACK,GACP,aACG;OAEN;EAEe,GACnB,qBAAC,QAAD;EAAQ,GAAI;EAAa,eAAa,GAAG,WAAW;EAAe,UAAU;EAAY,GAAK,yBAAyB,EAAE,MAAM,YAAY,MAAM,GAAG,EAAE;EAAG,cAAc;YAAvK,CACE,oBAAC,kBAAD;GAAkB,WAAW,GAAG,iBAAiB,8BAA8B,QAAW,oBAAoB;aAC3G,iBACC,qBAAC,OAAD;IAAK,WAAW;cAAhB,CACE,oBAAC,OAAD;KAAO,WAAU;KAAoB,SAAS;KAAiB,IAAI;eAChE;KACK,GACP,qBACG;QAEN;GAEe,GACnB,oBAAC,eAAD;GAAe,eAAa,GAAG,WAAW;GAAiC;aACxE,cAAc,KAAK,WAClB,oBAAC,YAAD;IAAY,UAAU,OAAO;IAA6B,OAAO,OAAO;cACrE,OAAO;IACG,EAF+B,OAAO,MAEtC,CACb;GACY,EACT;IACR"}
@@ -1,25 +1,47 @@
1
- import { Slot } from './primitives/slot';
2
- import { FormFieldState } from './utils/formFieldUtils';
3
- import { ComponentProps } from 'react';
1
+ 'use client';
2
+ import { Slot } from "./primitives/slot.js";
3
+ import { FormFieldState } from "./utils/formFieldUtils.js";
4
+ import { ComponentProps } from "react";
5
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
6
+
7
+ //#region src/components/ControlGroup/ControlGroup.d.ts
4
8
  interface ControlGroupContextValue {
5
- messageId?: string;
6
- isDisabled: boolean;
7
- isInvalid: boolean;
8
- isLoading: boolean;
9
- orientation: 'horizontal' | 'vertical';
10
- state: FormFieldState;
9
+ messageId?: string;
10
+ isDisabled: boolean;
11
+ isInvalid: boolean;
12
+ isLoading: boolean;
13
+ orientation: 'horizontal' | 'vertical';
14
+ state: FormFieldState;
11
15
  }
12
- export declare const useControlGroup: () => ControlGroupContextValue;
13
- export interface ControlGroupProps extends ComponentProps<'div'> {
14
- disabled?: boolean;
15
- errorMessage?: string | string[] | Record<string, unknown> | null;
16
- id?: string;
17
- name?: string;
18
- orientation?: 'horizontal' | 'vertical';
19
- state?: FormFieldState;
20
- warningMessage?: string | string[] | Record<string, unknown> | null;
16
+ declare const useControlGroup: () => ControlGroupContextValue;
17
+ interface ControlGroupProps extends ComponentProps<'div'> {
18
+ disabled?: boolean;
19
+ errorMessage?: string | string[] | Record<string, unknown> | null;
20
+ id?: string;
21
+ messageReserveLines?: number;
22
+ messageReserveSpace?: boolean;
23
+ name?: string;
24
+ orientation?: 'horizontal' | 'vertical';
25
+ state?: FormFieldState;
26
+ warningMessage?: string | string[] | Record<string, unknown> | null;
21
27
  }
22
- export declare const ControlGroup: ({ className, disabled, errorMessage, id, name, orientation, state, warningMessage, ...props }: ControlGroupProps) => import("react/jsx-runtime").JSX.Element;
23
- export declare const ControlGroupItem: ({ className, ...props }: ComponentProps<typeof Slot>) => import("react/jsx-runtime").JSX.Element;
24
- export {};
28
+ declare const ControlGroup: ({
29
+ className,
30
+ disabled,
31
+ errorMessage,
32
+ id,
33
+ messageReserveLines,
34
+ messageReserveSpace,
35
+ name,
36
+ orientation,
37
+ state,
38
+ warningMessage,
39
+ ...props
40
+ }: ControlGroupProps) => _$react_jsx_runtime0.JSX.Element;
41
+ declare const ControlGroupItem: ({
42
+ className,
43
+ ...props
44
+ }: ComponentProps<typeof Slot>) => _$react_jsx_runtime0.JSX.Element;
45
+ //#endregion
46
+ export { ControlGroup, ControlGroupItem, ControlGroupProps, useControlGroup };
25
47
  //# sourceMappingURL=ControlGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlGroup.d.ts","names":[],"sources":["../src/components/ControlGroup/ControlGroup.tsx"],"mappings":";;;;;;;UAKU,wBAAA;EACR,SAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;EACA,WAAA;EACA,KAAA,EAAO,cAAA;AAAA;AAAA,cAKI,eAAA,QAAe,wBAAA;AAAA,UAQX,iBAAA,SAA0B,cAAA;EACzC,QAAA;EACA,YAAA,uBAAmC,MAAA;EACnC,EAAA;EACA,mBAAA;EACA,mBAAA;EACA,IAAA;EACA,WAAA;EACA,KAAA,GAAQ,cAAA;EACR,cAAA,uBAAqC,MAAA;AAAA;AAAA,cAG1B,YAAA;EAAY,SAAA;EAAA,QAAA;EAAA,YAAA;EAAA,EAAA;EAAA,mBAAA;EAAA,mBAAA;EAAA,IAAA;EAAA,WAAA;EAAA,KAAA;EAAA,cAAA;EAAA,GAAA;AAAA,GAAmL,iBAAA,KAAiB,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cA2BhN,gBAAA;EAAgB,SAAA;EAAA,GAAA;AAAA,GAA6B,cAAA,QAAsB,IAAA,MAAK,oBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,61 +1,74 @@
1
- 'use client'
2
- import './styles/main.css'
3
- import { t as e } from "./twUtils-BpqlKSeB.js";
4
- import { Slot as t } from "./primitives/slot.js";
5
- import { ErrorMessage as n, WarningMessage as r } from "./FormFieldMessage.js";
6
- import { getErrorMessageId as i, useFormFieldId as a, useFormFieldState as o } from "./utils/formFieldUtils.js";
7
- import { createContext as s, useContext as c } from "react";
8
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
1
+ 'use client';
2
+ import { cn } from "./utils/twUtils.js";
3
+ import { Slot } from "./primitives/slot.js";
4
+ import { ErrorMessage, WarningMessage } from "./FormFieldMessage.js";
5
+ import { getErrorMessageId, useFormFieldId, useFormFieldState } from "./utils/formFieldUtils.js";
6
+ import { createContext, useContext } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
9
  //#region src/components/ControlGroup/ControlGroup.tsx
10
- var d = s(null), f = () => {
11
- let e = c(d);
12
- if (e === null) throw Error("useControlGroup must be used within a ControlGroup");
13
- return e;
14
- }, p = ({ className: t, disabled: s, errorMessage: c, id: f, name: p, orientation: m = "horizontal", state: h = "default", warningMessage: g, ..._ }) => {
15
- let v = a(f, p), y = i(v), b = `${v}-warning`, { isDisabled: x, isLoading: S, isInvalid: C } = o(s, h), w = h === "error" && c ? y : h === "warning" && g ? b : void 0;
16
- return /* @__PURE__ */ l(d.Provider, {
10
+ const ControlGroupContext = createContext(null);
11
+ const useControlGroup = () => {
12
+ const context = useContext(ControlGroupContext);
13
+ if (context === null) throw new Error("useControlGroup must be used within a ControlGroup");
14
+ return context;
15
+ };
16
+ const ControlGroup = ({ className, disabled, errorMessage, id, messageReserveLines = 1, messageReserveSpace = true, name, orientation = "horizontal", state = "default", warningMessage, ...props }) => {
17
+ const groupId = useFormFieldId(id, name);
18
+ const errorMessageId = getErrorMessageId(groupId);
19
+ const warningMessageId = `${groupId}-warning`;
20
+ const { isDisabled, isLoading, isInvalid } = useFormFieldState(disabled, state);
21
+ const messageId = state === "error" && errorMessage ? errorMessageId : state === "warning" && warningMessage ? warningMessageId : void 0;
22
+ return /* @__PURE__ */ jsx(ControlGroupContext.Provider, {
17
23
  value: {
18
- messageId: w,
19
- isDisabled: x,
20
- isInvalid: C,
21
- isLoading: S,
22
- orientation: m,
23
- state: h
24
+ messageId,
25
+ isDisabled,
26
+ isInvalid,
27
+ isLoading,
28
+ orientation,
29
+ state
24
30
  },
25
- children: /* @__PURE__ */ u("div", {
31
+ children: /* @__PURE__ */ jsxs("div", {
26
32
  "data-slot": "control-group-field",
27
33
  className: "space-y-1.5 w-full",
28
34
  children: [
29
- /* @__PURE__ */ l("div", {
35
+ /* @__PURE__ */ jsx("div", {
30
36
  "data-slot": "control-group",
31
- "data-orientation": m,
32
- "data-state": h,
33
- id: v,
37
+ "data-orientation": orientation,
38
+ "data-state": state,
39
+ id: groupId,
34
40
  role: "group",
35
- "aria-describedby": w,
36
- className: e("group flex w-full", m === "vertical" && "flex-col", x && "pointer-events-none opacity-50", t),
37
- ..._
41
+ "aria-describedby": messageId,
42
+ className: cn("group flex w-full", orientation === "vertical" && "flex-col", isDisabled && "pointer-events-none opacity-50", className),
43
+ ...props
38
44
  }),
39
- /* @__PURE__ */ l(n, {
45
+ /* @__PURE__ */ jsx(ErrorMessage, {
40
46
  dataTestId: "spectral-control-group-error-message",
41
- id: y,
42
- message: C ? c : null
47
+ id: errorMessageId,
48
+ message: isInvalid ? errorMessage : null,
49
+ messageReserveLines,
50
+ messageReserveSpace
43
51
  }),
44
- /* @__PURE__ */ l(r, {
52
+ /* @__PURE__ */ jsx(WarningMessage, {
45
53
  dataTestId: "spectral-control-group-warning-message",
46
- id: b,
47
- message: h === "warning" ? g : null
54
+ id: warningMessageId,
55
+ message: state === "warning" ? warningMessage : null,
56
+ messageReserveLines,
57
+ messageReserveSpace
48
58
  })
49
59
  ]
50
60
  })
51
61
  });
52
- }, m = ({ className: n, ...r }) => {
53
- let { orientation: i } = f();
54
- return /* @__PURE__ */ l(t, {
62
+ };
63
+ const ControlGroupItem = ({ className, ...props }) => {
64
+ const { orientation } = useControlGroup();
65
+ return /* @__PURE__ */ jsx(Slot, {
55
66
  "data-slot": "control-group-item",
56
- className: e("rounded-none focus-within:z-10 hover:z-10", i === "horizontal" && "first:rounded-s-md last:me-0 last:rounded-e-md -me-0.5 h-auto", i === "vertical" && "first:rounded-ss-md first:rounded-se-md last:rounded-ee-md last:rounded-es-md last:mbe-0 -mbe-0.5 w-auto", n),
57
- ...r
67
+ className: cn("rounded-none focus-within:z-10 hover:z-10", orientation === "horizontal" && "first:rounded-s-md last:me-0 last:rounded-e-md -me-0.5 h-auto", orientation === "vertical" && "first:rounded-ss-md first:rounded-se-md last:rounded-ee-md last:rounded-es-md last:mbe-0 -mbe-0.5 w-auto", className),
68
+ ...props
58
69
  });
59
70
  };
71
+
60
72
  //#endregion
61
- export { p as ControlGroup, m as ControlGroupItem, f as useControlGroup };
73
+ export { ControlGroup, ControlGroupItem, useControlGroup };
74
+ //# sourceMappingURL=ControlGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlGroup.js","names":[],"sources":["../src/components/ControlGroup/ControlGroup.tsx"],"sourcesContent":["import { Slot } from '@primitives/slot'\nimport { ErrorMessage, getErrorMessageId, useFormFieldId, useFormFieldState, WarningMessage, type FormFieldState } from '@utils/formFieldUtils'\nimport { cn } from '@utils/twUtils'\nimport { createContext, useContext, type ComponentProps } from 'react'\n\ninterface ControlGroupContextValue {\n messageId?: string\n isDisabled: boolean\n isInvalid: boolean\n isLoading: boolean\n orientation: 'horizontal' | 'vertical'\n state: FormFieldState\n}\n\nconst ControlGroupContext = createContext<ControlGroupContextValue | null>(null)\n\nexport const useControlGroup = () => {\n const context = useContext(ControlGroupContext)\n if (context === null) {\n throw new Error('useControlGroup must be used within a ControlGroup')\n }\n return context\n}\n\nexport interface ControlGroupProps extends ComponentProps<'div'> {\n disabled?: boolean\n errorMessage?: string | string[] | Record<string, unknown> | null\n id?: string\n messageReserveLines?: number\n messageReserveSpace?: boolean\n name?: string\n orientation?: 'horizontal' | 'vertical'\n state?: FormFieldState\n warningMessage?: string | string[] | Record<string, unknown> | null\n}\n\nexport const ControlGroup = ({ className, disabled, errorMessage, id, messageReserveLines = 1, messageReserveSpace = true, name, orientation = 'horizontal', state = 'default', warningMessage, ...props }: ControlGroupProps) => {\n const groupId = useFormFieldId(id, name)\n const errorMessageId = getErrorMessageId(groupId)\n const warningMessageId = `${groupId}-warning`\n const { isDisabled, isLoading, isInvalid } = useFormFieldState(disabled, state)\n const messageId = state === 'error' && errorMessage ? errorMessageId : state === 'warning' && warningMessage ? warningMessageId : undefined\n\n return (\n <ControlGroupContext.Provider value={{ messageId, isDisabled, isInvalid, isLoading, orientation, state }}>\n <div data-slot='control-group-field' className='space-y-1.5 w-full'>\n <div\n data-slot='control-group'\n data-orientation={orientation}\n data-state={state}\n id={groupId}\n role='group'\n aria-describedby={messageId}\n className={cn('group flex w-full', orientation === 'vertical' && 'flex-col', isDisabled && 'pointer-events-none opacity-50', className)}\n {...props}\n />\n <ErrorMessage dataTestId='spectral-control-group-error-message' id={errorMessageId} message={isInvalid ? errorMessage : null} messageReserveLines={messageReserveLines} messageReserveSpace={messageReserveSpace} />\n <WarningMessage dataTestId='spectral-control-group-warning-message' id={warningMessageId} message={state === 'warning' ? warningMessage : null} messageReserveLines={messageReserveLines} messageReserveSpace={messageReserveSpace} />\n </div>\n </ControlGroupContext.Provider>\n )\n}\n\nexport const ControlGroupItem = ({ className, ...props }: ComponentProps<typeof Slot>) => {\n const { orientation } = useControlGroup()\n\n return (\n <Slot\n data-slot='control-group-item'\n className={cn(\n 'rounded-none focus-within:z-10 hover:z-10',\n orientation === 'horizontal' && 'first:rounded-s-md last:me-0 last:rounded-e-md -me-0.5 h-auto',\n orientation === 'vertical' && 'first:rounded-ss-md first:rounded-se-md last:rounded-ee-md last:rounded-es-md last:mbe-0 -mbe-0.5 w-auto',\n className,\n )}\n {...props}\n />\n )\n}\n"],"mappings":";;;;;;;;;AAcA,MAAM,sBAAsB,cAA+C,KAAK;AAEhF,MAAa,wBAAwB;CACnC,MAAM,UAAU,WAAW,oBAAoB;AAC/C,KAAI,YAAY,KACd,OAAM,IAAI,MAAM,qDAAqD;AAEvE,QAAO;;AAeT,MAAa,gBAAgB,EAAE,WAAW,UAAU,cAAc,IAAI,sBAAsB,GAAG,sBAAsB,MAAM,MAAM,cAAc,cAAc,QAAQ,WAAW,gBAAgB,GAAG,YAA+B;CAChO,MAAM,UAAU,eAAe,IAAI,KAAK;CACxC,MAAM,iBAAiB,kBAAkB,QAAQ;CACjD,MAAM,mBAAmB,GAAG,QAAQ;CACpC,MAAM,EAAE,YAAY,WAAW,cAAc,kBAAkB,UAAU,MAAM;CAC/E,MAAM,YAAY,UAAU,WAAW,eAAe,iBAAiB,UAAU,aAAa,iBAAiB,mBAAmB;AAElI,QACE,oBAAC,oBAAoB,UAArB;EAA8B,OAAO;GAAE;GAAW;GAAY;GAAW;GAAW;GAAa;GAAO;YACtG,qBAAC,OAAD;GAAK,aAAU;GAAsB,WAAU;aAA/C;IACE,oBAAC,OAAD;KACE,aAAU;KACV,oBAAkB;KAClB,cAAY;KACZ,IAAI;KACJ,MAAK;KACL,oBAAkB;KAClB,WAAW,GAAG,qBAAqB,gBAAgB,cAAc,YAAY,cAAc,kCAAkC,UAAU;KACvI,GAAI;KACJ;IACF,oBAAC,cAAD;KAAc,YAAW;KAAuC,IAAI;KAAgB,SAAS,YAAY,eAAe;KAA2B;KAA0C;KAAuB;IACpN,oBAAC,gBAAD;KAAgB,YAAW;KAAyC,IAAI;KAAkB,SAAS,UAAU,YAAY,iBAAiB;KAA2B;KAA0C;KAAuB;IAClO;;EACuB;;AAInC,MAAa,oBAAoB,EAAE,WAAW,GAAG,YAAyC;CACxF,MAAM,EAAE,gBAAgB,iBAAiB;AAEzC,QACE,oBAAC,MAAD;EACE,aAAU;EACV,WAAW,GACT,6CACA,gBAAgB,gBAAgB,iEAChC,gBAAgB,cAAc,4GAC9B,UACD;EACD,GAAI;EACJ"}
@@ -1,11 +1,38 @@
1
- import { ComponentProps } from 'react';
2
- export type CardProps = ComponentProps<'div'> & {
3
- asChild?: boolean;
1
+ 'use client';
2
+ import { ComponentProps } from "react";
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/DataCard/Card.d.ts
6
+ type CardProps = ComponentProps<'div'> & {
7
+ asChild?: boolean;
4
8
  };
5
- export declare const CardBase: ({ ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
6
- export declare const CardHeader: ({ className, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
7
- export declare const CardTitle: ({ className, asChild, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
8
- export declare const CardHeaderEndSlot: ({ className, asChild, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
9
- export declare const CardContent: ({ className, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
10
- export declare const Card: ({ asChild, children, className, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const CardBase: ({
10
+ ...props
11
+ }: CardProps) => _$react_jsx_runtime0.JSX.Element;
12
+ declare const CardHeader: ({
13
+ className,
14
+ ...props
15
+ }: CardProps) => _$react_jsx_runtime0.JSX.Element;
16
+ declare const CardTitle: ({
17
+ className,
18
+ asChild,
19
+ ...props
20
+ }: CardProps) => _$react_jsx_runtime0.JSX.Element;
21
+ declare const CardHeaderEndSlot: ({
22
+ className,
23
+ asChild,
24
+ ...props
25
+ }: CardProps) => _$react_jsx_runtime0.JSX.Element;
26
+ declare const CardContent: ({
27
+ className,
28
+ ...props
29
+ }: CardProps) => _$react_jsx_runtime0.JSX.Element;
30
+ declare const Card: ({
31
+ asChild,
32
+ children,
33
+ className,
34
+ ...props
35
+ }: CardProps) => _$react_jsx_runtime0.JSX.Element;
36
+ //#endregion
37
+ export { Card, CardBase, CardContent, CardHeader, CardHeaderEndSlot, CardProps, CardTitle };
11
38
  //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","names":[],"sources":["../../src/components/DataCard/Card.tsx"],"mappings":";;;;;KAIY,SAAA,GAAY,cAAA;EAA0B,OAAA;AAAA;AAAA,cAIrC,QAAA;EAAA,GAAQ;AAAA,GAAkB,SAAA,KAAS,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAInC,UAAA;EAAU,SAAA;EAAA,GAAA;AAAA,GAA6B,SAAA,KAAS,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAIhD,SAAA;EAAS,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,GAA8C,SAAA,KAAS,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAMhE,iBAAA;EAAiB,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,GAA8C,SAAA,KAAS,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAMxE,WAAA;EAAW,SAAA;EAAA,GAAA;AAAA,GAA6B,SAAA,KAAS,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAIjD,IAAA;EAAI,OAAA;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAAwD,SAAA,KAAS,oBAAA,CAAA,GAAA,CAAA,OAAA"}