@jordan-mace/chaser-design-system 1.2.7 → 1.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 (354) hide show
  1. package/dist/index.d.mts +1834 -0
  2. package/dist/index.mjs +4729 -0
  3. package/dist/styles/layers.css.d.mts +6 -0
  4. package/dist/styles/layers.css.mjs +7 -0
  5. package/dist/styles/reset.css.d.mts +1 -0
  6. package/dist/styles/reset.css.mjs +24 -0
  7. package/dist/styles/sprinkles.css.d.mts +246 -0
  8. package/dist/styles/sprinkles.css.mjs +200 -0
  9. package/dist/styles/theme.css.d.mts +41 -0
  10. package/dist/styles/theme.css.mjs +50 -0
  11. package/package.json +18 -9
  12. package/src/components/Accordion/Accordion.tsx +21 -16
  13. package/src/components/Alert/Alert.tsx +11 -7
  14. package/src/components/Avatar/Avatar.tsx +16 -14
  15. package/src/components/Badge/Badge.tsx +8 -6
  16. package/src/components/Box/reset.css.ts +2 -2
  17. package/src/components/Breadcrumb/Breadcrumb.tsx +7 -10
  18. package/src/components/Button/Button.tsx +9 -11
  19. package/src/components/Card/Card.tsx +8 -10
  20. package/src/components/Checkbox/Checkbox.tsx +11 -8
  21. package/src/components/Collapse/Collapse.tsx +12 -9
  22. package/src/components/Combobox/Combobox.tsx +60 -31
  23. package/src/components/Container/Container.tsx +4 -3
  24. package/src/components/Divider/Divider.tsx +9 -5
  25. package/src/components/Drawer/Drawer.tsx +20 -13
  26. package/src/components/DropdownMenu/DropdownMenu.tsx +37 -15
  27. package/src/components/EmptyState/EmptyState.tsx +9 -12
  28. package/src/components/FileUpload/FileUpload.tsx +61 -45
  29. package/src/components/Form/Form.tsx +6 -8
  30. package/src/components/Grid/Grid.tsx +18 -13
  31. package/src/components/Icon/Icon.tsx +7 -6
  32. package/src/components/Input/Input.tsx +7 -8
  33. package/src/components/Kbd/Kbd.tsx +5 -4
  34. package/src/components/List/List.tsx +6 -2
  35. package/src/components/List/ListItem.tsx +6 -2
  36. package/src/components/Modal/Modal.tsx +16 -5
  37. package/src/components/Navbar/Navbar.tsx +2 -1
  38. package/src/components/Navbar/NavbarItem.tsx +2 -1
  39. package/src/components/NumberInput/NumberInput.tsx +29 -22
  40. package/src/components/Pagination/Pagination.tsx +39 -28
  41. package/src/components/Popover/Popover.tsx +37 -21
  42. package/src/components/Progress/Progress.tsx +39 -38
  43. package/src/components/Radio/Radio.tsx +12 -6
  44. package/src/components/ScrollArea/ScrollArea.tsx +9 -10
  45. package/src/components/Select/Select.tsx +12 -7
  46. package/src/components/Separator/Separator.tsx +8 -14
  47. package/src/components/Skeleton/Skeleton.tsx +11 -13
  48. package/src/components/Spinner/Spinner.tsx +15 -11
  49. package/src/components/Stack/Stack.tsx +34 -15
  50. package/src/components/Stepper/Stepper.tsx +19 -17
  51. package/src/components/Table/Table.tsx +31 -21
  52. package/src/components/Tabs/Tabs.tsx +14 -10
  53. package/src/components/Tag/Tag.tsx +8 -7
  54. package/src/components/Text/Header.tsx +6 -5
  55. package/src/components/Text/P.tsx +5 -4
  56. package/src/components/TextArea/TextArea.tsx +7 -8
  57. package/src/components/Toggle/Toggle.tsx +16 -7
  58. package/src/components/Tooltip/Tooltip.tsx +16 -11
  59. package/src/components/VisuallyHidden/VisuallyHidden.tsx +7 -8
  60. package/src/index.ts +6 -1
  61. package/dist/components/Accordion/Accordion.d.ts +0 -16
  62. package/dist/components/Accordion/Accordion.js +0 -43
  63. package/dist/components/Accordion/index.d.ts +0 -1
  64. package/dist/components/Accordion/index.js +0 -1
  65. package/dist/components/Accordion/styles.css.d.ts +0 -7
  66. package/dist/components/Accordion/styles.css.js +0 -65
  67. package/dist/components/Alert/Alert.d.ts +0 -9
  68. package/dist/components/Alert/Alert.js +0 -8
  69. package/dist/components/Alert/index.d.ts +0 -1
  70. package/dist/components/Alert/index.js +0 -1
  71. package/dist/components/Alert/styles.css.d.ts +0 -4
  72. package/dist/components/Alert/styles.css.js +0 -54
  73. package/dist/components/AspectRatio/AspectRatio.d.ts +0 -9
  74. package/dist/components/AspectRatio/AspectRatio.js +0 -12
  75. package/dist/components/AspectRatio/index.d.ts +0 -2
  76. package/dist/components/AspectRatio/index.js +0 -1
  77. package/dist/components/Avatar/Avatar.d.ts +0 -11
  78. package/dist/components/Avatar/Avatar.js +0 -13
  79. package/dist/components/Avatar/index.d.ts +0 -1
  80. package/dist/components/Avatar/index.js +0 -1
  81. package/dist/components/Avatar/styles.css.d.ts +0 -4
  82. package/dist/components/Avatar/styles.css.js +0 -151
  83. package/dist/components/Badge/Badge.d.ts +0 -11
  84. package/dist/components/Badge/Badge.js +0 -8
  85. package/dist/components/Badge/index.d.ts +0 -2
  86. package/dist/components/Badge/index.js +0 -1
  87. package/dist/components/Badge/styles.css.d.ts +0 -5
  88. package/dist/components/Badge/styles.css.js +0 -77
  89. package/dist/components/Box/Box.d.ts +0 -11
  90. package/dist/components/Box/Box.js +0 -54
  91. package/dist/components/Box/index.d.ts +0 -2
  92. package/dist/components/Box/index.js +0 -1
  93. package/dist/components/Box/reset.css.d.ts +0 -1
  94. package/dist/components/Box/reset.css.js +0 -15
  95. package/dist/components/Breadcrumb/Breadcrumb.d.ts +0 -12
  96. package/dist/components/Breadcrumb/Breadcrumb.js +0 -8
  97. package/dist/components/Breadcrumb/index.d.ts +0 -1
  98. package/dist/components/Breadcrumb/index.js +0 -1
  99. package/dist/components/Breadcrumb/styles.css.d.ts +0 -6
  100. package/dist/components/Breadcrumb/styles.css.js +0 -50
  101. package/dist/components/Button/Button.d.ts +0 -9
  102. package/dist/components/Button/Button.js +0 -8
  103. package/dist/components/Button/index.d.ts +0 -1
  104. package/dist/components/Button/index.js +0 -1
  105. package/dist/components/Button/styles.css.d.ts +0 -2
  106. package/dist/components/Button/styles.css.js +0 -30
  107. package/dist/components/Card/Card.d.ts +0 -8
  108. package/dist/components/Card/Card.js +0 -8
  109. package/dist/components/Card/index.d.ts +0 -1
  110. package/dist/components/Card/index.js +0 -1
  111. package/dist/components/Card/styles.css.d.ts +0 -2
  112. package/dist/components/Card/styles.css.js +0 -25
  113. package/dist/components/Checkbox/Checkbox.d.ts +0 -6
  114. package/dist/components/Checkbox/Checkbox.js +0 -25
  115. package/dist/components/Checkbox/index.d.ts +0 -1
  116. package/dist/components/Checkbox/index.js +0 -1
  117. package/dist/components/Checkbox/styles.css.d.ts +0 -3
  118. package/dist/components/Checkbox/styles.css.js +0 -31
  119. package/dist/components/Collapse/Collapse.d.ts +0 -12
  120. package/dist/components/Collapse/Collapse.js +0 -56
  121. package/dist/components/Collapse/index.d.ts +0 -2
  122. package/dist/components/Collapse/index.js +0 -1
  123. package/dist/components/Collapse/styles.css.d.ts +0 -3
  124. package/dist/components/Collapse/styles.css.js +0 -36
  125. package/dist/components/Combobox/Combobox.d.ts +0 -23
  126. package/dist/components/Combobox/Combobox.js +0 -104
  127. package/dist/components/Combobox/index.d.ts +0 -2
  128. package/dist/components/Combobox/index.js +0 -1
  129. package/dist/components/Combobox/styles.css.d.ts +0 -13
  130. package/dist/components/Combobox/styles.css.js +0 -142
  131. package/dist/components/Container/Container.d.ts +0 -11
  132. package/dist/components/Container/Container.js +0 -21
  133. package/dist/components/Container/index.d.ts +0 -2
  134. package/dist/components/Container/index.js +0 -1
  135. package/dist/components/Divider/Divider.d.ts +0 -9
  136. package/dist/components/Divider/Divider.js +0 -8
  137. package/dist/components/Divider/index.d.ts +0 -2
  138. package/dist/components/Divider/index.js +0 -1
  139. package/dist/components/Divider/styles.css.d.ts +0 -4
  140. package/dist/components/Divider/styles.css.js +0 -41
  141. package/dist/components/Drawer/Drawer.d.ts +0 -16
  142. package/dist/components/Drawer/Drawer.js +0 -65
  143. package/dist/components/Drawer/index.d.ts +0 -2
  144. package/dist/components/Drawer/index.js +0 -1
  145. package/dist/components/Drawer/styles.css.d.ts +0 -8
  146. package/dist/components/Drawer/styles.css.js +0 -125
  147. package/dist/components/DropdownMenu/DropdownMenu.d.ts +0 -23
  148. package/dist/components/DropdownMenu/DropdownMenu.js +0 -43
  149. package/dist/components/DropdownMenu/index.d.ts +0 -2
  150. package/dist/components/DropdownMenu/index.js +0 -1
  151. package/dist/components/DropdownMenu/styles.css.d.ts +0 -9
  152. package/dist/components/DropdownMenu/styles.css.js +0 -93
  153. package/dist/components/EmptyState/EmptyState.d.ts +0 -10
  154. package/dist/components/EmptyState/EmptyState.js +0 -8
  155. package/dist/components/EmptyState/index.d.ts +0 -2
  156. package/dist/components/EmptyState/index.js +0 -1
  157. package/dist/components/EmptyState/styles.css.d.ts +0 -5
  158. package/dist/components/EmptyState/styles.css.js +0 -30
  159. package/dist/components/FileUpload/FileUpload.d.ts +0 -27
  160. package/dist/components/FileUpload/FileUpload.js +0 -102
  161. package/dist/components/FileUpload/index.d.ts +0 -2
  162. package/dist/components/FileUpload/index.js +0 -1
  163. package/dist/components/FileUpload/styles.css.d.ts +0 -19
  164. package/dist/components/FileUpload/styles.css.js +0 -145
  165. package/dist/components/Form/Form.d.ts +0 -7
  166. package/dist/components/Form/Form.js +0 -8
  167. package/dist/components/Form/FormInput.d.ts +0 -5
  168. package/dist/components/Form/FormInput.js +0 -9
  169. package/dist/components/Form/index.d.ts +0 -2
  170. package/dist/components/Form/index.js +0 -2
  171. package/dist/components/Form/styles.css.d.ts +0 -2
  172. package/dist/components/Form/styles.css.js +0 -11
  173. package/dist/components/Grid/Grid.d.ts +0 -13
  174. package/dist/components/Grid/Grid.js +0 -25
  175. package/dist/components/Grid/index.d.ts +0 -2
  176. package/dist/components/Grid/index.js +0 -1
  177. package/dist/components/Icon/Icon.d.ts +0 -12
  178. package/dist/components/Icon/Icon.js +0 -21
  179. package/dist/components/Icon/index.d.ts +0 -1
  180. package/dist/components/Icon/index.js +0 -1
  181. package/dist/components/Icon/styles.css.d.ts +0 -1
  182. package/dist/components/Icon/styles.css.js +0 -9
  183. package/dist/components/Input/Input.d.ts +0 -7
  184. package/dist/components/Input/Input.js +0 -9
  185. package/dist/components/Input/index.d.ts +0 -1
  186. package/dist/components/Input/index.js +0 -1
  187. package/dist/components/Input/styles.css.d.ts +0 -2
  188. package/dist/components/Input/styles.css.js +0 -8
  189. package/dist/components/Kbd/Kbd.d.ts +0 -7
  190. package/dist/components/Kbd/Kbd.js +0 -6
  191. package/dist/components/Kbd/index.d.ts +0 -2
  192. package/dist/components/Kbd/index.js +0 -1
  193. package/dist/components/Kbd/styles.css.d.ts +0 -1
  194. package/dist/components/Kbd/styles.css.js +0 -16
  195. package/dist/components/List/List.d.ts +0 -5
  196. package/dist/components/List/List.js +0 -7
  197. package/dist/components/List/ListItem.d.ts +0 -5
  198. package/dist/components/List/ListItem.js +0 -7
  199. package/dist/components/List/index.d.ts +0 -2
  200. package/dist/components/List/index.js +0 -2
  201. package/dist/components/List/styles.css.d.ts +0 -2
  202. package/dist/components/List/styles.css.js +0 -11
  203. package/dist/components/Modal/Modal.d.ts +0 -13
  204. package/dist/components/Modal/Modal.js +0 -35
  205. package/dist/components/Modal/index.d.ts +0 -2
  206. package/dist/components/Modal/index.js +0 -1
  207. package/dist/components/Modal/styles.css.d.ts +0 -7
  208. package/dist/components/Modal/styles.css.js +0 -92
  209. package/dist/components/Navbar/Navbar.d.ts +0 -6
  210. package/dist/components/Navbar/Navbar.js +0 -8
  211. package/dist/components/Navbar/NavbarItem.d.ts +0 -6
  212. package/dist/components/Navbar/NavbarItem.js +0 -8
  213. package/dist/components/Navbar/index.d.ts +0 -2
  214. package/dist/components/Navbar/index.js +0 -2
  215. package/dist/components/Navbar/styles.css.d.ts +0 -2
  216. package/dist/components/Navbar/styles.css.js +0 -3
  217. package/dist/components/NumberInput/NumberInput.d.ts +0 -20
  218. package/dist/components/NumberInput/NumberInput.js +0 -39
  219. package/dist/components/NumberInput/index.d.ts +0 -2
  220. package/dist/components/NumberInput/index.js +0 -1
  221. package/dist/components/NumberInput/styles.css.d.ts +0 -10
  222. package/dist/components/NumberInput/styles.css.js +0 -117
  223. package/dist/components/Pagination/Pagination.d.ts +0 -10
  224. package/dist/components/Pagination/Pagination.js +0 -47
  225. package/dist/components/Pagination/index.d.ts +0 -2
  226. package/dist/components/Pagination/index.js +0 -1
  227. package/dist/components/Pagination/styles.css.d.ts +0 -4
  228. package/dist/components/Pagination/styles.css.js +0 -44
  229. package/dist/components/Popover/Popover.d.ts +0 -18
  230. package/dist/components/Popover/Popover.js +0 -55
  231. package/dist/components/Popover/index.d.ts +0 -2
  232. package/dist/components/Popover/index.js +0 -1
  233. package/dist/components/Popover/styles.css.d.ts +0 -11
  234. package/dist/components/Popover/styles.css.js +0 -185
  235. package/dist/components/Progress/Progress.d.ts +0 -10
  236. package/dist/components/Progress/Progress.js +0 -9
  237. package/dist/components/Progress/index.d.ts +0 -1
  238. package/dist/components/Progress/index.js +0 -1
  239. package/dist/components/Progress/styles.css.d.ts +0 -4
  240. package/dist/components/Progress/styles.css.js +0 -71
  241. package/dist/components/Radio/Radio.d.ts +0 -16
  242. package/dist/components/Radio/Radio.js +0 -25
  243. package/dist/components/Radio/index.d.ts +0 -1
  244. package/dist/components/Radio/index.js +0 -1
  245. package/dist/components/Radio/styles.css.d.ts +0 -5
  246. package/dist/components/Radio/styles.css.js +0 -42
  247. package/dist/components/ScrollArea/ScrollArea.d.ts +0 -11
  248. package/dist/components/ScrollArea/ScrollArea.js +0 -12
  249. package/dist/components/ScrollArea/index.d.ts +0 -2
  250. package/dist/components/ScrollArea/index.js +0 -1
  251. package/dist/components/ScrollArea/styles.css.d.ts +0 -3
  252. package/dist/components/ScrollArea/styles.css.js +0 -25
  253. package/dist/components/Select/Select.d.ts +0 -13
  254. package/dist/components/Select/Select.js +0 -10
  255. package/dist/components/Select/index.d.ts +0 -1
  256. package/dist/components/Select/index.js +0 -1
  257. package/dist/components/Select/styles.css.d.ts +0 -4
  258. package/dist/components/Select/styles.css.js +0 -82
  259. package/dist/components/Separator/Separator.d.ts +0 -8
  260. package/dist/components/Separator/Separator.js +0 -8
  261. package/dist/components/Separator/index.d.ts +0 -2
  262. package/dist/components/Separator/index.js +0 -1
  263. package/dist/components/Separator/styles.css.d.ts +0 -4
  264. package/dist/components/Separator/styles.css.js +0 -28
  265. package/dist/components/Skeleton/Skeleton.d.ts +0 -14
  266. package/dist/components/Skeleton/Skeleton.js +0 -13
  267. package/dist/components/Skeleton/index.d.ts +0 -2
  268. package/dist/components/Skeleton/index.js +0 -1
  269. package/dist/components/Skeleton/styles.css.d.ts +0 -4
  270. package/dist/components/Skeleton/styles.css.js +0 -56
  271. package/dist/components/Spinner/Spinner.d.ts +0 -10
  272. package/dist/components/Spinner/Spinner.js +0 -8
  273. package/dist/components/Spinner/index.d.ts +0 -2
  274. package/dist/components/Spinner/index.js +0 -1
  275. package/dist/components/Spinner/styles.css.d.ts +0 -4
  276. package/dist/components/Spinner/styles.css.js +0 -55
  277. package/dist/components/Stack/Stack.d.ts +0 -16
  278. package/dist/components/Stack/Stack.js +0 -24
  279. package/dist/components/Stack/index.d.ts +0 -2
  280. package/dist/components/Stack/index.js +0 -1
  281. package/dist/components/Stepper/Stepper.d.ts +0 -18
  282. package/dist/components/Stepper/Stepper.js +0 -25
  283. package/dist/components/Stepper/index.d.ts +0 -2
  284. package/dist/components/Stepper/index.js +0 -1
  285. package/dist/components/Stepper/styles.css.d.ts +0 -14
  286. package/dist/components/Stepper/styles.css.js +0 -104
  287. package/dist/components/Table/Table.d.ts +0 -42
  288. package/dist/components/Table/Table.js +0 -39
  289. package/dist/components/Table/index.d.ts +0 -1
  290. package/dist/components/Table/index.js +0 -1
  291. package/dist/components/Table/styles.css.d.ts +0 -8
  292. package/dist/components/Table/styles.css.js +0 -49
  293. package/dist/components/Tabs/Tabs.d.ts +0 -29
  294. package/dist/components/Tabs/Tabs.js +0 -52
  295. package/dist/components/Tabs/index.d.ts +0 -1
  296. package/dist/components/Tabs/index.js +0 -1
  297. package/dist/components/Tabs/styles.css.d.ts +0 -6
  298. package/dist/components/Tabs/styles.css.js +0 -100
  299. package/dist/components/Tag/Tag.d.ts +0 -16
  300. package/dist/components/Tag/Tag.js +0 -18
  301. package/dist/components/Tag/index.d.ts +0 -1
  302. package/dist/components/Tag/index.js +0 -1
  303. package/dist/components/Tag/styles.css.d.ts +0 -3
  304. package/dist/components/Tag/styles.css.js +0 -93
  305. package/dist/components/Text/Header.d.ts +0 -8
  306. package/dist/components/Text/Header.js +0 -8
  307. package/dist/components/Text/P.d.ts +0 -7
  308. package/dist/components/Text/P.js +0 -8
  309. package/dist/components/Text/index.d.ts +0 -2
  310. package/dist/components/Text/index.js +0 -2
  311. package/dist/components/Text/styles.css.d.ts +0 -2
  312. package/dist/components/Text/styles.css.js +0 -13
  313. package/dist/components/TextArea/TextArea.d.ts +0 -7
  314. package/dist/components/TextArea/TextArea.js +0 -9
  315. package/dist/components/TextArea/index.d.ts +0 -2
  316. package/dist/components/TextArea/index.js +0 -1
  317. package/dist/components/TextArea/styles.css.d.ts +0 -2
  318. package/dist/components/TextArea/styles.css.js +0 -10
  319. package/dist/components/Toast/Toast.d.ts +0 -34
  320. package/dist/components/Toast/Toast.js +0 -177
  321. package/dist/components/Toast/index.d.ts +0 -1
  322. package/dist/components/Toast/index.js +0 -1
  323. package/dist/components/Toast/styles.css.d.ts +0 -21
  324. package/dist/components/Toast/styles.css.js +0 -192
  325. package/dist/components/Toggle/Toggle.d.ts +0 -10
  326. package/dist/components/Toggle/Toggle.js +0 -17
  327. package/dist/components/Toggle/index.d.ts +0 -2
  328. package/dist/components/Toggle/index.js +0 -1
  329. package/dist/components/Toggle/styles.css.d.ts +0 -12
  330. package/dist/components/Toggle/styles.css.js +0 -118
  331. package/dist/components/Tooltip/Tooltip.d.ts +0 -10
  332. package/dist/components/Tooltip/Tooltip.js +0 -16
  333. package/dist/components/Tooltip/index.d.ts +0 -2
  334. package/dist/components/Tooltip/index.js +0 -1
  335. package/dist/components/Tooltip/styles.css.d.ts +0 -8
  336. package/dist/components/Tooltip/styles.css.js +0 -86
  337. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +0 -8
  338. package/dist/components/VisuallyHidden/VisuallyHidden.js +0 -9
  339. package/dist/components/VisuallyHidden/index.d.ts +0 -2
  340. package/dist/components/VisuallyHidden/index.js +0 -1
  341. package/dist/components/VisuallyHidden/styles.css.d.ts +0 -1
  342. package/dist/components/VisuallyHidden/styles.css.js +0 -12
  343. package/dist/components/index.d.ts +0 -68
  344. package/dist/components/index.js +0 -47
  345. package/dist/index.d.ts +0 -1
  346. package/dist/index.js +0 -1
  347. package/dist/styles/layers.css.d.ts +0 -3
  348. package/dist/styles/layers.css.js +0 -3
  349. package/dist/styles/sprinkles.css.d.ts +0 -241
  350. package/dist/styles/sprinkles.css.js +0 -165
  351. package/dist/styles/theme.css.d.ts +0 -38
  352. package/dist/styles/theme.css.js +0 -51
  353. package/dist/styles/utils.d.ts +0 -2
  354. package/dist/styles/utils.js +0 -7
@@ -11,10 +11,25 @@ import {
11
11
  drawerFooter,
12
12
  } from './styles.css';
13
13
  import Box from '../Box';
14
+ import { Sprinkles } from '../../styles/sprinkles.css';
14
15
 
15
16
  export type DrawerPosition = 'left' | 'right' | 'top' | 'bottom';
16
17
  export type DrawerSize = 'small' | 'medium' | 'large' | 'full';
17
18
 
19
+ type DrawerPropsBase = React.HTMLAttributes<HTMLDivElement> & {
20
+ isOpen: boolean;
21
+ onClose: () => void;
22
+ title?: string;
23
+ position?: DrawerPosition;
24
+ size?: DrawerSize;
25
+ children?: React.ReactNode;
26
+ footer?: React.ReactNode;
27
+ showCloseButton?: boolean;
28
+ closeOnOverlayClick?: boolean;
29
+ };
30
+
31
+ export type DrawerProps = DrawerPropsBase & Sprinkles;
32
+
18
33
  const sizeMap: Record<DrawerPosition, Record<DrawerSize, string>> = {
19
34
  left: {
20
35
  small: '250px',
@@ -42,18 +57,6 @@ const sizeMap: Record<DrawerPosition, Record<DrawerSize, string>> = {
42
57
  },
43
58
  };
44
59
 
45
- export interface DrawerProps extends React.HTMLAttributes<HTMLDivElement> {
46
- isOpen: boolean;
47
- onClose: () => void;
48
- title?: string;
49
- position?: DrawerPosition;
50
- size?: DrawerSize;
51
- children?: React.ReactNode;
52
- footer?: React.ReactNode;
53
- showCloseButton?: boolean;
54
- closeOnOverlayClick?: boolean;
55
- }
56
-
57
60
  const Drawer = ({
58
61
  isOpen,
59
62
  onClose,
@@ -139,7 +142,11 @@ const Drawer = ({
139
142
  {children}
140
143
  </Box>
141
144
 
142
- {footer && <Box as="div" className={drawerFooter}>{footer}</Box>}
145
+ {footer && (
146
+ <Box as="div" className={drawerFooter}>
147
+ {footer}
148
+ </Box>
149
+ )}
143
150
  </Box>
144
151
  </>
145
152
  );
@@ -12,8 +12,13 @@ import {
12
12
  dropdownMenuLabel,
13
13
  } from './styles.css';
14
14
  import Box from '../Box';
15
+ import { Sprinkles } from '../../styles/sprinkles.css';
15
16
 
16
- export type DropdownMenuPosition = 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
17
+ export type DropdownMenuPosition =
18
+ | 'bottomLeft'
19
+ | 'bottomRight'
20
+ | 'topLeft'
21
+ | 'topRight';
17
22
  export type DropdownMenuItemVariant = 'default' | 'destructive' | 'disabled';
18
23
 
19
24
  export interface DropdownMenuItemProps {
@@ -29,13 +34,14 @@ export interface DropdownMenuGroupProps {
29
34
  items: DropdownMenuItemProps[];
30
35
  }
31
36
 
32
- export interface DropdownMenuProps extends React.HTMLAttributes<HTMLDivElement> {
33
- trigger: React.ReactNode;
34
- items?: DropdownMenuItemProps[];
35
- groups?: DropdownMenuGroupProps[];
36
- position?: DropdownMenuPosition;
37
- closeOnItemClick?: boolean;
38
- }
37
+ export type DropdownMenuProps = React.HTMLAttributes<HTMLDivElement> &
38
+ Sprinkles & {
39
+ trigger: React.ReactNode;
40
+ items?: DropdownMenuItemProps[];
41
+ groups?: DropdownMenuGroupProps[];
42
+ position?: DropdownMenuPosition;
43
+ closeOnItemClick?: boolean;
44
+ };
39
45
 
40
46
  const DropdownMenu = ({
41
47
  trigger,
@@ -51,7 +57,10 @@ const DropdownMenu = ({
51
57
 
52
58
  useEffect(() => {
53
59
  const handleClickOutside = (event: MouseEvent) => {
54
- if (containerRef.current && !containerRef.current.contains(event.target as Node)) {
60
+ if (
61
+ containerRef.current &&
62
+ !containerRef.current.contains(event.target as Node)
63
+ ) {
55
64
  setIsOpen(false);
56
65
  }
57
66
  };
@@ -78,7 +87,7 @@ const DropdownMenu = ({
78
87
 
79
88
  const handleItemClick = (item: DropdownMenuItemProps) => {
80
89
  if (item.disabled || item.variant === 'disabled') return;
81
-
90
+
82
91
  item.onClick?.();
83
92
  if (closeOnItemClick) {
84
93
  setIsOpen(false);
@@ -91,7 +100,11 @@ const DropdownMenu = ({
91
100
  as="button"
92
101
  className={clsx(
93
102
  dropdownMenuItem,
94
- dropdownMenuItemVariants[item.disabled || item.variant === 'disabled' ? 'disabled' : item.variant || 'default'],
103
+ dropdownMenuItemVariants[
104
+ item.disabled || item.variant === 'disabled'
105
+ ? 'disabled'
106
+ : item.variant || 'default'
107
+ ],
95
108
  )}
96
109
  onClick={() => handleItemClick(item)}
97
110
  disabled={item.disabled || item.variant === 'disabled'}
@@ -128,10 +141,13 @@ const DropdownMenu = ({
128
141
  >
129
142
  {trigger}
130
143
  </Box>
131
-
144
+
132
145
  {isOpen && (
133
146
  <Box
134
- className={clsx(dropdownMenuContent, dropdownMenuPositionVariants[position])}
147
+ className={clsx(
148
+ dropdownMenuContent,
149
+ dropdownMenuPositionVariants[position],
150
+ )}
135
151
  role="menu"
136
152
  aria-orientation="vertical"
137
153
  >
@@ -140,10 +156,16 @@ const DropdownMenu = ({
140
156
  {items.map((item, index) => renderItem(item, index))}
141
157
  </Box>
142
158
  )}
143
-
159
+
144
160
  {groups.map((group, index) => (
145
161
  <React.Fragment key={index}>
146
- {index > 0 && <Box as="div" className={dropdownMenuSeparator} role="separator" />}
162
+ {index > 0 && (
163
+ <Box
164
+ as="div"
165
+ className={dropdownMenuSeparator}
166
+ role="separator"
167
+ />
168
+ )}
147
169
  {renderGroup(group, index)}
148
170
  </React.Fragment>
149
171
  ))}
@@ -8,14 +8,15 @@ import {
8
8
  emptyStateAction,
9
9
  } from './styles.css';
10
10
  import Box from '../Box';
11
+ import { Sprinkles } from '../../styles/sprinkles.css';
11
12
 
12
- export interface EmptyStateProps {
13
- icon?: React.ReactNode;
14
- title?: string;
15
- description?: string;
16
- action?: React.ReactNode;
17
- className?: string;
18
- }
13
+ export type EmptyStateProps = React.HTMLAttributes<HTMLDivElement> &
14
+ Sprinkles & {
15
+ icon?: React.ReactNode;
16
+ title?: string;
17
+ description?: string;
18
+ action?: React.ReactNode;
19
+ };
19
20
 
20
21
  const EmptyState = ({
21
22
  icon,
@@ -41,11 +42,7 @@ const EmptyState = ({
41
42
  {description}
42
43
  </Box>
43
44
  )}
44
- {action && (
45
- <Box className={emptyStateAction}>
46
- {action}
47
- </Box>
48
- )}
45
+ {action && <Box className={emptyStateAction}>{action}</Box>}
49
46
  </Box>
50
47
  );
51
48
  };
@@ -21,6 +21,7 @@ import {
21
21
  fileUploadProgressFillVariants,
22
22
  } from './styles.css';
23
23
  import Box from '../Box';
24
+ import { Sprinkles } from '../../styles/sprinkles.css';
24
25
 
25
26
  export interface FileUploadFile {
26
27
  id: string;
@@ -32,21 +33,22 @@ export interface FileUploadFile {
32
33
  errorMessage?: string;
33
34
  }
34
35
 
35
- export interface FileUploadProps extends React.HTMLAttributes<HTMLDivElement> {
36
- label?: string;
37
- files?: FileUploadFile[];
38
- onFilesChange?: (files: FileUploadFile[]) => void;
39
- onFileAdd?: (files: File[]) => void;
40
- onFileRemove?: (fileId: string) => void;
41
- accept?: string;
42
- multiple?: boolean;
43
- maxFileSize?: number;
44
- maxFiles?: number;
45
- disabled?: boolean;
46
- dropzoneText?: string;
47
- hint?: string;
48
- showProgress?: boolean;
49
- }
36
+ export type FileUploadProps = React.HTMLAttributes<HTMLDivElement> &
37
+ Sprinkles & {
38
+ label?: string;
39
+ files?: FileUploadFile[];
40
+ onFilesChange?: (files: FileUploadFile[]) => void;
41
+ onFileAdd?: (files: File[]) => void;
42
+ onFileRemove?: (fileId: string) => void;
43
+ accept?: string;
44
+ multiple?: boolean;
45
+ maxFileSize?: number;
46
+ maxFiles?: number;
47
+ disabled?: boolean;
48
+ dropzoneText?: string;
49
+ hint?: string;
50
+ showProgress?: boolean;
51
+ };
50
52
 
51
53
  const formatFileSize = (bytes: number): string => {
52
54
  if (bytes === 0) return '0 Bytes';
@@ -82,8 +84,8 @@ const FileUpload = ({
82
84
  return `File size exceeds ${formatFileSize(maxFileSize)}`;
83
85
  }
84
86
  if (accept) {
85
- const acceptedTypes = accept.split(',').map(type => type.trim());
86
- const isAccepted = acceptedTypes.some(type => {
87
+ const acceptedTypes = accept.split(',').map((type) => type.trim());
88
+ const isAccepted = acceptedTypes.some((type) => {
87
89
  if (type.includes('*')) {
88
90
  return file.type.startsWith(type.replace('/*', ''));
89
91
  }
@@ -96,36 +98,39 @@ const FileUpload = ({
96
98
  return null;
97
99
  };
98
100
 
99
- const handleFiles = useCallback((fileList: FileList | null) => {
100
- if (!fileList || disabled) return;
101
+ const handleFiles = useCallback(
102
+ (fileList: FileList | null) => {
103
+ if (!fileList || disabled) return;
101
104
 
102
- const newFiles: File[] = [];
103
- const errors: string[] = [];
105
+ const newFiles: File[] = [];
106
+ const errors: string[] = [];
104
107
 
105
- Array.from(fileList).forEach(file => {
106
- const validationError = validateFile(file);
107
- if (validationError) {
108
- errors.push(`${file.name}: ${validationError}`);
109
- } else {
110
- newFiles.push(file);
111
- }
112
- });
108
+ Array.from(fileList).forEach((file) => {
109
+ const validationError = validateFile(file);
110
+ if (validationError) {
111
+ errors.push(`${file.name}: ${validationError}`);
112
+ } else {
113
+ newFiles.push(file);
114
+ }
115
+ });
113
116
 
114
- if (maxFiles && files.length + newFiles.length > maxFiles) {
115
- errors.push(`Maximum ${maxFiles} files allowed`);
116
- newFiles.splice(maxFiles - files.length);
117
- }
117
+ if (maxFiles && files.length + newFiles.length > maxFiles) {
118
+ errors.push(`Maximum ${maxFiles} files allowed`);
119
+ newFiles.splice(maxFiles - files.length);
120
+ }
118
121
 
119
- if (errors.length > 0) {
120
- setError(errors.join(', '));
121
- } else {
122
- setError(null);
123
- }
122
+ if (errors.length > 0) {
123
+ setError(errors.join(', '));
124
+ } else {
125
+ setError(null);
126
+ }
124
127
 
125
- if (newFiles.length > 0) {
126
- onFileAdd?.(newFiles);
127
- }
128
- }, [disabled, files.length, maxFileSize, maxFiles, accept, onFileAdd]);
128
+ if (newFiles.length > 0) {
129
+ onFileAdd?.(newFiles);
130
+ }
131
+ },
132
+ [disabled, files.length, maxFileSize, maxFiles, accept, onFileAdd],
133
+ );
129
134
 
130
135
  const handleDragOver = (e: React.DragEvent) => {
131
136
  e.preventDefault();
@@ -190,7 +195,14 @@ const FileUpload = ({
190
195
  aria-disabled={disabled}
191
196
  >
192
197
  <Box className={fileUploadIcon} aria-hidden="true">
193
- <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2">
198
+ <svg
199
+ width="48"
200
+ height="48"
201
+ viewBox="0 0 24 24"
202
+ fill="none"
203
+ stroke="currentColor"
204
+ strokeWidth="2"
205
+ >
194
206
  <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
195
207
  <polyline points="17,8 12,3 7,8" />
196
208
  <line x1="12" y1="3" x2="12" y2="15" />
@@ -233,9 +245,13 @@ const FileUpload = ({
233
245
  </Box>
234
246
  <Box as="p" className={fileUploadItemSize}>
235
247
  {formatFileSize(file.size)}
236
- {file.status === 'uploading' && showProgress && ' • Uploading...'}
248
+ {file.status === 'uploading' &&
249
+ showProgress &&
250
+ ' • Uploading...'}
237
251
  {file.status === 'success' && ' • Complete'}
238
- {file.status === 'error' && file.errorMessage && ` • ${file.errorMessage}`}
252
+ {file.status === 'error' &&
253
+ file.errorMessage &&
254
+ ` • ${file.errorMessage}`}
239
255
  </Box>
240
256
  {showProgress && file.status === 'uploading' && (
241
257
  <Box className={fileUploadProgressBar}>
@@ -2,11 +2,12 @@ import clsx from 'clsx';
2
2
  import React from 'react';
3
3
  import { formStyle } from './styles.css';
4
4
  import Box from '../Box';
5
+ import { Sprinkles } from '../../styles/sprinkles.css';
5
6
 
6
- type FormProps = React.FormHTMLAttributes<HTMLFormElement> & {
7
- className?: string;
8
- children?: React.ReactNode;
9
- };
7
+ type FormProps = React.FormHTMLAttributes<HTMLFormElement> &
8
+ Sprinkles & {
9
+ children?: React.ReactNode;
10
+ };
10
11
 
11
12
  const Form = (props: FormProps) => {
12
13
  return (
@@ -14,10 +15,7 @@ const Form = (props: FormProps) => {
14
15
  as="form"
15
16
  gap="medium"
16
17
  paddingX="large"
17
- className={clsx(
18
- formStyle,
19
- props.className,
20
- )}
18
+ className={clsx(formStyle, props.className)}
21
19
  {...props}
22
20
  >
23
21
  {props.children}
@@ -1,17 +1,17 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import Box from '../Box';
3
+ import { Sprinkles } from '../../styles/sprinkles.css';
3
4
 
4
5
  export type GridColumns = 1 | 2 | 3 | 4 | 5 | 6 | 12;
5
6
  export type GridGap = 'none' | 'small' | 'medium' | 'large';
6
7
 
7
- export interface GridProps {
8
- columns?: GridColumns;
9
- gap?: GridGap;
10
- minChildWidth?: string;
11
- children?: React.ReactNode;
12
- className?: string;
13
- style?: React.CSSProperties;
14
- }
8
+ export type GridProps = React.HTMLAttributes<HTMLDivElement> &
9
+ Sprinkles & {
10
+ columns?: GridColumns;
11
+ gap?: GridGap;
12
+ minChildWidth?: string;
13
+ children?: React.ReactNode;
14
+ };
15
15
 
16
16
  const gapMap: Record<GridGap, string> = {
17
17
  none: '0',
@@ -21,7 +21,7 @@ const gapMap: Record<GridGap, string> = {
21
21
  };
22
22
 
23
23
  const Grid = forwardRef<HTMLElement, GridProps>(
24
- ({ columns, gap = 'medium', minChildWidth, children, className, style }, ref) => {
24
+ ({ columns, gap = 'medium', minChildWidth, children, ...props }, ref) => {
25
25
  const gapValue: GridGap = gap;
26
26
 
27
27
  const gridStyle: React.CSSProperties = {
@@ -30,17 +30,22 @@ const Grid = forwardRef<HTMLElement, GridProps>(
30
30
  };
31
31
 
32
32
  if (minChildWidth) {
33
- gridStyle.gridTemplateColumns = `repeat(auto-fit, minmax(${minChildWidth}, 1fr))`;
33
+ gridStyle.gridTemplateColumns = `repeat(auto-fit, minmax(${minChildWidth},1fr))`;
34
34
  } else if (columns) {
35
- gridStyle.gridTemplateColumns = `repeat(${columns}, 1fr)`;
35
+ gridStyle.gridTemplateColumns = `repeat(${columns},1fr)`;
36
36
  }
37
37
 
38
38
  return (
39
- <Box ref={ref} className={className} style={{ ...gridStyle, ...style }}>
39
+ <Box
40
+ ref={ref}
41
+ className={props.className}
42
+ style={{ ...gridStyle, ...props.style }}
43
+ {...props}
44
+ >
40
45
  {children}
41
46
  </Box>
42
47
  );
43
- }
48
+ },
44
49
  );
45
50
 
46
51
  Grid.displayName = 'Grid';
@@ -2,13 +2,14 @@ import clsx from 'clsx';
2
2
  import React from 'react';
3
3
  import { icon } from './styles.css';
4
4
  import Box from '../Box';
5
+ import { Sprinkles } from '../../styles/sprinkles.css';
5
6
 
6
- type IconProps = {
7
- name?: string;
8
- children?: React.ReactNode;
9
- className?: string;
10
- color?: string;
11
- };
7
+ type IconProps = React.HTMLAttributes<HTMLSpanElement> &
8
+ Sprinkles & {
9
+ name?: string;
10
+ children?: React.ReactNode;
11
+ color?: string;
12
+ };
12
13
 
13
14
  const IconComponent = ({ name, children, className, color }: IconProps) => {
14
15
  const iconMap: Record<string, string> = {
@@ -3,11 +3,13 @@ import React from 'react';
3
3
  import { inputStyle, label } from './styles.css';
4
4
  import { text } from '../Text/styles.css';
5
5
  import Box from '../Box';
6
+ import { Sprinkles } from '../../styles/sprinkles.css';
6
7
 
7
- export type InputProps = React.InputHTMLAttributes<HTMLInputElement> & {
8
- label?: string;
9
- fullWidth?: boolean;
10
- };
8
+ export type InputProps = React.InputHTMLAttributes<HTMLInputElement> &
9
+ Sprinkles & {
10
+ label?: string;
11
+ fullWidth?: boolean;
12
+ };
11
13
 
12
14
  const Input = (props: InputProps) => {
13
15
  return (
@@ -19,10 +21,7 @@ const Input = (props: InputProps) => {
19
21
  {props.label && (
20
22
  <Box
21
23
  as="label"
22
- className={clsx(
23
- text,
24
- label,
25
- )}
24
+ className={clsx(text, label)}
26
25
  marginX={{ mobile: 'auto', tablet: 'none' }}
27
26
  marginY={{ mobile: 'none', tablet: 'auto' }}
28
27
  htmlFor={props.id}
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
2
  import { kbd } from './styles.css';
3
+ import { Sprinkles } from '../../styles/sprinkles.css';
3
4
 
4
- export interface KbdProps {
5
- children: React.ReactNode;
6
- className?: string;
7
- }
5
+ export type KbdProps = React.HTMLAttributes<HTMLElement> &
6
+ Sprinkles & {
7
+ children: React.ReactNode;
8
+ };
8
9
 
9
10
  const Kbd = ({ children, className, ...props }: KbdProps) => {
10
11
  return (
@@ -1,10 +1,14 @@
1
1
  import React from 'react';
2
2
  import { list } from './styles.css';
3
3
  import Box from '../Box';
4
+ import { Sprinkles } from '../../styles/sprinkles.css';
4
5
 
5
- const List = ({ children }: { children: React.ReactNode }) => {
6
+ const List = ({
7
+ children,
8
+ ...props
9
+ }: { children: React.ReactNode } & Sprinkles) => {
6
10
  return (
7
- <Box as="ul" className={list}>
11
+ <Box as="ul" className={list} {...props}>
8
12
  {children}
9
13
  </Box>
10
14
  );
@@ -1,10 +1,14 @@
1
1
  import React from 'react';
2
2
  import { listItem } from './styles.css';
3
3
  import Box from '../Box';
4
+ import { Sprinkles } from '../../styles/sprinkles.css';
4
5
 
5
- const ListItem = ({ children }: { children: React.ReactNode }) => {
6
+ const ListItem = ({
7
+ children,
8
+ ...props
9
+ }: { children: React.ReactNode } & Sprinkles) => {
6
10
  return (
7
- <Box as="li" className={listItem}>
11
+ <Box as="li" className={listItem} {...props}>
8
12
  {children}
9
13
  </Box>
10
14
  );
@@ -10,10 +10,11 @@ import {
10
10
  } from './styles.css';
11
11
  import React, { useEffect, useRef } from 'react';
12
12
  import Box from '../Box';
13
+ import { Sprinkles } from '../../styles/sprinkles.css';
13
14
 
14
15
  export type ModalSize = 'small' | 'medium' | 'large' | 'full';
15
16
 
16
- export interface ModalProps extends React.HTMLAttributes<HTMLDialogElement> {
17
+ type ModalPropsType = React.HTMLAttributes<HTMLDialogElement> & {
17
18
  isOpen: boolean;
18
19
  onClose: () => void;
19
20
  title?: string;
@@ -21,7 +22,9 @@ export interface ModalProps extends React.HTMLAttributes<HTMLDialogElement> {
21
22
  children?: React.ReactNode;
22
23
  footer?: React.ReactNode;
23
24
  showCloseButton?: boolean;
24
- }
25
+ };
26
+
27
+ export type ModalProps = ModalPropsType & Sprinkles;
25
28
 
26
29
  interface DialogMethods {
27
30
  showModal: () => void;
@@ -84,7 +87,9 @@ const Modal = ({
84
87
  >
85
88
  {title && (
86
89
  <Box as="div" className={modalHeader}>
87
- <Box as="h2" className={modalTitle}>{title}</Box>
90
+ <Box as="h2" className={modalTitle}>
91
+ {title}
92
+ </Box>
88
93
  {showCloseButton && (
89
94
  <Box
90
95
  as="button"
@@ -99,9 +104,15 @@ const Modal = ({
99
104
  </Box>
100
105
  )}
101
106
 
102
- <Box as="div" className={modalBody}>{children}</Box>
107
+ <Box as="div" className={modalBody}>
108
+ {children}
109
+ </Box>
103
110
 
104
- {footer && <Box as="div" className={modalFooter}>{footer}</Box>}
111
+ {footer && (
112
+ <Box as="div" className={modalFooter}>
113
+ {footer}
114
+ </Box>
115
+ )}
105
116
  </Box>
106
117
  );
107
118
  };
@@ -2,8 +2,9 @@ import clsx from 'clsx';
2
2
  import React from 'react';
3
3
  import { navbarStyle } from './styles.css';
4
4
  import Box from '../Box';
5
+ import { Sprinkles } from '../../styles/sprinkles.css';
5
6
 
6
- type NavbarProps = React.HTMLAttributes<HTMLElement> & {
7
+ type NavbarProps = React.HTMLAttributes<HTMLElement> & Sprinkles & {
7
8
  children?: React.ReactNode;
8
9
  };
9
10
 
@@ -2,8 +2,9 @@ import clsx from 'clsx';
2
2
  import React from 'react';
3
3
  import { navbarItemStyle } from './styles.css';
4
4
  import Box from '../Box';
5
+ import { Sprinkles } from '../../styles/sprinkles.css';
5
6
 
6
- type NavbarItemProps = React.HTMLAttributes<HTMLDivElement> & {
7
+ type NavbarItemProps = React.HTMLAttributes<HTMLDivElement> & Sprinkles & {
7
8
  children?: React.ReactNode;
8
9
  };
9
10