@timmbr/ui 1.4.2 → 1.6.0

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 (395) hide show
  1. package/README.md +12 -10
  2. package/dist/components/Accordion/Accordion.js +1 -1
  3. package/dist/components/Accordion/Accordion.styles.d.ts.map +1 -1
  4. package/dist/components/Accordion/Accordion.styles.js +3 -3
  5. package/dist/components/Alert/Alert.js +2 -2
  6. package/dist/components/Alert/Alert.styles.d.ts +2 -2
  7. package/dist/components/Alert/Alert.styles.js +4 -4
  8. package/dist/components/AlertDialog/AlertDialog.d.ts +5 -3
  9. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  10. package/dist/components/AlertDialog/AlertDialog.js +21 -8
  11. package/dist/components/AlertDialog/AlertDialog.styles.d.ts +7 -1
  12. package/dist/components/AlertDialog/AlertDialog.styles.d.ts.map +1 -1
  13. package/dist/components/AlertDialog/AlertDialog.styles.js +29 -6
  14. package/dist/components/AlertDialog/AlertDialog.types.d.ts +19 -2
  15. package/dist/components/AlertDialog/AlertDialog.types.d.ts.map +1 -1
  16. package/dist/components/AuthModal/AuthModal.d.ts +4 -0
  17. package/dist/components/AuthModal/AuthModal.d.ts.map +1 -0
  18. package/dist/components/AuthModal/AuthModal.js +89 -0
  19. package/dist/components/AuthModal/AuthModal.labels.d.ts +6 -0
  20. package/dist/components/AuthModal/AuthModal.labels.d.ts.map +1 -0
  21. package/dist/components/AuthModal/AuthModal.labels.js +52 -0
  22. package/dist/components/AuthModal/AuthModal.styles.d.ts +12 -0
  23. package/dist/components/AuthModal/AuthModal.styles.d.ts.map +1 -0
  24. package/dist/components/AuthModal/AuthModal.styles.js +38 -0
  25. package/dist/components/AuthModal/AuthModal.types.d.ts +158 -0
  26. package/dist/components/AuthModal/AuthModal.types.d.ts.map +1 -0
  27. package/dist/components/AuthModal/index.d.ts +6 -0
  28. package/dist/components/AuthModal/index.d.ts.map +1 -0
  29. package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts +11 -0
  30. package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts.map +1 -0
  31. package/dist/components/AuthModal/subcomponents/AuthModalBanner.js +58 -0
  32. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts +11 -0
  33. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts.map +1 -0
  34. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.js +62 -0
  35. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts +11 -0
  36. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts.map +1 -0
  37. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.js +19 -0
  38. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts +10 -0
  39. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts.map +1 -0
  40. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.js +62 -0
  41. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts +44 -0
  42. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts.map +1 -0
  43. package/dist/components/AuthModal/subcomponents/AuthModalParts.js +134 -0
  44. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts +10 -0
  45. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts.map +1 -0
  46. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.js +54 -0
  47. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts +10 -0
  48. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts.map +1 -0
  49. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.js +79 -0
  50. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts +10 -0
  51. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts.map +1 -0
  52. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.js +26 -0
  53. package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts +12 -0
  54. package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts.map +1 -0
  55. package/dist/components/AuthModal/subcomponents/OAuthButton.js +38 -0
  56. package/dist/components/AuthModal/subcomponents/index.d.ts +9 -0
  57. package/dist/components/AuthModal/subcomponents/index.d.ts.map +1 -0
  58. package/dist/components/Avatar/Avatar.styles.d.ts +2 -2
  59. package/dist/components/Avatar/Avatar.styles.js +11 -11
  60. package/dist/components/Badge/Badge.styles.d.ts +2 -2
  61. package/dist/components/Badge/Badge.styles.d.ts.map +1 -1
  62. package/dist/components/Badge/Badge.styles.js +10 -8
  63. package/dist/components/Button/Button.d.ts.map +1 -1
  64. package/dist/components/Button/Button.js +6 -0
  65. package/dist/components/Button/Button.styles.d.ts +4 -2
  66. package/dist/components/Button/Button.styles.d.ts.map +1 -1
  67. package/dist/components/Button/Button.styles.js +29 -10
  68. package/dist/components/Card/Card.d.ts.map +1 -1
  69. package/dist/components/Card/Card.js +51 -32
  70. package/dist/components/Card/Card.styles.d.ts +32 -5
  71. package/dist/components/Card/Card.styles.d.ts.map +1 -1
  72. package/dist/components/Card/Card.styles.js +70 -11
  73. package/dist/components/Card/Card.types.d.ts +14 -3
  74. package/dist/components/Card/Card.types.d.ts.map +1 -1
  75. package/dist/components/Checkbox/Checkbox.js +4 -4
  76. package/dist/components/Checkbox/Checkbox.styles.d.ts +2 -2
  77. package/dist/components/Checkbox/Checkbox.styles.js +1 -1
  78. package/dist/components/Chip/Chip.js +1 -1
  79. package/dist/components/Chip/Chip.styles.d.ts +1 -1
  80. package/dist/components/Chip/Chip.styles.js +5 -5
  81. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +30 -0
  82. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
  83. package/dist/components/ConfirmDialog/ConfirmDialog.js +57 -0
  84. package/dist/components/ConfirmDialog/index.d.ts +2 -0
  85. package/dist/components/ConfirmDialog/index.d.ts.map +1 -0
  86. package/dist/components/Container/Container.styles.d.ts +1 -1
  87. package/dist/components/DataList/DataList.d.ts +3 -1
  88. package/dist/components/DataList/DataList.d.ts.map +1 -1
  89. package/dist/components/DataList/DataList.js +53 -15
  90. package/dist/components/DataList/DataList.styles.d.ts +17 -4
  91. package/dist/components/DataList/DataList.styles.d.ts.map +1 -1
  92. package/dist/components/DataList/DataList.styles.js +56 -13
  93. package/dist/components/DataList/DataList.types.d.ts +19 -2
  94. package/dist/components/DataList/DataList.types.d.ts.map +1 -1
  95. package/dist/components/Dialog/Dialog.styles.js +6 -6
  96. package/dist/components/Divider/Divider.js +1 -1
  97. package/dist/components/Drawer/Drawer.d.ts +4 -3
  98. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  99. package/dist/components/Drawer/Drawer.js +33 -6
  100. package/dist/components/Drawer/Drawer.styles.d.ts +4 -0
  101. package/dist/components/Drawer/Drawer.styles.d.ts.map +1 -1
  102. package/dist/components/Drawer/Drawer.styles.js +9 -6
  103. package/dist/components/Drawer/Drawer.types.d.ts +1 -0
  104. package/dist/components/Drawer/Drawer.types.d.ts.map +1 -1
  105. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -1
  106. package/dist/components/Dropdown/Dropdown.js +25 -12
  107. package/dist/components/Dropdown/Dropdown.styles.d.ts +5 -1
  108. package/dist/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  109. package/dist/components/Dropdown/Dropdown.styles.js +13 -3
  110. package/dist/components/Dropdown/Dropdown.types.d.ts +4 -0
  111. package/dist/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  112. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  113. package/dist/components/EmptyState/EmptyState.js +4 -3
  114. package/dist/components/EmptyState/EmptyState.styles.d.ts +3 -2
  115. package/dist/components/EmptyState/EmptyState.styles.d.ts.map +1 -1
  116. package/dist/components/EmptyState/EmptyState.styles.js +8 -3
  117. package/dist/components/Fieldset/Fieldset.d.ts +14 -0
  118. package/dist/components/Fieldset/Fieldset.d.ts.map +1 -0
  119. package/dist/components/Fieldset/Fieldset.js +24 -0
  120. package/dist/components/Fieldset/index.d.ts +2 -0
  121. package/dist/components/Fieldset/index.d.ts.map +1 -0
  122. package/dist/components/FormActions/FormActions.d.ts +13 -0
  123. package/dist/components/FormActions/FormActions.d.ts.map +1 -0
  124. package/dist/components/FormActions/FormActions.js +24 -0
  125. package/dist/components/FormActions/index.d.ts +2 -0
  126. package/dist/components/FormActions/index.d.ts.map +1 -0
  127. package/dist/components/FormField/FormField.js +1 -1
  128. package/dist/components/Grid/Grid.d.ts +3 -1
  129. package/dist/components/Grid/Grid.d.ts.map +1 -1
  130. package/dist/components/Grid/Grid.js +31 -5
  131. package/dist/components/Grid/Grid.styles.d.ts +86 -0
  132. package/dist/components/Grid/Grid.styles.d.ts.map +1 -1
  133. package/dist/components/Grid/Grid.styles.js +85 -1
  134. package/dist/components/Grid/Grid.types.d.ts +31 -3
  135. package/dist/components/Grid/Grid.types.d.ts.map +1 -1
  136. package/dist/components/Heading/Heading.styles.d.ts +2 -2
  137. package/dist/components/Heading/Heading.styles.d.ts.map +1 -1
  138. package/dist/components/Heading/Heading.styles.js +15 -11
  139. package/dist/components/Heading/Heading.types.d.ts +1 -1
  140. package/dist/components/Heading/Heading.types.d.ts.map +1 -1
  141. package/dist/components/Icon/Icon.styles.d.ts +2 -2
  142. package/dist/components/Icon/Icon.styles.d.ts.map +1 -1
  143. package/dist/components/Icon/Icon.styles.js +12 -8
  144. package/dist/components/IconTile/IconTile.d.ts +8 -0
  145. package/dist/components/IconTile/IconTile.d.ts.map +1 -0
  146. package/dist/components/IconTile/IconTile.js +23 -0
  147. package/dist/components/IconTile/IconTile.styles.d.ts +7 -0
  148. package/dist/components/IconTile/IconTile.styles.d.ts.map +1 -0
  149. package/dist/components/IconTile/IconTile.styles.js +24 -0
  150. package/dist/components/IconTile/IconTile.types.d.ts +12 -0
  151. package/dist/components/IconTile/IconTile.types.d.ts.map +1 -0
  152. package/dist/components/IconTile/index.d.ts +4 -0
  153. package/dist/components/IconTile/index.d.ts.map +1 -0
  154. package/dist/components/ImageUpload/ImageUpload.js +6 -6
  155. package/dist/components/ImageUpload/subcomponents/ImageUploadDropzone.js +10 -10
  156. package/dist/components/ImageUpload/subcomponents/ImageUploadModal.js +8 -8
  157. package/dist/components/ImageUpload/subcomponents/ImageUploadSinglePreview.js +7 -7
  158. package/dist/components/ImageUpload/subcomponents/ImageUploadThumbnailCard.js +10 -10
  159. package/dist/components/Inline/Inline.d.ts.map +1 -1
  160. package/dist/components/Inline/Inline.js +10 -2
  161. package/dist/components/Inline/Inline.types.d.ts +6 -1
  162. package/dist/components/Inline/Inline.types.d.ts.map +1 -1
  163. package/dist/components/Input/Input.js +4 -4
  164. package/dist/components/Input/Input.styles.d.ts +1 -1
  165. package/dist/components/Input/Input.styles.js +6 -6
  166. package/dist/components/Label/Label.styles.d.ts +1 -1
  167. package/dist/components/Label/Label.styles.js +4 -4
  168. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -1
  169. package/dist/components/LinkButton/LinkButton.js +2 -0
  170. package/dist/components/LinkButton/LinkButton.styles.d.ts +3 -2
  171. package/dist/components/LinkButton/LinkButton.styles.d.ts.map +1 -1
  172. package/dist/components/LinkButton/LinkButton.styles.js +12 -6
  173. package/dist/components/List/List.d.ts.map +1 -1
  174. package/dist/components/List/List.js +19 -6
  175. package/dist/components/List/List.styles.d.ts +3 -1
  176. package/dist/components/List/List.styles.d.ts.map +1 -1
  177. package/dist/components/List/List.styles.js +7 -6
  178. package/dist/components/List/List.types.d.ts +7 -0
  179. package/dist/components/List/List.types.d.ts.map +1 -1
  180. package/dist/components/MediaCard/MediaCard.d.ts +13 -0
  181. package/dist/components/MediaCard/MediaCard.d.ts.map +1 -0
  182. package/dist/components/MediaCard/MediaCard.js +123 -0
  183. package/dist/components/MediaCard/MediaCard.styles.d.ts +17 -0
  184. package/dist/components/MediaCard/MediaCard.styles.d.ts.map +1 -0
  185. package/dist/components/MediaCard/MediaCard.styles.js +57 -0
  186. package/dist/components/MediaCard/MediaCard.types.d.ts +73 -0
  187. package/dist/components/MediaCard/MediaCard.types.d.ts.map +1 -0
  188. package/dist/components/MediaCard/index.d.ts +4 -0
  189. package/dist/components/MediaCard/index.d.ts.map +1 -0
  190. package/dist/components/NavFooter/NavFooter.styles.d.ts +1 -1
  191. package/dist/components/NavFooter/NavFooter.styles.js +9 -9
  192. package/dist/components/NavFooter/subcomponents/FooterBrand.js +3 -3
  193. package/dist/components/NavFooter/subcomponents/FooterLegalBar.js +1 -1
  194. package/dist/components/NavFooter/subcomponents/FooterNavSection.js +4 -4
  195. package/dist/components/NavFooter/subcomponents/FooterNewsletter.js +7 -7
  196. package/dist/components/NavFooter/subcomponents/FooterOffice.js +5 -5
  197. package/dist/components/NavFooter/subcomponents/FooterSocial.js +3 -3
  198. package/dist/components/NavHeader/NavHeader.d.ts.map +1 -1
  199. package/dist/components/NavHeader/NavHeader.js +13 -4
  200. package/dist/components/NavHeader/NavHeader.styles.d.ts +1 -1
  201. package/dist/components/NavHeader/NavHeader.styles.js +16 -16
  202. package/dist/components/NavHeader/NavHeader.types.d.ts +41 -0
  203. package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
  204. package/dist/components/NavHeader/index.d.ts +1 -1
  205. package/dist/components/NavHeader/index.d.ts.map +1 -1
  206. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts +4 -0
  207. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts.map +1 -0
  208. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.js +16 -0
  209. package/dist/components/NavHeader/subcomponents/NavActionOverflow.d.ts.map +1 -1
  210. package/dist/components/NavHeader/subcomponents/NavActionOverflow.js +6 -5
  211. package/dist/components/NavHeader/subcomponents/NavActions.d.ts +14 -0
  212. package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
  213. package/dist/components/NavHeader/subcomponents/NavActions.js +82 -16
  214. package/dist/components/NavHeader/subcomponents/NavBrand.d.ts.map +1 -1
  215. package/dist/components/NavHeader/subcomponents/NavBrand.js +14 -15
  216. package/dist/components/NavHeader/subcomponents/NavItems.js +3 -3
  217. package/dist/components/NavHeader/subcomponents/NavItemsOverflow.js +7 -7
  218. package/dist/components/NavHeader/subcomponents/NavMobileSearchDrawer.js +5 -5
  219. package/dist/components/NavHeader/subcomponents/NavMobileTabSlider.js +2 -2
  220. package/dist/components/NavHeader/subcomponents/NavSearch.js +5 -5
  221. package/dist/components/NavHeader/subcomponents/OfferBanner.js +1 -1
  222. package/dist/components/OtpInput/OtpInput.d.ts +4 -0
  223. package/dist/components/OtpInput/OtpInput.d.ts.map +1 -0
  224. package/dist/components/OtpInput/OtpInput.js +114 -0
  225. package/dist/components/OtpInput/OtpInput.styles.d.ts +10 -0
  226. package/dist/components/OtpInput/OtpInput.styles.d.ts.map +1 -0
  227. package/dist/components/OtpInput/OtpInput.styles.js +49 -0
  228. package/dist/components/OtpInput/OtpInput.types.d.ts +40 -0
  229. package/dist/components/OtpInput/OtpInput.types.d.ts.map +1 -0
  230. package/dist/components/OtpInput/index.d.ts +4 -0
  231. package/dist/components/OtpInput/index.d.ts.map +1 -0
  232. package/dist/components/PageHeader/PageHeader.d.ts +8 -0
  233. package/dist/components/PageHeader/PageHeader.d.ts.map +1 -0
  234. package/dist/components/PageHeader/PageHeader.js +55 -0
  235. package/dist/components/PageHeader/PageHeader.styles.d.ts +10 -0
  236. package/dist/components/PageHeader/PageHeader.styles.d.ts.map +1 -0
  237. package/dist/components/PageHeader/PageHeader.styles.js +23 -0
  238. package/dist/components/PageHeader/PageHeader.types.d.ts +24 -0
  239. package/dist/components/PageHeader/PageHeader.types.d.ts.map +1 -0
  240. package/dist/components/PageHeader/index.d.ts +4 -0
  241. package/dist/components/PageHeader/index.d.ts.map +1 -0
  242. package/dist/components/Pagination/Pagination.d.ts +9 -3
  243. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  244. package/dist/components/Pagination/Pagination.js +60 -39
  245. package/dist/components/Pagination/Pagination.styles.d.ts +1 -1
  246. package/dist/components/Pagination/Pagination.styles.js +3 -3
  247. package/dist/components/Pagination/Pagination.types.d.ts +23 -14
  248. package/dist/components/Pagination/Pagination.types.d.ts.map +1 -1
  249. package/dist/components/Popover/Popover.styles.js +1 -1
  250. package/dist/components/Price/Price.d.ts +10 -0
  251. package/dist/components/Price/Price.d.ts.map +1 -0
  252. package/dist/components/Price/Price.js +49 -0
  253. package/dist/components/Price/Price.styles.d.ts +15 -0
  254. package/dist/components/Price/Price.styles.d.ts.map +1 -0
  255. package/dist/components/Price/Price.styles.js +44 -0
  256. package/dist/components/Price/Price.types.d.ts +22 -0
  257. package/dist/components/Price/Price.types.d.ts.map +1 -0
  258. package/dist/components/Price/index.d.ts +4 -0
  259. package/dist/components/Price/index.d.ts.map +1 -0
  260. package/dist/components/Progress/Progress.js +2 -2
  261. package/dist/components/Progress/Progress.styles.d.ts +1 -1
  262. package/dist/components/Radio/Radio.js +4 -4
  263. package/dist/components/Radio/Radio.styles.d.ts +2 -2
  264. package/dist/components/Radio/Radio.styles.js +1 -1
  265. package/dist/components/RangeSlider/RangeSlider.js +3 -3
  266. package/dist/components/RangeSlider/RangeSlider.styles.js +1 -1
  267. package/dist/components/Rating/Rating.d.ts +5 -0
  268. package/dist/components/Rating/Rating.d.ts.map +1 -0
  269. package/dist/components/Rating/Rating.js +38 -0
  270. package/dist/components/Rating/Rating.styles.d.ts +6 -0
  271. package/dist/components/Rating/Rating.styles.d.ts.map +1 -0
  272. package/dist/components/Rating/Rating.styles.js +13 -0
  273. package/dist/components/Rating/Rating.types.d.ts +18 -0
  274. package/dist/components/Rating/Rating.types.d.ts.map +1 -0
  275. package/dist/components/Rating/index.d.ts +4 -0
  276. package/dist/components/Rating/index.d.ts.map +1 -0
  277. package/dist/components/ResponsiveDialog/ResponsiveDialog.d.ts +29 -0
  278. package/dist/components/ResponsiveDialog/ResponsiveDialog.d.ts.map +1 -0
  279. package/dist/components/ResponsiveDialog/ResponsiveDialog.js +74 -0
  280. package/dist/components/ResponsiveDialog/ResponsiveDialog.types.d.ts +27 -0
  281. package/dist/components/ResponsiveDialog/ResponsiveDialog.types.d.ts.map +1 -0
  282. package/dist/components/ResponsiveDialog/index.d.ts +3 -0
  283. package/dist/components/ResponsiveDialog/index.d.ts.map +1 -0
  284. package/dist/components/SectionNav/SectionNav.d.ts +12 -0
  285. package/dist/components/SectionNav/SectionNav.d.ts.map +1 -0
  286. package/dist/components/SectionNav/SectionNav.js +67 -0
  287. package/dist/components/SectionNav/SectionNav.styles.d.ts +11 -0
  288. package/dist/components/SectionNav/SectionNav.styles.d.ts.map +1 -0
  289. package/dist/components/SectionNav/SectionNav.styles.js +28 -0
  290. package/dist/components/SectionNav/SectionNav.types.d.ts +37 -0
  291. package/dist/components/SectionNav/SectionNav.types.d.ts.map +1 -0
  292. package/dist/components/SectionNav/index.d.ts +4 -0
  293. package/dist/components/SectionNav/index.d.ts.map +1 -0
  294. package/dist/components/Select/Select.js +2 -2
  295. package/dist/components/Select/Select.styles.d.ts +1 -1
  296. package/dist/components/Select/Select.styles.js +8 -8
  297. package/dist/components/SideBarNavigation/SideBarNavigation.styles.js +8 -8
  298. package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.js +3 -3
  299. package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.js +1 -1
  300. package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.js +4 -4
  301. package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.js +9 -9
  302. package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.js +2 -2
  303. package/dist/components/Skeleton/Skeleton.styles.js +1 -1
  304. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  305. package/dist/components/Spinner/Spinner.js +9 -7
  306. package/dist/components/Spinner/Spinner.styles.d.ts +8 -2
  307. package/dist/components/Spinner/Spinner.styles.d.ts.map +1 -1
  308. package/dist/components/Spinner/Spinner.styles.js +27 -24
  309. package/dist/components/Spinner/Spinner.types.d.ts +9 -0
  310. package/dist/components/Spinner/Spinner.types.d.ts.map +1 -1
  311. package/dist/components/Stack/Stack.d.ts.map +1 -1
  312. package/dist/components/Stack/Stack.js +16 -1
  313. package/dist/components/Stack/Stack.types.d.ts +14 -1
  314. package/dist/components/Stack/Stack.types.d.ts.map +1 -1
  315. package/dist/components/Stat/Stat.styles.js +4 -4
  316. package/dist/components/Stepper/Stepper.d.ts +9 -0
  317. package/dist/components/Stepper/Stepper.d.ts.map +1 -0
  318. package/dist/components/Stepper/Stepper.js +81 -0
  319. package/dist/components/Stepper/Stepper.styles.d.ts +14 -0
  320. package/dist/components/Stepper/Stepper.styles.d.ts.map +1 -0
  321. package/dist/components/Stepper/Stepper.styles.js +40 -0
  322. package/dist/components/Stepper/Stepper.types.d.ts +17 -0
  323. package/dist/components/Stepper/Stepper.types.d.ts.map +1 -0
  324. package/dist/components/Stepper/index.d.ts +4 -0
  325. package/dist/components/Stepper/index.d.ts.map +1 -0
  326. package/dist/components/Steps/Steps.d.ts +9 -0
  327. package/dist/components/Steps/Steps.d.ts.map +1 -0
  328. package/dist/components/Steps/Steps.js +81 -0
  329. package/dist/components/Steps/Steps.styles.d.ts +14 -0
  330. package/dist/components/Steps/Steps.styles.d.ts.map +1 -0
  331. package/dist/components/Steps/Steps.styles.js +40 -0
  332. package/dist/components/Steps/Steps.types.d.ts +17 -0
  333. package/dist/components/Steps/Steps.types.d.ts.map +1 -0
  334. package/dist/components/Steps/index.d.ts +4 -0
  335. package/dist/components/Steps/index.d.ts.map +1 -0
  336. package/dist/components/SubNav/SubNav.d.ts +17 -0
  337. package/dist/components/SubNav/SubNav.d.ts.map +1 -0
  338. package/dist/components/SubNav/SubNav.js +87 -0
  339. package/dist/components/SubNav/SubNav.styles.d.ts +18 -0
  340. package/dist/components/SubNav/SubNav.styles.d.ts.map +1 -0
  341. package/dist/components/SubNav/SubNav.styles.js +33 -0
  342. package/dist/components/SubNav/SubNav.types.d.ts +45 -0
  343. package/dist/components/SubNav/SubNav.types.d.ts.map +1 -0
  344. package/dist/components/SubNav/index.d.ts +4 -0
  345. package/dist/components/SubNav/index.d.ts.map +1 -0
  346. package/dist/components/Switch/Switch.js +2 -2
  347. package/dist/components/Switch/Switch.styles.d.ts +2 -2
  348. package/dist/components/Switch/Switch.styles.js +1 -1
  349. package/dist/components/Table/Table.js +1 -1
  350. package/dist/components/Table/Table.styles.d.ts +1 -1
  351. package/dist/components/Table/Table.styles.js +5 -5
  352. package/dist/components/Table/TablePagination.js +4 -4
  353. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  354. package/dist/components/Tabs/Tabs.js +75 -8
  355. package/dist/components/Tabs/Tabs.styles.d.ts +10 -2
  356. package/dist/components/Tabs/Tabs.styles.d.ts.map +1 -1
  357. package/dist/components/Tabs/Tabs.styles.js +25 -10
  358. package/dist/components/Tabs/Tabs.types.d.ts +13 -0
  359. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -1
  360. package/dist/components/Text/Text.d.ts.map +1 -1
  361. package/dist/components/Text/Text.js +4 -0
  362. package/dist/components/Text/Text.styles.d.ts +4 -2
  363. package/dist/components/Text/Text.styles.d.ts.map +1 -1
  364. package/dist/components/Text/Text.styles.js +32 -16
  365. package/dist/components/Text/Text.types.d.ts +1 -1
  366. package/dist/components/Text/Text.types.d.ts.map +1 -1
  367. package/dist/components/Textarea/Textarea.js +4 -4
  368. package/dist/components/Textarea/Textarea.styles.d.ts +1 -1
  369. package/dist/components/Textarea/Textarea.styles.js +6 -6
  370. package/dist/components/Toast/Toast.js +3 -3
  371. package/dist/components/Toast/Toast.styles.js +5 -5
  372. package/dist/components/Toast/ToastContainer.js +1 -1
  373. package/dist/components/Tooltip/Tooltip.styles.js +1 -1
  374. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +8 -0
  375. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  376. package/dist/components/VisuallyHidden/VisuallyHidden.js +14 -0
  377. package/dist/components/VisuallyHidden/index.d.ts +2 -0
  378. package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
  379. package/dist/index.d.ts +15 -0
  380. package/dist/index.d.ts.map +1 -1
  381. package/dist/index.js +46 -14
  382. package/dist/utils/gap.d.ts +21 -1
  383. package/dist/utils/gap.d.ts.map +1 -1
  384. package/dist/utils/gap.js +306 -46
  385. package/package.json +7 -6
  386. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts +0 -10
  387. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts.map +0 -1
  388. package/dist/components/CrossZoneLink/CrossZoneLink.js +0 -111
  389. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts +0 -8
  390. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts.map +0 -1
  391. package/dist/components/CrossZoneLink/CrossZoneLink.styles.js +0 -33
  392. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts +0 -31
  393. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts.map +0 -1
  394. package/dist/components/CrossZoneLink/index.d.ts +0 -4
  395. package/dist/components/CrossZoneLink/index.d.ts.map +0 -1
@@ -4,15 +4,16 @@ const dataListVariants = cva("font-sans text-foreground", {
4
4
  variants: {
5
5
  orientation: {
6
6
  horizontal: "flex flex-col",
7
- vertical: "flex flex-col"
7
+ vertical: "flex flex-col",
8
+ justified: "flex flex-col"
8
9
  },
9
10
  size: {
10
- sm: "text-xs gap-1.5",
11
- default: "text-sm gap-2.5",
12
- lg: "text-base gap-3.5"
11
+ sm: "text-body-3 gap-1.5",
12
+ default: "text-body-2 gap-2.5",
13
+ lg: "text-body-1 gap-3.5"
13
14
  },
14
15
  divided: {
15
- true: "divide-y divide-grey-200 dark:divide-grey-800",
16
+ true: "divide-y divide-border",
16
17
  false: ""
17
18
  }
18
19
  },
@@ -25,8 +26,19 @@ const dataListVariants = cva("font-sans text-foreground", {
25
26
  const dataListItemVariants = cva("flex", {
26
27
  variants: {
27
28
  orientation: {
28
- horizontal: "flex-col sm:flex-row sm:items-baseline gap-1 sm:gap-6",
29
- vertical: "flex-col gap-1"
29
+ /**
30
+ * Small screens: label and value stacked on the left, an action on the
31
+ * right (a two-column grid). From `sm`: one row.
32
+ */
33
+ horizontal: "grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1 sm:flex sm:flex-row sm:items-baseline sm:gap-6",
34
+ vertical: "flex-col gap-1",
35
+ /** Label left, value right on every screen (totals, receipts). */
36
+ justified: "flex-row items-baseline justify-between gap-4 [&>[data-slot=data-list-value]]:text-right"
37
+ },
38
+ emphasis: {
39
+ none: "",
40
+ /** A total line: label and value in the foreground colour, semibold. */
41
+ total: "font-semibold [&>[data-slot=data-list-label]]:text-foreground [&>[data-slot=data-list-label]]:font-semibold"
30
42
  },
31
43
  align: {
32
44
  baseline: "sm:items-baseline",
@@ -36,14 +48,45 @@ const dataListItemVariants = cva("flex", {
36
48
  },
37
49
  defaultVariants: {
38
50
  orientation: "horizontal",
39
- align: "baseline"
51
+ align: "baseline",
52
+ emphasis: "none"
40
53
  }
41
54
  });
42
- const dataListLabelVariants = cva(
43
- "font-medium text-grey-500 dark:text-grey-400 shrink-0 flex items-center gap-1.5 select-none"
44
- );
55
+ const dataListInsetPadding = {
56
+ none: "",
57
+ sm: "px-4 py-3",
58
+ default: "px-6 py-4"
59
+ };
60
+ const dataListActionVariants = cva("flex shrink-0 items-center gap-2 sm:ms-auto", {
61
+ variants: {
62
+ /**
63
+ * Small screens: `end` keeps the action on the right of the label;
64
+ * `below` puts it under the label (wide buttons, long descriptions).
65
+ * From `sm` up it always ends the row.
66
+ */
67
+ placement: {
68
+ end: "col-start-2 row-span-2 row-start-1 justify-end self-center",
69
+ below: "col-span-2 col-start-1 mt-2 justify-start sm:mt-0"
70
+ }
71
+ },
72
+ defaultVariants: { placement: "end" }
73
+ });
74
+ const dataListLabelVariants = cva("col-start-1 shrink-0 flex gap-1.5 select-none", {
75
+ variants: {
76
+ tone: {
77
+ muted: "font-medium text-muted-foreground",
78
+ /** For rows whose label is the main text (settings, sign-in methods). */
79
+ strong: "font-semibold text-foreground"
80
+ },
81
+ withDescription: {
82
+ true: "items-start",
83
+ false: "items-center"
84
+ }
85
+ },
86
+ defaultVariants: { tone: "muted", withDescription: false }
87
+ });
45
88
  const dataListValueVariants = cva(
46
- "font-normal text-foreground flex-1 min-w-0"
89
+ "col-start-1 font-normal text-foreground flex-1 min-w-0"
47
90
  );
48
91
 
49
- export { dataListItemVariants, dataListLabelVariants, dataListValueVariants, dataListVariants };
92
+ export { dataListActionVariants, dataListInsetPadding, dataListItemVariants, dataListLabelVariants, dataListValueVariants, dataListVariants };
@@ -5,7 +5,13 @@ export interface DataListProps extends React.HTMLAttributes<HTMLDListElement>, D
5
5
  * Orientation layout of labels and values.
6
6
  * @default 'horizontal'
7
7
  */
8
- orientation?: 'horizontal' | 'vertical';
8
+ orientation?: 'horizontal' | 'vertical' | 'justified';
9
+ /**
10
+ * Pads each item for edge-to-edge rows (e.g. directly inside a
11
+ * `sectioned` Card, with `divided`).
12
+ * @default 'none'
13
+ */
14
+ inset?: 'none' | 'sm' | 'default';
9
15
  /**
10
16
  * Scale size of fonts and spacing.
11
17
  * @default 'default'
@@ -25,7 +31,9 @@ export interface DataListItemProps extends React.HTMLAttributes<HTMLDivElement>
25
31
  /**
26
32
  * Item-level orientation override.
27
33
  */
28
- orientation?: 'horizontal' | 'vertical';
34
+ orientation?: 'horizontal' | 'vertical' | 'justified';
35
+ /** `total`: a summary line (semibold label and value). */
36
+ emphasis?: 'none' | 'total';
29
37
  /**
30
38
  * Vertical alignment of label and value in horizontal mode.
31
39
  * @default 'baseline'
@@ -45,11 +53,20 @@ export interface DataListLabelProps extends React.HTMLAttributes<HTMLElement> {
45
53
  * Optional icon node beside the label.
46
54
  */
47
55
  icon?: React.ReactNode;
56
+ /** Secondary line under the label. */
57
+ description?: React.ReactNode;
58
+ /** `strong`: foreground semibold, when the label is the main text of the row. */
59
+ tone?: 'muted' | 'strong';
48
60
  /**
49
61
  * Content element.
50
62
  */
51
63
  children?: React.ReactNode;
52
64
  }
65
+ export interface DataListActionProps extends React.HTMLAttributes<HTMLElement> {
66
+ /** Small screens: on the right of the label (`end`) or under it (`below`). */
67
+ placement?: 'end' | 'below';
68
+ children?: React.ReactNode;
69
+ }
53
70
  export interface DataListValueProps extends React.HTMLAttributes<HTMLElement> {
54
71
  /**
55
72
  * Content element.
@@ -1 +1 @@
1
- {"version":3,"file":"DataList.types.d.ts","sourceRoot":"","sources":["../../../src/components/DataList/DataList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC5C,gBAAgB;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E;;OAEG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"DataList.types.d.ts","sourceRoot":"","sources":["../../../src/components/DataList/DataList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC5C,gBAAgB;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;IACtD;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E;;OAEG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;IACtD,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,sCAAsC;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC5E,8EAA8E;IAC9E,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
@@ -1,25 +1,25 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const dialogOverlayVariants = cva(
4
- "fixed inset-0 z-50 bg-black/60 backdrop-blur-xs transition-opacity duration-200 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
4
+ "fixed inset-0 z-50 bg-grey-1000/60 backdrop-blur-xs transition-opacity duration-200 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
5
5
  );
6
6
  const dialogContentVariants = cva(
7
- "relative pointer-events-auto flex flex-col w-full max-w-lg max-h-[calc(100vh-2rem)] sm:max-h-[calc(100vh-4rem)] rounded-xl border border-grey-200 dark:border-grey-800 bg-white dark:bg-grey-900 shadow-xl font-sans text-foreground overflow-hidden data-[state=open]:animate-dialog-scale-in data-[state=closed]:animate-dialog-scale-out"
7
+ "relative pointer-events-auto flex flex-col w-full max-w-lg max-h-[calc(100vh-2rem)] sm:max-h-[calc(100vh-4rem)] rounded-xl border border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900 shadow-xl font-sans text-foreground overflow-hidden data-[state=open]:animate-dialog-scale-in data-[state=closed]:animate-dialog-scale-out"
8
8
  );
9
9
  const dialogHeaderVariants = cva(
10
- "flex flex-col space-y-1.5 text-left p-6 pb-4 border-b border-grey-100 dark:border-grey-800/60 shrink-0 bg-white dark:bg-grey-900 pr-12"
10
+ "flex flex-col space-y-1.5 text-left p-6 pb-4 border-b border-grey-100 dark:border-grey-800/60 shrink-0 bg-grey-50 dark:bg-grey-900 pr-12"
11
11
  );
12
12
  const dialogBodyVariants = cva(
13
13
  "flex-1 overflow-y-auto p-6 min-h-0"
14
14
  );
15
15
  const dialogFooterVariants = cva(
16
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 p-6 pt-4 border-t border-grey-100 dark:border-grey-800/60 shrink-0 bg-white dark:bg-grey-900"
16
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 p-6 pt-4 border-t border-grey-100 dark:border-grey-800/60 shrink-0 bg-grey-50 dark:bg-grey-900"
17
17
  );
18
18
  const dialogTitleVariants = cva(
19
- "text-xl font-display font-semibold leading-none tracking-tight text-foreground"
19
+ "text-h5 font-semibold leading-none tracking-tight text-foreground"
20
20
  );
21
21
  const dialogDescriptionVariants = cva(
22
- "text-sm text-muted-foreground font-sans leading-relaxed"
22
+ "text-body-2 text-muted-foreground leading-relaxed"
23
23
  );
24
24
 
25
25
  export { dialogBodyVariants, dialogContentVariants, dialogDescriptionVariants, dialogFooterVariants, dialogHeaderVariants, dialogOverlayVariants, dialogTitleVariants };
@@ -41,7 +41,7 @@ const Divider = React.forwardRef(
41
41
  "data-slot": "divider",
42
42
  "data-testid": "timmbr-divider",
43
43
  style,
44
- className: cn("flex items-center w-full my-4 gap-3 text-xs font-medium text-grey-500 dark:text-grey-400", className),
44
+ className: cn("flex items-center w-full my-4 gap-3 text-body-3 font-medium text-grey-500 dark:text-grey-400", className),
45
45
  ...props,
46
46
  children: [
47
47
  /* @__PURE__ */ jsx("div", { className: leftLineClass }),
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import * as DialogPrimitive from '@radix-ui/react-dialog';
3
- import type { DrawerProps, DrawerContentProps, DrawerHeaderProps, DrawerFooterProps } from './Drawer.types';
3
+ import type { DrawerProps, DrawerContentProps, DrawerHeaderProps, DrawerFooterProps, DrawerBodyProps } from './Drawer.types';
4
4
  export declare const Drawer: React.FC<DrawerProps>;
5
5
  export declare const DrawerTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
6
  export declare const DrawerPortal: React.FC<DialogPrimitive.DialogPortalProps>;
@@ -9,6 +9,7 @@ export declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<DialogP
9
9
  export declare const DrawerContent: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
10
10
  export declare const DrawerHeader: React.FC<DrawerHeaderProps>;
11
11
  export declare const DrawerFooter: React.FC<DrawerFooterProps>;
12
- export declare const DrawerTitle: React.ForwardRefExoticComponent<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
13
- export declare const DrawerDescription: React.ForwardRefExoticComponent<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
12
+ export declare const DrawerBody: React.FC<DrawerBodyProps>;
13
+ export declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
14
+ export declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
14
15
  //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAW1D,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAwB,CAAC;AAClE,eAAO,MAAM,aAAa,8GAA0B,CAAC;AACrD,eAAO,MAAM,YAAY,6CAAyB,CAAC;AACnD,eAAO,MAAM,WAAW,4GAAwB,CAAC;AAEjD,eAAO,MAAM,aAAa,8JAUxB,CAAC;AAGH,eAAO,MAAM,aAAa,2FAmCxB,CAAC;AAGH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAEpD,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAEpD,CAAC;AAGF,eAAO,MAAM,WAAW,6GAAwB,CAAC;AACjD,eAAO,MAAM,iBAAiB,qHAA8B,CAAC"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAc1D,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAwB,CAAC;AAClE,eAAO,MAAM,aAAa,8GAA0B,CAAC;AACrD,eAAO,MAAM,YAAY,6CAAyB,CAAC;AACnD,eAAO,MAAM,WAAW,4GAAwB,CAAC;AAEjD,eAAO,MAAM,aAAa,8JAUxB,CAAC;AAGH,eAAO,MAAM,aAAa,2FAuCxB,CAAC;AAGH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAEpD,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAEpD,CAAC;AAGF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAEhD,CAAC;AAGF,eAAO,MAAM,WAAW,oKAUtB,CAAC;AAGH,eAAO,MAAM,iBAAiB,8KAU5B,CAAC"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
4
  import * as DialogPrimitive from '@radix-ui/react-dialog';
5
5
  import { cn } from '@timmbr/utils';
6
6
  import { X } from '@timmbr/icons';
7
7
  import { resolveMotion } from '../../types/motion.js';
8
- import { drawerContentVariants, drawerFooterVariants, drawerHeaderVariants, drawerOverlayVariants } from './Drawer.styles.js';
8
+ import { drawerBodyVariants, drawerContentVariants, drawerDescriptionVariants, drawerFooterVariants, drawerHeaderVariants, drawerOverlayVariants, drawerTitleVariants } from './Drawer.styles.js';
9
9
  import { useGlobalAnimation } from '../../providers/AnimationProvider.js';
10
10
 
11
11
  const Drawer = DialogPrimitive.Root;
@@ -40,7 +40,14 @@ const DrawerContent = React.forwardRef(({ className, children, side = "right", m
40
40
  ),
41
41
  ...props,
42
42
  children: [
43
- side === "bottom" && /* @__PURE__ */ jsx("div", { className: "mx-auto mb-4 h-1.5 w-12 rounded-full bg-grey-300 dark:bg-grey-700" }),
43
+ side === "bottom" && /* @__PURE__ */ jsx(
44
+ "div",
45
+ {
46
+ "aria-hidden": "true",
47
+ "data-slot": "drawer-handle",
48
+ className: "mx-auto h-1.5 w-12 shrink-0 rounded-full bg-grey-300 dark:bg-grey-700"
49
+ }
50
+ ),
44
51
  children,
45
52
  /* @__PURE__ */ jsxs(
46
53
  DialogPrimitive.Close,
@@ -63,7 +70,27 @@ const DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { c
63
70
  DrawerHeader.displayName = "DrawerHeader";
64
71
  const DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { className: cn(drawerFooterVariants(), className), ...props });
65
72
  DrawerFooter.displayName = "DrawerFooter";
66
- const DrawerTitle = DialogPrimitive.Title;
67
- const DrawerDescription = DialogPrimitive.Description;
73
+ const DrawerBody = ({ className, ...props }) => /* @__PURE__ */ jsx("div", { "data-slot": "drawer-body", className: cn(drawerBodyVariants(), className), ...props });
74
+ DrawerBody.displayName = "DrawerBody";
75
+ const DrawerTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
76
+ DialogPrimitive.Title,
77
+ {
78
+ ref,
79
+ "data-slot": "drawer-title",
80
+ className: cn(drawerTitleVariants(), className),
81
+ ...props
82
+ }
83
+ ));
84
+ DrawerTitle.displayName = DialogPrimitive.Title.displayName;
85
+ const DrawerDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
86
+ DialogPrimitive.Description,
87
+ {
88
+ ref,
89
+ "data-slot": "drawer-description",
90
+ className: cn(drawerDescriptionVariants(), className),
91
+ ...props
92
+ }
93
+ ));
94
+ DrawerDescription.displayName = DialogPrimitive.Description.displayName;
68
95
 
69
- export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
96
+ export { Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
@@ -5,5 +5,9 @@ export declare const drawerContentVariants: (props?: ({
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  export declare const drawerHeaderVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
7
  export declare const drawerFooterVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
+ /** Scrolls on its own so the header and footer stay in view (bottom sheets with long forms). */
9
+ export declare const drawerBodyVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
10
+ export declare const drawerTitleVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
11
+ export declare const drawerDescriptionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
12
  export type DrawerContentVariants = VariantProps<typeof drawerContentVariants>;
9
13
  //# sourceMappingURL=Drawer.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,qBAAqB,oFAEjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;8EAejC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"Drawer.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,qBAAqB,oFAEjC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;8EAejC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,kBAAkB,oFAAsE,CAAC;AAEtG,eAAO,MAAM,mBAAmB,oFAA2E,CAAC;AAE5G,eAAO,MAAM,yBAAyB,oFAA2D,CAAC;AAElG,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const drawerOverlayVariants = cva(
4
- "fixed inset-0 z-50 bg-black/60 backdrop-blur-xs transition-opacity duration-300 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
4
+ "fixed inset-0 z-50 bg-grey-1000/60 backdrop-blur-xs transition-opacity duration-300 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
5
5
  );
6
6
  const drawerContentVariants = cva(
7
- "fixed z-50 gap-4 bg-white dark:bg-grey-900 p-6 shadow-2xl transition ease-in-out duration-300 font-sans text-foreground border-grey-200 dark:border-grey-800",
7
+ "fixed z-50 flex flex-col gap-4 bg-grey-50 dark:bg-grey-900 p-6 shadow-2xl transition ease-in-out duration-300 font-sans text-foreground border-grey-200 dark:border-grey-800",
8
8
  {
9
9
  variants: {
10
10
  side: {
11
11
  top: "inset-x-0 top-0 border-b data-[state=open]:animate-slide-in-from-top data-[state=closed]:animate-slide-out-to-top",
12
- bottom: "inset-x-0 bottom-0 border-t rounded-t-2xl max-h-[85vh] data-[state=open]:animate-slide-in-from-bottom data-[state=closed]:animate-slide-out-to-bottom",
12
+ bottom: "inset-x-0 bottom-0 border-t rounded-t-2xl max-h-[90dvh] pt-3 pb-[max(1.5rem,env(safe-area-inset-bottom))] data-[state=open]:animate-slide-in-from-bottom data-[state=closed]:animate-slide-out-to-bottom",
13
13
  left: "inset-y-0 left-0 h-full w-3/4 max-w-sm border-r data-[state=open]:animate-slide-in-from-left data-[state=closed]:animate-slide-out-to-left",
14
14
  right: "inset-y-0 right-0 h-full w-3/4 max-w-md border-l data-[state=open]:animate-slide-in-from-right data-[state=closed]:animate-slide-out-to-right"
15
15
  }
@@ -20,10 +20,13 @@ const drawerContentVariants = cva(
20
20
  }
21
21
  );
22
22
  const drawerHeaderVariants = cva(
23
- "flex flex-col space-y-1.5 text-left"
23
+ "flex shrink-0 flex-col space-y-1.5 text-left pr-8"
24
24
  );
25
25
  const drawerFooterVariants = cva(
26
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 mt-auto pt-4"
26
+ "flex shrink-0 flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 mt-auto pt-4"
27
27
  );
28
+ const drawerBodyVariants = cva("-mx-6 min-h-0 flex-1 overflow-y-auto overscroll-contain px-6");
29
+ const drawerTitleVariants = cva("text-h5 font-semibold leading-none tracking-tight text-foreground");
30
+ const drawerDescriptionVariants = cva("text-body-2 text-muted-foreground leading-relaxed");
28
31
 
29
- export { drawerContentVariants, drawerFooterVariants, drawerHeaderVariants, drawerOverlayVariants };
32
+ export { drawerBodyVariants, drawerContentVariants, drawerDescriptionVariants, drawerFooterVariants, drawerHeaderVariants, drawerOverlayVariants, drawerTitleVariants };
@@ -11,4 +11,5 @@ export interface DrawerContentProps extends React.ComponentPropsWithoutRef<typeo
11
11
  }
12
12
  export type DrawerHeaderProps = React.HTMLAttributes<HTMLDivElement>;
13
13
  export type DrawerFooterProps = React.HTMLAttributes<HTMLDivElement>;
14
+ export type DrawerBodyProps = React.HTMLAttributes<HTMLDivElement>;
14
15
  //# sourceMappingURL=Drawer.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.types.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;AAEtD,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EACpE,qBAAqB;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"Drawer.types.d.ts","sourceRoot":"","sources":["../../../src/components/Drawer/Drawer.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;AAEtD,MAAM,WAAW,kBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EACpE,qBAAqB;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AACrE,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AAMvE,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAA8B,CAAC;AACpF,eAAO,MAAM,mBAAmB,0HAAgC,CAAC;AACjE,eAAO,MAAM,iBAAiB,qHAA8B,CAAC;AAC7D,eAAO,MAAM,kBAAkB,yDAA+B,CAAC;AAC/D,eAAO,MAAM,eAAe,sDAA4B,CAAC;AACzD,eAAO,MAAM,sBAAsB,0HAAmC,CAAC;AAEvE,eAAO,MAAM,sBAAsB;YAGvB,OAAO;wCAiBjB,CAAC;AAGH,eAAO,MAAM,sBAAsB,6KAUjC,CAAC;AAGH,eAAO,MAAM,mBAAmB,iGAuB9B,CAAC;AAGH,eAAO,MAAM,gBAAgB,8FAU3B,CAAC;AAGH,eAAO,MAAM,wBAAwB,+KAsBnC,CAAC;AAGH,eAAO,MAAM,iBAAiB;YAGlB,OAAO;wCAajB,CAAC;AAGH,eAAO,MAAM,qBAAqB,4KAUhC,CAAC;AAGH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAUhF,CAAC"}
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AAMvE,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAA8B,CAAC;AACpF,eAAO,MAAM,mBAAmB,0HAAgC,CAAC;AACjE,eAAO,MAAM,iBAAiB,qHAA8B,CAAC;AAC7D,eAAO,MAAM,kBAAkB,yDAA+B,CAAC;AAC/D,eAAO,MAAM,eAAe,sDAA4B,CAAC;AACzD,eAAO,MAAM,sBAAsB,0HAAmC,CAAC;AAEvE,eAAO,MAAM,sBAAsB;YAGvB,OAAO;wCAiBjB,CAAC;AAGH,eAAO,MAAM,sBAAsB,6KAUjC,CAAC;AAGH,eAAO,MAAM,mBAAmB,iGAuB9B,CAAC;AAGH,eAAO,MAAM,gBAAgB,8FAoC3B,CAAC;AAGH,eAAO,MAAM,wBAAwB,+KAsBnC,CAAC;AAGH,eAAO,MAAM,iBAAiB;YAGlB,OAAO;wCAajB,CAAC;AAGH,eAAO,MAAM,qBAAqB,4KAUhC,CAAC;AAGH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,CAUhF,CAAC"}
@@ -1,11 +1,11 @@
1
1
  "use client";
2
- import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
4
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
5
5
  import { cn } from '@timmbr/utils';
6
6
  import { Check, ChevronRight } from '@timmbr/icons';
7
7
  import { resolveMotion } from '../../types/motion.js';
8
- import { dropdownItemVariants, dropdownContentVariants } from './Dropdown.styles.js';
8
+ import { dropdownItemVariants, dropdownContentVariants, dropdownItemIconVariants } from './Dropdown.styles.js';
9
9
  import { useGlobalAnimation } from '../../providers/AnimationProvider.js';
10
10
 
11
11
  const DropdownMenu = DropdownMenuPrimitive.Root;
@@ -63,15 +63,28 @@ const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, motio
63
63
  ) });
64
64
  });
65
65
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
66
- const DropdownMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
67
- DropdownMenuPrimitive.Item,
68
- {
69
- ref,
70
- "data-slot": "dropdown-item",
71
- className: cn(dropdownItemVariants(), inset && "pl-8", className),
72
- ...props
66
+ const DropdownMenuItem = React.forwardRef(({ className, inset, icon, destructive, asChild, children, ...props }, ref) => {
67
+ const iconNode = icon ? /* @__PURE__ */ jsx("span", { "data-slot": "dropdown-item-icon", "aria-hidden": "true", className: dropdownItemIconVariants(), children: icon }) : null;
68
+ let content = children;
69
+ if (iconNode) {
70
+ content = asChild && React.isValidElement(children) ? React.cloneElement(children, void 0, iconNode, children.props.children) : /* @__PURE__ */ jsxs(Fragment, { children: [
71
+ iconNode,
72
+ children
73
+ ] });
73
74
  }
74
- ));
75
+ return /* @__PURE__ */ jsx(
76
+ DropdownMenuPrimitive.Item,
77
+ {
78
+ ref,
79
+ asChild,
80
+ "data-slot": "dropdown-item",
81
+ "data-destructive": destructive ? "" : void 0,
82
+ className: cn(dropdownItemVariants({ destructive }), icon && "gap-2", inset && "pl-8", className),
83
+ ...props,
84
+ children: content
85
+ }
86
+ );
87
+ });
75
88
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
76
89
  const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
77
90
  DropdownMenuPrimitive.CheckboxItem,
@@ -98,7 +111,7 @@ const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref)
98
111
  ref,
99
112
  "data-slot": "dropdown-label",
100
113
  className: cn(
101
- "px-2 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider",
114
+ "px-2 py-1.5 text-body-3 font-semibold text-muted-foreground uppercase tracking-wider",
102
115
  inset && "pl-8",
103
116
  className
104
117
  ),
@@ -123,7 +136,7 @@ const DropdownMenuShortcut = ({
123
136
  return /* @__PURE__ */ jsx(
124
137
  "span",
125
138
  {
126
- className: cn("ml-auto text-xs tracking-widest text-muted-foreground font-mono", className),
139
+ className: cn("ml-auto text-body-3 tracking-widest text-muted-foreground tabular-nums", className),
127
140
  ...props
128
141
  }
129
142
  );
@@ -1,3 +1,7 @@
1
1
  export declare const dropdownContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
- export declare const dropdownItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
+ export declare const dropdownItemVariants: (props?: ({
3
+ destructive?: boolean | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ /** Leading icon of a menu item. */
6
+ export declare const dropdownItemIconVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
3
7
  //# sourceMappingURL=Dropdown.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,oFAEnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAEhC,CAAC"}
1
+ {"version":3,"file":"Dropdown.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,oFAEnC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;8EAWhC,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,wBAAwB,oFAAyE,CAAC"}
@@ -1,10 +1,20 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const dropdownContentVariants = cva(
4
- "z-50 min-w-[8rem] overflow-hidden rounded-md border border-grey-200 dark:border-grey-700 bg-white dark:bg-grey-900 p-1 text-foreground shadow-lg font-sans transition-all duration-150 data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out"
4
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border border-grey-200 dark:border-grey-700 bg-grey-50 dark:bg-grey-900 p-1 text-foreground shadow-lg font-sans transition-all duration-150 data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out"
5
5
  );
6
6
  const dropdownItemVariants = cva(
7
- "relative flex cursor-pointer select-none items-center rounded-sm px-2.5 py-1.5 text-sm outline-none transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus:bg-grey-100 dark:focus:bg-grey-800 focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
7
+ "relative flex cursor-pointer select-none items-center rounded-sm px-2.5 py-1.5 text-body-2 outline-none transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus:bg-grey-100 dark:focus:bg-grey-800 focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
8
+ {
9
+ variants: {
10
+ destructive: {
11
+ true: "text-destructive hover:bg-destructive/10 focus:bg-destructive/10 focus:text-destructive dark:hover:bg-destructive/15 dark:focus:bg-destructive/15",
12
+ false: ""
13
+ }
14
+ },
15
+ defaultVariants: { destructive: false }
16
+ }
8
17
  );
18
+ const dropdownItemIconVariants = cva("flex size-4 shrink-0 items-center justify-center [&_svg]:size-4");
9
19
 
10
- export { dropdownContentVariants, dropdownItemVariants };
20
+ export { dropdownContentVariants, dropdownItemIconVariants, dropdownItemVariants };
@@ -10,5 +10,9 @@ export interface DropdownMenuContentProps extends React.ComponentPropsWithoutRef
10
10
  }
11
11
  export interface DropdownMenuItemProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> {
12
12
  inset?: boolean;
13
+ /** Leading icon (also placed inside an `asChild` link). */
14
+ icon?: React.ReactNode;
15
+ /** Destructive action (e.g. Log out, Delete): red text and highlight. */
16
+ destructive?: boolean;
13
17
  }
14
18
  //# sourceMappingURL=Dropdown.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.types.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,iBAAiB,CAAC;AAExE,MAAM,WAAW,wBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC;IAC5E;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,qBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"Dropdown.types.d.ts","sourceRoot":"","sources":["../../../src/components/Dropdown/Dropdown.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,iBAAiB,CAAC;AAExE,MAAM,WAAW,wBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC;IAC5E;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,qBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,UAAU,wFAyEtB,CAAC"}
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,UAAU,wFA0EtB,CAAC"}
@@ -12,6 +12,7 @@ const EmptyState = React.forwardRef(
12
12
  className,
13
13
  variant = "default",
14
14
  size = "default",
15
+ fullWidth = false,
15
16
  icon,
16
17
  title,
17
18
  description,
@@ -29,7 +30,7 @@ const EmptyState = React.forwardRef(
29
30
  ref,
30
31
  "data-slot": "empty-state",
31
32
  className: cn(
32
- emptyStateVariants({ variant, size }),
33
+ emptyStateVariants({ variant, size, fullWidth }),
33
34
  !shouldAnimate && "transition-none animate-none",
34
35
  motionClass,
35
36
  className
@@ -47,7 +48,7 @@ const EmptyState = React.forwardRef(
47
48
  title && /* @__PURE__ */ jsx(
48
49
  "h3",
49
50
  {
50
- className: "text-base font-display font-semibold text-foreground tracking-tight",
51
+ className: "text-h6 font-semibold text-foreground tracking-tight",
51
52
  "data-slot": "empty-state-title",
52
53
  children: title
53
54
  }
@@ -55,7 +56,7 @@ const EmptyState = React.forwardRef(
55
56
  description && /* @__PURE__ */ jsx(
56
57
  "p",
57
58
  {
58
- className: "text-xs text-muted-foreground mt-1.5 max-w-sm leading-relaxed",
59
+ className: "text-body-3 text-muted-foreground mt-1.5 max-w-sm leading-relaxed",
59
60
  "data-slot": "empty-state-description",
60
61
  children: description
61
62
  }
@@ -1,10 +1,11 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const emptyStateVariants: (props?: ({
3
3
  variant?: "default" | "subtle" | "bordered" | null | undefined;
4
- size?: "default" | "sm" | "lg" | null | undefined;
4
+ size?: "sm" | "lg" | "default" | null | undefined;
5
+ fullWidth?: boolean | null | undefined;
5
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
7
  export declare const emptyStateIconWrapperVariants: (props?: ({
7
- size?: "default" | "sm" | "lg" | null | undefined;
8
+ size?: "sm" | "lg" | "default" | null | undefined;
8
9
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
10
  export type EmptyStateVariants = VariantProps<typeof emptyStateVariants>;
10
11
  //# sourceMappingURL=EmptyState.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.styles.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;8EAsB9B,CAAC;AAEF,eAAO,MAAM,6BAA6B;;8EAczC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"EmptyState.styles.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;8EA2B9B,CAAC;AAEF,eAAO,MAAM,6BAA6B;;8EAczC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -13,6 +13,11 @@ const emptyStateVariants = cva(
13
13
  sm: "py-6 px-4 max-w-sm",
14
14
  default: "py-10 px-6 max-w-md",
15
15
  lg: "py-16 px-8 max-w-lg"
16
+ },
17
+ /** Fill the container instead of the size's max width. */
18
+ fullWidth: {
19
+ true: "w-full max-w-none",
20
+ false: ""
16
21
  }
17
22
  },
18
23
  defaultVariants: {
@@ -26,9 +31,9 @@ const emptyStateIconWrapperVariants = cva(
26
31
  {
27
32
  variants: {
28
33
  size: {
29
- sm: "size-10 text-lg",
30
- default: "size-14 text-2xl",
31
- lg: "size-20 text-3xl"
34
+ sm: "size-10 text-subtitle-1",
35
+ default: "size-14 text-h4",
36
+ lg: "size-20 text-h3"
32
37
  }
33
38
  },
34
39
  defaultVariants: {
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { type GapValue } from '../../utils/gap';
3
+ export interface FieldsetProps extends React.FieldsetHTMLAttributes<HTMLFieldSetElement> {
4
+ /** Group title (an overline label above the fields). */
5
+ legend: React.ReactNode;
6
+ /** Space between the fields. @default 4 */
7
+ gap?: GapValue;
8
+ }
9
+ /**
10
+ * Groups related form fields under a label ("Contact", "Address"…). Fixes the
11
+ * fieldset quirks: it can shrink (`min-w-0`) and the legend gets its spacing.
12
+ */
13
+ export declare const Fieldset: React.ForwardRefExoticComponent<FieldsetProps & React.RefAttributes<HTMLFieldSetElement>>;
14
+ //# sourceMappingURL=Fieldset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fieldset.d.ts","sourceRoot":"","sources":["../../../src/components/Fieldset/Fieldset.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3D,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;IACtF,wDAAwD;IACxD,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,2FAiBpB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { cn } from '@timmbr/utils';
4
+ import { formatGap } from '../../utils/gap.js';
5
+ import { Text } from '../Text/Text.js';
6
+
7
+ const Fieldset = React.forwardRef(
8
+ ({ legend, gap = 4, className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
9
+ "fieldset",
10
+ {
11
+ ref,
12
+ "data-slot": "fieldset",
13
+ className: cn("flex min-w-0 flex-col border-0 p-0 m-0", formatGap(gap), className),
14
+ ...props,
15
+ children: [
16
+ /* @__PURE__ */ jsx(Text, { asChild: true, variant: "overline", foreground: "muted", children: /* @__PURE__ */ jsx("legend", { "data-slot": "fieldset-legend", className: "mb-3 p-0", children: legend }) }),
17
+ children
18
+ ]
19
+ }
20
+ )
21
+ );
22
+ Fieldset.displayName = "Fieldset";
23
+
24
+ export { Fieldset };
@@ -0,0 +1,2 @@
1
+ export * from './Fieldset';
2
+ //# sourceMappingURL=index.d.ts.map