@luxfi/ui 8.2.7 → 8.2.9
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/3d-model-viewer.cjs +25 -421
- package/dist/3d-model-viewer.js +20 -416
- package/dist/accordion.cjs +3 -10
- package/dist/accordion.js +2 -10
- package/dist/advanced-navigation-bar.cjs +5 -401
- package/dist/advanced-navigation-bar.js +5 -401
- package/dist/ai-agents.cjs +45 -890
- package/dist/ai-agents.js +8 -834
- package/dist/ai-assistant.cjs +13 -740
- package/dist/ai-assistant.js +10 -738
- package/dist/ai-chat.cjs +24 -770
- package/dist/ai-chat.js +18 -765
- package/dist/ai-code.cjs +67 -923
- package/dist/ai-code.js +49 -905
- package/dist/ai-playground.cjs +25 -801
- package/dist/ai-playground.js +18 -795
- package/dist/ai-tools.cjs +22 -767
- package/dist/ai-tools.js +15 -761
- package/dist/ai-vision.cjs +41 -993
- package/dist/ai-vision.js +30 -983
- package/dist/ai-voice-settings.cjs +35 -1006
- package/dist/ai-voice-settings.js +32 -1004
- package/dist/ai-voice.cjs +51 -1024
- package/dist/ai-voice.js +9 -963
- package/dist/alert.cjs +11 -129
- package/dist/alert.js +8 -127
- package/dist/announcement.cjs +6 -402
- package/dist/announcement.js +6 -402
- package/dist/app-switcher-navigation-bar.cjs +5 -401
- package/dist/app-switcher-navigation-bar.js +5 -401
- package/dist/apple-cards-carousel.cjs +84 -480
- package/dist/apple-cards-carousel.js +19 -415
- package/dist/auth.cjs +10 -387
- package/dist/auth.js +7 -385
- package/dist/avatar.cjs +2 -9
- package/dist/avatar.js +2 -10
- package/dist/badge.cjs +8 -228
- package/dist/badge.js +5 -210
- package/dist/button.cjs +14 -67
- package/dist/button.js +12 -65
- package/dist/chrome.cjs +29 -493
- package/dist/chrome.js +9 -474
- package/dist/code-block.cjs +16 -664
- package/dist/code-block.js +13 -662
- package/dist/code-compare.cjs +28 -1302
- package/dist/code-compare.js +18 -1293
- package/dist/code-diff.cjs +21 -669
- package/dist/code-diff.js +17 -666
- package/dist/code-editor.cjs +13 -409
- package/dist/code-editor.js +12 -408
- package/dist/code-explorer.cjs +14 -456
- package/dist/code-explorer.js +13 -456
- package/dist/code-preview.cjs +31 -983
- package/dist/code-preview.js +23 -976
- package/dist/code-snippet.cjs +19 -667
- package/dist/code-snippet.js +14 -663
- package/dist/code-terminal.cjs +24 -485
- package/dist/code-terminal.js +19 -481
- package/dist/collapsible.cjs +13 -347
- package/dist/collapsible.js +11 -330
- package/dist/color-picker.cjs +8 -450
- package/dist/color-picker.js +7 -450
- package/dist/combobox.cjs +6 -402
- package/dist/combobox.js +6 -402
- package/dist/communication-navigation-bar.cjs +7 -403
- package/dist/communication-navigation-bar.js +5 -401
- package/dist/dashboard-navigation-bar.cjs +6 -402
- package/dist/dashboard-navigation-bar.js +5 -401
- package/dist/dialog-stack.cjs +5 -401
- package/dist/dialog-stack.js +5 -401
- package/dist/dialog.cjs +13 -70
- package/dist/dialog.js +13 -70
- package/dist/drawer.cjs +23 -99
- package/dist/drawer.js +19 -96
- package/dist/e-commerce-navigation-bar.cjs +7 -403
- package/dist/e-commerce-navigation-bar.js +5 -401
- package/dist/editor.cjs +9 -405
- package/dist/editor.js +6 -402
- package/dist/iam.cjs +2 -123
- package/dist/iam.js +1 -122
- package/dist/icon-button.cjs +2 -56
- package/dist/icon-button.js +1 -55
- package/dist/identity.cjs +28 -242
- package/dist/identity.js +20 -235
- package/dist/image-crop.cjs +10 -406
- package/dist/image-crop.js +7 -403
- package/dist/image.cjs +14 -83
- package/dist/image.js +13 -67
- package/dist/index.cjs +1868 -38770
- package/dist/index.js +174 -38320
- package/dist/input-group.cjs +3 -10
- package/dist/input-group.js +2 -10
- package/dist/item.cjs +2 -27
- package/dist/item.js +1 -22
- package/dist/kanban.cjs +25 -751
- package/dist/kanban.js +15 -742
- package/dist/limelight-nav.cjs +10 -452
- package/dist/limelight-nav.js +9 -452
- package/dist/link.cjs +11 -80
- package/dist/link.js +6 -60
- package/dist/lux.config.cjs +14 -32
- package/dist/lux.config.js +3 -26
- package/dist/menu.cjs +5 -13
- package/dist/menu.js +1 -9
- package/dist/message-dock.cjs +5 -401
- package/dist/message-dock.js +5 -401
- package/dist/mini-calendar.cjs +7 -403
- package/dist/mini-calendar.js +6 -402
- package/dist/music-player.cjs +30 -528
- package/dist/music-player.js +22 -520
- package/dist/next.cjs +8 -89
- package/dist/next.js +3 -86
- package/dist/popover.cjs +17 -74
- package/dist/popover.js +16 -73
- package/dist/progress-circle.cjs +3 -10
- package/dist/progress-circle.js +2 -10
- package/dist/provider.cjs +7 -176
- package/dist/provider.js +4 -174
- package/dist/select.cjs +36 -89
- package/dist/select.js +35 -88
- package/dist/sidebar.cjs +22 -493
- package/dist/sidebar.js +17 -489
- package/dist/site/commerce/ui/context.cjs +9 -214
- package/dist/site/commerce/ui/context.js +6 -215
- package/dist/site/components/analytics.cjs +2 -42
- package/dist/site/components/analytics.js +1 -37
- package/dist/site/components/auth/callback.cjs +2 -8
- package/dist/site/components/auth/callback.js +1 -7
- package/dist/site/components/auth/login-panel.cjs +15 -74
- package/dist/site/components/auth/login-panel.js +12 -73
- package/dist/site/components/auth/login.cjs +2 -6
- package/dist/site/components/auth/login.js +1 -5
- package/dist/site/components/auth/widget.cjs +2 -6
- package/dist/site/components/auth/widget.js +1 -5
- package/dist/site/components/commerce/bag-button.cjs +2 -3
- package/dist/site/components/commerce/bag-button.js +2 -3
- package/dist/site/components/commerce/buy-button.cjs +2 -11
- package/dist/site/components/commerce/buy-button.js +1 -10
- package/dist/site/components/commerce/checkout-button.cjs +2 -3
- package/dist/site/components/commerce/checkout-button.js +2 -3
- package/dist/site/components/commerce/checkout-panel/desktop-cp.cjs +15 -173
- package/dist/site/components/commerce/checkout-panel/desktop-cp.js +14 -174
- package/dist/site/components/commerce/checkout-panel/index.cjs +9 -400
- package/dist/site/components/commerce/checkout-panel/index.js +10 -403
- package/dist/site/components/commerce/checkout-panel/mobile-cp.cjs +15 -236
- package/dist/site/components/commerce/checkout-panel/mobile-cp.js +13 -237
- package/dist/site/components/commerce/desktop-bag-popup.cjs +7 -8
- package/dist/site/components/commerce/desktop-bag-popup.js +3 -8
- package/dist/site/components/commerce/drawer/index.cjs +15 -289
- package/dist/site/components/commerce/drawer/index.js +10 -290
- package/dist/site/components/commerce/drawer/micro.cjs +8 -115
- package/dist/site/components/commerce/drawer/micro.js +4 -115
- package/dist/site/components/commerce/drawer/shell.cjs +2 -10
- package/dist/site/components/commerce/drawer/shell.js +2 -10
- package/dist/site/components/contact-dialog/index.cjs +6 -69
- package/dist/site/components/contact-dialog/index.js +7 -71
- package/dist/site/components/drawer-margin.cjs +2 -10
- package/dist/site/components/drawer-margin.js +2 -10
- package/dist/site/components/footer.cjs +11 -81
- package/dist/site/components/footer.js +8 -80
- package/dist/site/components/header/desktop.cjs +18 -374
- package/dist/site/components/header/desktop.js +12 -355
- package/dist/site/components/header/index.cjs +9 -674
- package/dist/site/components/header/index.js +8 -657
- package/dist/site/components/header/mobile-bag-drawer.cjs +6 -71
- package/dist/site/components/header/mobile-bag-drawer.js +5 -74
- package/dist/site/components/header/mobile-nav-menu-ai.cjs +2 -31
- package/dist/site/components/header/mobile-nav-menu-ai.js +1 -26
- package/dist/site/components/header/mobile-nav-menu-item.cjs +6 -60
- package/dist/site/components/header/mobile-nav-menu-item.js +6 -61
- package/dist/site/components/header/mobile-nav-menu.cjs +7 -110
- package/dist/site/components/header/mobile-nav-menu.js +7 -112
- package/dist/site/components/header/mobile.cjs +25 -330
- package/dist/site/components/header/mobile.js +20 -330
- package/dist/site/components/icons/index.cjs +34 -35
- package/dist/site/components/icons/index.js +5 -33
- package/dist/site/components/index.cjs +118 -1961
- package/dist/site/components/index.js +23 -1951
- package/dist/site/components/mini-chart/index.cjs +7 -90
- package/dist/site/components/mini-chart/index.js +1 -92
- package/dist/site/components/mini-chart/wrapper.cjs +7 -76
- package/dist/site/components/mini-chart/wrapper.js +4 -77
- package/dist/site/components/not-found/index.cjs +9 -819
- package/dist/site/components/not-found/index.js +8 -802
- package/dist/site/components/security/index.cjs +9 -819
- package/dist/site/components/security/index.js +8 -802
- package/dist/site/next/analytics/index.cjs +16 -49
- package/dist/site/next/analytics/index.js +3 -49
- package/dist/site/next/analytics/pixel-analytics.cjs +23 -8
- package/dist/site/next/analytics/pixel-analytics.js +4 -8
- package/dist/site/next/index.cjs +13 -140
- package/dist/site/next/index.js +2 -140
- package/dist/site/root-layout/index.cjs +12 -1435
- package/dist/site/root-layout/index.css +0 -133
- package/dist/site/root-layout/index.js +12 -1416
- package/dist/site/site-def/footer/community.cjs +11 -27
- package/dist/site/site-def/footer/community.js +2 -18
- package/dist/site/site-def/footer/company.d.ts +3 -3
- package/dist/site/site-def/footer/index.cjs +38 -218
- package/dist/site/site-def/footer/index.js +14 -215
- package/dist/site/site-def/index.cjs +28 -620
- package/dist/site/site-def/index.js +3 -624
- package/dist/table.cjs +20 -338
- package/dist/table.js +19 -338
- package/dist/tabs.cjs +3 -10
- package/dist/tabs.js +1 -9
- package/dist/tag.cjs +9 -270
- package/dist/tag.js +6 -268
- package/dist/tags.cjs +6 -314
- package/dist/tags.js +5 -314
- package/dist/textarea.cjs +4 -50
- package/dist/textarea.js +3 -49
- package/dist/tooltip.cjs +15 -34
- package/dist/tooltip.js +13 -33
- package/dist/vite.cjs +3 -82
- package/dist/vite.js +1 -80
- package/package.json +1 -1
- package/dist/index.css +0 -132
- package/dist/site/components/auth/login-panel.css +0 -4
- package/dist/site/components/commerce/bag-button.css +0 -4
- package/dist/site/components/commerce/checkout-button.css +0 -4
- package/dist/site/components/commerce/checkout-panel/desktop-cp.css +0 -132
- package/dist/site/components/commerce/checkout-panel/index.css +0 -132
- package/dist/site/components/commerce/checkout-panel/mobile-cp.css +0 -132
- package/dist/site/components/commerce/desktop-bag-popup.css +0 -4
- package/dist/site/components/commerce/drawer/index.css +0 -132
- package/dist/site/components/commerce/drawer/micro.css +0 -4
- package/dist/site/components/header/desktop.css +0 -4
- package/dist/site/components/header/index.css +0 -132
- package/dist/site/components/header/mobile-bag-drawer.css +0 -4
- package/dist/site/components/header/mobile-nav-menu-ai.css +0 -132
- package/dist/site/components/header/mobile-nav-menu-item.css +0 -132
- package/dist/site/components/header/mobile-nav-menu.css +0 -132
- package/dist/site/components/header/mobile.css +0 -132
- package/dist/site/components/icons/index.css +0 -4
- package/dist/site/components/index.css +0 -132
- package/dist/site/components/not-found/index.css +0 -132
- package/dist/site/components/security/index.css +0 -132
- package/dist/site/site-def/footer/community.css +0 -4
- package/dist/site/site-def/footer/index.css +0 -4
- package/dist/site/site-def/index.css +0 -4
|
@@ -3,241 +3,20 @@
|
|
|
3
3
|
|
|
4
4
|
var primitives = require('@hanzo/ui/primitives');
|
|
5
5
|
var ui = require('@hanzo/ui');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var AuthWidget = require('../../auth/widget.cjs');
|
|
7
|
+
var index_cjs = require('../../index.cjs');
|
|
8
|
+
var BagButton = require('../bag-button.cjs');
|
|
9
|
+
var PolicyLinks = require('./policy-links.cjs');
|
|
10
|
+
var CartAccordian = require('./cart-accordian.cjs');
|
|
8
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var Link2 = require('next/link');
|
|
10
|
-
var logo = require('@luxfi/logo');
|
|
11
|
-
var mobx = require('mobx');
|
|
12
|
-
var mobxReactLite = require('mobx-react-lite');
|
|
13
|
-
var commerce = require('@hanzo/commerce');
|
|
14
|
-
var navigation = require('next/navigation');
|
|
15
|
-
var lucideReact = require('lucide-react');
|
|
16
|
-
require('embla-carousel-autoplay');
|
|
17
12
|
|
|
18
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
14
|
|
|
20
|
-
var
|
|
15
|
+
var AuthWidget__default = /*#__PURE__*/_interopDefault(AuthWidget);
|
|
16
|
+
var BagButton__default = /*#__PURE__*/_interopDefault(BagButton);
|
|
17
|
+
var PolicyLinks__default = /*#__PURE__*/_interopDefault(PolicyLinks);
|
|
18
|
+
var CartAccordian__default = /*#__PURE__*/_interopDefault(CartAccordian);
|
|
21
19
|
|
|
22
|
-
// src/site/components/auth/resume.ts
|
|
23
|
-
var KEY = "lux-auth-resume";
|
|
24
|
-
var remember = () => {
|
|
25
|
-
sessionStorage.setItem(KEY, window.location.pathname + window.location.search);
|
|
26
|
-
};
|
|
27
|
-
var Widget = ({
|
|
28
|
-
noLogin = false,
|
|
29
|
-
handleLogin,
|
|
30
|
-
className
|
|
31
|
-
}) => {
|
|
32
|
-
const { isAuthenticated, isLoading, login, logout } = react$1.useIam();
|
|
33
|
-
const identity = react$1.useIamIdentity();
|
|
34
|
-
if (isLoading) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
if (!isAuthenticated) {
|
|
38
|
-
return noLogin ? null : /* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
-
primitives.Button,
|
|
40
|
-
{
|
|
41
|
-
variant: "primary",
|
|
42
|
-
className: ui.cn("h-8 w-fit !min-w-0", className),
|
|
43
|
-
onClick: handleLogin ?? (() => {
|
|
44
|
-
remember();
|
|
45
|
-
void login();
|
|
46
|
-
}),
|
|
47
|
-
children: "Login"
|
|
48
|
-
}
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(primitives.Popover, { children: [
|
|
52
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
|
-
primitives.Button,
|
|
54
|
-
{
|
|
55
|
-
variant: "outline",
|
|
56
|
-
size: "icon",
|
|
57
|
-
className: ui.cn("rounded-full text-muted border-2 border-muted bg-level-1 hover:bg-level-2 hover:border-foreground hover:text-foreground uppercase w-8 h-8", className),
|
|
58
|
-
children: identity?.initials
|
|
59
|
-
}
|
|
60
|
-
) }),
|
|
61
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.PopoverContent, { className: "bg-level-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4", children: [
|
|
62
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 truncate", children: [
|
|
63
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-medium leading-none truncate", children: identity?.name }),
|
|
64
|
-
identity?.email && identity.email !== identity.name && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm opacity-50 truncate", children: identity.email })
|
|
65
|
-
] }),
|
|
66
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.Separator, {}),
|
|
67
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.Button, { variant: "outline", onClick: () => {
|
|
68
|
-
logout();
|
|
69
|
-
}, children: "Logout" })
|
|
70
|
-
] }) })
|
|
71
|
-
] });
|
|
72
|
-
};
|
|
73
|
-
var AuthWidget = (props) => react.useContext(react$1.IamContext) ? /* @__PURE__ */ jsxRuntime.jsx(Widget, { ...props }) : null;
|
|
74
|
-
var widget_default = AuthWidget;
|
|
75
|
-
var SIZE = {
|
|
76
|
-
xl: { mark: 40, word: 22, gap: "gap-4" },
|
|
77
|
-
lg: { mark: 40, word: 22, gap: "gap-4" },
|
|
78
|
-
md: { mark: 32, word: 18, gap: "gap-3" },
|
|
79
|
-
sm: { mark: 24, word: 13, gap: "gap-2" },
|
|
80
|
-
xs: { mark: 16, word: 9, gap: "gap-1.5" }
|
|
81
|
-
};
|
|
82
|
-
var Logo = ({
|
|
83
|
-
size = "md",
|
|
84
|
-
href,
|
|
85
|
-
// no default please!
|
|
86
|
-
outerClx = "",
|
|
87
|
-
variant = "full",
|
|
88
|
-
onClick
|
|
89
|
-
}) => {
|
|
90
|
-
const s = SIZE[size] ?? SIZE.md;
|
|
91
|
-
const clx = "flex flex-row items-center " + s.gap + " " + (href ? "hover:opacity-80 cursor-pointer " : "cursor-default ") + outerClx;
|
|
92
|
-
const art = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
93
|
-
variant !== "wordmark" && /* @__PURE__ */ jsxRuntime.jsx(logo.Logo, { variant: "white", size: s.mark }),
|
|
94
|
-
variant !== "mark" && /* @__PURE__ */ jsxRuntime.jsx(logo.Wordmark, { height: s.word })
|
|
95
|
-
] });
|
|
96
|
-
return href ? /* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { href, style: ui.css(clx), onClick, children: art }) : /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { tag: "span", className: clx, onClick, children: art });
|
|
97
|
-
};
|
|
98
|
-
var BagIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx("svg", { fill: "none", viewBox: "0 0 1019 1281", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m977.243 365.553h-175.407v-90.629c0-151.923-131.968-274.924-292.334-274.924-160.367 0-292.337 123.002-292.337 274.924v90.629h-175.4023c-23.3886 0-41.7627 17.051-41.7627 38.756v775.121c0 55.8 48.4456 100.76 108.582 100.76h801.84c60.138 0 108.578-44.96 108.578-100.76v-775.121c0-21.705-18.37-38.756-41.757-38.756zm-676.553-90.629c0-108.517 93.546-196.9408 208.812-196.9408 115.265 0 208.813 88.4218 208.813 196.9408v89.08h-417.625z", fill: "currentColor" }) });
|
|
99
|
-
var bag_icon_default = BagIcon;
|
|
100
|
-
var BagButton = mobxReactLite.observer(({
|
|
101
|
-
showIfEmpty = false,
|
|
102
|
-
animateOnHover = true,
|
|
103
|
-
animateOnQuantityChange = true,
|
|
104
|
-
size = "default",
|
|
105
|
-
className = "",
|
|
106
|
-
iconClx = "",
|
|
107
|
-
onClick
|
|
108
|
-
}) => {
|
|
109
|
-
const c = commerce.useCommerce();
|
|
110
|
-
const wiggleRef = react.useRef(mobx.observable.box("none"));
|
|
111
|
-
react.useEffect(() => (
|
|
112
|
-
// return IReactionDisposer
|
|
113
|
-
animateOnQuantityChange && c ? mobx.reaction(
|
|
114
|
-
() => c.cartQuantity,
|
|
115
|
-
(curr, prev) => {
|
|
116
|
-
if (curr > prev) {
|
|
117
|
-
mobx.runInAction(() => {
|
|
118
|
-
wiggleRef.current.set("more");
|
|
119
|
-
});
|
|
120
|
-
} else {
|
|
121
|
-
mobx.runInAction(() => {
|
|
122
|
-
wiggleRef.current.set("less");
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
setTimeout(() => {
|
|
126
|
-
mobx.runInAction(() => {
|
|
127
|
-
wiggleRef.current.set("none");
|
|
128
|
-
});
|
|
129
|
-
}, 800);
|
|
130
|
-
}
|
|
131
|
-
) : void 0
|
|
132
|
-
), []);
|
|
133
|
-
if (!c || !showIfEmpty && c.cartEmpty) {
|
|
134
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", {});
|
|
135
|
-
}
|
|
136
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
137
|
-
ui.Box,
|
|
138
|
-
{
|
|
139
|
-
"aria-label": "Bag",
|
|
140
|
-
role: "button",
|
|
141
|
-
onClick,
|
|
142
|
-
className: ui.cn(
|
|
143
|
-
primitives.buttonVariants({ variant: "ghost", size }),
|
|
144
|
-
"rounded-md",
|
|
145
|
-
// Overides the bg change on hover --not a "hover effect"
|
|
146
|
-
"relative group p-0 aspect-square hover:bg-background",
|
|
147
|
-
wiggleRef.current.get() === "more" ? "item-added-to-cart-animation" : wiggleRef.current.get() === "less" ? "item-removed-from-cart-animation" : "",
|
|
148
|
-
className
|
|
149
|
-
),
|
|
150
|
-
children: [
|
|
151
|
-
!c.cartEmpty && /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: "z-above-content flex flex-col justify-center items-center absolute left-0 right-0 top-0 bottom-0 leading-none font-sans font-bold text-primary-fg text-xs ", children: [
|
|
152
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[3px] w-full" }),
|
|
153
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: c.cartQuantity })
|
|
154
|
-
] }),
|
|
155
|
-
/* @__PURE__ */ jsxRuntime.jsx(bag_icon_default, { width: "24", height: "28", className: ui.cn(
|
|
156
|
-
"relative -top-[3px] fill-primary",
|
|
157
|
-
iconClx,
|
|
158
|
-
animateOnHover ? "group-hover:fill-primary-hover group-hover:scale-105 transition-scale transition-duration-300" : ""
|
|
159
|
-
), "aria-hidden": "true" })
|
|
160
|
-
]
|
|
161
|
-
}
|
|
162
|
-
);
|
|
163
|
-
});
|
|
164
|
-
var bag_button_default = BagButton;
|
|
165
|
-
var BackButton = ({
|
|
166
|
-
variant = "ghost",
|
|
167
|
-
size = "default",
|
|
168
|
-
clx = "",
|
|
169
|
-
iconClx = "",
|
|
170
|
-
onBack
|
|
171
|
-
}) => {
|
|
172
|
-
const router = navigation.useRouter();
|
|
173
|
-
const back = () => {
|
|
174
|
-
if (onBack) {
|
|
175
|
-
onBack();
|
|
176
|
-
}
|
|
177
|
-
router.back();
|
|
178
|
-
};
|
|
179
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
180
|
-
primitives.Button,
|
|
181
|
-
{
|
|
182
|
-
variant,
|
|
183
|
-
size,
|
|
184
|
-
onClick: back,
|
|
185
|
-
className: clx,
|
|
186
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { style: ui.css(iconClx) })
|
|
187
|
-
}
|
|
188
|
-
);
|
|
189
|
-
};
|
|
190
|
-
var back_button_default = BackButton;
|
|
191
|
-
var linkClx = ui.cn(primitives.buttonVariants({ variant: "linkMuted" }), "rounded-none");
|
|
192
|
-
var PolicyLinks = ({
|
|
193
|
-
clx = ""
|
|
194
|
-
}) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("flex flex-col items-center", clx), children: [
|
|
195
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.Separator, {}),
|
|
196
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4 py-2 text-sm", children: [
|
|
197
|
-
/* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { style: ui.css(linkClx), href: "", children: "refund policy" }),
|
|
198
|
-
/* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { style: ui.css(linkClx), href: "", children: "privacy policy" })
|
|
199
|
-
] })
|
|
200
|
-
] });
|
|
201
|
-
var policy_links_default = PolicyLinks;
|
|
202
|
-
var CartAccordian = mobxReactLite.observer(({
|
|
203
|
-
icon,
|
|
204
|
-
clx = "",
|
|
205
|
-
panelClx = "",
|
|
206
|
-
triggerClx = "",
|
|
207
|
-
scrollAfter,
|
|
208
|
-
scrollHeightClx
|
|
209
|
-
}) => {
|
|
210
|
-
const cmmc = commerce.useCommerce();
|
|
211
|
-
return /* @__PURE__ */ jsxRuntime.jsx(primitives.Accordion, { type: "single", collapsible: true, className: clx, children: /* @__PURE__ */ jsxRuntime.jsxs(primitives.AccordionItem, { value: "cart", className: "w-full border-b-0", children: [
|
|
212
|
-
/* @__PURE__ */ jsxRuntime.jsxs(primitives.AccordionTrigger, { className: "!no-underline group flex justify-between ", children: [
|
|
213
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-0 items-center", children: [
|
|
214
|
-
icon,
|
|
215
|
-
/* @__PURE__ */ jsxRuntime.jsxs("h5", { className: "text-sm sm:text-xl grow", children: [
|
|
216
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "group-data-[state=open]:hidden", children: "Order Total:" }),
|
|
217
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "group-data-[state=closed]:hidden", children: "Your Order" })
|
|
218
|
-
] })
|
|
219
|
-
] }),
|
|
220
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1 items-center", children: [
|
|
221
|
-
/* @__PURE__ */ jsxRuntime.jsx("h5", { className: "text-sm sm:text-xl grow truncate", children: commerce.formatCurrencyValue(cmmc.promoAppliedCartTotal) }),
|
|
222
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { style: ui.css("h-5 w-5 -mr-2 shrink-0 transition-transform duration-200 group-data-[state=open]:rotate-90") })
|
|
223
|
-
] })
|
|
224
|
-
] }),
|
|
225
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.AccordionContent, { className: "data-[state=open]:mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
226
|
-
commerce.CartPanel,
|
|
227
|
-
{
|
|
228
|
-
className: ui.cn("w-full", panelClx),
|
|
229
|
-
scrollAfter,
|
|
230
|
-
scrollHeightClx,
|
|
231
|
-
listClx: "mt-0",
|
|
232
|
-
itemClx: "mt-0.5 mb-0",
|
|
233
|
-
totalClx: "sticky px-1 pr-2 border-t -bottom-[1px] bg-background",
|
|
234
|
-
showShipping: true,
|
|
235
|
-
showPromoCode: true
|
|
236
|
-
}
|
|
237
|
-
) })
|
|
238
|
-
] }) });
|
|
239
|
-
});
|
|
240
|
-
var cart_accordian_default = CartAccordian;
|
|
241
20
|
var MobileCheckoutPanel = ({
|
|
242
21
|
step,
|
|
243
22
|
stepNames,
|
|
@@ -248,14 +27,14 @@ var MobileCheckoutPanel = ({
|
|
|
248
27
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fixed z-11 top-0 h-[45px] w-full flex justify-between items-stretch bg-background", children: [
|
|
249
28
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-stretch gap-1 grow-0", children: [
|
|
250
29
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
251
|
-
|
|
30
|
+
index_cjs.BackButton,
|
|
252
31
|
{
|
|
253
32
|
size: "sm",
|
|
254
33
|
clx: "-ml-5 !px-0 aspect-square h-full rounded-full active:!bg-level-3 ",
|
|
255
34
|
onBack: onLeave
|
|
256
35
|
}
|
|
257
36
|
),
|
|
258
|
-
/* @__PURE__ */ jsxRuntime.jsx(Logo, { size: "sm", variant: "wordmark", href: "/", onClick: onLeave, outerClx: "-ml-2" })
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_cjs.Logo, { size: "sm", variant: "wordmark", href: "/", onClick: onLeave, outerClx: "-ml-2" })
|
|
259
38
|
] }),
|
|
260
39
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
261
40
|
primitives.StepIndicator,
|
|
@@ -266,13 +45,13 @@ var MobileCheckoutPanel = ({
|
|
|
266
45
|
className: "relative grow mx-2 top-[14px] text-xs font-semibold w-full"
|
|
267
46
|
}
|
|
268
47
|
),
|
|
269
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-[72px] grow-0 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-[72px] grow-0 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(AuthWidget__default.default, { noLogin: true, className: "" }) })
|
|
270
49
|
] }),
|
|
271
50
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
272
|
-
|
|
51
|
+
CartAccordian__default.default,
|
|
273
52
|
{
|
|
274
53
|
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
275
|
-
|
|
54
|
+
BagButton__default.default,
|
|
276
55
|
{
|
|
277
56
|
animateOnHover: false,
|
|
278
57
|
showIfEmpty: true,
|
|
@@ -289,7 +68,7 @@ var MobileCheckoutPanel = ({
|
|
|
289
68
|
}
|
|
290
69
|
),
|
|
291
70
|
children,
|
|
292
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
+
/* @__PURE__ */ jsxRuntime.jsx(PolicyLinks__default.default, { clx: "mt-auto mb-3 pt-2" })
|
|
293
72
|
] });
|
|
294
73
|
var mobile_cp_default = MobileCheckoutPanel;
|
|
295
74
|
|
|
@@ -1,237 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
3
|
-
import { Box, cn
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import { observer } from 'mobx-react-lite';
|
|
11
|
-
import { useCommerce, formatCurrencyValue, CartPanel } from '@hanzo/commerce';
|
|
12
|
-
import { useRouter } from 'next/navigation';
|
|
13
|
-
import { ChevronRight, ChevronLeft } from 'lucide-react';
|
|
14
|
-
import 'embla-carousel-autoplay';
|
|
2
|
+
import { StepIndicator } from '@hanzo/ui/primitives';
|
|
3
|
+
import { Box, cn } from '@hanzo/ui';
|
|
4
|
+
import AuthWidget from '../../auth/widget.js';
|
|
5
|
+
import { BackButton, Logo } from '../../index.js';
|
|
6
|
+
import BagButton from '../bag-button.js';
|
|
7
|
+
import PolicyLinks from './policy-links.js';
|
|
8
|
+
import CartAccordian from './cart-accordian.js';
|
|
9
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
15
10
|
|
|
16
|
-
// src/site/components/auth/resume.ts
|
|
17
|
-
var KEY = "lux-auth-resume";
|
|
18
|
-
var remember = () => {
|
|
19
|
-
sessionStorage.setItem(KEY, window.location.pathname + window.location.search);
|
|
20
|
-
};
|
|
21
|
-
var Widget = ({
|
|
22
|
-
noLogin = false,
|
|
23
|
-
handleLogin,
|
|
24
|
-
className
|
|
25
|
-
}) => {
|
|
26
|
-
const { isAuthenticated, isLoading, login, logout } = useIam();
|
|
27
|
-
const identity = useIamIdentity();
|
|
28
|
-
if (isLoading) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
if (!isAuthenticated) {
|
|
32
|
-
return noLogin ? null : /* @__PURE__ */ jsx(
|
|
33
|
-
Button,
|
|
34
|
-
{
|
|
35
|
-
variant: "primary",
|
|
36
|
-
className: cn("h-8 w-fit !min-w-0", className),
|
|
37
|
-
onClick: handleLogin ?? (() => {
|
|
38
|
-
remember();
|
|
39
|
-
void login();
|
|
40
|
-
}),
|
|
41
|
-
children: "Login"
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
return /* @__PURE__ */ jsxs(Popover, { children: [
|
|
46
|
-
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
47
|
-
Button,
|
|
48
|
-
{
|
|
49
|
-
variant: "outline",
|
|
50
|
-
size: "icon",
|
|
51
|
-
className: cn("rounded-full text-muted border-2 border-muted bg-level-1 hover:bg-level-2 hover:border-foreground hover:text-foreground uppercase w-8 h-8", className),
|
|
52
|
-
children: identity?.initials
|
|
53
|
-
}
|
|
54
|
-
) }),
|
|
55
|
-
/* @__PURE__ */ jsx(PopoverContent, { className: "bg-level-0", children: /* @__PURE__ */ jsxs("div", { className: "grid gap-4", children: [
|
|
56
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-2 truncate", children: [
|
|
57
|
-
/* @__PURE__ */ jsx("h4", { className: "font-medium leading-none truncate", children: identity?.name }),
|
|
58
|
-
identity?.email && identity.email !== identity.name && /* @__PURE__ */ jsx("p", { className: "text-sm opacity-50 truncate", children: identity.email })
|
|
59
|
-
] }),
|
|
60
|
-
/* @__PURE__ */ jsx(Separator, {}),
|
|
61
|
-
/* @__PURE__ */ jsx(Button, { variant: "outline", onClick: () => {
|
|
62
|
-
logout();
|
|
63
|
-
}, children: "Logout" })
|
|
64
|
-
] }) })
|
|
65
|
-
] });
|
|
66
|
-
};
|
|
67
|
-
var AuthWidget = (props) => useContext(IamContext) ? /* @__PURE__ */ jsx(Widget, { ...props }) : null;
|
|
68
|
-
var widget_default = AuthWidget;
|
|
69
|
-
var SIZE = {
|
|
70
|
-
xl: { mark: 40, word: 22, gap: "gap-4" },
|
|
71
|
-
lg: { mark: 40, word: 22, gap: "gap-4" },
|
|
72
|
-
md: { mark: 32, word: 18, gap: "gap-3" },
|
|
73
|
-
sm: { mark: 24, word: 13, gap: "gap-2" },
|
|
74
|
-
xs: { mark: 16, word: 9, gap: "gap-1.5" }
|
|
75
|
-
};
|
|
76
|
-
var Logo = ({
|
|
77
|
-
size = "md",
|
|
78
|
-
href,
|
|
79
|
-
// no default please!
|
|
80
|
-
outerClx = "",
|
|
81
|
-
variant = "full",
|
|
82
|
-
onClick
|
|
83
|
-
}) => {
|
|
84
|
-
const s = SIZE[size] ?? SIZE.md;
|
|
85
|
-
const clx = "flex flex-row items-center " + s.gap + " " + (href ? "hover:opacity-80 cursor-pointer " : "cursor-default ") + outerClx;
|
|
86
|
-
const art = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
87
|
-
variant !== "wordmark" && /* @__PURE__ */ jsx(Logo$1, { variant: "white", size: s.mark }),
|
|
88
|
-
variant !== "mark" && /* @__PURE__ */ jsx(Wordmark, { height: s.word })
|
|
89
|
-
] });
|
|
90
|
-
return href ? /* @__PURE__ */ jsx(Link2, { href, style: css(clx), onClick, children: art }) : /* @__PURE__ */ jsx(Box, { tag: "span", className: clx, onClick, children: art });
|
|
91
|
-
};
|
|
92
|
-
var BagIcon = (props) => /* @__PURE__ */ jsx("svg", { fill: "none", viewBox: "0 0 1019 1281", ...props, children: /* @__PURE__ */ jsx("path", { d: "m977.243 365.553h-175.407v-90.629c0-151.923-131.968-274.924-292.334-274.924-160.367 0-292.337 123.002-292.337 274.924v90.629h-175.4023c-23.3886 0-41.7627 17.051-41.7627 38.756v775.121c0 55.8 48.4456 100.76 108.582 100.76h801.84c60.138 0 108.578-44.96 108.578-100.76v-775.121c0-21.705-18.37-38.756-41.757-38.756zm-676.553-90.629c0-108.517 93.546-196.9408 208.812-196.9408 115.265 0 208.813 88.4218 208.813 196.9408v89.08h-417.625z", fill: "currentColor" }) });
|
|
93
|
-
var bag_icon_default = BagIcon;
|
|
94
|
-
var BagButton = observer(({
|
|
95
|
-
showIfEmpty = false,
|
|
96
|
-
animateOnHover = true,
|
|
97
|
-
animateOnQuantityChange = true,
|
|
98
|
-
size = "default",
|
|
99
|
-
className = "",
|
|
100
|
-
iconClx = "",
|
|
101
|
-
onClick
|
|
102
|
-
}) => {
|
|
103
|
-
const c = useCommerce();
|
|
104
|
-
const wiggleRef = useRef(observable.box("none"));
|
|
105
|
-
useEffect(() => (
|
|
106
|
-
// return IReactionDisposer
|
|
107
|
-
animateOnQuantityChange && c ? reaction(
|
|
108
|
-
() => c.cartQuantity,
|
|
109
|
-
(curr, prev) => {
|
|
110
|
-
if (curr > prev) {
|
|
111
|
-
runInAction(() => {
|
|
112
|
-
wiggleRef.current.set("more");
|
|
113
|
-
});
|
|
114
|
-
} else {
|
|
115
|
-
runInAction(() => {
|
|
116
|
-
wiggleRef.current.set("less");
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
setTimeout(() => {
|
|
120
|
-
runInAction(() => {
|
|
121
|
-
wiggleRef.current.set("none");
|
|
122
|
-
});
|
|
123
|
-
}, 800);
|
|
124
|
-
}
|
|
125
|
-
) : void 0
|
|
126
|
-
), []);
|
|
127
|
-
if (!c || !showIfEmpty && c.cartEmpty) {
|
|
128
|
-
return /* @__PURE__ */ jsx("div", {});
|
|
129
|
-
}
|
|
130
|
-
return /* @__PURE__ */ jsxs(
|
|
131
|
-
Box,
|
|
132
|
-
{
|
|
133
|
-
"aria-label": "Bag",
|
|
134
|
-
role: "button",
|
|
135
|
-
onClick,
|
|
136
|
-
className: cn(
|
|
137
|
-
buttonVariants({ variant: "ghost", size }),
|
|
138
|
-
"rounded-md",
|
|
139
|
-
// Overides the bg change on hover --not a "hover effect"
|
|
140
|
-
"relative group p-0 aspect-square hover:bg-background",
|
|
141
|
-
wiggleRef.current.get() === "more" ? "item-added-to-cart-animation" : wiggleRef.current.get() === "less" ? "item-removed-from-cart-animation" : "",
|
|
142
|
-
className
|
|
143
|
-
),
|
|
144
|
-
children: [
|
|
145
|
-
!c.cartEmpty && /* @__PURE__ */ jsxs(Box, { className: "z-above-content flex flex-col justify-center items-center absolute left-0 right-0 top-0 bottom-0 leading-none font-sans font-bold text-primary-fg text-xs ", children: [
|
|
146
|
-
/* @__PURE__ */ jsx("div", { className: "h-[3px] w-full" }),
|
|
147
|
-
/* @__PURE__ */ jsx("div", { children: c.cartQuantity })
|
|
148
|
-
] }),
|
|
149
|
-
/* @__PURE__ */ jsx(bag_icon_default, { width: "24", height: "28", className: cn(
|
|
150
|
-
"relative -top-[3px] fill-primary",
|
|
151
|
-
iconClx,
|
|
152
|
-
animateOnHover ? "group-hover:fill-primary-hover group-hover:scale-105 transition-scale transition-duration-300" : ""
|
|
153
|
-
), "aria-hidden": "true" })
|
|
154
|
-
]
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
});
|
|
158
|
-
var bag_button_default = BagButton;
|
|
159
|
-
var BackButton = ({
|
|
160
|
-
variant = "ghost",
|
|
161
|
-
size = "default",
|
|
162
|
-
clx = "",
|
|
163
|
-
iconClx = "",
|
|
164
|
-
onBack
|
|
165
|
-
}) => {
|
|
166
|
-
const router = useRouter();
|
|
167
|
-
const back = () => {
|
|
168
|
-
if (onBack) {
|
|
169
|
-
onBack();
|
|
170
|
-
}
|
|
171
|
-
router.back();
|
|
172
|
-
};
|
|
173
|
-
return /* @__PURE__ */ jsx(
|
|
174
|
-
Button,
|
|
175
|
-
{
|
|
176
|
-
variant,
|
|
177
|
-
size,
|
|
178
|
-
onClick: back,
|
|
179
|
-
className: clx,
|
|
180
|
-
children: /* @__PURE__ */ jsx(ChevronLeft, { style: css(iconClx) })
|
|
181
|
-
}
|
|
182
|
-
);
|
|
183
|
-
};
|
|
184
|
-
var back_button_default = BackButton;
|
|
185
|
-
var linkClx = cn(buttonVariants({ variant: "linkMuted" }), "rounded-none");
|
|
186
|
-
var PolicyLinks = ({
|
|
187
|
-
clx = ""
|
|
188
|
-
}) => /* @__PURE__ */ jsxs(Box, { className: cn("flex flex-col items-center", clx), children: [
|
|
189
|
-
/* @__PURE__ */ jsx(Separator, {}),
|
|
190
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-4 py-2 text-sm", children: [
|
|
191
|
-
/* @__PURE__ */ jsx(Link2, { style: css(linkClx), href: "", children: "refund policy" }),
|
|
192
|
-
/* @__PURE__ */ jsx(Link2, { style: css(linkClx), href: "", children: "privacy policy" })
|
|
193
|
-
] })
|
|
194
|
-
] });
|
|
195
|
-
var policy_links_default = PolicyLinks;
|
|
196
|
-
var CartAccordian = observer(({
|
|
197
|
-
icon,
|
|
198
|
-
clx = "",
|
|
199
|
-
panelClx = "",
|
|
200
|
-
triggerClx = "",
|
|
201
|
-
scrollAfter,
|
|
202
|
-
scrollHeightClx
|
|
203
|
-
}) => {
|
|
204
|
-
const cmmc = useCommerce();
|
|
205
|
-
return /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, className: clx, children: /* @__PURE__ */ jsxs(AccordionItem, { value: "cart", className: "w-full border-b-0", children: [
|
|
206
|
-
/* @__PURE__ */ jsxs(AccordionTrigger, { className: "!no-underline group flex justify-between ", children: [
|
|
207
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-0 items-center", children: [
|
|
208
|
-
icon,
|
|
209
|
-
/* @__PURE__ */ jsxs("h5", { className: "text-sm sm:text-xl grow", children: [
|
|
210
|
-
/* @__PURE__ */ jsx("span", { className: "group-data-[state=open]:hidden", children: "Order Total:" }),
|
|
211
|
-
/* @__PURE__ */ jsx("span", { className: "group-data-[state=closed]:hidden", children: "Your Order" })
|
|
212
|
-
] })
|
|
213
|
-
] }),
|
|
214
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-1 items-center", children: [
|
|
215
|
-
/* @__PURE__ */ jsx("h5", { className: "text-sm sm:text-xl grow truncate", children: formatCurrencyValue(cmmc.promoAppliedCartTotal) }),
|
|
216
|
-
/* @__PURE__ */ jsx(ChevronRight, { style: css("h-5 w-5 -mr-2 shrink-0 transition-transform duration-200 group-data-[state=open]:rotate-90") })
|
|
217
|
-
] })
|
|
218
|
-
] }),
|
|
219
|
-
/* @__PURE__ */ jsx(AccordionContent, { className: "data-[state=open]:mb-4", children: /* @__PURE__ */ jsx(
|
|
220
|
-
CartPanel,
|
|
221
|
-
{
|
|
222
|
-
className: cn("w-full", panelClx),
|
|
223
|
-
scrollAfter,
|
|
224
|
-
scrollHeightClx,
|
|
225
|
-
listClx: "mt-0",
|
|
226
|
-
itemClx: "mt-0.5 mb-0",
|
|
227
|
-
totalClx: "sticky px-1 pr-2 border-t -bottom-[1px] bg-background",
|
|
228
|
-
showShipping: true,
|
|
229
|
-
showPromoCode: true
|
|
230
|
-
}
|
|
231
|
-
) })
|
|
232
|
-
] }) });
|
|
233
|
-
});
|
|
234
|
-
var cart_accordian_default = CartAccordian;
|
|
235
11
|
var MobileCheckoutPanel = ({
|
|
236
12
|
step,
|
|
237
13
|
stepNames,
|
|
@@ -242,7 +18,7 @@ var MobileCheckoutPanel = ({
|
|
|
242
18
|
/* @__PURE__ */ jsxs("div", { className: "fixed z-11 top-0 h-[45px] w-full flex justify-between items-stretch bg-background", children: [
|
|
243
19
|
/* @__PURE__ */ jsxs("div", { className: "flex items-stretch gap-1 grow-0", children: [
|
|
244
20
|
/* @__PURE__ */ jsx(
|
|
245
|
-
|
|
21
|
+
BackButton,
|
|
246
22
|
{
|
|
247
23
|
size: "sm",
|
|
248
24
|
clx: "-ml-5 !px-0 aspect-square h-full rounded-full active:!bg-level-3 ",
|
|
@@ -260,13 +36,13 @@ var MobileCheckoutPanel = ({
|
|
|
260
36
|
className: "relative grow mx-2 top-[14px] text-xs font-semibold w-full"
|
|
261
37
|
}
|
|
262
38
|
),
|
|
263
|
-
/* @__PURE__ */ jsx("div", { className: "w-[72px] grow-0 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
39
|
+
/* @__PURE__ */ jsx("div", { className: "w-[72px] grow-0 shrink-0 flex items-center justify-center", children: /* @__PURE__ */ jsx(AuthWidget, { noLogin: true, className: "" }) })
|
|
264
40
|
] }),
|
|
265
41
|
/* @__PURE__ */ jsx(
|
|
266
|
-
|
|
42
|
+
CartAccordian,
|
|
267
43
|
{
|
|
268
44
|
icon: /* @__PURE__ */ jsx(
|
|
269
|
-
|
|
45
|
+
BagButton,
|
|
270
46
|
{
|
|
271
47
|
animateOnHover: false,
|
|
272
48
|
showIfEmpty: true,
|
|
@@ -283,7 +59,7 @@ var MobileCheckoutPanel = ({
|
|
|
283
59
|
}
|
|
284
60
|
),
|
|
285
61
|
children,
|
|
286
|
-
/* @__PURE__ */ jsx(
|
|
62
|
+
/* @__PURE__ */ jsx(PolicyLinks, { clx: "mt-auto mb-3 pt-2" })
|
|
287
63
|
] });
|
|
288
64
|
var mobile_cp_default = MobileCheckoutPanel;
|
|
289
65
|
|
|
@@ -7,15 +7,14 @@ var lucideReact = require('lucide-react');
|
|
|
7
7
|
var primitives = require('@hanzo/ui/primitives');
|
|
8
8
|
var ui = require('@hanzo/ui');
|
|
9
9
|
var commerce = require('@hanzo/commerce');
|
|
10
|
+
var index_cjs = require('../icons/index.cjs');
|
|
11
|
+
var sendGAEvent = require('../../next/analytics/google-analytics.cjs');
|
|
10
12
|
var jsxRuntime = require('react/jsx-runtime');
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
|
+
|
|
16
|
+
var sendGAEvent__default = /*#__PURE__*/_interopDefault(sendGAEvent);
|
|
14
17
|
|
|
15
|
-
// src/site/next/analytics/google-analytics.ts
|
|
16
|
-
var sendGAEvent = (name, options = {}) => {
|
|
17
|
-
window.gtag("event", name, options);
|
|
18
|
-
};
|
|
19
18
|
var DesktopBagPopup = ({
|
|
20
19
|
triggerClx = "",
|
|
21
20
|
popupClx = "",
|
|
@@ -26,7 +25,7 @@ var DesktopBagPopup = ({
|
|
|
26
25
|
const router = navigation.useRouter();
|
|
27
26
|
react.useEffect(() => {
|
|
28
27
|
if (bagOpen) {
|
|
29
|
-
|
|
28
|
+
sendGAEvent__default.default("view_cart", {
|
|
30
29
|
items: cmmc.cartItems.map((item) => ({
|
|
31
30
|
item_id: item.sku,
|
|
32
31
|
item_name: item.title,
|
|
@@ -58,7 +57,7 @@ var DesktopBagPopup = ({
|
|
|
58
57
|
buttonClx: "max-w-[220px] flex-none",
|
|
59
58
|
children: [
|
|
60
59
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-center flex-none justify-center ", children: [
|
|
61
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
60
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_cjs.Bag, { className: "mr-2 relative w-6 h-7 fill-foreground " }),
|
|
62
61
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-heading text-foreground text-default", children: "Your Bag" })
|
|
63
62
|
] }),
|
|
64
63
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[1px] w-pr-80 bg-muted-3 mx-auto mt-1.5 flex-none" })
|
|
@@ -5,15 +5,10 @@ import { X } from 'lucide-react';
|
|
|
5
5
|
import { Popover, PopoverTrigger, PopoverContent, PopoverClose } from '@hanzo/ui/primitives';
|
|
6
6
|
import { cn } from '@hanzo/ui';
|
|
7
7
|
import { useCommerce, CartPanel } from '@hanzo/commerce';
|
|
8
|
+
import { Bag } from '../icons/index.js';
|
|
9
|
+
import sendGAEvent from '../../next/analytics/google-analytics.js';
|
|
8
10
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
9
11
|
|
|
10
|
-
var BagIcon = (props) => /* @__PURE__ */ jsx("svg", { fill: "none", viewBox: "0 0 1019 1281", ...props, children: /* @__PURE__ */ jsx("path", { d: "m977.243 365.553h-175.407v-90.629c0-151.923-131.968-274.924-292.334-274.924-160.367 0-292.337 123.002-292.337 274.924v90.629h-175.4023c-23.3886 0-41.7627 17.051-41.7627 38.756v775.121c0 55.8 48.4456 100.76 108.582 100.76h801.84c60.138 0 108.578-44.96 108.578-100.76v-775.121c0-21.705-18.37-38.756-41.757-38.756zm-676.553-90.629c0-108.517 93.546-196.9408 208.812-196.9408 115.265 0 208.813 88.4218 208.813 196.9408v89.08h-417.625z", fill: "currentColor" }) });
|
|
11
|
-
var bag_icon_default = BagIcon;
|
|
12
|
-
|
|
13
|
-
// src/site/next/analytics/google-analytics.ts
|
|
14
|
-
var sendGAEvent = (name, options = {}) => {
|
|
15
|
-
window.gtag("event", name, options);
|
|
16
|
-
};
|
|
17
12
|
var DesktopBagPopup = ({
|
|
18
13
|
triggerClx = "",
|
|
19
14
|
popupClx = "",
|
|
@@ -56,7 +51,7 @@ var DesktopBagPopup = ({
|
|
|
56
51
|
buttonClx: "max-w-[220px] flex-none",
|
|
57
52
|
children: [
|
|
58
53
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center flex-none justify-center ", children: [
|
|
59
|
-
/* @__PURE__ */ jsx(
|
|
54
|
+
/* @__PURE__ */ jsx(Bag, { className: "mr-2 relative w-6 h-7 fill-foreground " }),
|
|
60
55
|
/* @__PURE__ */ jsx("p", { className: "font-heading text-foreground text-default", children: "Your Bag" })
|
|
61
56
|
] }),
|
|
62
57
|
/* @__PURE__ */ jsx("div", { className: "h-[1px] w-pr-80 bg-muted-3 mx-auto mt-1.5 flex-none" })
|