@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
@@ -1,12 +1,39 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const cardVariants: (props?: ({
3
- variant?: "outline" | "subtle" | "elevated" | "interactive" | null | undefined;
4
- padding?: "none" | "default" | "sm" | "lg" | "md" | null | undefined;
3
+ variant?: "inset" | "outline" | "subtle" | "elevated" | "interactive" | null | undefined;
4
+ padding?: "none" | "sm" | "md" | "lg" | "default" | null | undefined;
5
+ selected?: boolean | null | undefined;
6
+ sectioned?: boolean | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ /** Section padding of a `sectioned` card (follows the Card's `padding`). */
9
+ export declare const cardSectionPadding: {
10
+ readonly none: "";
11
+ readonly sm: "p-4";
12
+ readonly default: "p-6";
13
+ readonly md: "p-6";
14
+ readonly lg: "p-8";
15
+ };
16
+ /** Footer of a `sectioned` card: the same side padding, shorter vertically. */
17
+ export declare const cardSectionFooterPadding: {
18
+ readonly none: "";
19
+ readonly sm: "px-4 py-2";
20
+ readonly default: "px-6 py-3";
21
+ readonly md: "px-6 py-3";
22
+ readonly lg: "px-8 py-4";
23
+ };
24
+ export declare const cardHeaderVariants: (props?: ({
25
+ sectioned?: boolean | null | undefined;
26
+ divider?: boolean | null | undefined;
5
27
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
- export declare const cardHeaderVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
28
  export declare const cardTitleVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
29
  export declare const cardDescriptionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
- export declare const cardContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
10
- export declare const cardFooterVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
30
+ export declare const cardContentVariants: (props?: ({
31
+ sectioned?: boolean | null | undefined;
32
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
33
+ export declare const cardFooterVariants: (props?: ({
34
+ sectioned?: boolean | null | undefined;
35
+ justify?: "start" | "end" | "between" | null | undefined;
36
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
37
  export type CardVariants = VariantProps<typeof cardVariants>;
38
+ export type CardFooterVariants = VariantProps<typeof cardFooterVariants>;
12
39
  //# sourceMappingURL=Card.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;;8EA2BxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oFAAoC,CAAC;AACpE,eAAO,MAAM,iBAAiB,oFAAmF,CAAC;AAClH,eAAO,MAAM,uBAAuB,oFAA4C,CAAC;AACjF,eAAO,MAAM,mBAAmB,oFAA6B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,oFAAmG,CAAC;AAEnI,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"Card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;;;;8EA0CxB,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB;;;;;;CAMrB,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB;;;;;;CAM3B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;8EAa7B,CAAC;AACH,eAAO,MAAM,iBAAiB,oFAAwE,CAAC;AACvG,eAAO,MAAM,uBAAuB,oFAA2D,CAAC;AAChG,eAAO,MAAM,mBAAmB;;8EAK9B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;8EAa9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -5,10 +5,12 @@ const cardVariants = cva(
5
5
  {
6
6
  variants: {
7
7
  variant: {
8
- outline: "border border-grey-200 dark:border-grey-800 bg-white dark:bg-grey-900 shadow-sm",
9
- elevated: "border border-transparent bg-white dark:bg-grey-900 shadow-md hover:shadow-lg",
10
- subtle: "border border-transparent bg-grey-50 dark:bg-grey-950",
11
- interactive: "border border-grey-200 dark:border-grey-800 bg-white dark:bg-grey-900 shadow-sm hover:border-primary hover:shadow-md cursor-pointer"
8
+ outline: "border border-grey-200 dark:border-grey-800 bg-card shadow-sm",
9
+ elevated: "border border-transparent bg-card shadow-md hover:shadow-lg",
10
+ subtle: "border border-transparent bg-card",
11
+ interactive: "border border-grey-200 dark:border-grey-800 bg-card shadow-sm hover:border-primary hover:shadow-md cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
12
+ /** Flat, recessed panel inside other surfaces (forms, dialogs). */
13
+ inset: "border border-border bg-bg-subtle"
12
14
  },
13
15
  padding: {
14
16
  none: "p-0",
@@ -16,18 +18,75 @@ const cardVariants = cva(
16
18
  default: "p-6",
17
19
  md: "p-6",
18
20
  lg: "p-8"
21
+ },
22
+ /** Highlighted (e.g. the default address, a chosen option). */
23
+ selected: {
24
+ true: "border-primary/50",
25
+ false: ""
26
+ },
27
+ /** Header / content / footer get the padding instead, with full-width dividers. */
28
+ sectioned: {
29
+ true: "flex flex-col p-0",
30
+ false: ""
19
31
  }
20
32
  },
21
33
  defaultVariants: {
22
34
  variant: "outline",
23
- padding: "default"
35
+ padding: "default",
36
+ selected: false,
37
+ sectioned: false
38
+ }
39
+ }
40
+ );
41
+ const cardSectionPadding = {
42
+ none: "",
43
+ sm: "p-4",
44
+ default: "p-6",
45
+ md: "p-6",
46
+ lg: "p-8"
47
+ };
48
+ const cardSectionFooterPadding = {
49
+ none: "",
50
+ sm: "px-4 py-2",
51
+ default: "px-6 py-3",
52
+ md: "px-6 py-3",
53
+ lg: "px-8 py-4"
54
+ };
55
+ const cardHeaderVariants = cva("flex flex-col gap-1.5", {
56
+ variants: {
57
+ sectioned: {
58
+ true: "",
59
+ false: "mb-4"
60
+ },
61
+ divider: {
62
+ true: "border-b border-border",
63
+ false: ""
24
64
  }
65
+ },
66
+ compoundVariants: [{ sectioned: false, divider: true, className: "pb-4" }],
67
+ defaultVariants: { sectioned: false, divider: false }
68
+ });
69
+ const cardTitleVariants = cva("text-h6 font-bold text-foreground leading-tight tracking-tight");
70
+ const cardDescriptionVariants = cva("text-body-2 text-muted-foreground leading-relaxed");
71
+ const cardContentVariants = cva("flex flex-col gap-4", {
72
+ variants: {
73
+ sectioned: { true: "flex-1", false: "" }
74
+ },
75
+ defaultVariants: { sectioned: false }
76
+ });
77
+ const cardFooterVariants = cva(
78
+ "flex items-center gap-2 border-t border-border",
79
+ {
80
+ variants: {
81
+ sectioned: { true: "", false: "pt-4 mt-4" },
82
+ justify: {
83
+ start: "justify-start",
84
+ between: "justify-between",
85
+ end: "justify-end"
86
+ }
87
+ },
88
+ defaultVariants: { sectioned: false, justify: "between" }
25
89
  }
26
90
  );
27
- const cardHeaderVariants = cva("flex flex-col gap-1.5 mb-4");
28
- const cardTitleVariants = cva("text-lg font-serif font-bold text-foreground leading-tight tracking-tight");
29
- const cardDescriptionVariants = cva("text-sm text-muted leading-relaxed");
30
- const cardContentVariants = cva("flex flex-col gap-4");
31
- const cardFooterVariants = cva("flex items-center justify-between pt-4 mt-4 border-t border-grey-100 dark:border-grey-800");
32
91
 
33
- export { cardContentVariants, cardDescriptionVariants, cardFooterVariants, cardHeaderVariants, cardTitleVariants, cardVariants };
92
+ export { cardContentVariants, cardDescriptionVariants, cardFooterVariants, cardHeaderVariants, cardSectionFooterPadding, cardSectionPadding, cardTitleVariants, cardVariants };
@@ -1,13 +1,24 @@
1
1
  import type * as React from 'react';
2
- import type { CardVariants } from './Card.styles';
3
- export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, CardVariants {
2
+ import type { CardFooterVariants, CardVariants } from './Card.styles';
3
+ export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, Omit<CardVariants, 'selected' | 'sectioned'> {
4
4
  /**
5
5
  * If true, delegates rendering to the direct child element using Radix Slot.
6
6
  */
7
7
  asChild?: boolean;
8
+ /** Highlights the card (e.g. the default or chosen item). */
9
+ selected?: boolean;
10
+ /**
11
+ * The `padding` goes to CardHeader / CardContent / CardFooter instead of the
12
+ * card, so header and footer dividers run edge to edge.
13
+ */
14
+ sectioned?: boolean;
8
15
  }
9
16
  export interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
10
17
  asChild?: boolean;
18
+ /** Line under the header (full width in a `sectioned` card). */
19
+ divider?: boolean;
20
+ /** Content at the end of the header row (badges, buttons). */
21
+ actions?: React.ReactNode;
11
22
  }
12
23
  export interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
13
24
  asChild?: boolean;
@@ -18,7 +29,7 @@ export interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraph
18
29
  export interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
19
30
  asChild?: boolean;
20
31
  }
21
- export interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
32
+ export interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement>, Omit<CardFooterVariants, 'sectioned'> {
22
33
  asChild?: boolean;
23
34
  }
24
35
  //# sourceMappingURL=Card.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.types.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,WAAW,SACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cACf,SAAQ,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"Card.types.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,WAAW,SACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,WAAW,CAAC;IAC9C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,cACf,SAAQ,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -39,7 +39,7 @@ const Checkbox = React.forwardRef(
39
39
  {
40
40
  className: cn(checkboxIndicatorVariants({ size })),
41
41
  children: [
42
- /* @__PURE__ */ jsx("span", { className: "hidden [[data-state=indeterminate]_&]:block w-2.5 h-0.5 bg-white rounded-full" }),
42
+ /* @__PURE__ */ jsx("span", { className: "hidden [[data-state=indeterminate]_&]:block w-2.5 h-0.5 bg-grey-50 rounded-full" }),
43
43
  /* @__PURE__ */ jsx(Check, { className: "[[data-state=indeterminate]_&]:hidden w-full h-full stroke-[3]" })
44
44
  ]
45
45
  }
@@ -68,16 +68,16 @@ const Checkbox = React.forwardRef(
68
68
  {
69
69
  htmlFor: id,
70
70
  className: cn(
71
- "text-sm font-medium text-foreground cursor-pointer select-none leading-snug",
71
+ "text-body-2 font-medium text-foreground cursor-pointer select-none leading-snug",
72
72
  disabled && "cursor-not-allowed"
73
73
  ),
74
74
  children: label
75
75
  }
76
76
  ),
77
- description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted leading-normal mt-0.5", children: description })
77
+ description && /* @__PURE__ */ jsx("p", { className: "text-body-3 text-muted leading-normal mt-0.5", children: description })
78
78
  ] })
79
79
  ] }),
80
- errorMessage && /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive font-medium pl-7", children: errorMessage })
80
+ errorMessage && /* @__PURE__ */ jsx("p", { className: "text-body-3 text-destructive font-medium pl-7", children: errorMessage })
81
81
  ]
82
82
  }
83
83
  );
@@ -1,10 +1,10 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const checkboxVariants: (props?: ({
3
- size?: "default" | "sm" | "lg" | "md" | null | undefined;
3
+ size?: "sm" | "md" | "lg" | "default" | null | undefined;
4
4
  isError?: boolean | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  export declare const checkboxIndicatorVariants: (props?: ({
7
- size?: "default" | "sm" | "lg" | "md" | null | undefined;
7
+ size?: "sm" | "md" | "lg" | "default" | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  export type CheckboxVariants = VariantProps<typeof checkboxVariants>;
10
10
  //# sourceMappingURL=Checkbox.styles.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { cva } from 'class-variance-authority';
2
2
 
3
3
  const checkboxVariants = cva(
4
- "peer shrink-0 rounded-[2px] border border-grey-300 dark:border-grey-600 bg-white dark:bg-grey-900 transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-white data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-white cursor-pointer flex items-center justify-center",
4
+ "peer shrink-0 rounded-[2px] border border-grey-300 dark:border-grey-600 bg-grey-50 dark:bg-grey-900 transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-grey-50 data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-grey-50 cursor-pointer flex items-center justify-center",
5
5
  {
6
6
  variants: {
7
7
  size: {
@@ -60,7 +60,7 @@ const Chip = React.forwardRef(
60
60
  tabIndex: -1,
61
61
  onClick: handleRemove,
62
62
  "aria-label": "Remove",
63
- className: "shrink-0 -mr-1 size-4 rounded-full inline-flex items-center justify-center opacity-70 hover:opacity-100 hover:bg-black/10 dark:hover:bg-white/20 transition-all cursor-pointer",
63
+ className: "shrink-0 -mr-1 size-4 rounded-full inline-flex items-center justify-center opacity-70 hover:opacity-100 hover:bg-grey-1000/10 dark:hover:bg-grey-50/20 transition-all cursor-pointer",
64
64
  children: /* @__PURE__ */ jsx(X, { className: "size-3" })
65
65
  }
66
66
  )
@@ -2,7 +2,7 @@ import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const chipVariants: (props?: ({
3
3
  variant?: "filled" | "subtle" | "outlined" | null | undefined;
4
4
  color?: "default" | "destructive" | "success" | "warning" | "primary" | null | undefined;
5
- size?: "default" | "sm" | "lg" | null | undefined;
5
+ size?: "sm" | "lg" | "default" | null | undefined;
6
6
  clickable?: boolean | null | undefined;
7
7
  selected?: boolean | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -6,7 +6,7 @@ const chipVariants = cva(
6
6
  variants: {
7
7
  variant: {
8
8
  subtle: "bg-grey-100 dark:bg-grey-800 text-foreground border border-transparent",
9
- filled: "bg-primary text-white border border-transparent shadow-xs",
9
+ filled: "bg-primary text-grey-50 border border-transparent shadow-xs",
10
10
  outlined: "bg-transparent border border-grey-300 dark:border-grey-700 text-foreground"
11
11
  },
12
12
  color: {
@@ -17,16 +17,16 @@ const chipVariants = cva(
17
17
  destructive: "bg-destructive/10 text-destructive border-destructive/20"
18
18
  },
19
19
  size: {
20
- sm: "h-6 px-2.5 text-[11px]",
21
- default: "h-8 px-3 text-xs",
22
- lg: "h-9 px-4 text-sm"
20
+ sm: "h-6 px-2.5 text-caption-lg",
21
+ default: "h-8 px-3 text-body-3",
22
+ lg: "h-9 px-4 text-body-2"
23
23
  },
24
24
  clickable: {
25
25
  true: "cursor-pointer hover:brightness-95 active:scale-95 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1",
26
26
  false: ""
27
27
  },
28
28
  selected: {
29
- true: "bg-primary text-white border-primary shadow-xs",
29
+ true: "bg-primary text-grey-50 border-primary shadow-xs",
30
30
  false: ""
31
31
  }
32
32
  },
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ export interface ConfirmDialogProps {
3
+ open: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ title: React.ReactNode;
6
+ description?: React.ReactNode;
7
+ /** Extra content between the description and the buttons (e.g. what will be deleted). */
8
+ children?: React.ReactNode;
9
+ /** `destructive` for deletes / sign-outs: red confirm button and icon. */
10
+ tone?: 'default' | 'destructive';
11
+ /** Icon in the circle above the title. */
12
+ icon?: React.ReactNode;
13
+ confirmLabel: React.ReactNode;
14
+ cancelLabel: React.ReactNode;
15
+ /** Icon on the confirm button. */
16
+ confirmIcon?: React.ReactNode;
17
+ /**
18
+ * Runs on confirm. The dialog stays open with a spinner until it settles,
19
+ * then closes; if it throws, it stays open (show the error yourself).
20
+ */
21
+ onConfirm: () => void | Promise<void>;
22
+ /** @default 'sm' */
23
+ size?: 'sm' | 'md' | 'lg';
24
+ }
25
+ /** A confirmation with Cancel / Confirm that waits for the action to finish. */
26
+ export declare function ConfirmDialog({ open, onOpenChange, title, description, children, tone, icon, confirmLabel, cancelLabel, confirmIcon, onConfirm, size, }: ConfirmDialogProps): React.JSX.Element;
27
+ export declare namespace ConfirmDialog {
28
+ var displayName: string;
29
+ }
30
+ //# sourceMappingURL=ConfirmDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/ConfirmDialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0EAA0E;IAC1E,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACjC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,kCAAkC;IAClC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;;OAGG;IACH,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,oBAAoB;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,IAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAW,GACZ,EAAE,kBAAkB,qBA0CpB;yBAvDe,aAAa"}
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import * as React from 'react';
4
+ import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogMedia, AlertDialogTitle, AlertDialogDescription, AlertDialogBody, AlertDialogFooter, AlertDialogCancel, AlertDialogAction } from '../AlertDialog/AlertDialog.js';
5
+ import { Button } from '../Button/Button.js';
6
+
7
+ function ConfirmDialog({
8
+ open,
9
+ onOpenChange,
10
+ title,
11
+ description,
12
+ children,
13
+ tone = "default",
14
+ icon,
15
+ confirmLabel,
16
+ cancelLabel,
17
+ confirmIcon,
18
+ onConfirm,
19
+ size = "sm"
20
+ }) {
21
+ const [busy, setBusy] = React.useState(false);
22
+ const confirm = async (event) => {
23
+ event.preventDefault();
24
+ setBusy(true);
25
+ try {
26
+ await onConfirm();
27
+ onOpenChange(false);
28
+ } catch {
29
+ } finally {
30
+ setBusy(false);
31
+ }
32
+ };
33
+ return /* @__PURE__ */ jsx(AlertDialog, { open, onOpenChange: (next) => !busy && onOpenChange(next), children: /* @__PURE__ */ jsxs(AlertDialogContent, { size, children: [
34
+ /* @__PURE__ */ jsxs(AlertDialogHeader, { children: [
35
+ icon && /* @__PURE__ */ jsx(AlertDialogMedia, { tone: tone === "destructive" ? "destructive" : "default", children: icon }),
36
+ /* @__PURE__ */ jsx(AlertDialogTitle, { children: title }),
37
+ description && /* @__PURE__ */ jsx(AlertDialogDescription, { children: description })
38
+ ] }),
39
+ children && /* @__PURE__ */ jsx(AlertDialogBody, { children }),
40
+ /* @__PURE__ */ jsxs(AlertDialogFooter, { children: [
41
+ /* @__PURE__ */ jsx(AlertDialogCancel, { disabled: busy, children: cancelLabel }),
42
+ /* @__PURE__ */ jsx(AlertDialogAction, { asChild: true, children: /* @__PURE__ */ jsx(
43
+ Button,
44
+ {
45
+ variant: tone === "destructive" ? "destructive" : "primary",
46
+ leftIcon: confirmIcon,
47
+ loading: busy,
48
+ onClick: confirm,
49
+ children: confirmLabel
50
+ }
51
+ ) })
52
+ ] })
53
+ ] }) });
54
+ }
55
+ ConfirmDialog.displayName = "ConfirmDialog";
56
+
57
+ export { ConfirmDialog };
@@ -0,0 +1,2 @@
1
+ export * from './ConfirmDialog';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ConfirmDialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const containerVariants: (props?: ({
3
- maxWidth?: "sm" | "lg" | "md" | "xl" | "2xl" | "full" | null | undefined;
3
+ maxWidth?: "sm" | "md" | "lg" | "xl" | "2xl" | "full" | null | undefined;
4
4
  padded?: boolean | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  export type ContainerVariants = VariantProps<typeof containerVariants>;
@@ -1,7 +1,9 @@
1
1
  import * as React from 'react';
2
- import type { DataListProps, DataListItemProps, DataListLabelProps, DataListValueProps } from './DataList.types';
2
+ import type { DataListProps, DataListItemProps, DataListLabelProps, DataListValueProps, DataListActionProps } from './DataList.types';
3
3
  export declare const DataList: React.ForwardRefExoticComponent<DataListProps & React.RefAttributes<HTMLDListElement>>;
4
4
  export declare const DataListItem: React.ForwardRefExoticComponent<DataListItemProps & React.RefAttributes<HTMLDivElement>>;
5
5
  export declare const DataListLabel: React.ForwardRefExoticComponent<DataListLabelProps & React.RefAttributes<HTMLElement>>;
6
6
  export declare const DataListValue: React.ForwardRefExoticComponent<DataListValueProps & React.RefAttributes<HTMLElement>>;
7
+ /** Buttons or a status at the end of a row (under the value on small screens). */
8
+ export declare const DataListAction: React.ForwardRefExoticComponent<DataListActionProps & React.RefAttributes<HTMLElement>>;
7
9
  //# sourceMappingURL=DataList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataList.d.ts","sourceRoot":"","sources":["../../../src/components/DataList/DataList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAY1B,eAAO,MAAM,QAAQ,wFAyBpB,CAAC;AAGF,eAAO,MAAM,YAAY,0FAsBxB,CAAC;AAGF,eAAO,MAAM,aAAa,wFAoBzB,CAAC;AAGF,eAAO,MAAM,aAAa,wFAazB,CAAC"}
1
+ {"version":3,"file":"DataList.d.ts","sourceRoot":"","sources":["../../../src/components/DataList/DataList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAc1B,eAAO,MAAM,QAAQ,wFA0BpB,CAAC;AAGF,eAAO,MAAM,YAAY,0FAuBxB,CAAC;AAGF,eAAO,MAAM,aAAa,wFAiDzB,CAAC;AAGF,eAAO,MAAM,aAAa,wFAazB,CAAC;AAGF,kFAAkF;AAClF,eAAO,MAAM,cAAc,yFAW1B,CAAC"}
@@ -2,11 +2,13 @@
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
4
  import { cn } from '@timmbr/utils';
5
- import { dataListVariants, dataListItemVariants, dataListLabelVariants, dataListValueVariants } from './DataList.styles.js';
5
+ import { dataListVariants, dataListActionVariants, dataListItemVariants, dataListInsetPadding, dataListLabelVariants, dataListValueVariants } from './DataList.styles.js';
6
+ import { Text } from '../Text/Text.js';
6
7
 
7
8
  const DataListContext = React.createContext({
8
9
  orientation: "horizontal",
9
- size: "default"
10
+ size: "default",
11
+ inset: "none"
10
12
  });
11
13
  const DataList = React.forwardRef(
12
14
  ({
@@ -14,15 +16,16 @@ const DataList = React.forwardRef(
14
16
  orientation = "horizontal",
15
17
  size = "default",
16
18
  divided = false,
19
+ inset = "none",
17
20
  children,
18
21
  ...props
19
22
  }, ref) => {
20
- return /* @__PURE__ */ jsx(DataListContext.Provider, { value: { orientation, size }, children: /* @__PURE__ */ jsx(
23
+ return /* @__PURE__ */ jsx(DataListContext.Provider, { value: { orientation, size, inset }, children: /* @__PURE__ */ jsx(
21
24
  "dl",
22
25
  {
23
26
  ref,
24
27
  "data-slot": "data-list",
25
- className: cn(dataListVariants({ orientation, size, divided }), className),
28
+ className: cn(dataListVariants({ orientation, size, divided }), inset !== "none" && "gap-0", className),
26
29
  ...props,
27
30
  children
28
31
  }
@@ -31,7 +34,7 @@ const DataList = React.forwardRef(
31
34
  );
32
35
  DataList.displayName = "DataList";
33
36
  const DataListItem = React.forwardRef(
34
- ({ className, orientation: itemOrientation, align = "baseline", children, ...props }, ref) => {
37
+ ({ className, orientation: itemOrientation, align = "baseline", emphasis = "none", children, ...props }, ref) => {
35
38
  const context = React.useContext(DataListContext);
36
39
  const orientation = itemOrientation ?? context.orientation;
37
40
  return /* @__PURE__ */ jsx(
@@ -40,10 +43,11 @@ const DataListItem = React.forwardRef(
40
43
  ref,
41
44
  "data-slot": "data-list-item",
42
45
  className: cn(
43
- dataListItemVariants({ orientation, align }),
44
- context.size === "sm" && "py-1",
45
- context.size === "default" && "py-1.5",
46
- context.size === "lg" && "py-2",
46
+ dataListItemVariants({ orientation, align, emphasis }),
47
+ context.inset === "none" && context.size === "sm" && "py-1",
48
+ context.inset === "none" && context.size === "default" && "py-1.5",
49
+ context.inset === "none" && context.size === "lg" && "py-2",
50
+ dataListInsetPadding[context.inset],
47
51
  className
48
52
  ),
49
53
  ...props,
@@ -54,10 +58,14 @@ const DataListItem = React.forwardRef(
54
58
  );
55
59
  DataListItem.displayName = "DataListItem";
56
60
  const DataListLabel = React.forwardRef(
57
- ({ className, minWidth, icon, style, children, ...props }, ref) => {
61
+ ({ className, minWidth, icon, description, tone, style, children, ...props }, ref) => {
62
+ const { orientation } = React.useContext(DataListContext);
63
+ const width = minWidth ? typeof minWidth === "number" ? `${minWidth}px` : minWidth : void 0;
64
+ const responsiveWidth = Boolean(width) && orientation === "horizontal";
58
65
  const computedStyle = {
59
66
  ...style,
60
- ...minWidth ? { minWidth: typeof minWidth === "number" ? `${minWidth}px` : minWidth } : {}
67
+ ...width && !responsiveWidth ? { minWidth: width } : {},
68
+ ...responsiveWidth ? { "--data-list-label-min": width } : {}
61
69
  };
62
70
  return /* @__PURE__ */ jsxs(
63
71
  "dt",
@@ -65,11 +73,28 @@ const DataListLabel = React.forwardRef(
65
73
  ref,
66
74
  "data-slot": "data-list-label",
67
75
  style: computedStyle,
68
- className: cn(dataListLabelVariants(), className),
76
+ className: cn(
77
+ dataListLabelVariants({ tone, withDescription: Boolean(description) }),
78
+ responsiveWidth && "sm:min-w-[var(--data-list-label-min)]",
79
+ className
80
+ ),
69
81
  ...props,
70
82
  children: [
71
- icon && /* @__PURE__ */ jsx("span", { className: "inline-flex shrink-0 items-center justify-center text-grey-400 dark:text-grey-500", children: icon }),
72
- children
83
+ icon && /* @__PURE__ */ jsx(
84
+ "span",
85
+ {
86
+ "aria-hidden": "true",
87
+ className: cn(
88
+ "inline-flex shrink-0 items-center justify-center text-muted-foreground",
89
+ description && "mt-0.5"
90
+ ),
91
+ children: icon
92
+ }
93
+ ),
94
+ description ? /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-col gap-0.5", children: [
95
+ /* @__PURE__ */ jsx("span", { children }),
96
+ /* @__PURE__ */ jsx(Text, { as: "span", variant: "body-3", foreground: "muted", weight: "normal", children: description })
97
+ ] }) : children
73
98
  ]
74
99
  }
75
100
  );
@@ -91,5 +116,18 @@ const DataListValue = React.forwardRef(
91
116
  }
92
117
  );
93
118
  DataListValue.displayName = "DataListValue";
119
+ const DataListAction = React.forwardRef(
120
+ ({ className, placement, children, ...props }, ref) => /* @__PURE__ */ jsx(
121
+ "dd",
122
+ {
123
+ ref,
124
+ "data-slot": "data-list-action",
125
+ className: cn(dataListActionVariants({ placement }), className),
126
+ ...props,
127
+ children
128
+ }
129
+ )
130
+ );
131
+ DataListAction.displayName = "DataListAction";
94
132
 
95
- export { DataList, DataListItem, DataListLabel, DataListValue };
133
+ export { DataList, DataListAction, DataListItem, DataListLabel, DataListValue };
@@ -1,14 +1,27 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  export declare const dataListVariants: (props?: ({
3
- orientation?: "horizontal" | "vertical" | null | undefined;
4
- size?: "default" | "sm" | "lg" | null | undefined;
3
+ orientation?: "horizontal" | "vertical" | "justified" | null | undefined;
4
+ size?: "sm" | "lg" | "default" | null | undefined;
5
5
  divided?: boolean | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export declare const dataListItemVariants: (props?: ({
8
- orientation?: "horizontal" | "vertical" | null | undefined;
8
+ orientation?: "horizontal" | "vertical" | "justified" | null | undefined;
9
+ emphasis?: "none" | "total" | null | undefined;
9
10
  align?: "center" | "start" | "baseline" | null | undefined;
10
11
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
- export declare const dataListLabelVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
12
+ /** Item padding when rows run edge to edge (e.g. directly inside a sectioned Card). */
13
+ export declare const dataListInsetPadding: {
14
+ readonly none: "";
15
+ readonly sm: "px-4 py-3";
16
+ readonly default: "px-6 py-4";
17
+ };
18
+ export declare const dataListActionVariants: (props?: ({
19
+ placement?: "end" | "below" | null | undefined;
20
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
21
+ export declare const dataListLabelVariants: (props?: ({
22
+ tone?: "strong" | "muted" | null | undefined;
23
+ withDescription?: boolean | null | undefined;
24
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
25
  export declare const dataListValueVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
26
  export type DataListVariants = VariantProps<typeof dataListVariants>;
14
27
  //# sourceMappingURL=DataList.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataList.styles.d.ts","sourceRoot":"","sources":["../../../src/components/DataList/DataList.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;8EAqB3B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;8EAgB/B,CAAC;AAEH,eAAO,MAAM,qBAAqB,oFAEjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,oFAEjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"DataList.styles.d.ts","sourceRoot":"","sources":["../../../src/components/DataList/DataList.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;8EAsB3B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;8EA6B/B,CAAC;AAEH,uFAAuF;AACvF,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;8EAajC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;8EAahC,CAAC;AAEH,eAAO,MAAM,qBAAqB,oFAEjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}