@timmbr/ui 1.4.1 → 1.5.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/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.js +4 -4
- package/dist/components/AlertDialog/AlertDialog.styles.js +4 -4
- 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.js +11 -11
- package/dist/components/Badge/Badge.styles.js +8 -8
- package/dist/components/Button/Button.styles.js +7 -7
- package/dist/components/Card/Card.styles.d.ts.map +1 -1
- package/dist/components/Card/Card.styles.js +5 -5
- package/dist/components/Checkbox/Checkbox.js +4 -4
- package/dist/components/Checkbox/Checkbox.styles.js +1 -1
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/Chip/Chip.styles.js +5 -5
- package/dist/components/DataList/DataList.styles.js +3 -3
- package/dist/components/Dialog/Dialog.styles.js +6 -6
- package/dist/components/Divider/Divider.js +1 -1
- package/dist/components/Drawer/Drawer.styles.js +2 -2
- package/dist/components/Dropdown/Dropdown.js +2 -2
- package/dist/components/Dropdown/Dropdown.styles.js +2 -2
- package/dist/components/EmptyState/EmptyState.js +2 -2
- package/dist/components/EmptyState/EmptyState.styles.js +3 -3
- package/dist/components/FormField/FormField.js +1 -1
- package/dist/components/Heading/Heading.styles.d.ts.map +1 -1
- package/dist/components/Heading/Heading.styles.js +12 -10
- package/dist/components/Icon/Icon.styles.js +6 -6
- 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/Input/Input.js +4 -4
- package/dist/components/Input/Input.styles.js +6 -6
- package/dist/components/Label/Label.styles.js +4 -4
- package/dist/components/LinkButton/LinkButton.styles.js +6 -6
- package/dist/components/List/List.js +1 -1
- package/dist/components/List/List.styles.js +3 -3
- 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 +11 -3
- package/dist/components/NavHeader/NavHeader.styles.js +16 -16
- package/dist/components/NavHeader/NavHeader.types.d.ts +19 -0
- package/dist/components/NavHeader/NavHeader.types.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 +9 -0
- package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavActions.js +51 -15
- 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/Pagination/Pagination.styles.js +3 -3
- package/dist/components/Popover/Popover.styles.js +1 -1
- package/dist/components/Progress/Progress.js +2 -2
- package/dist/components/Radio/Radio.js +4 -4
- 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/Select/Select.js +2 -2
- 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/Stat/Stat.styles.js +4 -4
- package/dist/components/Switch/Switch.js +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.js +5 -5
- package/dist/components/Table/TablePagination.js +4 -4
- package/dist/components/Tabs/Tabs.js +2 -2
- package/dist/components/Tabs/Tabs.styles.js +8 -8
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/Text.js +2 -0
- package/dist/components/Text/Text.styles.d.ts +1 -0
- package/dist/components/Text/Text.styles.d.ts.map +1 -1
- package/dist/components/Text/Text.styles.js +21 -13
- package/dist/components/Text/Text.types.d.ts +5 -0
- 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.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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- 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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
2
|
|
|
3
3
|
const offerBannerVariants = cva(
|
|
4
|
-
"w-full bg-
|
|
4
|
+
"w-full bg-surface-dark text-bg-2 font-title! text-body-3 font-semibold uppercase tracking-[0.14em] py-2 px-4 flex items-center justify-center relative transition-all duration-200 z-50 border-b border-grey-1000/20"
|
|
5
5
|
);
|
|
6
6
|
const navHeaderVariants = cva(
|
|
7
|
-
"w-full bg-[var(--color-bg-2,#F7F1E6)] text-[var(--color-grey-800,#3C3C3C)] border-b border-
|
|
7
|
+
"w-full bg-[var(--color-bg-2,#F7F1E6)] text-[var(--color-grey-800,#3C3C3C)] border-b border-border-warm relative z-40 transition-colors",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
sticky: {
|
|
@@ -36,12 +36,12 @@ const navHeaderContainerVariants = cva(
|
|
|
36
36
|
}
|
|
37
37
|
);
|
|
38
38
|
const navHeaderItemVariants = cva(
|
|
39
|
-
"font-
|
|
39
|
+
"font-bold text-body-2 xl:text-body-2 2xl:text-body-2 text-grey-800 hover:text-primary transition-colors relative py-2 px-1 xl:px-1.5 flex items-center gap-1.5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 rounded select-none cursor-pointer whitespace-nowrap",
|
|
40
40
|
{
|
|
41
41
|
variants: {
|
|
42
42
|
active: {
|
|
43
|
-
true: "text-
|
|
44
|
-
false: "text-
|
|
43
|
+
true: "text-primary",
|
|
44
|
+
false: "text-grey-800"
|
|
45
45
|
},
|
|
46
46
|
disabled: {
|
|
47
47
|
true: "opacity-40 cursor-not-allowed pointer-events-none",
|
|
@@ -55,12 +55,12 @@ const navHeaderItemVariants = cva(
|
|
|
55
55
|
}
|
|
56
56
|
);
|
|
57
57
|
const navActionVariants = cva(
|
|
58
|
-
"group flex flex-col items-center justify-center gap-[3.5px] min-w-[36px] sm:min-w-[40px] lg:min-w-[52px] text-
|
|
58
|
+
"group flex flex-col items-center justify-center gap-[3.5px] min-w-[36px] sm:min-w-[40px] lg:min-w-[52px] text-grey-800 hover:text-primary transition-colors relative focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 rounded py-1 px-1 lg:px-1.5 select-none cursor-pointer",
|
|
59
59
|
{
|
|
60
60
|
variants: {
|
|
61
61
|
active: {
|
|
62
|
-
true: "text-
|
|
63
|
-
false: "text-
|
|
62
|
+
true: "text-primary",
|
|
63
|
+
false: "text-grey-800"
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
defaultVariants: {
|
|
@@ -69,16 +69,16 @@ const navActionVariants = cva(
|
|
|
69
69
|
}
|
|
70
70
|
);
|
|
71
71
|
const megaMenuCardVariants = cva(
|
|
72
|
-
"w-full max-w-[1216px] mx-auto bg-
|
|
72
|
+
"w-full max-w-[1216px] mx-auto bg-grey-50 border border-grey-200/80 shadow-2xl rounded-b-xl z-50 overflow-hidden"
|
|
73
73
|
);
|
|
74
74
|
const searchPopoverCardVariants = cva(
|
|
75
|
-
"absolute top-full left-0 right-0 w-full mt-2 bg-
|
|
75
|
+
"absolute top-full left-0 right-0 w-full mt-2 bg-grey-50 border border-grey-200 shadow-2xl rounded-2xl p-4 sm:p-5 z-50 text-left"
|
|
76
76
|
);
|
|
77
77
|
const actionOverflowPopoverVariants = cva(
|
|
78
|
-
"absolute top-full right-0 mt-3 w-60 bg-
|
|
78
|
+
"absolute top-full right-0 mt-3 w-60 bg-grey-50 border border-border-warm shadow-2xl rounded-2xl p-2 z-50 text-left overflow-hidden divide-y divide-grey-100"
|
|
79
79
|
);
|
|
80
80
|
const actionOverflowItemVariants = cva(
|
|
81
|
-
"w-full flex items-center justify-between gap-3 px-3 py-2.5 text-
|
|
81
|
+
"w-full flex items-center justify-between gap-3 px-3 py-2.5 text-body-3 font-semibold text-grey-800 hover:text-primary hover:bg-bg-2/60 rounded-xl transition-colors cursor-pointer text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
|
|
82
82
|
{
|
|
83
83
|
variants: {
|
|
84
84
|
disabled: {
|
|
@@ -92,14 +92,14 @@ const actionOverflowItemVariants = cva(
|
|
|
92
92
|
}
|
|
93
93
|
);
|
|
94
94
|
const mobileTabSliderVariants = cva(
|
|
95
|
-
"w-full overflow-x-auto flex items-center gap-6 px-4 py-2 border-b border-
|
|
95
|
+
"w-full overflow-x-auto flex items-center gap-6 px-4 py-2 border-b border-border-warm bg-[var(--color-bg-2,#F7F1E6)] select-none scroll-smooth [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]"
|
|
96
96
|
);
|
|
97
97
|
const mobileTabItemVariants = cva(
|
|
98
|
-
"relative
|
|
98
|
+
"relative text-body-3 sm:text-body-2 tracking-tight whitespace-nowrap py-1.5 px-1 font-semibold transition-colors cursor-pointer select-none",
|
|
99
99
|
{
|
|
100
100
|
variants: {
|
|
101
101
|
active: {
|
|
102
|
-
true: "text-
|
|
102
|
+
true: "text-primary font-bold",
|
|
103
103
|
false: "text-grey-600 hover:text-grey-900"
|
|
104
104
|
},
|
|
105
105
|
disabled: {
|
|
@@ -114,7 +114,7 @@ const mobileTabItemVariants = cva(
|
|
|
114
114
|
}
|
|
115
115
|
);
|
|
116
116
|
const mobileTabContentPanelVariants = cva(
|
|
117
|
-
"w-full bg-
|
|
117
|
+
"w-full bg-grey-50 border-b border-border-warm shadow-md overflow-hidden"
|
|
118
118
|
);
|
|
119
119
|
const mobileSearchDrawerVariants = cva(
|
|
120
120
|
"fixed inset-0 z-[9999] h-[100dvh] w-screen bg-[var(--color-bg-2,#F7F1E6)] flex flex-col overflow-hidden"
|
|
@@ -144,6 +144,17 @@ export interface NavActionItem {
|
|
|
144
144
|
disabled?: boolean;
|
|
145
145
|
/** Priority level determining which items resist collapsing into overflow */
|
|
146
146
|
priority?: 'high' | 'normal' | 'low';
|
|
147
|
+
/**
|
|
148
|
+
* Label not known yet (e.g. session still loading): renders a skeleton in
|
|
149
|
+
* the label slot instead of `label`.
|
|
150
|
+
*/
|
|
151
|
+
isLoading?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Extra classes for the label slot. Give labels that change at runtime a
|
|
154
|
+
* fixed width (the profile action defaults to `w-16 truncate`) so the
|
|
155
|
+
* header doesn't shift when the text swaps.
|
|
156
|
+
*/
|
|
157
|
+
labelClassName?: string;
|
|
147
158
|
/** Optional custom renderer for complex items */
|
|
148
159
|
render?: (props: {
|
|
149
160
|
item: NavActionItem;
|
|
@@ -192,6 +203,10 @@ export interface NavActionsConfig {
|
|
|
192
203
|
cart?: Partial<NavActionItem> & {
|
|
193
204
|
count?: number;
|
|
194
205
|
};
|
|
206
|
+
/** Auth trigger mode: 'modal' triggers popup flow, 'redirect' fallbacks to /auth page */
|
|
207
|
+
authMode?: 'modal' | 'redirect';
|
|
208
|
+
/** Callback fired when user triggers auth in modal mode */
|
|
209
|
+
onAuthTrigger?: () => void;
|
|
195
210
|
}
|
|
196
211
|
/**
|
|
197
212
|
* Mobile and tablet responsive navigation (< 1024px) configuration object.
|
|
@@ -299,6 +314,10 @@ export interface NavHeaderProps extends MotionProps, Omit<React.HTMLAttributes<H
|
|
|
299
314
|
cartAction?: Partial<NavActionItem> & {
|
|
300
315
|
count?: number;
|
|
301
316
|
};
|
|
317
|
+
/** Shorthand auth mode: 'modal' triggers modal popup, 'redirect' falls back to /auth page. Defaults to 'modal'. */
|
|
318
|
+
authMode?: 'modal' | 'redirect';
|
|
319
|
+
/** Shorthand callback fired when user triggers auth in modal mode. */
|
|
320
|
+
onAuthTrigger?: () => void;
|
|
302
321
|
/** Shorthand toggle for mobile horizontal tab slider. Defaults to true. */
|
|
303
322
|
mobileTabSlider?: boolean;
|
|
304
323
|
/** Shorthand search display style on mobile/tablet screens (< 1024px). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavHeader.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NavHeader.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,uDAAuD;IACvD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gIAAgI;IAChI,YAAY,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IAC1D,qDAAqD;IACrD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,wDAAwD;IACxD,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACrC,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,mDAAmD;IACnD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iCAAiC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IACjC,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;CACnF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,4DAA4D;IAC5D,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KACxB,CAAC;IACF,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,SAAS,CAAC,EACN,OAAO,GACP;QACE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACpC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;KAClD,CAAC;IACN;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;KACxC,CAAC;CACH;AAED,MAAM,WAAW,cACf,SAAQ,WAAW,EACjB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAKrD;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAE5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAE/D;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAClC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC,CAAC;IAEH;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAM/B;;;OAGG;IACH,WAAW,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;IAE5D;;OAEG;IACH,UAAU,CAAC,EAAE,mBAAmB,GAAG,aAAa,EAAE,CAAC;IAEnD;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,GAAG,aAAa,EAAE,CAAC;IAE7C;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IAMzB,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,wCAAwC;IACxC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IAExB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAEjD,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,0FAA0F;IAC1F,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpC,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEtC,6FAA6F;IAC7F,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAErC,8CAA8C;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvC,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7D,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEzD,mHAAmH;IACnH,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAEhC,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAE3C,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,iFAAiF;IACjF,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAEvD,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,8EAA8E;IAC9E,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAMnD,mCAAmC;IACnC,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavActionLabelSkeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavActionLabelSkeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,mFAAmF;AACnF,wBAAgB,sBAAsB,sBAQrC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { cn } from '@timmbr/utils';
|
|
3
|
+
import { skeletonVariants } from '../../Skeleton/Skeleton.styles.js';
|
|
4
|
+
|
|
5
|
+
function NavActionLabelSkeleton() {
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
"span",
|
|
8
|
+
{
|
|
9
|
+
"aria-hidden": "true",
|
|
10
|
+
"data-slot": "nav-action-label-skeleton",
|
|
11
|
+
className: cn(skeletonVariants({ variant: "text" }), "block h-3 align-middle")
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { NavActionLabelSkeleton };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavActionOverflow.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavActionOverflow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"NavActionOverflow.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavActionOverflow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmM9D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { AnimatePresence, motion } from '@timmbr/motion';
|
|
|
5
5
|
import { MoreHorizontal } from '@timmbr/icons';
|
|
6
6
|
import { cn } from '@timmbr/utils';
|
|
7
7
|
import { navActionVariants, actionOverflowItemVariants, actionOverflowPopoverVariants } from '../NavHeader.styles.js';
|
|
8
|
+
import { NavActionLabelSkeleton } from './NavActionLabelSkeleton.js';
|
|
8
9
|
import { resolveNavDestination, isCrossZoneNavigation } from '../NavHeader.helpers.js';
|
|
9
10
|
import { useTimmbrConfig } from '../../../providers/TimmbrConfigProvider.js';
|
|
10
11
|
|
|
@@ -71,13 +72,13 @@ const NavActionOverflow = ({
|
|
|
71
72
|
totalBadges > 0 && /* @__PURE__ */ jsx(
|
|
72
73
|
"span",
|
|
73
74
|
{
|
|
74
|
-
className: "absolute -top-1 -right-2 min-w-[16px] h-4 px-1 rounded-full bg-
|
|
75
|
+
className: "absolute -top-1 -right-2 min-w-[16px] h-4 px-1 rounded-full bg-primary text-grey-50 text-caption font-bold flex items-center justify-center",
|
|
75
76
|
"aria-label": `${totalBadges} items in overflow menu`,
|
|
76
77
|
children: totalBadges
|
|
77
78
|
}
|
|
78
79
|
)
|
|
79
80
|
] }),
|
|
80
|
-
/* @__PURE__ */ jsx("span", { className: "hidden lg:inline font-
|
|
81
|
+
/* @__PURE__ */ jsx("span", { className: "hidden lg:inline font-bold text-caption tracking-[0.0926em] uppercase whitespace-nowrap", children: label })
|
|
81
82
|
]
|
|
82
83
|
}
|
|
83
84
|
),
|
|
@@ -104,10 +105,10 @@ const NavActionOverflow = ({
|
|
|
104
105
|
const requiresCrossZone = isCrossZoneNavigation(item.zone, config.zones?.currentZone, item.crossZone);
|
|
105
106
|
const itemRowContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
106
107
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5 truncate", children: [
|
|
107
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-grey-500 group-hover:text-
|
|
108
|
-
/* @__PURE__ */ jsx("span", { className: "truncate", children: item.label })
|
|
108
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-grey-500 group-hover:text-primary transition-colors", children: item.icon }),
|
|
109
|
+
/* @__PURE__ */ jsx("span", { className: "truncate", children: item.isLoading ? /* @__PURE__ */ jsx(NavActionLabelSkeleton, {}) : item.label })
|
|
109
110
|
] }),
|
|
110
|
-
typeof item.badge !== "undefined" && item.badge !== null && /* @__PURE__ */ jsx("span", { className: "shrink-0 px-1.5 py-0.5 rounded-full bg-
|
|
111
|
+
typeof item.badge !== "undefined" && item.badge !== null && /* @__PURE__ */ jsx("span", { className: "shrink-0 px-1.5 py-0.5 rounded-full bg-primary text-grey-50 text-caption font-bold", children: item.badge })
|
|
111
112
|
] });
|
|
112
113
|
const itemClass = cn(
|
|
113
114
|
actionOverflowItemVariants({ disabled: item.disabled }),
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { NavActionItem } from '../NavHeader.types';
|
|
3
|
+
/**
|
|
4
|
+
* Profile label slot: sized to its text, so gaps stay even, but
|
|
5
|
+
* - at least as wide as "LOGIN" (34.6px): the loading skeleton and LOGIN are
|
|
6
|
+
* the same width, so signed-out visitors see no shift at all;
|
|
7
|
+
* - at most 64px: longer names are cut with "…" (full name in `title`).
|
|
8
|
+
*/
|
|
9
|
+
export declare const PROFILE_LABEL_CLASS = "min-w-[35px] max-w-16 truncate text-center";
|
|
3
10
|
export interface NavActionsProps {
|
|
4
11
|
actions?: NavActionItem[];
|
|
5
12
|
profileAction?: Partial<NavActionItem>;
|
|
@@ -9,6 +16,8 @@ export interface NavActionsProps {
|
|
|
9
16
|
cartAction?: Partial<NavActionItem> & {
|
|
10
17
|
count?: number;
|
|
11
18
|
};
|
|
19
|
+
authMode?: 'modal' | 'redirect';
|
|
20
|
+
onAuthTrigger?: () => void;
|
|
12
21
|
maxVisibleActions?: number | 'auto';
|
|
13
22
|
overflowActionLabel?: React.ReactNode;
|
|
14
23
|
overflowActionIcon?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavActions.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NavActions.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,+CAA+C,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6ThD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { openAuthModal } from '@timmbr/hooks';
|
|
5
|
+
import { Heart, ShoppingCart, User } from '@timmbr/icons';
|
|
5
6
|
import { cn } from '@timmbr/utils';
|
|
6
7
|
import { navActionVariants } from '../NavHeader.styles.js';
|
|
8
|
+
import { NavActionLabelSkeleton } from './NavActionLabelSkeleton.js';
|
|
7
9
|
import { resolveNavDestination, isCrossZoneNavigation } from '../NavHeader.helpers.js';
|
|
8
10
|
import { NavActionOverflow } from './NavActionOverflow.js';
|
|
9
11
|
import { useTimmbrConfig } from '../../../providers/TimmbrConfigProvider.js';
|
|
10
12
|
|
|
13
|
+
const PROFILE_LABEL_CLASS = "min-w-[35px] max-w-16 truncate text-center";
|
|
11
14
|
const NavActions = ({
|
|
12
15
|
actions,
|
|
13
16
|
profileAction,
|
|
14
17
|
wishlistAction,
|
|
15
18
|
cartAction,
|
|
19
|
+
authMode = "modal",
|
|
20
|
+
onAuthTrigger,
|
|
16
21
|
maxVisibleActions = "auto",
|
|
17
22
|
overflowActionLabel,
|
|
18
23
|
overflowActionIcon,
|
|
@@ -30,16 +35,21 @@ const NavActions = ({
|
|
|
30
35
|
}
|
|
31
36
|
const defaultItems = [];
|
|
32
37
|
const customItems = actions ?? [];
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
const isExplicitAccountLink = Boolean(profileAction?.href) && profileAction?.href !== "/auth" && profileAction?.href !== "/login";
|
|
39
|
+
const profileHref = authMode === "modal" && !isExplicitAccountLink ? void 0 : profileAction?.href ?? "/auth";
|
|
40
|
+
const handleProfileClick = (e) => {
|
|
41
|
+
if (profileAction?.onClick) {
|
|
42
|
+
profileAction.onClick(e);
|
|
43
|
+
}
|
|
44
|
+
if (authMode === "modal" && !isExplicitAccountLink) {
|
|
45
|
+
e.preventDefault();
|
|
46
|
+
if (onAuthTrigger) {
|
|
47
|
+
onAuthTrigger();
|
|
48
|
+
} else {
|
|
49
|
+
openAuthModal();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
};
|
|
43
53
|
const wishCount = wishlistAction?.count;
|
|
44
54
|
defaultItems.push({
|
|
45
55
|
id: "wishlist",
|
|
@@ -65,8 +75,22 @@ const NavActions = ({
|
|
|
65
75
|
ariaLabel: cartAction?.ariaLabel ?? (cartCount ? `Shopping cart with ${cartCount} items` : "Shopping cart"),
|
|
66
76
|
priority: "high"
|
|
67
77
|
});
|
|
78
|
+
defaultItems.push({
|
|
79
|
+
id: "profile",
|
|
80
|
+
label: profileAction?.label ?? "LOGIN",
|
|
81
|
+
icon: profileAction?.icon ?? /* @__PURE__ */ jsx(User, { size: 22, className: "stroke-[1.8]" }),
|
|
82
|
+
href: profileHref,
|
|
83
|
+
zone: profileAction?.zone,
|
|
84
|
+
crossZone: profileAction?.crossZone,
|
|
85
|
+
onClick: handleProfileClick,
|
|
86
|
+
ariaLabel: profileAction?.ariaLabel ?? "User Account",
|
|
87
|
+
priority: "high",
|
|
88
|
+
isLoading: profileAction?.isLoading,
|
|
89
|
+
// LOGIN / skeleton / first name share one fixed-width slot: no layout shift
|
|
90
|
+
labelClassName: profileAction?.labelClassName ?? PROFILE_LABEL_CLASS
|
|
91
|
+
});
|
|
68
92
|
return [...customItems, ...defaultItems];
|
|
69
|
-
}, [actions, profileAction, wishlistAction, cartAction]);
|
|
93
|
+
}, [actions, profileAction, wishlistAction, cartAction, authMode, onAuthTrigger]);
|
|
70
94
|
React.useEffect(() => {
|
|
71
95
|
if (maxVisibleActions !== "auto") {
|
|
72
96
|
setMeasuredMaxVisible(null);
|
|
@@ -154,9 +178,20 @@ const NavActions = ({
|
|
|
154
178
|
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
155
179
|
/* @__PURE__ */ jsxs("div", { className: "relative flex items-center justify-center", children: [
|
|
156
180
|
item.icon,
|
|
157
|
-
typeof item.badge !== "undefined" && item.badge !== null && /* @__PURE__ */ jsx("span", { className: "absolute -top-1 -right-2 min-w-[16px] h-4 px-1 rounded-full bg-
|
|
181
|
+
typeof item.badge !== "undefined" && item.badge !== null && /* @__PURE__ */ jsx("span", { className: "absolute -top-1 -right-2 min-w-[16px] h-4 px-1 rounded-full bg-primary text-grey-50 text-caption font-bold flex items-center justify-center", children: item.badge })
|
|
158
182
|
] }),
|
|
159
|
-
/* @__PURE__ */ jsx(
|
|
183
|
+
/* @__PURE__ */ jsx(
|
|
184
|
+
"span",
|
|
185
|
+
{
|
|
186
|
+
className: cn(
|
|
187
|
+
"hidden lg:inline-block font-bold text-caption tracking-[0.0926em] uppercase whitespace-nowrap",
|
|
188
|
+
item.labelClassName
|
|
189
|
+
),
|
|
190
|
+
title: !item.isLoading && typeof item.label === "string" ? item.label : void 0,
|
|
191
|
+
"data-slot": "nav-action-label",
|
|
192
|
+
children: item.isLoading ? /* @__PURE__ */ jsx(NavActionLabelSkeleton, {}) : item.label
|
|
193
|
+
}
|
|
194
|
+
)
|
|
160
195
|
] });
|
|
161
196
|
const actionClass = cn(
|
|
162
197
|
navActionVariants(),
|
|
@@ -200,6 +235,7 @@ const NavActions = ({
|
|
|
200
235
|
type: "button",
|
|
201
236
|
disabled: item.disabled,
|
|
202
237
|
"aria-label": item.ariaLabel,
|
|
238
|
+
"aria-busy": item.isLoading || void 0,
|
|
203
239
|
onClick: item.onClick,
|
|
204
240
|
className: actionClass,
|
|
205
241
|
"data-slot": "nav-action-button",
|
|
@@ -225,4 +261,4 @@ const NavActions = ({
|
|
|
225
261
|
);
|
|
226
262
|
};
|
|
227
263
|
|
|
228
|
-
export { NavActions };
|
|
264
|
+
export { NavActions, PROFILE_LABEL_CLASS };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavBrand.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavBrand.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"NavBrand.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavBrand.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAK5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4F5C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { cn } from '@timmbr/utils';
|
|
|
5
5
|
import { resolveNavDestination, isCrossZoneNavigation } from '../NavHeader.helpers.js';
|
|
6
6
|
import { useTimmbrConfig } from '../../../providers/TimmbrConfigProvider.js';
|
|
7
7
|
|
|
8
|
+
const BRAND_FADE = { duration: 0.2, ease: [0.16, 1, 0.3, 1] };
|
|
8
9
|
const NavBrand = ({
|
|
9
10
|
branding,
|
|
10
11
|
isSearchOpen = false,
|
|
@@ -17,6 +18,8 @@ const NavBrand = ({
|
|
|
17
18
|
const resolvedHref = resolveNavDestination(href, zone, config.zones?.zones) ?? "/";
|
|
18
19
|
const requiresCrossZone = isCrossZoneNavigation(zone, config.zones?.currentZone);
|
|
19
20
|
const showMini = Boolean(isSearchOpen && miniLogo);
|
|
21
|
+
const visible = { opacity: 1, scale: 1 };
|
|
22
|
+
const hidden = { opacity: 0, scale: 0.92 };
|
|
20
23
|
const logoNode = /* @__PURE__ */ jsxs(
|
|
21
24
|
"div",
|
|
22
25
|
{
|
|
@@ -27,31 +30,27 @@ const NavBrand = ({
|
|
|
27
30
|
motion.div,
|
|
28
31
|
{
|
|
29
32
|
initial: false,
|
|
30
|
-
animate:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
} : void 0,
|
|
34
|
-
transition: { duration: 0.2, ease: [0.16, 1, 0.3, 1] },
|
|
33
|
+
animate: showMini ? hidden : visible,
|
|
34
|
+
transition: shouldAnimate ? BRAND_FADE : { duration: 0 },
|
|
35
|
+
"aria-hidden": showMini || void 0,
|
|
35
36
|
className: cn(
|
|
36
|
-
"flex items-center justify-center shrink-0
|
|
37
|
+
"flex items-center justify-center shrink-0 will-change-[opacity,transform]",
|
|
37
38
|
showMini ? "pointer-events-none" : "pointer-events-auto",
|
|
38
|
-
!shouldAnimate && (showMini ? "opacity-0" : "opacity-100"),
|
|
39
39
|
motionClass
|
|
40
40
|
),
|
|
41
41
|
children: logo
|
|
42
42
|
}
|
|
43
43
|
),
|
|
44
|
-
|
|
44
|
+
miniLogo && /* @__PURE__ */ jsx(
|
|
45
45
|
motion.div,
|
|
46
46
|
{
|
|
47
|
-
initial:
|
|
48
|
-
animate:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
} : void 0,
|
|
52
|
-
transition: { duration: 0.2, ease: [0.16, 1, 0.3, 1] },
|
|
47
|
+
initial: false,
|
|
48
|
+
animate: showMini ? visible : hidden,
|
|
49
|
+
transition: shouldAnimate ? BRAND_FADE : { duration: 0 },
|
|
50
|
+
"aria-hidden": !showMini || void 0,
|
|
53
51
|
className: cn(
|
|
54
|
-
"absolute inset-0 flex items-center justify-center shrink-0
|
|
52
|
+
"absolute inset-0 flex items-center justify-center shrink-0 will-change-[opacity,transform]",
|
|
53
|
+
showMini ? "pointer-events-auto" : "pointer-events-none",
|
|
55
54
|
motionClass
|
|
56
55
|
),
|
|
57
56
|
children: miniLogo
|
|
@@ -60,16 +60,16 @@ const NavItems = ({
|
|
|
60
60
|
};
|
|
61
61
|
const itemContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
62
62
|
/* @__PURE__ */ jsx("span", { children: item.label }),
|
|
63
|
-
item.badge && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center justify-center text-
|
|
63
|
+
item.badge && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center justify-center text-body-3 font-semibold px-1.5 py-0.5 rounded-full bg-primary-100 text-primary-800", children: item.badge }),
|
|
64
64
|
isActive && shouldAnimate && /* @__PURE__ */ jsx(
|
|
65
65
|
motion.div,
|
|
66
66
|
{
|
|
67
67
|
layoutId: "nav-header-active-indicator",
|
|
68
|
-
className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-
|
|
68
|
+
className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full",
|
|
69
69
|
transition: { type: "spring", stiffness: 500, damping: 35 }
|
|
70
70
|
}
|
|
71
71
|
),
|
|
72
|
-
isActive && !shouldAnimate && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-
|
|
72
|
+
isActive && !shouldAnimate && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full" })
|
|
73
73
|
] });
|
|
74
74
|
const className = cn(
|
|
75
75
|
navHeaderItemVariants({ active: isActive, disabled: item.disabled }),
|
|
@@ -59,14 +59,14 @@ const NavItemsOverflow = ({
|
|
|
59
59
|
onClick: () => setIsOpen((prev) => !prev),
|
|
60
60
|
className: cn(
|
|
61
61
|
navHeaderItemVariants({ active: isOpen || isChildActive }),
|
|
62
|
-
"px-2 py-2 flex items-center justify-center rounded-lg hover:bg-
|
|
62
|
+
"px-2 py-2 flex items-center justify-center rounded-lg hover:bg-grey-1000/5 transition-colors",
|
|
63
63
|
!shouldAnimate && "transition-none",
|
|
64
64
|
motionClass
|
|
65
65
|
),
|
|
66
66
|
"data-slot": "nav-items-overflow-trigger",
|
|
67
67
|
children: [
|
|
68
68
|
/* @__PURE__ */ jsx(MoreHorizontal, { size: 20, className: "stroke-[2]" }),
|
|
69
|
-
(isOpen || isChildActive) && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-2 right-2 h-[2.5px] bg-
|
|
69
|
+
(isOpen || isChildActive) && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-2 right-2 h-[2.5px] bg-primary rounded-full" })
|
|
70
70
|
]
|
|
71
71
|
}
|
|
72
72
|
),
|
|
@@ -78,7 +78,7 @@ const NavItemsOverflow = ({
|
|
|
78
78
|
exit: shouldAnimate ? { opacity: 0, y: 6, scale: 0.97 } : void 0,
|
|
79
79
|
transition: { duration: 0.18, ease: [0.25, 1, 0.5, 1] },
|
|
80
80
|
className: cn(
|
|
81
|
-
"absolute top-full left-0 mt-2 w-56 bg-
|
|
81
|
+
"absolute top-full left-0 mt-2 w-56 bg-grey-50 border border-border-warm shadow-2xl rounded-2xl p-2 z-50 text-left overflow-hidden divide-y divide-grey-100",
|
|
82
82
|
!shouldAnimate && "transition-none",
|
|
83
83
|
motionClass
|
|
84
84
|
),
|
|
@@ -98,13 +98,13 @@ const NavItemsOverflow = ({
|
|
|
98
98
|
item.crossZone
|
|
99
99
|
);
|
|
100
100
|
const itemRowContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
101
|
-
/* @__PURE__ */ jsx("span", { className: cn("truncate", isActive && "text-
|
|
102
|
-
item.badge && /* @__PURE__ */ jsx("span", { className: "shrink-0 px-1.5 py-0.5 rounded-full bg-primary-100 text-primary-800 text-
|
|
101
|
+
/* @__PURE__ */ jsx("span", { className: cn("truncate", isActive && "text-primary font-bold"), children: item.label }),
|
|
102
|
+
item.badge && /* @__PURE__ */ jsx("span", { className: "shrink-0 px-1.5 py-0.5 rounded-full bg-primary-100 text-primary-800 text-caption font-bold", children: item.badge })
|
|
103
103
|
] });
|
|
104
104
|
const itemClass = cn(
|
|
105
|
-
"w-full flex items-center justify-between gap-3 px-3 py-2 text-
|
|
105
|
+
"w-full flex items-center justify-between gap-3 px-3 py-2 text-body-3 font-semibold text-grey-800 hover:text-primary hover:bg-bg-2/60 rounded-xl transition-colors cursor-pointer text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
|
|
106
106
|
item.disabled && "opacity-40 cursor-not-allowed pointer-events-none",
|
|
107
|
-
isActive && "bg-
|
|
107
|
+
isActive && "bg-bg-2/80 text-primary",
|
|
108
108
|
item.className
|
|
109
109
|
);
|
|
110
110
|
const handleClick = (e) => {
|
|
@@ -78,14 +78,14 @@ const NavMobileSearchDrawer = ({
|
|
|
78
78
|
className: cn(mobileSearchDrawerVariants(), motionClass),
|
|
79
79
|
"data-slot": "nav-mobile-search-drawer",
|
|
80
80
|
children: [
|
|
81
|
-
/* @__PURE__ */ jsxs("div", { className: "w-full bg-[var(--color-bg-2,#F7F1E6)] border-b border-
|
|
81
|
+
/* @__PURE__ */ jsxs("div", { className: "w-full bg-[var(--color-bg-2,#F7F1E6)] border-b border-border-warm px-3 py-3 flex items-center gap-3 shrink-0 shadow-xs", children: [
|
|
82
82
|
/* @__PURE__ */ jsx(
|
|
83
83
|
"button",
|
|
84
84
|
{
|
|
85
85
|
type: "button",
|
|
86
86
|
onClick: onClose,
|
|
87
87
|
"aria-label": "Close search and go back",
|
|
88
|
-
className: "w-10 h-10 rounded-full flex items-center justify-center text-grey-800 hover:text-
|
|
88
|
+
className: "w-10 h-10 rounded-full flex items-center justify-center text-grey-800 hover:text-primary hover:bg-grey-1000/5 transition-colors cursor-pointer shrink-0",
|
|
89
89
|
"data-slot": "nav-mobile-search-back-btn",
|
|
90
90
|
children: /* @__PURE__ */ jsx(ArrowLeft, { size: 22, className: "stroke-[2]" })
|
|
91
91
|
}
|
|
@@ -108,7 +108,7 @@ const NavMobileSearchDrawer = ({
|
|
|
108
108
|
value,
|
|
109
109
|
onChange: (e) => onChange(e.target.value),
|
|
110
110
|
placeholder: searchConfig.placeholder ?? "Search for furniture, decor, and more...",
|
|
111
|
-
className: "w-full h-11 pl-10 pr-9 rounded-full bg-
|
|
111
|
+
className: "w-full h-11 pl-10 pr-9 rounded-full bg-grey-50 border border-border-warm text-body-2 text-grey-900 placeholder:text-grey-400 focus:outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all shadow-xs"
|
|
112
112
|
}
|
|
113
113
|
),
|
|
114
114
|
value.length > 0 && /* @__PURE__ */ jsx(
|
|
@@ -125,13 +125,13 @@ const NavMobileSearchDrawer = ({
|
|
|
125
125
|
] }),
|
|
126
126
|
/* @__PURE__ */ jsxs("div", { className: "flex-1 overflow-y-auto p-4 sm:p-6 space-y-6 bg-[var(--color-bg-2,#F7F1E6)]", children: [
|
|
127
127
|
searchConfig.popularSearches && searchConfig.popularSearches.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
128
|
-
/* @__PURE__ */ jsx("h4", { className: "font-title text-
|
|
128
|
+
/* @__PURE__ */ jsx("h4", { className: "font-title! text-body-3 font-semibold text-grey-500 uppercase tracking-wider", children: "POPULAR SEARCHES" }),
|
|
129
129
|
/* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: searchConfig.popularSearches.map((item) => /* @__PURE__ */ jsx(
|
|
130
130
|
"button",
|
|
131
131
|
{
|
|
132
132
|
type: "button",
|
|
133
133
|
onClick: () => handlePopularSearchClick(item.label),
|
|
134
|
-
className: "px-3.5 py-1.5 rounded-full bg-
|
|
134
|
+
className: "px-3.5 py-1.5 rounded-full bg-grey-50 border border-border-warm text-body-3 font-semibold text-grey-700 hover:border-primary hover:text-primary hover:bg-grey-50 transition-colors cursor-pointer shadow-xs",
|
|
135
135
|
children: item.label
|
|
136
136
|
},
|
|
137
137
|
item.id
|
|
@@ -41,10 +41,10 @@ const NavMobileTabSlider = ({
|
|
|
41
41
|
motion.div,
|
|
42
42
|
{
|
|
43
43
|
layoutId: "active-mobile-tab-indicator",
|
|
44
|
-
className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-
|
|
44
|
+
className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full",
|
|
45
45
|
transition: { type: "spring", stiffness: 380, damping: 30 }
|
|
46
46
|
}
|
|
47
|
-
) : isActive ? /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-
|
|
47
|
+
) : isActive ? /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full" }) : null;
|
|
48
48
|
if (resolvedHref && !item.content && !item.disabled) {
|
|
49
49
|
if (CustomLink && !requiresCrossZone) {
|
|
50
50
|
return /* @__PURE__ */ jsxs(
|