@pisell/private-materials 6.12.298 → 6.12.299
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +1 -1
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +2 -2
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +2 -2
- package/es/components/HDLKiosk/index.less +1 -0
- package/es/components/HDLKiosk/slices/customization/NextBowlModal/NextBowlModal.js +6 -6
- package/es/components/HDLKiosk/slices/customization/NextBowlModal/next-bowl.css +0 -52
- package/es/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.js +11 -21
- package/es/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.less +11 -27
- package/es/components/HDLKiosk/slices/customization/Screen/index.js +16 -11
- package/es/components/HDLKiosk/slices/customization/Screen/index.less +49 -0
- package/es/components/HDLKiosk/slices/customization/TooLightDialog/index.js +2 -1
- package/es/components/HDLKiosk/slices/customization/TooLightDialog/index.less +0 -22
- package/es/components/HDLKiosk/slices/customization/dialogButtons.less +73 -0
- package/es/components/HDLKiosk/ui/entry/Screen/index.js +21 -1
- package/es/components/HDLKiosk/ui/entry/Screen/index.less +47 -1
- package/es/components/HDLKiosk/ui/entry/Screen/useEntryScreenLayout.js +3 -1
- package/es/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.js +0 -1
- package/es/components/bigSale/components/ProductList/index.js +0 -1
- package/es/components/bigSale/components/TimeBar/index.js +0 -1
- package/es/components/bigSale/dialog.js +0 -1
- package/es/components/bigSale/hooks/useBigSaleContext.js +0 -1
- package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +0 -1
- package/es/components/bigSale/index.js +0 -1
- package/es/components/bigSale/templates/HDLKiosk/index.js +9 -16
- package/es/components/bigSale/templates/Kiosk/index.js +0 -1
- package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +0 -1
- package/es/index.js +0 -2
- package/es/plus/multiCurrencySettlement/index.js +1 -1
- package/es/plus/pisellReservation/data/bookingToReservationTables.js +1 -1
- package/es/plus/pisellReservation/floorMap/floorPlanApi.js +1 -1
- package/es/plus/pisellReservation/floorMap/reservationMock.js +1 -1
- package/es/plus/saasDevice/devicePasscodes/model.js +4 -4
- package/es/plus/saleDetail/Base.js +0 -1
- package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +0 -1
- package/es/plus/saleDetail/components/DetailActions/PrintAction.js +0 -1
- package/es/plus/saleDetail/components/DetailActions/index.js +0 -1
- package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +0 -1
- package/es/plus/saleDetail/index.js +0 -1
- package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +0 -1
- package/es/plus/saleDetail/tmpl/B/index.js +0 -1
- package/es/plus/salesSdk/utils/addProductWithFlowDebounced.js +1 -1
- package/es/plus/salesSdk/utils/bookingDate.js +1 -1
- package/es/plus/salesSdk/utils/enrichCartLineHolderDisplay.js +1 -1
- package/es/plus/walletPassGallery/components/timelineSection/index.js +4 -4
- package/es/private-materials/lowcode/authmodal/meta.d.ts +1 -0
- package/es/pro/Login2.0/AuthModal.d.ts +1 -1
- package/es/pro/Login2.0/index.d.ts +2 -2
- package/es/pro/Login2.0/shared/types.d.ts +1 -1
- package/lib/components/HDLKiosk/index.less +1 -0
- package/lib/components/HDLKiosk/slices/customization/NextBowlModal/NextBowlModal.js +6 -6
- package/lib/components/HDLKiosk/slices/customization/NextBowlModal/next-bowl.css +0 -52
- package/lib/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.js +11 -21
- package/lib/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.less +11 -27
- package/lib/components/HDLKiosk/slices/customization/Screen/index.js +16 -11
- package/lib/components/HDLKiosk/slices/customization/Screen/index.less +49 -0
- package/lib/components/HDLKiosk/slices/customization/TooLightDialog/index.js +2 -1
- package/lib/components/HDLKiosk/slices/customization/TooLightDialog/index.less +0 -22
- package/lib/components/HDLKiosk/slices/customization/dialogButtons.less +73 -0
- package/lib/components/HDLKiosk/ui/entry/Screen/index.js +21 -1
- package/lib/components/HDLKiosk/ui/entry/Screen/index.less +47 -1
- package/lib/components/HDLKiosk/ui/entry/Screen/useEntryScreenLayout.js +3 -1
- package/lib/components/bigSale/templates/HDLKiosk/index.js +9 -16
- package/package.json +4 -4
- package/es/components/bigSale/templates/HDLKiosk/hooks/useHDLKioskEntryPreparationToast.js +0 -20
- package/es/plus/pisellReservation/index.js +0 -17
- package/es/plus/salesSdk/index.js +0 -54
- package/lib/components/bigSale/templates/HDLKiosk/hooks/useHDLKioskEntryPreparationToast.js +0 -21
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
@import './slices/customization/Screen/index.less';
|
|
93
93
|
@import './slices/customization/PrimaryProductSelection/index.less';
|
|
94
94
|
@import './slices/customization/TooLightDialog/index.less';
|
|
95
|
+
@import './slices/customization/dialogButtons.less';
|
|
95
96
|
@import './slices/fulfillment/Screen/index.less';
|
|
96
97
|
@import './slices/identity/Screen/index.less';
|
|
97
98
|
@import './components/common/BlockingNotice/index.less';
|
|
@@ -139,11 +139,11 @@ function NextBowlModal({ previousGrams, minimumGrams, exchanging = false, showMe
|
|
|
139
139
|
"aria-label": t("progress")
|
|
140
140
|
}, /* @__PURE__ */ React.createElement("li", { className: stage === "remove" ? "is-current" : "is-complete" }, /* @__PURE__ */ React.createElement("span", null, "1"), t("step-remove")), /* @__PURE__ */ React.createElement("li", { className: stage === "place" ? "is-current" : "" }, /* @__PURE__ */ React.createElement("span", null, "2"), t("step-place"))), /* @__PURE__ */ React.createElement("div", { className: `nb-live-weight ${!ready ? "is-pending" : ""}` }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("span", null, t("live-weight")), /* @__PURE__ */ React.createElement("strong", null, weightLabel, " ", /* @__PURE__ */ React.createElement("small", null, "kg"))), /* @__PURE__ */ React.createElement("p", { role: "status" }, /* @__PURE__ */ React.createElement("i", null), status))), stage === "ask" ? /* @__PURE__ */ React.createElement("div", { className: "nb-modal-actions" }, /* @__PURE__ */ React.createElement("button", {
|
|
141
141
|
type: "button",
|
|
142
|
-
className: "
|
|
142
|
+
className: "hdl-bowl-dialog-button",
|
|
143
143
|
onClick: () => dispatch({ type: "FINISH" })
|
|
144
144
|
}, t("finish")), /* @__PURE__ */ React.createElement("button", {
|
|
145
145
|
type: "button",
|
|
146
|
-
className: "
|
|
146
|
+
className: "hdl-bowl-dialog-button hdl-bowl-dialog-button--primary",
|
|
147
147
|
onClick: () => {
|
|
148
148
|
if (!delivered.current) {
|
|
149
149
|
delivered.current = true;
|
|
@@ -157,11 +157,11 @@ function NextBowlModal({ previousGrams, minimumGrams, exchanging = false, showMe
|
|
|
157
157
|
focusable: "false"
|
|
158
158
|
}, /* @__PURE__ */ React.createElement("path", { d: "M10 4v12M4 10h12" })))) : stage === "duplicate" ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { className: "nb-modal-actions" }, /* @__PURE__ */ React.createElement("button", {
|
|
159
159
|
type: "button",
|
|
160
|
-
className: "
|
|
160
|
+
className: "hdl-bowl-dialog-button",
|
|
161
161
|
onClick: () => dispatch({ type: "REPLACE" })
|
|
162
162
|
}, t("replace")), /* @__PURE__ */ React.createElement("button", {
|
|
163
163
|
type: "button",
|
|
164
|
-
className: "
|
|
164
|
+
className: "hdl-bowl-dialog-button hdl-bowl-dialog-button--primary",
|
|
165
165
|
disabled: !canConfirm,
|
|
166
166
|
onClick: () => dispatch({
|
|
167
167
|
type: "CONFIRM_NEW",
|
|
@@ -172,11 +172,11 @@ function NextBowlModal({ previousGrams, minimumGrams, exchanging = false, showMe
|
|
|
172
172
|
role: "status"
|
|
173
173
|
}, status), /* @__PURE__ */ React.createElement("button", {
|
|
174
174
|
type: "button",
|
|
175
|
-
className: "
|
|
175
|
+
className: "hdl-bowl-dialog-button nb-continue-button",
|
|
176
176
|
onClick: () => dispatch({ type: "FINISH" })
|
|
177
177
|
}, t("stop"), " ", /* @__PURE__ */ React.createElement("span", { "aria-hidden": "true" }, "→"))) : /* @__PURE__ */ React.createElement("div", { className: "nb-wait-actions" }, /* @__PURE__ */ React.createElement("p", null, t("auto")), /* @__PURE__ */ React.createElement("button", {
|
|
178
178
|
type: "button",
|
|
179
|
-
className: "
|
|
179
|
+
className: "hdl-bowl-dialog-button nb-continue-button",
|
|
180
180
|
onClick: () => dispatch({ type: "FINISH" })
|
|
181
181
|
}, t("stop"), " ", /* @__PURE__ */ React.createElement("span", { "aria-hidden": "true" }, "→"))))));
|
|
182
182
|
}
|
|
@@ -156,33 +156,6 @@
|
|
|
156
156
|
gap: 16px;
|
|
157
157
|
margin-top: 16px;
|
|
158
158
|
}
|
|
159
|
-
.nb-button {
|
|
160
|
-
min-height: clamp(64px, calc(var(--nb-vh, 1vh) * 5.4), 80px);
|
|
161
|
-
padding: 14px 20px;
|
|
162
|
-
border: 1.5px solid transparent;
|
|
163
|
-
border-radius: 16px;
|
|
164
|
-
font-size: clamp(18px, calc(var(--nb-vw, 1vw) * 2), 22px);
|
|
165
|
-
font-weight: 750;
|
|
166
|
-
cursor: pointer;
|
|
167
|
-
transition: background 160ms, transform 160ms;
|
|
168
|
-
line-height: 1.4;
|
|
169
|
-
}
|
|
170
|
-
.nb-button:active {
|
|
171
|
-
transform: translateY(2px);
|
|
172
|
-
}
|
|
173
|
-
.nb-button--primary {
|
|
174
|
-
color: #fff;
|
|
175
|
-
background: var(--nb-red, #b20d12);
|
|
176
|
-
}
|
|
177
|
-
.nb-button--primary:hover {
|
|
178
|
-
background: #970b10;
|
|
179
|
-
}
|
|
180
|
-
.nb-button--more {
|
|
181
|
-
display: inline-flex;
|
|
182
|
-
align-items: center;
|
|
183
|
-
justify-content: center;
|
|
184
|
-
gap: 10px;
|
|
185
|
-
}
|
|
186
159
|
.nb-button__plus {
|
|
187
160
|
display: block;
|
|
188
161
|
flex: none;
|
|
@@ -193,21 +166,6 @@
|
|
|
193
166
|
stroke-width: 1.8;
|
|
194
167
|
stroke-linecap: round;
|
|
195
168
|
}
|
|
196
|
-
.nb-button--secondary {
|
|
197
|
-
color: var(--nb-red, #b20d12);
|
|
198
|
-
border-color: #d6a2a5;
|
|
199
|
-
background: #fff6f6;
|
|
200
|
-
}
|
|
201
|
-
.nb-button--secondary:hover {
|
|
202
|
-
background: #fce8e9;
|
|
203
|
-
}
|
|
204
|
-
.nb-button:disabled {
|
|
205
|
-
background: #ebe6e1;
|
|
206
|
-
color: #847b75;
|
|
207
|
-
border-color: transparent;
|
|
208
|
-
cursor: not-allowed;
|
|
209
|
-
transform: none;
|
|
210
|
-
}
|
|
211
169
|
.nb-dialog :is(button, input, select, summary, a):focus-visible {
|
|
212
170
|
outline: 3px solid #2563eb;
|
|
213
171
|
outline-offset: 4px;
|
|
@@ -317,11 +275,7 @@
|
|
|
317
275
|
text-align: center;
|
|
318
276
|
}
|
|
319
277
|
.nb-continue-button {
|
|
320
|
-
display: flex;
|
|
321
278
|
width: 100%;
|
|
322
|
-
align-items: center;
|
|
323
|
-
justify-content: center;
|
|
324
|
-
gap: 14px;
|
|
325
279
|
margin-top: 12px;
|
|
326
280
|
}
|
|
327
281
|
.nb-continue-button > span {
|
|
@@ -480,12 +434,6 @@
|
|
|
480
434
|
gap: 10px;
|
|
481
435
|
margin-top: 12px;
|
|
482
436
|
}
|
|
483
|
-
.nb-dialog[data-narrow] .nb-button {
|
|
484
|
-
font-size: 17px;
|
|
485
|
-
min-height: 64px;
|
|
486
|
-
padding: 12px 10px;
|
|
487
|
-
border-radius: 12px;
|
|
488
|
-
}
|
|
489
437
|
.nb-dialog[data-narrow] .nb-steps {
|
|
490
438
|
gap: 16px;
|
|
491
439
|
font-size: 15px;
|
|
@@ -64,26 +64,7 @@ function PrimaryProductSelection({ products, configuredCount, bowlNumber, curren
|
|
|
64
64
|
"data-narrow": layout.narrow || void 0,
|
|
65
65
|
"data-compact": layout.viewport.height <= 740 || void 0,
|
|
66
66
|
"data-short": layout.viewport.height <= 520 && !layout.narrow || void 0
|
|
67
|
-
}, /* @__PURE__ */ React.createElement("div", { className: "hdl-ps-topbar" }, /* @__PURE__ */ React.createElement("span", { className: "hdl-ps-wordmark" }, "MALA · TANG"), /* @__PURE__ */ React.createElement("
|
|
68
|
-
type: "button",
|
|
69
|
-
className: "hdl-ps-close",
|
|
70
|
-
"aria-label": locales.getText("pisell2.hdl-kiosk.primary-select-close"),
|
|
71
|
-
disabled: busy,
|
|
72
|
-
onClick: () => {
|
|
73
|
-
if (delivered.current) return;
|
|
74
|
-
delivered.current = true;
|
|
75
|
-
onCancel();
|
|
76
|
-
}
|
|
77
|
-
}, /* @__PURE__ */ React.createElement("svg", {
|
|
78
|
-
viewBox: "0 0 24 24",
|
|
79
|
-
fill: "none",
|
|
80
|
-
"aria-hidden": "true"
|
|
81
|
-
}, /* @__PURE__ */ React.createElement("path", {
|
|
82
|
-
d: "m6 6 12 12M18 6 6 18",
|
|
83
|
-
stroke: "currentColor",
|
|
84
|
-
strokeWidth: "1.8",
|
|
85
|
-
strokeLinecap: "round"
|
|
86
|
-
})))), /* @__PURE__ */ React.createElement("header", { className: "hdl-ps-heading" }, /* @__PURE__ */ React.createElement("h2", {
|
|
67
|
+
}, /* @__PURE__ */ React.createElement("div", { className: "hdl-ps-topbar" }, /* @__PURE__ */ React.createElement("span", { className: "hdl-ps-wordmark" }, "MALA · TANG")), /* @__PURE__ */ React.createElement("header", { className: "hdl-ps-heading" }, /* @__PURE__ */ React.createElement("h2", {
|
|
87
68
|
ref: heading,
|
|
88
69
|
tabIndex: -1
|
|
89
70
|
}, title), /* @__PURE__ */ React.createElement("p", { className: "hdl-ps-bowl-number" }, locales.getText("pisell2.hdl-kiosk.bowl-label").replace("{count}", String(bowlNumber)))), /* @__PURE__ */ React.createElement("div", { className: "hdl-ps-products" }, items.map((item) => {
|
|
@@ -110,7 +91,16 @@ function PrimaryProductSelection({ products, configuredCount, bowlNumber, curren
|
|
|
110
91
|
strokeLinecap: "round",
|
|
111
92
|
strokeLinejoin: "round"
|
|
112
93
|
})))), item.disabled ? /* @__PURE__ */ React.createElement("small", { className: "hdl-ps-unavailable" }, item.reason) : null));
|
|
113
|
-
})),
|
|
94
|
+
})), /* @__PURE__ */ React.createElement("button", {
|
|
95
|
+
type: "button",
|
|
96
|
+
className: "hdl-bowl-dialog-button hdl-ps-skip",
|
|
97
|
+
disabled: busy,
|
|
98
|
+
onClick: () => {
|
|
99
|
+
if (busy || delivered.current) return;
|
|
100
|
+
delivered.current = true;
|
|
101
|
+
onCancel();
|
|
102
|
+
}
|
|
103
|
+
}, locales.getText("pisell2.hdl-kiosk.customization-skip")), !items.length ? /* @__PURE__ */ React.createElement("p", { role: "status" }, locales.getText("pisell2.hdl-kiosk.primary-unavailable")) : null)));
|
|
114
104
|
}
|
|
115
105
|
//#endregion
|
|
116
106
|
export { PrimaryProductSelection };
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
background: transparent;
|
|
17
17
|
text-align: left;
|
|
18
18
|
}
|
|
19
|
-
.hdl-ps-dialog
|
|
19
|
+
.hdl-ps-dialog .hdl-ps-product:disabled {
|
|
20
20
|
opacity: 0.55;
|
|
21
21
|
cursor: not-allowed;
|
|
22
22
|
}
|
|
@@ -86,27 +86,6 @@
|
|
|
86
86
|
font-weight: 850;
|
|
87
87
|
letter-spacing: 0.18em;
|
|
88
88
|
}
|
|
89
|
-
.hdl-ps-close {
|
|
90
|
-
display: grid;
|
|
91
|
-
place-items: center;
|
|
92
|
-
width: 64px;
|
|
93
|
-
height: 64px;
|
|
94
|
-
padding: 16px;
|
|
95
|
-
border: 1px solid #e8e4df;
|
|
96
|
-
border-radius: 16px;
|
|
97
|
-
background: #faf9f7;
|
|
98
|
-
color: var(--hdl-ps-muted);
|
|
99
|
-
transition: background 160ms, color 160ms;
|
|
100
|
-
}
|
|
101
|
-
.hdl-ps-close svg {
|
|
102
|
-
display: block;
|
|
103
|
-
width: 26px;
|
|
104
|
-
height: 26px;
|
|
105
|
-
}
|
|
106
|
-
.hdl-ps-close:active {
|
|
107
|
-
background: #fce8e9;
|
|
108
|
-
color: var(--hdl-ps-red);
|
|
109
|
-
}
|
|
110
89
|
.hdl-ps-heading {
|
|
111
90
|
flex: none;
|
|
112
91
|
text-align: center;
|
|
@@ -242,10 +221,6 @@
|
|
|
242
221
|
background: #fffaf8;
|
|
243
222
|
box-shadow: 0 10px 28px #b20d1210;
|
|
244
223
|
}
|
|
245
|
-
.hdl-ps-close:hover {
|
|
246
|
-
background: #fce8e9;
|
|
247
|
-
color: var(--hdl-ps-red);
|
|
248
|
-
}
|
|
249
224
|
}
|
|
250
225
|
.hdl-ps-dialog[data-narrow] {
|
|
251
226
|
& {
|
|
@@ -337,7 +312,7 @@
|
|
|
337
312
|
display: grid;
|
|
338
313
|
min-height: 64px;
|
|
339
314
|
place-content: center;
|
|
340
|
-
margin: 0
|
|
315
|
+
margin: 0 0 12px;
|
|
341
316
|
}
|
|
342
317
|
.hdl-ps-heading .hdl-ps-bowl-number {
|
|
343
318
|
margin-top: 6px;
|
|
@@ -404,3 +379,12 @@
|
|
|
404
379
|
font-size: 18px;
|
|
405
380
|
line-height: 1.5;
|
|
406
381
|
}
|
|
382
|
+
|
|
383
|
+
.hdl-ps-dialog .hdl-ps-skip {
|
|
384
|
+
flex: none;
|
|
385
|
+
width: 100%;
|
|
386
|
+
margin-top: 24px;
|
|
387
|
+
}
|
|
388
|
+
.hdl-ps-dialog[data-short] .hdl-ps-skip {
|
|
389
|
+
margin-top: 12px;
|
|
390
|
+
}
|
|
@@ -251,6 +251,7 @@ function CustomizationScreen({ product, loading, errorReference, errorMessage, b
|
|
|
251
251
|
]);
|
|
252
252
|
const skipCustomization = useCallback(() => {
|
|
253
253
|
if (busy || syncing || uncertain) return;
|
|
254
|
+
if (bowls && bowls.session.getSnapshot().draft.id !== (bowlState === null || bowlState === void 0 ? void 0 : bowlState.draft.id)) return;
|
|
254
255
|
if (editing) {
|
|
255
256
|
bowls === null || bowls === void 0 || bowls.returnFromEdit();
|
|
256
257
|
return;
|
|
@@ -266,6 +267,7 @@ function CustomizationScreen({ product, loading, errorReference, errorMessage, b
|
|
|
266
267
|
send,
|
|
267
268
|
syncing,
|
|
268
269
|
bowls,
|
|
270
|
+
bowlState === null || bowlState === void 0 ? void 0 : bowlState.draft.id,
|
|
269
271
|
editing,
|
|
270
272
|
uncertain
|
|
271
273
|
]);
|
|
@@ -290,9 +292,7 @@ function CustomizationScreen({ product, loading, errorReference, errorMessage, b
|
|
|
290
292
|
closeTooLight,
|
|
291
293
|
skipCustomization
|
|
292
294
|
]);
|
|
293
|
-
const
|
|
294
|
-
const advance = hasBowlContent || uncertain || (bowlState === null || bowlState === void 0 ? void 0 : bowlState.phase) === "saved" ? submit : skipCustomization;
|
|
295
|
-
const advanceLabel = uncertain ? locales.getText("pisell2.hdl-kiosk.bowl-retry") : locales.getText(hasBowlContent || (bowlState === null || bowlState === void 0 ? void 0 : bowlState.phase) === "saved" ? "pisell2.hdl-kiosk.customization-next" : "pisell2.hdl-kiosk.skip");
|
|
295
|
+
const advanceLabel = uncertain ? locales.getText("pisell2.hdl-kiosk.bowl-retry") : locales.getText("pisell2.hdl-kiosk.customization-next");
|
|
296
296
|
const { openCart } = useHDLKioskBottomBarController();
|
|
297
297
|
useHDLKioskBottomBar(useMemo(() => {
|
|
298
298
|
var _orderBar$cartItemCou;
|
|
@@ -323,15 +323,20 @@ function CustomizationScreen({ product, loading, errorReference, errorMessage, b
|
|
|
323
323
|
disabled: busy || syncing || uncertain || orderBar.cartLineCount === 0,
|
|
324
324
|
onOpenCart: openCart
|
|
325
325
|
}),
|
|
326
|
-
trailing: /* @__PURE__ */ React.createElement("button", {
|
|
326
|
+
trailing: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("button", {
|
|
327
|
+
type: "button",
|
|
328
|
+
className: "hdl-customization-skip",
|
|
329
|
+
disabled: busy || syncing || uncertain,
|
|
330
|
+
onClick: skipCustomization
|
|
331
|
+
}, locales.getText("pisell2.hdl-kiosk.customization-skip")), /* @__PURE__ */ React.createElement("button", {
|
|
327
332
|
type: "button",
|
|
328
333
|
className: "hdl-floating-bar__button hdl-customization-next",
|
|
329
|
-
disabled: busy || syncing ||
|
|
330
|
-
onClick:
|
|
334
|
+
disabled: busy || syncing || loading || !productFacts,
|
|
335
|
+
onClick: submit
|
|
331
336
|
}, /* @__PURE__ */ React.createElement("span", null, busy || syncing ? locales.getText("pisell2.hdl-kiosk.working") : advanceLabel), busy || syncing ? /* @__PURE__ */ React.createElement("span", {
|
|
332
337
|
className: "hdl-loading-spinner",
|
|
333
338
|
"aria-hidden": "true"
|
|
334
|
-
}) : /* @__PURE__ */ React.createElement(NextIcon, null)),
|
|
339
|
+
}) : /* @__PURE__ */ React.createElement(NextIcon, null))),
|
|
335
340
|
cartOpenBar: (controller) => ({
|
|
336
341
|
ariaLabel: locales.getText("pisell2.hdl-kiosk.customization-actions-label"),
|
|
337
342
|
leading: /* @__PURE__ */ React.createElement("button", {
|
|
@@ -343,10 +348,10 @@ function CustomizationScreen({ product, loading, errorReference, errorMessage, b
|
|
|
343
348
|
trailing: /* @__PURE__ */ React.createElement("button", {
|
|
344
349
|
type: "button",
|
|
345
350
|
className: "hdl-floating-bar__button hdl-customization-next",
|
|
346
|
-
disabled: busy || syncing ||
|
|
351
|
+
disabled: busy || syncing || loading || !productFacts,
|
|
347
352
|
onClick: () => {
|
|
348
353
|
controller.onClose();
|
|
349
|
-
|
|
354
|
+
submit();
|
|
350
355
|
}
|
|
351
356
|
}, /* @__PURE__ */ React.createElement("span", null, busy || syncing ? locales.getText("pisell2.hdl-kiosk.working") : advanceLabel), busy || syncing ? /* @__PURE__ */ React.createElement("span", {
|
|
352
357
|
className: "hdl-loading-spinner",
|
|
@@ -365,9 +370,9 @@ function CustomizationScreen({ product, loading, errorReference, errorMessage, b
|
|
|
365
370
|
canGoBack,
|
|
366
371
|
syncing,
|
|
367
372
|
amountText,
|
|
368
|
-
|
|
373
|
+
submit,
|
|
374
|
+
skipCustomization,
|
|
369
375
|
advanceLabel,
|
|
370
|
-
hasBowlContent,
|
|
371
376
|
productFacts,
|
|
372
377
|
loading,
|
|
373
378
|
openCart,
|
|
@@ -293,6 +293,55 @@
|
|
|
293
293
|
margin-top: 26px;
|
|
294
294
|
}
|
|
295
295
|
|
|
296
|
+
.hdl-customization-skip {
|
|
297
|
+
position: absolute;
|
|
298
|
+
right: 26px;
|
|
299
|
+
bottom: calc(100% + 16px);
|
|
300
|
+
max-width: calc(100% - 52px);
|
|
301
|
+
min-height: 58px;
|
|
302
|
+
border: 1px solid rgba(255, 255, 255, 0.22);
|
|
303
|
+
border-radius: 999px;
|
|
304
|
+
padding: 10px 24px;
|
|
305
|
+
background: rgba(17, 24, 39, 0.86);
|
|
306
|
+
color: #fff;
|
|
307
|
+
font-size: 21px;
|
|
308
|
+
font-weight: 900;
|
|
309
|
+
line-height: 1.4;
|
|
310
|
+
overflow-wrap: anywhere;
|
|
311
|
+
cursor: pointer;
|
|
312
|
+
transition: background 160ms, transform 160ms;
|
|
313
|
+
|
|
314
|
+
&:focus-visible {
|
|
315
|
+
outline: 3px solid #2563eb;
|
|
316
|
+
outline-offset: 4px;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
&:not(:disabled):hover {
|
|
320
|
+
background: rgba(178, 13, 18, 0.92);
|
|
321
|
+
transform: translateY(-2px);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
&:not(:disabled):active {
|
|
325
|
+
transform: scale(0.98);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
&:disabled {
|
|
329
|
+
border-color: transparent;
|
|
330
|
+
background: #ebe6e1;
|
|
331
|
+
color: #847b75;
|
|
332
|
+
cursor: not-allowed;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
@media (prefers-reduced-motion: reduce) {
|
|
336
|
+
transition: none;
|
|
337
|
+
|
|
338
|
+
&:not(:disabled):hover,
|
|
339
|
+
&:not(:disabled):active {
|
|
340
|
+
transform: none;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
|
|
296
345
|
.hdl-customization-next {
|
|
297
346
|
border: 0;
|
|
298
347
|
background: linear-gradient(180deg, #20b8aa, #119184);
|
|
@@ -18,11 +18,12 @@ function TooLightDialog({ busy, editing, hasSavedBowls, onSkip, onRetry }) {
|
|
|
18
18
|
height: 887
|
|
19
19
|
}), /* @__PURE__ */ React.createElement("h1", { className: "hdl-too-light-dialog__title" }, title), /* @__PURE__ */ React.createElement("p", { className: "hdl-too-light-dialog__description" }, description), /* @__PURE__ */ React.createElement("div", { className: "hdl-too-light-dialog__actions" }, /* @__PURE__ */ React.createElement("button", {
|
|
20
20
|
type: "button",
|
|
21
|
+
className: "hdl-bowl-dialog-button",
|
|
21
22
|
disabled: busy,
|
|
22
23
|
onClick: onSkip
|
|
23
24
|
}, skipLabel), /* @__PURE__ */ React.createElement("button", {
|
|
24
25
|
type: "button",
|
|
25
|
-
className: "
|
|
26
|
+
className: "hdl-bowl-dialog-button hdl-bowl-dialog-button--primary",
|
|
26
27
|
disabled: busy,
|
|
27
28
|
onClick: onRetry,
|
|
28
29
|
autoFocus: true
|
|
@@ -35,26 +35,4 @@
|
|
|
35
35
|
gap: 16px;
|
|
36
36
|
margin-top: 30px;
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
.hdl-too-light-dialog__actions button {
|
|
40
|
-
min-height: 94px;
|
|
41
|
-
border: 3px solid #e85c0c;
|
|
42
|
-
border-radius: 20px;
|
|
43
|
-
padding: 18px 28px;
|
|
44
|
-
background: transparent;
|
|
45
|
-
color: inherit;
|
|
46
|
-
font-size: 32px;
|
|
47
|
-
font-weight: 800;
|
|
48
|
-
line-height: 1.25;
|
|
49
|
-
cursor: pointer;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.hdl-too-light-dialog__actions button.is-primary {
|
|
53
|
-
background: linear-gradient(135deg, #ef6b0c, #dc5108);
|
|
54
|
-
color: #fff;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.hdl-too-light-dialog__actions button:disabled {
|
|
58
|
-
opacity: 0.55;
|
|
59
|
-
}
|
|
60
38
|
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// Shared by product selection, weight warning and every next-bowl stage.
|
|
2
|
+
.pisell-lowcode-modal-root .pisell-pc-modal.hdl-kiosk-modal .hdl-kiosk-dialog {
|
|
3
|
+
.hdl-bowl-dialog-button {
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
min-width: 0;
|
|
7
|
+
max-width: 100%;
|
|
8
|
+
min-height: 64px;
|
|
9
|
+
align-items: center;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
gap: 10px;
|
|
12
|
+
border: 1.5px solid #d6a2a5;
|
|
13
|
+
border-radius: 16px;
|
|
14
|
+
padding: 14px 20px;
|
|
15
|
+
background: #fff6f6;
|
|
16
|
+
color: #b20d12;
|
|
17
|
+
font-family: inherit;
|
|
18
|
+
font-size: 22px;
|
|
19
|
+
font-weight: 750;
|
|
20
|
+
line-height: 1.4;
|
|
21
|
+
text-align: center;
|
|
22
|
+
white-space: normal;
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
touch-action: manipulation;
|
|
25
|
+
-webkit-tap-highlight-color: transparent;
|
|
26
|
+
transition: background 160ms, transform 160ms;
|
|
27
|
+
|
|
28
|
+
&:not(:disabled):hover {
|
|
29
|
+
background: #fce8e9;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&:not(:disabled):active {
|
|
33
|
+
transform: translateY(2px);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&--primary {
|
|
37
|
+
border-color: transparent;
|
|
38
|
+
background: #b20d12;
|
|
39
|
+
color: #fff;
|
|
40
|
+
|
|
41
|
+
&:not(:disabled):hover {
|
|
42
|
+
background: #970b10;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&:disabled {
|
|
47
|
+
border-color: transparent;
|
|
48
|
+
background: #ebe6e1;
|
|
49
|
+
color: #847b75;
|
|
50
|
+
opacity: 1;
|
|
51
|
+
cursor: not-allowed;
|
|
52
|
+
transform: none;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&:focus-visible {
|
|
56
|
+
outline: 3px solid #2563eb;
|
|
57
|
+
outline-offset: 4px;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@media (max-width: 600px) {
|
|
62
|
+
.hdl-bowl-dialog-button {
|
|
63
|
+
padding: 12px 16px;
|
|
64
|
+
font-size: 18px;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@media (prefers-reduced-motion: reduce) {
|
|
69
|
+
.hdl-bowl-dialog-button {
|
|
70
|
+
transition: none;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -63,12 +63,14 @@ function HandTapIcon() {
|
|
|
63
63
|
}), /* @__PURE__ */ React.createElement("g", { className: "hdl-entry-tap-hand" }, /* @__PURE__ */ React.createElement("path", { d: "M196,120a27.9,27.9,0,0,0-13.36,3.39A28,28,0,0,0,144,106.7V76a28,28,0,0,0-56,0v80l-3.82-6.13a28,28,0,0,0-48.41,28.17l29.32,50A8,8,0,1,0,78.89,220L49.6,170a12,12,0,1,1,20.78-12l.14.23,18.68,30A8,8,0,0,0,104,184V76a12,12,0,0,1,24,0v68a8,8,0,1,0,16,0V132a12,12,0,0,1,24,0v20a8,8,0,0,0,16,0v-4a12,12,0,0,1,24,0v36c0,21.61-7.1,36.3-7.16,36.42a8,8,0,0,0,3.58,10.73A7.9,7.9,0,0,0,208,232a8,8,0,0,0,7.16-4.42c.37-.73,8.85-18,8.85-43.58V148A28,28,0,0,0,196,120Z" })));
|
|
64
64
|
}
|
|
65
65
|
function EntryScreen({ locale, model, theme, onThemeChange, isActive = true, onLocaleChange, onTechnicalSupportClick, onSelect, busy = false, canRetryPreparation = false }) {
|
|
66
|
+
var _capabilityErrorCodes;
|
|
66
67
|
const layout = useEntryScreenLayout();
|
|
67
68
|
const buttonRef = useRef(null);
|
|
68
69
|
const indicatorRef = useRef(null);
|
|
69
70
|
const feedbackFrame = useRef();
|
|
70
71
|
const lastActivation = useRef(-Infinity);
|
|
71
72
|
const [documentHidden, setDocumentHidden] = useState(() => typeof document !== "undefined" && document.hidden);
|
|
73
|
+
const [capabilityErrorsVisible, setCapabilityErrorsVisible] = useState(false);
|
|
72
74
|
const entryLocale = locale || "en";
|
|
73
75
|
const quickOption = model.options.find((option) => option.entry === "quick" && option.interactive);
|
|
74
76
|
const canStart = Boolean(quickOption && (quickOption.available || canRetryPreparation)) && !busy && isActive;
|
|
@@ -117,6 +119,12 @@ function EntryScreen({ locale, model, theme, onThemeChange, isActive = true, onL
|
|
|
117
119
|
});
|
|
118
120
|
onSelect(quickOption.entry);
|
|
119
121
|
};
|
|
122
|
+
const capabilityErrorCodes = model.capabilityErrorCodes;
|
|
123
|
+
const capabilityErrorSignature = (_capabilityErrorCodes = capabilityErrorCodes === null || capabilityErrorCodes === void 0 ? void 0 : capabilityErrorCodes.join("|")) !== null && _capabilityErrorCodes !== void 0 ? _capabilityErrorCodes : "";
|
|
124
|
+
const pendingOptions = model.options.filter((option) => option.statusTone === "pending");
|
|
125
|
+
useEffect(() => {
|
|
126
|
+
setCapabilityErrorsVisible(false);
|
|
127
|
+
}, [capabilityErrorSignature]);
|
|
120
128
|
return /* @__PURE__ */ React.createElement("section", {
|
|
121
129
|
ref: layout.ref,
|
|
122
130
|
className: "hdl-entry-screen",
|
|
@@ -175,7 +183,19 @@ function EntryScreen({ locale, model, theme, onThemeChange, isActive = true, onL
|
|
|
175
183
|
}, /* @__PURE__ */ React.createElement("span", {
|
|
176
184
|
className: "hdl-entry-tap-indicator",
|
|
177
185
|
ref: indicatorRef
|
|
178
|
-
}, /* @__PURE__ */ React.createElement(HandTapIcon, null)), /* @__PURE__ */ React.createElement("span", { className: "hdl-entry-tap-copy" }, locales.getText("pisell2.hdl-kiosk.tap-to-start"))) : null))
|
|
186
|
+
}, /* @__PURE__ */ React.createElement(HandTapIcon, null)), /* @__PURE__ */ React.createElement("span", { className: "hdl-entry-tap-copy" }, locales.getText("pisell2.hdl-kiosk.tap-to-start"))) : null), pendingOptions.length || model.assistanceMessage ? /* @__PURE__ */ React.createElement("div", { className: "hdl-entry-screen__notices" }, pendingOptions.map((option) => /* @__PURE__ */ React.createElement("p", {
|
|
187
|
+
key: option.entry,
|
|
188
|
+
className: "hdl-entry-screen__device-status",
|
|
189
|
+
role: "status"
|
|
190
|
+
}, option.statusText)), model.assistanceMessage ? (capabilityErrorCodes === null || capabilityErrorCodes === void 0 ? void 0 : capabilityErrorCodes.length) ? /* @__PURE__ */ React.createElement("button", {
|
|
191
|
+
type: "button",
|
|
192
|
+
className: "hdl-entry-screen__assistance is-toggle",
|
|
193
|
+
"aria-expanded": capabilityErrorsVisible,
|
|
194
|
+
onClick: () => setCapabilityErrorsVisible((visible) => !visible)
|
|
195
|
+
}, /* @__PURE__ */ React.createElement("span", null, model.assistanceMessage), capabilityErrorsVisible ? /* @__PURE__ */ React.createElement("code", null, capabilityErrorCodes.join(" / ")) : null) : /* @__PURE__ */ React.createElement("p", {
|
|
196
|
+
className: "hdl-entry-screen__assistance",
|
|
197
|
+
role: "alert"
|
|
198
|
+
}, model.assistanceMessage) : null) : null);
|
|
179
199
|
}
|
|
180
200
|
//#endregion
|
|
181
201
|
export { EntryScreen };
|
|
@@ -389,7 +389,8 @@
|
|
|
389
389
|
|
|
390
390
|
.hdl-entry-language:focus-within,
|
|
391
391
|
.hdl-entry-theme-toggle:focus-visible,
|
|
392
|
-
.hdl-entry-technical-support:focus-visible
|
|
392
|
+
.hdl-entry-technical-support:focus-visible,
|
|
393
|
+
.hdl-entry-screen__notices button:focus-visible {
|
|
393
394
|
outline: 3px solid var(--hdl-entry-focus);
|
|
394
395
|
outline-offset: 5px;
|
|
395
396
|
}
|
|
@@ -415,6 +416,51 @@
|
|
|
415
416
|
}
|
|
416
417
|
}
|
|
417
418
|
|
|
419
|
+
.hdl-entry-screen__notices {
|
|
420
|
+
position: absolute;
|
|
421
|
+
top: var(--hdl-entry-notices-top);
|
|
422
|
+
left: 50%;
|
|
423
|
+
z-index: 4;
|
|
424
|
+
width: var(--hdl-entry-notices-width);
|
|
425
|
+
max-height: calc(100% - var(--hdl-entry-notices-top) - 24px);
|
|
426
|
+
overflow: auto;
|
|
427
|
+
padding: 16px 20px;
|
|
428
|
+
pointer-events: none;
|
|
429
|
+
color: var(--hdl-entry-copy);
|
|
430
|
+
transform: translateX(-50%);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.hdl-entry-screen__assistance,
|
|
434
|
+
.hdl-entry-screen__device-status {
|
|
435
|
+
display: block;
|
|
436
|
+
width: 100%;
|
|
437
|
+
margin: 0;
|
|
438
|
+
border: 0;
|
|
439
|
+
padding: 0;
|
|
440
|
+
background: transparent;
|
|
441
|
+
color: inherit;
|
|
442
|
+
font-size: 20px;
|
|
443
|
+
font-weight: 500;
|
|
444
|
+
line-height: 1.5;
|
|
445
|
+
text-align: center;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
.hdl-entry-screen__device-status + .hdl-entry-screen__assistance {
|
|
449
|
+
margin-top: 12px;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.hdl-entry-screen__assistance.is-toggle {
|
|
453
|
+
cursor: pointer;
|
|
454
|
+
pointer-events: auto;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
.hdl-entry-screen__assistance code {
|
|
458
|
+
display: block;
|
|
459
|
+
margin-top: 6px;
|
|
460
|
+
color: inherit;
|
|
461
|
+
font-size: 15px;
|
|
462
|
+
}
|
|
463
|
+
|
|
418
464
|
& > .hdl-operation-overlay {
|
|
419
465
|
background: var(--hdl-entry-loading-background);
|
|
420
466
|
color: var(--hdl-entry-copy);
|
|
@@ -50,7 +50,9 @@ function useEntryScreenLayout() {
|
|
|
50
50
|
"--hdl-entry-icon-size": `${Math.max(44, width * .112)}px`,
|
|
51
51
|
"--hdl-entry-copy-size": `${copySize}px`,
|
|
52
52
|
"--hdl-entry-invitation-gap": `${invitationGap}px`,
|
|
53
|
-
"--hdl-entry-touch-size": `${Math.min(200, Math.max(96, surface.width * .24))}px
|
|
53
|
+
"--hdl-entry-touch-size": `${Math.min(200, Math.max(96, surface.width * .24))}px`,
|
|
54
|
+
"--hdl-entry-notices-width": `${Math.min(734, width * .9)}px`,
|
|
55
|
+
"--hdl-entry-notices-top": `${(surface.height - height) / 2 + height * .398 + indicatorSize + invitationGap + copySize * 1.25 + 32}px`
|
|
54
56
|
}
|
|
55
57
|
};
|
|
56
58
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import useEngineContext from "../../../../hooks/useEngineContext.js";
|
|
2
2
|
import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
|
|
3
|
-
import "../../../../plus/salesSdk/index.js";
|
|
4
3
|
import dayjs from "dayjs";
|
|
5
4
|
import { useCallback, useEffect, useState } from "react";
|
|
6
5
|
//#region src/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.ts
|
|
@@ -14,7 +14,6 @@ import { generateProductTabs } from "../../../ticketBooking/components/ProductDi
|
|
|
14
14
|
import { useSalesSdkBusinessAvailability } from "../../../../plus/salesSdk/context/SalesSdkBusinessAvailabilityContext.js";
|
|
15
15
|
import { showAddToCartToast } from "../../../../plus/salesSdk/components/showAddToCartToast.js";
|
|
16
16
|
import { mergeBookingsForDisplay } from "../../../../plus/salesSdk/utils/mergeBookingsForDisplay.js";
|
|
17
|
-
import "../../../../plus/salesSdk/index.js";
|
|
18
17
|
import { buildBigSaleProductListPreferencesKey, readBigSaleProductListPreferences, readStoredBigSaleProductListPreferences, removeBigSaleProductListPreferences, resolveBigSaleAutoProductListPreferences, writeBigSaleProductListPreferences } from "../../utils/productListPreferences.js";
|
|
19
18
|
import { resolveBigSaleProductDisplayConfig, useBigSaleProductListConfig } from "../../hooks/useBigSaleProductListConfig.js";
|
|
20
19
|
import locales_default from "../../locales/index.js";
|
|
@@ -4,7 +4,6 @@ import withResponsive from "../../../../responsive/withResponsive.js";
|
|
|
4
4
|
import useInitLocalesOnce from "../../../../hooks/useInitLocalesOnce.js";
|
|
5
5
|
import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
|
|
6
6
|
import { useSalesSdkBookingContext } from "../../../../plus/salesSdk/context/SalesSdkBookingContext.js";
|
|
7
|
-
import "../../../../plus/salesSdk/index.js";
|
|
8
7
|
import locales_default from "../../locales/index.js";
|
|
9
8
|
import { getPosWeekStartsOn, resolvePosCountryCode } from "../../../../utils/posDateLocale.js";
|
|
10
9
|
import dayjs from "dayjs";
|
|
@@ -6,7 +6,6 @@ import { buildInitBookingContextParams, collectBookingIdsFromTempOrder } from ".
|
|
|
6
6
|
import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
7
7
|
import { useSalesSdkCart } from "../../plus/salesSdk/hooks/useSalesSdkCart.js";
|
|
8
8
|
import { SalesSdkPrepareOrderSwitchContext, SalesSdkRootRefreshContext } from "../../plus/salesSdk/context/SalesSdkProvider.js";
|
|
9
|
-
import "../../plus/salesSdk/index.js";
|
|
10
9
|
import { isPersistedBigSaleOrderId } from "./utils/orderIdentity.js";
|
|
11
10
|
import { seedDineInReservationToCart } from "../../plus/pisellReservation/utils/seedDineInReservationToCart.js";
|
|
12
11
|
import BigSale from "./index.js";
|
|
@@ -4,7 +4,6 @@ import { useSalesSdkCustomer } from "../../../plus/salesSdk/hooks/useSalesSdkCus
|
|
|
4
4
|
import { useSalesSdkBookingContext } from "../../../plus/salesSdk/context/SalesSdkBookingContext.js";
|
|
5
5
|
import { useSalesSdkSummary } from "../../../plus/salesSdk/hooks/useSalesSdkSummary.js";
|
|
6
6
|
import { useSalesSdkProducts } from "../../../plus/salesSdk/hooks/useSalesSdkProducts.js";
|
|
7
|
-
import "../../../plus/salesSdk/index.js";
|
|
8
7
|
import { useMemo } from "react";
|
|
9
8
|
//#region src/components/bigSale/hooks/useBigSaleContext.ts
|
|
10
9
|
/**
|