@luxfi/ui 8.2.7 → 8.2.8
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 +25 -28
- package/dist/site/components/header/mobile-nav-menu-ai.js +24 -27
- 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 +48 -330
- package/dist/site/components/header/mobile.js +42 -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/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,178 +3,20 @@
|
|
|
3
3
|
|
|
4
4
|
var mobxReactLite = require('mobx-react-lite');
|
|
5
5
|
var primitives = require('@hanzo/ui/primitives');
|
|
6
|
-
var
|
|
6
|
+
var AuthWidget = require('../../auth/widget.js');
|
|
7
|
+
var commerce = require('@hanzo/commerce');
|
|
7
8
|
var ui = require('@hanzo/ui');
|
|
8
|
-
var
|
|
9
|
+
var index_js = require('../../index.js');
|
|
10
|
+
var DesktopBagCarousel = require('./desktop-bag-carousel.js');
|
|
11
|
+
var LinksRow = require('./policy-links.js');
|
|
9
12
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
-
var commerce = require('@hanzo/commerce');
|
|
11
|
-
var Link2 = require('next/link');
|
|
12
|
-
var logo = require('@luxfi/logo');
|
|
13
|
-
var navigation = require('next/navigation');
|
|
14
|
-
var lucideReact = require('lucide-react');
|
|
15
|
-
var reactTooltip = require('react-tooltip');
|
|
16
|
-
require('embla-carousel-autoplay');
|
|
17
13
|
|
|
18
14
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
15
|
|
|
20
|
-
var
|
|
16
|
+
var AuthWidget__default = /*#__PURE__*/_interopDefault(AuthWidget);
|
|
17
|
+
var DesktopBagCarousel__default = /*#__PURE__*/_interopDefault(DesktopBagCarousel);
|
|
18
|
+
var LinksRow__default = /*#__PURE__*/_interopDefault(LinksRow);
|
|
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 BackButton = ({
|
|
99
|
-
variant = "ghost",
|
|
100
|
-
size = "default",
|
|
101
|
-
clx = "",
|
|
102
|
-
iconClx = "",
|
|
103
|
-
onBack
|
|
104
|
-
}) => {
|
|
105
|
-
const router = navigation.useRouter();
|
|
106
|
-
const back = () => {
|
|
107
|
-
if (onBack) {
|
|
108
|
-
onBack();
|
|
109
|
-
}
|
|
110
|
-
router.back();
|
|
111
|
-
};
|
|
112
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
113
|
-
primitives.Button,
|
|
114
|
-
{
|
|
115
|
-
variant,
|
|
116
|
-
size,
|
|
117
|
-
onClick: back,
|
|
118
|
-
className: clx,
|
|
119
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { style: ui.css(iconClx) })
|
|
120
|
-
}
|
|
121
|
-
);
|
|
122
|
-
};
|
|
123
|
-
var back_button_default = BackButton;
|
|
124
|
-
var linkClx = ui.cn(primitives.buttonVariants({ variant: "linkMuted" }), "rounded-none");
|
|
125
|
-
var PolicyLinks = ({
|
|
126
|
-
clx = ""
|
|
127
|
-
}) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("flex flex-col items-center", clx), children: [
|
|
128
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.Separator, {}),
|
|
129
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4 py-2 text-sm", children: [
|
|
130
|
-
/* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { style: ui.css(linkClx), href: "", children: "refund policy" }),
|
|
131
|
-
/* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { style: ui.css(linkClx), href: "", children: "privacy policy" })
|
|
132
|
-
] })
|
|
133
|
-
] });
|
|
134
|
-
var policy_links_default = PolicyLinks;
|
|
135
|
-
var Tooltip = ({
|
|
136
|
-
select,
|
|
137
|
-
text,
|
|
138
|
-
clx = "",
|
|
139
|
-
position = "bottom",
|
|
140
|
-
offset = 2
|
|
141
|
-
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
-
reactTooltip.Tooltip,
|
|
143
|
-
{
|
|
144
|
-
anchorSelect: select,
|
|
145
|
-
noArrow: true,
|
|
146
|
-
opacity: 1,
|
|
147
|
-
content: text,
|
|
148
|
-
place: position,
|
|
149
|
-
offset,
|
|
150
|
-
delayShow: 100,
|
|
151
|
-
delayHide: 100,
|
|
152
|
-
className: "!opacity-100 !bg-level-2 border rounded-[3px] !px-1.5 !py-1 z-floating" + clx
|
|
153
|
-
}
|
|
154
|
-
);
|
|
155
|
-
var tooltip_default = Tooltip;
|
|
156
|
-
var DesktopBagCarousel = mobxReactLite.observer(({
|
|
157
|
-
constrainTo,
|
|
158
|
-
className = ""
|
|
159
|
-
}) => {
|
|
160
|
-
const cmmc = commerce.useCommerce();
|
|
161
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
162
|
-
commerce.CarouselItemSelector,
|
|
163
|
-
{
|
|
164
|
-
items: cmmc.cartItems,
|
|
165
|
-
selectedItemRef: cmmc,
|
|
166
|
-
scrollable: false,
|
|
167
|
-
selectSku: cmmc.setCurrentItem.bind(cmmc),
|
|
168
|
-
clx: className,
|
|
169
|
-
ext: {
|
|
170
|
-
options: { loop: true },
|
|
171
|
-
constrainTo,
|
|
172
|
-
imageOnly: true
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
);
|
|
176
|
-
});
|
|
177
|
-
var desktop_bag_carousel_default = DesktopBagCarousel;
|
|
178
20
|
var DesktopCheckoutPanel = mobxReactLite.observer(({
|
|
179
21
|
step,
|
|
180
22
|
stepNames,
|
|
@@ -186,23 +28,23 @@ var DesktopCheckoutPanel = mobxReactLite.observer(({
|
|
|
186
28
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("grid grid-cols-2", clx), children: [
|
|
187
29
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full h-full bg-background flex flex-row items-start justify-end", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full h-full max-w-[750px] relative flex flex-col items-stretch justify-start px-8 pb-8", children: [
|
|
188
30
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-[80px] grow-0 flex flex-row items-center z-10", children: [
|
|
189
|
-
/* @__PURE__ */ jsxRuntime.jsx(Logo, { size: "md", href: "/", onClick: onLeave, variant: "wordmark", outerClx: "logo-outer-tooltip-class" }),
|
|
190
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_js.Logo, { size: "md", href: "/", onClick: onLeave, variant: "wordmark", outerClx: "logo-outer-tooltip-class" }),
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_js.Tooltip, { select: ".logo-outer-tooltip-class", text: "home", position: "right", offset: 6 })
|
|
191
33
|
] }, 1),
|
|
192
34
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
193
|
-
|
|
35
|
+
index_js.BackButton,
|
|
194
36
|
{
|
|
195
37
|
size: "sm",
|
|
196
38
|
clx: "z-10 absolute top-14 left-6 !px-0 aspect-square rounded-full hover:!bg-level-3 back-button-tooltip-class ",
|
|
197
39
|
onBack: onLeave
|
|
198
40
|
}
|
|
199
41
|
),
|
|
200
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_js.Tooltip, { select: ".back-button-tooltip-class", text: "back", position: "right", offset: 5 }),
|
|
201
43
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn(
|
|
202
44
|
"w-full grow min-h-0 max-w-[550px] mx-auto flex flex-col gap-3",
|
|
203
45
|
cmmc.cartItems.length > 4 ? "justify-between" : "justify-start gap-10 pt-10"
|
|
204
46
|
), children: [
|
|
205
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(DesktopBagCarousel__default.default, { className: "grow-0 h-[260px] w-[360px] lg:w-[420px] mx-auto -mt-8", constrainTo: { w: 250, h: 250 } }),
|
|
206
48
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
207
49
|
commerce.CartPanel,
|
|
208
50
|
{
|
|
@@ -222,12 +64,12 @@ var DesktopCheckoutPanel = mobxReactLite.observer(({
|
|
|
222
64
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full h-full flex flex-col bg-level-1 min-h-screen justify-between", children: [
|
|
223
65
|
/* @__PURE__ */ jsxRuntime.jsx(primitives.ScrollArea, { className: "w-full flex flex-row items-start justify-start overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0", children: [
|
|
224
66
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-level-1 sticky h-[80px] bg-[#aaaaff] w-full top-0 flex justify-center items-end", children: [
|
|
225
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
67
|
+
/* @__PURE__ */ jsxRuntime.jsx(AuthWidget__default.default, { noLogin: true, className: "hidden md:flex absolute top-4 right-4 " }),
|
|
226
68
|
/* @__PURE__ */ jsxRuntime.jsx(primitives.StepIndicator, { dotSizeRem: 1.35, steps: stepNames, currentStep: step, className: "gap-2 text-base w-pr-70" })
|
|
227
69
|
] }, 1),
|
|
228
70
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-[550px] mx-auto py-8", children }, 2)
|
|
229
71
|
] }) }),
|
|
230
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-[550px] mx-auto flex flex-col items-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full max-w-[550px] mx-auto flex flex-col items-center", children: /* @__PURE__ */ jsxRuntime.jsx(LinksRow__default.default, { clx: "w-full" }) }) })
|
|
231
73
|
] }, 2)
|
|
232
74
|
] });
|
|
233
75
|
});
|
|
@@ -1,174 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { observer } from 'mobx-react-lite';
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import { useRouter } from 'next/navigation';
|
|
12
|
-
import { ChevronLeft } from 'lucide-react';
|
|
13
|
-
import { Tooltip as Tooltip$1 } from 'react-tooltip';
|
|
14
|
-
import 'embla-carousel-autoplay';
|
|
3
|
+
import { ScrollArea, StepIndicator } from '@hanzo/ui/primitives';
|
|
4
|
+
import AuthWidget from '../../auth/widget.js';
|
|
5
|
+
import { useCommerce, CartPanel } from '@hanzo/commerce';
|
|
6
|
+
import { Box, cn } from '@hanzo/ui';
|
|
7
|
+
import { Logo, Tooltip, BackButton } from '../../index.js';
|
|
8
|
+
import DesktopBagCarousel from './desktop-bag-carousel.js';
|
|
9
|
+
import LinksRow from './policy-links.js';
|
|
10
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
15
11
|
|
|
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 BackButton = ({
|
|
93
|
-
variant = "ghost",
|
|
94
|
-
size = "default",
|
|
95
|
-
clx = "",
|
|
96
|
-
iconClx = "",
|
|
97
|
-
onBack
|
|
98
|
-
}) => {
|
|
99
|
-
const router = useRouter();
|
|
100
|
-
const back = () => {
|
|
101
|
-
if (onBack) {
|
|
102
|
-
onBack();
|
|
103
|
-
}
|
|
104
|
-
router.back();
|
|
105
|
-
};
|
|
106
|
-
return /* @__PURE__ */ jsx(
|
|
107
|
-
Button,
|
|
108
|
-
{
|
|
109
|
-
variant,
|
|
110
|
-
size,
|
|
111
|
-
onClick: back,
|
|
112
|
-
className: clx,
|
|
113
|
-
children: /* @__PURE__ */ jsx(ChevronLeft, { style: css(iconClx) })
|
|
114
|
-
}
|
|
115
|
-
);
|
|
116
|
-
};
|
|
117
|
-
var back_button_default = BackButton;
|
|
118
|
-
var linkClx = cn(buttonVariants({ variant: "linkMuted" }), "rounded-none");
|
|
119
|
-
var PolicyLinks = ({
|
|
120
|
-
clx = ""
|
|
121
|
-
}) => /* @__PURE__ */ jsxs(Box, { className: cn("flex flex-col items-center", clx), children: [
|
|
122
|
-
/* @__PURE__ */ jsx(Separator, {}),
|
|
123
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-4 py-2 text-sm", children: [
|
|
124
|
-
/* @__PURE__ */ jsx(Link2, { style: css(linkClx), href: "", children: "refund policy" }),
|
|
125
|
-
/* @__PURE__ */ jsx(Link2, { style: css(linkClx), href: "", children: "privacy policy" })
|
|
126
|
-
] })
|
|
127
|
-
] });
|
|
128
|
-
var policy_links_default = PolicyLinks;
|
|
129
|
-
var Tooltip = ({
|
|
130
|
-
select,
|
|
131
|
-
text,
|
|
132
|
-
clx = "",
|
|
133
|
-
position = "bottom",
|
|
134
|
-
offset = 2
|
|
135
|
-
}) => /* @__PURE__ */ jsx(
|
|
136
|
-
Tooltip$1,
|
|
137
|
-
{
|
|
138
|
-
anchorSelect: select,
|
|
139
|
-
noArrow: true,
|
|
140
|
-
opacity: 1,
|
|
141
|
-
content: text,
|
|
142
|
-
place: position,
|
|
143
|
-
offset,
|
|
144
|
-
delayShow: 100,
|
|
145
|
-
delayHide: 100,
|
|
146
|
-
className: "!opacity-100 !bg-level-2 border rounded-[3px] !px-1.5 !py-1 z-floating" + clx
|
|
147
|
-
}
|
|
148
|
-
);
|
|
149
|
-
var tooltip_default = Tooltip;
|
|
150
|
-
var DesktopBagCarousel = observer(({
|
|
151
|
-
constrainTo,
|
|
152
|
-
className = ""
|
|
153
|
-
}) => {
|
|
154
|
-
const cmmc = useCommerce();
|
|
155
|
-
return /* @__PURE__ */ jsx(
|
|
156
|
-
CarouselItemSelector,
|
|
157
|
-
{
|
|
158
|
-
items: cmmc.cartItems,
|
|
159
|
-
selectedItemRef: cmmc,
|
|
160
|
-
scrollable: false,
|
|
161
|
-
selectSku: cmmc.setCurrentItem.bind(cmmc),
|
|
162
|
-
clx: className,
|
|
163
|
-
ext: {
|
|
164
|
-
options: { loop: true },
|
|
165
|
-
constrainTo,
|
|
166
|
-
imageOnly: true
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
);
|
|
170
|
-
});
|
|
171
|
-
var desktop_bag_carousel_default = DesktopBagCarousel;
|
|
172
12
|
var DesktopCheckoutPanel = observer(({
|
|
173
13
|
step,
|
|
174
14
|
stepNames,
|
|
@@ -181,22 +21,22 @@ var DesktopCheckoutPanel = observer(({
|
|
|
181
21
|
/* @__PURE__ */ jsx("div", { className: "w-full h-full bg-background flex flex-row items-start justify-end", children: /* @__PURE__ */ jsxs("div", { className: "w-full h-full max-w-[750px] relative flex flex-col items-stretch justify-start px-8 pb-8", children: [
|
|
182
22
|
/* @__PURE__ */ jsxs("div", { className: "h-[80px] grow-0 flex flex-row items-center z-10", children: [
|
|
183
23
|
/* @__PURE__ */ jsx(Logo, { size: "md", href: "/", onClick: onLeave, variant: "wordmark", outerClx: "logo-outer-tooltip-class" }),
|
|
184
|
-
/* @__PURE__ */ jsx(
|
|
24
|
+
/* @__PURE__ */ jsx(Tooltip, { select: ".logo-outer-tooltip-class", text: "home", position: "right", offset: 6 })
|
|
185
25
|
] }, 1),
|
|
186
26
|
/* @__PURE__ */ jsx(
|
|
187
|
-
|
|
27
|
+
BackButton,
|
|
188
28
|
{
|
|
189
29
|
size: "sm",
|
|
190
30
|
clx: "z-10 absolute top-14 left-6 !px-0 aspect-square rounded-full hover:!bg-level-3 back-button-tooltip-class ",
|
|
191
31
|
onBack: onLeave
|
|
192
32
|
}
|
|
193
33
|
),
|
|
194
|
-
/* @__PURE__ */ jsx(
|
|
34
|
+
/* @__PURE__ */ jsx(Tooltip, { select: ".back-button-tooltip-class", text: "back", position: "right", offset: 5 }),
|
|
195
35
|
/* @__PURE__ */ jsxs(Box, { className: cn(
|
|
196
36
|
"w-full grow min-h-0 max-w-[550px] mx-auto flex flex-col gap-3",
|
|
197
37
|
cmmc.cartItems.length > 4 ? "justify-between" : "justify-start gap-10 pt-10"
|
|
198
38
|
), children: [
|
|
199
|
-
/* @__PURE__ */ jsx(
|
|
39
|
+
/* @__PURE__ */ jsx(DesktopBagCarousel, { className: "grow-0 h-[260px] w-[360px] lg:w-[420px] mx-auto -mt-8", constrainTo: { w: 250, h: 250 } }),
|
|
200
40
|
/* @__PURE__ */ jsx(
|
|
201
41
|
CartPanel,
|
|
202
42
|
{
|
|
@@ -216,12 +56,12 @@ var DesktopCheckoutPanel = observer(({
|
|
|
216
56
|
/* @__PURE__ */ jsxs("div", { className: "w-full h-full flex flex-col bg-level-1 min-h-screen justify-between", children: [
|
|
217
57
|
/* @__PURE__ */ jsx(ScrollArea, { className: "w-full flex flex-row items-start justify-start overflow-y-auto", children: /* @__PURE__ */ jsxs("div", { className: "h-full w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0", children: [
|
|
218
58
|
/* @__PURE__ */ jsxs("div", { className: "bg-level-1 sticky h-[80px] bg-[#aaaaff] w-full top-0 flex justify-center items-end", children: [
|
|
219
|
-
/* @__PURE__ */ jsx(
|
|
59
|
+
/* @__PURE__ */ jsx(AuthWidget, { noLogin: true, className: "hidden md:flex absolute top-4 right-4 " }),
|
|
220
60
|
/* @__PURE__ */ jsx(StepIndicator, { dotSizeRem: 1.35, steps: stepNames, currentStep: step, className: "gap-2 text-base w-pr-70" })
|
|
221
61
|
] }, 1),
|
|
222
62
|
/* @__PURE__ */ jsx("div", { className: "w-full max-w-[550px] mx-auto py-8", children }, 2)
|
|
223
63
|
] }) }),
|
|
224
|
-
/* @__PURE__ */ jsx("div", { className: "w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-[550px] mx-auto flex flex-col items-center", children: /* @__PURE__ */ jsx(
|
|
64
|
+
/* @__PURE__ */ jsx("div", { className: "w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-[550px] mx-auto flex flex-col items-center", children: /* @__PURE__ */ jsx(LinksRow, { clx: "w-full" }) }) })
|
|
225
65
|
] }, 2)
|
|
226
66
|
] });
|
|
227
67
|
});
|