@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
@@ -201,15 +201,15 @@ const ImageUpload = React.forwardRef(
201
201
  ...props,
202
202
  children: [
203
203
  (label || maxFiles || minFiles) && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 select-none", children: [
204
- label && /* @__PURE__ */ jsxs("label", { className: "text-xs font-semibold text-foreground tracking-wide flex items-center gap-1.5", children: [
204
+ label && /* @__PURE__ */ jsxs("label", { className: "text-body-3 font-semibold text-foreground tracking-wide flex items-center gap-1.5", children: [
205
205
  /* @__PURE__ */ jsx("span", { children: label }),
206
- minFiles && minFiles > 0 && /* @__PURE__ */ jsxs("span", { className: "text-[11px] text-muted font-normal", children: [
206
+ minFiles && minFiles > 0 && /* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted font-normal", children: [
207
207
  "(Min ",
208
208
  minFiles,
209
209
  ")"
210
210
  ] })
211
211
  ] }),
212
- multiple && /* @__PURE__ */ jsxs("span", { className: "text-[11px] font-medium text-muted", children: [
212
+ multiple && /* @__PURE__ */ jsxs("span", { className: "text-caption-lg font-medium text-muted", children: [
213
213
  items.length,
214
214
  maxFiles ? ` / ${maxFiles}` : "",
215
215
  " uploaded"
@@ -284,7 +284,7 @@ const ImageUpload = React.forwardRef(
284
284
  onDragLeave: handleDragLeave,
285
285
  onDrop: handleDrop
286
286
  }
287
- ) : /* @__PURE__ */ jsxs("div", { className: "w-full rounded-xl border border-dashed border-grey-300 dark:border-grey-700 bg-grey-50/50 dark:bg-grey-900/30 p-3 text-center text-xs text-muted", children: [
287
+ ) : /* @__PURE__ */ jsxs("div", { className: "w-full rounded-xl border border-dashed border-grey-300 dark:border-grey-700 bg-grey-50/50 dark:bg-grey-900/30 p-3 text-center text-body-3 text-muted", children: [
288
288
  "Maximum upload limit reached (",
289
289
  maxFiles,
290
290
  "/",
@@ -334,8 +334,8 @@ const ImageUpload = React.forwardRef(
334
334
  "p",
335
335
  {
336
336
  className: cn(
337
- "text-xs mt-1 flex items-center gap-1.5 leading-normal",
338
- isError ? "text-destructive font-medium" : minFilesWarning ? "text-amber-600 dark:text-amber-400 font-medium" : "text-muted"
337
+ "text-body-3 mt-1 flex items-center gap-1.5 leading-normal",
338
+ isError ? "text-destructive font-medium" : minFilesWarning ? "text-warning dark:text-warning font-medium" : "text-muted"
339
339
  ),
340
340
  children: [
341
341
  (isError || minFilesWarning) && /* @__PURE__ */ jsx(AlertCircle, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
@@ -64,38 +64,38 @@ const ImageUploadDropzone = ({
64
64
  ),
65
65
  children: isUploading ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-2", children: [
66
66
  /* @__PURE__ */ jsx(Spinner, { size: "md" }),
67
- /* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-foreground", children: loadingText })
67
+ /* @__PURE__ */ jsx("span", { className: "text-body-3 font-medium text-foreground", children: loadingText })
68
68
  ] }) : size === "compact" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-1.5 text-center pointer-events-none", children: [
69
- /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-white dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(Plus, { className: "size-4 text-primary" }) }),
69
+ /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(Plus, { className: "size-4 text-primary" }) }),
70
70
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
71
- /* @__PURE__ */ jsxs("span", { className: "text-xs font-medium text-foreground", children: [
71
+ /* @__PURE__ */ jsxs("span", { className: "text-body-3 font-medium text-foreground", children: [
72
72
  /* @__PURE__ */ jsx("span", { className: "text-primary underline font-semibold", children: hasItems ? "Add more files" : "Click to upload" }),
73
73
  " ",
74
74
  "or drag & drop"
75
75
  ] }),
76
- /* @__PURE__ */ jsxs("span", { className: "text-[11px] text-muted", children: [
76
+ /* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted", children: [
77
77
  mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `Images & Videos (Max ${maxMb}MB each)` : `PNG, JPG, WEBP (Max ${maxMb}MB each)`,
78
78
  maxFiles && ` • Up to ${maxFiles} items`
79
79
  ] })
80
80
  ] })
81
81
  ] }) : aspectRatio === "square" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-1.5 text-center pointer-events-none p-1", children: [
82
- /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-white dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-4 text-primary" }) }),
82
+ /* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-4 text-primary" }) }),
83
83
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
84
- /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-primary underline", children: "Upload" }),
85
- /* @__PURE__ */ jsxs("span", { className: "text-[10px] text-muted", children: [
84
+ /* @__PURE__ */ jsx("span", { className: "text-body-3 font-semibold text-primary underline", children: "Upload" }),
85
+ /* @__PURE__ */ jsxs("span", { className: "text-caption text-muted", children: [
86
86
  "Max ",
87
87
  maxMb,
88
88
  "MB"
89
89
  ] })
90
90
  ] })
91
91
  ] }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-2 text-center pointer-events-none", children: [
92
- /* @__PURE__ */ jsx("div", { className: "size-10 rounded-xl bg-white dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-5 text-primary animate-bounce" }) : mediaType === "video" ? /* @__PURE__ */ jsx(FilmIcon, { className: "size-5 text-primary" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-5 text-primary" }) }),
92
+ /* @__PURE__ */ jsx("div", { className: "size-10 rounded-xl bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-5 text-primary animate-bounce" }) : mediaType === "video" ? /* @__PURE__ */ jsx(FilmIcon, { className: "size-5 text-primary" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-5 text-primary" }) }),
93
93
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
94
- /* @__PURE__ */ jsxs("span", { className: "text-xs font-medium text-foreground", children: [
94
+ /* @__PURE__ */ jsxs("span", { className: "text-body-3 font-medium text-foreground", children: [
95
95
  /* @__PURE__ */ jsx("span", { className: "text-primary underline font-semibold", children: "Click to upload" }),
96
96
  " or drag and drop"
97
97
  ] }),
98
- /* @__PURE__ */ jsx("span", { className: "text-[11px] text-muted", children: mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `PNG, JPG, WEBP, MP4 (Max ${maxMb}MB)` : `PNG, JPG, or WEBP (Max ${maxMb}MB)` })
98
+ /* @__PURE__ */ jsx("span", { className: "text-caption-lg text-muted", children: mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `PNG, JPG, WEBP, MP4 (Max ${maxMb}MB)` : `PNG, JPG, or WEBP (Max ${maxMb}MB)` })
99
99
  ] })
100
100
  ] })
101
101
  }
@@ -42,7 +42,7 @@ const ImageUploadModal = ({
42
42
  animate: shouldAnimate ? { opacity: 1 } : void 0,
43
43
  exit: shouldAnimate ? { opacity: 0 } : void 0,
44
44
  transition: getTransition("fast"),
45
- className: "fixed inset-0 z-[100] flex flex-col items-center justify-center p-4 sm:p-6 bg-black/60 backdrop-blur-xs",
45
+ className: "fixed inset-0 z-[100] flex flex-col items-center justify-center p-4 sm:p-6 bg-grey-1000/60 backdrop-blur-xs",
46
46
  onClick: onClose,
47
47
  children: /* @__PURE__ */ jsxs(
48
48
  motion.div,
@@ -51,14 +51,14 @@ const ImageUploadModal = ({
51
51
  animate: shouldAnimate ? { scale: 1, opacity: 1 } : void 0,
52
52
  exit: shouldAnimate ? { scale: 0.95, opacity: 0 } : void 0,
53
53
  transition: getTransition("spring"),
54
- className: "relative max-w-2xl max-h-[85vh] w-full bg-white dark:bg-grey-950 border border-grey-200 dark:border-grey-800 rounded-2xl overflow-hidden shadow-2xl flex flex-col",
54
+ className: "relative max-w-2xl max-h-[85vh] w-full bg-grey-50 dark:bg-grey-950 border border-grey-200 dark:border-grey-800 rounded-2xl overflow-hidden shadow-2xl flex flex-col",
55
55
  onClick: (e) => e.stopPropagation(),
56
56
  children: [
57
57
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-5 py-3 border-b border-grey-200 dark:border-grey-800 bg-grey-50/80 dark:bg-grey-900/80 backdrop-blur-xs select-none", children: [
58
58
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
59
- /* @__PURE__ */ jsx("span", { className: "text-xs font-semibold text-foreground tracking-wide truncate max-w-xs sm:max-w-md", children: activeItem.name || `Media Item #${activeIndex + 1}` }),
60
- activeIndex === 0 && /* @__PURE__ */ jsx("span", { className: "bg-emerald-500/10 text-emerald-700 dark:text-emerald-400 border border-emerald-500/20 text-[10px] font-semibold px-2 py-0.5 rounded-full", children: "Cover" }),
61
- /* @__PURE__ */ jsxs("span", { className: "text-[11px] text-muted", children: [
59
+ /* @__PURE__ */ jsx("span", { className: "text-body-3 font-semibold text-foreground tracking-wide truncate max-w-xs sm:max-w-md", children: activeItem.name || `Media Item #${activeIndex + 1}` }),
60
+ activeIndex === 0 && /* @__PURE__ */ jsx("span", { className: "bg-success/10 text-success dark:text-success border border-success/20 text-caption font-semibold px-2 py-0.5 rounded-full", children: "Cover" }),
61
+ /* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted", children: [
62
62
  "(",
63
63
  activeIndex + 1,
64
64
  " of ",
@@ -77,7 +77,7 @@ const ImageUploadModal = ({
77
77
  }
78
78
  ) })
79
79
  ] }),
80
- /* @__PURE__ */ jsxs("div", { className: "relative flex-1 flex items-center justify-center p-4 min-h-[260px] max-h-[70vh] bg-grey-100/50 dark:bg-black/50 overflow-hidden", children: [
80
+ /* @__PURE__ */ jsxs("div", { className: "relative flex-1 flex items-center justify-center p-4 min-h-[260px] max-h-[70vh] bg-grey-100/50 dark:bg-grey-1000/50 overflow-hidden", children: [
81
81
  isVideoMedia(activeItem) ? /* @__PURE__ */ jsx(
82
82
  "video",
83
83
  {
@@ -104,7 +104,7 @@ const ImageUploadModal = ({
104
104
  e.stopPropagation();
105
105
  onNavigate(activeIndex > 0 ? activeIndex - 1 : items.length - 1);
106
106
  },
107
- className: "absolute left-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-white/90 hover:bg-white dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
107
+ className: "absolute left-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-grey-50/90 hover:bg-grey-50 dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
108
108
  title: "Previous (Left Arrow)",
109
109
  children: /* @__PURE__ */ jsx(ChevronLeft, { className: "size-4" })
110
110
  }
@@ -117,7 +117,7 @@ const ImageUploadModal = ({
117
117
  e.stopPropagation();
118
118
  onNavigate(activeIndex < items.length - 1 ? activeIndex + 1 : 0);
119
119
  },
120
- className: "absolute right-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-white/90 hover:bg-white dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
120
+ className: "absolute right-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-grey-50/90 hover:bg-grey-50 dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
121
121
  title: "Next (Right Arrow)",
122
122
  children: /* @__PURE__ */ jsx(ChevronRight, { className: "size-4" })
123
123
  }
@@ -58,16 +58,16 @@ const ImageUploadSinglePreview = ({
58
58
  )
59
59
  }
60
60
  ),
61
- isVideo && /* @__PURE__ */ jsxs("div", { className: "absolute top-2 left-2 z-10 bg-black/65 backdrop-blur-md text-white text-[10px] font-medium px-2 py-0.5 rounded-full border border-white/20 flex items-center gap-1 shadow-sm pointer-events-none", children: [
61
+ isVideo && /* @__PURE__ */ jsxs("div", { className: "absolute top-2 left-2 z-10 bg-grey-1000/65 backdrop-blur-md text-grey-50 text-caption font-medium px-2 py-0.5 rounded-full border border-grey-50/20 flex items-center gap-1 shadow-sm pointer-events-none", children: [
62
62
  /* @__PURE__ */ jsx(PlayIcon, { className: "size-2.5" }),
63
63
  /* @__PURE__ */ jsx("span", { children: "Video" })
64
64
  ] }),
65
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-1.5 p-1 backdrop-blur-[2px]", children: aspectRatio === "square" ? /* @__PURE__ */ jsxs(Fragment, { children: [
65
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-grey-1000/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-1.5 p-1 backdrop-blur-[2px]", children: aspectRatio === "square" ? /* @__PURE__ */ jsxs(Fragment, { children: [
66
66
  enablePreviewModal && /* @__PURE__ */ jsx(
67
67
  "button",
68
68
  {
69
69
  type: "button",
70
- className: "size-8 rounded-lg bg-black/60 hover:bg-black/85 text-white flex items-center justify-center border border-white/20 transition-all cursor-pointer shadow-xs",
70
+ className: "size-8 rounded-lg bg-grey-1000/60 hover:bg-grey-1000/85 text-grey-50 flex items-center justify-center border border-grey-50/20 transition-all cursor-pointer shadow-xs",
71
71
  onClick: onPreview,
72
72
  title: "Preview full size",
73
73
  children: /* @__PURE__ */ jsx(Eye, { className: "size-3.5" })
@@ -79,7 +79,7 @@ const ImageUploadSinglePreview = ({
79
79
  type: "button",
80
80
  disabled: disabled || isUploading,
81
81
  onClick: onReplace,
82
- className: "size-8 rounded-lg bg-primary hover:bg-primary/90 text-white flex items-center justify-center transition-all cursor-pointer shadow-xs disabled:opacity-50",
82
+ className: "size-8 rounded-lg bg-primary hover:bg-primary/90 text-grey-50 flex items-center justify-center transition-all cursor-pointer shadow-xs disabled:opacity-50",
83
83
  title: "Replace image",
84
84
  children: /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-3.5" })
85
85
  }
@@ -90,7 +90,7 @@ const ImageUploadSinglePreview = ({
90
90
  type: "button",
91
91
  disabled: disabled || isUploading,
92
92
  onClick: onRemove,
93
- className: "size-8 rounded-lg bg-destructive hover:bg-destructive/90 text-white flex items-center justify-center transition-all cursor-pointer shadow-xs disabled:opacity-50",
93
+ className: "size-8 rounded-lg bg-destructive hover:bg-destructive/90 text-grey-50 flex items-center justify-center transition-all cursor-pointer shadow-xs disabled:opacity-50",
94
94
  title: "Remove image",
95
95
  children: /* @__PURE__ */ jsx(Trash2, { className: "size-3.5" })
96
96
  }
@@ -102,7 +102,7 @@ const ImageUploadSinglePreview = ({
102
102
  type: "button",
103
103
  variant: "outline",
104
104
  size: "sm",
105
- className: "border-white/40 bg-black/40 text-white hover:bg-black/60 hover:text-white backdrop-blur-xs",
105
+ className: "border-grey-50/40 bg-grey-1000/40 text-grey-50 hover:bg-grey-1000/60 hover:text-grey-50 backdrop-blur-xs",
106
106
  onClick: onPreview,
107
107
  leftIcon: /* @__PURE__ */ jsx(Eye, { className: "size-3.5" }),
108
108
  children: "Preview"
@@ -126,7 +126,7 @@ const ImageUploadSinglePreview = ({
126
126
  variant: "outline",
127
127
  size: "sm",
128
128
  disabled: disabled || isUploading,
129
- className: "border-destructive/60 bg-destructive/80 text-white hover:bg-destructive hover:text-white",
129
+ className: "border-destructive/60 bg-destructive/80 text-grey-50 hover:bg-destructive hover:text-grey-50",
130
130
  onClick: onRemove,
131
131
  leftIcon: /* @__PURE__ */ jsx(Trash2, { className: "size-3.5" }),
132
132
  children: "Remove"
@@ -50,21 +50,21 @@ const ImageUploadThumbnailCard = ({
50
50
  className: "w-full h-full object-cover"
51
51
  }
52
52
  ),
53
- /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1.5 pointer-events-none", children: index === 0 ? /* @__PURE__ */ jsxs("div", { className: "bg-black/65 backdrop-blur-md text-white text-[10px] font-semibold px-2 py-0.5 rounded-full border border-white/20 shadow-md flex items-center gap-1.5", children: [
54
- /* @__PURE__ */ jsx("span", { className: "size-1.5 rounded-full bg-emerald-400 shadow-[0_0_6px_rgba(52,211,153,0.8)]" }),
53
+ /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-2 z-10 flex items-center gap-1.5 pointer-events-none", children: index === 0 ? /* @__PURE__ */ jsxs("div", { className: "bg-grey-1000/65 backdrop-blur-md text-grey-50 text-caption font-semibold px-2 py-0.5 rounded-full border border-grey-50/20 shadow-md flex items-center gap-1.5", children: [
54
+ /* @__PURE__ */ jsx("span", { className: "size-1.5 rounded-full bg-success shadow-[0_0_6px_rgba(52,211,153,0.8)]" }),
55
55
  /* @__PURE__ */ jsx("span", { children: "Cover" })
56
- ] }) : /* @__PURE__ */ jsxs("div", { className: "bg-black/55 backdrop-blur-md text-white/90 text-[10px] font-medium px-2 py-0.5 rounded-full border border-white/10 shadow-sm", children: [
56
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "bg-grey-1000/55 backdrop-blur-md text-grey-50/90 text-caption font-medium px-2 py-0.5 rounded-full border border-grey-50/10 shadow-sm", children: [
57
57
  "#",
58
58
  index + 1
59
59
  ] }) }),
60
- isVideo && /* @__PURE__ */ jsx("div", { className: "absolute top-2 right-2 z-10 bg-black/65 backdrop-blur-md text-white p-1 rounded-full border border-white/20 shadow-md pointer-events-none", children: /* @__PURE__ */ jsx(PlayIcon, { className: "size-2.5" }) }),
61
- /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 bg-black/55 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-2 backdrop-blur-[2px] z-20", children: [
60
+ isVideo && /* @__PURE__ */ jsx("div", { className: "absolute top-2 right-2 z-10 bg-grey-1000/65 backdrop-blur-md text-grey-50 p-1 rounded-full border border-grey-50/20 shadow-md pointer-events-none", children: /* @__PURE__ */ jsx(PlayIcon, { className: "size-2.5" }) }),
61
+ /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 bg-grey-1000/55 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center gap-2 backdrop-blur-[2px] z-20", children: [
62
62
  enablePreviewModal && /* @__PURE__ */ jsx(
63
63
  "button",
64
64
  {
65
65
  type: "button",
66
66
  onClick: onPreview,
67
- className: "size-8 rounded-full bg-white/25 hover:bg-white/40 text-white flex items-center justify-center transition-colors shadow-xs cursor-pointer",
67
+ className: "size-8 rounded-full bg-grey-50/25 hover:bg-grey-50/40 text-grey-50 flex items-center justify-center transition-colors shadow-xs cursor-pointer",
68
68
  title: "Preview full size",
69
69
  children: /* @__PURE__ */ jsx(Eye, { className: "size-4" })
70
70
  }
@@ -75,7 +75,7 @@ const ImageUploadThumbnailCard = ({
75
75
  type: "button",
76
76
  disabled,
77
77
  onClick: onRemove,
78
- className: "size-8 rounded-full bg-destructive/90 hover:bg-destructive text-white flex items-center justify-center transition-colors shadow-xs cursor-pointer",
78
+ className: "size-8 rounded-full bg-destructive/90 hover:bg-destructive text-grey-50 flex items-center justify-center transition-colors shadow-xs cursor-pointer",
79
79
  title: "Remove item",
80
80
  children: /* @__PURE__ */ jsx(Trash2, { className: "size-4" })
81
81
  }
@@ -125,9 +125,9 @@ const ImageUploadTaskCard = ({
125
125
  className: "w-full h-full object-cover blur-xs scale-105 opacity-60"
126
126
  }
127
127
  ),
128
- /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 bg-black/50 flex flex-col items-center justify-center gap-1.5 p-2 text-center", children: [
129
- /* @__PURE__ */ jsx(Spinner, { size: "sm", className: "text-white" }),
130
- /* @__PURE__ */ jsx("span", { className: "text-[10px] font-medium text-white line-clamp-1 max-w-full px-1", children: name })
128
+ /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 bg-grey-1000/50 flex flex-col items-center justify-center gap-1.5 p-2 text-center", children: [
129
+ /* @__PURE__ */ jsx(Spinner, { size: "sm", className: "text-grey-50" }),
130
+ /* @__PURE__ */ jsx("span", { className: "text-caption font-medium text-grey-50 line-clamp-1 max-w-full px-1", children: name })
131
131
  ] })
132
132
  ]
133
133
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Inline.d.ts","sourceRoot":"","sources":["../../../src/components/Inline/Inline.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,MAAM,oFA4ClB,CAAC"}
1
+ {"version":3,"file":"Inline.d.ts","sourceRoot":"","sources":["../../../src/components/Inline/Inline.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,MAAM,oFAoDlB,CAAC"}
@@ -3,7 +3,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
4
  import { Slot } from '@radix-ui/react-slot';
5
5
  import { cn } from '@timmbr/utils';
6
- import { formatGap } from '../../utils/gap.js';
6
+ import { formatGap, formatAxisGap } from '../../utils/gap.js';
7
7
  import { inlineVariants } from './Inline.styles.js';
8
8
 
9
9
  const Inline = React.forwardRef(
@@ -11,6 +11,8 @@ const Inline = React.forwardRef(
11
11
  className,
12
12
  style,
13
13
  gap = 3,
14
+ rowGap,
15
+ colGap,
14
16
  align = "center",
15
17
  justify = "start",
16
18
  wrap = true,
@@ -36,7 +38,13 @@ const Inline = React.forwardRef(
36
38
  "data-slot": "inline",
37
39
  "data-testid": "timmbr-inline",
38
40
  style,
39
- className: cn(inlineVariants({ align, justify, wrap }), gapClass, className),
41
+ className: cn(
42
+ inlineVariants({ align, justify, wrap }),
43
+ gapClass,
44
+ formatAxisGap("y", rowGap),
45
+ formatAxisGap("x", colGap),
46
+ className
47
+ ),
40
48
  ...props,
41
49
  children: renderChildren()
42
50
  }
@@ -1,10 +1,15 @@
1
1
  import type * as React from 'react';
2
2
  import type { InlineVariants } from './Inline.styles';
3
+ import type { GapValue } from '../../utils/gap';
3
4
  export interface InlineProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'gap'>, Omit<InlineVariants, 'gap'> {
4
5
  /**
5
6
  * Gap between items. Translates standard Tailwind tokens, any number (px), or custom string.
6
7
  */
7
- gap?: number | string;
8
+ gap?: GapValue;
9
+ /** Gap between wrapped lines (overrides `gap` vertically). */
10
+ rowGap?: GapValue;
11
+ /** Gap between items on a line (overrides `gap` horizontally). */
12
+ colGap?: GapValue;
8
13
  /**
9
14
  * Optional divider element rendered between each inline child.
10
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Inline.types.d.ts","sourceRoot":"","sources":["../../../src/components/Inline/Inline.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,EACvD,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"Inline.types.d.ts","sourceRoot":"","sources":["../../../src/components/Inline/Inline.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,EACvD,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -84,7 +84,7 @@ const Input = React.forwardRef(
84
84
  "label",
85
85
  {
86
86
  htmlFor: id,
87
- className: "text-xs font-semibold text-foreground tracking-wide select-none text-left",
87
+ className: "text-body-3 font-semibold text-foreground tracking-wide select-none text-left",
88
88
  children: label
89
89
  }
90
90
  ),
@@ -113,7 +113,7 @@ const Input = React.forwardRef(
113
113
  htmlFor: id,
114
114
  className: cn(
115
115
  "absolute pointer-events-none transition-all duration-200 select-none truncate max-w-full z-10",
116
- isFloatingActive ? "-top-2.5 left-0 px-1 bg-white dark:bg-grey-900 text-[11px] font-semibold leading-none rounded-xs" : "top-1/2 -translate-y-1/2 left-0 text-sm text-muted-foreground leading-none"
116
+ isFloatingActive ? "-top-2.5 left-0 px-1 bg-grey-50 dark:bg-grey-900 text-caption-lg font-semibold leading-none rounded-xs" : "top-1/2 -translate-y-1/2 left-0 text-body-2 text-muted-foreground leading-none"
117
117
  ),
118
118
  style: {
119
119
  color: isFloatingActive ? isError ? "var(--color-destructive)" : "var(--color-primary)" : void 0
@@ -136,7 +136,7 @@ const Input = React.forwardRef(
136
136
  placeholder: floating && !isFloatingActive ? void 0 : placeholder,
137
137
  className: cn(
138
138
  inputFieldVariants(),
139
- "text-sm leading-normal"
139
+ "text-body-2 leading-normal"
140
140
  ),
141
141
  "aria-invalid": isError ? "true" : void 0,
142
142
  "aria-describedby": errorMessage || helperText ? `${id}-desc` : void 0,
@@ -175,7 +175,7 @@ const Input = React.forwardRef(
175
175
  {
176
176
  id: `${id}-desc`,
177
177
  className: cn(
178
- "text-xs mt-1 flex items-center gap-1.5 text-left",
178
+ "text-body-3 mt-1 flex items-center gap-1.5 text-left",
179
179
  isError ? "text-destructive font-medium" : "text-muted-foreground"
180
180
  ),
181
181
  children: [
@@ -1,7 +1,7 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const inputWrapperVariants: (props?: ({
3
3
  variant?: "filled" | "outline" | "subtle" | null | undefined;
4
- size?: "default" | "sm" | "lg" | "md" | null | undefined;
4
+ size?: "sm" | "md" | "lg" | "default" | null | undefined;
5
5
  isError?: boolean | null | undefined;
6
6
  isDisabled?: boolean | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -5,15 +5,15 @@ const inputWrapperVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  variant: {
8
- outline: "border-grey-300 dark:border-grey-700 bg-white dark:bg-grey-900 focus-within:border-primary focus-within:ring-1 focus-within:ring-primary",
9
- filled: "border-transparent bg-grey-100 dark:bg-grey-800 focus-within:bg-white dark:focus-within:bg-grey-900 focus-within:border-primary focus-within:ring-1 focus-within:ring-primary",
8
+ outline: "border-grey-300 dark:border-grey-700 bg-grey-50 dark:bg-grey-900 focus-within:border-primary focus-within:ring-1 focus-within:ring-primary",
9
+ filled: "border-transparent bg-grey-100 dark:bg-grey-800 focus-within:bg-grey-50 dark:focus-within:bg-grey-900 focus-within:border-primary focus-within:ring-1 focus-within:ring-primary",
10
10
  subtle: "border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900/50 focus-within:border-primary focus-within:ring-1 focus-within:ring-primary"
11
11
  },
12
12
  size: {
13
- sm: "h-9 px-2.5 text-xs",
14
- default: "h-11 px-3.5 text-sm",
15
- md: "h-11 px-3.5 text-sm",
16
- lg: "h-[52px] px-4 text-base"
13
+ sm: "h-9 px-2.5 text-body-3",
14
+ default: "h-11 px-3.5 text-body-2",
15
+ md: "h-11 px-3.5 text-body-2",
16
+ lg: "h-[52px] px-4 text-body-1"
17
17
  },
18
18
  isError: {
19
19
  true: "border-destructive focus-within:border-destructive focus-within:ring-1 focus-within:ring-destructive text-destructive",
@@ -1,6 +1,6 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const labelVariants: (props?: ({
3
- size?: "default" | "sm" | "lg" | "md" | null | undefined;
3
+ size?: "sm" | "md" | "lg" | "default" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
5
  export type LabelVariants = VariantProps<typeof labelVariants>;
6
6
  //# sourceMappingURL=Label.styles.d.ts.map
@@ -5,10 +5,10 @@ const labelVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  size: {
8
- sm: "text-xs",
9
- default: "text-sm",
10
- md: "text-sm",
11
- lg: "text-base"
8
+ sm: "text-body-3",
9
+ default: "text-body-2",
10
+ md: "text-body-2",
11
+ lg: "text-body-1"
12
12
  }
13
13
  },
14
14
  defaultVariants: {
@@ -1 +1 @@
1
- {"version":3,"file":"LinkButton.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/LinkButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,2FAyMtB,CAAC"}
1
+ {"version":3,"file":"LinkButton.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/LinkButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,2FA2MtB,CAAC"}
@@ -16,6 +16,7 @@ const LinkButton = React.forwardRef(
16
16
  style,
17
17
  variant,
18
18
  size,
19
+ fullWidth,
19
20
  asChild = false,
20
21
  motion,
21
22
  leftIcon,
@@ -55,6 +56,7 @@ const LinkButton = React.forwardRef(
55
56
  variant: resolvedVariant,
56
57
  size: resolvedSize,
57
58
  disabled: isDisabled,
59
+ fullWidth,
58
60
  className
59
61
  }),
60
62
  !shouldAnimate && "transition-none active:scale-100",
@@ -1,8 +1,9 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const linkButtonVariants: (props?: ({
3
- variant?: "link" | "default" | "destructive" | "outline" | "ghost" | "subtle" | "primary" | "secondary" | "muted" | null | undefined;
4
- size?: "default" | "icon" | "sm" | "lg" | "md" | null | undefined;
3
+ variant?: "link" | "default" | "destructive" | "outline" | "ghost" | "subtle" | "primary" | "secondary" | "muted" | "back" | null | undefined;
4
+ size?: "sm" | "md" | "lg" | "default" | "icon" | null | undefined;
5
5
  disabled?: boolean | null | undefined;
6
+ fullWidth?: boolean | null | undefined;
6
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
8
  export type LinkButtonVariants = VariantProps<typeof linkButtonVariants>;
8
9
  //# sourceMappingURL=LinkButton.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkButton.styles.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/LinkButton.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;8EAiE9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"LinkButton.styles.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/LinkButton.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;8EAwE9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -7,24 +7,30 @@ const linkButtonVariants = cva(
7
7
  variant: {
8
8
  default: "text-primary underline-offset-4 hover:underline font-medium p-0 h-auto active:scale-100",
9
9
  link: "text-primary underline-offset-4 hover:underline font-medium p-0 h-auto active:scale-100",
10
- primary: "bg-primary text-white hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm active:scale-[0.98] font-semibold whitespace-nowrap",
10
+ primary: "bg-primary text-grey-50 hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm active:scale-[0.98] font-semibold whitespace-nowrap",
11
11
  secondary: "bg-secondary text-secondary-foreground hover:bg-bg-subtle hover:brightness-105 active:bg-secondary-foreground/10 active:brightness-95 shadow-xs hover:shadow-sm active:scale-[0.98] font-semibold whitespace-nowrap",
12
12
  outline: "border border-grey-300 dark:border-grey-700 bg-transparent text-foreground hover:bg-grey-100 dark:hover:bg-grey-900 active:bg-grey-200 dark:active:bg-grey-800 hover:border-grey-400 dark:hover:border-grey-600 active:scale-[0.98] font-semibold whitespace-nowrap",
13
13
  ghost: "text-foreground hover:bg-grey-100 dark:hover:bg-grey-900 active:bg-grey-200 dark:active:bg-grey-800 active:scale-[0.98] font-semibold whitespace-nowrap",
14
- destructive: "bg-destructive text-white hover:bg-red-700 hover:brightness-105 hover:shadow-md active:brightness-95 shadow-sm active:scale-[0.98] font-semibold whitespace-nowrap",
14
+ destructive: "bg-destructive text-grey-50 hover:bg-destructive/90 hover:brightness-105 hover:shadow-md active:brightness-95 shadow-sm active:scale-[0.98] font-semibold whitespace-nowrap",
15
15
  muted: "text-grey-600 dark:text-grey-400 hover:text-foreground underline-offset-4 hover:underline font-normal p-0 h-auto active:scale-100",
16
+ /** "‹ Back" links: muted, no underline, 44px touch target, optically aligned to the edge. */
17
+ back: "-ms-1 min-h-11 text-muted-foreground hover:text-foreground font-medium p-0 active:scale-100",
16
18
  subtle: "text-foreground/80 hover:text-foreground underline-offset-4 hover:underline font-normal p-0 h-auto active:scale-100"
17
19
  },
18
20
  size: {
19
- sm: "text-xs gap-1",
20
- default: "text-sm gap-1.5",
21
- md: "text-sm gap-1.5",
22
- lg: "text-base gap-2",
21
+ sm: "text-body-3 gap-1",
22
+ default: "text-body-2 gap-1.5",
23
+ md: "text-body-2 gap-1.5",
24
+ lg: "text-body-1 gap-2",
23
25
  icon: "p-1 shrink-0"
24
26
  },
25
27
  disabled: {
26
28
  true: "pointer-events-none opacity-50 cursor-not-allowed",
27
29
  false: "cursor-pointer"
30
+ },
31
+ fullWidth: {
32
+ true: "w-full",
33
+ false: ""
28
34
  }
29
35
  },
30
36
  compoundVariants: [
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,IAAI,oFAShB,CAAC;AAGF,eAAO,MAAM,QAAQ,qFAmBpB,CAAC;AAGF,eAAO,MAAM,YAAY,0FASxB,CAAC;AAGF,eAAO,MAAM,YAAY,0FAiBxB,CAAC;AAGF,eAAO,MAAM,cAAc,4FAS1B,CAAC"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,IAAI,oFAShB,CAAC;AAGF,eAAO,MAAM,QAAQ,qFAoCpB,CAAC;AAGF,eAAO,MAAM,YAAY,0FASxB,CAAC;AAGF,eAAO,MAAM,YAAY,0FAiBxB,CAAC;AAGF,eAAO,MAAM,cAAc,4FAS1B,CAAC"}
@@ -1,23 +1,35 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
+ import { Slot } from '@radix-ui/react-slot';
4
5
  import { cn } from '@timmbr/utils';
5
- import { listVariants, listItemVariants, listItemActionVariants, listItemIconVariants, listItemTextVariants } from './List.styles.js';
6
+ import { listVariants, listDividedClass, listItemVariants, listItemActionVariants, listItemIconVariants, listItemTextVariants } from './List.styles.js';
6
7
 
7
8
  const List = React.forwardRef(
8
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
9
+ ({ className, variant, divided = false, ...props }, ref) => /* @__PURE__ */ jsx(
9
10
  "ul",
10
11
  {
11
12
  ref,
12
13
  "data-slot": "list",
13
- className: cn(listVariants({ variant }), className),
14
+ className: cn(listVariants({ variant }), divided && listDividedClass, className),
14
15
  ...props
15
16
  }
16
17
  )
17
18
  );
18
19
  List.displayName = "List";
19
20
  const ListItem = React.forwardRef(
20
- ({ className, density, interactive, clickable, onClick, ...props }, ref) => {
21
+ ({ className, density, interactive, clickable, onClick, asChild = false, children, ...props }, ref) => {
22
+ if (asChild) {
23
+ return /* @__PURE__ */ jsx("li", { ref, "data-slot": "list-item", className: "list-none", children: /* @__PURE__ */ jsx(
24
+ Slot,
25
+ {
26
+ className: cn(listItemVariants({ density, interactive: true }), className),
27
+ onClick,
28
+ ...props,
29
+ children
30
+ }
31
+ ) });
32
+ }
21
33
  const isInteractive = interactive || clickable || !!onClick;
22
34
  return /* @__PURE__ */ jsx(
23
35
  "li",
@@ -31,7 +43,8 @@ const ListItem = React.forwardRef(
31
43
  listItemVariants({ density, interactive: isInteractive }),
32
44
  className
33
45
  ),
34
- ...props
46
+ ...props,
47
+ children
35
48
  }
36
49
  );
37
50
  }
@@ -59,7 +72,7 @@ const ListItemText = React.forwardRef(
59
72
  ...props,
60
73
  children: [
61
74
  primary && /* @__PURE__ */ jsx("div", { className: "font-medium text-foreground truncate", children: primary }),
62
- secondary && /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground truncate mt-0.5", children: secondary }),
75
+ secondary && /* @__PURE__ */ jsx("div", { className: "text-body-3 text-muted-foreground truncate mt-0.5", children: secondary }),
63
76
  children
64
77
  ]
65
78
  }
@@ -2,8 +2,10 @@ import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const listVariants: (props?: ({
3
3
  variant?: "default" | "bordered" | "divided" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ /** Lines between items; combines with any `variant` (e.g. bordered + divided). */
6
+ export declare const listDividedClass = "divide-y divide-border";
5
7
  export declare const listItemVariants: (props?: ({
6
- density?: "default" | "sm" | "lg" | null | undefined;
8
+ density?: "sm" | "lg" | "default" | null | undefined;
7
9
  interactive?: boolean | null | undefined;
8
10
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
11
  export declare const listItemIconVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"List.styles.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;8EAWvB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;8EAmB5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAAwB,CAAC;AAE1D,eAAO,MAAM,sBAAsB,oFAAkD,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"List.styles.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;8EAWvB,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AAEzD,eAAO,MAAM,gBAAgB;;;8EAmB5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAEhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAAwB,CAAC;AAE1D,eAAO,MAAM,sBAAsB,oFAAkD,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}