@brycks/core-front 0.2.7 → 0.2.9

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 (777) hide show
  1. package/dist/components/data/InfoItem/InfoItem.cjs +2 -0
  2. package/dist/components/data/InfoItem/InfoItem.cjs.map +1 -0
  3. package/dist/components/data/InfoItem/InfoItem.js +140 -0
  4. package/dist/components/data/InfoItem/InfoItem.js.map +1 -0
  5. package/dist/components/data/List/List.cjs +2 -0
  6. package/dist/components/data/List/List.cjs.map +1 -0
  7. package/dist/components/data/List/List.js +178 -0
  8. package/dist/components/data/List/List.js.map +1 -0
  9. package/dist/components/data/Table/Table.cjs +2 -0
  10. package/dist/components/data/Table/Table.cjs.map +1 -0
  11. package/dist/components/data/Table/Table.js +247 -0
  12. package/dist/components/data/Table/Table.js.map +1 -0
  13. package/dist/components/data.cjs +2 -0
  14. package/dist/components/data.cjs.map +1 -0
  15. package/dist/components/data.d.ts +2 -0
  16. package/dist/components/data.js +20 -0
  17. package/dist/components/data.js.map +1 -0
  18. package/dist/components/feedback/Alert/Alert.cjs +2 -0
  19. package/dist/components/feedback/Alert/Alert.cjs.map +1 -0
  20. package/dist/components/feedback/Alert/Alert.js +204 -0
  21. package/dist/components/feedback/Alert/Alert.js.map +1 -0
  22. package/dist/components/feedback/Drawer/Drawer.cjs +23 -0
  23. package/dist/components/feedback/Drawer/Drawer.cjs.map +1 -0
  24. package/dist/components/feedback/Drawer/Drawer.js +199 -0
  25. package/dist/components/feedback/Drawer/Drawer.js.map +1 -0
  26. package/dist/components/feedback/Modal/Modal.cjs +2 -0
  27. package/dist/components/feedback/Modal/Modal.cjs.map +1 -0
  28. package/dist/components/feedback/Modal/Modal.js +183 -0
  29. package/dist/components/feedback/Modal/Modal.js.map +1 -0
  30. package/dist/components/feedback/Popover/Popover.cjs +7 -0
  31. package/dist/components/feedback/Popover/Popover.cjs.map +1 -0
  32. package/dist/components/feedback/Popover/Popover.js +168 -0
  33. package/dist/components/feedback/Popover/Popover.js.map +1 -0
  34. package/dist/components/feedback/Progress/Progress.cjs +12 -0
  35. package/dist/components/feedback/Progress/Progress.cjs.map +1 -0
  36. package/dist/components/feedback/Progress/Progress.js +172 -0
  37. package/dist/components/feedback/Progress/Progress.js.map +1 -0
  38. package/dist/components/feedback/Toast/Toast.cjs +11 -0
  39. package/dist/components/feedback/Toast/Toast.cjs.map +1 -0
  40. package/dist/components/feedback/Toast/Toast.js +216 -0
  41. package/dist/components/feedback/Toast/Toast.js.map +1 -0
  42. package/dist/components/feedback/Toast/ToastContext.cjs +2 -0
  43. package/dist/components/feedback/Toast/ToastContext.cjs.map +1 -0
  44. package/dist/components/feedback/Toast/ToastContext.js +13 -0
  45. package/dist/components/feedback/Toast/ToastContext.js.map +1 -0
  46. package/dist/components/feedback/Tooltip/Tooltip.cjs +7 -0
  47. package/dist/components/feedback/Tooltip/Tooltip.cjs.map +1 -0
  48. package/dist/components/feedback/Tooltip/Tooltip.js +128 -0
  49. package/dist/components/feedback/Tooltip/Tooltip.js.map +1 -0
  50. package/dist/components/feedback.cjs +2 -0
  51. package/dist/components/feedback.cjs.map +1 -0
  52. package/dist/components/feedback.d.ts +2 -0
  53. package/dist/components/feedback.js +20 -0
  54. package/dist/components/feedback.js.map +1 -0
  55. package/dist/components/form/Checkbox/Checkbox.cjs +2 -0
  56. package/dist/components/form/Checkbox/Checkbox.cjs.map +1 -0
  57. package/dist/components/form/Checkbox/Checkbox.js +144 -0
  58. package/dist/components/form/Checkbox/Checkbox.js.map +1 -0
  59. package/dist/components/form/DateInput/DateInput.cjs +2 -0
  60. package/dist/components/form/DateInput/DateInput.cjs.map +1 -0
  61. package/dist/components/form/DateInput/DateInput.js +119 -0
  62. package/dist/components/form/DateInput/DateInput.js.map +1 -0
  63. package/dist/components/form/DropZone/DropZone.cjs +2 -0
  64. package/dist/components/form/DropZone/DropZone.cjs.map +1 -0
  65. package/dist/components/form/DropZone/DropZone.js +132 -0
  66. package/dist/components/form/DropZone/DropZone.js.map +1 -0
  67. package/dist/components/form/FieldError/FieldError.cjs +2 -0
  68. package/dist/components/form/FieldError/FieldError.cjs.map +1 -0
  69. package/dist/components/form/FieldError/FieldError.js +77 -0
  70. package/dist/components/form/FieldError/FieldError.js.map +1 -0
  71. package/dist/components/form/FileInput/FileInput.cjs +2 -0
  72. package/dist/components/form/FileInput/FileInput.cjs.map +1 -0
  73. package/dist/components/form/FileInput/FileInput.js +163 -0
  74. package/dist/components/form/FileInput/FileInput.js.map +1 -0
  75. package/dist/components/form/Form/Form.cjs +2 -0
  76. package/dist/components/form/Form/Form.cjs.map +1 -0
  77. package/dist/components/form/Form/Form.js +67 -0
  78. package/dist/components/form/Form/Form.js.map +1 -0
  79. package/dist/components/form/FormCard/FormCard.cjs +2 -0
  80. package/dist/components/form/FormCard/FormCard.cjs.map +1 -0
  81. package/dist/components/form/FormCard/FormCard.js +91 -0
  82. package/dist/components/form/FormCard/FormCard.js.map +1 -0
  83. package/dist/components/form/FormField/FormField.cjs +2 -0
  84. package/dist/components/form/FormField/FormField.cjs.map +1 -0
  85. package/dist/components/form/FormField/FormField.js +97 -0
  86. package/dist/components/form/FormField/FormField.js.map +1 -0
  87. package/dist/components/form/FormGroup/FormGroup.cjs +2 -0
  88. package/dist/components/form/FormGroup/FormGroup.cjs.map +1 -0
  89. package/dist/components/form/FormGroup/FormGroup.js +79 -0
  90. package/dist/components/form/FormGroup/FormGroup.js.map +1 -0
  91. package/dist/components/form/FormLabel/FormLabel.cjs +2 -0
  92. package/dist/components/form/FormLabel/FormLabel.cjs.map +1 -0
  93. package/dist/components/form/FormLabel/FormLabel.js +68 -0
  94. package/dist/components/form/FormLabel/FormLabel.js.map +1 -0
  95. package/dist/components/form/Input/Input.cjs +2 -0
  96. package/dist/components/form/Input/Input.cjs.map +1 -0
  97. package/dist/components/form/Input/Input.js +155 -0
  98. package/dist/components/form/Input/Input.js.map +1 -0
  99. package/dist/components/form/Radio/Radio.cjs +2 -0
  100. package/dist/components/form/Radio/Radio.cjs.map +1 -0
  101. package/dist/components/form/Radio/Radio.js +162 -0
  102. package/dist/components/form/Radio/Radio.js.map +1 -0
  103. package/dist/components/form/Select/Select.cjs +2 -0
  104. package/dist/components/form/Select/Select.cjs.map +1 -0
  105. package/dist/components/form/Select/Select.js +114 -0
  106. package/dist/components/form/Select/Select.js.map +1 -0
  107. package/dist/components/form/Slider/Slider.cjs +2 -0
  108. package/dist/components/form/Slider/Slider.cjs.map +1 -0
  109. package/dist/components/form/Slider/Slider.js +147 -0
  110. package/dist/components/form/Slider/Slider.js.map +1 -0
  111. package/dist/components/form/Switch/Switch.cjs +2 -0
  112. package/dist/components/form/Switch/Switch.cjs.map +1 -0
  113. package/dist/components/form/Switch/Switch.js +118 -0
  114. package/dist/components/form/Switch/Switch.js.map +1 -0
  115. package/dist/components/form/TextField/TextField.cjs +2 -0
  116. package/dist/components/form/TextField/TextField.cjs.map +1 -0
  117. package/dist/components/form/TextField/TextField.js +89 -0
  118. package/dist/components/form/TextField/TextField.js.map +1 -0
  119. package/dist/components/form/Textarea/Textarea.cjs +2 -0
  120. package/dist/components/form/Textarea/Textarea.cjs.map +1 -0
  121. package/dist/components/form/Textarea/Textarea.js +121 -0
  122. package/dist/components/form/Textarea/Textarea.js.map +1 -0
  123. package/dist/components/form.cjs +2 -0
  124. package/dist/components/form.cjs.map +1 -0
  125. package/dist/components/form.d.ts +2 -0
  126. package/dist/components/form.js +34 -0
  127. package/dist/components/form.js.map +1 -0
  128. package/dist/components/layout/AspectRatio/AspectRatio.cjs +2 -0
  129. package/dist/components/layout/AspectRatio/AspectRatio.cjs.map +1 -0
  130. package/dist/components/layout/AspectRatio/AspectRatio.js +50 -0
  131. package/dist/components/layout/AspectRatio/AspectRatio.js.map +1 -0
  132. package/dist/components/layout/Box/Box.cjs +2 -0
  133. package/dist/components/layout/Box/Box.cjs.map +1 -0
  134. package/dist/components/layout/Box/Box.js +58 -0
  135. package/dist/components/layout/Box/Box.js.map +1 -0
  136. package/dist/components/layout/Box/Box.styles.cjs +2 -0
  137. package/dist/components/layout/Box/Box.styles.cjs.map +1 -0
  138. package/dist/components/layout/Box/Box.styles.js +30 -0
  139. package/dist/components/layout/Box/Box.styles.js.map +1 -0
  140. package/dist/components/layout/Card/Card.cjs +2 -0
  141. package/dist/components/layout/Card/Card.cjs.map +1 -0
  142. package/dist/components/layout/Card/Card.js +135 -0
  143. package/dist/components/layout/Card/Card.js.map +1 -0
  144. package/dist/components/layout/Container/Container.cjs +2 -0
  145. package/dist/components/layout/Container/Container.cjs.map +1 -0
  146. package/dist/components/layout/Container/Container.js +57 -0
  147. package/dist/components/layout/Container/Container.js.map +1 -0
  148. package/dist/components/layout/Flex/Flex.cjs +2 -0
  149. package/dist/components/layout/Flex/Flex.cjs.map +1 -0
  150. package/dist/components/layout/Flex/Flex.js +101 -0
  151. package/dist/components/layout/Flex/Flex.js.map +1 -0
  152. package/dist/components/layout/Grid/Grid.cjs +2 -0
  153. package/dist/components/layout/Grid/Grid.cjs.map +1 -0
  154. package/dist/components/layout/Grid/Grid.js +92 -0
  155. package/dist/components/layout/Grid/Grid.js.map +1 -0
  156. package/dist/components/layout/Section/Section.cjs +2 -0
  157. package/dist/components/layout/Section/Section.cjs.map +1 -0
  158. package/dist/components/layout/Section/Section.js +85 -0
  159. package/dist/components/layout/Section/Section.js.map +1 -0
  160. package/dist/components/layout/Semantic/Semantic.cjs +2 -0
  161. package/dist/components/layout/Semantic/Semantic.cjs.map +1 -0
  162. package/dist/components/layout/Semantic/Semantic.js +103 -0
  163. package/dist/components/layout/Semantic/Semantic.js.map +1 -0
  164. package/dist/components/layout/Spacer/Spacer.cjs +2 -0
  165. package/dist/components/layout/Spacer/Spacer.cjs.map +1 -0
  166. package/dist/components/layout/Spacer/Spacer.js +38 -0
  167. package/dist/components/layout/Spacer/Spacer.js.map +1 -0
  168. package/dist/components/layout/Stack/Stack.cjs +2 -0
  169. package/dist/components/layout/Stack/Stack.cjs.map +1 -0
  170. package/dist/components/layout/Stack/Stack.js +67 -0
  171. package/dist/components/layout/Stack/Stack.js.map +1 -0
  172. package/dist/components/layout.cjs +2 -0
  173. package/dist/components/layout.cjs.map +1 -0
  174. package/dist/components/layout.d.ts +2 -0
  175. package/dist/components/layout.js +35 -0
  176. package/dist/components/layout.js.map +1 -0
  177. package/dist/components/media/Image/Image.cjs +2 -0
  178. package/dist/components/media/Image/Image.cjs.map +1 -0
  179. package/dist/components/media/Image/Image.js +171 -0
  180. package/dist/components/media/Image/Image.js.map +1 -0
  181. package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs +2 -0
  182. package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs.map +1 -0
  183. package/dist/components/media/ImageThumbnail/ImageThumbnail.js +112 -0
  184. package/dist/components/media/ImageThumbnail/ImageThumbnail.js.map +1 -0
  185. package/dist/components/media/Video/Video.cjs +2 -0
  186. package/dist/components/media/Video/Video.cjs.map +1 -0
  187. package/dist/components/media/Video/Video.js +185 -0
  188. package/dist/components/media/Video/Video.js.map +1 -0
  189. package/dist/components/navigation/Accordion/Accordion.cjs +2 -0
  190. package/dist/components/navigation/Accordion/Accordion.cjs.map +1 -0
  191. package/dist/components/navigation/Accordion/Accordion.js +180 -0
  192. package/dist/components/navigation/Accordion/Accordion.js.map +1 -0
  193. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +2 -0
  194. package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs.map +1 -0
  195. package/dist/components/navigation/Breadcrumb/Breadcrumb.js +137 -0
  196. package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
  197. package/dist/components/navigation/Dropdown/Dropdown.cjs +7 -0
  198. package/dist/components/navigation/Dropdown/Dropdown.cjs.map +1 -0
  199. package/dist/components/navigation/Dropdown/Dropdown.js +259 -0
  200. package/dist/components/navigation/Dropdown/Dropdown.js.map +1 -0
  201. package/dist/components/navigation/Menu/Menu.cjs +2 -0
  202. package/dist/components/navigation/Menu/Menu.cjs.map +1 -0
  203. package/dist/components/navigation/Menu/Menu.js +151 -0
  204. package/dist/components/navigation/Menu/Menu.js.map +1 -0
  205. package/dist/components/navigation/Pagination/Pagination.cjs +2 -0
  206. package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -0
  207. package/dist/components/navigation/Pagination/Pagination.js +201 -0
  208. package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
  209. package/dist/components/navigation/Tabs/Tabs.cjs +7 -0
  210. package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
  211. package/dist/components/navigation/Tabs/Tabs.js +196 -0
  212. package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
  213. package/dist/components/navigation.cjs +2 -0
  214. package/dist/components/navigation.cjs.map +1 -0
  215. package/dist/components/navigation.d.ts +2 -0
  216. package/dist/components/navigation.js +29 -0
  217. package/dist/components/navigation.js.map +1 -0
  218. package/dist/components/primitives/Button/Button.cjs +2 -0
  219. package/dist/components/primitives/Button/Button.cjs.map +1 -0
  220. package/dist/components/primitives/Button/Button.js +173 -0
  221. package/dist/components/primitives/Button/Button.js.map +1 -0
  222. package/dist/components/primitives/Button/Button.styles.cjs +2 -0
  223. package/dist/components/primitives/Button/Button.styles.cjs.map +1 -0
  224. package/dist/components/primitives/Button/Button.styles.js +321 -0
  225. package/dist/components/primitives/Button/Button.styles.js.map +1 -0
  226. package/dist/components/primitives/Icon/Icon.cjs +2 -0
  227. package/dist/components/primitives/Icon/Icon.cjs.map +1 -0
  228. package/dist/components/primitives/Icon/Icon.js +58 -0
  229. package/dist/components/primitives/Icon/Icon.js.map +1 -0
  230. package/dist/components/primitives/Icon/iconPaths.cjs +2 -0
  231. package/dist/components/primitives/Icon/iconPaths.cjs.map +1 -0
  232. package/dist/components/primitives/Icon/iconPaths.js +63 -0
  233. package/dist/components/primitives/Icon/iconPaths.js.map +1 -0
  234. package/dist/components/typography/Heading/Heading.cjs +2 -0
  235. package/dist/components/typography/Heading/Heading.cjs.map +1 -0
  236. package/dist/components/typography/Heading/Heading.js +65 -0
  237. package/dist/components/typography/Heading/Heading.js.map +1 -0
  238. package/dist/components/typography/Text/Text.cjs +2 -0
  239. package/dist/components/typography/Text/Text.cjs.map +1 -0
  240. package/dist/components/typography/Text/Text.js +88 -0
  241. package/dist/components/typography/Text/Text.js.map +1 -0
  242. package/dist/components/utility/Avatar/Avatar.cjs +2 -0
  243. package/dist/components/utility/Avatar/Avatar.cjs.map +1 -0
  244. package/dist/components/utility/Avatar/Avatar.js +91 -0
  245. package/dist/components/utility/Avatar/Avatar.js.map +1 -0
  246. package/dist/components/utility/Badge/Badge.cjs +2 -0
  247. package/dist/components/utility/Badge/Badge.cjs.map +1 -0
  248. package/dist/components/utility/Badge/Badge.js +90 -0
  249. package/dist/components/utility/Badge/Badge.js.map +1 -0
  250. package/dist/components/utility/Divider/Divider.cjs +2 -0
  251. package/dist/components/utility/Divider/Divider.cjs.map +1 -0
  252. package/dist/components/utility/Divider/Divider.js +87 -0
  253. package/dist/components/utility/Divider/Divider.js.map +1 -0
  254. package/dist/components/utility/EmptyState/EmptyState.cjs +2 -0
  255. package/dist/components/utility/EmptyState/EmptyState.cjs.map +1 -0
  256. package/dist/components/utility/EmptyState/EmptyState.js +132 -0
  257. package/dist/components/utility/EmptyState/EmptyState.js.map +1 -0
  258. package/dist/components/utility/FocusTrap/FocusTrap.cjs +2 -0
  259. package/dist/components/utility/FocusTrap/FocusTrap.cjs.map +1 -0
  260. package/dist/components/utility/FocusTrap/FocusTrap.js +35 -0
  261. package/dist/components/utility/FocusTrap/FocusTrap.js.map +1 -0
  262. package/dist/components/utility/Loader/Loader.cjs +2 -0
  263. package/dist/components/utility/Loader/Loader.cjs.map +1 -0
  264. package/dist/components/utility/Loader/Loader.js +142 -0
  265. package/dist/components/utility/Loader/Loader.js.map +1 -0
  266. package/dist/components/utility/Logo/Logo.cjs +2 -0
  267. package/dist/components/utility/Logo/Logo.cjs.map +1 -0
  268. package/dist/components/utility/Logo/Logo.js +61 -0
  269. package/dist/components/utility/Logo/Logo.js.map +1 -0
  270. package/dist/components/utility/Overlay/Overlay.cjs +7 -0
  271. package/dist/components/utility/Overlay/Overlay.cjs.map +1 -0
  272. package/dist/components/utility/Overlay/Overlay.js +59 -0
  273. package/dist/components/utility/Overlay/Overlay.js.map +1 -0
  274. package/dist/components/utility/Portal/Portal.cjs +2 -0
  275. package/dist/components/utility/Portal/Portal.cjs.map +1 -0
  276. package/dist/components/utility/Portal/Portal.js +18 -0
  277. package/dist/components/utility/Portal/Portal.js.map +1 -0
  278. package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.cjs +2 -0
  279. package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.cjs.map +1 -0
  280. package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.js +53 -0
  281. package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.js.map +1 -0
  282. package/dist/components/utility/Skeleton/Skeleton.cjs +2 -0
  283. package/dist/components/utility/Skeleton/Skeleton.cjs.map +1 -0
  284. package/dist/components/utility/Skeleton/Skeleton.js +91 -0
  285. package/dist/components/utility/Skeleton/Skeleton.js.map +1 -0
  286. package/dist/components/utility.cjs +2 -0
  287. package/dist/components/utility.cjs.map +1 -0
  288. package/dist/components/utility.d.ts +2 -0
  289. package/dist/components/utility.js +29 -0
  290. package/dist/components/utility.js.map +1 -0
  291. package/dist/data.d.ts +198 -0
  292. package/dist/design-system/primitives/focus.cjs +2 -0
  293. package/dist/design-system/primitives/focus.cjs.map +1 -0
  294. package/dist/design-system/primitives/focus.js +42 -0
  295. package/dist/design-system/primitives/focus.js.map +1 -0
  296. package/dist/design-system/primitives/layout.cjs +2 -0
  297. package/dist/design-system/primitives/layout.cjs.map +1 -0
  298. package/dist/design-system/primitives/layout.js +79 -0
  299. package/dist/design-system/primitives/layout.js.map +1 -0
  300. package/dist/design-system/primitives/opacity.cjs +2 -0
  301. package/dist/design-system/primitives/opacity.cjs.map +1 -0
  302. package/dist/design-system/primitives/opacity.js +72 -0
  303. package/dist/design-system/primitives/opacity.js.map +1 -0
  304. package/dist/design-system/primitives/sizing.cjs +2 -0
  305. package/dist/design-system/primitives/sizing.cjs.map +1 -0
  306. package/dist/design-system/primitives/sizing.js +118 -0
  307. package/dist/design-system/primitives/sizing.js.map +1 -0
  308. package/dist/design-system/primitives/transitions.cjs +52 -0
  309. package/dist/design-system/primitives/transitions.cjs.map +1 -0
  310. package/dist/design-system/primitives/transitions.js +121 -0
  311. package/dist/design-system/primitives/transitions.js.map +1 -0
  312. package/dist/design-system/primitives/typography.cjs +2 -0
  313. package/dist/design-system/primitives/typography.cjs.map +1 -0
  314. package/dist/design-system/primitives/typography.js +146 -0
  315. package/dist/design-system/primitives/typography.js.map +1 -0
  316. package/dist/design-system/themes/ThemeProvider.cjs +2 -0
  317. package/dist/design-system/themes/ThemeProvider.cjs.map +1 -0
  318. package/dist/design-system/themes/ThemeProvider.js +78 -0
  319. package/dist/design-system/themes/ThemeProvider.js.map +1 -0
  320. package/dist/design-system/themes/cssVariables.cjs +2 -0
  321. package/dist/design-system/themes/cssVariables.cjs.map +1 -0
  322. package/dist/design-system/themes/cssVariables.js +57 -0
  323. package/dist/design-system/themes/cssVariables.js.map +1 -0
  324. package/dist/design-system/themes/darkTheme.cjs +2 -0
  325. package/dist/design-system/themes/darkTheme.cjs.map +1 -0
  326. package/dist/design-system/themes/darkTheme.js +76 -0
  327. package/dist/design-system/themes/darkTheme.js.map +1 -0
  328. package/dist/design-system/themes/lightTheme.cjs +2 -0
  329. package/dist/design-system/themes/lightTheme.cjs.map +1 -0
  330. package/dist/design-system/themes/lightTheme.js +76 -0
  331. package/dist/design-system/themes/lightTheme.js.map +1 -0
  332. package/dist/design-system/tokens/borders.cjs +2 -0
  333. package/dist/design-system/tokens/borders.cjs.map +1 -0
  334. package/dist/design-system/tokens/borders.js +78 -0
  335. package/dist/design-system/tokens/borders.js.map +1 -0
  336. package/dist/design-system/tokens/breakpoints.cjs +2 -0
  337. package/dist/design-system/tokens/breakpoints.cjs.map +1 -0
  338. package/dist/design-system/tokens/breakpoints.js +58 -0
  339. package/dist/design-system/tokens/breakpoints.js.map +1 -0
  340. package/dist/design-system/tokens/colors.cjs +2 -0
  341. package/dist/design-system/tokens/colors.cjs.map +1 -0
  342. package/dist/{colors-B_8a3coi.js → design-system/tokens/colors.js} +16 -16
  343. package/dist/design-system/tokens/colors.js.map +1 -0
  344. package/dist/design-system/tokens/motion.cjs +2 -0
  345. package/dist/design-system/tokens/motion.cjs.map +1 -0
  346. package/dist/design-system/tokens/motion.js +133 -0
  347. package/dist/design-system/tokens/motion.js.map +1 -0
  348. package/dist/design-system/tokens/shadows.cjs +2 -0
  349. package/dist/design-system/tokens/shadows.cjs.map +1 -0
  350. package/dist/design-system/tokens/shadows.js +46 -0
  351. package/dist/design-system/tokens/shadows.js.map +1 -0
  352. package/dist/design-system/tokens/spacing.cjs +2 -0
  353. package/dist/design-system/tokens/spacing.cjs.map +1 -0
  354. package/dist/design-system/tokens/spacing.js +96 -0
  355. package/dist/design-system/tokens/spacing.js.map +1 -0
  356. package/dist/design-system/tokens/typography.cjs +2 -0
  357. package/dist/design-system/tokens/typography.cjs.map +1 -0
  358. package/dist/design-system/tokens/typography.js +199 -0
  359. package/dist/design-system/tokens/typography.js.map +1 -0
  360. package/dist/design-system/tokens/zIndex.cjs +2 -0
  361. package/dist/design-system/tokens/zIndex.cjs.map +1 -0
  362. package/dist/design-system/tokens/zIndex.js +32 -0
  363. package/dist/design-system/tokens/zIndex.js.map +1 -0
  364. package/dist/feedback.d.ts +244 -0
  365. package/dist/form.d.ts +415 -0
  366. package/dist/hooks/useClickOutside.cjs +2 -0
  367. package/dist/hooks/useClickOutside.cjs.map +1 -0
  368. package/dist/hooks/useClickOutside.js +18 -0
  369. package/dist/hooks/useClickOutside.js.map +1 -0
  370. package/dist/hooks/useControllable.cjs +2 -0
  371. package/dist/hooks/useControllable.cjs.map +1 -0
  372. package/dist/hooks/useControllable.js +25 -0
  373. package/dist/hooks/useControllable.js.map +1 -0
  374. package/dist/hooks/useDisclosure.cjs +2 -0
  375. package/dist/hooks/useDisclosure.cjs.map +1 -0
  376. package/dist/hooks/useDisclosure.js +22 -0
  377. package/dist/hooks/useDisclosure.js.map +1 -0
  378. package/dist/hooks/useFocusTrap.cjs +2 -0
  379. package/dist/hooks/useFocusTrap.cjs.map +1 -0
  380. package/dist/hooks/useFocusTrap.js +56 -0
  381. package/dist/hooks/useFocusTrap.js.map +1 -0
  382. package/dist/hooks/useId.cjs +2 -0
  383. package/dist/hooks/useId.cjs.map +1 -0
  384. package/dist/hooks/useId.js +22 -0
  385. package/dist/hooks/useId.js.map +1 -0
  386. package/dist/hooks/useKeyboardNavigation.cjs +2 -0
  387. package/dist/hooks/useKeyboardNavigation.cjs.map +1 -0
  388. package/dist/hooks/useKeyboardNavigation.js +82 -0
  389. package/dist/hooks/useKeyboardNavigation.js.map +1 -0
  390. package/dist/hooks/useMediaQuery.cjs +2 -0
  391. package/dist/hooks/useMediaQuery.cjs.map +1 -0
  392. package/dist/hooks/useMediaQuery.js +33 -0
  393. package/dist/hooks/useMediaQuery.js.map +1 -0
  394. package/dist/hooks.cjs +2 -0
  395. package/dist/hooks.cjs.map +1 -0
  396. package/dist/hooks.d.ts +146 -0
  397. package/dist/hooks.js +23 -0
  398. package/dist/hooks.js.map +1 -0
  399. package/dist/index.cjs +1 -148
  400. package/dist/index.cjs.map +1 -1
  401. package/dist/index.d.ts +4311 -141
  402. package/dist/index.js +291 -8305
  403. package/dist/index.js.map +1 -1
  404. package/dist/layout.d.ts +543 -0
  405. package/dist/navigation.d.ts +290 -0
  406. package/dist/styles.css +1 -1
  407. package/dist/themes.cjs +1 -1
  408. package/dist/themes.d.ts +214 -2
  409. package/dist/themes.js +11 -8
  410. package/dist/themes.js.map +1 -1
  411. package/dist/tokens.cjs +1 -1
  412. package/dist/tokens.cjs.map +1 -1
  413. package/dist/tokens.d.ts +976 -2
  414. package/dist/tokens.js +38 -624
  415. package/dist/tokens.js.map +1 -1
  416. package/dist/utility.d.ts +259 -0
  417. package/dist/utils/lazyComponent.cjs +2 -0
  418. package/dist/utils/lazyComponent.cjs.map +1 -0
  419. package/dist/utils/lazyComponent.js +26 -0
  420. package/dist/utils/lazyComponent.js.map +1 -0
  421. package/dist/utils/styles.cjs +2 -0
  422. package/dist/utils/styles.cjs.map +1 -0
  423. package/dist/utils/styles.js +35 -0
  424. package/dist/utils/styles.js.map +1 -0
  425. package/package.json +37 -1
  426. package/dist/colors-B_8a3coi.js.map +0 -1
  427. package/dist/colors-Bp6ROxvx.cjs +0 -2
  428. package/dist/colors-Bp6ROxvx.cjs.map +0 -1
  429. package/dist/components/data/InfoItem/InfoItem.d.ts +0 -44
  430. package/dist/components/data/InfoItem/InfoItem.d.ts.map +0 -1
  431. package/dist/components/data/InfoItem/index.d.ts +0 -2
  432. package/dist/components/data/InfoItem/index.d.ts.map +0 -1
  433. package/dist/components/data/List/List.d.ts +0 -44
  434. package/dist/components/data/List/List.d.ts.map +0 -1
  435. package/dist/components/data/List/index.d.ts +0 -3
  436. package/dist/components/data/List/index.d.ts.map +0 -1
  437. package/dist/components/data/Table/Table.d.ts +0 -74
  438. package/dist/components/data/Table/Table.d.ts.map +0 -1
  439. package/dist/components/data/Table/index.d.ts +0 -3
  440. package/dist/components/data/Table/index.d.ts.map +0 -1
  441. package/dist/components/data/index.d.ts +0 -7
  442. package/dist/components/data/index.d.ts.map +0 -1
  443. package/dist/components/feedback/Alert/Alert.d.ts +0 -29
  444. package/dist/components/feedback/Alert/Alert.d.ts.map +0 -1
  445. package/dist/components/feedback/Alert/index.d.ts +0 -3
  446. package/dist/components/feedback/Alert/index.d.ts.map +0 -1
  447. package/dist/components/feedback/Drawer/Drawer.d.ts +0 -29
  448. package/dist/components/feedback/Drawer/Drawer.d.ts.map +0 -1
  449. package/dist/components/feedback/Drawer/index.d.ts +0 -3
  450. package/dist/components/feedback/Drawer/index.d.ts.map +0 -1
  451. package/dist/components/feedback/Modal/Modal.d.ts +0 -28
  452. package/dist/components/feedback/Modal/Modal.d.ts.map +0 -1
  453. package/dist/components/feedback/Modal/index.d.ts +0 -3
  454. package/dist/components/feedback/Modal/index.d.ts.map +0 -1
  455. package/dist/components/feedback/Popover/Popover.d.ts +0 -35
  456. package/dist/components/feedback/Popover/Popover.d.ts.map +0 -1
  457. package/dist/components/feedback/Popover/index.d.ts +0 -3
  458. package/dist/components/feedback/Popover/index.d.ts.map +0 -1
  459. package/dist/components/feedback/Progress/Progress.d.ts +0 -30
  460. package/dist/components/feedback/Progress/Progress.d.ts.map +0 -1
  461. package/dist/components/feedback/Progress/index.d.ts +0 -3
  462. package/dist/components/feedback/Progress/index.d.ts.map +0 -1
  463. package/dist/components/feedback/Toast/Toast.d.ts +0 -47
  464. package/dist/components/feedback/Toast/Toast.d.ts.map +0 -1
  465. package/dist/components/feedback/Toast/index.d.ts +0 -3
  466. package/dist/components/feedback/Toast/index.d.ts.map +0 -1
  467. package/dist/components/feedback/Tooltip/Tooltip.d.ts +0 -20
  468. package/dist/components/feedback/Tooltip/Tooltip.d.ts.map +0 -1
  469. package/dist/components/feedback/Tooltip/index.d.ts +0 -3
  470. package/dist/components/feedback/Tooltip/index.d.ts.map +0 -1
  471. package/dist/components/feedback/index.d.ts +0 -13
  472. package/dist/components/feedback/index.d.ts.map +0 -1
  473. package/dist/components/form/Checkbox/Checkbox.d.ts +0 -20
  474. package/dist/components/form/Checkbox/Checkbox.d.ts.map +0 -1
  475. package/dist/components/form/Checkbox/index.d.ts +0 -3
  476. package/dist/components/form/Checkbox/index.d.ts.map +0 -1
  477. package/dist/components/form/DateInput/DateInput.d.ts +0 -28
  478. package/dist/components/form/DateInput/DateInput.d.ts.map +0 -1
  479. package/dist/components/form/DateInput/index.d.ts +0 -3
  480. package/dist/components/form/DateInput/index.d.ts.map +0 -1
  481. package/dist/components/form/DropZone/DropZone.d.ts +0 -27
  482. package/dist/components/form/DropZone/DropZone.d.ts.map +0 -1
  483. package/dist/components/form/DropZone/index.d.ts +0 -2
  484. package/dist/components/form/DropZone/index.d.ts.map +0 -1
  485. package/dist/components/form/FieldError/FieldError.d.ts +0 -18
  486. package/dist/components/form/FieldError/FieldError.d.ts.map +0 -1
  487. package/dist/components/form/FieldError/index.d.ts +0 -3
  488. package/dist/components/form/FieldError/index.d.ts.map +0 -1
  489. package/dist/components/form/FileInput/FileInput.d.ts +0 -33
  490. package/dist/components/form/FileInput/FileInput.d.ts.map +0 -1
  491. package/dist/components/form/FileInput/index.d.ts +0 -3
  492. package/dist/components/form/FileInput/index.d.ts.map +0 -1
  493. package/dist/components/form/Form/Form.d.ts +0 -16
  494. package/dist/components/form/Form/Form.d.ts.map +0 -1
  495. package/dist/components/form/Form/index.d.ts +0 -2
  496. package/dist/components/form/Form/index.d.ts.map +0 -1
  497. package/dist/components/form/FormCard/FormCard.d.ts +0 -20
  498. package/dist/components/form/FormCard/FormCard.d.ts.map +0 -1
  499. package/dist/components/form/FormCard/index.d.ts +0 -2
  500. package/dist/components/form/FormCard/index.d.ts.map +0 -1
  501. package/dist/components/form/FormField/FormField.d.ts +0 -36
  502. package/dist/components/form/FormField/FormField.d.ts.map +0 -1
  503. package/dist/components/form/FormField/index.d.ts +0 -3
  504. package/dist/components/form/FormField/index.d.ts.map +0 -1
  505. package/dist/components/form/FormGroup/FormGroup.d.ts +0 -31
  506. package/dist/components/form/FormGroup/FormGroup.d.ts.map +0 -1
  507. package/dist/components/form/FormGroup/index.d.ts +0 -2
  508. package/dist/components/form/FormGroup/index.d.ts.map +0 -1
  509. package/dist/components/form/FormLabel/FormLabel.d.ts +0 -20
  510. package/dist/components/form/FormLabel/FormLabel.d.ts.map +0 -1
  511. package/dist/components/form/FormLabel/index.d.ts +0 -2
  512. package/dist/components/form/FormLabel/index.d.ts.map +0 -1
  513. package/dist/components/form/Input/Input.d.ts +0 -21
  514. package/dist/components/form/Input/Input.d.ts.map +0 -1
  515. package/dist/components/form/Input/index.d.ts +0 -3
  516. package/dist/components/form/Input/index.d.ts.map +0 -1
  517. package/dist/components/form/Radio/Radio.d.ts +0 -46
  518. package/dist/components/form/Radio/Radio.d.ts.map +0 -1
  519. package/dist/components/form/Radio/index.d.ts +0 -3
  520. package/dist/components/form/Radio/index.d.ts.map +0 -1
  521. package/dist/components/form/Select/Select.d.ts +0 -21
  522. package/dist/components/form/Select/Select.d.ts.map +0 -1
  523. package/dist/components/form/Select/index.d.ts +0 -3
  524. package/dist/components/form/Select/index.d.ts.map +0 -1
  525. package/dist/components/form/Slider/Slider.d.ts +0 -32
  526. package/dist/components/form/Slider/Slider.d.ts.map +0 -1
  527. package/dist/components/form/Slider/index.d.ts +0 -3
  528. package/dist/components/form/Slider/index.d.ts.map +0 -1
  529. package/dist/components/form/Switch/Switch.d.ts +0 -16
  530. package/dist/components/form/Switch/Switch.d.ts.map +0 -1
  531. package/dist/components/form/Switch/index.d.ts +0 -3
  532. package/dist/components/form/Switch/index.d.ts.map +0 -1
  533. package/dist/components/form/TextField/TextField.d.ts +0 -16
  534. package/dist/components/form/TextField/TextField.d.ts.map +0 -1
  535. package/dist/components/form/TextField/index.d.ts +0 -3
  536. package/dist/components/form/TextField/index.d.ts.map +0 -1
  537. package/dist/components/form/Textarea/Textarea.d.ts +0 -27
  538. package/dist/components/form/Textarea/Textarea.d.ts.map +0 -1
  539. package/dist/components/form/Textarea/index.d.ts +0 -3
  540. package/dist/components/form/Textarea/index.d.ts.map +0 -1
  541. package/dist/components/form/index.d.ts +0 -21
  542. package/dist/components/form/index.d.ts.map +0 -1
  543. package/dist/components/index.d.ts +0 -12
  544. package/dist/components/index.d.ts.map +0 -1
  545. package/dist/components/layout/AspectRatio/AspectRatio.d.ts +0 -19
  546. package/dist/components/layout/AspectRatio/AspectRatio.d.ts.map +0 -1
  547. package/dist/components/layout/AspectRatio/index.d.ts +0 -2
  548. package/dist/components/layout/AspectRatio/index.d.ts.map +0 -1
  549. package/dist/components/layout/Box/Box.d.ts +0 -11
  550. package/dist/components/layout/Box/Box.d.ts.map +0 -1
  551. package/dist/components/layout/Box/Box.styles.d.ts +0 -4
  552. package/dist/components/layout/Box/Box.styles.d.ts.map +0 -1
  553. package/dist/components/layout/Box/Box.types.d.ts +0 -38
  554. package/dist/components/layout/Box/Box.types.d.ts.map +0 -1
  555. package/dist/components/layout/Box/index.d.ts +0 -3
  556. package/dist/components/layout/Box/index.d.ts.map +0 -1
  557. package/dist/components/layout/Card/Card.d.ts +0 -40
  558. package/dist/components/layout/Card/Card.d.ts.map +0 -1
  559. package/dist/components/layout/Card/index.d.ts +0 -3
  560. package/dist/components/layout/Card/index.d.ts.map +0 -1
  561. package/dist/components/layout/Container/Container.d.ts +0 -31
  562. package/dist/components/layout/Container/Container.d.ts.map +0 -1
  563. package/dist/components/layout/Container/index.d.ts +0 -3
  564. package/dist/components/layout/Container/index.d.ts.map +0 -1
  565. package/dist/components/layout/Flex/Flex.d.ts +0 -63
  566. package/dist/components/layout/Flex/Flex.d.ts.map +0 -1
  567. package/dist/components/layout/Flex/index.d.ts +0 -3
  568. package/dist/components/layout/Flex/index.d.ts.map +0 -1
  569. package/dist/components/layout/Grid/Grid.d.ts +0 -80
  570. package/dist/components/layout/Grid/Grid.d.ts.map +0 -1
  571. package/dist/components/layout/Grid/index.d.ts +0 -3
  572. package/dist/components/layout/Grid/index.d.ts.map +0 -1
  573. package/dist/components/layout/Section/Section.d.ts +0 -22
  574. package/dist/components/layout/Section/Section.d.ts.map +0 -1
  575. package/dist/components/layout/Section/index.d.ts +0 -3
  576. package/dist/components/layout/Section/index.d.ts.map +0 -1
  577. package/dist/components/layout/Semantic/Semantic.d.ts +0 -32
  578. package/dist/components/layout/Semantic/Semantic.d.ts.map +0 -1
  579. package/dist/components/layout/Semantic/index.d.ts +0 -3
  580. package/dist/components/layout/Semantic/index.d.ts.map +0 -1
  581. package/dist/components/layout/Spacer/Spacer.d.ts +0 -18
  582. package/dist/components/layout/Spacer/Spacer.d.ts.map +0 -1
  583. package/dist/components/layout/Spacer/index.d.ts +0 -3
  584. package/dist/components/layout/Spacer/index.d.ts.map +0 -1
  585. package/dist/components/layout/Stack/Stack.d.ts +0 -13
  586. package/dist/components/layout/Stack/Stack.d.ts.map +0 -1
  587. package/dist/components/layout/Stack/Stack.types.d.ts +0 -33
  588. package/dist/components/layout/Stack/Stack.types.d.ts.map +0 -1
  589. package/dist/components/layout/Stack/index.d.ts +0 -3
  590. package/dist/components/layout/Stack/index.d.ts.map +0 -1
  591. package/dist/components/layout/index.d.ts +0 -16
  592. package/dist/components/layout/index.d.ts.map +0 -1
  593. package/dist/components/media/Image/Image.d.ts +0 -33
  594. package/dist/components/media/Image/Image.d.ts.map +0 -1
  595. package/dist/components/media/Image/index.d.ts +0 -2
  596. package/dist/components/media/Image/index.d.ts.map +0 -1
  597. package/dist/components/media/ImageThumbnail/ImageThumbnail.d.ts +0 -27
  598. package/dist/components/media/ImageThumbnail/ImageThumbnail.d.ts.map +0 -1
  599. package/dist/components/media/ImageThumbnail/index.d.ts +0 -2
  600. package/dist/components/media/ImageThumbnail/index.d.ts.map +0 -1
  601. package/dist/components/media/Video/Video.d.ts +0 -67
  602. package/dist/components/media/Video/Video.d.ts.map +0 -1
  603. package/dist/components/media/Video/index.d.ts +0 -2
  604. package/dist/components/media/Video/index.d.ts.map +0 -1
  605. package/dist/components/media/index.d.ts +0 -8
  606. package/dist/components/media/index.d.ts.map +0 -1
  607. package/dist/components/navigation/Accordion/Accordion.d.ts +0 -41
  608. package/dist/components/navigation/Accordion/Accordion.d.ts.map +0 -1
  609. package/dist/components/navigation/Accordion/index.d.ts +0 -3
  610. package/dist/components/navigation/Accordion/index.d.ts.map +0 -1
  611. package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts +0 -31
  612. package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts.map +0 -1
  613. package/dist/components/navigation/Breadcrumb/index.d.ts +0 -3
  614. package/dist/components/navigation/Breadcrumb/index.d.ts.map +0 -1
  615. package/dist/components/navigation/Dropdown/Dropdown.d.ts +0 -47
  616. package/dist/components/navigation/Dropdown/Dropdown.d.ts.map +0 -1
  617. package/dist/components/navigation/Dropdown/index.d.ts +0 -3
  618. package/dist/components/navigation/Dropdown/index.d.ts.map +0 -1
  619. package/dist/components/navigation/Menu/Menu.d.ts +0 -45
  620. package/dist/components/navigation/Menu/Menu.d.ts.map +0 -1
  621. package/dist/components/navigation/Menu/index.d.ts +0 -3
  622. package/dist/components/navigation/Menu/index.d.ts.map +0 -1
  623. package/dist/components/navigation/Pagination/Pagination.d.ts +0 -29
  624. package/dist/components/navigation/Pagination/Pagination.d.ts.map +0 -1
  625. package/dist/components/navigation/Pagination/index.d.ts +0 -3
  626. package/dist/components/navigation/Pagination/index.d.ts.map +0 -1
  627. package/dist/components/navigation/Tabs/Tabs.d.ts +0 -52
  628. package/dist/components/navigation/Tabs/Tabs.d.ts.map +0 -1
  629. package/dist/components/navigation/Tabs/index.d.ts +0 -3
  630. package/dist/components/navigation/Tabs/index.d.ts.map +0 -1
  631. package/dist/components/navigation/index.d.ts +0 -10
  632. package/dist/components/navigation/index.d.ts.map +0 -1
  633. package/dist/components/primitives/Button/Button.d.ts +0 -12
  634. package/dist/components/primitives/Button/Button.d.ts.map +0 -1
  635. package/dist/components/primitives/Button/Button.styles.d.ts +0 -29
  636. package/dist/components/primitives/Button/Button.styles.d.ts.map +0 -1
  637. package/dist/components/primitives/Button/Button.types.d.ts +0 -37
  638. package/dist/components/primitives/Button/Button.types.d.ts.map +0 -1
  639. package/dist/components/primitives/Button/index.d.ts +0 -3
  640. package/dist/components/primitives/Button/index.d.ts.map +0 -1
  641. package/dist/components/primitives/Icon/Icon.d.ts +0 -88
  642. package/dist/components/primitives/Icon/Icon.d.ts.map +0 -1
  643. package/dist/components/primitives/Icon/index.d.ts +0 -3
  644. package/dist/components/primitives/Icon/index.d.ts.map +0 -1
  645. package/dist/components/primitives/index.d.ts +0 -8
  646. package/dist/components/primitives/index.d.ts.map +0 -1
  647. package/dist/components/typography/Heading/Heading.d.ts +0 -38
  648. package/dist/components/typography/Heading/Heading.d.ts.map +0 -1
  649. package/dist/components/typography/Heading/index.d.ts +0 -3
  650. package/dist/components/typography/Heading/index.d.ts.map +0 -1
  651. package/dist/components/typography/Text/Text.d.ts +0 -43
  652. package/dist/components/typography/Text/Text.d.ts.map +0 -1
  653. package/dist/components/typography/Text/index.d.ts +0 -3
  654. package/dist/components/typography/Text/index.d.ts.map +0 -1
  655. package/dist/components/typography/index.d.ts +0 -8
  656. package/dist/components/typography/index.d.ts.map +0 -1
  657. package/dist/components/utility/Avatar/Avatar.d.ts +0 -22
  658. package/dist/components/utility/Avatar/Avatar.d.ts.map +0 -1
  659. package/dist/components/utility/Avatar/index.d.ts +0 -3
  660. package/dist/components/utility/Avatar/index.d.ts.map +0 -1
  661. package/dist/components/utility/Badge/Badge.d.ts +0 -20
  662. package/dist/components/utility/Badge/Badge.d.ts.map +0 -1
  663. package/dist/components/utility/Badge/index.d.ts +0 -3
  664. package/dist/components/utility/Badge/index.d.ts.map +0 -1
  665. package/dist/components/utility/Divider/Divider.d.ts +0 -19
  666. package/dist/components/utility/Divider/Divider.d.ts.map +0 -1
  667. package/dist/components/utility/Divider/index.d.ts +0 -3
  668. package/dist/components/utility/Divider/index.d.ts.map +0 -1
  669. package/dist/components/utility/EmptyState/EmptyState.d.ts +0 -26
  670. package/dist/components/utility/EmptyState/EmptyState.d.ts.map +0 -1
  671. package/dist/components/utility/EmptyState/index.d.ts +0 -3
  672. package/dist/components/utility/EmptyState/index.d.ts.map +0 -1
  673. package/dist/components/utility/FocusTrap/FocusTrap.d.ts +0 -19
  674. package/dist/components/utility/FocusTrap/FocusTrap.d.ts.map +0 -1
  675. package/dist/components/utility/FocusTrap/index.d.ts +0 -3
  676. package/dist/components/utility/FocusTrap/index.d.ts.map +0 -1
  677. package/dist/components/utility/Loader/Loader.d.ts +0 -21
  678. package/dist/components/utility/Loader/Loader.d.ts.map +0 -1
  679. package/dist/components/utility/Loader/index.d.ts +0 -3
  680. package/dist/components/utility/Loader/index.d.ts.map +0 -1
  681. package/dist/components/utility/Logo/Logo.d.ts +0 -14
  682. package/dist/components/utility/Logo/Logo.d.ts.map +0 -1
  683. package/dist/components/utility/Logo/index.d.ts +0 -3
  684. package/dist/components/utility/Logo/index.d.ts.map +0 -1
  685. package/dist/components/utility/Overlay/Overlay.d.ts +0 -25
  686. package/dist/components/utility/Overlay/Overlay.d.ts.map +0 -1
  687. package/dist/components/utility/Overlay/index.d.ts +0 -3
  688. package/dist/components/utility/Overlay/index.d.ts.map +0 -1
  689. package/dist/components/utility/Portal/Portal.d.ts +0 -14
  690. package/dist/components/utility/Portal/Portal.d.ts.map +0 -1
  691. package/dist/components/utility/Portal/index.d.ts +0 -3
  692. package/dist/components/utility/Portal/index.d.ts.map +0 -1
  693. package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.d.ts +0 -17
  694. package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.d.ts.map +0 -1
  695. package/dist/components/utility/ScreenReaderOnly/index.d.ts +0 -2
  696. package/dist/components/utility/ScreenReaderOnly/index.d.ts.map +0 -1
  697. package/dist/components/utility/Skeleton/Skeleton.d.ts +0 -35
  698. package/dist/components/utility/Skeleton/Skeleton.d.ts.map +0 -1
  699. package/dist/components/utility/Skeleton/index.d.ts +0 -3
  700. package/dist/components/utility/Skeleton/index.d.ts.map +0 -1
  701. package/dist/components/utility/index.d.ts +0 -17
  702. package/dist/components/utility/index.d.ts.map +0 -1
  703. package/dist/cssVariables-BguyVeCi.cjs +0 -2
  704. package/dist/cssVariables-BguyVeCi.cjs.map +0 -1
  705. package/dist/cssVariables-D9uw0uKO.js +0 -273
  706. package/dist/cssVariables-D9uw0uKO.js.map +0 -1
  707. package/dist/design-system/index.d.ts +0 -16
  708. package/dist/design-system/index.d.ts.map +0 -1
  709. package/dist/design-system/primitives/focus.d.ts +0 -67
  710. package/dist/design-system/primitives/focus.d.ts.map +0 -1
  711. package/dist/design-system/primitives/index.d.ts +0 -15
  712. package/dist/design-system/primitives/index.d.ts.map +0 -1
  713. package/dist/design-system/primitives/layout.d.ts +0 -114
  714. package/dist/design-system/primitives/layout.d.ts.map +0 -1
  715. package/dist/design-system/primitives/opacity.d.ts +0 -88
  716. package/dist/design-system/primitives/opacity.d.ts.map +0 -1
  717. package/dist/design-system/primitives/sizing.d.ts +0 -155
  718. package/dist/design-system/primitives/sizing.d.ts.map +0 -1
  719. package/dist/design-system/primitives/transitions.d.ts +0 -92
  720. package/dist/design-system/primitives/transitions.d.ts.map +0 -1
  721. package/dist/design-system/primitives/typography.d.ts +0 -164
  722. package/dist/design-system/primitives/typography.d.ts.map +0 -1
  723. package/dist/design-system/themes/ThemeProvider.d.ts +0 -18
  724. package/dist/design-system/themes/ThemeProvider.d.ts.map +0 -1
  725. package/dist/design-system/themes/cssVariables.d.ts +0 -52
  726. package/dist/design-system/themes/cssVariables.d.ts.map +0 -1
  727. package/dist/design-system/themes/darkTheme.d.ts +0 -3
  728. package/dist/design-system/themes/darkTheme.d.ts.map +0 -1
  729. package/dist/design-system/themes/index.d.ts +0 -11
  730. package/dist/design-system/themes/index.d.ts.map +0 -1
  731. package/dist/design-system/themes/lightTheme.d.ts +0 -3
  732. package/dist/design-system/themes/lightTheme.d.ts.map +0 -1
  733. package/dist/design-system/themes/types.d.ts +0 -134
  734. package/dist/design-system/themes/types.d.ts.map +0 -1
  735. package/dist/design-system/tokens/borders.d.ts +0 -86
  736. package/dist/design-system/tokens/borders.d.ts.map +0 -1
  737. package/dist/design-system/tokens/breakpoints.d.ts +0 -66
  738. package/dist/design-system/tokens/breakpoints.d.ts.map +0 -1
  739. package/dist/design-system/tokens/colors.d.ts +0 -206
  740. package/dist/design-system/tokens/colors.d.ts.map +0 -1
  741. package/dist/design-system/tokens/index.d.ts +0 -23
  742. package/dist/design-system/tokens/index.d.ts.map +0 -1
  743. package/dist/design-system/tokens/motion.d.ts +0 -204
  744. package/dist/design-system/tokens/motion.d.ts.map +0 -1
  745. package/dist/design-system/tokens/shadows.d.ts +0 -55
  746. package/dist/design-system/tokens/shadows.d.ts.map +0 -1
  747. package/dist/design-system/tokens/spacing.d.ts +0 -104
  748. package/dist/design-system/tokens/spacing.d.ts.map +0 -1
  749. package/dist/design-system/tokens/typography.d.ts +0 -214
  750. package/dist/design-system/tokens/typography.d.ts.map +0 -1
  751. package/dist/design-system/tokens/zIndex.d.ts +0 -36
  752. package/dist/design-system/tokens/zIndex.d.ts.map +0 -1
  753. package/dist/hooks/index.d.ts +0 -13
  754. package/dist/hooks/index.d.ts.map +0 -1
  755. package/dist/hooks/useClickOutside.d.ts +0 -9
  756. package/dist/hooks/useClickOutside.d.ts.map +0 -1
  757. package/dist/hooks/useControllable.d.ts +0 -24
  758. package/dist/hooks/useControllable.d.ts.map +0 -1
  759. package/dist/hooks/useDisclosure.d.ts +0 -19
  760. package/dist/hooks/useDisclosure.d.ts.map +0 -1
  761. package/dist/hooks/useFocusTrap.d.ts +0 -21
  762. package/dist/hooks/useFocusTrap.d.ts.map +0 -1
  763. package/dist/hooks/useId.d.ts +0 -9
  764. package/dist/hooks/useId.d.ts.map +0 -1
  765. package/dist/hooks/useKeyboardNavigation.d.ts +0 -35
  766. package/dist/hooks/useKeyboardNavigation.d.ts.map +0 -1
  767. package/dist/hooks/useMediaQuery.d.ts +0 -13
  768. package/dist/hooks/useMediaQuery.d.ts.map +0 -1
  769. package/dist/index.d.ts.map +0 -1
  770. package/dist/types/common.d.ts +0 -90
  771. package/dist/types/common.d.ts.map +0 -1
  772. package/dist/types/index.d.ts +0 -7
  773. package/dist/types/index.d.ts.map +0 -1
  774. package/dist/utils/index.d.ts +0 -7
  775. package/dist/utils/index.d.ts.map +0 -1
  776. package/dist/utils/styles.d.ts +0 -17
  777. package/dist/utils/styles.d.ts.map +0 -1
@@ -0,0 +1,168 @@
1
+ import { jsxs as A, Fragment as B, jsx as N } from "react/jsx-runtime";
2
+ import { forwardRef as ee, useState as E, useRef as v, useId as te, useCallback as k, useEffect as M, cloneElement as oe } from "react";
3
+ import { createPortal as re } from "react-dom";
4
+ import { cx as se } from "../../../utils/styles.js";
5
+ import { useClickOutside as ne } from "../../../hooks/useClickOutside.js";
6
+ import { usePrefersReducedMotion as ce } from "../../../hooks/useMediaQuery.js";
7
+ const ae = ee(function({
8
+ content: X,
9
+ children: T,
10
+ placement: w = "bottom",
11
+ trigger: o = "click",
12
+ isOpen: y,
13
+ defaultOpen: Y = !1,
14
+ onOpenChange: x,
15
+ offset: i = 8,
16
+ openDelay: C = 200,
17
+ closeDelay: P = 200,
18
+ closeOnOutsideClick: F = !0,
19
+ showArrow: le = !0,
20
+ className: W,
21
+ style: _,
22
+ testId: q,
23
+ ...G
24
+ }, f) {
25
+ const [H, J] = E(Y), [L, K] = E({ top: 0, left: 0 }), [m, I] = E(!1), g = v(null), O = v(null), l = v(null), u = v(null), z = te(), Q = ce(), r = y ?? H, s = k(
26
+ (e) => {
27
+ y === void 0 && J(e), x?.(e);
28
+ },
29
+ [y, x]
30
+ ), U = ne(() => {
31
+ F && o === "click" && r && s(!1);
32
+ }, { enabled: r && o === "click" });
33
+ M(() => (I(!0), () => I(!1)), []), M(() => {
34
+ if (!r || !g.current || !m) return;
35
+ const e = () => {
36
+ const S = g.current, j = O.current;
37
+ if (!S || !j) return;
38
+ const t = S.getBoundingClientRect(), n = j.getBoundingClientRect(), d = window.scrollX, p = window.scrollY;
39
+ let c = 0, a = 0;
40
+ switch (w) {
41
+ case "top":
42
+ case "top-start":
43
+ case "top-end":
44
+ c = t.top + p - n.height - i;
45
+ break;
46
+ case "bottom":
47
+ case "bottom-start":
48
+ case "bottom-end":
49
+ c = t.bottom + p + i;
50
+ break;
51
+ case "left":
52
+ case "left-start":
53
+ case "left-end":
54
+ a = t.left + d - n.width - i;
55
+ break;
56
+ case "right":
57
+ case "right-start":
58
+ case "right-end":
59
+ a = t.right + d + i;
60
+ break;
61
+ }
62
+ switch (w) {
63
+ case "top":
64
+ case "bottom":
65
+ a = t.left + d + (t.width - n.width) / 2;
66
+ break;
67
+ case "top-start":
68
+ case "bottom-start":
69
+ a = t.left + d;
70
+ break;
71
+ case "top-end":
72
+ case "bottom-end":
73
+ a = t.right + d - n.width;
74
+ break;
75
+ case "left":
76
+ case "right":
77
+ c = t.top + p + (t.height - n.height) / 2;
78
+ break;
79
+ case "left-start":
80
+ case "right-start":
81
+ c = t.top + p;
82
+ break;
83
+ case "left-end":
84
+ case "right-end":
85
+ c = t.bottom + p - n.height;
86
+ break;
87
+ }
88
+ K({ top: c, left: a });
89
+ };
90
+ return e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
91
+ window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
92
+ };
93
+ }, [r, w, i, m]), M(() => () => {
94
+ l.current && clearTimeout(l.current), u.current && clearTimeout(u.current);
95
+ }, []);
96
+ const h = k(() => {
97
+ u.current && clearTimeout(u.current), o === "hover" ? l.current = setTimeout(() => s(!0), C) : s(!0);
98
+ }, [o, C, s]), b = k(() => {
99
+ l.current && clearTimeout(l.current), o === "hover" ? u.current = setTimeout(() => s(!1), P) : s(!1);
100
+ }, [o, P, s]), V = k(() => {
101
+ r ? b() : h();
102
+ }, [r, h, b]), R = T.props, Z = oe(T, {
103
+ ref: g,
104
+ "aria-expanded": r,
105
+ "aria-haspopup": "dialog",
106
+ "aria-controls": r ? z : void 0,
107
+ ...o === "click" && {
108
+ onClick: (e) => {
109
+ R.onClick?.(e), V();
110
+ }
111
+ },
112
+ ...o === "hover" && {
113
+ onMouseEnter: (e) => {
114
+ R.onMouseEnter?.(e), h();
115
+ },
116
+ onMouseLeave: (e) => {
117
+ R.onMouseLeave?.(e), b();
118
+ }
119
+ }
120
+ }), $ = {
121
+ position: "absolute",
122
+ top: L.top,
123
+ left: L.left,
124
+ zIndex: "var(--brycks-z-popover)",
125
+ backgroundColor: "var(--brycks-background-elevated)",
126
+ border: "1px solid var(--brycks-border-default)",
127
+ borderRadius: "var(--brycks-radius-lg)",
128
+ boxShadow: "var(--brycks-shadow-lg)",
129
+ padding: "var(--brycks-space-3)",
130
+ minWidth: 120,
131
+ animation: Q ? "none" : "brycks-popover-in 150ms ease-out",
132
+ ..._
133
+ }, D = r && m && /* @__PURE__ */ A(B, { children: [
134
+ /* @__PURE__ */ N("style", { children: `
135
+ @keyframes brycks-popover-in {
136
+ from { opacity: 0; transform: scale(0.95); }
137
+ to { opacity: 1; transform: scale(1); }
138
+ }
139
+ ` }),
140
+ /* @__PURE__ */ N(
141
+ "div",
142
+ {
143
+ ref: (e) => {
144
+ O.current = e, U.current = e, typeof f == "function" ? f(e) : f && (f.current = e);
145
+ },
146
+ id: z,
147
+ className: se("brycks-popover", W),
148
+ style: $,
149
+ role: "dialog",
150
+ "aria-modal": "false",
151
+ "data-testid": q,
152
+ onMouseEnter: o === "hover" ? h : void 0,
153
+ onMouseLeave: o === "hover" ? b : void 0,
154
+ ...G,
155
+ children: X
156
+ }
157
+ )
158
+ ] });
159
+ return /* @__PURE__ */ A(B, { children: [
160
+ Z,
161
+ m && re(D, document.body)
162
+ ] });
163
+ });
164
+ ae.displayName = "Popover";
165
+ export {
166
+ ae as Popover
167
+ };
168
+ //# sourceMappingURL=Popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popover.js","sources":["../../../../src/components/feedback/Popover/Popover.tsx"],"sourcesContent":["/**\n * Popover Component\n *\n * A floating content panel that appears relative to a trigger element.\n * Supports different placements and can be triggered by click or hover.\n */\n\nimport React, {\n forwardRef,\n useState,\n useEffect,\n useRef,\n useCallback,\n cloneElement,\n useId,\n type CSSProperties,\n type ReactNode,\n type ReactElement,\n type HTMLAttributes,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { cx } from '../../../utils/styles'\nimport { useClickOutside } from '../../../hooks/useClickOutside'\nimport { usePrefersReducedMotion } from '../../../hooks/useMediaQuery'\n\nexport type PopoverPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n\nexport type PopoverTrigger = 'click' | 'hover'\n\nexport interface PopoverProps extends Omit<HTMLAttributes<HTMLDivElement>, 'content'> {\n /** Popover content */\n content: ReactNode\n /** Trigger element */\n children: ReactElement\n /** Placement relative to trigger */\n placement?: PopoverPlacement\n /** How to trigger the popover */\n trigger?: PopoverTrigger\n /** Whether the popover is open (controlled) */\n isOpen?: boolean\n /** Default open state (uncontrolled) */\n defaultOpen?: boolean\n /** Callback when open state changes */\n onOpenChange?: (isOpen: boolean) => void\n /** Offset from trigger in pixels */\n offset?: number\n /** Delay before showing (hover trigger) */\n openDelay?: number\n /** Delay before hiding (hover trigger) */\n closeDelay?: number\n /** Whether to close on outside click */\n closeOnOutsideClick?: boolean\n /** Whether to show arrow */\n showArrow?: boolean\n /** Custom class name for content */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const Popover = forwardRef<HTMLDivElement, PopoverProps>(function Popover(\n {\n content,\n children,\n placement = 'bottom',\n trigger = 'click',\n isOpen: controlledIsOpen,\n defaultOpen = false,\n onOpenChange,\n offset = 8,\n openDelay = 200,\n closeDelay = 200,\n closeOnOutsideClick = true,\n showArrow: _showArrow = true,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const [internalIsOpen, setInternalIsOpen] = useState(defaultOpen)\n const [position, setPosition] = useState({ top: 0, left: 0 })\n const [mounted, setMounted] = useState(false)\n const triggerRef = useRef<HTMLElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const openTimeoutRef = useRef<ReturnType<typeof setTimeout>>(null)\n const closeTimeoutRef = useRef<ReturnType<typeof setTimeout>>(null)\n const popoverId = useId()\n const prefersReducedMotion = usePrefersReducedMotion()\n\n const isOpen = controlledIsOpen ?? internalIsOpen\n\n const setIsOpen = useCallback(\n (open: boolean) => {\n if (controlledIsOpen === undefined) {\n setInternalIsOpen(open)\n }\n onOpenChange?.(open)\n },\n [controlledIsOpen, onOpenChange]\n )\n\n // Click outside handler\n const clickOutsideRef = useClickOutside<HTMLDivElement>(() => {\n if (closeOnOutsideClick && trigger === 'click' && isOpen) {\n setIsOpen(false)\n }\n }, { enabled: isOpen && trigger === 'click' })\n\n useEffect(() => {\n setMounted(true)\n return () => setMounted(false)\n }, [])\n\n // Calculate position\n useEffect(() => {\n if (!isOpen || !triggerRef.current || !mounted) return\n\n const updatePosition = () => {\n const trigger = triggerRef.current\n const content = contentRef.current\n if (!trigger || !content) return\n\n const triggerRect = trigger.getBoundingClientRect()\n const contentRect = content.getBoundingClientRect()\n const scrollX = window.scrollX\n const scrollY = window.scrollY\n\n let top = 0\n let left = 0\n\n // Calculate base position\n switch (placement) {\n case 'top':\n case 'top-start':\n case 'top-end':\n top = triggerRect.top + scrollY - contentRect.height - offset\n break\n case 'bottom':\n case 'bottom-start':\n case 'bottom-end':\n top = triggerRect.bottom + scrollY + offset\n break\n case 'left':\n case 'left-start':\n case 'left-end':\n left = triggerRect.left + scrollX - contentRect.width - offset\n break\n case 'right':\n case 'right-start':\n case 'right-end':\n left = triggerRect.right + scrollX + offset\n break\n }\n\n // Calculate alignment\n switch (placement) {\n case 'top':\n case 'bottom':\n left = triggerRect.left + scrollX + (triggerRect.width - contentRect.width) / 2\n break\n case 'top-start':\n case 'bottom-start':\n left = triggerRect.left + scrollX\n break\n case 'top-end':\n case 'bottom-end':\n left = triggerRect.right + scrollX - contentRect.width\n break\n case 'left':\n case 'right':\n top = triggerRect.top + scrollY + (triggerRect.height - contentRect.height) / 2\n break\n case 'left-start':\n case 'right-start':\n top = triggerRect.top + scrollY\n break\n case 'left-end':\n case 'right-end':\n top = triggerRect.bottom + scrollY - contentRect.height\n break\n }\n\n setPosition({ top, left })\n }\n\n updatePosition()\n window.addEventListener('resize', updatePosition)\n window.addEventListener('scroll', updatePosition, true)\n\n return () => {\n window.removeEventListener('resize', updatePosition)\n window.removeEventListener('scroll', updatePosition, true)\n }\n }, [isOpen, placement, offset, mounted])\n\n // Cleanup timeouts\n useEffect(() => {\n return () => {\n if (openTimeoutRef.current) clearTimeout(openTimeoutRef.current)\n if (closeTimeoutRef.current) clearTimeout(closeTimeoutRef.current)\n }\n }, [])\n\n const handleOpen = useCallback(() => {\n if (closeTimeoutRef.current) clearTimeout(closeTimeoutRef.current)\n if (trigger === 'hover') {\n openTimeoutRef.current = setTimeout(() => setIsOpen(true), openDelay)\n } else {\n setIsOpen(true)\n }\n }, [trigger, openDelay, setIsOpen])\n\n const handleClose = useCallback(() => {\n if (openTimeoutRef.current) clearTimeout(openTimeoutRef.current)\n if (trigger === 'hover') {\n closeTimeoutRef.current = setTimeout(() => setIsOpen(false), closeDelay)\n } else {\n setIsOpen(false)\n }\n }, [trigger, closeDelay, setIsOpen])\n\n const handleToggle = useCallback(() => {\n if (isOpen) {\n handleClose()\n } else {\n handleOpen()\n }\n }, [isOpen, handleOpen, handleClose])\n\n // Clone trigger with event handlers and ARIA attributes\n const childProps = children.props as Record<string, unknown>\n const triggerElement = cloneElement(children as ReactElement<Record<string, unknown>>, {\n ref: triggerRef,\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'dialog',\n 'aria-controls': isOpen ? popoverId : undefined,\n ...(trigger === 'click' && {\n onClick: (e: React.MouseEvent) => {\n (childProps.onClick as ((e: React.MouseEvent) => void) | undefined)?.(e)\n handleToggle()\n },\n }),\n ...(trigger === 'hover' && {\n onMouseEnter: (e: React.MouseEvent) => {\n (childProps.onMouseEnter as ((e: React.MouseEvent) => void) | undefined)?.(e)\n handleOpen()\n },\n onMouseLeave: (e: React.MouseEvent) => {\n (childProps.onMouseLeave as ((e: React.MouseEvent) => void) | undefined)?.(e)\n handleClose()\n },\n }),\n })\n\n const contentStyle: CSSProperties = {\n position: 'absolute',\n top: position.top,\n left: position.left,\n zIndex: 'var(--brycks-z-popover)',\n backgroundColor: 'var(--brycks-background-elevated)',\n border: '1px solid var(--brycks-border-default)',\n borderRadius: 'var(--brycks-radius-lg)',\n boxShadow: 'var(--brycks-shadow-lg)',\n padding: 'var(--brycks-space-3)',\n minWidth: 120,\n animation: prefersReducedMotion ? 'none' : 'brycks-popover-in 150ms ease-out',\n ...style,\n }\n\n const popoverContent = isOpen && mounted && (\n <>\n <style>\n {`\n @keyframes brycks-popover-in {\n from { opacity: 0; transform: scale(0.95); }\n to { opacity: 1; transform: scale(1); }\n }\n `}\n </style>\n <div\n ref={(node) => {\n (contentRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n (clickOutsideRef as React.MutableRefObject<HTMLDivElement | null>).current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) ref.current = node\n }}\n id={popoverId}\n className={cx('brycks-popover', className)}\n style={contentStyle}\n role=\"dialog\"\n aria-modal=\"false\"\n data-testid={testId}\n onMouseEnter={trigger === 'hover' ? handleOpen : undefined}\n onMouseLeave={trigger === 'hover' ? handleClose : undefined}\n {...props}\n >\n {content}\n </div>\n </>\n )\n\n return (\n <>\n {triggerElement}\n {mounted && createPortal(popoverContent, document.body)}\n </>\n )\n})\n\nPopover.displayName = 'Popover'\n"],"names":["Popover","forwardRef","content","children","placement","trigger","controlledIsOpen","defaultOpen","onOpenChange","offset","openDelay","closeDelay","closeOnOutsideClick","_showArrow","className","style","testId","props","ref","internalIsOpen","setInternalIsOpen","useState","position","setPosition","mounted","setMounted","triggerRef","useRef","contentRef","openTimeoutRef","closeTimeoutRef","popoverId","useId","prefersReducedMotion","usePrefersReducedMotion","isOpen","setIsOpen","useCallback","open","clickOutsideRef","useClickOutside","useEffect","updatePosition","triggerRect","contentRect","scrollX","scrollY","top","left","handleOpen","handleClose","handleToggle","childProps","triggerElement","cloneElement","contentStyle","popoverContent","jsxs","Fragment","jsx","node","cx","createPortal"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),O=require("react"),x=require("../../../utils/styles.cjs"),T={xs:4,sm:6,md:8,lg:12},X={xs:{size:24,strokeWidth:3},sm:{size:32,strokeWidth:3},md:{size:48,strokeWidth:4},lg:{size:64,strokeWidth:5}},z={primary:"var(--brycks-primary-default)",success:"var(--brycks-success-default)",warning:"var(--brycks-warning-default)",error:"var(--brycks-error-default)"},b=O.forwardRef(function({value:n=0,max:a=100,size:s="md",variant:v="linear",intent:j="primary",showValue:d=!1,indeterminate:e=!1,formatValue:u=(i,c)=>`${Math.round(i/c*100)}%`,label:o,className:g,style:h,testId:k,...m},p){const i=Math.min(100,Math.max(0,n/a*100)),c=z[j];if(v==="circular"){const t=X[s],f=(t.size-t.strokeWidth)/2,l=2*Math.PI*f,R=l-i/100*l,D={display:"inline-flex",flexDirection:"column",alignItems:"center",gap:8,...h},$={transform:"rotate(-90deg)",width:t.size,height:t.size},q={fill:"none",stroke:"var(--brycks-background-muted)",strokeWidth:t.strokeWidth},I={fill:"none",stroke:c,strokeWidth:t.strokeWidth,strokeLinecap:"round",strokeDasharray:l,strokeDashoffset:e?l*.75:R,transition:e?"none":"stroke-dashoffset 300ms ease-out",animation:e?"brycks-progress-circular-spin 1s linear infinite":void 0,transformOrigin:"center"},N={position:"absolute",fontSize:s==="xs"?8:s==="sm"?10:s==="md"?12:14,fontWeight:600,color:"var(--brycks-foreground-default)"},F={fontSize:s==="xs"?10:s==="sm"?11:s==="md"?12:14,color:"var(--brycks-foreground-muted)"};return r.jsxs(r.Fragment,{children:[r.jsx("style",{children:`
2
+ @keyframes brycks-progress-circular-spin {
3
+ from { transform: rotate(0deg); }
4
+ to { transform: rotate(360deg); }
5
+ }
6
+ `}),r.jsxs("div",{ref:p,className:x.cx("brycks-progress","brycks-progress--circular",`brycks-progress--${s}`,g),style:D,role:"progressbar","aria-valuenow":e?void 0:n,"aria-valuemin":0,"aria-valuemax":a,"aria-label":o,"data-testid":k,...m,children:[r.jsxs("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[r.jsxs("svg",{style:$,children:[r.jsx("circle",{cx:t.size/2,cy:t.size/2,r:f,style:q}),r.jsx("circle",{cx:t.size/2,cy:t.size/2,r:f,style:I})]}),d&&!e&&s!=="xs"&&r.jsx("span",{style:N,children:u(n,a)})]}),o&&r.jsx("span",{style:F,children:o})]})]})}const y=T[s],S={display:"flex",flexDirection:"column",gap:6,width:"100%",...h},W={display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},w={fontSize:s==="xs"?11:s==="sm"?12:s==="md"?13:14,fontWeight:500,color:"var(--brycks-foreground-default)"},M={fontSize:s==="xs"?11:s==="sm"?12:s==="md"?13:14,fontWeight:500,color:"var(--brycks-foreground-muted)",fontVariantNumeric:"tabular-nums"},P={width:"100%",height:y,backgroundColor:"var(--brycks-background-muted)",borderRadius:y/2,overflow:"hidden"},C={width:e?"30%":`${i}%`,height:"100%",backgroundColor:c,borderRadius:y/2,transition:e?"none":"width 300ms ease-out",animation:e?"brycks-progress-linear-indeterminate 1.5s ease-in-out infinite":void 0};return r.jsxs(r.Fragment,{children:[r.jsx("style",{children:`
7
+ @keyframes brycks-progress-linear-indeterminate {
8
+ 0% { transform: translateX(-100%); }
9
+ 100% { transform: translateX(400%); }
10
+ }
11
+ `}),r.jsxs("div",{ref:p,className:x.cx("brycks-progress","brycks-progress--linear",`brycks-progress--${s}`,g),style:S,role:"progressbar","aria-valuenow":e?void 0:n,"aria-valuemin":0,"aria-valuemax":a,"aria-label":o,"data-testid":k,...m,children:[(o||d)&&r.jsxs("div",{style:W,children:[o&&r.jsx("span",{style:w,children:o}),d&&!e&&r.jsx("span",{style:M,children:u(n,a)})]}),r.jsx("div",{style:P,children:r.jsx("div",{style:C})})]})]})});b.displayName="Progress";exports.Progress=b;
12
+ //# sourceMappingURL=Progress.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.cjs","sources":["../../../../src/components/feedback/Progress/Progress.tsx"],"sourcesContent":["/**\n * Progress Component\n *\n * A progress indicator showing completion status.\n * Supports linear and circular variants.\n */\n\nimport { forwardRef, type CSSProperties, type HTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type ProgressSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type ProgressVariant = 'linear' | 'circular'\nexport type ProgressIntent = 'primary' | 'success' | 'warning' | 'error'\n\nexport interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {\n /** Current value (0-100) */\n value?: number\n /** Maximum value */\n max?: number\n /** Progress size */\n size?: ProgressSize\n /** Progress variant */\n variant?: ProgressVariant\n /** Progress intent/color */\n intent?: ProgressIntent\n /** Whether to show the value label */\n showValue?: boolean\n /** Whether the progress is indeterminate */\n indeterminate?: boolean\n /** Format value for display */\n formatValue?: (value: number, max: number) => string\n /** Label text */\n label?: string\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nconst linearSizeMap: Record<ProgressSize, number> = {\n xs: 4,\n sm: 6,\n md: 8,\n lg: 12,\n}\n\nconst circularSizeMap: Record<ProgressSize, { size: number; strokeWidth: number }> = {\n xs: { size: 24, strokeWidth: 3 },\n sm: { size: 32, strokeWidth: 3 },\n md: { size: 48, strokeWidth: 4 },\n lg: { size: 64, strokeWidth: 5 },\n}\n\nconst intentColors: Record<ProgressIntent, string> = {\n primary: 'var(--brycks-primary-default)',\n success: 'var(--brycks-success-default)',\n warning: 'var(--brycks-warning-default)',\n error: 'var(--brycks-error-default)',\n}\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>(function Progress(\n {\n value = 0,\n max = 100,\n size = 'md',\n variant = 'linear',\n intent = 'primary',\n showValue = false,\n indeterminate = false,\n formatValue = (v, m) => `${Math.round((v / m) * 100)}%`,\n label,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100))\n const color = intentColors[intent]\n\n if (variant === 'circular') {\n const config = circularSizeMap[size]\n const radius = (config.size - config.strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const offset = circumference - (percentage / 100) * circumference\n\n const containerStyle: CSSProperties = {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 8,\n ...style,\n }\n\n const svgStyle: CSSProperties = {\n transform: 'rotate(-90deg)',\n width: config.size,\n height: config.size,\n }\n\n const trackStyle: CSSProperties = {\n fill: 'none',\n stroke: 'var(--brycks-background-muted)',\n strokeWidth: config.strokeWidth,\n }\n\n const barStyle: CSSProperties = {\n fill: 'none',\n stroke: color,\n strokeWidth: config.strokeWidth,\n strokeLinecap: 'round',\n strokeDasharray: circumference,\n strokeDashoffset: indeterminate ? circumference * 0.75 : offset,\n transition: indeterminate ? 'none' : 'stroke-dashoffset 300ms ease-out',\n animation: indeterminate ? 'brycks-progress-circular-spin 1s linear infinite' : undefined,\n transformOrigin: 'center',\n }\n\n const valueStyle: CSSProperties = {\n position: 'absolute',\n fontSize: size === 'xs' ? 8 : size === 'sm' ? 10 : size === 'md' ? 12 : 14,\n fontWeight: 600,\n color: 'var(--brycks-foreground-default)',\n }\n\n const labelStyle: CSSProperties = {\n fontSize: size === 'xs' ? 10 : size === 'sm' ? 11 : size === 'md' ? 12 : 14,\n color: 'var(--brycks-foreground-muted)',\n }\n\n return (\n <>\n <style>\n {`\n @keyframes brycks-progress-circular-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n `}\n </style>\n <div\n ref={ref}\n className={cx('brycks-progress', 'brycks-progress--circular', `brycks-progress--${size}`, className)}\n style={containerStyle}\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label}\n data-testid={testId}\n {...props}\n >\n <div style={{ position: 'relative', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n <svg style={svgStyle}>\n <circle cx={config.size / 2} cy={config.size / 2} r={radius} style={trackStyle} />\n <circle cx={config.size / 2} cy={config.size / 2} r={radius} style={barStyle} />\n </svg>\n {showValue && !indeterminate && size !== 'xs' && (\n <span style={valueStyle}>{formatValue(value, max)}</span>\n )}\n </div>\n {label && <span style={labelStyle}>{label}</span>}\n </div>\n </>\n )\n }\n\n // Linear variant\n const height = linearSizeMap[size]\n\n const containerStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n width: '100%',\n ...style,\n }\n\n const headerStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 12,\n }\n\n const labelStyle: CSSProperties = {\n fontSize: size === 'xs' ? 11 : size === 'sm' ? 12 : size === 'md' ? 13 : 14,\n fontWeight: 500,\n color: 'var(--brycks-foreground-default)',\n }\n\n const valueTextStyle: CSSProperties = {\n fontSize: size === 'xs' ? 11 : size === 'sm' ? 12 : size === 'md' ? 13 : 14,\n fontWeight: 500,\n color: 'var(--brycks-foreground-muted)',\n fontVariantNumeric: 'tabular-nums',\n }\n\n const trackStyle: CSSProperties = {\n width: '100%',\n height,\n backgroundColor: 'var(--brycks-background-muted)',\n borderRadius: height / 2,\n overflow: 'hidden',\n }\n\n const barStyle: CSSProperties = {\n width: indeterminate ? '30%' : `${percentage}%`,\n height: '100%',\n backgroundColor: color,\n borderRadius: height / 2,\n transition: indeterminate ? 'none' : 'width 300ms ease-out',\n animation: indeterminate ? 'brycks-progress-linear-indeterminate 1.5s ease-in-out infinite' : undefined,\n }\n\n return (\n <>\n <style>\n {`\n @keyframes brycks-progress-linear-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n `}\n </style>\n <div\n ref={ref}\n className={cx('brycks-progress', 'brycks-progress--linear', `brycks-progress--${size}`, className)}\n style={containerStyle}\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label}\n data-testid={testId}\n {...props}\n >\n {(label || showValue) && (\n <div style={headerStyle}>\n {label && <span style={labelStyle}>{label}</span>}\n {showValue && !indeterminate && (\n <span style={valueTextStyle}>{formatValue(value, max)}</span>\n )}\n </div>\n )}\n <div style={trackStyle}>\n <div style={barStyle} />\n </div>\n </div>\n </>\n )\n})\n\nProgress.displayName = 'Progress'\n"],"names":["linearSizeMap","circularSizeMap","intentColors","Progress","forwardRef","value","max","size","variant","intent","showValue","indeterminate","formatValue","v","m","label","className","style","testId","props","ref","percentage","color","config","radius","circumference","offset","containerStyle","svgStyle","trackStyle","barStyle","valueStyle","labelStyle","jsxs","Fragment","jsx","cx","height","headerStyle","valueTextStyle"],"mappings":"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"}
@@ -0,0 +1,172 @@
1
+ import { jsxs as n, Fragment as v, jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as L } from "react";
3
+ import { cx as x } from "../../../utils/styles.js";
4
+ const O = {
5
+ xs: 4,
6
+ sm: 6,
7
+ md: 8,
8
+ lg: 12
9
+ }, T = {
10
+ xs: { size: 24, strokeWidth: 3 },
11
+ sm: { size: 32, strokeWidth: 3 },
12
+ md: { size: 48, strokeWidth: 4 },
13
+ lg: { size: 64, strokeWidth: 5 }
14
+ }, q = {
15
+ primary: "var(--brycks-primary-default)",
16
+ success: "var(--brycks-success-default)",
17
+ warning: "var(--brycks-warning-default)",
18
+ error: "var(--brycks-error-default)"
19
+ }, A = L(function({
20
+ value: a = 0,
21
+ max: i = 100,
22
+ size: r = "md",
23
+ variant: S = "linear",
24
+ intent: W = "primary",
25
+ showValue: y = !1,
26
+ indeterminate: s = !1,
27
+ formatValue: u = (c, l) => `${Math.round(c / l * 100)}%`,
28
+ label: o,
29
+ className: h,
30
+ style: m,
31
+ testId: k,
32
+ ...p
33
+ }, b) {
34
+ const c = Math.min(100, Math.max(0, a / i * 100)), l = q[W];
35
+ if (S === "circular") {
36
+ const e = T[r], g = (e.size - e.strokeWidth) / 2, d = 2 * Math.PI * g, $ = d - c / 100 * d, I = {
37
+ display: "inline-flex",
38
+ flexDirection: "column",
39
+ alignItems: "center",
40
+ gap: 8,
41
+ ...m
42
+ }, N = {
43
+ transform: "rotate(-90deg)",
44
+ width: e.size,
45
+ height: e.size
46
+ }, R = {
47
+ fill: "none",
48
+ stroke: "var(--brycks-background-muted)",
49
+ strokeWidth: e.strokeWidth
50
+ }, X = {
51
+ fill: "none",
52
+ stroke: l,
53
+ strokeWidth: e.strokeWidth,
54
+ strokeLinecap: "round",
55
+ strokeDasharray: d,
56
+ strokeDashoffset: s ? d * 0.75 : $,
57
+ transition: s ? "none" : "stroke-dashoffset 300ms ease-out",
58
+ animation: s ? "brycks-progress-circular-spin 1s linear infinite" : void 0,
59
+ transformOrigin: "center"
60
+ }, z = {
61
+ position: "absolute",
62
+ fontSize: r === "xs" ? 8 : r === "sm" ? 10 : r === "md" ? 12 : 14,
63
+ fontWeight: 600,
64
+ color: "var(--brycks-foreground-default)"
65
+ }, F = {
66
+ fontSize: r === "xs" ? 10 : r === "sm" ? 11 : r === "md" ? 12 : 14,
67
+ color: "var(--brycks-foreground-muted)"
68
+ };
69
+ return /* @__PURE__ */ n(v, { children: [
70
+ /* @__PURE__ */ t("style", { children: `
71
+ @keyframes brycks-progress-circular-spin {
72
+ from { transform: rotate(0deg); }
73
+ to { transform: rotate(360deg); }
74
+ }
75
+ ` }),
76
+ /* @__PURE__ */ n(
77
+ "div",
78
+ {
79
+ ref: b,
80
+ className: x("brycks-progress", "brycks-progress--circular", `brycks-progress--${r}`, h),
81
+ style: I,
82
+ role: "progressbar",
83
+ "aria-valuenow": s ? void 0 : a,
84
+ "aria-valuemin": 0,
85
+ "aria-valuemax": i,
86
+ "aria-label": o,
87
+ "data-testid": k,
88
+ ...p,
89
+ children: [
90
+ /* @__PURE__ */ n("div", { style: { position: "relative", display: "flex", alignItems: "center", justifyContent: "center" }, children: [
91
+ /* @__PURE__ */ n("svg", { style: N, children: [
92
+ /* @__PURE__ */ t("circle", { cx: e.size / 2, cy: e.size / 2, r: g, style: R }),
93
+ /* @__PURE__ */ t("circle", { cx: e.size / 2, cy: e.size / 2, r: g, style: X })
94
+ ] }),
95
+ y && !s && r !== "xs" && /* @__PURE__ */ t("span", { style: z, children: u(a, i) })
96
+ ] }),
97
+ o && /* @__PURE__ */ t("span", { style: F, children: o })
98
+ ]
99
+ }
100
+ )
101
+ ] });
102
+ }
103
+ const f = O[r], w = {
104
+ display: "flex",
105
+ flexDirection: "column",
106
+ gap: 6,
107
+ width: "100%",
108
+ ...m
109
+ }, M = {
110
+ display: "flex",
111
+ alignItems: "center",
112
+ justifyContent: "space-between",
113
+ gap: 12
114
+ }, C = {
115
+ fontSize: r === "xs" ? 11 : r === "sm" ? 12 : r === "md" ? 13 : 14,
116
+ fontWeight: 500,
117
+ color: "var(--brycks-foreground-default)"
118
+ }, j = {
119
+ fontSize: r === "xs" ? 11 : r === "sm" ? 12 : r === "md" ? 13 : 14,
120
+ fontWeight: 500,
121
+ color: "var(--brycks-foreground-muted)",
122
+ fontVariantNumeric: "tabular-nums"
123
+ }, D = {
124
+ width: "100%",
125
+ height: f,
126
+ backgroundColor: "var(--brycks-background-muted)",
127
+ borderRadius: f / 2,
128
+ overflow: "hidden"
129
+ }, P = {
130
+ width: s ? "30%" : `${c}%`,
131
+ height: "100%",
132
+ backgroundColor: l,
133
+ borderRadius: f / 2,
134
+ transition: s ? "none" : "width 300ms ease-out",
135
+ animation: s ? "brycks-progress-linear-indeterminate 1.5s ease-in-out infinite" : void 0
136
+ };
137
+ return /* @__PURE__ */ n(v, { children: [
138
+ /* @__PURE__ */ t("style", { children: `
139
+ @keyframes brycks-progress-linear-indeterminate {
140
+ 0% { transform: translateX(-100%); }
141
+ 100% { transform: translateX(400%); }
142
+ }
143
+ ` }),
144
+ /* @__PURE__ */ n(
145
+ "div",
146
+ {
147
+ ref: b,
148
+ className: x("brycks-progress", "brycks-progress--linear", `brycks-progress--${r}`, h),
149
+ style: w,
150
+ role: "progressbar",
151
+ "aria-valuenow": s ? void 0 : a,
152
+ "aria-valuemin": 0,
153
+ "aria-valuemax": i,
154
+ "aria-label": o,
155
+ "data-testid": k,
156
+ ...p,
157
+ children: [
158
+ (o || y) && /* @__PURE__ */ n("div", { style: M, children: [
159
+ o && /* @__PURE__ */ t("span", { style: C, children: o }),
160
+ y && !s && /* @__PURE__ */ t("span", { style: j, children: u(a, i) })
161
+ ] }),
162
+ /* @__PURE__ */ t("div", { style: D, children: /* @__PURE__ */ t("div", { style: P }) })
163
+ ]
164
+ }
165
+ )
166
+ ] });
167
+ });
168
+ A.displayName = "Progress";
169
+ export {
170
+ A as Progress
171
+ };
172
+ //# sourceMappingURL=Progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.js","sources":["../../../../src/components/feedback/Progress/Progress.tsx"],"sourcesContent":["/**\n * Progress Component\n *\n * A progress indicator showing completion status.\n * Supports linear and circular variants.\n */\n\nimport { forwardRef, type CSSProperties, type HTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type ProgressSize = 'xs' | 'sm' | 'md' | 'lg'\nexport type ProgressVariant = 'linear' | 'circular'\nexport type ProgressIntent = 'primary' | 'success' | 'warning' | 'error'\n\nexport interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {\n /** Current value (0-100) */\n value?: number\n /** Maximum value */\n max?: number\n /** Progress size */\n size?: ProgressSize\n /** Progress variant */\n variant?: ProgressVariant\n /** Progress intent/color */\n intent?: ProgressIntent\n /** Whether to show the value label */\n showValue?: boolean\n /** Whether the progress is indeterminate */\n indeterminate?: boolean\n /** Format value for display */\n formatValue?: (value: number, max: number) => string\n /** Label text */\n label?: string\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nconst linearSizeMap: Record<ProgressSize, number> = {\n xs: 4,\n sm: 6,\n md: 8,\n lg: 12,\n}\n\nconst circularSizeMap: Record<ProgressSize, { size: number; strokeWidth: number }> = {\n xs: { size: 24, strokeWidth: 3 },\n sm: { size: 32, strokeWidth: 3 },\n md: { size: 48, strokeWidth: 4 },\n lg: { size: 64, strokeWidth: 5 },\n}\n\nconst intentColors: Record<ProgressIntent, string> = {\n primary: 'var(--brycks-primary-default)',\n success: 'var(--brycks-success-default)',\n warning: 'var(--brycks-warning-default)',\n error: 'var(--brycks-error-default)',\n}\n\nexport const Progress = forwardRef<HTMLDivElement, ProgressProps>(function Progress(\n {\n value = 0,\n max = 100,\n size = 'md',\n variant = 'linear',\n intent = 'primary',\n showValue = false,\n indeterminate = false,\n formatValue = (v, m) => `${Math.round((v / m) * 100)}%`,\n label,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100))\n const color = intentColors[intent]\n\n if (variant === 'circular') {\n const config = circularSizeMap[size]\n const radius = (config.size - config.strokeWidth) / 2\n const circumference = 2 * Math.PI * radius\n const offset = circumference - (percentage / 100) * circumference\n\n const containerStyle: CSSProperties = {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: 8,\n ...style,\n }\n\n const svgStyle: CSSProperties = {\n transform: 'rotate(-90deg)',\n width: config.size,\n height: config.size,\n }\n\n const trackStyle: CSSProperties = {\n fill: 'none',\n stroke: 'var(--brycks-background-muted)',\n strokeWidth: config.strokeWidth,\n }\n\n const barStyle: CSSProperties = {\n fill: 'none',\n stroke: color,\n strokeWidth: config.strokeWidth,\n strokeLinecap: 'round',\n strokeDasharray: circumference,\n strokeDashoffset: indeterminate ? circumference * 0.75 : offset,\n transition: indeterminate ? 'none' : 'stroke-dashoffset 300ms ease-out',\n animation: indeterminate ? 'brycks-progress-circular-spin 1s linear infinite' : undefined,\n transformOrigin: 'center',\n }\n\n const valueStyle: CSSProperties = {\n position: 'absolute',\n fontSize: size === 'xs' ? 8 : size === 'sm' ? 10 : size === 'md' ? 12 : 14,\n fontWeight: 600,\n color: 'var(--brycks-foreground-default)',\n }\n\n const labelStyle: CSSProperties = {\n fontSize: size === 'xs' ? 10 : size === 'sm' ? 11 : size === 'md' ? 12 : 14,\n color: 'var(--brycks-foreground-muted)',\n }\n\n return (\n <>\n <style>\n {`\n @keyframes brycks-progress-circular-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n `}\n </style>\n <div\n ref={ref}\n className={cx('brycks-progress', 'brycks-progress--circular', `brycks-progress--${size}`, className)}\n style={containerStyle}\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label}\n data-testid={testId}\n {...props}\n >\n <div style={{ position: 'relative', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n <svg style={svgStyle}>\n <circle cx={config.size / 2} cy={config.size / 2} r={radius} style={trackStyle} />\n <circle cx={config.size / 2} cy={config.size / 2} r={radius} style={barStyle} />\n </svg>\n {showValue && !indeterminate && size !== 'xs' && (\n <span style={valueStyle}>{formatValue(value, max)}</span>\n )}\n </div>\n {label && <span style={labelStyle}>{label}</span>}\n </div>\n </>\n )\n }\n\n // Linear variant\n const height = linearSizeMap[size]\n\n const containerStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n width: '100%',\n ...style,\n }\n\n const headerStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 12,\n }\n\n const labelStyle: CSSProperties = {\n fontSize: size === 'xs' ? 11 : size === 'sm' ? 12 : size === 'md' ? 13 : 14,\n fontWeight: 500,\n color: 'var(--brycks-foreground-default)',\n }\n\n const valueTextStyle: CSSProperties = {\n fontSize: size === 'xs' ? 11 : size === 'sm' ? 12 : size === 'md' ? 13 : 14,\n fontWeight: 500,\n color: 'var(--brycks-foreground-muted)',\n fontVariantNumeric: 'tabular-nums',\n }\n\n const trackStyle: CSSProperties = {\n width: '100%',\n height,\n backgroundColor: 'var(--brycks-background-muted)',\n borderRadius: height / 2,\n overflow: 'hidden',\n }\n\n const barStyle: CSSProperties = {\n width: indeterminate ? '30%' : `${percentage}%`,\n height: '100%',\n backgroundColor: color,\n borderRadius: height / 2,\n transition: indeterminate ? 'none' : 'width 300ms ease-out',\n animation: indeterminate ? 'brycks-progress-linear-indeterminate 1.5s ease-in-out infinite' : undefined,\n }\n\n return (\n <>\n <style>\n {`\n @keyframes brycks-progress-linear-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n `}\n </style>\n <div\n ref={ref}\n className={cx('brycks-progress', 'brycks-progress--linear', `brycks-progress--${size}`, className)}\n style={containerStyle}\n role=\"progressbar\"\n aria-valuenow={indeterminate ? undefined : value}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-label={label}\n data-testid={testId}\n {...props}\n >\n {(label || showValue) && (\n <div style={headerStyle}>\n {label && <span style={labelStyle}>{label}</span>}\n {showValue && !indeterminate && (\n <span style={valueTextStyle}>{formatValue(value, max)}</span>\n )}\n </div>\n )}\n <div style={trackStyle}>\n <div style={barStyle} />\n </div>\n </div>\n </>\n )\n})\n\nProgress.displayName = 'Progress'\n"],"names":["linearSizeMap","circularSizeMap","intentColors","Progress","forwardRef","value","max","size","variant","intent","showValue","indeterminate","formatValue","v","m","label","className","style","testId","props","ref","percentage","color","config","radius","circumference","offset","containerStyle","svgStyle","trackStyle","barStyle","valueStyle","labelStyle","jsxs","Fragment","jsx","cx","height","headerStyle","valueTextStyle"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),e=require("react"),I=require("react-dom"),L=require("../../../utils/styles.cjs"),q=require("./ToastContext.cjs"),P={info:{bg:"var(--brycks-info-50)",border:"var(--brycks-info-200)",icon:"var(--brycks-info-default)"},success:{bg:"var(--brycks-success-50)",border:"var(--brycks-success-200)",icon:"var(--brycks-success-default)"},warning:{bg:"var(--brycks-warning-50)",border:"var(--brycks-warning-200)",icon:"var(--brycks-warning-default)"},error:{bg:"var(--brycks-error-50)",border:"var(--brycks-error-200)",icon:"var(--brycks-error-default)"}};function R({intent:b}){const n={info:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",success:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z",warning:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z",error:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"};return t.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:n[b]})})}function W(){return t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:t.jsx("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}const p=e.forwardRef(function({intent:n="info",title:c,description:i,isOpen:r=!0,duration:l=5e3,onClose:u,showCloseButton:m=!0,action:d,icon:g,className:h,style:k,testId:s,...o},f){const[y,v]=e.useState(r),[S,j]=e.useState(!1);if(e.useEffect(()=>{if(r)v(!0),j(!1);else{j(!0);const a=setTimeout(()=>v(!1),200);return()=>clearTimeout(a)}},[r]),e.useEffect(()=>{if(!r||l===0)return;const a=setTimeout(()=>{u?.()},l);return()=>clearTimeout(a)},[r,l,u]),!y)return null;const x=P[n],T={display:"flex",alignItems:"flex-start",gap:12,padding:"12px 16px",backgroundColor:x.bg,border:`1px solid ${x.border}`,borderRadius:"var(--brycks-radius-lg)",boxShadow:"var(--brycks-shadow-lg)",maxWidth:400,animation:S?"brycks-toast-out 200ms ease-in forwards":"brycks-toast-in 200ms ease-out",...k},w={color:x.icon,flexShrink:0,marginTop:2},C={flex:1,display:"flex",flexDirection:"column",gap:4},M={fontSize:14,fontWeight:600,color:"var(--brycks-foreground-default)",lineHeight:1.4},z={fontSize:13,color:"var(--brycks-foreground-muted)",lineHeight:1.4},E={display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,borderRadius:"var(--brycks-radius-sm)",color:"var(--brycks-foreground-muted)",transition:"all 150ms ease-out",flexShrink:0,marginLeft:"auto"};return t.jsxs(t.Fragment,{children:[t.jsx("style",{children:`
2
+ @keyframes brycks-toast-in {
3
+ from { opacity: 0; transform: translateY(-8px) scale(0.95); }
4
+ to { opacity: 1; transform: translateY(0) scale(1); }
5
+ }
6
+ @keyframes brycks-toast-out {
7
+ from { opacity: 1; transform: translateY(0) scale(1); }
8
+ to { opacity: 0; transform: translateY(-8px) scale(0.95); }
9
+ }
10
+ `}),t.jsxs("div",{ref:f,role:"alert","aria-live":"polite",className:L.cx("brycks-toast",`brycks-toast--${n}`,h),style:T,"data-testid":s,...o,children:[t.jsx("span",{style:w,children:g||t.jsx(R,{intent:n})}),t.jsxs("div",{style:C,children:[c&&t.jsx("span",{style:M,children:c}),i&&t.jsx("span",{style:z,children:i}),d&&t.jsx("div",{style:{marginTop:8},children:d})]}),m&&t.jsx("button",{type:"button",style:E,onClick:u,"aria-label":"Close toast",onMouseEnter:a=>{a.currentTarget.style.backgroundColor="var(--brycks-background-muted)"},onMouseLeave:a=>{a.currentTarget.style.backgroundColor="transparent"},children:t.jsx(W,{})})]})]})});p.displayName="Toast";const Y={"top-left":{top:16,left:16},"top-center":{top:16,left:"50%",transform:"translateX(-50%)"},"top-right":{top:16,right:16},"bottom-left":{bottom:16,left:16},"bottom-center":{bottom:16,left:"50%",transform:"translateX(-50%)"},"bottom-right":{bottom:16,right:16}};let B=0;function D({children:b,position:n="top-right",maxToasts:c=5}){const[i,r]=e.useState([]),[l,u]=e.useState(!1);e.useEffect(()=>{u(!0)},[]);const m=e.useCallback(s=>{const o=`toast-${++B}`;return r(f=>{const y=[...f,{id:o,props:s}];return y.length>c?y.slice(-c):y}),o},[c]),d=e.useCallback(s=>{r(o=>o.filter(f=>f.id!==s))},[]),g=e.useCallback(()=>{r([])},[]),h={position:"fixed",zIndex:"var(--brycks-z-toast)",display:"flex",flexDirection:"column",gap:8,pointerEvents:"none",...Y[n]},k={pointerEvents:"auto"};return t.jsxs(q.ToastContext.Provider,{value:{toasts:i,addToast:m,removeToast:d,removeAll:g},children:[b,l&&I.createPortal(t.jsx("div",{className:"brycks-toast-container",style:h,children:i.map(({id:s,props:o})=>t.jsx("div",{style:k,children:t.jsx(p,{...o,isOpen:!0,onClose:()=>d(s)})},s))}),document.body)]})}exports.Toast=p;exports.ToastProvider=D;
11
+ //# sourceMappingURL=Toast.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.cjs","sources":["../../../../src/components/feedback/Toast/Toast.tsx"],"sourcesContent":["/**\n * Toast Component\n *\n * A notification toast with auto-dismiss and action support.\n * Includes a toast container for managing multiple toasts.\n */\n\nimport {\n forwardRef,\n useState,\n useEffect,\n useCallback,\n type CSSProperties,\n type ReactNode,\n type HTMLAttributes,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport { cx } from '../../../utils/styles'\nimport { ToastContext } from './ToastContext'\nimport type { ToastItem } from './ToastContext'\n\nexport type ToastIntent = 'info' | 'success' | 'warning' | 'error'\nexport type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'\n\nexport interface ToastProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n /** Toast intent/type */\n intent?: ToastIntent\n /** Toast title */\n title?: ReactNode\n /** Toast description */\n description?: ReactNode\n /** Whether the toast is visible */\n isOpen?: boolean\n /** Duration in ms before auto-dismiss (0 = no auto-dismiss) */\n duration?: number\n /** Callback when toast should close */\n onClose?: () => void\n /** Whether to show close button */\n showCloseButton?: boolean\n /** Action button */\n action?: ReactNode\n /** Custom icon */\n icon?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nconst intentConfig: Record<ToastIntent, { bg: string; border: string; icon: string }> = {\n info: {\n bg: 'var(--brycks-info-50)',\n border: 'var(--brycks-info-200)',\n icon: 'var(--brycks-info-default)',\n },\n success: {\n bg: 'var(--brycks-success-50)',\n border: 'var(--brycks-success-200)',\n icon: 'var(--brycks-success-default)',\n },\n warning: {\n bg: 'var(--brycks-warning-50)',\n border: 'var(--brycks-warning-200)',\n icon: 'var(--brycks-warning-default)',\n },\n error: {\n bg: 'var(--brycks-error-50)',\n border: 'var(--brycks-error-200)',\n icon: 'var(--brycks-error-default)',\n },\n}\n\nfunction ToastIcon({ intent }: { intent: ToastIntent }) {\n const paths: Record<ToastIntent, string> = {\n info: 'M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z',\n success: 'M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z',\n warning: 'M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z',\n error: 'M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z',\n }\n\n return (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d={paths[intent]} />\n </svg>\n )\n}\n\nfunction CloseIcon() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M4 4l8 8M12 4l-8 8\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n )\n}\n\nexport const Toast = forwardRef<HTMLDivElement, ToastProps>(function Toast(\n {\n intent = 'info',\n title,\n description,\n isOpen = true,\n duration = 5000,\n onClose,\n showCloseButton = true,\n action,\n icon,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const [isVisible, setIsVisible] = useState(isOpen)\n const [isExiting, setIsExiting] = useState(false)\n\n useEffect(() => {\n if (isOpen) {\n setIsVisible(true)\n setIsExiting(false)\n } else {\n setIsExiting(true)\n const timer = setTimeout(() => setIsVisible(false), 200)\n return () => clearTimeout(timer)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (!isOpen || duration === 0) return\n\n const timer = setTimeout(() => {\n onClose?.()\n }, duration)\n\n return () => clearTimeout(timer)\n }, [isOpen, duration, onClose])\n\n if (!isVisible) return null\n\n const config = intentConfig[intent]\n\n const toastStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'flex-start',\n gap: 12,\n padding: '12px 16px',\n backgroundColor: config.bg,\n border: `1px solid ${config.border}`,\n borderRadius: 'var(--brycks-radius-lg)',\n boxShadow: 'var(--brycks-shadow-lg)',\n maxWidth: 400,\n animation: isExiting\n ? 'brycks-toast-out 200ms ease-in forwards'\n : 'brycks-toast-in 200ms ease-out',\n ...style,\n }\n\n const iconStyle: CSSProperties = {\n color: config.icon,\n flexShrink: 0,\n marginTop: 2,\n }\n\n const contentStyle: CSSProperties = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n }\n\n const titleStyle: CSSProperties = {\n fontSize: 14,\n fontWeight: 600,\n color: 'var(--brycks-foreground-default)',\n lineHeight: 1.4,\n }\n\n const descriptionStyle: CSSProperties = {\n fontSize: 13,\n color: 'var(--brycks-foreground-muted)',\n lineHeight: 1.4,\n }\n\n const closeButtonStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 24,\n height: 24,\n borderRadius: 'var(--brycks-radius-sm)',\n color: 'var(--brycks-foreground-muted)',\n transition: 'all 150ms ease-out',\n flexShrink: 0,\n marginLeft: 'auto',\n }\n\n return (\n <>\n <style>\n {`\n @keyframes brycks-toast-in {\n from { opacity: 0; transform: translateY(-8px) scale(0.95); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n }\n @keyframes brycks-toast-out {\n from { opacity: 1; transform: translateY(0) scale(1); }\n to { opacity: 0; transform: translateY(-8px) scale(0.95); }\n }\n `}\n </style>\n <div\n ref={ref}\n role=\"alert\"\n aria-live=\"polite\"\n className={cx('brycks-toast', `brycks-toast--${intent}`, className)}\n style={toastStyle}\n data-testid={testId}\n {...props}\n >\n <span style={iconStyle}>\n {icon || <ToastIcon intent={intent} />}\n </span>\n <div style={contentStyle}>\n {title && <span style={titleStyle}>{title}</span>}\n {description && <span style={descriptionStyle}>{description}</span>}\n {action && <div style={{ marginTop: 8 }}>{action}</div>}\n </div>\n {showCloseButton && (\n <button\n type=\"button\"\n style={closeButtonStyle}\n onClick={onClose}\n aria-label=\"Close toast\"\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = 'var(--brycks-background-muted)'\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'transparent'\n }}\n >\n <CloseIcon />\n </button>\n )}\n </div>\n </>\n )\n})\n\nToast.displayName = 'Toast'\n\n// Toast Provider\nexport interface ToastProviderProps {\n children: ReactNode\n position?: ToastPosition\n maxToasts?: number\n}\n\nconst positionStyles: Record<ToastPosition, CSSProperties> = {\n 'top-left': { top: 16, left: 16 },\n 'top-center': { top: 16, left: '50%', transform: 'translateX(-50%)' },\n 'top-right': { top: 16, right: 16 },\n 'bottom-left': { bottom: 16, left: 16 },\n 'bottom-center': { bottom: 16, left: '50%', transform: 'translateX(-50%)' },\n 'bottom-right': { bottom: 16, right: 16 },\n}\n\nlet toastCounter = 0\n\nexport function ToastProvider({\n children,\n position = 'top-right',\n maxToasts = 5,\n}: ToastProviderProps) {\n const [toasts, setToasts] = useState<ToastItem[]>([])\n const [mounted, setMounted] = useState(false)\n\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const addToast = useCallback(\n (props: Omit<ToastProps, 'isOpen' | 'onClose'>) => {\n const id = `toast-${++toastCounter}`\n setToasts((prev) => {\n const newToasts = [...prev, { id, props }]\n if (newToasts.length > maxToasts) {\n return newToasts.slice(-maxToasts)\n }\n return newToasts\n })\n return id\n },\n [maxToasts]\n )\n\n const removeToast = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id))\n }, [])\n\n const removeAll = useCallback(() => {\n setToasts([])\n }, [])\n\n const containerStyle: CSSProperties = {\n position: 'fixed',\n zIndex: 'var(--brycks-z-toast)' as unknown as number,\n display: 'flex',\n flexDirection: 'column',\n gap: 8,\n pointerEvents: 'none',\n ...positionStyles[position],\n }\n\n const toastWrapperStyle: CSSProperties = {\n pointerEvents: 'auto',\n }\n\n return (\n <ToastContext.Provider value={{ toasts, addToast, removeToast, removeAll }}>\n {children}\n {mounted &&\n createPortal(\n <div className=\"brycks-toast-container\" style={containerStyle}>\n {toasts.map(({ id, props }) => (\n <div key={id} style={toastWrapperStyle}>\n <Toast {...props} isOpen onClose={() => removeToast(id)} />\n </div>\n ))}\n </div>,\n document.body\n )}\n </ToastContext.Provider>\n )\n}\n"],"names":["intentConfig","ToastIcon","intent","paths","jsx","CloseIcon","Toast","forwardRef","title","description","isOpen","duration","onClose","showCloseButton","action","icon","className","style","testId","props","ref","isVisible","setIsVisible","useState","isExiting","setIsExiting","useEffect","timer","config","toastStyle","iconStyle","contentStyle","titleStyle","descriptionStyle","closeButtonStyle","jsxs","Fragment","cx","e","positionStyles","toastCounter","ToastProvider","children","position","maxToasts","toasts","setToasts","mounted","setMounted","addToast","useCallback","id","prev","newToasts","removeToast","t","removeAll","containerStyle","toastWrapperStyle","ToastContext","createPortal"],"mappings":"sOAiDMA,EAAkF,CACtF,KAAM,CACJ,GAAI,wBACJ,OAAQ,yBACR,KAAM,4BAAA,EAER,QAAS,CACP,GAAI,2BACJ,OAAQ,4BACR,KAAM,+BAAA,EAER,QAAS,CACP,GAAI,2BACJ,OAAQ,4BACR,KAAM,+BAAA,EAER,MAAO,CACL,GAAI,yBACJ,OAAQ,0BACR,KAAM,6BAAA,CAEV,EAEA,SAASC,EAAU,CAAE,OAAAC,GAAmC,CACtD,MAAMC,EAAqC,CACzC,KAAM,4DACN,QAAS,gDACT,QAAS,uIACT,MAAO,sEAAA,EAGT,OACEC,EAAAA,IAAC,MAAA,CAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,OAAO,eAAe,YAAY,IAAI,cAAc,QAAQ,eAAe,QACrI,SAAAA,EAAAA,IAAC,QAAK,EAAGD,EAAMD,CAAM,CAAA,CAAG,CAAA,CAC1B,CAEJ,CAEA,SAASG,GAAY,CACnB,OACED,MAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACnD,eAAC,OAAA,CAAK,EAAE,qBAAqB,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,CAAA,CAC7F,CAEJ,CAEO,MAAME,EAAQC,EAAAA,WAAuC,SAC1D,CACE,OAAAL,EAAS,OACT,MAAAM,EACA,YAAAC,EACA,OAAAC,EAAS,GACT,SAAAC,EAAW,IACX,QAAAC,EACA,gBAAAC,EAAkB,GAClB,OAAAC,EACA,KAAAC,EACA,UAAAC,EACA,MAAAC,EACA,OAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAASb,CAAM,EAC3C,CAACc,EAAWC,CAAY,EAAIF,EAAAA,SAAS,EAAK,EAuBhD,GArBAG,EAAAA,UAAU,IAAM,CACd,GAAIhB,EACFY,EAAa,EAAI,EACjBG,EAAa,EAAK,MACb,CACLA,EAAa,EAAI,EACjB,MAAME,EAAQ,WAAW,IAAML,EAAa,EAAK,EAAG,GAAG,EACvD,MAAO,IAAM,aAAaK,CAAK,CACjC,CACF,EAAG,CAACjB,CAAM,CAAC,EAEXgB,EAAAA,UAAU,IAAM,CACd,GAAI,CAAChB,GAAUC,IAAa,EAAG,OAE/B,MAAMgB,EAAQ,WAAW,IAAM,CAC7Bf,IAAA,CACF,EAAGD,CAAQ,EAEX,MAAO,IAAM,aAAagB,CAAK,CACjC,EAAG,CAACjB,EAAQC,EAAUC,CAAO,CAAC,EAE1B,CAACS,EAAW,OAAO,KAEvB,MAAMO,EAAS5B,EAAaE,CAAM,EAE5B2B,EAA4B,CAChC,QAAS,OACT,WAAY,aACZ,IAAK,GACL,QAAS,YACT,gBAAiBD,EAAO,GACxB,OAAQ,aAAaA,EAAO,MAAM,GAClC,aAAc,0BACd,UAAW,0BACX,SAAU,IACV,UAAWJ,EACP,0CACA,iCACJ,GAAGP,CAAA,EAGCa,EAA2B,CAC/B,MAAOF,EAAO,KACd,WAAY,EACZ,UAAW,CAAA,EAGPG,EAA8B,CAClC,KAAM,EACN,QAAS,OACT,cAAe,SACf,IAAK,CAAA,EAGDC,EAA4B,CAChC,SAAU,GACV,WAAY,IACZ,MAAO,mCACP,WAAY,GAAA,EAGRC,EAAkC,CACtC,SAAU,GACV,MAAO,iCACP,WAAY,GAAA,EAGRC,EAAkC,CACtC,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,MAAO,GACP,OAAQ,GACR,aAAc,0BACd,MAAO,iCACP,WAAY,qBACZ,WAAY,EACZ,WAAY,MAAA,EAGd,OACEC,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAhC,MAAC,QAAA,CACE,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAUH,EACA+B,EAAAA,KAAC,MAAA,CACC,IAAAf,EACA,KAAK,QACL,YAAU,SACV,UAAWiB,EAAAA,GAAG,eAAgB,iBAAiBnC,CAAM,GAAIc,CAAS,EAClE,MAAOa,EACP,cAAaX,EACZ,GAAGC,EAEJ,SAAA,CAAAf,EAAAA,IAAC,QAAK,MAAO0B,EACV,YAAQ1B,EAAAA,IAACH,EAAA,CAAU,OAAAC,EAAgB,CAAA,CACtC,EACAiC,EAAAA,KAAC,MAAA,CAAI,MAAOJ,EACT,SAAA,CAAAvB,GAASJ,EAAAA,IAAC,OAAA,CAAK,MAAO4B,EAAa,SAAAxB,EAAM,EACzCC,GAAeL,EAAAA,IAAC,OAAA,CAAK,MAAO6B,EAAmB,SAAAxB,EAAY,EAC3DK,SAAW,MAAA,CAAI,MAAO,CAAE,UAAW,CAAA,EAAM,SAAAA,CAAA,CAAO,CAAA,EACnD,EACCD,GACCT,EAAAA,IAAC,SAAA,CACC,KAAK,SACL,MAAO8B,EACP,QAAStB,EACT,aAAW,cACX,aAAe0B,GAAM,CACnBA,EAAE,cAAc,MAAM,gBAAkB,gCAC1C,EACA,aAAeA,GAAM,CACnBA,EAAE,cAAc,MAAM,gBAAkB,aAC1C,EAEA,eAACjC,EAAA,CAAA,CAAU,CAAA,CAAA,CACb,CAAA,CAAA,CAEJ,EACF,CAEJ,CAAC,EAEDC,EAAM,YAAc,QASpB,MAAMiC,EAAuD,CAC3D,WAAY,CAAE,IAAK,GAAI,KAAM,EAAA,EAC7B,aAAc,CAAE,IAAK,GAAI,KAAM,MAAO,UAAW,kBAAA,EACjD,YAAa,CAAE,IAAK,GAAI,MAAO,EAAA,EAC/B,cAAe,CAAE,OAAQ,GAAI,KAAM,EAAA,EACnC,gBAAiB,CAAE,OAAQ,GAAI,KAAM,MAAO,UAAW,kBAAA,EACvD,eAAgB,CAAE,OAAQ,GAAI,MAAO,EAAA,CACvC,EAEA,IAAIC,EAAe,EAEZ,SAASC,EAAc,CAC5B,SAAAC,EACA,SAAAC,EAAW,YACX,UAAAC,EAAY,CACd,EAAuB,CACrB,KAAM,CAACC,EAAQC,CAAS,EAAIvB,EAAAA,SAAsB,CAAA,CAAE,EAC9C,CAACwB,EAASC,CAAU,EAAIzB,EAAAA,SAAS,EAAK,EAE5CG,EAAAA,UAAU,IAAM,CACdsB,EAAW,EAAI,CACjB,EAAG,CAAA,CAAE,EAEL,MAAMC,EAAWC,EAAAA,YACd/B,GAAkD,CACjD,MAAMgC,EAAK,SAAS,EAAEX,CAAY,GAClC,OAAAM,EAAWM,GAAS,CAClB,MAAMC,EAAY,CAAC,GAAGD,EAAM,CAAE,GAAAD,EAAI,MAAAhC,EAAO,EACzC,OAAIkC,EAAU,OAAST,EACdS,EAAU,MAAM,CAACT,CAAS,EAE5BS,CACT,CAAC,EACMF,CACT,EACA,CAACP,CAAS,CAAA,EAGNU,EAAcJ,cAAaC,GAAe,CAC9CL,EAAWM,GAASA,EAAK,OAAQG,GAAMA,EAAE,KAAOJ,CAAE,CAAC,CACrD,EAAG,CAAA,CAAE,EAECK,EAAYN,EAAAA,YAAY,IAAM,CAClCJ,EAAU,CAAA,CAAE,CACd,EAAG,CAAA,CAAE,EAECW,EAAgC,CACpC,SAAU,QACV,OAAQ,wBACR,QAAS,OACT,cAAe,SACf,IAAK,EACL,cAAe,OACf,GAAGlB,EAAeI,CAAQ,CAAA,EAGtBe,EAAmC,CACvC,cAAe,MAAA,EAGjB,OACEvB,OAACwB,EAAAA,aAAa,SAAb,CAAsB,MAAO,CAAE,OAAAd,EAAQ,SAAAI,EAAU,YAAAK,EAAa,UAAAE,CAAA,EAC5D,SAAA,CAAAd,EACAK,GACCa,EAAAA,aACExD,EAAAA,IAAC,MAAA,CAAI,UAAU,yBAAyB,MAAOqD,EAC5C,SAAAZ,EAAO,IAAI,CAAC,CAAE,GAAAM,EAAI,MAAAhC,CAAA,IACjBf,EAAAA,IAAC,MAAA,CAAa,MAAOsD,EACnB,SAAAtD,EAAAA,IAACE,EAAA,CAAO,GAAGa,EAAO,OAAM,GAAC,QAAS,IAAMmC,EAAYH,CAAE,CAAA,CAAG,CAAA,EADjDA,CAEV,CACD,EACH,EACA,SAAS,IAAA,CACX,EACJ,CAEJ"}