@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,201 @@
1
+ import { jsxs as $, jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as z, useMemo as j } from "react";
3
+ import { cx as w } from "../../../utils/styles.js";
4
+ const E = {
5
+ sm: { height: 28, fontSize: 12, gap: 4, minWidth: 28 },
6
+ md: { height: 36, fontSize: 14, gap: 6, minWidth: 36 },
7
+ lg: { height: 44, fontSize: 16, gap: 8, minWidth: 44 }
8
+ };
9
+ function I() {
10
+ return /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ e("path", { d: "M10 12L6 8l4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
11
+ }
12
+ function B() {
13
+ return /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ e("path", { d: "M6 4l4 4-4 4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
14
+ }
15
+ function R() {
16
+ return /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ e("path", { d: "M11 12l-4-4 4-4M7 12l-4-4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
17
+ }
18
+ function N() {
19
+ return /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ e("path", { d: "M5 4l4 4-4 4M9 4l4 4-4 4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
20
+ }
21
+ const q = z(function({
22
+ page: r,
23
+ totalPages: t,
24
+ onChange: p,
25
+ size: f = "md",
26
+ variant: l = "default",
27
+ siblingCount: h = 1,
28
+ showFirstLast: k = !0,
29
+ showPrevNext: m = !0,
30
+ disabled: o = !1,
31
+ className: g,
32
+ style: b,
33
+ testId: C,
34
+ ...v
35
+ }, M) {
36
+ const s = E[f], L = j(() => {
37
+ if (l === "minimal" || l === "simple")
38
+ return [];
39
+ const n = [], u = Math.max(r - h, 1), c = Math.min(r + h, t), T = u > 2, y = c < t - 1;
40
+ if (T)
41
+ if (y) {
42
+ n.push(1), n.push("ellipsis");
43
+ for (let i = u; i <= c; i++)
44
+ n.push(i);
45
+ n.push("ellipsis"), n.push(t);
46
+ } else {
47
+ n.push(1), n.push("ellipsis");
48
+ for (let i = Math.max(t - 2 - h, 1); i <= t; i++)
49
+ n.push(i);
50
+ }
51
+ else {
52
+ for (let i = 1; i <= Math.min(3 + h, t); i++)
53
+ n.push(i);
54
+ y && (n.push("ellipsis"), n.push(t));
55
+ }
56
+ return n;
57
+ }, [r, t, h, l]), x = {
58
+ display: "flex",
59
+ alignItems: "center",
60
+ gap: s.gap,
61
+ ...b
62
+ }, a = (n, u) => ({
63
+ display: "inline-flex",
64
+ alignItems: "center",
65
+ justifyContent: "center",
66
+ minWidth: s.minWidth,
67
+ height: s.height,
68
+ padding: `0 ${s.gap + 4}px`,
69
+ fontSize: s.fontSize,
70
+ fontWeight: n ? 600 : 500,
71
+ color: u ? "var(--brycks-foreground-disabled)" : n ? "var(--brycks-primary-default)" : "var(--brycks-foreground-default)",
72
+ backgroundColor: n ? "var(--brycks-primary-50)" : "transparent",
73
+ border: "none",
74
+ borderRadius: "var(--brycks-radius-md)",
75
+ cursor: u ? "not-allowed" : "pointer",
76
+ transition: "all 150ms ease-out",
77
+ outline: "none"
78
+ }), S = {
79
+ display: "flex",
80
+ alignItems: "center",
81
+ justifyContent: "center",
82
+ minWidth: s.minWidth,
83
+ height: s.height,
84
+ color: "var(--brycks-foreground-muted)",
85
+ fontSize: s.fontSize
86
+ }, W = {
87
+ fontSize: s.fontSize,
88
+ color: "var(--brycks-foreground-muted)",
89
+ padding: `0 ${s.gap}px`
90
+ }, d = (n) => {
91
+ n >= 1 && n <= t && n !== r && !o && p(n);
92
+ };
93
+ return /* @__PURE__ */ $(
94
+ "nav",
95
+ {
96
+ ref: M,
97
+ role: "navigation",
98
+ "aria-label": "Pagination",
99
+ className: w("brycks-pagination", `brycks-pagination--${f}`, `brycks-pagination--${l}`, g),
100
+ style: x,
101
+ "data-testid": C,
102
+ ...v,
103
+ children: [
104
+ k && l !== "minimal" && /* @__PURE__ */ e(
105
+ "button",
106
+ {
107
+ type: "button",
108
+ "aria-label": "First page",
109
+ disabled: r === 1 || o,
110
+ style: a(!1, r === 1 || o),
111
+ onClick: () => d(1),
112
+ onMouseEnter: (n) => {
113
+ r !== 1 && !o && (n.currentTarget.style.backgroundColor = "var(--brycks-background-muted)");
114
+ },
115
+ onMouseLeave: (n) => {
116
+ n.currentTarget.style.backgroundColor = "transparent";
117
+ },
118
+ children: /* @__PURE__ */ e(R, {})
119
+ }
120
+ ),
121
+ m && /* @__PURE__ */ e(
122
+ "button",
123
+ {
124
+ type: "button",
125
+ "aria-label": "Previous page",
126
+ disabled: r === 1 || o,
127
+ style: a(!1, r === 1 || o),
128
+ onClick: () => d(r - 1),
129
+ onMouseEnter: (n) => {
130
+ r !== 1 && !o && (n.currentTarget.style.backgroundColor = "var(--brycks-background-muted)");
131
+ },
132
+ onMouseLeave: (n) => {
133
+ n.currentTarget.style.backgroundColor = "transparent";
134
+ },
135
+ children: /* @__PURE__ */ e(I, {})
136
+ }
137
+ ),
138
+ l === "simple" || l === "minimal" ? /* @__PURE__ */ e("span", { style: W, children: l === "minimal" ? `${r} / ${t}` : `Page ${r} of ${t}` }) : L.map(
139
+ (n, u) => n === "ellipsis" ? /* @__PURE__ */ e("span", { style: S, children: "..." }, `ellipsis-${u}`) : /* @__PURE__ */ e(
140
+ "button",
141
+ {
142
+ type: "button",
143
+ "aria-label": `Page ${n}`,
144
+ "aria-current": n === r ? "page" : void 0,
145
+ disabled: o,
146
+ style: a(n === r, o),
147
+ onClick: () => d(n),
148
+ onMouseEnter: (c) => {
149
+ n !== r && !o && (c.currentTarget.style.backgroundColor = "var(--brycks-background-muted)");
150
+ },
151
+ onMouseLeave: (c) => {
152
+ n !== r && (c.currentTarget.style.backgroundColor = "transparent");
153
+ },
154
+ children: n
155
+ },
156
+ n
157
+ )
158
+ ),
159
+ m && /* @__PURE__ */ e(
160
+ "button",
161
+ {
162
+ type: "button",
163
+ "aria-label": "Next page",
164
+ disabled: r === t || o,
165
+ style: a(!1, r === t || o),
166
+ onClick: () => d(r + 1),
167
+ onMouseEnter: (n) => {
168
+ r !== t && !o && (n.currentTarget.style.backgroundColor = "var(--brycks-background-muted)");
169
+ },
170
+ onMouseLeave: (n) => {
171
+ n.currentTarget.style.backgroundColor = "transparent";
172
+ },
173
+ children: /* @__PURE__ */ e(B, {})
174
+ }
175
+ ),
176
+ k && l !== "minimal" && /* @__PURE__ */ e(
177
+ "button",
178
+ {
179
+ type: "button",
180
+ "aria-label": "Last page",
181
+ disabled: r === t || o,
182
+ style: a(!1, r === t || o),
183
+ onClick: () => d(t),
184
+ onMouseEnter: (n) => {
185
+ r !== t && !o && (n.currentTarget.style.backgroundColor = "var(--brycks-background-muted)");
186
+ },
187
+ onMouseLeave: (n) => {
188
+ n.currentTarget.style.backgroundColor = "transparent";
189
+ },
190
+ children: /* @__PURE__ */ e(N, {})
191
+ }
192
+ )
193
+ ]
194
+ }
195
+ );
196
+ });
197
+ q.displayName = "Pagination";
198
+ export {
199
+ q as Pagination
200
+ };
201
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["/**\n * Pagination Component\n *\n * A pagination control for navigating through pages.\n * Supports different sizes and display modes.\n */\n\nimport { forwardRef, useMemo, type CSSProperties, type HTMLAttributes } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type PaginationSize = 'sm' | 'md' | 'lg'\nexport type PaginationVariant = 'default' | 'simple' | 'minimal'\n\nexport interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'> {\n /** Current page (1-indexed) */\n page: number\n /** Total number of pages */\n totalPages: number\n /** Callback when page changes */\n onChange: (page: number) => void\n /** Pagination size */\n size?: PaginationSize\n /** Pagination variant */\n variant?: PaginationVariant\n /** Number of sibling pages to show on each side */\n siblingCount?: number\n /** Whether to show first/last buttons */\n showFirstLast?: boolean\n /** Whether to show prev/next buttons */\n showPrevNext?: boolean\n /** Whether the component is disabled */\n disabled?: boolean\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nconst sizeConfig: Record<PaginationSize, { height: number; fontSize: number; gap: number; minWidth: number }> = {\n sm: { height: 28, fontSize: 12, gap: 4, minWidth: 28 },\n md: { height: 36, fontSize: 14, gap: 6, minWidth: 36 },\n lg: { height: 44, fontSize: 16, gap: 8, minWidth: 44 },\n}\n\nfunction ChevronLeftIcon() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M10 12L6 8l4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )\n}\n\nfunction ChevronRightIcon() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M6 4l4 4-4 4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )\n}\n\nfunction ChevronsLeftIcon() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M11 12l-4-4 4-4M7 12l-4-4 4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )\n}\n\nfunction ChevronsRightIcon() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M5 4l4 4-4 4M9 4l4 4-4 4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )\n}\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(function Pagination(\n {\n page,\n totalPages,\n onChange,\n size = 'md',\n variant = 'default',\n siblingCount = 1,\n showFirstLast = true,\n showPrevNext = true,\n disabled = false,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const config = sizeConfig[size]\n\n // Generate page numbers to display\n const pages = useMemo(() => {\n if (variant === 'minimal' || variant === 'simple') {\n return []\n }\n\n const range: (number | 'ellipsis')[] = []\n const leftSibling = Math.max(page - siblingCount, 1)\n const rightSibling = Math.min(page + siblingCount, totalPages)\n\n const showLeftEllipsis = leftSibling > 2\n const showRightEllipsis = rightSibling < totalPages - 1\n\n if (!showLeftEllipsis) {\n for (let i = 1; i <= Math.min(3 + siblingCount, totalPages); i++) {\n range.push(i)\n }\n if (showRightEllipsis) {\n range.push('ellipsis')\n range.push(totalPages)\n }\n } else if (!showRightEllipsis) {\n range.push(1)\n range.push('ellipsis')\n for (let i = Math.max(totalPages - 2 - siblingCount, 1); i <= totalPages; i++) {\n range.push(i)\n }\n } else {\n range.push(1)\n range.push('ellipsis')\n for (let i = leftSibling; i <= rightSibling; i++) {\n range.push(i)\n }\n range.push('ellipsis')\n range.push(totalPages)\n }\n\n return range\n }, [page, totalPages, siblingCount, variant])\n\n const containerStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: config.gap,\n ...style,\n }\n\n const getButtonStyle = (isActive: boolean, isDisabled: boolean): CSSProperties => ({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: config.minWidth,\n height: config.height,\n padding: `0 ${config.gap + 4}px`,\n fontSize: config.fontSize,\n fontWeight: isActive ? 600 : 500,\n color: isDisabled\n ? 'var(--brycks-foreground-disabled)'\n : isActive\n ? 'var(--brycks-primary-default)'\n : 'var(--brycks-foreground-default)',\n backgroundColor: isActive ? 'var(--brycks-primary-50)' : 'transparent',\n border: 'none',\n borderRadius: 'var(--brycks-radius-md)',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n transition: 'all 150ms ease-out',\n outline: 'none',\n })\n\n const ellipsisStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: config.minWidth,\n height: config.height,\n color: 'var(--brycks-foreground-muted)',\n fontSize: config.fontSize,\n }\n\n const infoStyle: CSSProperties = {\n fontSize: config.fontSize,\n color: 'var(--brycks-foreground-muted)',\n padding: `0 ${config.gap}px`,\n }\n\n const handlePageChange = (newPage: number) => {\n if (newPage >= 1 && newPage <= totalPages && newPage !== page && !disabled) {\n onChange(newPage)\n }\n }\n\n return (\n <nav\n ref={ref}\n role=\"navigation\"\n aria-label=\"Pagination\"\n className={cx('brycks-pagination', `brycks-pagination--${size}`, `brycks-pagination--${variant}`, className)}\n style={containerStyle}\n data-testid={testId}\n {...props}\n >\n {showFirstLast && variant !== 'minimal' && (\n <button\n type=\"button\"\n aria-label=\"First page\"\n disabled={page === 1 || disabled}\n style={getButtonStyle(false, page === 1 || disabled)}\n onClick={() => handlePageChange(1)}\n onMouseEnter={(e) => {\n if (page !== 1 && !disabled) {\n e.currentTarget.style.backgroundColor = 'var(--brycks-background-muted)'\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'transparent'\n }}\n >\n <ChevronsLeftIcon />\n </button>\n )}\n\n {showPrevNext && (\n <button\n type=\"button\"\n aria-label=\"Previous page\"\n disabled={page === 1 || disabled}\n style={getButtonStyle(false, page === 1 || disabled)}\n onClick={() => handlePageChange(page - 1)}\n onMouseEnter={(e) => {\n if (page !== 1 && !disabled) {\n e.currentTarget.style.backgroundColor = 'var(--brycks-background-muted)'\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'transparent'\n }}\n >\n <ChevronLeftIcon />\n </button>\n )}\n\n {variant === 'simple' || variant === 'minimal' ? (\n <span style={infoStyle}>\n {variant === 'minimal' ? `${page} / ${totalPages}` : `Page ${page} of ${totalPages}`}\n </span>\n ) : (\n pages.map((p, index) =>\n p === 'ellipsis' ? (\n <span key={`ellipsis-${index}`} style={ellipsisStyle}>\n ...\n </span>\n ) : (\n <button\n key={p}\n type=\"button\"\n aria-label={`Page ${p}`}\n aria-current={p === page ? 'page' : undefined}\n disabled={disabled}\n style={getButtonStyle(p === page, disabled)}\n onClick={() => handlePageChange(p)}\n onMouseEnter={(e) => {\n if (p !== page && !disabled) {\n e.currentTarget.style.backgroundColor = 'var(--brycks-background-muted)'\n }\n }}\n onMouseLeave={(e) => {\n if (p !== page) {\n e.currentTarget.style.backgroundColor = 'transparent'\n }\n }}\n >\n {p}\n </button>\n )\n )\n )}\n\n {showPrevNext && (\n <button\n type=\"button\"\n aria-label=\"Next page\"\n disabled={page === totalPages || disabled}\n style={getButtonStyle(false, page === totalPages || disabled)}\n onClick={() => handlePageChange(page + 1)}\n onMouseEnter={(e) => {\n if (page !== totalPages && !disabled) {\n e.currentTarget.style.backgroundColor = 'var(--brycks-background-muted)'\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'transparent'\n }}\n >\n <ChevronRightIcon />\n </button>\n )}\n\n {showFirstLast && variant !== 'minimal' && (\n <button\n type=\"button\"\n aria-label=\"Last page\"\n disabled={page === totalPages || disabled}\n style={getButtonStyle(false, page === totalPages || disabled)}\n onClick={() => handlePageChange(totalPages)}\n onMouseEnter={(e) => {\n if (page !== totalPages && !disabled) {\n e.currentTarget.style.backgroundColor = 'var(--brycks-background-muted)'\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'transparent'\n }}\n >\n <ChevronsRightIcon />\n </button>\n )}\n </nav>\n )\n})\n\nPagination.displayName = 'Pagination'\n"],"names":["sizeConfig","ChevronLeftIcon","jsx","ChevronRightIcon","ChevronsLeftIcon","ChevronsRightIcon","Pagination","forwardRef","page","totalPages","onChange","size","variant","siblingCount","showFirstLast","showPrevNext","disabled","className","style","testId","props","ref","config","pages","useMemo","range","leftSibling","rightSibling","showLeftEllipsis","showRightEllipsis","containerStyle","getButtonStyle","isActive","isDisabled","ellipsisStyle","infoStyle","handlePageChange","newPage","jsxs","cx","e","p","index"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),u=require("react"),m=require("../../../utils/styles.cjs"),j=u.createContext(null);function R(){const y=u.useContext(j);if(!y)throw new Error("Tabs components must be used within a Tabs");return y}const z=u.forwardRef(function({value:n,defaultValue:r="",onChange:s,size:d="md",variant:i="line",orientation:e="horizontal",className:o,style:p,children:g,testId:T,...w},k){const[f,t]=u.useState(r),v=n??f,S=u.useCallback(x=>{n===void 0&&t(x),s?.(x)},[n,s]),C={display:"flex",flexDirection:e==="vertical"?"row":"column",gap:e==="vertical"?24:0,...p};return c.jsx(j.Provider,{value:{value:v,onChange:S,size:d,variant:i,orientation:e},children:c.jsx("div",{ref:k,className:m.cx("brycks-tabs",`brycks-tabs--${i}`,`brycks-tabs--${e}`,o),style:C,"data-testid":T,...w,children:g})})});z.displayName="Tabs";const N=u.forwardRef(function({className:n,style:r,children:s,...d},i){const{orientation:e,variant:o}=R(),p={display:"flex",flexDirection:e==="vertical"?"column":"row",gap:o==="enclosed"||e==="vertical"?4:0,borderBottom:o==="line"&&e==="horizontal"?"1px solid var(--brycks-border-muted)":void 0,borderRight:o==="line"&&e==="vertical"?"1px solid var(--brycks-border-muted)":void 0,paddingRight:e==="vertical"?16:void 0,backgroundColor:o==="enclosed"?"var(--brycks-background-muted)":void 0,padding:o==="enclosed"?4:void 0,borderRadius:o==="enclosed"?"var(--brycks-radius-lg)":void 0,flexShrink:0,...r};return c.jsx("div",{ref:i,role:"tablist","aria-orientation":e,className:m.cx("brycks-tab-list",n),style:p,...d,children:s})});N.displayName="TabList";const I={sm:{fontSize:13,padding:"6px 12px",height:32},md:{fontSize:14,padding:"8px 16px",height:40},lg:{fontSize:16,padding:"10px 20px",height:48}},P=u.forwardRef(function({value:n,disabled:r=!1,icon:s,className:d,style:i,children:e,...o},p){const{value:g,onChange:T,size:w,variant:k,orientation:f}=R(),t=g===n,v=I[w],S=()=>{r||T(n)},C=a=>{if(r)return;const l=Array.from(a.currentTarget.parentElement?.querySelectorAll('[role="tab"]:not([disabled])')??[]),h=l.indexOf(a.currentTarget);let b=null;f==="horizontal"?(a.key==="ArrowRight"&&(b=(h+1)%l.length),a.key==="ArrowLeft"&&(b=(h-1+l.length)%l.length)):(a.key==="ArrowDown"&&(b=(h+1)%l.length),a.key==="ArrowUp"&&(b=(h-1+l.length)%l.length)),a.key==="Home"&&(b=0),a.key==="End"&&(b=l.length-1),b!==null&&(a.preventDefault(),l[b]?.focus(),l[b]?.click())},x=()=>{const a={display:"inline-flex",alignItems:"center",justifyContent:"center",gap:8,fontSize:v.fontSize,fontWeight:500,padding:v.padding,minHeight:v.height,cursor:r?"not-allowed":"pointer",opacity:r?.5:1,transition:"all 150ms ease-out",outline:"none",border:"none",backgroundColor:"transparent",whiteSpace:"nowrap"};return k==="line"?{...a,color:t?"var(--brycks-primary-default)":"var(--brycks-foreground-muted)",borderBottom:f==="horizontal"?`2px solid ${t?"var(--brycks-primary-default)":"transparent"}`:void 0,borderRight:f==="vertical"?`2px solid ${t?"var(--brycks-primary-default)":"transparent"}`:void 0,marginBottom:f==="horizontal"?-1:void 0,marginRight:f==="vertical"?-1:void 0}:k==="enclosed"?{...a,color:t?"var(--brycks-foreground-default)":"var(--brycks-foreground-muted)",backgroundColor:t?"var(--brycks-background-elevated)":"transparent",borderRadius:"var(--brycks-radius-md)",boxShadow:t?"var(--brycks-shadow-sm)":void 0}:{...a,color:t?"var(--brycks-primary-default)":"var(--brycks-foreground-muted)",backgroundColor:t?"var(--brycks-primary-50)":"transparent",borderRadius:"var(--brycks-radius-md)"}};return c.jsxs("button",{ref:p,role:"tab",type:"button","aria-selected":t,"aria-disabled":r,disabled:r,tabIndex:t?0:-1,className:m.cx("brycks-tab",t&&"brycks-tab--selected",d),style:{...x(),...i},onClick:S,onKeyDown:C,...o,children:[s&&c.jsx("span",{className:"brycks-tab-icon",children:s}),e]})});P.displayName="Tab";const A=u.forwardRef(function({className:n,style:r,children:s,...d},i){const e={flex:1,...r};return c.jsx("div",{ref:i,className:m.cx("brycks-tab-panels",n),style:e,...d,children:s})});A.displayName="TabPanels";const D=u.forwardRef(function({value:n,className:r,style:s,children:d,...i},e){const{value:o}=R();if(!(o===n))return null;const g={padding:"16px 0",animation:"brycks-tab-panel-in 200ms ease-out",...s};return c.jsxs(c.Fragment,{children:[c.jsx("style",{children:`
2
+ @keyframes brycks-tab-panel-in {
3
+ from { opacity: 0; }
4
+ to { opacity: 1; }
5
+ }
6
+ `}),c.jsx("div",{ref:e,role:"tabpanel",tabIndex:0,className:m.cx("brycks-tab-panel",r),style:g,...i,children:d})]})});D.displayName="TabPanel";exports.Tab=P;exports.TabList=N;exports.TabPanel=D;exports.TabPanels=A;exports.Tabs=z;
7
+ //# sourceMappingURL=Tabs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.cjs","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["/**\n * Tabs Component\n *\n * Accessible tab navigation with keyboard support.\n * Supports horizontal and vertical orientations.\n */\n\nimport {\n forwardRef,\n useState,\n useCallback,\n createContext,\n useContext,\n type CSSProperties,\n type ReactNode,\n type HTMLAttributes,\n type KeyboardEvent,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type TabsSize = 'sm' | 'md' | 'lg'\nexport type TabsVariant = 'line' | 'enclosed' | 'soft'\nexport type TabsOrientation = 'horizontal' | 'vertical'\n\ninterface TabsContextValue {\n value: string\n onChange: (value: string) => void\n size: TabsSize\n variant: TabsVariant\n orientation: TabsOrientation\n}\n\nconst TabsContext = createContext<TabsContextValue | null>(null)\n\nfunction useTabsContext() {\n const context = useContext(TabsContext)\n if (!context) {\n throw new Error('Tabs components must be used within a Tabs')\n }\n return context\n}\n\nexport interface TabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Currently selected tab value */\n value?: string\n /** Default value (uncontrolled) */\n defaultValue?: string\n /** Callback when tab changes */\n onChange?: (value: string) => void\n /** Tab size */\n size?: TabsSize\n /** Tab variant */\n variant?: TabsVariant\n /** Tab orientation */\n orientation?: TabsOrientation\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const Tabs = forwardRef<HTMLDivElement, TabsProps>(function Tabs(\n {\n value: controlledValue,\n defaultValue = '',\n onChange,\n size = 'md',\n variant = 'line',\n orientation = 'horizontal',\n className,\n style,\n children,\n testId,\n ...props\n },\n ref\n) {\n const [internalValue, setInternalValue] = useState(defaultValue)\n const value = controlledValue ?? internalValue\n\n const handleChange = useCallback(\n (newValue: string) => {\n if (controlledValue === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n [controlledValue, onChange]\n )\n\n const containerStyle: CSSProperties = {\n display: 'flex',\n flexDirection: orientation === 'vertical' ? 'row' : 'column',\n gap: orientation === 'vertical' ? 24 : 0,\n ...style,\n }\n\n return (\n <TabsContext.Provider value={{ value, onChange: handleChange, size, variant, orientation }}>\n <div\n ref={ref}\n className={cx('brycks-tabs', `brycks-tabs--${variant}`, `brycks-tabs--${orientation}`, className)}\n style={containerStyle}\n data-testid={testId}\n {...props}\n >\n {children}\n </div>\n </TabsContext.Provider>\n )\n})\n\nTabs.displayName = 'Tabs'\n\n// TabList\nexport interface TabListProps extends HTMLAttributes<HTMLDivElement> {\n /** Custom class name */\n className?: string\n}\n\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(function TabList(\n { className, style, children, ...props },\n ref\n) {\n const { orientation, variant } = useTabsContext()\n\n const listStyle: CSSProperties = {\n display: 'flex',\n flexDirection: orientation === 'vertical' ? 'column' : 'row',\n gap: variant === 'enclosed' ? 4 : orientation === 'vertical' ? 4 : 0,\n borderBottom: variant === 'line' && orientation === 'horizontal' ? '1px solid var(--brycks-border-muted)' : undefined,\n borderRight: variant === 'line' && orientation === 'vertical' ? '1px solid var(--brycks-border-muted)' : undefined,\n paddingRight: orientation === 'vertical' ? 16 : undefined,\n backgroundColor: variant === 'enclosed' ? 'var(--brycks-background-muted)' : undefined,\n padding: variant === 'enclosed' ? 4 : undefined,\n borderRadius: variant === 'enclosed' ? 'var(--brycks-radius-lg)' : undefined,\n flexShrink: 0,\n ...style,\n }\n\n return (\n <div\n ref={ref}\n role=\"tablist\"\n aria-orientation={orientation}\n className={cx('brycks-tab-list', className)}\n style={listStyle}\n {...props}\n >\n {children}\n </div>\n )\n})\n\nTabList.displayName = 'TabList'\n\n// Tab\nexport interface TabProps extends Omit<HTMLAttributes<HTMLButtonElement>, 'onClick'> {\n /** Tab value */\n value: string\n /** Whether the tab is disabled */\n disabled?: boolean\n /** Icon before the label */\n icon?: ReactNode\n /** Custom class name */\n className?: string\n}\n\nconst sizeConfig: Record<TabsSize, { fontSize: number; padding: string; height: number }> = {\n sm: { fontSize: 13, padding: '6px 12px', height: 32 },\n md: { fontSize: 14, padding: '8px 16px', height: 40 },\n lg: { fontSize: 16, padding: '10px 20px', height: 48 },\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(function Tab(\n { value: tabValue, disabled = false, icon, className, style, children, ...props },\n ref\n) {\n const { value, onChange, size, variant, orientation } = useTabsContext()\n const isSelected = value === tabValue\n const config = sizeConfig[size]\n\n const handleClick = () => {\n if (!disabled) {\n onChange(tabValue)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (disabled) return\n\n const tabs = Array.from(\n e.currentTarget.parentElement?.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]:not([disabled])') ?? []\n )\n const currentIndex = tabs.indexOf(e.currentTarget)\n\n let newIndex: number | null = null\n\n if (orientation === 'horizontal') {\n if (e.key === 'ArrowRight') newIndex = (currentIndex + 1) % tabs.length\n if (e.key === 'ArrowLeft') newIndex = (currentIndex - 1 + tabs.length) % tabs.length\n } else {\n if (e.key === 'ArrowDown') newIndex = (currentIndex + 1) % tabs.length\n if (e.key === 'ArrowUp') newIndex = (currentIndex - 1 + tabs.length) % tabs.length\n }\n\n if (e.key === 'Home') newIndex = 0\n if (e.key === 'End') newIndex = tabs.length - 1\n\n if (newIndex !== null) {\n e.preventDefault()\n tabs[newIndex]?.focus()\n tabs[newIndex]?.click()\n }\n }\n\n const getTabStyle = (): CSSProperties => {\n const base: CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 8,\n fontSize: config.fontSize,\n fontWeight: 500,\n padding: config.padding,\n minHeight: config.height,\n cursor: disabled ? 'not-allowed' : 'pointer',\n opacity: disabled ? 0.5 : 1,\n transition: 'all 150ms ease-out',\n outline: 'none',\n border: 'none',\n backgroundColor: 'transparent',\n whiteSpace: 'nowrap',\n }\n\n if (variant === 'line') {\n return {\n ...base,\n color: isSelected ? 'var(--brycks-primary-default)' : 'var(--brycks-foreground-muted)',\n borderBottom: orientation === 'horizontal' ? `2px solid ${isSelected ? 'var(--brycks-primary-default)' : 'transparent'}` : undefined,\n borderRight: orientation === 'vertical' ? `2px solid ${isSelected ? 'var(--brycks-primary-default)' : 'transparent'}` : undefined,\n marginBottom: orientation === 'horizontal' ? -1 : undefined,\n marginRight: orientation === 'vertical' ? -1 : undefined,\n }\n }\n\n if (variant === 'enclosed') {\n return {\n ...base,\n color: isSelected ? 'var(--brycks-foreground-default)' : 'var(--brycks-foreground-muted)',\n backgroundColor: isSelected ? 'var(--brycks-background-elevated)' : 'transparent',\n borderRadius: 'var(--brycks-radius-md)',\n boxShadow: isSelected ? 'var(--brycks-shadow-sm)' : undefined,\n }\n }\n\n // soft variant\n return {\n ...base,\n color: isSelected ? 'var(--brycks-primary-default)' : 'var(--brycks-foreground-muted)',\n backgroundColor: isSelected ? 'var(--brycks-primary-50)' : 'transparent',\n borderRadius: 'var(--brycks-radius-md)',\n }\n }\n\n return (\n <button\n ref={ref}\n role=\"tab\"\n type=\"button\"\n aria-selected={isSelected}\n aria-disabled={disabled}\n disabled={disabled}\n tabIndex={isSelected ? 0 : -1}\n className={cx('brycks-tab', isSelected && 'brycks-tab--selected', className)}\n style={{ ...getTabStyle(), ...style }}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {icon && <span className=\"brycks-tab-icon\">{icon}</span>}\n {children}\n </button>\n )\n})\n\nTab.displayName = 'Tab'\n\n// TabPanels\nexport interface TabPanelsProps extends HTMLAttributes<HTMLDivElement> {\n /** Custom class name */\n className?: string\n}\n\nexport const TabPanels = forwardRef<HTMLDivElement, TabPanelsProps>(function TabPanels(\n { className, style, children, ...props },\n ref\n) {\n const panelsStyle: CSSProperties = {\n flex: 1,\n ...style,\n }\n\n return (\n <div ref={ref} className={cx('brycks-tab-panels', className)} style={panelsStyle} {...props}>\n {children}\n </div>\n )\n})\n\nTabPanels.displayName = 'TabPanels'\n\n// TabPanel\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n /** Panel value (must match a Tab value) */\n value: string\n /** Custom class name */\n className?: string\n}\n\nexport const TabPanel = forwardRef<HTMLDivElement, TabPanelProps>(function TabPanel(\n { value: panelValue, className, style, children, ...props },\n ref\n) {\n const { value } = useTabsContext()\n const isSelected = value === panelValue\n\n if (!isSelected) return null\n\n const panelStyle: CSSProperties = {\n padding: '16px 0',\n animation: 'brycks-tab-panel-in 200ms ease-out',\n ...style,\n }\n\n return (\n <>\n <style>\n {`\n @keyframes brycks-tab-panel-in {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n `}\n </style>\n <div\n ref={ref}\n role=\"tabpanel\"\n tabIndex={0}\n className={cx('brycks-tab-panel', className)}\n style={panelStyle}\n {...props}\n >\n {children}\n </div>\n </>\n )\n})\n\nTabPanel.displayName = 'TabPanel'\n"],"names":["TabsContext","createContext","useTabsContext","context","useContext","Tabs","forwardRef","controlledValue","defaultValue","onChange","size","variant","orientation","className","style","children","testId","props","ref","internalValue","setInternalValue","useState","value","handleChange","useCallback","newValue","containerStyle","jsx","cx","TabList","listStyle","sizeConfig","Tab","tabValue","disabled","icon","isSelected","config","handleClick","handleKeyDown","e","tabs","currentIndex","newIndex","getTabStyle","base","jsxs","TabPanels","panelsStyle","TabPanel","panelValue","panelStyle","Fragment"],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ import { jsx as y, jsxs as N, Fragment as P } from "react/jsx-runtime";
2
+ import { forwardRef as g, useState as A, useCallback as D, createContext as I, useContext as L } from "react";
3
+ import { cx as v } from "../../../utils/styles.js";
4
+ const R = I(null);
5
+ function z() {
6
+ const b = L(R);
7
+ if (!b)
8
+ throw new Error("Tabs components must be used within a Tabs");
9
+ return b;
10
+ }
11
+ const $ = g(function({
12
+ value: n,
13
+ defaultValue: t = "",
14
+ onChange: i,
15
+ size: c = "md",
16
+ variant: s = "line",
17
+ orientation: e = "horizontal",
18
+ className: o,
19
+ style: p,
20
+ children: f,
21
+ testId: T,
22
+ ...w
23
+ }, k) {
24
+ const [u, r] = A(t), m = n ?? u, S = D(
25
+ (h) => {
26
+ n === void 0 && r(h), i?.(h);
27
+ },
28
+ [n, i]
29
+ ), C = {
30
+ display: "flex",
31
+ flexDirection: e === "vertical" ? "row" : "column",
32
+ gap: e === "vertical" ? 24 : 0,
33
+ ...p
34
+ };
35
+ return /* @__PURE__ */ y(R.Provider, { value: { value: m, onChange: S, size: c, variant: s, orientation: e }, children: /* @__PURE__ */ y(
36
+ "div",
37
+ {
38
+ ref: k,
39
+ className: v("brycks-tabs", `brycks-tabs--${s}`, `brycks-tabs--${e}`, o),
40
+ style: C,
41
+ "data-testid": T,
42
+ ...w,
43
+ children: f
44
+ }
45
+ ) });
46
+ });
47
+ $.displayName = "Tabs";
48
+ const j = g(function({ className: n, style: t, children: i, ...c }, s) {
49
+ const { orientation: e, variant: o } = z(), p = {
50
+ display: "flex",
51
+ flexDirection: e === "vertical" ? "column" : "row",
52
+ gap: o === "enclosed" || e === "vertical" ? 4 : 0,
53
+ borderBottom: o === "line" && e === "horizontal" ? "1px solid var(--brycks-border-muted)" : void 0,
54
+ borderRight: o === "line" && e === "vertical" ? "1px solid var(--brycks-border-muted)" : void 0,
55
+ paddingRight: e === "vertical" ? 16 : void 0,
56
+ backgroundColor: o === "enclosed" ? "var(--brycks-background-muted)" : void 0,
57
+ padding: o === "enclosed" ? 4 : void 0,
58
+ borderRadius: o === "enclosed" ? "var(--brycks-radius-lg)" : void 0,
59
+ flexShrink: 0,
60
+ ...t
61
+ };
62
+ return /* @__PURE__ */ y(
63
+ "div",
64
+ {
65
+ ref: s,
66
+ role: "tablist",
67
+ "aria-orientation": e,
68
+ className: v("brycks-tab-list", n),
69
+ style: p,
70
+ ...c,
71
+ children: i
72
+ }
73
+ );
74
+ });
75
+ j.displayName = "TabList";
76
+ const B = {
77
+ sm: { fontSize: 13, padding: "6px 12px", height: 32 },
78
+ md: { fontSize: 14, padding: "8px 16px", height: 40 },
79
+ lg: { fontSize: 16, padding: "10px 20px", height: 48 }
80
+ }, E = g(function({ value: n, disabled: t = !1, icon: i, className: c, style: s, children: e, ...o }, p) {
81
+ const { value: f, onChange: T, size: w, variant: k, orientation: u } = z(), r = f === n, m = B[w], S = () => {
82
+ t || T(n);
83
+ }, C = (a) => {
84
+ if (t) return;
85
+ const l = Array.from(
86
+ a.currentTarget.parentElement?.querySelectorAll('[role="tab"]:not([disabled])') ?? []
87
+ ), x = l.indexOf(a.currentTarget);
88
+ let d = null;
89
+ u === "horizontal" ? (a.key === "ArrowRight" && (d = (x + 1) % l.length), a.key === "ArrowLeft" && (d = (x - 1 + l.length) % l.length)) : (a.key === "ArrowDown" && (d = (x + 1) % l.length), a.key === "ArrowUp" && (d = (x - 1 + l.length) % l.length)), a.key === "Home" && (d = 0), a.key === "End" && (d = l.length - 1), d !== null && (a.preventDefault(), l[d]?.focus(), l[d]?.click());
90
+ }, h = () => {
91
+ const a = {
92
+ display: "inline-flex",
93
+ alignItems: "center",
94
+ justifyContent: "center",
95
+ gap: 8,
96
+ fontSize: m.fontSize,
97
+ fontWeight: 500,
98
+ padding: m.padding,
99
+ minHeight: m.height,
100
+ cursor: t ? "not-allowed" : "pointer",
101
+ opacity: t ? 0.5 : 1,
102
+ transition: "all 150ms ease-out",
103
+ outline: "none",
104
+ border: "none",
105
+ backgroundColor: "transparent",
106
+ whiteSpace: "nowrap"
107
+ };
108
+ return k === "line" ? {
109
+ ...a,
110
+ color: r ? "var(--brycks-primary-default)" : "var(--brycks-foreground-muted)",
111
+ borderBottom: u === "horizontal" ? `2px solid ${r ? "var(--brycks-primary-default)" : "transparent"}` : void 0,
112
+ borderRight: u === "vertical" ? `2px solid ${r ? "var(--brycks-primary-default)" : "transparent"}` : void 0,
113
+ marginBottom: u === "horizontal" ? -1 : void 0,
114
+ marginRight: u === "vertical" ? -1 : void 0
115
+ } : k === "enclosed" ? {
116
+ ...a,
117
+ color: r ? "var(--brycks-foreground-default)" : "var(--brycks-foreground-muted)",
118
+ backgroundColor: r ? "var(--brycks-background-elevated)" : "transparent",
119
+ borderRadius: "var(--brycks-radius-md)",
120
+ boxShadow: r ? "var(--brycks-shadow-sm)" : void 0
121
+ } : {
122
+ ...a,
123
+ color: r ? "var(--brycks-primary-default)" : "var(--brycks-foreground-muted)",
124
+ backgroundColor: r ? "var(--brycks-primary-50)" : "transparent",
125
+ borderRadius: "var(--brycks-radius-md)"
126
+ };
127
+ };
128
+ return /* @__PURE__ */ N(
129
+ "button",
130
+ {
131
+ ref: p,
132
+ role: "tab",
133
+ type: "button",
134
+ "aria-selected": r,
135
+ "aria-disabled": t,
136
+ disabled: t,
137
+ tabIndex: r ? 0 : -1,
138
+ className: v("brycks-tab", r && "brycks-tab--selected", c),
139
+ style: { ...h(), ...s },
140
+ onClick: S,
141
+ onKeyDown: C,
142
+ ...o,
143
+ children: [
144
+ i && /* @__PURE__ */ y("span", { className: "brycks-tab-icon", children: i }),
145
+ e
146
+ ]
147
+ }
148
+ );
149
+ });
150
+ E.displayName = "Tab";
151
+ const H = g(function({ className: n, style: t, children: i, ...c }, s) {
152
+ const e = {
153
+ flex: 1,
154
+ ...t
155
+ };
156
+ return /* @__PURE__ */ y("div", { ref: s, className: v("brycks-tab-panels", n), style: e, ...c, children: i });
157
+ });
158
+ H.displayName = "TabPanels";
159
+ const K = g(function({ value: n, className: t, style: i, children: c, ...s }, e) {
160
+ const { value: o } = z();
161
+ if (!(o === n)) return null;
162
+ const f = {
163
+ padding: "16px 0",
164
+ animation: "brycks-tab-panel-in 200ms ease-out",
165
+ ...i
166
+ };
167
+ return /* @__PURE__ */ N(P, { children: [
168
+ /* @__PURE__ */ y("style", { children: `
169
+ @keyframes brycks-tab-panel-in {
170
+ from { opacity: 0; }
171
+ to { opacity: 1; }
172
+ }
173
+ ` }),
174
+ /* @__PURE__ */ y(
175
+ "div",
176
+ {
177
+ ref: e,
178
+ role: "tabpanel",
179
+ tabIndex: 0,
180
+ className: v("brycks-tab-panel", t),
181
+ style: f,
182
+ ...s,
183
+ children: c
184
+ }
185
+ )
186
+ ] });
187
+ });
188
+ K.displayName = "TabPanel";
189
+ export {
190
+ E as Tab,
191
+ j as TabList,
192
+ K as TabPanel,
193
+ H as TabPanels,
194
+ $ as Tabs
195
+ };
196
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../src/components/navigation/Tabs/Tabs.tsx"],"sourcesContent":["/**\n * Tabs Component\n *\n * Accessible tab navigation with keyboard support.\n * Supports horizontal and vertical orientations.\n */\n\nimport {\n forwardRef,\n useState,\n useCallback,\n createContext,\n useContext,\n type CSSProperties,\n type ReactNode,\n type HTMLAttributes,\n type KeyboardEvent,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type TabsSize = 'sm' | 'md' | 'lg'\nexport type TabsVariant = 'line' | 'enclosed' | 'soft'\nexport type TabsOrientation = 'horizontal' | 'vertical'\n\ninterface TabsContextValue {\n value: string\n onChange: (value: string) => void\n size: TabsSize\n variant: TabsVariant\n orientation: TabsOrientation\n}\n\nconst TabsContext = createContext<TabsContextValue | null>(null)\n\nfunction useTabsContext() {\n const context = useContext(TabsContext)\n if (!context) {\n throw new Error('Tabs components must be used within a Tabs')\n }\n return context\n}\n\nexport interface TabsProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {\n /** Currently selected tab value */\n value?: string\n /** Default value (uncontrolled) */\n defaultValue?: string\n /** Callback when tab changes */\n onChange?: (value: string) => void\n /** Tab size */\n size?: TabsSize\n /** Tab variant */\n variant?: TabsVariant\n /** Tab orientation */\n orientation?: TabsOrientation\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const Tabs = forwardRef<HTMLDivElement, TabsProps>(function Tabs(\n {\n value: controlledValue,\n defaultValue = '',\n onChange,\n size = 'md',\n variant = 'line',\n orientation = 'horizontal',\n className,\n style,\n children,\n testId,\n ...props\n },\n ref\n) {\n const [internalValue, setInternalValue] = useState(defaultValue)\n const value = controlledValue ?? internalValue\n\n const handleChange = useCallback(\n (newValue: string) => {\n if (controlledValue === undefined) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n [controlledValue, onChange]\n )\n\n const containerStyle: CSSProperties = {\n display: 'flex',\n flexDirection: orientation === 'vertical' ? 'row' : 'column',\n gap: orientation === 'vertical' ? 24 : 0,\n ...style,\n }\n\n return (\n <TabsContext.Provider value={{ value, onChange: handleChange, size, variant, orientation }}>\n <div\n ref={ref}\n className={cx('brycks-tabs', `brycks-tabs--${variant}`, `brycks-tabs--${orientation}`, className)}\n style={containerStyle}\n data-testid={testId}\n {...props}\n >\n {children}\n </div>\n </TabsContext.Provider>\n )\n})\n\nTabs.displayName = 'Tabs'\n\n// TabList\nexport interface TabListProps extends HTMLAttributes<HTMLDivElement> {\n /** Custom class name */\n className?: string\n}\n\nexport const TabList = forwardRef<HTMLDivElement, TabListProps>(function TabList(\n { className, style, children, ...props },\n ref\n) {\n const { orientation, variant } = useTabsContext()\n\n const listStyle: CSSProperties = {\n display: 'flex',\n flexDirection: orientation === 'vertical' ? 'column' : 'row',\n gap: variant === 'enclosed' ? 4 : orientation === 'vertical' ? 4 : 0,\n borderBottom: variant === 'line' && orientation === 'horizontal' ? '1px solid var(--brycks-border-muted)' : undefined,\n borderRight: variant === 'line' && orientation === 'vertical' ? '1px solid var(--brycks-border-muted)' : undefined,\n paddingRight: orientation === 'vertical' ? 16 : undefined,\n backgroundColor: variant === 'enclosed' ? 'var(--brycks-background-muted)' : undefined,\n padding: variant === 'enclosed' ? 4 : undefined,\n borderRadius: variant === 'enclosed' ? 'var(--brycks-radius-lg)' : undefined,\n flexShrink: 0,\n ...style,\n }\n\n return (\n <div\n ref={ref}\n role=\"tablist\"\n aria-orientation={orientation}\n className={cx('brycks-tab-list', className)}\n style={listStyle}\n {...props}\n >\n {children}\n </div>\n )\n})\n\nTabList.displayName = 'TabList'\n\n// Tab\nexport interface TabProps extends Omit<HTMLAttributes<HTMLButtonElement>, 'onClick'> {\n /** Tab value */\n value: string\n /** Whether the tab is disabled */\n disabled?: boolean\n /** Icon before the label */\n icon?: ReactNode\n /** Custom class name */\n className?: string\n}\n\nconst sizeConfig: Record<TabsSize, { fontSize: number; padding: string; height: number }> = {\n sm: { fontSize: 13, padding: '6px 12px', height: 32 },\n md: { fontSize: 14, padding: '8px 16px', height: 40 },\n lg: { fontSize: 16, padding: '10px 20px', height: 48 },\n}\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(function Tab(\n { value: tabValue, disabled = false, icon, className, style, children, ...props },\n ref\n) {\n const { value, onChange, size, variant, orientation } = useTabsContext()\n const isSelected = value === tabValue\n const config = sizeConfig[size]\n\n const handleClick = () => {\n if (!disabled) {\n onChange(tabValue)\n }\n }\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n if (disabled) return\n\n const tabs = Array.from(\n e.currentTarget.parentElement?.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]:not([disabled])') ?? []\n )\n const currentIndex = tabs.indexOf(e.currentTarget)\n\n let newIndex: number | null = null\n\n if (orientation === 'horizontal') {\n if (e.key === 'ArrowRight') newIndex = (currentIndex + 1) % tabs.length\n if (e.key === 'ArrowLeft') newIndex = (currentIndex - 1 + tabs.length) % tabs.length\n } else {\n if (e.key === 'ArrowDown') newIndex = (currentIndex + 1) % tabs.length\n if (e.key === 'ArrowUp') newIndex = (currentIndex - 1 + tabs.length) % tabs.length\n }\n\n if (e.key === 'Home') newIndex = 0\n if (e.key === 'End') newIndex = tabs.length - 1\n\n if (newIndex !== null) {\n e.preventDefault()\n tabs[newIndex]?.focus()\n tabs[newIndex]?.click()\n }\n }\n\n const getTabStyle = (): CSSProperties => {\n const base: CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 8,\n fontSize: config.fontSize,\n fontWeight: 500,\n padding: config.padding,\n minHeight: config.height,\n cursor: disabled ? 'not-allowed' : 'pointer',\n opacity: disabled ? 0.5 : 1,\n transition: 'all 150ms ease-out',\n outline: 'none',\n border: 'none',\n backgroundColor: 'transparent',\n whiteSpace: 'nowrap',\n }\n\n if (variant === 'line') {\n return {\n ...base,\n color: isSelected ? 'var(--brycks-primary-default)' : 'var(--brycks-foreground-muted)',\n borderBottom: orientation === 'horizontal' ? `2px solid ${isSelected ? 'var(--brycks-primary-default)' : 'transparent'}` : undefined,\n borderRight: orientation === 'vertical' ? `2px solid ${isSelected ? 'var(--brycks-primary-default)' : 'transparent'}` : undefined,\n marginBottom: orientation === 'horizontal' ? -1 : undefined,\n marginRight: orientation === 'vertical' ? -1 : undefined,\n }\n }\n\n if (variant === 'enclosed') {\n return {\n ...base,\n color: isSelected ? 'var(--brycks-foreground-default)' : 'var(--brycks-foreground-muted)',\n backgroundColor: isSelected ? 'var(--brycks-background-elevated)' : 'transparent',\n borderRadius: 'var(--brycks-radius-md)',\n boxShadow: isSelected ? 'var(--brycks-shadow-sm)' : undefined,\n }\n }\n\n // soft variant\n return {\n ...base,\n color: isSelected ? 'var(--brycks-primary-default)' : 'var(--brycks-foreground-muted)',\n backgroundColor: isSelected ? 'var(--brycks-primary-50)' : 'transparent',\n borderRadius: 'var(--brycks-radius-md)',\n }\n }\n\n return (\n <button\n ref={ref}\n role=\"tab\"\n type=\"button\"\n aria-selected={isSelected}\n aria-disabled={disabled}\n disabled={disabled}\n tabIndex={isSelected ? 0 : -1}\n className={cx('brycks-tab', isSelected && 'brycks-tab--selected', className)}\n style={{ ...getTabStyle(), ...style }}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {icon && <span className=\"brycks-tab-icon\">{icon}</span>}\n {children}\n </button>\n )\n})\n\nTab.displayName = 'Tab'\n\n// TabPanels\nexport interface TabPanelsProps extends HTMLAttributes<HTMLDivElement> {\n /** Custom class name */\n className?: string\n}\n\nexport const TabPanels = forwardRef<HTMLDivElement, TabPanelsProps>(function TabPanels(\n { className, style, children, ...props },\n ref\n) {\n const panelsStyle: CSSProperties = {\n flex: 1,\n ...style,\n }\n\n return (\n <div ref={ref} className={cx('brycks-tab-panels', className)} style={panelsStyle} {...props}>\n {children}\n </div>\n )\n})\n\nTabPanels.displayName = 'TabPanels'\n\n// TabPanel\nexport interface TabPanelProps extends HTMLAttributes<HTMLDivElement> {\n /** Panel value (must match a Tab value) */\n value: string\n /** Custom class name */\n className?: string\n}\n\nexport const TabPanel = forwardRef<HTMLDivElement, TabPanelProps>(function TabPanel(\n { value: panelValue, className, style, children, ...props },\n ref\n) {\n const { value } = useTabsContext()\n const isSelected = value === panelValue\n\n if (!isSelected) return null\n\n const panelStyle: CSSProperties = {\n padding: '16px 0',\n animation: 'brycks-tab-panel-in 200ms ease-out',\n ...style,\n }\n\n return (\n <>\n <style>\n {`\n @keyframes brycks-tab-panel-in {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n `}\n </style>\n <div\n ref={ref}\n role=\"tabpanel\"\n tabIndex={0}\n className={cx('brycks-tab-panel', className)}\n style={panelStyle}\n {...props}\n >\n {children}\n </div>\n </>\n )\n})\n\nTabPanel.displayName = 'TabPanel'\n"],"names":["TabsContext","createContext","useTabsContext","context","useContext","Tabs","forwardRef","controlledValue","defaultValue","onChange","size","variant","orientation","className","style","children","testId","props","ref","internalValue","setInternalValue","useState","value","handleChange","useCallback","newValue","containerStyle","jsx","cx","TabList","listStyle","sizeConfig","Tab","tabValue","disabled","icon","isSelected","config","handleClick","handleKeyDown","e","tabs","currentIndex","newIndex","getTabStyle","base","jsxs","TabPanels","panelsStyle","TabPanel","panelValue","panelStyle","Fragment"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./navigation/Tabs/Tabs.cjs"),r=require("./navigation/Accordion/Accordion.cjs"),o=require("./navigation/Dropdown/Dropdown.cjs"),n=require("./navigation/Menu/Menu.cjs"),c=require("./navigation/Pagination/Pagination.cjs"),i=require("./navigation/Breadcrumb/Breadcrumb.cjs");exports.Tab=e.Tab;exports.TabList=e.TabList;exports.TabPanel=e.TabPanel;exports.TabPanels=e.TabPanels;exports.Tabs=e.Tabs;exports.Accordion=r.Accordion;exports.AccordionContent=r.AccordionContent;exports.AccordionItem=r.AccordionItem;exports.AccordionTrigger=r.AccordionTrigger;exports.Dropdown=o.Dropdown;exports.DropdownDivider=o.DropdownDivider;exports.DropdownItem=o.DropdownItem;exports.DropdownLabel=o.DropdownLabel;exports.Menu=n.Menu;exports.MenuDivider=n.MenuDivider;exports.MenuGroup=n.MenuGroup;exports.MenuItem=n.MenuItem;exports.Pagination=c.Pagination;exports.Breadcrumb=i.Breadcrumb;exports.BreadcrumbItem=i.BreadcrumbItem;
2
+ //# sourceMappingURL=navigation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './navigation/index'
2
+ export {}
@@ -0,0 +1,29 @@
1
+ import { Tab as e, TabList as n, TabPanel as t, TabPanels as a, Tabs as d } from "./navigation/Tabs/Tabs.js";
2
+ import { Accordion as m, AccordionContent as p, AccordionItem as c, AccordionTrigger as b } from "./navigation/Accordion/Accordion.js";
3
+ import { Dropdown as f, DropdownDivider as x, DropdownItem as D, DropdownLabel as T } from "./navigation/Dropdown/Dropdown.js";
4
+ import { Menu as A, MenuDivider as I, MenuGroup as M, MenuItem as g } from "./navigation/Menu/Menu.js";
5
+ import { Pagination as s } from "./navigation/Pagination/Pagination.js";
6
+ import { Breadcrumb as v, BreadcrumbItem as B } from "./navigation/Breadcrumb/Breadcrumb.js";
7
+ export {
8
+ m as Accordion,
9
+ p as AccordionContent,
10
+ c as AccordionItem,
11
+ b as AccordionTrigger,
12
+ v as Breadcrumb,
13
+ B as BreadcrumbItem,
14
+ f as Dropdown,
15
+ x as DropdownDivider,
16
+ D as DropdownItem,
17
+ T as DropdownLabel,
18
+ A as Menu,
19
+ I as MenuDivider,
20
+ M as MenuGroup,
21
+ g as MenuItem,
22
+ s as Pagination,
23
+ e as Tab,
24
+ n as TabList,
25
+ t as TabPanel,
26
+ a as TabPanels,
27
+ d as Tabs
28
+ };
29
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),u=require("react"),S=require("./Button.styles.cjs"),W=require("../../../utils/styles.cjs"),_=u.memo(function({size:s}){return t.jsxs("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"none",className:"brycks-animate-spin","aria-hidden":"true",children:[t.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"31.4 31.4",opacity:"0.25"}),t.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:"31.4 31.4",strokeDashoffset:"62.8",style:{transform:"rotate(-90deg)",transformOrigin:"center"}})]})}),A=({as:c,variant:s="solid",intent:b="primary",size:l="md",fullWidth:p,isLoading:e,isDisabled:v,leftIcon:h,rightIcon:f,isIconOnly:r,className:w,style:M,children:x,testId:g,onMouseEnter:z,onMouseLeave:C,onMouseDown:D,onMouseUp:N,...k},q)=>{const m=c||"button",[P,B]=u.useState(!1),[R,d]=u.useState(!1),o=v||e,a=S.getButtonStyles({variant:s,intent:b,size:l,fullWidth:p,isIconOnly:r}),$={...a.base,...P&&!o?a.hover:{},...R&&!o?a.active:{},...o?a.disabled:{},...e?a.loading:{},...M},i=S.sizeConfig[l],I=n=>{B(!0),z?.(n)},E=n=>{B(!1),d(!1),C?.(n)},H=n=>{d(!0),D?.(n)},U=n=>{d(!1),N?.(n)},T=W.cx("brycks-button",`brycks-button--${s}`,`brycks-button--${b}`,`brycks-button--${l}`,p&&"brycks-button--full-width",r&&"brycks-button--icon-only",e&&"brycks-button--loading",o&&"brycks-button--disabled",w),V=m==="button"||c===void 0?{type:k.type??"button",disabled:o}:{"aria-disabled":o||void 0,role:"button",tabIndex:o?-1:0};return t.jsxs(m,{ref:q,className:T,style:$,"data-testid":g,onMouseEnter:I,onMouseLeave:E,onMouseDown:H,onMouseUp:U,...V,...k,children:[e&&t.jsx("span",{style:{display:"inline-flex",position:r?"absolute":"relative"},children:t.jsx(_,{size:i.iconSize})}),!e&&h&&t.jsx("span",{style:{display:"inline-flex",width:i.iconSize,height:i.iconSize},children:h}),!r&&t.jsx("span",{style:{opacity:e&&!r?.5:1},children:x}),!e&&f&&t.jsx("span",{style:{display:"inline-flex",width:i.iconSize,height:i.iconSize},children:f}),r&&!e&&x]})},y=u.forwardRef(A);y.displayName="Button";const F=(c,s)=>t.jsx(y,{ref:s,isIconOnly:!0,...c}),j=u.forwardRef(F);j.displayName="IconButton";exports.Button=y;exports.IconButton=j;
2
+ //# sourceMappingURL=Button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.cjs","sources":["../../../../src/components/primitives/Button/Button.tsx"],"sourcesContent":["/**\r\n * Button Component\r\n *\r\n * A versatile, polymorphic button component with multiple variants,\r\n * sizes, and states. Designed with Apple-inspired aesthetics -\r\n * smooth transitions, tactile feedback, and refined visual details.\r\n */\r\n\r\nimport React, {\r\n forwardRef,\r\n useState,\r\n type ElementType,\r\n type ComponentPropsWithRef,\r\n type CSSProperties,\r\n} from 'react'\r\nimport type { ButtonProps } from './Button.types'\r\nimport { getButtonStyles, sizeConfig } from './Button.styles'\r\nimport { cx } from '../../../utils/styles'\r\n\r\ninterface ButtonComponent {\r\n <E extends ElementType = 'button'>(\r\n props: ButtonProps<E> & { ref?: ComponentPropsWithRef<E>['ref'] }\r\n ): React.JSX.Element | null\r\n displayName?: string\r\n}\r\n\r\n/** Loading spinner component - uses global CSS keyframes */\r\nconst LoadingSpinner = React.memo(function LoadingSpinner({ size }: { size: number }) {\r\n return (\r\n <svg\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n className=\"brycks-animate-spin\"\r\n aria-hidden=\"true\"\r\n >\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeDasharray=\"31.4 31.4\"\r\n opacity=\"0.25\"\r\n />\r\n <circle\r\n cx=\"12\"\r\n cy=\"12\"\r\n r=\"10\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeDasharray=\"31.4 31.4\"\r\n strokeDashoffset=\"62.8\"\r\n style={{ transform: 'rotate(-90deg)', transformOrigin: 'center' }}\r\n />\r\n </svg>\r\n )\r\n})\r\n\r\nconst ButtonInner = <E extends ElementType = 'button'>(\r\n {\r\n as,\r\n variant = 'solid',\r\n intent = 'primary',\r\n size = 'md',\r\n fullWidth,\r\n isLoading,\r\n isDisabled,\r\n leftIcon,\r\n rightIcon,\r\n isIconOnly,\r\n className,\r\n style,\r\n children,\r\n testId,\r\n onMouseEnter,\r\n onMouseLeave,\r\n onMouseDown,\r\n onMouseUp,\r\n ...props\r\n }: ButtonProps<E>,\r\n ref: React.ForwardedRef<Element>\r\n) => {\r\n const Component = (as || 'button') as ElementType\r\n const [isHovered, setIsHovered] = useState(false)\r\n const [isPressed, setIsPressed] = useState(false)\r\n\r\n const disabled = isDisabled || isLoading\r\n\r\n const styles = getButtonStyles({\r\n variant,\r\n intent,\r\n size,\r\n fullWidth,\r\n isIconOnly,\r\n isDisabled: disabled,\r\n isLoading,\r\n })\r\n\r\n // Build final style object\r\n const computedStyle: CSSProperties = {\r\n ...styles.base,\r\n ...(isHovered && !disabled ? styles.hover : {}),\r\n ...(isPressed && !disabled ? styles.active : {}),\r\n ...(disabled ? styles.disabled : {}),\r\n ...(isLoading ? styles.loading : {}),\r\n ...style,\r\n }\r\n\r\n const sizeValues = sizeConfig[size]\r\n\r\n const handleMouseEnter = (e: React.MouseEvent) => {\r\n setIsHovered(true)\r\n onMouseEnter?.(e as never)\r\n }\r\n\r\n const handleMouseLeave = (e: React.MouseEvent) => {\r\n setIsHovered(false)\r\n setIsPressed(false)\r\n onMouseLeave?.(e as never)\r\n }\r\n\r\n const handleMouseDown = (e: React.MouseEvent) => {\r\n setIsPressed(true)\r\n onMouseDown?.(e as never)\r\n }\r\n\r\n const handleMouseUp = (e: React.MouseEvent) => {\r\n setIsPressed(false)\r\n onMouseUp?.(e as never)\r\n }\r\n\r\n // Build class name\r\n const buttonClassName = cx(\r\n 'brycks-button',\r\n `brycks-button--${variant}`,\r\n `brycks-button--${intent}`,\r\n `brycks-button--${size}`,\r\n fullWidth && 'brycks-button--full-width',\r\n isIconOnly && 'brycks-button--icon-only',\r\n isLoading && 'brycks-button--loading',\r\n disabled && 'brycks-button--disabled',\r\n className\r\n )\r\n\r\n const isButton = Component === 'button' || as === undefined\r\n const buttonProps = isButton\r\n ? {\r\n type: (props as { type?: string }).type ?? 'button',\r\n disabled,\r\n }\r\n : {\r\n 'aria-disabled': disabled || undefined,\r\n role: 'button',\r\n tabIndex: disabled ? -1 : 0,\r\n }\r\n\r\n return (\r\n <Component\r\n ref={ref}\r\n className={buttonClassName}\r\n style={computedStyle}\r\n data-testid={testId}\r\n onMouseEnter={handleMouseEnter}\r\n onMouseLeave={handleMouseLeave}\r\n onMouseDown={handleMouseDown}\r\n onMouseUp={handleMouseUp}\r\n {...buttonProps}\r\n {...props}\r\n >\r\n {isLoading && (\r\n <span\r\n style={{\r\n display: 'inline-flex',\r\n position: isIconOnly ? 'absolute' : 'relative',\r\n }}\r\n >\r\n <LoadingSpinner size={sizeValues.iconSize} />\r\n </span>\r\n )}\r\n\r\n {!isLoading && leftIcon && (\r\n <span\r\n style={{\r\n display: 'inline-flex',\r\n width: sizeValues.iconSize,\r\n height: sizeValues.iconSize,\r\n }}\r\n >\r\n {leftIcon}\r\n </span>\r\n )}\r\n\r\n {!isIconOnly && (\r\n <span\r\n style={{\r\n opacity: isLoading && !isIconOnly ? 0.5 : 1,\r\n }}\r\n >\r\n {children}\r\n </span>\r\n )}\r\n\r\n {!isLoading && rightIcon && (\r\n <span\r\n style={{\r\n display: 'inline-flex',\r\n width: sizeValues.iconSize,\r\n height: sizeValues.iconSize,\r\n }}\r\n >\r\n {rightIcon}\r\n </span>\r\n )}\r\n\r\n {isIconOnly && !isLoading && children}\r\n </Component>\r\n )\r\n}\r\n\r\nexport const Button = forwardRef(ButtonInner) as ButtonComponent\r\n\r\nButton.displayName = 'Button'\r\n\r\n/** Icon button shorthand */\r\nconst IconButtonInner = <E extends ElementType = 'button'>(\r\n props: Omit<ButtonProps<E>, 'isIconOnly'>,\r\n ref: React.ForwardedRef<Element>\r\n) => {\r\n return <Button ref={ref as React.ForwardedRef<HTMLButtonElement>} isIconOnly {...(props as ButtonProps<'button'>)} />\r\n}\r\n\r\nexport const IconButton = forwardRef(IconButtonInner) as ButtonComponent\r\n\r\nIconButton.displayName = 'IconButton'\r\n"],"names":["LoadingSpinner","React","size","jsxs","jsx","ButtonInner","as","variant","intent","fullWidth","isLoading","isDisabled","leftIcon","rightIcon","isIconOnly","className","style","children","testId","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","props","ref","Component","isHovered","setIsHovered","useState","isPressed","setIsPressed","disabled","styles","getButtonStyles","computedStyle","sizeValues","sizeConfig","handleMouseEnter","e","handleMouseLeave","handleMouseDown","handleMouseUp","buttonClassName","cx","buttonProps","Button","forwardRef","IconButtonInner","IconButton"],"mappings":"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"}