@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
|
@@ -2,89 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
var primitives = require('@hanzo/ui/primitives');
|
|
4
4
|
var ui = require('@hanzo/ui');
|
|
5
|
+
var Copyright = require('./copyright.js');
|
|
6
|
+
var legal_js = require('../site-def/footer/legal.js');
|
|
7
|
+
var FooterNav = require('./footer-nav.js');
|
|
8
|
+
var Logo = require('./logo.js');
|
|
5
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var Link = require('next/link');
|
|
7
|
-
var logo = require('@luxfi/logo');
|
|
8
10
|
|
|
9
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
12
|
|
|
11
|
-
var
|
|
13
|
+
var Copyright__default = /*#__PURE__*/_interopDefault(Copyright);
|
|
14
|
+
var FooterNav__default = /*#__PURE__*/_interopDefault(FooterNav);
|
|
15
|
+
var Logo__default = /*#__PURE__*/_interopDefault(Logo);
|
|
12
16
|
|
|
13
17
|
// src/site/components/footer.tsx
|
|
14
|
-
var FIRST = 2020;
|
|
15
|
-
var Copyright = ({
|
|
16
|
-
className = ""
|
|
17
|
-
}) => {
|
|
18
|
-
const year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
19
|
-
const yearString = year > FIRST ? `${FIRST} - ${year}` : FIRST.toString();
|
|
20
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className, children: [
|
|
21
|
-
`Copyright \xA9 ${yearString}`,
|
|
22
|
-
"\xA0",
|
|
23
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", { className: "sm:hidden" }),
|
|
24
|
-
"Lux Industries Inc.\xA0",
|
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsx("br", { className: "md:hidden" }),
|
|
26
|
-
"\xA0All rights reserved."
|
|
27
|
-
] });
|
|
28
|
-
};
|
|
29
|
-
var copyright_default = Copyright;
|
|
30
|
-
|
|
31
|
-
// src/site/site-def/footer/legal.ts
|
|
32
|
-
var legal = [
|
|
33
|
-
{
|
|
34
|
-
title: "Terms and Conditions",
|
|
35
|
-
href: "https://docs.google.com/document/d/1mvkjr1w8Rv8ttirs1mu-_2fw_PXclOyS/preview",
|
|
36
|
-
newTab: true
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
title: "Privacy Policy",
|
|
40
|
-
href: "https://docs.google.com/document/d/1vZjOKaNdOoThDIaVLERWxflQLtOsuvLn/preview",
|
|
41
|
-
newTab: true
|
|
42
|
-
}
|
|
43
|
-
];
|
|
44
|
-
var title = {
|
|
45
|
-
title: "Legal",
|
|
46
|
-
href: "",
|
|
47
|
-
variant: "linkFG"
|
|
48
|
-
};
|
|
49
|
-
[title, ...legal];
|
|
50
|
-
var FooterNav = ({
|
|
51
|
-
items,
|
|
52
|
-
currentAs,
|
|
53
|
-
className = ""
|
|
54
|
-
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
55
|
-
primitives.NavItems,
|
|
56
|
-
{
|
|
57
|
-
items,
|
|
58
|
-
currentAs,
|
|
59
|
-
as: "nav",
|
|
60
|
-
className,
|
|
61
|
-
itemClx: (def) => def.variant === "linkFG" ? "font-nav text-[15px]/[1.3] font-medium tracking-normal text-muted-1 sm:hover:text-foreground transition-color duration-500" : "text-[15px]/[1.1] font-normal tracking-[0.2px] text-muted-1 sm:hover:text-foreground transition-color duration-500"
|
|
62
|
-
}
|
|
63
|
-
);
|
|
64
|
-
var footer_nav_default = FooterNav;
|
|
65
|
-
var SIZE = {
|
|
66
|
-
xl: { mark: 40, word: 22, gap: "gap-4" },
|
|
67
|
-
lg: { mark: 40, word: 22, gap: "gap-4" },
|
|
68
|
-
md: { mark: 32, word: 18, gap: "gap-3" },
|
|
69
|
-
sm: { mark: 24, word: 13, gap: "gap-2" },
|
|
70
|
-
xs: { mark: 16, word: 9, gap: "gap-1.5" }
|
|
71
|
-
};
|
|
72
|
-
var Logo = ({
|
|
73
|
-
size = "md",
|
|
74
|
-
href,
|
|
75
|
-
// no default please!
|
|
76
|
-
outerClx = "",
|
|
77
|
-
variant = "full",
|
|
78
|
-
onClick
|
|
79
|
-
}) => {
|
|
80
|
-
const s = SIZE[size] ?? SIZE.md;
|
|
81
|
-
const clx = "flex flex-row items-center " + s.gap + " " + (href ? "hover:opacity-80 cursor-pointer " : "cursor-default ") + outerClx;
|
|
82
|
-
const art = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
83
|
-
variant !== "wordmark" && /* @__PURE__ */ jsxRuntime.jsx(logo.Logo, { variant: "white", size: s.mark }),
|
|
84
|
-
variant !== "mark" && /* @__PURE__ */ jsxRuntime.jsx(logo.Wordmark, { height: s.word })
|
|
85
|
-
] });
|
|
86
|
-
return href ? /* @__PURE__ */ jsxRuntime.jsx(Link__default.default, { href, style: ui.css(clx), onClick, children: art }) : /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { tag: "span", className: clx, onClick, children: art });
|
|
87
|
-
};
|
|
88
18
|
var Footer = ({
|
|
89
19
|
siteDef,
|
|
90
20
|
className = "",
|
|
@@ -93,14 +23,14 @@ var Footer = ({
|
|
|
93
23
|
const { footer, aboveCopyright } = siteDef;
|
|
94
24
|
const smGridCols = Math.floor(footer.length / 2);
|
|
95
25
|
const smGridColsClx = `sm:grid-cols-${smGridCols} `;
|
|
96
|
-
const _aboveCopyright = typeof aboveCopyright === "undefined" ? legal : aboveCopyright;
|
|
26
|
+
const _aboveCopyright = typeof aboveCopyright === "undefined" ? legal_js.legal : aboveCopyright;
|
|
97
27
|
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { tag: "footer", className: ui.cn("grow flex flex-col justify-between gap-6 pb-[2vh]", className), children: [
|
|
98
28
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: (noHorizPadding ? "" : "px-5 md:px-8 ") + "grid grid-cols-2 gap-4 gap-y-6 md:gap-x-6 lg:gap-8 " + smGridColsClx + "md:w-full sm:justify-items-center md:mx-0 lg:w-full md:flex md:flex-row md:justify-between px-[24px]", children: [
|
|
99
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden lg:flex flex-col", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
29
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden lg:flex flex-col", children: /* @__PURE__ */ jsxRuntime.jsx(Logo__default.default, { size: "md", variant: "wordmark" }) }, 0),
|
|
100
30
|
footer.map((defs, index) => {
|
|
101
31
|
const xsColSpanClx = index === footer.length - 1 && footer.length % 2 === 1 ? "xs:col-span-2 xs:mx-auto md:col-span-1 md:mx-0 " : "";
|
|
102
32
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
103
|
-
|
|
33
|
+
FooterNav__default.default,
|
|
104
34
|
{
|
|
105
35
|
items: defs,
|
|
106
36
|
currentAs: siteDef.currentAs,
|
|
@@ -123,7 +53,7 @@ var Footer = ({
|
|
|
123
53
|
itemClx: "text-sm text-center text-muted-2 underline hover:text-foreground"
|
|
124
54
|
}
|
|
125
55
|
),
|
|
126
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
56
|
+
/* @__PURE__ */ jsxRuntime.jsx(Copyright__default.default, { className: "text-sm text-center text-muted-3" })
|
|
127
57
|
] })
|
|
128
58
|
] });
|
|
129
59
|
};
|
|
@@ -1,84 +1,12 @@
|
|
|
1
1
|
import { NavItems } from '@hanzo/ui/primitives';
|
|
2
|
-
import { Box, cn
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
2
|
+
import { Box, cn } from '@hanzo/ui';
|
|
3
|
+
import Copyright from './copyright.js';
|
|
4
|
+
import { legal } from '../site-def/footer/legal.js';
|
|
5
|
+
import FooterNav from './footer-nav.js';
|
|
6
|
+
import Logo from './logo.js';
|
|
7
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
8
|
|
|
7
9
|
// src/site/components/footer.tsx
|
|
8
|
-
var FIRST = 2020;
|
|
9
|
-
var Copyright = ({
|
|
10
|
-
className = ""
|
|
11
|
-
}) => {
|
|
12
|
-
const year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
13
|
-
const yearString = year > FIRST ? `${FIRST} - ${year}` : FIRST.toString();
|
|
14
|
-
return /* @__PURE__ */ jsxs(Box, { className, children: [
|
|
15
|
-
`Copyright \xA9 ${yearString}`,
|
|
16
|
-
"\xA0",
|
|
17
|
-
/* @__PURE__ */ jsx("br", { className: "sm:hidden" }),
|
|
18
|
-
"Lux Industries Inc.\xA0",
|
|
19
|
-
/* @__PURE__ */ jsx("br", { className: "md:hidden" }),
|
|
20
|
-
"\xA0All rights reserved."
|
|
21
|
-
] });
|
|
22
|
-
};
|
|
23
|
-
var copyright_default = Copyright;
|
|
24
|
-
|
|
25
|
-
// src/site/site-def/footer/legal.ts
|
|
26
|
-
var legal = [
|
|
27
|
-
{
|
|
28
|
-
title: "Terms and Conditions",
|
|
29
|
-
href: "https://docs.google.com/document/d/1mvkjr1w8Rv8ttirs1mu-_2fw_PXclOyS/preview",
|
|
30
|
-
newTab: true
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
title: "Privacy Policy",
|
|
34
|
-
href: "https://docs.google.com/document/d/1vZjOKaNdOoThDIaVLERWxflQLtOsuvLn/preview",
|
|
35
|
-
newTab: true
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
var title = {
|
|
39
|
-
title: "Legal",
|
|
40
|
-
href: "",
|
|
41
|
-
variant: "linkFG"
|
|
42
|
-
};
|
|
43
|
-
[title, ...legal];
|
|
44
|
-
var FooterNav = ({
|
|
45
|
-
items,
|
|
46
|
-
currentAs,
|
|
47
|
-
className = ""
|
|
48
|
-
}) => /* @__PURE__ */ jsx(
|
|
49
|
-
NavItems,
|
|
50
|
-
{
|
|
51
|
-
items,
|
|
52
|
-
currentAs,
|
|
53
|
-
as: "nav",
|
|
54
|
-
className,
|
|
55
|
-
itemClx: (def) => def.variant === "linkFG" ? "font-nav text-[15px]/[1.3] font-medium tracking-normal text-muted-1 sm:hover:text-foreground transition-color duration-500" : "text-[15px]/[1.1] font-normal tracking-[0.2px] text-muted-1 sm:hover:text-foreground transition-color duration-500"
|
|
56
|
-
}
|
|
57
|
-
);
|
|
58
|
-
var footer_nav_default = FooterNav;
|
|
59
|
-
var SIZE = {
|
|
60
|
-
xl: { mark: 40, word: 22, gap: "gap-4" },
|
|
61
|
-
lg: { mark: 40, word: 22, gap: "gap-4" },
|
|
62
|
-
md: { mark: 32, word: 18, gap: "gap-3" },
|
|
63
|
-
sm: { mark: 24, word: 13, gap: "gap-2" },
|
|
64
|
-
xs: { mark: 16, word: 9, gap: "gap-1.5" }
|
|
65
|
-
};
|
|
66
|
-
var Logo = ({
|
|
67
|
-
size = "md",
|
|
68
|
-
href,
|
|
69
|
-
// no default please!
|
|
70
|
-
outerClx = "",
|
|
71
|
-
variant = "full",
|
|
72
|
-
onClick
|
|
73
|
-
}) => {
|
|
74
|
-
const s = SIZE[size] ?? SIZE.md;
|
|
75
|
-
const clx = "flex flex-row items-center " + s.gap + " " + (href ? "hover:opacity-80 cursor-pointer " : "cursor-default ") + outerClx;
|
|
76
|
-
const art = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
77
|
-
variant !== "wordmark" && /* @__PURE__ */ jsx(Logo$1, { variant: "white", size: s.mark }),
|
|
78
|
-
variant !== "mark" && /* @__PURE__ */ jsx(Wordmark, { height: s.word })
|
|
79
|
-
] });
|
|
80
|
-
return href ? /* @__PURE__ */ jsx(Link, { href, style: css(clx), onClick, children: art }) : /* @__PURE__ */ jsx(Box, { tag: "span", className: clx, onClick, children: art });
|
|
81
|
-
};
|
|
82
10
|
var Footer = ({
|
|
83
11
|
siteDef,
|
|
84
12
|
className = "",
|
|
@@ -94,7 +22,7 @@ var Footer = ({
|
|
|
94
22
|
footer.map((defs, index) => {
|
|
95
23
|
const xsColSpanClx = index === footer.length - 1 && footer.length % 2 === 1 ? "xs:col-span-2 xs:mx-auto md:col-span-1 md:mx-0 " : "";
|
|
96
24
|
return /* @__PURE__ */ jsx(
|
|
97
|
-
|
|
25
|
+
FooterNav,
|
|
98
26
|
{
|
|
99
27
|
items: defs,
|
|
100
28
|
currentAs: siteDef.currentAs,
|
|
@@ -117,7 +45,7 @@ var Footer = ({
|
|
|
117
45
|
itemClx: "text-sm text-center text-muted-2 underline hover:text-foreground"
|
|
118
46
|
}
|
|
119
47
|
),
|
|
120
|
-
/* @__PURE__ */ jsx(
|
|
48
|
+
/* @__PURE__ */ jsx(Copyright, { className: "text-sm text-center text-muted-3" })
|
|
121
49
|
] })
|
|
122
50
|
] });
|
|
123
51
|
};
|
|
@@ -1,380 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React = require('react');
|
|
5
5
|
var ui = require('@hanzo/ui');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var AuthWidget = require('../auth/widget.js');
|
|
7
|
+
var Logo = require('../logo.js');
|
|
8
|
+
var DesktopBagPopup = require('../commerce/desktop-bag-popup.js');
|
|
9
|
+
var BagButton = require('../commerce/bag-button.js');
|
|
10
|
+
var DesktopNav = require('./desktop-nav-menu.js');
|
|
8
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var Link2 = require('next/link');
|
|
10
|
-
var logo = require('@luxfi/logo');
|
|
11
|
-
var navigation = require('next/navigation');
|
|
12
|
-
var lucideReact = require('lucide-react');
|
|
13
|
-
var commerce = require('@hanzo/commerce');
|
|
14
|
-
var mobx = require('mobx');
|
|
15
|
-
var mobxReactLite = require('mobx-react-lite');
|
|
16
12
|
|
|
17
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
26
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
27
|
-
enumerable: true,
|
|
28
|
-
get: function () { return e[k]; }
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
n.default = e;
|
|
34
|
-
return Object.freeze(n);
|
|
35
|
-
}
|
|
15
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
16
|
+
var AuthWidget__default = /*#__PURE__*/_interopDefault(AuthWidget);
|
|
17
|
+
var Logo__default = /*#__PURE__*/_interopDefault(Logo);
|
|
18
|
+
var DesktopBagPopup__default = /*#__PURE__*/_interopDefault(DesktopBagPopup);
|
|
19
|
+
var BagButton__default = /*#__PURE__*/_interopDefault(BagButton);
|
|
20
|
+
var DesktopNav__default = /*#__PURE__*/_interopDefault(DesktopNav);
|
|
36
21
|
|
|
37
|
-
var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
|
|
38
|
-
var Link2__default = /*#__PURE__*/_interopDefault(Link2);
|
|
39
|
-
|
|
40
|
-
// src/site/components/auth/resume.ts
|
|
41
|
-
var KEY = "lux-auth-resume";
|
|
42
|
-
var remember = () => {
|
|
43
|
-
sessionStorage.setItem(KEY, window.location.pathname + window.location.search);
|
|
44
|
-
};
|
|
45
|
-
var Widget = ({
|
|
46
|
-
noLogin = false,
|
|
47
|
-
handleLogin,
|
|
48
|
-
className
|
|
49
|
-
}) => {
|
|
50
|
-
const { isAuthenticated, isLoading, login, logout } = react.useIam();
|
|
51
|
-
const identity = react.useIamIdentity();
|
|
52
|
-
if (isLoading) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
if (!isAuthenticated) {
|
|
56
|
-
return noLogin ? null : /* @__PURE__ */ jsxRuntime.jsx(
|
|
57
|
-
primitives.Button,
|
|
58
|
-
{
|
|
59
|
-
variant: "primary",
|
|
60
|
-
className: ui.cn("h-8 w-fit !min-w-0", className),
|
|
61
|
-
onClick: handleLogin ?? (() => {
|
|
62
|
-
remember();
|
|
63
|
-
void login();
|
|
64
|
-
}),
|
|
65
|
-
children: "Login"
|
|
66
|
-
}
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(primitives.Popover, { children: [
|
|
70
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
-
primitives.Button,
|
|
72
|
-
{
|
|
73
|
-
variant: "outline",
|
|
74
|
-
size: "icon",
|
|
75
|
-
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),
|
|
76
|
-
children: identity?.initials
|
|
77
|
-
}
|
|
78
|
-
) }),
|
|
79
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.PopoverContent, { className: "bg-level-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4", children: [
|
|
80
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2 truncate", children: [
|
|
81
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-medium leading-none truncate", children: identity?.name }),
|
|
82
|
-
identity?.email && identity.email !== identity.name && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm opacity-50 truncate", children: identity.email })
|
|
83
|
-
] }),
|
|
84
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.Separator, {}),
|
|
85
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.Button, { variant: "outline", onClick: () => {
|
|
86
|
-
logout();
|
|
87
|
-
}, children: "Logout" })
|
|
88
|
-
] }) })
|
|
89
|
-
] });
|
|
90
|
-
};
|
|
91
|
-
var AuthWidget = (props) => React4.useContext(react.IamContext) ? /* @__PURE__ */ jsxRuntime.jsx(Widget, { ...props }) : null;
|
|
92
|
-
var widget_default = AuthWidget;
|
|
93
|
-
var SIZE = {
|
|
94
|
-
xl: { mark: 40, word: 22, gap: "gap-4" },
|
|
95
|
-
lg: { mark: 40, word: 22, gap: "gap-4" },
|
|
96
|
-
md: { mark: 32, word: 18, gap: "gap-3" },
|
|
97
|
-
sm: { mark: 24, word: 13, gap: "gap-2" },
|
|
98
|
-
xs: { mark: 16, word: 9, gap: "gap-1.5" }
|
|
99
|
-
};
|
|
100
|
-
var Logo = ({
|
|
101
|
-
size = "md",
|
|
102
|
-
href,
|
|
103
|
-
// no default please!
|
|
104
|
-
outerClx = "",
|
|
105
|
-
variant = "full",
|
|
106
|
-
onClick
|
|
107
|
-
}) => {
|
|
108
|
-
const s = SIZE[size] ?? SIZE.md;
|
|
109
|
-
const clx = "flex flex-row items-center " + s.gap + " " + (href ? "hover:opacity-80 cursor-pointer " : "cursor-default ") + outerClx;
|
|
110
|
-
const art = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
111
|
-
variant !== "wordmark" && /* @__PURE__ */ jsxRuntime.jsx(logo.Logo, { variant: "white", size: s.mark }),
|
|
112
|
-
variant !== "mark" && /* @__PURE__ */ jsxRuntime.jsx(logo.Wordmark, { height: s.word })
|
|
113
|
-
] });
|
|
114
|
-
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 });
|
|
115
|
-
};
|
|
116
|
-
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" }) });
|
|
117
|
-
var bag_icon_default = BagIcon;
|
|
118
|
-
|
|
119
|
-
// src/site/next/analytics/google-analytics.ts
|
|
120
|
-
var sendGAEvent = (name, options = {}) => {
|
|
121
|
-
window.gtag("event", name, options);
|
|
122
|
-
};
|
|
123
|
-
var DesktopBagPopup = ({
|
|
124
|
-
triggerClx = "",
|
|
125
|
-
popupClx = "",
|
|
126
|
-
trigger
|
|
127
|
-
}) => {
|
|
128
|
-
const cmmc = commerce.useCommerce();
|
|
129
|
-
const [bagOpen, setBagOpen] = React4.useState(false);
|
|
130
|
-
const router = navigation.useRouter();
|
|
131
|
-
React4.useEffect(() => {
|
|
132
|
-
if (bagOpen) {
|
|
133
|
-
sendGAEvent("view_cart", {
|
|
134
|
-
items: cmmc.cartItems.map((item) => ({
|
|
135
|
-
item_id: item.sku,
|
|
136
|
-
item_name: item.title,
|
|
137
|
-
item_category: item.familyId,
|
|
138
|
-
price: item.price,
|
|
139
|
-
quantity: item.quantity
|
|
140
|
-
})),
|
|
141
|
-
value: cmmc.cartTotal,
|
|
142
|
-
currency: "USD"
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}, [bagOpen]);
|
|
146
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(primitives.Popover, { open: bagOpen, onOpenChange: setBagOpen, children: [
|
|
147
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.PopoverTrigger, { className: triggerClx, children: trigger }),
|
|
148
|
-
/* @__PURE__ */ jsxRuntime.jsxs(primitives.PopoverContent, { sideOffset: 28, className: ui.cn("relative flex flex-col p-0 px-4 pb-4 pt-2", popupClx), children: [
|
|
149
|
-
/* @__PURE__ */ jsxRuntime.jsx(primitives.PopoverClose, { className: "absolute z-above-content right-2 top-2 self-end hover:bg-level-3 text-muted hover:text-accent p-1 rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-5 h-5" }) }),
|
|
150
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
151
|
-
commerce.CartPanel,
|
|
152
|
-
{
|
|
153
|
-
handleCheckout: () => {
|
|
154
|
-
router.push("/checkout");
|
|
155
|
-
},
|
|
156
|
-
className: "mt-4 mb-4 border-none py-0 px-4",
|
|
157
|
-
listClx: "rounded-sm pr-3",
|
|
158
|
-
scrollAfter: 5,
|
|
159
|
-
scrollHeightClx: "h-[70vh]",
|
|
160
|
-
itemClx: "mt-3",
|
|
161
|
-
totalClx: "sticky px-1 pr-2 -bottom-[1px] bg-level-1",
|
|
162
|
-
buttonClx: "max-w-[220px] flex-none",
|
|
163
|
-
children: [
|
|
164
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-center flex-none justify-center ", children: [
|
|
165
|
-
/* @__PURE__ */ jsxRuntime.jsx(bag_icon_default, { className: "mr-2 relative w-6 h-7 fill-foreground " }),
|
|
166
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-heading text-foreground text-default", children: "Your Bag" })
|
|
167
|
-
] }),
|
|
168
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[1px] w-pr-80 bg-muted-3 mx-auto mt-1.5 flex-none" })
|
|
169
|
-
]
|
|
170
|
-
}
|
|
171
|
-
)
|
|
172
|
-
] })
|
|
173
|
-
] });
|
|
174
|
-
};
|
|
175
|
-
var desktop_bag_popup_default = DesktopBagPopup;
|
|
176
|
-
var BagButton = mobxReactLite.observer(({
|
|
177
|
-
showIfEmpty = false,
|
|
178
|
-
animateOnHover = true,
|
|
179
|
-
animateOnQuantityChange = true,
|
|
180
|
-
size = "default",
|
|
181
|
-
className = "",
|
|
182
|
-
iconClx = "",
|
|
183
|
-
onClick
|
|
184
|
-
}) => {
|
|
185
|
-
const c = commerce.useCommerce();
|
|
186
|
-
const wiggleRef = React4.useRef(mobx.observable.box("none"));
|
|
187
|
-
React4.useEffect(() => (
|
|
188
|
-
// return IReactionDisposer
|
|
189
|
-
animateOnQuantityChange && c ? mobx.reaction(
|
|
190
|
-
() => c.cartQuantity,
|
|
191
|
-
(curr, prev) => {
|
|
192
|
-
if (curr > prev) {
|
|
193
|
-
mobx.runInAction(() => {
|
|
194
|
-
wiggleRef.current.set("more");
|
|
195
|
-
});
|
|
196
|
-
} else {
|
|
197
|
-
mobx.runInAction(() => {
|
|
198
|
-
wiggleRef.current.set("less");
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
setTimeout(() => {
|
|
202
|
-
mobx.runInAction(() => {
|
|
203
|
-
wiggleRef.current.set("none");
|
|
204
|
-
});
|
|
205
|
-
}, 800);
|
|
206
|
-
}
|
|
207
|
-
) : void 0
|
|
208
|
-
), []);
|
|
209
|
-
if (!c || !showIfEmpty && c.cartEmpty) {
|
|
210
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", {});
|
|
211
|
-
}
|
|
212
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
213
|
-
ui.Box,
|
|
214
|
-
{
|
|
215
|
-
"aria-label": "Bag",
|
|
216
|
-
role: "button",
|
|
217
|
-
onClick,
|
|
218
|
-
className: ui.cn(
|
|
219
|
-
primitives.buttonVariants({ variant: "ghost", size }),
|
|
220
|
-
"rounded-md",
|
|
221
|
-
// Overides the bg change on hover --not a "hover effect"
|
|
222
|
-
"relative group p-0 aspect-square hover:bg-background",
|
|
223
|
-
wiggleRef.current.get() === "more" ? "item-added-to-cart-animation" : wiggleRef.current.get() === "less" ? "item-removed-from-cart-animation" : "",
|
|
224
|
-
className
|
|
225
|
-
),
|
|
226
|
-
children: [
|
|
227
|
-
!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: [
|
|
228
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[3px] w-full" }),
|
|
229
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: c.cartQuantity })
|
|
230
|
-
] }),
|
|
231
|
-
/* @__PURE__ */ jsxRuntime.jsx(bag_icon_default, { width: "24", height: "28", className: ui.cn(
|
|
232
|
-
"relative -top-[3px] fill-primary",
|
|
233
|
-
iconClx,
|
|
234
|
-
animateOnHover ? "group-hover:fill-primary-hover group-hover:scale-105 transition-scale transition-duration-300" : ""
|
|
235
|
-
), "aria-hidden": "true" })
|
|
236
|
-
]
|
|
237
|
-
}
|
|
238
|
-
);
|
|
239
|
-
});
|
|
240
|
-
var bag_button_default = BagButton;
|
|
241
|
-
var DesktopNav = ({ links, isMenuOpened, setIsMenuOpen }) => {
|
|
242
|
-
React4__namespace.useEffect(() => {
|
|
243
|
-
const preventScroll = (e) => {
|
|
244
|
-
e.preventDefault();
|
|
245
|
-
};
|
|
246
|
-
if (isMenuOpened) {
|
|
247
|
-
window.addEventListener("wheel", preventScroll, { passive: false });
|
|
248
|
-
window.addEventListener("touchmove", preventScroll, { passive: false });
|
|
249
|
-
window.addEventListener("keydown", preventScrollKeys, { passive: false });
|
|
250
|
-
} else {
|
|
251
|
-
window.removeEventListener("wheel", preventScroll);
|
|
252
|
-
window.removeEventListener("touchmove", preventScroll);
|
|
253
|
-
window.removeEventListener("keydown", preventScrollKeys);
|
|
254
|
-
}
|
|
255
|
-
return () => {
|
|
256
|
-
window.removeEventListener("wheel", preventScroll);
|
|
257
|
-
window.removeEventListener("touchmove", preventScroll);
|
|
258
|
-
window.removeEventListener("keydown", preventScrollKeys);
|
|
259
|
-
};
|
|
260
|
-
}, [isMenuOpened]);
|
|
261
|
-
const preventScrollKeys = (e) => {
|
|
262
|
-
if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", " "].includes(e.key)) {
|
|
263
|
-
e.preventDefault();
|
|
264
|
-
}
|
|
265
|
-
};
|
|
266
|
-
const handleMouseEnter = React4__namespace.useCallback(() => {
|
|
267
|
-
setIsMenuOpen(true);
|
|
268
|
-
}, [setIsMenuOpen]);
|
|
269
|
-
const handleMouseLeave = React4__namespace.useCallback(() => {
|
|
270
|
-
setIsMenuOpen(false);
|
|
271
|
-
}, [setIsMenuOpen]);
|
|
272
|
-
const handleContentMouseMove = () => {
|
|
273
|
-
setIsMenuOpen(false);
|
|
274
|
-
};
|
|
275
|
-
const menuHiddenClass = !isMenuOpened ? "invisible" : "";
|
|
276
|
-
return links.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(primitives.NavigationMenu, { children: /* @__PURE__ */ jsxRuntime.jsx(primitives.NavigationMenuList, { children: links.map((el, index) => /* @__PURE__ */ jsxRuntime.jsx(primitives.NavigationMenuItem, { className: "!m-0", children: el.isAIMenu ? /* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { href: el.href, style: ui.css(ui.cn(primitives.navigationMenuTriggerStyle(), " text-muted-1 bg-transparent")), children: el.title }) : el.title === "Cards" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
277
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
278
|
-
primitives.NavigationMenuTrigger,
|
|
279
|
-
{
|
|
280
|
-
className: "text-muted-1 bg-transparent",
|
|
281
|
-
onMouseEnter: handleMouseEnter,
|
|
282
|
-
onFocus: handleMouseEnter,
|
|
283
|
-
onMouseLeave: handleMouseLeave,
|
|
284
|
-
onBlur: handleMouseLeave,
|
|
285
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { href: el.href, children: el.title })
|
|
286
|
-
}
|
|
287
|
-
),
|
|
288
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
289
|
-
primitives.NavigationMenuContent,
|
|
290
|
-
{
|
|
291
|
-
className: ui.cn("fixed left-0 top-14 pt-6 w-screen h-full border-0 !backdrop-blur-3xl bg-transparent mt-0", menuHiddenClass),
|
|
292
|
-
onMouseEnter: handleMouseEnter,
|
|
293
|
-
onMouseLeave: handleMouseLeave,
|
|
294
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center items-start", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
295
|
-
"div",
|
|
296
|
-
{
|
|
297
|
-
className: "grid xl:grid-cols-3 w-full justify-center max-w-[750px]",
|
|
298
|
-
onMouseLeave: handleContentMouseMove,
|
|
299
|
-
children: GroupChildMenu({ childs: el.childMenu, isCards: true })
|
|
300
|
-
}
|
|
301
|
-
) })
|
|
302
|
-
}
|
|
303
|
-
)
|
|
304
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
305
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
306
|
-
primitives.NavigationMenuTrigger,
|
|
307
|
-
{
|
|
308
|
-
className: "text-muted-1 bg-transparent",
|
|
309
|
-
onMouseEnter: handleMouseEnter,
|
|
310
|
-
onFocus: handleMouseEnter,
|
|
311
|
-
onMouseLeave: handleMouseLeave,
|
|
312
|
-
onBlur: handleMouseLeave,
|
|
313
|
-
children: el.href && el.href !== "" ? /* @__PURE__ */ jsxRuntime.jsx(Link2__default.default, { href: el.href, children: el.title }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: el.title })
|
|
314
|
-
}
|
|
315
|
-
),
|
|
316
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
317
|
-
primitives.NavigationMenuContent,
|
|
318
|
-
{
|
|
319
|
-
className: ui.cn("fixed left-0 top-14 pt-6 w-screen h-full border-0 !backdrop-blur-3xl bg-transparent mt-0", menuHiddenClass),
|
|
320
|
-
onMouseEnter: handleMouseEnter,
|
|
321
|
-
onMouseLeave: handleMouseLeave,
|
|
322
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
323
|
-
"div",
|
|
324
|
-
{
|
|
325
|
-
className: "flex flex-row w-full justify-center",
|
|
326
|
-
onMouseLeave: handleContentMouseMove,
|
|
327
|
-
children: GroupChildMenu({ childs: el.childMenu })
|
|
328
|
-
}
|
|
329
|
-
)
|
|
330
|
-
}
|
|
331
|
-
)
|
|
332
|
-
] }) }, index)) }) }) : null;
|
|
333
|
-
};
|
|
334
|
-
var desktop_nav_menu_default = DesktopNav;
|
|
335
|
-
var ListItem = React4__namespace.forwardRef(({ className, title, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(primitives.NavigationMenuLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
336
|
-
ui.Box,
|
|
337
|
-
{
|
|
338
|
-
tag: "a",
|
|
339
|
-
ref,
|
|
340
|
-
className: ui.cn(
|
|
341
|
-
"block select-none space-y-1 rounded-md p-3 leading-none no-underline outline-none transition-colors hover:text-accent-foreground focus:bg-level-1 focus:text-accent-foreground text-muted-1 hover:text-primary hover:bg-transparent duration-1000 ease-in-out",
|
|
342
|
-
className
|
|
343
|
-
),
|
|
344
|
-
...props,
|
|
345
|
-
children: [
|
|
346
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium leading-none", children: title }),
|
|
347
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "line-clamp-3 text-sm leading-snug text-muted-1", children })
|
|
348
|
-
]
|
|
349
|
-
}
|
|
350
|
-
) }) }, title));
|
|
351
|
-
ListItem.displayName = "ListItem";
|
|
352
|
-
var GroupChildMenu = (params) => {
|
|
353
|
-
const { childs, isCards = false } = params;
|
|
354
|
-
if (!childs) {
|
|
355
|
-
return null;
|
|
356
|
-
}
|
|
357
|
-
const groupedChildMenus = childs.reduce((grouped, childLink) => {
|
|
358
|
-
if (childLink.groupName) {
|
|
359
|
-
grouped[childLink.groupName] = grouped[childLink.groupName] || [];
|
|
360
|
-
grouped[childLink.groupName].push(childLink);
|
|
361
|
-
}
|
|
362
|
-
return grouped;
|
|
363
|
-
}, {});
|
|
364
|
-
const getChildExtraClass = (index) => {
|
|
365
|
-
if (isCards && (index === 3 || index === 4)) {
|
|
366
|
-
return "xl:-mt-32";
|
|
367
|
-
}
|
|
368
|
-
return "";
|
|
369
|
-
};
|
|
370
|
-
return Object.entries(groupedChildMenus).map(([groupName, childLinks], index) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("py-4 px-4 ", getChildExtraClass(index)), children: [
|
|
371
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-muted-1", children: groupName }),
|
|
372
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "w-[200px] gap-3 md:w-[250px] lg:w-[250px]", children: childLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-start items-center", children: [
|
|
373
|
-
link.icon,
|
|
374
|
-
/* @__PURE__ */ jsxRuntime.jsx(ListItem, { title: link.title, href: link.href, className: "ml-[14px]", children: link.contents }, link.title)
|
|
375
|
-
] }, link.title)) })
|
|
376
|
-
] }, groupName));
|
|
377
|
-
};
|
|
378
22
|
var DesktopHeader = ({
|
|
379
23
|
links,
|
|
380
24
|
className = "",
|
|
@@ -383,18 +27,18 @@ var DesktopHeader = ({
|
|
|
383
27
|
children,
|
|
384
28
|
logoVariant = "full"
|
|
385
29
|
}) => {
|
|
386
|
-
const [isMenuOpened, setIsMenuOpen] =
|
|
30
|
+
const [isMenuOpened, setIsMenuOpen] = React__default.default.useState(false);
|
|
387
31
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { tag: "header", id: "DESKTOP_HEADER", className: ui.cn(
|
|
388
32
|
"bg-[rgba(0, 0, 0, 0.5)] !backdrop-blur-3xl fixed z-header top-0 left-0 right-0",
|
|
389
33
|
className,
|
|
390
34
|
isMenuOpened ? " h-full" : ""
|
|
391
35
|
), children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: "flex flex-row h-[80px] items-center justify-between mx-[24px] w-full max-w-screen", children: [
|
|
392
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
393
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
394
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full gap-4 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx(Logo__default.default, { size: logoVariant === "mark" ? "lg" : "md", href: "/", outerClx: "hidden lg:flex", variant: logoVariant }, "two"),
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx(Logo__default.default, { size: "sm", href: "/", outerClx: "hidden md:flex lg:hidden", variant: logoVariant }, "one"),
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full gap-4 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DesktopNav__default.default, { links, isMenuOpened, setIsMenuOpen }) }),
|
|
395
39
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center", children: [
|
|
396
|
-
!noCommerce && /* @__PURE__ */ jsxRuntime.jsx(
|
|
397
|
-
!noAuth && /* @__PURE__ */ jsxRuntime.jsx(
|
|
40
|
+
!noCommerce && /* @__PURE__ */ jsxRuntime.jsx(DesktopBagPopup__default.default, { popupClx: "w-[340px]", trigger: /* @__PURE__ */ jsxRuntime.jsx(BagButton__default.default, { className: "text-primary -mr-[3px] lg:min-w-0" }) }),
|
|
41
|
+
!noAuth && /* @__PURE__ */ jsxRuntime.jsx(AuthWidget__default.default, {}),
|
|
398
42
|
children
|
|
399
43
|
] })
|
|
400
44
|
] }) });
|