@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
|
@@ -4,295 +4,21 @@
|
|
|
4
4
|
var navigation = require('next/navigation');
|
|
5
5
|
var mobxReactLite = require('mobx-react-lite');
|
|
6
6
|
var commerce = require('@hanzo/commerce');
|
|
7
|
-
var
|
|
8
|
-
require('
|
|
7
|
+
var context_js = require('../../../commerce/ui/context.js');
|
|
8
|
+
var CommerceDrawer = require('./shell.js');
|
|
9
|
+
var CheckoutButton = require('../checkout-button.js');
|
|
10
|
+
var Micro = require('./micro.js');
|
|
9
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
-
var primitives = require('@hanzo/ui/primitives');
|
|
11
|
-
var ui = require('@hanzo/ui');
|
|
12
|
-
var mobx = require('mobx');
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return react.useContext(CommerceUIContext);
|
|
21
|
-
};
|
|
22
|
-
var CommerceDrawer = mobxReactLite.observer(({
|
|
23
|
-
children,
|
|
24
|
-
handleHandleClicked,
|
|
25
|
-
drawerClx = "",
|
|
26
|
-
...rest
|
|
27
|
-
}) => {
|
|
28
|
-
const drawer = useCommerceDrawer();
|
|
29
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
30
|
-
primitives.Drawer,
|
|
31
|
-
{
|
|
32
|
-
open: drawer.open,
|
|
33
|
-
onOpenChange: () => {
|
|
34
|
-
},
|
|
35
|
-
modal: drawer.modal,
|
|
36
|
-
snapPoints: drawer.points,
|
|
37
|
-
activeSnapPoint: drawer.activePoint,
|
|
38
|
-
setActiveSnapPoint: drawer.onActivePointChanged.bind(drawer),
|
|
39
|
-
fastDragSkipsToEnd: false,
|
|
40
|
-
dragHandleOnly: true,
|
|
41
|
-
handleHandleClicked,
|
|
42
|
-
extendHandleDragRegion: false,
|
|
43
|
-
...rest,
|
|
44
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
45
|
-
primitives.DrawerContent,
|
|
46
|
-
{
|
|
47
|
-
defaultHandle: false,
|
|
48
|
-
className: ui.cn(
|
|
49
|
-
"border-0",
|
|
50
|
-
drawer.isMobile ? "pt-5" : "pt-6",
|
|
51
|
-
"w-full h-full"
|
|
52
|
-
),
|
|
53
|
-
onOpenAutoFocus: (e) => {
|
|
54
|
-
e.preventDefault();
|
|
55
|
-
},
|
|
56
|
-
children: [
|
|
57
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
58
|
-
primitives.DrawerHandle,
|
|
59
|
-
{
|
|
60
|
-
className: ui.cn(
|
|
61
|
-
"absolute top-0 left-0 right-0 mx-auto z-10",
|
|
62
|
-
"flex justify-center items-start",
|
|
63
|
-
"border-t rounded-t-lg border-muted-3",
|
|
64
|
-
drawer.isMobile ? "h-5 touch-pan-y" : "h-6"
|
|
65
|
-
),
|
|
66
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { className: ui.cn(
|
|
67
|
-
// pseudo-handle
|
|
68
|
-
"rounded-[3px] bg-level-3",
|
|
69
|
-
drawer.isMobile ? "w-[155px] mt-[5px] h-1.5" : "w-[180px] mt-[3px] h-2.5 hover:bg-level-4",
|
|
70
|
-
!drawer.isMobile ? "cursor-grab active:cursor-grabbing" : ""
|
|
71
|
-
) })
|
|
72
|
-
}
|
|
73
|
-
),
|
|
74
|
-
children
|
|
75
|
-
]
|
|
76
|
-
}
|
|
77
|
-
)
|
|
78
|
-
}
|
|
79
|
-
);
|
|
80
|
-
});
|
|
81
|
-
var shell_default = CommerceDrawer;
|
|
82
|
-
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" }) });
|
|
83
|
-
var bag_icon_default = BagIcon;
|
|
84
|
-
var IconAndQuantity = mobxReactLite.observer(({
|
|
85
|
-
animateOnQuantityChange = false,
|
|
86
|
-
showArrow = true,
|
|
87
|
-
showQuantity = true,
|
|
88
|
-
clx = "",
|
|
89
|
-
iconClx = "",
|
|
90
|
-
digitClx = ""
|
|
91
|
-
}) => {
|
|
92
|
-
const cmmc = commerce.useCommerce();
|
|
93
|
-
const wiggleRef = react.useRef(mobx.observable.box("none"));
|
|
94
|
-
react.useEffect(() => (
|
|
95
|
-
// return IReactionDisposer
|
|
96
|
-
animateOnQuantityChange ? mobx.reaction(
|
|
97
|
-
() => cmmc.cartQuantity,
|
|
98
|
-
(curr, prev) => {
|
|
99
|
-
if (curr > prev) {
|
|
100
|
-
mobx.runInAction(() => {
|
|
101
|
-
wiggleRef.current.set("more");
|
|
102
|
-
});
|
|
103
|
-
} else {
|
|
104
|
-
mobx.runInAction(() => {
|
|
105
|
-
wiggleRef.current.set("less");
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
setTimeout(() => {
|
|
109
|
-
mobx.runInAction(() => {
|
|
110
|
-
wiggleRef.current.set("none");
|
|
111
|
-
});
|
|
112
|
-
}, 800);
|
|
113
|
-
}
|
|
114
|
-
) : void 0
|
|
115
|
-
), []);
|
|
116
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("flex items-center justify-center", clx), children: [
|
|
117
|
-
showQuantity && /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn(
|
|
118
|
-
"relative flex items-center justify-center mr-1",
|
|
119
|
-
wiggleRef.current.get() === "more" ? "item-added-to-cart-animation" : wiggleRef.current.get() === "less" ? "item-removed-from-cart-animation" : ""
|
|
120
|
-
), children: [
|
|
121
|
-
cmmc.cartQuantity > 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { className: ui.cn(
|
|
122
|
-
"z-above-content flex flex-col justify-center items-center",
|
|
123
|
-
"absolute left-0 right-0 top-0 bottom-0",
|
|
124
|
-
digitClx
|
|
125
|
-
), children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: {
|
|
126
|
-
/* color: 'white' tailwind bug? ,*/
|
|
127
|
-
fontSize: "11px",
|
|
128
|
-
position: "relative",
|
|
129
|
-
top: "1px"
|
|
130
|
-
}, children: cmmc.cartQuantity }) }),
|
|
131
|
-
/* @__PURE__ */ jsxRuntime.jsx(bag_icon_default, { width: "19", height: "24", className: ui.cn("relative -top-[3px] opacity-70", iconClx), "aria-hidden": "true" })
|
|
132
|
-
] }),
|
|
133
|
-
showArrow && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "17px" }, children: "\u203A" })
|
|
134
|
-
] });
|
|
135
|
-
});
|
|
136
|
-
var CheckoutButton = ({
|
|
137
|
-
handleCheckout,
|
|
138
|
-
variant = "primary",
|
|
139
|
-
rounded = "lg",
|
|
140
|
-
className,
|
|
141
|
-
showQuantity = true,
|
|
142
|
-
showArrow = true,
|
|
143
|
-
animateOnQuantityChange = true,
|
|
144
|
-
centerText = true,
|
|
145
|
-
children,
|
|
146
|
-
...rest
|
|
147
|
-
}) => {
|
|
148
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
149
|
-
primitives.Button,
|
|
150
|
-
{
|
|
151
|
-
...rest,
|
|
152
|
-
onClick: handleCheckout,
|
|
153
|
-
variant,
|
|
154
|
-
className: ui.cn(`rounded-${rounded}`, ui.cn(
|
|
155
|
-
"flex justify-between items-stretch group",
|
|
156
|
-
showQuantity ? centerText ? "px-1.5" : "pl-2.5 pr-1.5" : "",
|
|
157
|
-
className
|
|
158
|
-
)),
|
|
159
|
-
children: [
|
|
160
|
-
centerText && // must scale this one too, as it effects layout
|
|
161
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
162
|
-
IconAndQuantity,
|
|
163
|
-
{
|
|
164
|
-
showArrow,
|
|
165
|
-
showQuantity,
|
|
166
|
-
clx: "invisible group-hover:scale-105 transition-scale transition-duration-300"
|
|
167
|
-
}
|
|
168
|
-
),
|
|
169
|
-
children ?? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center items-center", children: "Checkout" }),
|
|
170
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
171
|
-
IconAndQuantity,
|
|
172
|
-
{
|
|
173
|
-
clx: "group-hover:scale-105 transition-scale transition-duration-300",
|
|
174
|
-
animateOnQuantityChange,
|
|
175
|
-
showArrow,
|
|
176
|
-
showQuantity,
|
|
177
|
-
iconClx: "fill-background",
|
|
178
|
-
digitClx: "text-foreground group-hover:opacity-80 leading-none font-bold font-sans"
|
|
179
|
-
}
|
|
180
|
-
)
|
|
181
|
-
]
|
|
182
|
-
}
|
|
183
|
-
);
|
|
184
|
-
};
|
|
185
|
-
var checkout_button_default = CheckoutButton;
|
|
186
|
-
var CN = {
|
|
187
|
-
// h: mind padding!
|
|
188
|
-
mobile: { w: 36, h: 32 },
|
|
189
|
-
sm: { w: 60, h: 34 },
|
|
190
|
-
desktop: { w: 60, h: 32 }
|
|
191
|
-
};
|
|
192
|
-
var Info = ({
|
|
193
|
-
item,
|
|
194
|
-
clx = ""
|
|
195
|
-
}) => {
|
|
196
|
-
const cmmc = commerce.useCommerce();
|
|
197
|
-
const family = cmmc.getFamilyById(item.familyId);
|
|
198
|
-
let topLine = family.title;
|
|
199
|
-
if (item.sku.startsWith("LXM-AG") || item.sku.startsWith("LXM-AU")) {
|
|
200
|
-
topLine = family.parentTitle + ", " + family.title;
|
|
201
|
-
}
|
|
202
|
-
const optionLabel = item.optionLabelShort ?? item.optionLabel;
|
|
203
|
-
const priceStr = commerce.formatCurrencyValue(item.price);
|
|
204
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
205
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("sm:hidden flex flex-col !text-muted items-stretch whitespace-nowrap text-ellipsis ", clx), children: [
|
|
206
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-left text-xs", children: topLine }),
|
|
207
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between text-xxs", children: [
|
|
208
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: optionLabel }),
|
|
209
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-2.5", children: priceStr })
|
|
210
|
-
] })
|
|
211
|
-
] }),
|
|
212
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn("hidden sm:flex !text-muted flex-col items-stretch whitespace-nowrap text-ellipsis text-xs", clx), children: [
|
|
213
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-left", children: topLine }),
|
|
214
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between", children: [
|
|
215
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: optionLabel }),
|
|
216
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-2.5", children: priceStr })
|
|
217
|
-
] })
|
|
218
|
-
] })
|
|
219
|
-
] });
|
|
220
|
-
};
|
|
221
|
-
var PROMPT_COMMON_CLX = "block absolute top-0 left-0 bg-transparent duration-400 transition-opacity";
|
|
222
|
-
var Micro = mobxReactLite.observer(({
|
|
223
|
-
clx = "",
|
|
224
|
-
handleCheckout,
|
|
225
|
-
handleItemClicked
|
|
226
|
-
}) => {
|
|
227
|
-
const drawer = useCommerceDrawer();
|
|
228
|
-
const cmmc = commerce.useCommerce();
|
|
229
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn(
|
|
230
|
-
drawer.showRecent ? "grid grid-cols-2" : "flex justify-center items-center ",
|
|
231
|
-
drawer.showRecent ? drawer.isMobile ? "-mt-3" : "-mt-3" : "",
|
|
232
|
-
"gap-2 md:gap-3 relative",
|
|
233
|
-
clx
|
|
234
|
-
), children: [
|
|
235
|
-
drawer.showRecent && /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: "flex flex-col items-stretch " + (drawer.isMobile ? "justify-start" : "group"), children: [
|
|
236
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { tag: "p", className: "relative text-muted text-xxs md:text-xs leading-none pl-1 self-start " + (drawer.isMobile ? "top-[3px]" : "top-[1px]"), children: [
|
|
237
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "invisible", children: "scrictly for layout" }),
|
|
238
|
-
drawer.isMobile ? /* @__PURE__ */ jsxRuntime.jsx(ui.Box, { tag: "span", className: PROMPT_COMMON_CLX, children: "tap for options:" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
239
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Box, { tag: "span", className: PROMPT_COMMON_CLX + " group-hover:opacity-0", children: "recent item:" }),
|
|
240
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Box, { tag: "span", className: PROMPT_COMMON_CLX + " opacity-0 group-hover:opacity-100", children: "view options:" })
|
|
241
|
-
] })
|
|
242
|
-
] }),
|
|
243
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
244
|
-
primitives.Button,
|
|
245
|
-
{
|
|
246
|
-
variant: "ghost",
|
|
247
|
-
className: ui.cn(`rounded-${drawer.isMobile ? "md" : "lg"}`, ui.cn(
|
|
248
|
-
"box-content",
|
|
249
|
-
"flex flex-row justify-between items-center gap-1",
|
|
250
|
-
"-ml-1.5",
|
|
251
|
-
"overflow-hidden ",
|
|
252
|
-
"px-1 md:px-2 py-[2px]",
|
|
253
|
-
"border border-transparent group-hover:border-muted-3",
|
|
254
|
-
"group-hover:!bg-transparent",
|
|
255
|
-
"!min-w-0"
|
|
256
|
-
)),
|
|
257
|
-
size: drawer.isMobile ? "sm" : "default",
|
|
258
|
-
onClick: handleItemClicked,
|
|
259
|
-
children: [
|
|
260
|
-
cmmc.recentItem?.item.img && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
261
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.MediaStack, { media: { img: cmmc.recentItem.item.img }, constrainTo: CN.mobile, className: "sm:hidden grow-0 shrink-0" }),
|
|
262
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.MediaStack, { media: { img: cmmc.recentItem.item.img }, constrainTo: CN.sm, className: "hidden sm:block md:hidden grow-0 shrink-0" }),
|
|
263
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.MediaStack, { media: { img: cmmc.recentItem.item.img }, constrainTo: CN.desktop, className: "hidden md:block grow-0 shrink-0" })
|
|
264
|
-
] }),
|
|
265
|
-
cmmc.recentItem && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grow w-full", children: /* @__PURE__ */ jsxRuntime.jsx(Info, { item: cmmc.recentItem.item, clx: "w-full" }) })
|
|
266
|
-
]
|
|
267
|
-
}
|
|
268
|
-
)
|
|
269
|
-
] }),
|
|
270
|
-
drawer.showCheckout && /* @__PURE__ */ jsxRuntime.jsxs(ui.Box, { className: ui.cn(
|
|
271
|
-
"flex flex-col w-full",
|
|
272
|
-
drawer.showRecent ? "items-stretch" : "items-center",
|
|
273
|
-
drawer.isMobile ? "justify-start" : "justify-center"
|
|
274
|
-
), children: [
|
|
275
|
-
drawer.showRecent && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "invisible text-muted text-xxs md:text-xs leading-none pl-1 self-start", children: "for layout" }),
|
|
276
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
277
|
-
checkout_button_default,
|
|
278
|
-
{
|
|
279
|
-
handleCheckout,
|
|
280
|
-
variant: "primary",
|
|
281
|
-
size: drawer.isMobile ? "sm" : "lg",
|
|
282
|
-
className: ui.cn(`rounded-${drawer.isMobile ? "md" : "lg"}`, ui.cn(
|
|
283
|
-
drawer.isMobile ? drawer.showRecent ? "pl-3.5 pr-2.5" : "min-w-[320px]" : drawer.showRecent ? "" : "w-[320px]",
|
|
284
|
-
"text-sm font-semibold"
|
|
285
|
-
)),
|
|
286
|
-
centerText: drawer.isMobile ? !drawer.showRecent : true
|
|
287
|
-
}
|
|
288
|
-
)
|
|
289
|
-
] })
|
|
290
|
-
] });
|
|
291
|
-
});
|
|
292
|
-
var micro_default = Micro;
|
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
var CommerceDrawer__default = /*#__PURE__*/_interopDefault(CommerceDrawer);
|
|
16
|
+
var CheckoutButton__default = /*#__PURE__*/_interopDefault(CheckoutButton);
|
|
17
|
+
var Micro__default = /*#__PURE__*/_interopDefault(Micro);
|
|
18
|
+
|
|
293
19
|
var CommerceUIComponent = mobxReactLite.observer(() => {
|
|
294
|
-
const buy = useSelectAndBuy();
|
|
295
|
-
const drawer = useCommerceDrawer();
|
|
20
|
+
const buy = context_js.useSelectAndBuy();
|
|
21
|
+
const drawer = context_js.useCommerceDrawer();
|
|
296
22
|
const router = navigation.useRouter();
|
|
297
23
|
const handleCheckout = () => {
|
|
298
24
|
router.push("/checkout");
|
|
@@ -315,7 +41,7 @@ var CommerceUIComponent = mobxReactLite.observer(() => {
|
|
|
315
41
|
return false;
|
|
316
42
|
};
|
|
317
43
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
318
|
-
|
|
44
|
+
CommerceDrawer__default.default,
|
|
319
45
|
{
|
|
320
46
|
handleHandleClicked,
|
|
321
47
|
handleCloseGesture,
|
|
@@ -333,7 +59,7 @@ var CommerceUIComponent = mobxReactLite.observer(() => {
|
|
|
333
59
|
{
|
|
334
60
|
skuPath: buy.currentSkuPath,
|
|
335
61
|
checkoutButton: /* @__PURE__ */ jsxRuntime.jsx(
|
|
336
|
-
|
|
62
|
+
CheckoutButton__default.default,
|
|
337
63
|
{
|
|
338
64
|
handleCheckout,
|
|
339
65
|
className: "w-full min-w-[160px] sm:max-w-[320px]"
|
|
@@ -346,7 +72,7 @@ var CommerceUIComponent = mobxReactLite.observer(() => {
|
|
|
346
72
|
}
|
|
347
73
|
) }),
|
|
348
74
|
drawer.state === "micro" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
349
|
-
|
|
75
|
+
Micro__default.default,
|
|
350
76
|
{
|
|
351
77
|
handleCheckout,
|
|
352
78
|
handleItemClicked,
|
|
@@ -1,293 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useRouter } from 'next/navigation';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import '
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import { observable, reaction, runInAction } from 'mobx';
|
|
3
|
+
import { observer } from 'mobx-react-lite';
|
|
4
|
+
import { CarouselBuyCard } from '@hanzo/commerce';
|
|
5
|
+
import { useSelectAndBuy, useCommerceDrawer } from '../../../commerce/ui/context.js';
|
|
6
|
+
import CommerceDrawer from './shell.js';
|
|
7
|
+
import CheckoutButton from '../checkout-button.js';
|
|
8
|
+
import Micro from './micro.js';
|
|
9
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
11
10
|
|
|
12
|
-
enableStaticRendering(typeof window === "undefined");
|
|
13
|
-
var CommerceUIContext = createContext(void 0);
|
|
14
|
-
var useCommerceDrawer = () => {
|
|
15
|
-
return useContext(CommerceUIContext);
|
|
16
|
-
};
|
|
17
|
-
var useSelectAndBuy = () => {
|
|
18
|
-
return useContext(CommerceUIContext);
|
|
19
|
-
};
|
|
20
|
-
var CommerceDrawer = observer(({
|
|
21
|
-
children,
|
|
22
|
-
handleHandleClicked,
|
|
23
|
-
drawerClx = "",
|
|
24
|
-
...rest
|
|
25
|
-
}) => {
|
|
26
|
-
const drawer = useCommerceDrawer();
|
|
27
|
-
return /* @__PURE__ */ jsx(
|
|
28
|
-
Drawer,
|
|
29
|
-
{
|
|
30
|
-
open: drawer.open,
|
|
31
|
-
onOpenChange: () => {
|
|
32
|
-
},
|
|
33
|
-
modal: drawer.modal,
|
|
34
|
-
snapPoints: drawer.points,
|
|
35
|
-
activeSnapPoint: drawer.activePoint,
|
|
36
|
-
setActiveSnapPoint: drawer.onActivePointChanged.bind(drawer),
|
|
37
|
-
fastDragSkipsToEnd: false,
|
|
38
|
-
dragHandleOnly: true,
|
|
39
|
-
handleHandleClicked,
|
|
40
|
-
extendHandleDragRegion: false,
|
|
41
|
-
...rest,
|
|
42
|
-
children: /* @__PURE__ */ jsxs(
|
|
43
|
-
DrawerContent,
|
|
44
|
-
{
|
|
45
|
-
defaultHandle: false,
|
|
46
|
-
className: cn(
|
|
47
|
-
"border-0",
|
|
48
|
-
drawer.isMobile ? "pt-5" : "pt-6",
|
|
49
|
-
"w-full h-full"
|
|
50
|
-
),
|
|
51
|
-
onOpenAutoFocus: (e) => {
|
|
52
|
-
e.preventDefault();
|
|
53
|
-
},
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ jsx(
|
|
56
|
-
DrawerHandle,
|
|
57
|
-
{
|
|
58
|
-
className: cn(
|
|
59
|
-
"absolute top-0 left-0 right-0 mx-auto z-10",
|
|
60
|
-
"flex justify-center items-start",
|
|
61
|
-
"border-t rounded-t-lg border-muted-3",
|
|
62
|
-
drawer.isMobile ? "h-5 touch-pan-y" : "h-6"
|
|
63
|
-
),
|
|
64
|
-
children: /* @__PURE__ */ jsx(Box, { className: cn(
|
|
65
|
-
// pseudo-handle
|
|
66
|
-
"rounded-[3px] bg-level-3",
|
|
67
|
-
drawer.isMobile ? "w-[155px] mt-[5px] h-1.5" : "w-[180px] mt-[3px] h-2.5 hover:bg-level-4",
|
|
68
|
-
!drawer.isMobile ? "cursor-grab active:cursor-grabbing" : ""
|
|
69
|
-
) })
|
|
70
|
-
}
|
|
71
|
-
),
|
|
72
|
-
children
|
|
73
|
-
]
|
|
74
|
-
}
|
|
75
|
-
)
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
});
|
|
79
|
-
var shell_default = CommerceDrawer;
|
|
80
|
-
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" }) });
|
|
81
|
-
var bag_icon_default = BagIcon;
|
|
82
|
-
var IconAndQuantity = observer(({
|
|
83
|
-
animateOnQuantityChange = false,
|
|
84
|
-
showArrow = true,
|
|
85
|
-
showQuantity = true,
|
|
86
|
-
clx = "",
|
|
87
|
-
iconClx = "",
|
|
88
|
-
digitClx = ""
|
|
89
|
-
}) => {
|
|
90
|
-
const cmmc = useCommerce();
|
|
91
|
-
const wiggleRef = useRef(observable.box("none"));
|
|
92
|
-
useEffect(() => (
|
|
93
|
-
// return IReactionDisposer
|
|
94
|
-
animateOnQuantityChange ? reaction(
|
|
95
|
-
() => cmmc.cartQuantity,
|
|
96
|
-
(curr, prev) => {
|
|
97
|
-
if (curr > prev) {
|
|
98
|
-
runInAction(() => {
|
|
99
|
-
wiggleRef.current.set("more");
|
|
100
|
-
});
|
|
101
|
-
} else {
|
|
102
|
-
runInAction(() => {
|
|
103
|
-
wiggleRef.current.set("less");
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
setTimeout(() => {
|
|
107
|
-
runInAction(() => {
|
|
108
|
-
wiggleRef.current.set("none");
|
|
109
|
-
});
|
|
110
|
-
}, 800);
|
|
111
|
-
}
|
|
112
|
-
) : void 0
|
|
113
|
-
), []);
|
|
114
|
-
return /* @__PURE__ */ jsxs(Box, { className: cn("flex items-center justify-center", clx), children: [
|
|
115
|
-
showQuantity && /* @__PURE__ */ jsxs(Box, { className: cn(
|
|
116
|
-
"relative flex items-center justify-center mr-1",
|
|
117
|
-
wiggleRef.current.get() === "more" ? "item-added-to-cart-animation" : wiggleRef.current.get() === "less" ? "item-removed-from-cart-animation" : ""
|
|
118
|
-
), children: [
|
|
119
|
-
cmmc.cartQuantity > 0 && /* @__PURE__ */ jsx(Box, { className: cn(
|
|
120
|
-
"z-above-content flex flex-col justify-center items-center",
|
|
121
|
-
"absolute left-0 right-0 top-0 bottom-0",
|
|
122
|
-
digitClx
|
|
123
|
-
), children: /* @__PURE__ */ jsx("div", { style: {
|
|
124
|
-
/* color: 'white' tailwind bug? ,*/
|
|
125
|
-
fontSize: "11px",
|
|
126
|
-
position: "relative",
|
|
127
|
-
top: "1px"
|
|
128
|
-
}, children: cmmc.cartQuantity }) }),
|
|
129
|
-
/* @__PURE__ */ jsx(bag_icon_default, { width: "19", height: "24", className: cn("relative -top-[3px] opacity-70", iconClx), "aria-hidden": "true" })
|
|
130
|
-
] }),
|
|
131
|
-
showArrow && /* @__PURE__ */ jsx("span", { style: { fontSize: "17px" }, children: "\u203A" })
|
|
132
|
-
] });
|
|
133
|
-
});
|
|
134
|
-
var CheckoutButton = ({
|
|
135
|
-
handleCheckout,
|
|
136
|
-
variant = "primary",
|
|
137
|
-
rounded = "lg",
|
|
138
|
-
className,
|
|
139
|
-
showQuantity = true,
|
|
140
|
-
showArrow = true,
|
|
141
|
-
animateOnQuantityChange = true,
|
|
142
|
-
centerText = true,
|
|
143
|
-
children,
|
|
144
|
-
...rest
|
|
145
|
-
}) => {
|
|
146
|
-
return /* @__PURE__ */ jsxs(
|
|
147
|
-
Button,
|
|
148
|
-
{
|
|
149
|
-
...rest,
|
|
150
|
-
onClick: handleCheckout,
|
|
151
|
-
variant,
|
|
152
|
-
className: cn(`rounded-${rounded}`, cn(
|
|
153
|
-
"flex justify-between items-stretch group",
|
|
154
|
-
showQuantity ? centerText ? "px-1.5" : "pl-2.5 pr-1.5" : "",
|
|
155
|
-
className
|
|
156
|
-
)),
|
|
157
|
-
children: [
|
|
158
|
-
centerText && // must scale this one too, as it effects layout
|
|
159
|
-
/* @__PURE__ */ jsx(
|
|
160
|
-
IconAndQuantity,
|
|
161
|
-
{
|
|
162
|
-
showArrow,
|
|
163
|
-
showQuantity,
|
|
164
|
-
clx: "invisible group-hover:scale-105 transition-scale transition-duration-300"
|
|
165
|
-
}
|
|
166
|
-
),
|
|
167
|
-
children ?? /* @__PURE__ */ jsx("div", { className: "flex justify-center items-center", children: "Checkout" }),
|
|
168
|
-
/* @__PURE__ */ jsx(
|
|
169
|
-
IconAndQuantity,
|
|
170
|
-
{
|
|
171
|
-
clx: "group-hover:scale-105 transition-scale transition-duration-300",
|
|
172
|
-
animateOnQuantityChange,
|
|
173
|
-
showArrow,
|
|
174
|
-
showQuantity,
|
|
175
|
-
iconClx: "fill-background",
|
|
176
|
-
digitClx: "text-foreground group-hover:opacity-80 leading-none font-bold font-sans"
|
|
177
|
-
}
|
|
178
|
-
)
|
|
179
|
-
]
|
|
180
|
-
}
|
|
181
|
-
);
|
|
182
|
-
};
|
|
183
|
-
var checkout_button_default = CheckoutButton;
|
|
184
|
-
var CN = {
|
|
185
|
-
// h: mind padding!
|
|
186
|
-
mobile: { w: 36, h: 32 },
|
|
187
|
-
sm: { w: 60, h: 34 },
|
|
188
|
-
desktop: { w: 60, h: 32 }
|
|
189
|
-
};
|
|
190
|
-
var Info = ({
|
|
191
|
-
item,
|
|
192
|
-
clx = ""
|
|
193
|
-
}) => {
|
|
194
|
-
const cmmc = useCommerce();
|
|
195
|
-
const family = cmmc.getFamilyById(item.familyId);
|
|
196
|
-
let topLine = family.title;
|
|
197
|
-
if (item.sku.startsWith("LXM-AG") || item.sku.startsWith("LXM-AU")) {
|
|
198
|
-
topLine = family.parentTitle + ", " + family.title;
|
|
199
|
-
}
|
|
200
|
-
const optionLabel = item.optionLabelShort ?? item.optionLabel;
|
|
201
|
-
const priceStr = formatCurrencyValue(item.price);
|
|
202
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
203
|
-
/* @__PURE__ */ jsxs(Box, { className: cn("sm:hidden flex flex-col !text-muted items-stretch whitespace-nowrap text-ellipsis ", clx), children: [
|
|
204
|
-
/* @__PURE__ */ jsx("p", { className: "text-left text-xs", children: topLine }),
|
|
205
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-between text-xxs", children: [
|
|
206
|
-
/* @__PURE__ */ jsx("div", { children: optionLabel }),
|
|
207
|
-
/* @__PURE__ */ jsx("div", { className: "pl-2.5", children: priceStr })
|
|
208
|
-
] })
|
|
209
|
-
] }),
|
|
210
|
-
/* @__PURE__ */ jsxs(Box, { className: cn("hidden sm:flex !text-muted flex-col items-stretch whitespace-nowrap text-ellipsis text-xs", clx), children: [
|
|
211
|
-
/* @__PURE__ */ jsx("p", { className: "text-left", children: topLine }),
|
|
212
|
-
/* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
|
|
213
|
-
/* @__PURE__ */ jsx("div", { children: optionLabel }),
|
|
214
|
-
/* @__PURE__ */ jsx("div", { className: "pl-2.5", children: priceStr })
|
|
215
|
-
] })
|
|
216
|
-
] })
|
|
217
|
-
] });
|
|
218
|
-
};
|
|
219
|
-
var PROMPT_COMMON_CLX = "block absolute top-0 left-0 bg-transparent duration-400 transition-opacity";
|
|
220
|
-
var Micro = observer(({
|
|
221
|
-
clx = "",
|
|
222
|
-
handleCheckout,
|
|
223
|
-
handleItemClicked
|
|
224
|
-
}) => {
|
|
225
|
-
const drawer = useCommerceDrawer();
|
|
226
|
-
const cmmc = useCommerce();
|
|
227
|
-
return /* @__PURE__ */ jsxs(Box, { className: cn(
|
|
228
|
-
drawer.showRecent ? "grid grid-cols-2" : "flex justify-center items-center ",
|
|
229
|
-
drawer.showRecent ? drawer.isMobile ? "-mt-3" : "-mt-3" : "",
|
|
230
|
-
"gap-2 md:gap-3 relative",
|
|
231
|
-
clx
|
|
232
|
-
), children: [
|
|
233
|
-
drawer.showRecent && /* @__PURE__ */ jsxs(Box, { className: "flex flex-col items-stretch " + (drawer.isMobile ? "justify-start" : "group"), children: [
|
|
234
|
-
/* @__PURE__ */ jsxs(Box, { tag: "p", className: "relative text-muted text-xxs md:text-xs leading-none pl-1 self-start " + (drawer.isMobile ? "top-[3px]" : "top-[1px]"), children: [
|
|
235
|
-
/* @__PURE__ */ jsx("span", { className: "invisible", children: "scrictly for layout" }),
|
|
236
|
-
drawer.isMobile ? /* @__PURE__ */ jsx(Box, { tag: "span", className: PROMPT_COMMON_CLX, children: "tap for options:" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
237
|
-
/* @__PURE__ */ jsx(Box, { tag: "span", className: PROMPT_COMMON_CLX + " group-hover:opacity-0", children: "recent item:" }),
|
|
238
|
-
/* @__PURE__ */ jsx(Box, { tag: "span", className: PROMPT_COMMON_CLX + " opacity-0 group-hover:opacity-100", children: "view options:" })
|
|
239
|
-
] })
|
|
240
|
-
] }),
|
|
241
|
-
/* @__PURE__ */ jsxs(
|
|
242
|
-
Button,
|
|
243
|
-
{
|
|
244
|
-
variant: "ghost",
|
|
245
|
-
className: cn(`rounded-${drawer.isMobile ? "md" : "lg"}`, cn(
|
|
246
|
-
"box-content",
|
|
247
|
-
"flex flex-row justify-between items-center gap-1",
|
|
248
|
-
"-ml-1.5",
|
|
249
|
-
"overflow-hidden ",
|
|
250
|
-
"px-1 md:px-2 py-[2px]",
|
|
251
|
-
"border border-transparent group-hover:border-muted-3",
|
|
252
|
-
"group-hover:!bg-transparent",
|
|
253
|
-
"!min-w-0"
|
|
254
|
-
)),
|
|
255
|
-
size: drawer.isMobile ? "sm" : "default",
|
|
256
|
-
onClick: handleItemClicked,
|
|
257
|
-
children: [
|
|
258
|
-
cmmc.recentItem?.item.img && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
259
|
-
/* @__PURE__ */ jsx(MediaStack, { media: { img: cmmc.recentItem.item.img }, constrainTo: CN.mobile, className: "sm:hidden grow-0 shrink-0" }),
|
|
260
|
-
/* @__PURE__ */ jsx(MediaStack, { media: { img: cmmc.recentItem.item.img }, constrainTo: CN.sm, className: "hidden sm:block md:hidden grow-0 shrink-0" }),
|
|
261
|
-
/* @__PURE__ */ jsx(MediaStack, { media: { img: cmmc.recentItem.item.img }, constrainTo: CN.desktop, className: "hidden md:block grow-0 shrink-0" })
|
|
262
|
-
] }),
|
|
263
|
-
cmmc.recentItem && /* @__PURE__ */ jsx("div", { className: "grow w-full", children: /* @__PURE__ */ jsx(Info, { item: cmmc.recentItem.item, clx: "w-full" }) })
|
|
264
|
-
]
|
|
265
|
-
}
|
|
266
|
-
)
|
|
267
|
-
] }),
|
|
268
|
-
drawer.showCheckout && /* @__PURE__ */ jsxs(Box, { className: cn(
|
|
269
|
-
"flex flex-col w-full",
|
|
270
|
-
drawer.showRecent ? "items-stretch" : "items-center",
|
|
271
|
-
drawer.isMobile ? "justify-start" : "justify-center"
|
|
272
|
-
), children: [
|
|
273
|
-
drawer.showRecent && /* @__PURE__ */ jsx("p", { className: "invisible text-muted text-xxs md:text-xs leading-none pl-1 self-start", children: "for layout" }),
|
|
274
|
-
/* @__PURE__ */ jsx(
|
|
275
|
-
checkout_button_default,
|
|
276
|
-
{
|
|
277
|
-
handleCheckout,
|
|
278
|
-
variant: "primary",
|
|
279
|
-
size: drawer.isMobile ? "sm" : "lg",
|
|
280
|
-
className: cn(`rounded-${drawer.isMobile ? "md" : "lg"}`, cn(
|
|
281
|
-
drawer.isMobile ? drawer.showRecent ? "pl-3.5 pr-2.5" : "min-w-[320px]" : drawer.showRecent ? "" : "w-[320px]",
|
|
282
|
-
"text-sm font-semibold"
|
|
283
|
-
)),
|
|
284
|
-
centerText: drawer.isMobile ? !drawer.showRecent : true
|
|
285
|
-
}
|
|
286
|
-
)
|
|
287
|
-
] })
|
|
288
|
-
] });
|
|
289
|
-
});
|
|
290
|
-
var micro_default = Micro;
|
|
291
11
|
var CommerceUIComponent = observer(() => {
|
|
292
12
|
const buy = useSelectAndBuy();
|
|
293
13
|
const drawer = useCommerceDrawer();
|
|
@@ -313,7 +33,7 @@ var CommerceUIComponent = observer(() => {
|
|
|
313
33
|
return false;
|
|
314
34
|
};
|
|
315
35
|
return /* @__PURE__ */ jsxs(
|
|
316
|
-
|
|
36
|
+
CommerceDrawer,
|
|
317
37
|
{
|
|
318
38
|
handleHandleClicked,
|
|
319
39
|
handleCloseGesture,
|
|
@@ -331,7 +51,7 @@ var CommerceUIComponent = observer(() => {
|
|
|
331
51
|
{
|
|
332
52
|
skuPath: buy.currentSkuPath,
|
|
333
53
|
checkoutButton: /* @__PURE__ */ jsx(
|
|
334
|
-
|
|
54
|
+
CheckoutButton,
|
|
335
55
|
{
|
|
336
56
|
handleCheckout,
|
|
337
57
|
className: "w-full min-w-[160px] sm:max-w-[320px]"
|
|
@@ -344,7 +64,7 @@ var CommerceUIComponent = observer(() => {
|
|
|
344
64
|
}
|
|
345
65
|
) }),
|
|
346
66
|
drawer.state === "micro" && /* @__PURE__ */ jsx(
|
|
347
|
-
|
|
67
|
+
Micro,
|
|
348
68
|
{
|
|
349
69
|
handleCheckout,
|
|
350
70
|
handleItemClicked,
|