@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.
- package/README.md +12 -10
- package/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.styles.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.styles.js +3 -3
- package/dist/components/Alert/Alert.js +2 -2
- package/dist/components/Alert/Alert.styles.d.ts +2 -2
- package/dist/components/Alert/Alert.styles.js +4 -4
- package/dist/components/AlertDialog/AlertDialog.d.ts +5 -3
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog/AlertDialog.js +21 -8
- package/dist/components/AlertDialog/AlertDialog.styles.d.ts +7 -1
- package/dist/components/AlertDialog/AlertDialog.styles.d.ts.map +1 -1
- package/dist/components/AlertDialog/AlertDialog.styles.js +29 -6
- package/dist/components/AlertDialog/AlertDialog.types.d.ts +19 -2
- package/dist/components/AlertDialog/AlertDialog.types.d.ts.map +1 -1
- package/dist/components/AuthModal/AuthModal.d.ts +4 -0
- package/dist/components/AuthModal/AuthModal.d.ts.map +1 -0
- package/dist/components/AuthModal/AuthModal.js +89 -0
- package/dist/components/AuthModal/AuthModal.labels.d.ts +6 -0
- package/dist/components/AuthModal/AuthModal.labels.d.ts.map +1 -0
- package/dist/components/AuthModal/AuthModal.labels.js +52 -0
- package/dist/components/AuthModal/AuthModal.styles.d.ts +12 -0
- package/dist/components/AuthModal/AuthModal.styles.d.ts.map +1 -0
- package/dist/components/AuthModal/AuthModal.styles.js +38 -0
- package/dist/components/AuthModal/AuthModal.types.d.ts +158 -0
- package/dist/components/AuthModal/AuthModal.types.d.ts.map +1 -0
- package/dist/components/AuthModal/index.d.ts +6 -0
- package/dist/components/AuthModal/index.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts +11 -0
- package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalBanner.js +58 -0
- package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts +11 -0
- package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.js +62 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts +11 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOAuth.js +19 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.js +62 -0
- package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts +44 -0
- package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalParts.js +134 -0
- package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.js +54 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.js +79 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSuccess.js +26 -0
- package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts +12 -0
- package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/OAuthButton.js +38 -0
- package/dist/components/AuthModal/subcomponents/index.d.ts +9 -0
- package/dist/components/AuthModal/subcomponents/index.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.styles.d.ts +2 -2
- package/dist/components/Avatar/Avatar.styles.js +11 -11
- package/dist/components/Badge/Badge.styles.d.ts +2 -2
- package/dist/components/Badge/Badge.styles.d.ts.map +1 -1
- package/dist/components/Badge/Badge.styles.js +10 -8
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.js +6 -0
- package/dist/components/Button/Button.styles.d.ts +4 -2
- package/dist/components/Button/Button.styles.d.ts.map +1 -1
- package/dist/components/Button/Button.styles.js +29 -10
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/Card.js +51 -32
- package/dist/components/Card/Card.styles.d.ts +32 -5
- package/dist/components/Card/Card.styles.d.ts.map +1 -1
- package/dist/components/Card/Card.styles.js +70 -11
- package/dist/components/Card/Card.types.d.ts +14 -3
- package/dist/components/Card/Card.types.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +4 -4
- package/dist/components/Checkbox/Checkbox.styles.d.ts +2 -2
- package/dist/components/Checkbox/Checkbox.styles.js +1 -1
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/Chip/Chip.styles.d.ts +1 -1
- package/dist/components/Chip/Chip.styles.js +5 -5
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +30 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.js +57 -0
- package/dist/components/ConfirmDialog/index.d.ts +2 -0
- package/dist/components/ConfirmDialog/index.d.ts.map +1 -0
- package/dist/components/Container/Container.styles.d.ts +1 -1
- package/dist/components/DataList/DataList.d.ts +3 -1
- package/dist/components/DataList/DataList.d.ts.map +1 -1
- package/dist/components/DataList/DataList.js +53 -15
- package/dist/components/DataList/DataList.styles.d.ts +17 -4
- package/dist/components/DataList/DataList.styles.d.ts.map +1 -1
- package/dist/components/DataList/DataList.styles.js +56 -13
- package/dist/components/DataList/DataList.types.d.ts +19 -2
- package/dist/components/DataList/DataList.types.d.ts.map +1 -1
- package/dist/components/Dialog/Dialog.styles.js +6 -6
- package/dist/components/Divider/Divider.js +1 -1
- package/dist/components/Drawer/Drawer.d.ts +4 -3
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.js +33 -6
- package/dist/components/Drawer/Drawer.styles.d.ts +4 -0
- package/dist/components/Drawer/Drawer.styles.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.styles.js +9 -6
- package/dist/components/Drawer/Drawer.types.d.ts +1 -0
- package/dist/components/Drawer/Drawer.types.d.ts.map +1 -1
- package/dist/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/Dropdown/Dropdown.js +25 -12
- package/dist/components/Dropdown/Dropdown.styles.d.ts +5 -1
- package/dist/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
- package/dist/components/Dropdown/Dropdown.styles.js +13 -3
- package/dist/components/Dropdown/Dropdown.types.d.ts +4 -0
- package/dist/components/Dropdown/Dropdown.types.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.js +4 -3
- package/dist/components/EmptyState/EmptyState.styles.d.ts +3 -2
- package/dist/components/EmptyState/EmptyState.styles.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.styles.js +8 -3
- package/dist/components/Fieldset/Fieldset.d.ts +14 -0
- package/dist/components/Fieldset/Fieldset.d.ts.map +1 -0
- package/dist/components/Fieldset/Fieldset.js +24 -0
- package/dist/components/Fieldset/index.d.ts +2 -0
- package/dist/components/Fieldset/index.d.ts.map +1 -0
- package/dist/components/FormActions/FormActions.d.ts +13 -0
- package/dist/components/FormActions/FormActions.d.ts.map +1 -0
- package/dist/components/FormActions/FormActions.js +24 -0
- package/dist/components/FormActions/index.d.ts +2 -0
- package/dist/components/FormActions/index.d.ts.map +1 -0
- package/dist/components/FormField/FormField.js +1 -1
- package/dist/components/Grid/Grid.d.ts +3 -1
- package/dist/components/Grid/Grid.d.ts.map +1 -1
- package/dist/components/Grid/Grid.js +31 -5
- package/dist/components/Grid/Grid.styles.d.ts +86 -0
- package/dist/components/Grid/Grid.styles.d.ts.map +1 -1
- package/dist/components/Grid/Grid.styles.js +85 -1
- package/dist/components/Grid/Grid.types.d.ts +31 -3
- package/dist/components/Grid/Grid.types.d.ts.map +1 -1
- package/dist/components/Heading/Heading.styles.d.ts +2 -2
- package/dist/components/Heading/Heading.styles.d.ts.map +1 -1
- package/dist/components/Heading/Heading.styles.js +15 -11
- package/dist/components/Heading/Heading.types.d.ts +1 -1
- package/dist/components/Heading/Heading.types.d.ts.map +1 -1
- package/dist/components/Icon/Icon.styles.d.ts +2 -2
- package/dist/components/Icon/Icon.styles.d.ts.map +1 -1
- package/dist/components/Icon/Icon.styles.js +12 -8
- package/dist/components/IconTile/IconTile.d.ts +8 -0
- package/dist/components/IconTile/IconTile.d.ts.map +1 -0
- package/dist/components/IconTile/IconTile.js +23 -0
- package/dist/components/IconTile/IconTile.styles.d.ts +7 -0
- package/dist/components/IconTile/IconTile.styles.d.ts.map +1 -0
- package/dist/components/IconTile/IconTile.styles.js +24 -0
- package/dist/components/IconTile/IconTile.types.d.ts +12 -0
- package/dist/components/IconTile/IconTile.types.d.ts.map +1 -0
- package/dist/components/IconTile/index.d.ts +4 -0
- package/dist/components/IconTile/index.d.ts.map +1 -0
- package/dist/components/ImageUpload/ImageUpload.js +6 -6
- package/dist/components/ImageUpload/subcomponents/ImageUploadDropzone.js +10 -10
- package/dist/components/ImageUpload/subcomponents/ImageUploadModal.js +8 -8
- package/dist/components/ImageUpload/subcomponents/ImageUploadSinglePreview.js +7 -7
- package/dist/components/ImageUpload/subcomponents/ImageUploadThumbnailCard.js +10 -10
- package/dist/components/Inline/Inline.d.ts.map +1 -1
- package/dist/components/Inline/Inline.js +10 -2
- package/dist/components/Inline/Inline.types.d.ts +6 -1
- package/dist/components/Inline/Inline.types.d.ts.map +1 -1
- package/dist/components/Input/Input.js +4 -4
- package/dist/components/Input/Input.styles.d.ts +1 -1
- package/dist/components/Input/Input.styles.js +6 -6
- package/dist/components/Label/Label.styles.d.ts +1 -1
- package/dist/components/Label/Label.styles.js +4 -4
- package/dist/components/LinkButton/LinkButton.d.ts.map +1 -1
- package/dist/components/LinkButton/LinkButton.js +2 -0
- package/dist/components/LinkButton/LinkButton.styles.d.ts +3 -2
- package/dist/components/LinkButton/LinkButton.styles.d.ts.map +1 -1
- package/dist/components/LinkButton/LinkButton.styles.js +12 -6
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.js +19 -6
- package/dist/components/List/List.styles.d.ts +3 -1
- package/dist/components/List/List.styles.d.ts.map +1 -1
- package/dist/components/List/List.styles.js +7 -6
- package/dist/components/List/List.types.d.ts +7 -0
- package/dist/components/List/List.types.d.ts.map +1 -1
- package/dist/components/MediaCard/MediaCard.d.ts +13 -0
- package/dist/components/MediaCard/MediaCard.d.ts.map +1 -0
- package/dist/components/MediaCard/MediaCard.js +123 -0
- package/dist/components/MediaCard/MediaCard.styles.d.ts +17 -0
- package/dist/components/MediaCard/MediaCard.styles.d.ts.map +1 -0
- package/dist/components/MediaCard/MediaCard.styles.js +57 -0
- package/dist/components/MediaCard/MediaCard.types.d.ts +73 -0
- package/dist/components/MediaCard/MediaCard.types.d.ts.map +1 -0
- package/dist/components/MediaCard/index.d.ts +4 -0
- package/dist/components/MediaCard/index.d.ts.map +1 -0
- package/dist/components/NavFooter/NavFooter.styles.d.ts +1 -1
- package/dist/components/NavFooter/NavFooter.styles.js +9 -9
- package/dist/components/NavFooter/subcomponents/FooterBrand.js +3 -3
- package/dist/components/NavFooter/subcomponents/FooterLegalBar.js +1 -1
- package/dist/components/NavFooter/subcomponents/FooterNavSection.js +4 -4
- package/dist/components/NavFooter/subcomponents/FooterNewsletter.js +7 -7
- package/dist/components/NavFooter/subcomponents/FooterOffice.js +5 -5
- package/dist/components/NavFooter/subcomponents/FooterSocial.js +3 -3
- package/dist/components/NavHeader/NavHeader.d.ts.map +1 -1
- package/dist/components/NavHeader/NavHeader.js +13 -4
- package/dist/components/NavHeader/NavHeader.styles.d.ts +1 -1
- package/dist/components/NavHeader/NavHeader.styles.js +16 -16
- package/dist/components/NavHeader/NavHeader.types.d.ts +41 -0
- package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
- package/dist/components/NavHeader/index.d.ts +1 -1
- package/dist/components/NavHeader/index.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts +4 -0
- package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts.map +1 -0
- package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.js +16 -0
- package/dist/components/NavHeader/subcomponents/NavActionOverflow.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavActionOverflow.js +6 -5
- package/dist/components/NavHeader/subcomponents/NavActions.d.ts +14 -0
- package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavActions.js +82 -16
- package/dist/components/NavHeader/subcomponents/NavBrand.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavBrand.js +14 -15
- package/dist/components/NavHeader/subcomponents/NavItems.js +3 -3
- package/dist/components/NavHeader/subcomponents/NavItemsOverflow.js +7 -7
- package/dist/components/NavHeader/subcomponents/NavMobileSearchDrawer.js +5 -5
- package/dist/components/NavHeader/subcomponents/NavMobileTabSlider.js +2 -2
- package/dist/components/NavHeader/subcomponents/NavSearch.js +5 -5
- package/dist/components/NavHeader/subcomponents/OfferBanner.js +1 -1
- package/dist/components/OtpInput/OtpInput.d.ts +4 -0
- package/dist/components/OtpInput/OtpInput.d.ts.map +1 -0
- package/dist/components/OtpInput/OtpInput.js +114 -0
- package/dist/components/OtpInput/OtpInput.styles.d.ts +10 -0
- package/dist/components/OtpInput/OtpInput.styles.d.ts.map +1 -0
- package/dist/components/OtpInput/OtpInput.styles.js +49 -0
- package/dist/components/OtpInput/OtpInput.types.d.ts +40 -0
- package/dist/components/OtpInput/OtpInput.types.d.ts.map +1 -0
- package/dist/components/OtpInput/index.d.ts +4 -0
- package/dist/components/OtpInput/index.d.ts.map +1 -0
- package/dist/components/PageHeader/PageHeader.d.ts +8 -0
- package/dist/components/PageHeader/PageHeader.d.ts.map +1 -0
- package/dist/components/PageHeader/PageHeader.js +55 -0
- package/dist/components/PageHeader/PageHeader.styles.d.ts +10 -0
- package/dist/components/PageHeader/PageHeader.styles.d.ts.map +1 -0
- package/dist/components/PageHeader/PageHeader.styles.js +23 -0
- package/dist/components/PageHeader/PageHeader.types.d.ts +24 -0
- package/dist/components/PageHeader/PageHeader.types.d.ts.map +1 -0
- package/dist/components/PageHeader/index.d.ts +4 -0
- package/dist/components/PageHeader/index.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.d.ts +9 -3
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.js +60 -39
- package/dist/components/Pagination/Pagination.styles.d.ts +1 -1
- package/dist/components/Pagination/Pagination.styles.js +3 -3
- package/dist/components/Pagination/Pagination.types.d.ts +23 -14
- package/dist/components/Pagination/Pagination.types.d.ts.map +1 -1
- package/dist/components/Popover/Popover.styles.js +1 -1
- package/dist/components/Price/Price.d.ts +10 -0
- package/dist/components/Price/Price.d.ts.map +1 -0
- package/dist/components/Price/Price.js +49 -0
- package/dist/components/Price/Price.styles.d.ts +15 -0
- package/dist/components/Price/Price.styles.d.ts.map +1 -0
- package/dist/components/Price/Price.styles.js +44 -0
- package/dist/components/Price/Price.types.d.ts +22 -0
- package/dist/components/Price/Price.types.d.ts.map +1 -0
- package/dist/components/Price/index.d.ts +4 -0
- package/dist/components/Price/index.d.ts.map +1 -0
- package/dist/components/Progress/Progress.js +2 -2
- package/dist/components/Progress/Progress.styles.d.ts +1 -1
- package/dist/components/Radio/Radio.js +4 -4
- package/dist/components/Radio/Radio.styles.d.ts +2 -2
- package/dist/components/Radio/Radio.styles.js +1 -1
- package/dist/components/RangeSlider/RangeSlider.js +3 -3
- package/dist/components/RangeSlider/RangeSlider.styles.js +1 -1
- package/dist/components/Rating/Rating.d.ts +5 -0
- package/dist/components/Rating/Rating.d.ts.map +1 -0
- package/dist/components/Rating/Rating.js +38 -0
- package/dist/components/Rating/Rating.styles.d.ts +6 -0
- package/dist/components/Rating/Rating.styles.d.ts.map +1 -0
- package/dist/components/Rating/Rating.styles.js +13 -0
- package/dist/components/Rating/Rating.types.d.ts +18 -0
- package/dist/components/Rating/Rating.types.d.ts.map +1 -0
- package/dist/components/Rating/index.d.ts +4 -0
- package/dist/components/Rating/index.d.ts.map +1 -0
- package/dist/components/ResponsiveDialog/ResponsiveDialog.d.ts +29 -0
- package/dist/components/ResponsiveDialog/ResponsiveDialog.d.ts.map +1 -0
- package/dist/components/ResponsiveDialog/ResponsiveDialog.js +74 -0
- package/dist/components/ResponsiveDialog/ResponsiveDialog.types.d.ts +27 -0
- package/dist/components/ResponsiveDialog/ResponsiveDialog.types.d.ts.map +1 -0
- package/dist/components/ResponsiveDialog/index.d.ts +3 -0
- package/dist/components/ResponsiveDialog/index.d.ts.map +1 -0
- package/dist/components/SectionNav/SectionNav.d.ts +12 -0
- package/dist/components/SectionNav/SectionNav.d.ts.map +1 -0
- package/dist/components/SectionNav/SectionNav.js +67 -0
- package/dist/components/SectionNav/SectionNav.styles.d.ts +11 -0
- package/dist/components/SectionNav/SectionNav.styles.d.ts.map +1 -0
- package/dist/components/SectionNav/SectionNav.styles.js +28 -0
- package/dist/components/SectionNav/SectionNav.types.d.ts +37 -0
- package/dist/components/SectionNav/SectionNav.types.d.ts.map +1 -0
- package/dist/components/SectionNav/index.d.ts +4 -0
- package/dist/components/SectionNav/index.d.ts.map +1 -0
- package/dist/components/Select/Select.js +2 -2
- package/dist/components/Select/Select.styles.d.ts +1 -1
- package/dist/components/Select/Select.styles.js +8 -8
- package/dist/components/SideBarNavigation/SideBarNavigation.styles.js +8 -8
- package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.js +3 -3
- package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.js +1 -1
- package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.js +4 -4
- package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.js +9 -9
- package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.js +2 -2
- package/dist/components/Skeleton/Skeleton.styles.js +1 -1
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.js +9 -7
- package/dist/components/Spinner/Spinner.styles.d.ts +8 -2
- package/dist/components/Spinner/Spinner.styles.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.styles.js +27 -24
- package/dist/components/Spinner/Spinner.types.d.ts +9 -0
- package/dist/components/Spinner/Spinner.types.d.ts.map +1 -1
- package/dist/components/Stack/Stack.d.ts.map +1 -1
- package/dist/components/Stack/Stack.js +16 -1
- package/dist/components/Stack/Stack.types.d.ts +14 -1
- package/dist/components/Stack/Stack.types.d.ts.map +1 -1
- package/dist/components/Stat/Stat.styles.js +4 -4
- package/dist/components/Stepper/Stepper.d.ts +9 -0
- package/dist/components/Stepper/Stepper.d.ts.map +1 -0
- package/dist/components/Stepper/Stepper.js +81 -0
- package/dist/components/Stepper/Stepper.styles.d.ts +14 -0
- package/dist/components/Stepper/Stepper.styles.d.ts.map +1 -0
- package/dist/components/Stepper/Stepper.styles.js +40 -0
- package/dist/components/Stepper/Stepper.types.d.ts +17 -0
- package/dist/components/Stepper/Stepper.types.d.ts.map +1 -0
- package/dist/components/Stepper/index.d.ts +4 -0
- package/dist/components/Stepper/index.d.ts.map +1 -0
- package/dist/components/Steps/Steps.d.ts +9 -0
- package/dist/components/Steps/Steps.d.ts.map +1 -0
- package/dist/components/Steps/Steps.js +81 -0
- package/dist/components/Steps/Steps.styles.d.ts +14 -0
- package/dist/components/Steps/Steps.styles.d.ts.map +1 -0
- package/dist/components/Steps/Steps.styles.js +40 -0
- package/dist/components/Steps/Steps.types.d.ts +17 -0
- package/dist/components/Steps/Steps.types.d.ts.map +1 -0
- package/dist/components/Steps/index.d.ts +4 -0
- package/dist/components/Steps/index.d.ts.map +1 -0
- package/dist/components/SubNav/SubNav.d.ts +17 -0
- package/dist/components/SubNav/SubNav.d.ts.map +1 -0
- package/dist/components/SubNav/SubNav.js +87 -0
- package/dist/components/SubNav/SubNav.styles.d.ts +18 -0
- package/dist/components/SubNav/SubNav.styles.d.ts.map +1 -0
- package/dist/components/SubNav/SubNav.styles.js +33 -0
- package/dist/components/SubNav/SubNav.types.d.ts +45 -0
- package/dist/components/SubNav/SubNav.types.d.ts.map +1 -0
- package/dist/components/SubNav/index.d.ts +4 -0
- package/dist/components/SubNav/index.d.ts.map +1 -0
- package/dist/components/Switch/Switch.js +2 -2
- package/dist/components/Switch/Switch.styles.d.ts +2 -2
- package/dist/components/Switch/Switch.styles.js +1 -1
- package/dist/components/Table/Table.js +1 -1
- package/dist/components/Table/Table.styles.d.ts +1 -1
- package/dist/components/Table/Table.styles.js +5 -5
- package/dist/components/Table/TablePagination.js +4 -4
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.js +75 -8
- package/dist/components/Tabs/Tabs.styles.d.ts +10 -2
- package/dist/components/Tabs/Tabs.styles.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.styles.js +25 -10
- package/dist/components/Tabs/Tabs.types.d.ts +13 -0
- package/dist/components/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/Text.js +4 -0
- package/dist/components/Text/Text.styles.d.ts +4 -2
- package/dist/components/Text/Text.styles.d.ts.map +1 -1
- package/dist/components/Text/Text.styles.js +32 -16
- package/dist/components/Text/Text.types.d.ts +1 -1
- package/dist/components/Text/Text.types.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +4 -4
- package/dist/components/Textarea/Textarea.styles.d.ts +1 -1
- package/dist/components/Textarea/Textarea.styles.js +6 -6
- package/dist/components/Toast/Toast.js +3 -3
- package/dist/components/Toast/Toast.styles.js +5 -5
- package/dist/components/Toast/ToastContainer.js +1 -1
- package/dist/components/Tooltip/Tooltip.styles.js +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +8 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js +14 -0
- package/dist/components/VisuallyHidden/index.d.ts +2 -0
- package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -14
- package/dist/utils/gap.d.ts +21 -1
- package/dist/utils/gap.d.ts.map +1 -1
- package/dist/utils/gap.js +306 -46
- package/package.json +7 -6
- package/dist/components/CrossZoneLink/CrossZoneLink.d.ts +0 -10
- package/dist/components/CrossZoneLink/CrossZoneLink.d.ts.map +0 -1
- package/dist/components/CrossZoneLink/CrossZoneLink.js +0 -111
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts +0 -8
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts.map +0 -1
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.js +0 -33
- package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts +0 -31
- package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts.map +0 -1
- package/dist/components/CrossZoneLink/index.d.ts +0 -4
- package/dist/components/CrossZoneLink/index.d.ts.map +0 -1
|
@@ -4,7 +4,7 @@ const listVariants = cva("w-full font-sans text-foreground", {
|
|
|
4
4
|
variants: {
|
|
5
5
|
variant: {
|
|
6
6
|
default: "",
|
|
7
|
-
bordered: "border border-grey-200 dark:border-grey-800 rounded-lg overflow-hidden",
|
|
7
|
+
bordered: "border border-grey-200 dark:border-grey-800 rounded-lg overflow-hidden bg-card",
|
|
8
8
|
divided: "divide-y divide-grey-200 dark:divide-grey-800"
|
|
9
9
|
}
|
|
10
10
|
},
|
|
@@ -12,17 +12,18 @@ const listVariants = cva("w-full font-sans text-foreground", {
|
|
|
12
12
|
variant: "default"
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
|
+
const listDividedClass = "divide-y divide-border";
|
|
15
16
|
const listItemVariants = cva(
|
|
16
17
|
"relative flex items-center gap-3 transition-colors font-sans select-none",
|
|
17
18
|
{
|
|
18
19
|
variants: {
|
|
19
20
|
density: {
|
|
20
|
-
sm: "py-2 px-3 text-
|
|
21
|
-
default: "py-3 px-4 text-
|
|
22
|
-
lg: "py-4 px-5 text-
|
|
21
|
+
sm: "py-2 px-3 text-body-3",
|
|
22
|
+
default: "py-3 px-4 text-body-2",
|
|
23
|
+
lg: "py-4 px-5 text-body-1"
|
|
23
24
|
},
|
|
24
25
|
interactive: {
|
|
25
|
-
true: "cursor-pointer hover:bg-grey-100/70 dark:hover:bg-grey-800/60 active:bg-grey-200/50",
|
|
26
|
+
true: "cursor-pointer hover:bg-grey-100/70 dark:hover:bg-grey-800/60 active:bg-grey-200/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
|
|
26
27
|
false: ""
|
|
27
28
|
}
|
|
28
29
|
},
|
|
@@ -38,4 +39,4 @@ const listItemIconVariants = cva(
|
|
|
38
39
|
const listItemTextVariants = cva("flex-1 min-w-0");
|
|
39
40
|
const listItemActionVariants = cva("shrink-0 ml-auto flex items-center gap-2");
|
|
40
41
|
|
|
41
|
-
export { listItemActionVariants, listItemIconVariants, listItemTextVariants, listItemVariants, listVariants };
|
|
42
|
+
export { listDividedClass, listItemActionVariants, listItemIconVariants, listItemTextVariants, listItemVariants, listVariants };
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
2
|
import type { ListVariants, ListItemVariants } from './List.styles';
|
|
3
3
|
export interface ListProps extends React.HTMLAttributes<HTMLUListElement>, ListVariants {
|
|
4
|
+
/** Lines between items (works with every variant, e.g. bordered). */
|
|
5
|
+
divided?: boolean;
|
|
4
6
|
}
|
|
5
7
|
export interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement>, ListItemVariants {
|
|
6
8
|
clickable?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Render the row as its child (e.g. a link) inside the `<li>`: the child
|
|
11
|
+
* gets the row and interactive styles, with no button role.
|
|
12
|
+
*/
|
|
13
|
+
asChild?: boolean;
|
|
7
14
|
}
|
|
8
15
|
export type ListItemIconProps = React.HTMLAttributes<HTMLDivElement>;
|
|
9
16
|
export interface ListItemTextProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.types.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE,MAAM,WAAW,SACf,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC5C,YAAY;
|
|
1
|
+
{"version":3,"file":"List.types.d.ts","sourceRoot":"","sources":["../../../src/components/List/List.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE,MAAM,WAAW,SACf,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAC5C,YAAY;IACd,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC3C,gBAAgB;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAErE,MAAM,WAAW,iBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { MediaCardProps } from './MediaCard.types';
|
|
3
|
+
/**
|
|
4
|
+
* Generic media + content card template.
|
|
5
|
+
*
|
|
6
|
+
* - `vertical`: media on top (grids of items).
|
|
7
|
+
* - `horizontal`: media on the left, `aside` on the right (lists, line items).
|
|
8
|
+
*
|
|
9
|
+
* Pass `href` to make the whole card a link (a stretched title link);
|
|
10
|
+
* overlays and `footer` stay clickable above it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MediaCard: React.ForwardRefExoticComponent<MediaCardProps & React.RefAttributes<HTMLElement>>;
|
|
13
|
+
//# sourceMappingURL=MediaCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaCard.d.ts","sourceRoot":"","sources":["../../../src/components/MediaCard/MediaCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAc5E;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,oFA8IrB,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { cn } from '@timmbr/utils';
|
|
4
|
+
import { mediaCardOverlayVariants, mediaCardMediaVariants, mediaCardVariants } from './MediaCard.styles.js';
|
|
5
|
+
import { Text } from '../Text/Text.js';
|
|
6
|
+
|
|
7
|
+
const PRESET_RATIOS = ["square", "portrait", "landscape"];
|
|
8
|
+
const DefaultLink = ({ href, className, children }) => /* @__PURE__ */ jsx("a", { href, className, children });
|
|
9
|
+
const STRETCHED_LINK = "rounded-sm after:absolute after:inset-0 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring";
|
|
10
|
+
const MediaCard = React.forwardRef(
|
|
11
|
+
({
|
|
12
|
+
media,
|
|
13
|
+
mediaTopStart,
|
|
14
|
+
mediaTopEnd,
|
|
15
|
+
mediaZoom = false,
|
|
16
|
+
mediaClassName,
|
|
17
|
+
mediaFallback,
|
|
18
|
+
href,
|
|
19
|
+
linkComponent: Link = DefaultLink,
|
|
20
|
+
titleSize,
|
|
21
|
+
spacing = "compact",
|
|
22
|
+
eyebrow,
|
|
23
|
+
title,
|
|
24
|
+
subtitle,
|
|
25
|
+
meta,
|
|
26
|
+
aside,
|
|
27
|
+
footer,
|
|
28
|
+
orientation = "vertical",
|
|
29
|
+
variant = "plain",
|
|
30
|
+
size = "md",
|
|
31
|
+
ratio = "square",
|
|
32
|
+
titleClassName,
|
|
33
|
+
titleAs: Title = "h3",
|
|
34
|
+
as: Root = "article",
|
|
35
|
+
className,
|
|
36
|
+
...props
|
|
37
|
+
}, ref) => {
|
|
38
|
+
const horizontal = orientation === "horizontal";
|
|
39
|
+
const relaxed = spacing === "relaxed";
|
|
40
|
+
const presetRatio = PRESET_RATIOS.includes(ratio) ? ratio : void 0;
|
|
41
|
+
const resolvedTitleSize = titleSize ?? (size === "sm" ? "sm" : "md");
|
|
42
|
+
const showMedia = media || mediaFallback;
|
|
43
|
+
return /* @__PURE__ */ jsxs(
|
|
44
|
+
Root,
|
|
45
|
+
{
|
|
46
|
+
ref,
|
|
47
|
+
"data-slot": "media-card",
|
|
48
|
+
"data-orientation": orientation,
|
|
49
|
+
className: cn(mediaCardVariants({ orientation, variant, size }), "relative", className),
|
|
50
|
+
...props,
|
|
51
|
+
children: [
|
|
52
|
+
showMedia && /* @__PURE__ */ jsxs(
|
|
53
|
+
"div",
|
|
54
|
+
{
|
|
55
|
+
className: cn(
|
|
56
|
+
mediaCardMediaVariants({ orientation, size, ratio: presetRatio }),
|
|
57
|
+
mediaZoom && "group-hover/media-card:[&>img]:scale-105",
|
|
58
|
+
mediaClassName
|
|
59
|
+
),
|
|
60
|
+
style: presetRatio ? void 0 : { aspectRatio: ratio },
|
|
61
|
+
"data-slot": "media-card-media",
|
|
62
|
+
children: [
|
|
63
|
+
media ?? /* @__PURE__ */ jsx(
|
|
64
|
+
"div",
|
|
65
|
+
{
|
|
66
|
+
className: "flex h-full w-full items-center justify-center text-muted-foreground",
|
|
67
|
+
"data-slot": "media-card-fallback",
|
|
68
|
+
children: mediaFallback
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
mediaTopStart && /* @__PURE__ */ jsx("div", { className: mediaCardOverlayVariants({ position: "start" }), "data-slot": "media-card-top-start", children: mediaTopStart }),
|
|
72
|
+
mediaTopEnd && /* @__PURE__ */ jsx("div", { className: mediaCardOverlayVariants({ position: "end" }), "data-slot": "media-card-top-end", children: mediaTopEnd })
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex min-w-0 flex-1 flex-col", horizontal ? "gap-1" : "gap-1.5"), children: [
|
|
77
|
+
/* @__PURE__ */ jsxs(
|
|
78
|
+
"div",
|
|
79
|
+
{
|
|
80
|
+
className: cn(
|
|
81
|
+
"flex min-w-0 gap-3",
|
|
82
|
+
horizontal ? "items-start justify-between" : cn("flex-col", relaxed ? "gap-2" : "gap-1.5")
|
|
83
|
+
),
|
|
84
|
+
children: [
|
|
85
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
86
|
+
eyebrow && /* @__PURE__ */ jsx(Text, { asChild: true, variant: "body-3", foreground: "muted", children: /* @__PURE__ */ jsx("div", { className: "mb-2 flex items-center gap-1.5", "data-slot": "media-card-eyebrow", children: eyebrow }) }),
|
|
87
|
+
/* @__PURE__ */ jsx(
|
|
88
|
+
Title,
|
|
89
|
+
{
|
|
90
|
+
className: cn(
|
|
91
|
+
"font-medium text-foreground",
|
|
92
|
+
resolvedTitleSize === "sm" ? "text-body-2" : "text-body-1",
|
|
93
|
+
"line-clamp-2",
|
|
94
|
+
titleClassName
|
|
95
|
+
),
|
|
96
|
+
"data-slot": "media-card-title",
|
|
97
|
+
children: href ? /* @__PURE__ */ jsx(Link, { href, className: STRETCHED_LINK, children: title }) : title
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
subtitle && /* @__PURE__ */ jsx(Text, { asChild: true, variant: "body-2", foreground: "muted", children: /* @__PURE__ */ jsx("div", { className: "mt-0.5", "data-slot": "media-card-subtitle", children: subtitle }) }),
|
|
101
|
+
meta && /* @__PURE__ */ jsx(Text, { asChild: true, variant: "body-3", foreground: "muted", children: /* @__PURE__ */ jsx("div", { className: relaxed ? "mt-4" : "mt-1", "data-slot": "media-card-meta", children: meta }) })
|
|
102
|
+
] }),
|
|
103
|
+
aside && /* @__PURE__ */ jsx(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
className: cn("text-body-1 font-medium", horizontal ? "shrink-0 text-right" : ""),
|
|
107
|
+
"data-slot": "media-card-aside",
|
|
108
|
+
children: aside
|
|
109
|
+
}
|
|
110
|
+
)
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
footer && /* @__PURE__ */ jsx("div", { className: "relative z-10 mt-2 flex flex-wrap items-center gap-2", "data-slot": "media-card-footer", children: footer })
|
|
115
|
+
] })
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
MediaCard.displayName = "MediaCard";
|
|
122
|
+
|
|
123
|
+
export { MediaCard };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
export declare const mediaCardVariants: (props?: ({
|
|
3
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
4
|
+
variant?: "outline" | "plain" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export declare const mediaCardMediaVariants: (props?: ({
|
|
8
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
9
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
10
|
+
ratio?: "square" | "portrait" | "landscape" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
export declare const mediaCardOverlayVariants: (props?: ({
|
|
13
|
+
position?: "start" | "end" | null | undefined;
|
|
14
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
15
|
+
export type MediaCardVariants = VariantProps<typeof mediaCardVariants>;
|
|
16
|
+
export type MediaCardMediaVariants = Pick<VariantProps<typeof mediaCardMediaVariants>, 'ratio'>;
|
|
17
|
+
//# sourceMappingURL=MediaCard.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaCard.styles.d.ts","sourceRoot":"","sources":["../../../src/components/MediaCard/MediaCard.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,iBAAiB;;;;8EAiB5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;8EA0BlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;8EAOnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,sBAAsB,CAAC,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { cva } from 'class-variance-authority';
|
|
2
|
+
|
|
3
|
+
const mediaCardVariants = cva("group/media-card flex min-w-0 font-sans text-foreground", {
|
|
4
|
+
variants: {
|
|
5
|
+
orientation: {
|
|
6
|
+
vertical: "flex-col",
|
|
7
|
+
horizontal: "flex-row items-start"
|
|
8
|
+
},
|
|
9
|
+
variant: {
|
|
10
|
+
plain: "",
|
|
11
|
+
outline: "rounded-lg border border-border bg-card p-3"
|
|
12
|
+
},
|
|
13
|
+
size: {
|
|
14
|
+
sm: "gap-3",
|
|
15
|
+
md: "gap-4",
|
|
16
|
+
lg: "gap-5"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: { orientation: "vertical", variant: "plain", size: "md" }
|
|
20
|
+
});
|
|
21
|
+
const mediaCardMediaVariants = cva(
|
|
22
|
+
"relative shrink-0 overflow-hidden rounded-md bg-muted [&>img]:h-full [&>img]:w-full [&>img]:object-cover [&>img]:transition-transform [&>img]:duration-500 [&>img]:ease-out",
|
|
23
|
+
{
|
|
24
|
+
variants: {
|
|
25
|
+
orientation: {
|
|
26
|
+
vertical: "w-full",
|
|
27
|
+
horizontal: ""
|
|
28
|
+
},
|
|
29
|
+
size: {
|
|
30
|
+
sm: "",
|
|
31
|
+
md: "",
|
|
32
|
+
lg: ""
|
|
33
|
+
},
|
|
34
|
+
ratio: {
|
|
35
|
+
square: "aspect-square",
|
|
36
|
+
portrait: "aspect-[4/5]",
|
|
37
|
+
landscape: "aspect-[4/3]"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
compoundVariants: [
|
|
41
|
+
{ orientation: "horizontal", size: "sm", className: "w-16" },
|
|
42
|
+
{ orientation: "horizontal", size: "md", className: "w-20 sm:w-24" },
|
|
43
|
+
{ orientation: "horizontal", size: "lg", className: "w-28 sm:w-32" }
|
|
44
|
+
],
|
|
45
|
+
defaultVariants: { orientation: "vertical", size: "md", ratio: "square" }
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
const mediaCardOverlayVariants = cva("absolute top-2 z-10 flex items-center gap-1", {
|
|
49
|
+
variants: {
|
|
50
|
+
position: {
|
|
51
|
+
start: "start-2",
|
|
52
|
+
end: "end-2"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export { mediaCardMediaVariants, mediaCardOverlayVariants, mediaCardVariants };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { MediaCardMediaVariants, MediaCardVariants } from './MediaCard.styles';
|
|
3
|
+
/**
|
|
4
|
+
* Layout template: media + text + optional aside and footer. It holds no
|
|
5
|
+
* domain knowledge; build feature cards (products, line items, articles…)
|
|
6
|
+
* on top of it by passing nodes into the slots.
|
|
7
|
+
*/
|
|
8
|
+
/** Props the `linkComponent` receives (e.g. next/link). */
|
|
9
|
+
export interface MediaCardLinkProps {
|
|
10
|
+
href: string;
|
|
11
|
+
className?: string;
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export interface MediaCardProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'>, MediaCardVariants, Omit<MediaCardMediaVariants, 'ratio'> {
|
|
15
|
+
/**
|
|
16
|
+
* Media aspect ratio: a preset, or any CSS ratio such as `"171/147"`.
|
|
17
|
+
* @default 'square'
|
|
18
|
+
*/
|
|
19
|
+
ratio?: 'square' | 'portrait' | 'landscape' | (string & {});
|
|
20
|
+
/**
|
|
21
|
+
* Makes the whole card a link: the title becomes a link stretched over the
|
|
22
|
+
* card. Overlays and `footer` stay clickable above it.
|
|
23
|
+
*/
|
|
24
|
+
href?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Link to render `href` with (e.g. next/link for same-app pages).
|
|
27
|
+
* Defaults to a plain `<a>` (full navigation, safe across apps).
|
|
28
|
+
*/
|
|
29
|
+
linkComponent?: React.ComponentType<MediaCardLinkProps>;
|
|
30
|
+
/** Shown centred in the media box when there is no `media` (e.g. an icon). */
|
|
31
|
+
mediaFallback?: React.ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Title text size; defaults to the card `size` (sm → body-2, otherwise body-1).
|
|
34
|
+
*/
|
|
35
|
+
titleSize?: 'sm' | 'md';
|
|
36
|
+
/**
|
|
37
|
+
* `relaxed`: more room between title, meta and aside (product grids).
|
|
38
|
+
* @default 'compact'
|
|
39
|
+
*/
|
|
40
|
+
spacing?: 'compact' | 'relaxed';
|
|
41
|
+
/** Image (or any node) shown in the media slot; fills it with object-cover. */
|
|
42
|
+
media?: React.ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* Overlays on the media corners (badges, a wishlist toggle…). They sit above
|
|
45
|
+
* a stretched title link, so interactive content stays clickable.
|
|
46
|
+
*/
|
|
47
|
+
mediaTopStart?: React.ReactNode;
|
|
48
|
+
mediaTopEnd?: React.ReactNode;
|
|
49
|
+
/** Gently zooms the media on hover (for clickable cards). */
|
|
50
|
+
mediaZoom?: boolean;
|
|
51
|
+
/** Extra classes for the media box (e.g. a custom `aspect-*`). */
|
|
52
|
+
mediaClassName?: string;
|
|
53
|
+
/** Small line above the title (category, options, brand…). */
|
|
54
|
+
eyebrow?: React.ReactNode;
|
|
55
|
+
title: React.ReactNode;
|
|
56
|
+
subtitle?: React.ReactNode;
|
|
57
|
+
/** Small details under the title (attributes, quantity, dates…). */
|
|
58
|
+
meta?: React.ReactNode;
|
|
59
|
+
/**
|
|
60
|
+
* Trailing content: to the right in `horizontal` (e.g. a price), under the
|
|
61
|
+
* meta in `vertical`.
|
|
62
|
+
*/
|
|
63
|
+
aside?: React.ReactNode;
|
|
64
|
+
/** Actions row at the bottom (buttons). Keep it outside any title link. */
|
|
65
|
+
footer?: React.ReactNode;
|
|
66
|
+
/** Extra classes for the title (e.g. a different text size). */
|
|
67
|
+
titleClassName?: string;
|
|
68
|
+
/** Heading element for the title (default `h3`). */
|
|
69
|
+
titleAs?: 'h2' | 'h3' | 'h4' | 'p';
|
|
70
|
+
/** Root element (e.g. `li` inside a list). */
|
|
71
|
+
as?: 'article' | 'div' | 'li';
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=MediaCard.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaCard.types.d.ts","sourceRoot":"","sources":["../../../src/components/MediaCard/MediaCard.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEpF;;;;GAIG;AACH,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EACtD,iBAAiB,EACjB,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5D;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,8EAA8E;IAC9E,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,+EAA+E;IAC/E,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,oEAAoE;IACpE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IACnC,8CAA8C;IAC9C,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MediaCard/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
@@ -8,7 +8,7 @@ export declare const navFooterRootVariants: (props?: ({
|
|
|
8
8
|
* Inner container width and responsive padding variants.
|
|
9
9
|
*/
|
|
10
10
|
export declare const navFooterContainerVariants: (props?: ({
|
|
11
|
-
maxWidth?: "sm" | "
|
|
11
|
+
maxWidth?: "sm" | "md" | "lg" | "xl" | "2xl" | "full" | null | undefined;
|
|
12
12
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
13
|
/**
|
|
14
14
|
* Navigation column title styles.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
2
|
|
|
3
3
|
const navFooterRootVariants = cva(
|
|
4
|
-
"w-full bg-
|
|
4
|
+
"w-full bg-surface-dark text-bg-2 relative border-t border-grey-1000/20 transition-colors select-text",
|
|
5
5
|
{
|
|
6
6
|
variants: {
|
|
7
7
|
tone: {
|
|
8
|
-
dark: "bg-
|
|
9
|
-
light: "bg-[var(--color-bg-2,#F7F1E6)] text-[var(--color-grey-800,#3C3C3C)] border-t border-
|
|
8
|
+
dark: "bg-surface-dark text-bg-2",
|
|
9
|
+
light: "bg-[var(--color-bg-2,#F7F1E6)] text-[var(--color-grey-800,#3C3C3C)] border-t border-border-warm"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
12
|
defaultVariants: {
|
|
@@ -33,22 +33,22 @@ const navFooterContainerVariants = cva(
|
|
|
33
33
|
}
|
|
34
34
|
);
|
|
35
35
|
const footerSectionTitleVariants = cva(
|
|
36
|
-
"font-title text-
|
|
36
|
+
"font-title! text-body-3 font-semibold text-primary-200 uppercase tracking-[0.14em] select-none flex items-center justify-between w-full"
|
|
37
37
|
);
|
|
38
38
|
const footerNavLinkVariants = cva(
|
|
39
|
-
"
|
|
39
|
+
"text-body-2 text-bg-2/85 hover:text-primary-200 hover:opacity-100 transition-colors inline-flex items-center gap-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200/60 rounded py-0.5 select-none"
|
|
40
40
|
);
|
|
41
41
|
const footerSocialButtonVariants = cva(
|
|
42
|
-
"inline-flex items-center justify-center text-
|
|
42
|
+
"inline-flex items-center justify-center text-primary-200 hover:text-bg-2 hover:bg-grey-50/5 p-2 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200/60 active:scale-95"
|
|
43
43
|
);
|
|
44
44
|
const footerOfficeBlockVariants = cva(
|
|
45
|
-
"flex flex-col gap-1.5 text-
|
|
45
|
+
"flex flex-col gap-1.5 text-body-2 text-bg-2/85 leading-relaxed"
|
|
46
46
|
);
|
|
47
47
|
const footerLegalBarVariants = cva(
|
|
48
|
-
"border-t border-
|
|
48
|
+
"border-t border-grey-50/10 py-5 sm:py-6 flex flex-col sm:flex-row items-center justify-between gap-4 text-body-3 text-sand-muted"
|
|
49
49
|
);
|
|
50
50
|
const footerLegalLinkVariants = cva(
|
|
51
|
-
"text-
|
|
51
|
+
"text-body-3 text-sand-muted hover:text-grey-50 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary-200/60 rounded px-1"
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
export { footerLegalBarVariants, footerLegalLinkVariants, footerNavLinkVariants, footerOfficeBlockVariants, footerSectionTitleVariants, footerSocialButtonVariants, navFooterContainerVariants, navFooterRootVariants };
|
|
@@ -60,7 +60,7 @@ const FooterBrand = ({
|
|
|
60
60
|
href: resolvedHref,
|
|
61
61
|
"aria-label": alt,
|
|
62
62
|
onClick,
|
|
63
|
-
className: "inline-flex items-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
63
|
+
className: "inline-flex items-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200/50 rounded-md transition-opacity hover:opacity-90",
|
|
64
64
|
"data-slot": "footer-brand-link",
|
|
65
65
|
children: logoContent
|
|
66
66
|
}
|
|
@@ -71,7 +71,7 @@ const FooterBrand = ({
|
|
|
71
71
|
"aria-label": alt,
|
|
72
72
|
onClick,
|
|
73
73
|
"data-cross-zone": requiresCrossZone ? "true" : void 0,
|
|
74
|
-
className: "inline-flex items-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
74
|
+
className: "inline-flex items-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200/50 rounded-md transition-opacity hover:opacity-90",
|
|
75
75
|
"data-slot": "footer-brand-link",
|
|
76
76
|
children: logoContent
|
|
77
77
|
}
|
|
@@ -86,7 +86,7 @@ const FooterBrand = ({
|
|
|
86
86
|
description && /* @__PURE__ */ jsx(
|
|
87
87
|
"div",
|
|
88
88
|
{
|
|
89
|
-
className: "text-
|
|
89
|
+
className: "text-body-2 text-sand-muted leading-relaxed select-text",
|
|
90
90
|
"data-slot": "footer-brand-description",
|
|
91
91
|
children: typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: "whitespace-pre-line m-0", children: description }) : description
|
|
92
92
|
}
|
|
@@ -43,7 +43,7 @@ const FooterLegalBar = ({
|
|
|
43
43
|
"data-slot": "footer-legal-bar",
|
|
44
44
|
children: [
|
|
45
45
|
/* @__PURE__ */ jsx("div", { className: "select-text", "data-slot": "footer-copyright", children: typeof copyright === "string" ? /* @__PURE__ */ jsx("span", { children: copyright }) : copyright }),
|
|
46
|
-
extra && /* @__PURE__ */ jsx("div", { className: "text-
|
|
46
|
+
extra && /* @__PURE__ */ jsx("div", { className: "text-body-3 text-sand-muted", children: extra }),
|
|
47
47
|
links && links.length > 0 && /* @__PURE__ */ jsx(
|
|
48
48
|
"ul",
|
|
49
49
|
{
|
|
@@ -31,7 +31,7 @@ const FooterNavSection = ({
|
|
|
31
31
|
const linkContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
32
32
|
item.icon && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: item.icon }),
|
|
33
33
|
/* @__PURE__ */ jsx("span", { children: item.label }),
|
|
34
|
-
item.badge && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center px-1.5 py-0.2 rounded text-
|
|
34
|
+
item.badge && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center px-1.5 py-0.2 rounded text-caption font-bold bg-primary-200 text-surface-dark uppercase tracking-wider", children: item.badge })
|
|
35
35
|
] });
|
|
36
36
|
const linkProps = {
|
|
37
37
|
href: resolvedHref,
|
|
@@ -59,7 +59,7 @@ const FooterNavSection = ({
|
|
|
59
59
|
"div",
|
|
60
60
|
{
|
|
61
61
|
className: cn(
|
|
62
|
-
"flex flex-col border-b border-
|
|
62
|
+
"flex flex-col border-b border-grey-50/10 md:border-b-0 py-3 md:py-0 transition-colors",
|
|
63
63
|
sectionClass,
|
|
64
64
|
className
|
|
65
65
|
),
|
|
@@ -77,7 +77,7 @@ const FooterNavSection = ({
|
|
|
77
77
|
onClick: onToggle,
|
|
78
78
|
className: cn(
|
|
79
79
|
footerSectionTitleVariants(),
|
|
80
|
-
"py-2 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
80
|
+
"py-2 cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-200/50 rounded"
|
|
81
81
|
),
|
|
82
82
|
"data-slot": "footer-section-accordion-trigger",
|
|
83
83
|
children: [
|
|
@@ -89,7 +89,7 @@ const FooterNavSection = ({
|
|
|
89
89
|
initial: false,
|
|
90
90
|
animate: shouldAnimate ? isOpen ? "expanded" : "collapsed" : void 0,
|
|
91
91
|
className: cn(
|
|
92
|
-
"shrink-0 text-
|
|
92
|
+
"shrink-0 text-primary-200 transition-transform duration-200",
|
|
93
93
|
!shouldAnimate && (isOpen ? "rotate-180" : "rotate-0"),
|
|
94
94
|
motionClass
|
|
95
95
|
),
|
|
@@ -45,13 +45,13 @@ const FooterNewsletter = ({
|
|
|
45
45
|
className: cn("flex flex-col gap-3 max-w-[420px]", newsletterClass, className),
|
|
46
46
|
"data-slot": "footer-newsletter",
|
|
47
47
|
children: [
|
|
48
|
-
title && /* @__PURE__ */ jsx("div", { className: "font-title text-
|
|
49
|
-
description && /* @__PURE__ */ jsx("p", { className: "text-
|
|
50
|
-
currentStatus === "success" ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 p-3 rounded-lg bg-
|
|
48
|
+
title && /* @__PURE__ */ jsx("div", { className: "font-title! text-body-3 font-semibold text-primary-200 uppercase tracking-[0.14em]", children: title }),
|
|
49
|
+
description && /* @__PURE__ */ jsx("p", { className: "text-body-2 text-sand-muted m-0 leading-relaxed", children: description }),
|
|
50
|
+
currentStatus === "success" ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 p-3 rounded-lg bg-success/20 border border-success/40 text-success text-body-2", children: [
|
|
51
51
|
/* @__PURE__ */ jsx(CheckCircle, { size: 18, className: "shrink-0" }),
|
|
52
52
|
/* @__PURE__ */ jsx("span", { children: successMessage })
|
|
53
53
|
] }) : /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, className: "flex flex-col gap-2", children: [
|
|
54
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center rounded-lg bg-
|
|
54
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center rounded-lg bg-grey-1000/40 border border-grey-50/15 focus-within:border-primary-200 focus-within:ring-2 focus-within:ring-primary-200/30 transition-all p-1", children: [
|
|
55
55
|
/* @__PURE__ */ jsx(
|
|
56
56
|
"input",
|
|
57
57
|
{
|
|
@@ -64,7 +64,7 @@ const FooterNewsletter = ({
|
|
|
64
64
|
placeholder,
|
|
65
65
|
required: true,
|
|
66
66
|
disabled: currentStatus === "loading",
|
|
67
|
-
className: "flex-1 bg-transparent px-3 py-2 text-
|
|
67
|
+
className: "flex-1 bg-transparent px-3 py-2 text-body-2 text-bg-2 placeholder:text-sand-muted/60 focus:outline-none disabled:opacity-50",
|
|
68
68
|
"data-slot": "footer-newsletter-input"
|
|
69
69
|
}
|
|
70
70
|
),
|
|
@@ -73,7 +73,7 @@ const FooterNewsletter = ({
|
|
|
73
73
|
{
|
|
74
74
|
type: "submit",
|
|
75
75
|
disabled: currentStatus === "loading" || !email,
|
|
76
|
-
className: "inline-flex items-center justify-center gap-1.5 px-4 py-2 rounded-md bg-
|
|
76
|
+
className: "inline-flex items-center justify-center gap-1.5 px-4 py-2 rounded-md bg-primary-200 text-surface-dark font-title! text-body-3 font-semibold uppercase tracking-wider hover:bg-primary-200/90 transition-all disabled:opacity-40 disabled:cursor-not-allowed cursor-pointer shrink-0",
|
|
77
77
|
"data-slot": "footer-newsletter-button",
|
|
78
78
|
children: currentStatus === "loading" ? /* @__PURE__ */ jsx(Loader2, { size: 16, className: "animate-spin" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
79
79
|
/* @__PURE__ */ jsx("span", { children: buttonText }),
|
|
@@ -82,7 +82,7 @@ const FooterNewsletter = ({
|
|
|
82
82
|
}
|
|
83
83
|
)
|
|
84
84
|
] }),
|
|
85
|
-
currentStatus === "error" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-
|
|
85
|
+
currentStatus === "error" && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-body-3 text-destructive", children: [
|
|
86
86
|
/* @__PURE__ */ jsx(AlertCircle, { size: 14, className: "shrink-0" }),
|
|
87
87
|
/* @__PURE__ */ jsx("span", { children: errorMessage })
|
|
88
88
|
] })
|
|
@@ -21,7 +21,7 @@ const FooterOffice = ({ office, className }) => {
|
|
|
21
21
|
title && /* @__PURE__ */ jsx(
|
|
22
22
|
"div",
|
|
23
23
|
{
|
|
24
|
-
className: "font-bold text-
|
|
24
|
+
className: "font-bold text-body-2 text-bg-2/90 select-text",
|
|
25
25
|
"data-slot": "footer-office-title",
|
|
26
26
|
children: title
|
|
27
27
|
}
|
|
@@ -29,17 +29,17 @@ const FooterOffice = ({ office, className }) => {
|
|
|
29
29
|
address && /* @__PURE__ */ jsx(
|
|
30
30
|
"div",
|
|
31
31
|
{
|
|
32
|
-
className: cn(footerOfficeBlockVariants(), "select-text text-
|
|
32
|
+
className: cn(footerOfficeBlockVariants(), "select-text text-body-2"),
|
|
33
33
|
"data-slot": "footer-office-address",
|
|
34
34
|
children: typeof address === "string" ? /* @__PURE__ */ jsx("p", { className: "m-0 leading-relaxed whitespace-pre-line", children: address }) : address
|
|
35
35
|
}
|
|
36
36
|
),
|
|
37
|
-
(email || phone) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 pt-1 text-
|
|
37
|
+
(email || phone) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1 pt-1 text-body-3 text-sand-muted", children: [
|
|
38
38
|
email && /* @__PURE__ */ jsx(
|
|
39
39
|
"a",
|
|
40
40
|
{
|
|
41
41
|
href: `mailto:${email}`,
|
|
42
|
-
className: "hover:text-
|
|
42
|
+
className: "hover:text-primary-200 transition-colors inline-block select-text",
|
|
43
43
|
"data-slot": "footer-office-email",
|
|
44
44
|
children: email
|
|
45
45
|
}
|
|
@@ -48,7 +48,7 @@ const FooterOffice = ({ office, className }) => {
|
|
|
48
48
|
"a",
|
|
49
49
|
{
|
|
50
50
|
href: `tel:${phone.replace(/\s+/g, "")}`,
|
|
51
|
-
className: "hover:text-
|
|
51
|
+
className: "hover:text-primary-200 transition-colors inline-block select-text",
|
|
52
52
|
"data-slot": "footer-office-phone",
|
|
53
53
|
children: phone
|
|
54
54
|
}
|
|
@@ -14,10 +14,10 @@ const FooterSocial = ({
|
|
|
14
14
|
}) => {
|
|
15
15
|
if (!links || links.length === 0) return null;
|
|
16
16
|
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-3", className), "data-slot": "footer-social", children: [
|
|
17
|
-
title && /* @__PURE__ */ jsx("div", { className: "text-
|
|
17
|
+
title && /* @__PURE__ */ jsx("div", { className: "text-body-3 font-semibold text-primary-200 uppercase tracking-[0.14em] font-title!", children: title }),
|
|
18
18
|
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-4 sm:gap-6 flex-wrap", "data-slot": "footer-social-icons", children: links.map((link) => {
|
|
19
19
|
const platformKey = link.name.toLowerCase();
|
|
20
|
-
const iconElement = link.icon ?? DefaultSocialIcons[platformKey] ?? /* @__PURE__ */ jsx("span", { className: "text-
|
|
20
|
+
const iconElement = link.icon ?? DefaultSocialIcons[platformKey] ?? /* @__PURE__ */ jsx("span", { className: "text-body-2 uppercase font-bold", children: link.name.slice(0, 2) });
|
|
21
21
|
const defaultAria = `Follow us on ${link.name.charAt(0).toUpperCase() + link.name.slice(1)}`;
|
|
22
22
|
return /* @__PURE__ */ jsx(
|
|
23
23
|
motion.a,
|
|
@@ -33,7 +33,7 @@ const FooterSocial = ({
|
|
|
33
33
|
whileTap: shouldAnimate ? "tap" : void 0,
|
|
34
34
|
className: cn(
|
|
35
35
|
footerSocialButtonVariants(),
|
|
36
|
-
"relative p-1.5 text-
|
|
36
|
+
"relative p-1.5 text-primary-200 hover:text-bg-2 transition-colors",
|
|
37
37
|
motionClass,
|
|
38
38
|
link.className
|
|
39
39
|
),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavHeader.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"NavHeader.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EACV,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAa3B,eAAO,MAAM,SAAS,oFA8pBrB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,MAAM,oFAAY,CAAC"}
|