@pisell/private-materials 6.12.376 → 6.12.378
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/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +3 -3
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +3 -3
- package/es/components/HDLKiosk/locales.js +10 -0
- package/es/components/HDLKiosk/slices/customization/PrimaryProductSelection/assets/order-background.svg +24 -0
- package/es/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.js +55 -34
- package/es/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.less +175 -125
- package/es/components/HDLKiosk/slices/customization/Screen/index.js +2 -2
- 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/useBigSaleProductListConfig.js +1 -0
- package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +0 -1
- package/es/components/bigSale/index.js +0 -1
- package/es/components/bigSale/templates/Kiosk/index.js +0 -1
- package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +0 -1
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.js +3 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +1 -0
- 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/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/context/SalesSdkProvider.js +3 -0
- package/es/plus/salesSdk/giftSelect/buildGiftOrderProducts.js +2 -2
- package/es/plus/salesSdk/giftSelect/createOpenGiftSelectHost.js +2 -2
- 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/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/locales.js +10 -0
- package/lib/components/HDLKiosk/slices/customization/PrimaryProductSelection/assets/order-background.svg +24 -0
- package/lib/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.js +54 -33
- package/lib/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.less +175 -125
- package/lib/components/HDLKiosk/slices/customization/Screen/index.js +1 -1
- package/lib/plus/salesSdk/context/SalesSdkProvider.js +3 -0
- package/lib/plus/salesSdk/giftSelect/buildGiftOrderProducts.js +2 -2
- package/lib/plus/salesSdk/giftSelect/createOpenGiftSelectHost.js +2 -2
- package/package.json +4 -4
- package/es/plus/pisellReservation/index.js +0 -17
- package/es/plus/salesSdk/index.js +0 -54
|
@@ -2,6 +2,7 @@ import { _objectSpread2 } from "../../../_virtual/_@oxc-project_runtime@0.122.0/
|
|
|
2
2
|
import { _objectWithoutProperties } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectWithoutProperties.js";
|
|
3
3
|
import { generateProductTabs, sortProductsByTabOrder } from "../../ticketBooking/components/ProductDisplayAdapter/utils.js";
|
|
4
4
|
import { ProductDisplayPresets } from "../../ticketBooking/components/ProductDisplayAdapter/types.js";
|
|
5
|
+
import "../../ticketBooking/components/ProductDisplayAdapter/index.js";
|
|
5
6
|
import { mergeBigSaleProductListPreferences } from "../utils/productListPreferences.js";
|
|
6
7
|
import { useMemo, useRef } from "react";
|
|
7
8
|
import isEqual from "lodash/isEqual";
|
|
@@ -3,7 +3,6 @@ import { _asyncToGenerator } from "../../../_virtual/_@oxc-project_runtime@0.122
|
|
|
3
3
|
import { buildInitBookingContextParams, collectBookingIdsFromTempOrder } from "../../../plus/salesSdk/utils/buildDefaultLoadProductsParams.js";
|
|
4
4
|
import { useSalesSdkUIHosts } from "../../../plus/salesSdk/context/SalesSdkUIHostsContext.js";
|
|
5
5
|
import { SalesSdkRootRefreshContext } from "../../../plus/salesSdk/context/SalesSdkProvider.js";
|
|
6
|
-
import "../../../plus/salesSdk/index.js";
|
|
7
6
|
import { isPersistedBigSaleOrderId } from "../utils/orderIdentity.js";
|
|
8
7
|
import { resolveOrderIdForHostActions } from "../../../plus/pisellReservation/components/bookingDetailModal/bookingDetailHostActions.js";
|
|
9
8
|
import { usePicoCodingOpenData } from "../../../plus/pisellReservation/hooks/usePicoCodingOpenData.js";
|
|
@@ -8,7 +8,6 @@ import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
|
8
8
|
import { useSalesSdkCustomer } from "../../plus/salesSdk/hooks/useSalesSdkCustomer.js";
|
|
9
9
|
import { SalesSdkProvider } from "../../plus/salesSdk/context/SalesSdkProvider.js";
|
|
10
10
|
import { SalesSdkBookingContextProvider } from "../../plus/salesSdk/context/SalesSdkBookingContext.js";
|
|
11
|
-
import "../../plus/salesSdk/index.js";
|
|
12
11
|
import { resolveKioskPlatformSource, resolveKioskPresentation } from "../kioskSale/resolveKioskPresentation.js";
|
|
13
12
|
import { resolveCustomerDetailAppearance } from "../../pro/skuDetailModal/customerDetailPolicy.js";
|
|
14
13
|
import { ResponsiveBigSaleBase } from "./Base.js";
|
|
@@ -13,7 +13,6 @@ import { useSalesSdkBusinessAvailability } from "../../../../plus/salesSdk/conte
|
|
|
13
13
|
import { collectUnassignedHolderLines } from "../../../../plus/salesSdk/utils/holderSubmitValidation.js";
|
|
14
14
|
import { isFulfillmentTimingBooking } from "../../../../plus/salesSdk/utils/fulfillmentTimingBooking.js";
|
|
15
15
|
import { useSalesSdkGlobalScanActivity } from "../../../../plus/salesSdk/context/SalesSdkGlobalScanActivityContext.js";
|
|
16
|
-
import "../../../../plus/salesSdk/index.js";
|
|
17
16
|
import { usePickSaleDetailContext } from "../../hooks/usePickSaleDetailContext.js";
|
|
18
17
|
import { resolveBigSaleAutoProductListPreferences } from "../../utils/productListPreferences.js";
|
|
19
18
|
import { resolveBigSaleProductDisplayConfig } from "../../hooks/useBigSaleProductListConfig.js";
|
|
@@ -2,7 +2,6 @@ import useEngineContext from "../../hooks/useEngineContext.js";
|
|
|
2
2
|
import { _asyncToGenerator } from "../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js";
|
|
3
3
|
import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
4
4
|
import { TEMP_ORDER_SYNC_REQUEST_MESSAGE_TYPE, getTempOrderSyncPayload, shouldApplySharedTempOrderPayload } from "../../plus/salesSdk/tempOrderSync.js";
|
|
5
|
-
import "../../plus/salesSdk/index.js";
|
|
6
5
|
import { useEffect, useRef, useState } from "react";
|
|
7
6
|
//#region src/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.tsx
|
|
8
7
|
function createRequestId() {
|
|
@@ -19,6 +19,7 @@ import { useProducts } from "../../hooks/pisellos/useProducts.js";
|
|
|
19
19
|
import { useService } from "../../../booking/info/service/serviceManager/index.js";
|
|
20
20
|
import ProductDisplayAdapter_default from "../ProductDisplayAdapter/ProductDisplayAdapter.js";
|
|
21
21
|
import { resolveProductDisplayConfig } from "../ProductDisplayAdapter/types.js";
|
|
22
|
+
import "../ProductDisplayAdapter/index.js";
|
|
22
23
|
import notAvailable_default from "../notAvailable/index.js";
|
|
23
24
|
import MultiDayTimeSelectModal from "./MultiDayTimeSelectModal.js";
|
|
24
25
|
import dayjs from "dayjs";
|
package/es/index.js
CHANGED
|
@@ -90,7 +90,6 @@ import { useSalesSdkProducts } from "./plus/salesSdk/hooks/useSalesSdkProducts.j
|
|
|
90
90
|
import SalesSdkDemo from "./plus/salesSdk/demo/index.js";
|
|
91
91
|
import { useSalesSdkDish } from "./plus/salesSdk/hooks/useSalesSdkDish.js";
|
|
92
92
|
import { useSyncOsModule } from "./plus/salesSdk/hooks/useSyncOsModule.js";
|
|
93
|
-
import "./plus/salesSdk/index.js";
|
|
94
93
|
import BigSaleRightActionPanel from "./components/BigSaleRightActionPanel/index.js";
|
|
95
94
|
import ResponsiveWrapper from "./components/list/ResponsiveWrapper.js";
|
|
96
95
|
import { resolveBigSaleSelectionFlowConfig } from "./components/bigSale/selectionFlowConfig.js";
|
|
@@ -152,7 +151,6 @@ import PisellVenueControlPage from "./plus/pisellReservation/PisellVenueControlP
|
|
|
152
151
|
import PisellVenueWallPage from "./plus/pisellReservation/PisellVenueWallPage.js";
|
|
153
152
|
import PisellReservationTablePage from "./plus/pisellReservation/PisellReservationTablePage.js";
|
|
154
153
|
import SelectFloorMapResourceDialog from "./plus/pisellReservation/components/SelectFloorMapResourceDialog.js";
|
|
155
|
-
import "./plus/pisellReservation/index.js";
|
|
156
154
|
import { PisellTopology, PisellTopologyCore } from "./plus/pisellTopology/PisellTopology.js";
|
|
157
155
|
import cupProject_default from "./components/ecocup/cupProject/index.js";
|
|
158
156
|
import CupList from "./components/ecocup/cupList/index.js";
|
|
@@ -280,4 +280,4 @@ function attachSelectedSettlement(item, selectedSettlement) {
|
|
|
280
280
|
});
|
|
281
281
|
}
|
|
282
282
|
//#endregion
|
|
283
|
-
export { attachSelectedSettlement, buildSettlementPriceRows, createVirtualOnlySkuDisplayProduct,
|
|
283
|
+
export { attachSelectedSettlement, buildSettlementPriceRows, createVirtualOnlySkuDisplayProduct, formatSettlementAmount, formatSettlementSelectionTotal, formatTempOrderSettlementAmount, getSettlementKey, getSettlementOptions, hasSettlementOptions, hasSufficientVirtualCurrencyBalance, isVirtualOnlySettlementProduct, isVirtualSettlementTempOrder, resolveConfiguredUnavailableReason, resolveLegalSettlementAddOnUnitPrice, resolveSettlementOptionEntries, resolveVirtualSettlementErrorMessage, showVirtualSettlementErrorToast };
|
|
@@ -259,4 +259,4 @@ function bookingListToReservationTableRows(bookings) {
|
|
|
259
259
|
return rows;
|
|
260
260
|
}
|
|
261
261
|
//#endregion
|
|
262
|
-
export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds,
|
|
262
|
+
export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord };
|
|
@@ -78,4 +78,4 @@ function toastFloorPlanLoadError(err) {
|
|
|
78
78
|
PisellToast({ content: err instanceof Error ? err.message : String(err) });
|
|
79
79
|
}
|
|
80
80
|
//#endregion
|
|
81
|
-
export { PISELL_RESERVATION_FLOOR_PLAN_CODE,
|
|
81
|
+
export { PISELL_RESERVATION_FLOOR_PLAN_CODE, ensureShopFloorPlanByCode, saveViewConfigToShopFloorPlan, shopLayoutToSceneElements$1 as shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError, unsubscribeShopFloorPlanCodeQuery };
|
|
@@ -927,4 +927,4 @@ function getReservationDataSourceFormColumns() {
|
|
|
927
927
|
];
|
|
928
928
|
}
|
|
929
929
|
//#endregion
|
|
930
|
-
export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels,
|
|
930
|
+
export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
|
|
@@ -13,7 +13,6 @@ import { useSalesSdkCustomer } from "../salesSdk/hooks/useSalesSdkCustomer.js";
|
|
|
13
13
|
import locales_default from "./locales.js";
|
|
14
14
|
import { useSalesSdkBookingContext } from "../salesSdk/context/SalesSdkBookingContext.js";
|
|
15
15
|
import { useSalesSdkSummary } from "../salesSdk/hooks/useSalesSdkSummary.js";
|
|
16
|
-
import "../salesSdk/index.js";
|
|
17
16
|
import locales_default$1 from "./components/LineItem/locales.js";
|
|
18
17
|
import { SaleOrderActionBoundary } from "./actions/index.js";
|
|
19
18
|
import { SaleDetailTemplateRenderer } from "./tmpl/index.js";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import useEngineContext from "../../../../../hooks/useEngineContext.js";
|
|
2
2
|
import { _objectSpread2 } from "../../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
3
3
|
import { useSalesSdkBookingContext } from "../../../../salesSdk/context/SalesSdkBookingContext.js";
|
|
4
|
-
import "../../../../salesSdk/index.js";
|
|
5
4
|
import { useMemo } from "react";
|
|
6
5
|
import { useMemoizedFn } from "ahooks";
|
|
7
6
|
//#region src/plus/saleDetail/components/Client/hooks/useClientSelectorProps.ts
|
|
@@ -4,7 +4,6 @@ import { _asyncToGenerator } from "../../../../_virtual/_@oxc-project_runtime@0.
|
|
|
4
4
|
import { _objectWithoutProperties } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectWithoutProperties.js";
|
|
5
5
|
import useLogger from "../../../../hooks/useLogger.js";
|
|
6
6
|
import { useSalesSdk } from "../../../salesSdk/hooks/useSalesSdk.js";
|
|
7
|
-
import "../../../salesSdk/index.js";
|
|
8
7
|
import { invokeLocalReceiptPrint, resolveLocalReceiptPrintModule, resolveSaleDetailOrderIdFromSales } from "./utils.js";
|
|
9
8
|
import { getRemotePrintActions, getWristbandList } from "../../serve.js";
|
|
10
9
|
import { EBizPrintType } from "./types.js";
|
|
@@ -10,7 +10,6 @@ import { useSalesSdk } from "../../../salesSdk/hooks/useSalesSdk.js";
|
|
|
10
10
|
import { useSalesSdkCart } from "../../../salesSdk/hooks/useSalesSdkCart.js";
|
|
11
11
|
import { useSalesSdkGlobalScanActivity } from "../../../salesSdk/context/SalesSdkGlobalScanActivityContext.js";
|
|
12
12
|
import { useSalesSdkSummary } from "../../../salesSdk/hooks/useSalesSdkSummary.js";
|
|
13
|
-
import "../../../salesSdk/index.js";
|
|
14
13
|
import { resolveSaleDetailTempOrder } from "../../utils.js";
|
|
15
14
|
import { getNumericAmount, getSalesHostModule, resolveSaleDetailOrderIdFromSales, resolveSaleDetailOrderIdFromSalesResult, shouldCloseDialogAfterCheckout, updateLocalOrder } from "./utils.js";
|
|
16
15
|
import { deriveSaleOrderSubmitState } from "../../actions/state.js";
|
|
@@ -5,7 +5,6 @@ import { isAppliedPaymentRecord } from "../../../salesSdk/utils/paymentStatus.js
|
|
|
5
5
|
import { useSalesSdk } from "../../../salesSdk/hooks/useSalesSdk.js";
|
|
6
6
|
import { useSalesSdkCart } from "../../../salesSdk/hooks/useSalesSdkCart.js";
|
|
7
7
|
import { useSalesSdkSummary } from "../../../salesSdk/hooks/useSalesSdkSummary.js";
|
|
8
|
-
import "../../../salesSdk/index.js";
|
|
9
8
|
import { resolveSaleDetailTempOrder } from "../../utils.js";
|
|
10
9
|
import React, { memo, useMemo } from "react";
|
|
11
10
|
import { formatAmount, locales } from "@pisell/utils";
|
|
@@ -5,7 +5,6 @@ import { useSalesSdk } from "../salesSdk/hooks/useSalesSdk.js";
|
|
|
5
5
|
import { SalesSdkProvider } from "../salesSdk/context/SalesSdkProvider.js";
|
|
6
6
|
import { SalesSdkDishProvider } from "../salesSdk/context/SalesSdkDishContext.js";
|
|
7
7
|
import { SalesSdkBookingContextProvider } from "../salesSdk/context/SalesSdkBookingContext.js";
|
|
8
|
-
import "../salesSdk/index.js";
|
|
9
8
|
import Base_default from "./Base.js";
|
|
10
9
|
import { resolveSaleDetailOsProps } from "./osProps.js";
|
|
11
10
|
import React, { forwardRef, useImperativeHandle } from "react";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import useStableInstanceId from "../../../../../../hooks/useStableInstanceId.js";
|
|
2
2
|
import { useSalesSdkDish } from "../../../../../salesSdk/hooks/useSalesSdkDish.js";
|
|
3
3
|
import { useCurrentSalesSdkDish } from "../../../../../salesSdk/hooks/useCurrentSalesSdkDish.js";
|
|
4
|
-
import "../../../../../salesSdk/index.js";
|
|
5
4
|
import { SaleDetailStatusOverview } from "../shared/StatusOverview.js";
|
|
6
5
|
import { DishGroupView } from "./DishGroupView.js";
|
|
7
6
|
import dayjs from "dayjs";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import useEngineContext from "../../../../hooks/useEngineContext.js";
|
|
2
2
|
import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
3
3
|
import { useCurrentSalesSdkDish } from "../../../salesSdk/hooks/useCurrentSalesSdkDish.js";
|
|
4
|
-
import "../../../salesSdk/index.js";
|
|
5
4
|
import { getInternalNotesByScheduleEvent } from "../../serve.js";
|
|
6
5
|
import { TEMPLATE_B_PAY_ACTIONS, TEMPLATE_B_SUMMARY_ACTIONS } from "../../components/DetailActions/configs/index.js";
|
|
7
6
|
import { DetailActions } from "../../components/DetailActions/index.js";
|
|
@@ -1622,6 +1622,7 @@ const SalesSdkProvider = ({ osKey, enableMultiCurrencySettlement = false, soluti
|
|
|
1622
1622
|
const resolver = createOpenGiftSelectHost(hostBridges.giftSelect, () => bookingTicketRef.current, {
|
|
1623
1623
|
getUiHosts: () => uiHostsValue,
|
|
1624
1624
|
apiPrefix: context === null || context === void 0 || (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 || (_context$appHelper2 = _context$appHelper2.constants) === null || _context$appHelper2 === void 0 ? void 0 : _context$appHelper2.apiPrefix,
|
|
1625
|
+
autoSelectSingleGift: !(moduleOtherParams.businessCode === "venue_ticket" && productLoadChannel === "online_ordering"),
|
|
1625
1626
|
salesSettingsSource,
|
|
1626
1627
|
ensureSalesSettings
|
|
1627
1628
|
});
|
|
@@ -1636,6 +1637,8 @@ const SalesSdkProvider = ({ osKey, enableMultiCurrencySettlement = false, soluti
|
|
|
1636
1637
|
utils === null || utils === void 0 ? void 0 : utils.promotionEvaluator,
|
|
1637
1638
|
context === null || context === void 0 || (_context$appHelper3 = context.appHelper) === null || _context$appHelper3 === void 0 || (_context$appHelper3 = _context$appHelper3.constants) === null || _context$appHelper3 === void 0 ? void 0 : _context$appHelper3.apiPrefix,
|
|
1638
1639
|
hostBridges.giftSelect,
|
|
1640
|
+
moduleOtherParams.businessCode,
|
|
1641
|
+
productLoadChannel,
|
|
1639
1642
|
uiHostsValue,
|
|
1640
1643
|
salesSettingsSource,
|
|
1641
1644
|
ensureSalesSettings
|
|
@@ -80,7 +80,7 @@ function buildGiftOrderProduct(choice, productData, ctx) {
|
|
|
80
80
|
product_bundle: [],
|
|
81
81
|
metadata: {
|
|
82
82
|
unique_identification_number: uid,
|
|
83
|
-
source_product_price:
|
|
83
|
+
source_product_price: finalOriginal,
|
|
84
84
|
main_product_original_price: finalOriginal,
|
|
85
85
|
main_product_selling_price: "0.00",
|
|
86
86
|
price_schema_version: 2,
|
|
@@ -139,7 +139,7 @@ function applyGiftMetadataToOrderProduct(orderLine, choice, productData, ctx) {
|
|
|
139
139
|
}],
|
|
140
140
|
metadata: _objectSpread2(_objectSpread2({}, metadata), {}, {
|
|
141
141
|
unique_identification_number: metadata.unique_identification_number || orderLine.unique_identification_number || createUuidV4(),
|
|
142
|
-
source_product_price:
|
|
142
|
+
source_product_price: finalOriginal,
|
|
143
143
|
main_product_original_price: finalOriginal,
|
|
144
144
|
main_product_selling_price: "0.00",
|
|
145
145
|
price_schema_version: 2,
|
|
@@ -130,7 +130,7 @@ function _resolveSingleBookingGiftChoice() {
|
|
|
130
130
|
* 行为:
|
|
131
131
|
* - 唯一且无规格/套餐的普通赠品:自动构造赠品行
|
|
132
132
|
* - 唯一且无规格/套餐的预约赠品:复用 sale 加车决策链补齐预约信息
|
|
133
|
-
* -
|
|
133
|
+
* - 关闭自动选择、有规格/套餐、多候选或购物车重选:通过 bridge 打开赠品弹窗
|
|
134
134
|
* - 用户取消:返回 null
|
|
135
135
|
*
|
|
136
136
|
* @example
|
|
@@ -148,7 +148,7 @@ function createOpenGiftSelectHost(bridge, getBookingTicket, options) {
|
|
|
148
148
|
if (!shouldOpenGiftSelectModal(ctx)) return null;
|
|
149
149
|
yield ensureGiftSalesSettings(options || {}, bookingTicket);
|
|
150
150
|
let choices = null;
|
|
151
|
-
if (ctx.giftOptions.length === 1 && ctx.mode !== "edit") {
|
|
151
|
+
if ((options === null || options === void 0 ? void 0 : options.autoSelectSingleGift) !== false && ctx.giftOptions.length === 1 && ctx.mode !== "edit") {
|
|
152
152
|
var _bookingTicket$getPro;
|
|
153
153
|
const option = ctx.giftOptions[0];
|
|
154
154
|
const products = yield (_bookingTicket$getPro = bookingTicket.getProductByIds) === null || _bookingTicket$getPro === void 0 ? void 0 : _bookingTicket$getPro.call(bookingTicket, [Number(option.product_id)]);
|
|
@@ -31,4 +31,4 @@ function subscribeBookingDateChange(bookingTicket, callback) {
|
|
|
31
31
|
return typeof off === "function" ? off : () => {};
|
|
32
32
|
}
|
|
33
33
|
//#endregion
|
|
34
|
-
export {
|
|
34
|
+
export { formatBookingDateTime, subscribeBookingDateChange };
|
|
@@ -102,4 +102,4 @@ function buildHolderListRequestKey(params) {
|
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
//#endregion
|
|
105
|
-
export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, enrichCartProductHolderDisplay,
|
|
105
|
+
export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, enrichCartProductHolderDisplay, resolveHolderDisplayConfig };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthMethodType,
|
|
1
|
+
import { AuthMethodType, VerificationMethod } from "./shared/types.js";
|
|
2
2
|
import { Login2, Login2Config, Login2Events, Login2Props } from "./Login2.js";
|
|
3
3
|
import { Register2, Register2Config, Register2Events, Register2Props } from "./Register2.js";
|
|
4
|
-
import { AuthModal } from "./AuthModal.js";
|
|
4
|
+
import { AuthModal, AuthModalProps } from "./AuthModal.js";
|
|
@@ -226,4 +226,4 @@ interface RegisterFormData {
|
|
|
226
226
|
verification_token?: string;
|
|
227
227
|
}
|
|
228
228
|
//#endregion
|
|
229
|
-
export { AuthMethodType, EmailAuthConfig,
|
|
229
|
+
export { AuthMethodType, EmailAuthConfig, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
const localeTexts = {
|
|
4
4
|
en: {
|
|
5
5
|
"pisell2.hdl-kiosk.primary-select": "Choose your item",
|
|
6
|
+
"pisell2.hdl-kiosk.primary-weighted-zone": "Build your bowl",
|
|
7
|
+
"pisell2.hdl-kiosk.primary-standard-zone": "Set meals",
|
|
6
8
|
"pisell2.hdl-kiosk.primary-select-description": "Tap an item to continue ordering",
|
|
7
9
|
"pisell2.hdl-kiosk.primary-select-close": "Close item selection",
|
|
8
10
|
"pisell2.hdl-kiosk.primary-image-unavailable": "No product image",
|
|
@@ -254,6 +256,8 @@ const localeTexts = {
|
|
|
254
256
|
},
|
|
255
257
|
"zh-CN": {
|
|
256
258
|
"pisell2.hdl-kiosk.primary-select": "请选择商品",
|
|
259
|
+
"pisell2.hdl-kiosk.primary-weighted-zone": "自选称重",
|
|
260
|
+
"pisell2.hdl-kiosk.primary-standard-zone": "套餐",
|
|
257
261
|
"pisell2.hdl-kiosk.primary-select-description": "点击商品,继续点单",
|
|
258
262
|
"pisell2.hdl-kiosk.primary-select-close": "关闭商品选择",
|
|
259
263
|
"pisell2.hdl-kiosk.primary-image-unavailable": "暂无商品图片",
|
|
@@ -505,6 +509,8 @@ const localeTexts = {
|
|
|
505
509
|
},
|
|
506
510
|
"zh-HK": {
|
|
507
511
|
"pisell2.hdl-kiosk.primary-select": "請選擇商品",
|
|
512
|
+
"pisell2.hdl-kiosk.primary-weighted-zone": "自選稱重",
|
|
513
|
+
"pisell2.hdl-kiosk.primary-standard-zone": "套餐",
|
|
508
514
|
"pisell2.hdl-kiosk.primary-select-description": "點擊商品,繼續點單",
|
|
509
515
|
"pisell2.hdl-kiosk.primary-select-close": "關閉商品選擇",
|
|
510
516
|
"pisell2.hdl-kiosk.primary-image-unavailable": "暫無商品圖片",
|
|
@@ -756,6 +762,8 @@ const localeTexts = {
|
|
|
756
762
|
},
|
|
757
763
|
ja: {
|
|
758
764
|
"pisell2.hdl-kiosk.primary-select": "商品を選んでください",
|
|
765
|
+
"pisell2.hdl-kiosk.primary-weighted-zone": "量り売り",
|
|
766
|
+
"pisell2.hdl-kiosk.primary-standard-zone": "セットメニュー",
|
|
759
767
|
"pisell2.hdl-kiosk.primary-select-description": "商品をタップして注文を続ける",
|
|
760
768
|
"pisell2.hdl-kiosk.primary-select-close": "商品選択を閉じる",
|
|
761
769
|
"pisell2.hdl-kiosk.primary-image-unavailable": "商品画像がありません",
|
|
@@ -1007,6 +1015,8 @@ const localeTexts = {
|
|
|
1007
1015
|
},
|
|
1008
1016
|
pt: {
|
|
1009
1017
|
"pisell2.hdl-kiosk.primary-select": "Escolha o produto",
|
|
1018
|
+
"pisell2.hdl-kiosk.primary-weighted-zone": "Escolha por peso",
|
|
1019
|
+
"pisell2.hdl-kiosk.primary-standard-zone": "Menus de conjunto",
|
|
1010
1020
|
"pisell2.hdl-kiosk.primary-select-description": "Toque num produto para continuar o pedido",
|
|
1011
1021
|
"pisell2.hdl-kiosk.primary-select-close": "Fechar seleção de produto",
|
|
1012
1022
|
"pisell2.hdl-kiosk.primary-image-unavailable": "Sem imagem do produto",
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1080" height="1920" viewBox="0 0 1080 1920" fill="none">
|
|
2
|
+
<defs>
|
|
3
|
+
<pattern id="linen" width="12" height="12" patternUnits="userSpaceOnUse">
|
|
4
|
+
<path d="M0 3h12M0 9h12M3 0v12M9 0v12" stroke="#bba68c" stroke-width=".6" opacity=".07"/>
|
|
5
|
+
<path d="M0 4h12M0 10h12M4 0v12M10 0v12" stroke="#fffdf6" stroke-width=".6" opacity=".25"/>
|
|
6
|
+
</pattern>
|
|
7
|
+
<pattern id="cloth-edge" width="28" height="28" patternUnits="userSpaceOnUse">
|
|
8
|
+
<path d="m-7 7 28-28M0 28 28 0m-7 49 28-28" stroke="#9b4050" stroke-width="2" opacity=".06"/>
|
|
9
|
+
</pattern>
|
|
10
|
+
</defs>
|
|
11
|
+
<path fill="#eee8dc" d="M0 0h1080v1920H0z"/>
|
|
12
|
+
<path fill="url(#linen)" d="M0 0h1080v1920H0z"/>
|
|
13
|
+
<path fill="url(#cloth-edge)" d="M0 0h32v1920H0zm1048 0h32v1920h-32z"/>
|
|
14
|
+
<g stroke="#a88570" stroke-width="2" opacity=".2">
|
|
15
|
+
<ellipse cx="1080" cy="320" rx="184" ry="66"/>
|
|
16
|
+
<ellipse cx="1080" cy="320" rx="159" ry="47"/>
|
|
17
|
+
<path d="M900 332c29 117 84 164 180 164s151-47 180-164m-290 150h220"/>
|
|
18
|
+
<path d="m-32 730 143-320m-124 327L133 421" stroke-width="5" stroke-linecap="round"/>
|
|
19
|
+
<ellipse cx="-30" cy="1235" rx="170" ry="61"/>
|
|
20
|
+
<ellipse cx="-30" cy="1235" rx="146" ry="43"/>
|
|
21
|
+
<path d="M-196 1246c26 107 76 150 166 150s140-43 166-150"/>
|
|
22
|
+
<path d="m992 1530 128-296m-109 304 130-293" stroke-width="5" stroke-linecap="round"/>
|
|
23
|
+
</g>
|
|
24
|
+
</svg>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const require_runtime = require("../../../../../_virtual/_rolldown/runtime.js");
|
|
2
|
+
const require_useStableInstanceId = require("../../../../../hooks/useStableInstanceId.js");
|
|
2
3
|
const require_index = require("../../../components/shell/HDLKioskBottomBarHost/index.js");
|
|
3
4
|
const require_index$1 = require("../../../components/shell/HDLKioskOrderSummary/index.js");
|
|
4
5
|
const require_product = require("../../../product.js");
|
|
@@ -11,14 +12,15 @@ let _pisell_utils = require("@pisell/utils");
|
|
|
11
12
|
let decimal_js = require("decimal.js");
|
|
12
13
|
decimal_js = require_runtime.__toESM(decimal_js);
|
|
13
14
|
//#region src/components/HDLKiosk/slices/customization/PrimaryProductSelection/index.tsx
|
|
14
|
-
function ProductImage({ src }) {
|
|
15
|
+
function ProductImage({ src, name }) {
|
|
15
16
|
const [failed, setFailed] = (0, react.useState)(false);
|
|
16
17
|
return /* @__PURE__ */ react.default.createElement("span", {
|
|
17
18
|
className: "hdl-ps-product-image",
|
|
18
19
|
"aria-hidden": "true"
|
|
19
|
-
}, failed || !src ? /* @__PURE__ */ react.default.createElement("span", { className: "hdl-ps-image-fallback" }, _pisell_utils.locales.getText("pisell2.hdl-kiosk.primary-image-unavailable")) : /* @__PURE__ */ react.default.createElement("img", {
|
|
20
|
-
src,
|
|
20
|
+
}, failed || !src ? /* @__PURE__ */ react.default.createElement("span", { className: "hdl-ps-image-fallback" }, /* @__PURE__ */ react.default.createElement("strong", null, name), /* @__PURE__ */ react.default.createElement("span", null, _pisell_utils.locales.getText("pisell2.hdl-kiosk.primary-image-unavailable"))) : /* @__PURE__ */ react.default.createElement("img", {
|
|
21
|
+
src: _pisell_utils.image.ali(src, 750),
|
|
21
22
|
alt: "",
|
|
23
|
+
draggable: false,
|
|
22
24
|
onError: () => setFailed(true)
|
|
23
25
|
}));
|
|
24
26
|
}
|
|
@@ -26,6 +28,8 @@ function PrimaryProductSelection({ products, configuredCount, orderBar, capabili
|
|
|
26
28
|
const scale = require_scale.useHDLScaleSnapshot();
|
|
27
29
|
const delivered = (0, react.useRef)(false);
|
|
28
30
|
const heading = (0, react.useRef)(null);
|
|
31
|
+
const selectionId = require_useStableInstanceId.default("hdl-primary-selection");
|
|
32
|
+
const headingId = `${selectionId}-title`;
|
|
29
33
|
const { currencySymbol } = orderBar;
|
|
30
34
|
const items = [...products].sort((left, right) => {
|
|
31
35
|
const leftSort = Number(left.sort);
|
|
@@ -38,11 +42,22 @@ function PrimaryProductSelection({ products, configuredCount, orderBar, capabili
|
|
|
38
42
|
return {
|
|
39
43
|
product,
|
|
40
44
|
facts,
|
|
45
|
+
name: (facts === null || facts === void 0 ? void 0 : facts.name) || require_product.resolveHDLProductText(product.title) || String(product.id),
|
|
46
|
+
imageUrl: typeof product.cover === "string" ? product.cover : void 0,
|
|
41
47
|
subtitle: require_product.resolveHDLProductText(product.subtitle),
|
|
42
48
|
disabled: unavailable || scaleUnavailable,
|
|
43
49
|
reason: _pisell_utils.locales.getText(scaleUnavailable ? "pisell2.hdl-kiosk.entry-scale-unavailable" : "pisell2.hdl-kiosk.primary-unavailable")
|
|
44
50
|
};
|
|
45
51
|
});
|
|
52
|
+
const groups = ["weighted", "standard"].map((kind) => ({
|
|
53
|
+
kind,
|
|
54
|
+
title: _pisell_utils.locales.getText(kind === "weighted" ? "pisell2.hdl-kiosk.primary-weighted-zone" : "pisell2.hdl-kiosk.primary-standard-zone"),
|
|
55
|
+
items: items.filter((item) => {
|
|
56
|
+
var _item$product$variant, _item$facts;
|
|
57
|
+
const variants = (_item$product$variant = item.product.variant) !== null && _item$product$variant !== void 0 ? _item$product$variant : item.product.variants;
|
|
58
|
+
return (((_item$facts = item.facts) === null || _item$facts === void 0 ? void 0 : _item$facts.kind) === "weighted" || Number(item.product.open_sold_weight) === 1 || Array.isArray(variants) && variants.some((variant) => Number(variant === null || variant === void 0 ? void 0 : variant.open_sold_weight) === 1)) === (kind === "weighted");
|
|
59
|
+
})
|
|
60
|
+
})).filter((group) => group.items.length > 0);
|
|
46
61
|
const select = (item) => {
|
|
47
62
|
if (busy || item.disabled || !item.facts || delivered.current) return;
|
|
48
63
|
delivered.current = true;
|
|
@@ -93,45 +108,51 @@ function PrimaryProductSelection({ products, configuredCount, orderBar, capabili
|
|
|
93
108
|
]));
|
|
94
109
|
return /* @__PURE__ */ react.default.createElement("section", {
|
|
95
110
|
className: "hdl-primary-selection",
|
|
96
|
-
"aria-labelledby":
|
|
97
|
-
}, /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-dialog" }, /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-content" }, /* @__PURE__ */ react.default.createElement("
|
|
98
|
-
|
|
111
|
+
"aria-labelledby": headingId
|
|
112
|
+
}, /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-dialog" }, /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-content" }, /* @__PURE__ */ react.default.createElement("h2", {
|
|
113
|
+
className: "hdl-ps-sr-only",
|
|
114
|
+
id: headingId,
|
|
99
115
|
ref: heading,
|
|
100
116
|
tabIndex: -1
|
|
101
|
-
}, title), /* @__PURE__ */ react.default.createElement("
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
117
|
+
}, title), /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-choices" }, groups.map((group) => /* @__PURE__ */ react.default.createElement("div", {
|
|
118
|
+
className: "hdl-ps-group",
|
|
119
|
+
key: group.kind,
|
|
120
|
+
"data-zone": group.kind,
|
|
121
|
+
role: "group",
|
|
122
|
+
"aria-labelledby": `${selectionId}-${group.kind}`
|
|
123
|
+
}, /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-marker" }, /* @__PURE__ */ react.default.createElement("h3", { id: `${selectionId}-${group.kind}` }, group.title), /* @__PURE__ */ react.default.createElement("span", {
|
|
124
|
+
className: "hdl-ps-marker-line",
|
|
125
|
+
"aria-hidden": "true"
|
|
126
|
+
})), /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-products" }, group.items.map((item) => /* @__PURE__ */ react.default.createElement("div", {
|
|
127
|
+
className: "hdl-ps-image-area",
|
|
128
|
+
key: String(item.product.id)
|
|
129
|
+
}, /* @__PURE__ */ react.default.createElement("div", { className: "hdl-ps-poster-area" }, /* @__PURE__ */ react.default.createElement("button", {
|
|
130
|
+
className: "hdl-ps-product",
|
|
131
|
+
type: "button",
|
|
132
|
+
"aria-label": item.name,
|
|
133
|
+
"aria-describedby": item.disabled ? `${selectionId}-${item.product.id}-unavailable` : void 0,
|
|
134
|
+
disabled: busy || item.disabled,
|
|
135
|
+
onClick: () => select(item)
|
|
136
|
+
}, /* @__PURE__ */ react.default.createElement(ProductImage, {
|
|
137
|
+
key: item.imageUrl,
|
|
138
|
+
src: item.imageUrl,
|
|
139
|
+
name: item.name
|
|
140
|
+
}), item.subtitle ? /* @__PURE__ */ react.default.createElement("span", { className: "hdl-ps-sr-only" }, item.subtitle) : null)), item.disabled ? /* @__PURE__ */ react.default.createElement("small", {
|
|
141
|
+
className: "hdl-ps-unavailable",
|
|
142
|
+
id: `${selectionId}-${item.product.id}-unavailable`
|
|
143
|
+
}, item.reason) : null))))), !items.length ? /* @__PURE__ */ react.default.createElement("p", {
|
|
144
|
+
className: "hdl-ps-empty",
|
|
145
|
+
role: "status"
|
|
146
|
+
}, _pisell_utils.locales.getText("pisell2.hdl-kiosk.primary-unavailable")) : null), /* @__PURE__ */ react.default.createElement("button", {
|
|
126
147
|
type: "button",
|
|
127
|
-
className: "hdl-
|
|
148
|
+
className: "hdl-ps-skip",
|
|
128
149
|
disabled: busy,
|
|
129
150
|
onClick: () => {
|
|
130
151
|
if (busy || delivered.current) return;
|
|
131
152
|
delivered.current = true;
|
|
132
153
|
if (onCancel() === false) delivered.current = false;
|
|
133
154
|
}
|
|
134
|
-
}, _pisell_utils.locales.getText("pisell2.hdl-kiosk.customization-skip"))
|
|
155
|
+
}, _pisell_utils.locales.getText("pisell2.hdl-kiosk.customization-skip")))));
|
|
135
156
|
}
|
|
136
157
|
//#endregion
|
|
137
158
|
exports.PrimaryProductSelection = PrimaryProductSelection;
|