@pisell/private-materials 6.12.362 → 6.12.363

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.
Files changed (42) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/meta.js +1 -1
  5. package/build/lowcode/render/default/view.js +1 -1
  6. package/build/lowcode/view.js +1 -1
  7. package/es/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.js +1 -0
  8. package/es/components/bigSale/components/ProductList/index.js +1 -0
  9. package/es/components/bigSale/components/TimeBar/index.js +1 -0
  10. package/es/components/bigSale/dialog.js +1 -0
  11. package/es/components/bigSale/hooks/useBigSaleContext.js +1 -0
  12. package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +1 -0
  13. package/es/components/bigSale/index.js +1 -0
  14. package/es/components/bigSale/templates/Kiosk/index.js +1 -0
  15. package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +1 -0
  16. package/es/index.js +2 -0
  17. package/es/plus/multiCurrencySettlement/index.js +1 -1
  18. package/es/plus/pisellReservation/data/bookingToReservationTables.js +1 -1
  19. package/es/plus/pisellReservation/floorMap/floorPlanApi.js +1 -1
  20. package/es/plus/pisellReservation/floorMap/reservationMock.js +1 -1
  21. package/es/plus/pisellReservation/index.js +17 -0
  22. package/es/plus/saasDevice/devicePasscodes/model.js +4 -4
  23. package/es/plus/saleDetail/Base.js +1 -0
  24. package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +1 -0
  25. package/es/plus/saleDetail/components/DetailActions/PrintAction.js +1 -0
  26. package/es/plus/saleDetail/components/DetailActions/index.js +1 -0
  27. package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +1 -0
  28. package/es/plus/saleDetail/index.js +1 -0
  29. package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +1 -0
  30. package/es/plus/saleDetail/tmpl/B/index.js +1 -0
  31. package/es/plus/salesSdk/bookingEditService/BookingEditHolderField.js +66 -27
  32. package/es/plus/salesSdk/index.js +54 -0
  33. package/es/plus/salesSdk/utils/addProductWithFlowDebounced.js +1 -1
  34. package/es/plus/salesSdk/utils/bookingDate.js +1 -1
  35. package/es/plus/salesSdk/utils/enrichCartLineHolderDisplay.js +1 -1
  36. package/es/plus/walletPassGallery/components/timelineSection/index.js +4 -4
  37. package/es/pro/Login2.0/AuthModal.d.ts +1 -1
  38. package/es/pro/Login2.0/index.d.ts +2 -2
  39. package/es/pro/Login2.0/shared/types.d.ts +1 -1
  40. package/lib/plus/salesSdk/bookingEditService/BookingEditHolderField.js +65 -26
  41. package/package.json +3 -3
  42. package/es/private-materials/lowcode/authmodal/meta.d.ts +0 -1
@@ -1,5 +1,6 @@
1
1
  import useEngineContext from "../../../../hooks/useEngineContext.js";
2
2
  import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
3
+ import "../../../../plus/salesSdk/index.js";
3
4
  import dayjs from "dayjs";
4
5
  import { useCallback, useEffect, useState } from "react";
5
6
  //#region src/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.ts
@@ -15,6 +15,7 @@ import { useSalesSdkBusinessAvailability } from "../../../../plus/salesSdk/conte
15
15
  import { showAddToCartToast } from "../../../../plus/salesSdk/components/showAddToCartToast.js";
16
16
  import { mergeBookingsForDisplay } from "../../../../plus/salesSdk/utils/mergeBookingsForDisplay.js";
17
17
  import useSalesSdkGlobalScanHandler from "../../../../plus/salesSdk/hooks/useSalesSdkGlobalScanHandler.js";
18
+ import "../../../../plus/salesSdk/index.js";
18
19
  import { buildBigSaleProductListPreferencesKey, readBigSaleProductListPreferences, readStoredBigSaleProductListPreferences, removeBigSaleProductListPreferences, resolveBigSaleAutoProductListPreferences, writeBigSaleProductListPreferences } from "../../utils/productListPreferences.js";
19
20
  import { resolveBigSaleProductDisplayConfig, useBigSaleProductListConfig } from "../../hooks/useBigSaleProductListConfig.js";
20
21
  import locales_default from "../../locales/index.js";
@@ -5,6 +5,7 @@ import useInitLocalesOnce from "../../../../hooks/useInitLocalesOnce.js";
5
5
  import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
6
6
  import { setBookingTimeSelectionIntent } from "../../../../plus/salesSdk/utils/bookingTimeSelection.js";
7
7
  import { useSalesSdkBookingContext } from "../../../../plus/salesSdk/context/SalesSdkBookingContext.js";
8
+ import "../../../../plus/salesSdk/index.js";
8
9
  import locales_default from "../../locales/index.js";
9
10
  import { getPosWeekStartsOn, resolvePosCountryCode } from "../../../../utils/posDateLocale.js";
10
11
  import dayjs from "dayjs";
@@ -6,6 +6,7 @@ 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";
9
10
  import { isPersistedBigSaleOrderId } from "./utils/orderIdentity.js";
10
11
  import { seedDineInReservationToCart } from "../../plus/pisellReservation/utils/seedDineInReservationToCart.js";
11
12
  import BigSale from "./index.js";
@@ -4,6 +4,7 @@ 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";
7
8
  import { useMemo } from "react";
8
9
  //#region src/components/bigSale/hooks/useBigSaleContext.ts
9
10
  /**
@@ -3,6 +3,7 @@ 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";
6
7
  import { isPersistedBigSaleOrderId } from "../utils/orderIdentity.js";
7
8
  import { resolveOrderIdForHostActions } from "../../../plus/pisellReservation/components/bookingDetailModal/bookingDetailHostActions.js";
8
9
  import { usePicoCodingOpenData } from "../../../plus/pisellReservation/hooks/usePicoCodingOpenData.js";
@@ -8,6 +8,7 @@ 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";
11
12
  import { resolveCustomerDetailAppearance } from "../../pro/skuDetailModal/customerDetailPolicy.js";
12
13
  import { ResponsiveBigSaleBase } from "./Base.js";
13
14
  import { isBigSaleProductSelectionFlowScene, resolveBigSaleSelectionFlowConfig } from "./selectionFlowConfig.js";
@@ -12,6 +12,7 @@ import { useSalesSdkBusinessAvailability } from "../../../../plus/salesSdk/conte
12
12
  import { collectUnassignedHolderLines } from "../../../../plus/salesSdk/utils/holderSubmitValidation.js";
13
13
  import { isFulfillmentTimingBooking } from "../../../../plus/salesSdk/utils/fulfillmentTimingBooking.js";
14
14
  import { useSalesSdk } from "../../../../plus/salesSdk/hooks/useSalesSdk.js";
15
+ import "../../../../plus/salesSdk/index.js";
15
16
  import { usePickSaleDetailContext } from "../../hooks/usePickSaleDetailContext.js";
16
17
  import { resolveBigSaleAutoProductListPreferences } from "../../utils/productListPreferences.js";
17
18
  import { resolveBigSaleProductDisplayConfig } from "../../hooks/useBigSaleProductListConfig.js";
@@ -2,6 +2,7 @@ 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 { getTempOrderSyncPayload, shouldApplySharedTempOrderPayload } from "../../plus/salesSdk/tempOrderSync.js";
5
+ import "../../plus/salesSdk/index.js";
5
6
  import { useEffect, useRef } from "react";
6
7
  import { useMemoizedFn } from "ahooks";
7
8
  //#region src/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.tsx
package/es/index.js CHANGED
@@ -90,6 +90,7 @@ 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";
93
94
  import BigSaleRightActionPanel from "./components/BigSaleRightActionPanel/index.js";
94
95
  import ResponsiveWrapper from "./components/list/ResponsiveWrapper.js";
95
96
  import { resolveBigSaleSelectionFlowConfig } from "./components/bigSale/selectionFlowConfig.js";
@@ -144,6 +145,7 @@ import PisellVenueControlPage from "./plus/pisellReservation/PisellVenueControlP
144
145
  import PisellVenueWallPage from "./plus/pisellReservation/PisellVenueWallPage.js";
145
146
  import PisellReservationTablePage from "./plus/pisellReservation/PisellReservationTablePage.js";
146
147
  import SelectFloorMapResourceDialog from "./plus/pisellReservation/components/SelectFloorMapResourceDialog.js";
148
+ import "./plus/pisellReservation/index.js";
147
149
  import { PisellTopology, PisellTopologyCore } from "./plus/pisellTopology/PisellTopology.js";
148
150
  import cupProject_default from "./components/ecocup/cupProject/index.js";
149
151
  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, formatSettlementAmount, formatSettlementSelectionTotal, formatTempOrderSettlementAmount, getSettlementKey, getSettlementOptions, hasSettlementOptions, hasSufficientVirtualCurrencyBalance, isVirtualOnlySettlementProduct, isVirtualSettlementTempOrder, resolveConfiguredUnavailableReason, resolveLegalSettlementAddOnUnitPrice, resolveSettlementOptionEntries, resolveVirtualSettlementErrorMessage, showVirtualSettlementErrorToast };
283
+ export { attachSelectedSettlement, buildSettlementPriceRows, createVirtualOnlySkuDisplayProduct, findFirstVirtualCurrencyAsset, formatSettlementAmount, formatSettlementSelectionTotal, formatTempOrderSettlementAmount, getReservedVirtualSettlementAmount, 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, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord };
262
+ export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds, hostBookingStatusToCardStatus, 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, ensureShopFloorPlanByCode, saveViewConfigToShopFloorPlan, shopLayoutToSceneElements$1 as shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError, unsubscribeShopFloorPlanCodeQuery };
81
+ export { PISELL_RESERVATION_FLOOR_PLAN_CODE, buildDefaultReservationFloorPlanPostBody, ensureShopFloorPlanByCode, putShopFloorPlan, 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, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
930
+ export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels, defaultReservationSceneElements, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
@@ -0,0 +1,17 @@
1
+ import "./serve/formResourcePage.js";
2
+ import "./floorRoomCard/mapRowToFloorRoomCardData.js";
3
+ import "./floorRoomCard/ReservationFloorRoomCard.js";
4
+ import "./floorMap/reservationMock.js";
5
+ import "./floorMap/floorPlanApi.js";
6
+ import "./reservationConstants.js";
7
+ import "./data/bookingToReservationTables.js";
8
+ import "./data/formResourceToReservationTables.js";
9
+ import "./data/salesEmbeddedResourceToTableRows.js";
10
+ import "./floorMap/reservationCards.js";
11
+ import "./PisellReservation.js";
12
+ import "./PisellReservationBookingPage.js";
13
+ import "./PisellVenueControlPage.js";
14
+ import "./PisellVenueWallPage.js";
15
+ import "./PisellReservationTablePage.js";
16
+ import "./components/SelectFloorMapResourceDialog.js";
17
+ export {};
@@ -1,10 +1,10 @@
1
1
  import { _objectSpread2 } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
2
2
  import dayjs from "dayjs";
3
- import timezone from "dayjs/plugin/timezone";
4
- import utc from "dayjs/plugin/utc";
3
+ import timezonePlugin from "dayjs/plugin/timezone";
4
+ import utcPlugin from "dayjs/plugin/utc";
5
5
  //#region src/plus/saasDevice/devicePasscodes/model.ts
6
- dayjs.extend(utc);
7
- dayjs.extend(timezone);
6
+ dayjs.extend(utcPlugin);
7
+ dayjs.extend(timezonePlugin);
8
8
  const INITIAL_DEVICE_PASSCODE_STATE = {
9
9
  deviceIds: [],
10
10
  devicesById: {}
@@ -13,6 +13,7 @@ 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";
16
17
  import locales_default$1 from "./components/LineItem/locales.js";
17
18
  import { SaleOrderActionBoundary } from "./actions/index.js";
18
19
  import { SaleDetailTemplateRenderer } from "./tmpl/index.js";
@@ -1,6 +1,7 @@
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";
4
5
  import { useMemo } from "react";
5
6
  import { useMemoizedFn } from "ahooks";
6
7
  //#region src/plus/saleDetail/components/Client/hooks/useClientSelectorProps.ts
@@ -4,6 +4,7 @@ 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";
7
8
  import { invokeLocalReceiptPrint, resolveLocalReceiptPrintModule, resolveSaleDetailOrderIdFromSales } from "./utils.js";
8
9
  import { getRemotePrintActions, getWristbandList } from "../../serve.js";
9
10
  import { EBizPrintType } from "./types.js";
@@ -10,6 +10,7 @@ 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";
13
14
  import { resolveSaleDetailTempOrder } from "../../utils.js";
14
15
  import { getNumericAmount, getSalesHostModule, resolveSaleDetailOrderIdFromSales, resolveSaleDetailOrderIdFromSalesResult, shouldCloseDialogAfterCheckout, updateLocalOrder } from "./utils.js";
15
16
  import { deriveSaleOrderSubmitState } from "../../actions/state.js";
@@ -5,6 +5,7 @@ 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";
8
9
  import { resolveSaleDetailTempOrder } from "../../utils.js";
9
10
  import React, { memo, useMemo } from "react";
10
11
  import { formatAmount, locales } from "@pisell/utils";
@@ -5,6 +5,7 @@ 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";
8
9
  import Base_default from "./Base.js";
9
10
  import { resolveSaleDetailOsProps } from "./osProps.js";
10
11
  import React, { forwardRef, useImperativeHandle } from "react";
@@ -1,6 +1,7 @@
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";
4
5
  import { SaleDetailStatusOverview } from "../shared/StatusOverview.js";
5
6
  import { DishGroupView } from "./DishGroupView.js";
6
7
  import dayjs from "dayjs";
@@ -1,6 +1,7 @@
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";
4
5
  import { getInternalNotesByScheduleEvent } from "../../serve.js";
5
6
  import { TEMPLATE_B_PAY_ACTIONS, TEMPLATE_B_SUMMARY_ACTIONS } from "../../components/DetailActions/configs/index.js";
6
7
  import { DetailActions } from "../../components/DetailActions/index.js";
@@ -13,7 +13,7 @@ import { buildHolderListRequestParams } from "../utils/enrichCartLineHolderDispl
13
13
  import { useSalesSdkHolderOptional } from "../context/SalesSdkHolderContext.js";
14
14
  import { SalesSdkSelectHolderModal } from "../components/SalesSdkSelectHolderModal.js";
15
15
  import { useBookingEditPetState } from "./useBookingEditPetState.js";
16
- import React, { useCallback, useEffect, useMemo, useState } from "react";
16
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
17
17
  import { Button, Col, Row, message } from "antd";
18
18
  import { locales } from "@pisell/utils";
19
19
  import { Iconfont } from "@pisell/materials";
@@ -31,7 +31,7 @@ function hasHolderFormFields(formDataConfig) {
31
31
  return Array.isArray(formDataConfig === null || formDataConfig === void 0 ? void 0 : formDataConfig.field) || Array.isArray(formDataConfig === null || formDataConfig === void 0 ? void 0 : formDataConfig.form_field);
32
32
  }
33
33
  const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, getCurrentCacheItem, presentation = "modal" }) => {
34
- var _context$appHelper, _currentCacheItem$_ex, _cacheItem$_extend, _inlinePet$formData, _state$pet, _state$pet6, _state$pet7, _state$pet8, _inlineState$pet2, _state$client2, _inlineState$client5;
34
+ var _context$appHelper, _currentCacheItem$_ex, _cacheItem$_extend, _inlinePet$formData, _state$pet, _state$pet6, _state$pet7, _state$pet8, _inlineState$client, _inlineState$pet2, _state$client2, _inlineState$client6;
35
35
  const bridges = useSalesSdkHostBridges();
36
36
  const platform = usePlatform();
37
37
  const context = useEngineContext();
@@ -122,6 +122,33 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
122
122
  const handleApply = useCallback((nextValues) => {
123
123
  onChange === null || onChange === void 0 || onChange(nextValues);
124
124
  }, [onChange]);
125
+ const defaultSelectionKey = JSON.stringify([inlineState === null || inlineState === void 0 || (_inlineState$client = inlineState.client) === null || _inlineState$client === void 0 || (_inlineState$client = _inlineState$client.value) === null || _inlineState$client === void 0 ? void 0 : _inlineState$client.id, currentHolderFormId]);
126
+ const defaultSelectionRef = useRef(null);
127
+ useEffect(() => {
128
+ var _ref4, _holder$id;
129
+ if (!isInline || !isRequired || maxSelectedCount !== 1) return;
130
+ if (defaultSelectionRef.current === defaultSelectionKey) return;
131
+ if (selectedValues.length) {
132
+ defaultSelectionRef.current = defaultSelectionKey;
133
+ return;
134
+ }
135
+ if (!Array.isArray(inlinePet.holders)) return;
136
+ if (inlinePet.holders.length !== 1) return;
137
+ const holder = inlinePet.holders[0];
138
+ const id = (_ref4 = (_holder$id = holder === null || holder === void 0 ? void 0 : holder.id) !== null && _holder$id !== void 0 ? _holder$id : holder === null || holder === void 0 ? void 0 : holder.form_record_id) !== null && _ref4 !== void 0 ? _ref4 : holder === null || holder === void 0 ? void 0 : holder.value;
139
+ if (id == null) return;
140
+ defaultSelectionRef.current = defaultSelectionKey;
141
+ setSelectedValues([id]);
142
+ handleApply([id]);
143
+ }, [
144
+ defaultSelectionKey,
145
+ handleApply,
146
+ inlinePet.holders,
147
+ isInline,
148
+ isRequired,
149
+ maxSelectedCount,
150
+ selectedValues
151
+ ]);
125
152
  const { formDataConfig, isMinorAndWaiver } = useMemo(() => {
126
153
  var _inlineState$pet;
127
154
  const productHolderFormData = inlineState === null || inlineState === void 0 || (_inlineState$pet = inlineState.pet) === null || _inlineState$pet === void 0 || (_inlineState$pet = _inlineState$pet.formData) === null || _inlineState$pet === void 0 ? void 0 : _inlineState$pet[0];
@@ -139,9 +166,9 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
139
166
  };
140
167
  }, [inlineState === null || inlineState === void 0 || (_inlineState$pet2 = inlineState.pet) === null || _inlineState$pet2 === void 0 ? void 0 : _inlineState$pet2.formData]);
141
168
  const refreshHoldersFromServer = useMemoizedFn(_asyncToGenerator(function* () {
142
- var _inlineState$client;
169
+ var _inlineState$client2;
143
170
  const params = buildHolderListRequestParams({
144
- customerId: inlineState === null || inlineState === void 0 || (_inlineState$client = inlineState.client) === null || _inlineState$client === void 0 || (_inlineState$client = _inlineState$client.value) === null || _inlineState$client === void 0 ? void 0 : _inlineState$client.id,
171
+ customerId: inlineState === null || inlineState === void 0 || (_inlineState$client2 = inlineState.client) === null || _inlineState$client2 === void 0 || (_inlineState$client2 = _inlineState$client2.value) === null || _inlineState$client2 === void 0 ? void 0 : _inlineState$client2.id,
145
172
  source: currentCacheItem
146
173
  });
147
174
  if (!params) return;
@@ -155,20 +182,23 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
155
182
  reloadHolderOptions();
156
183
  return list;
157
184
  }));
158
- const selectCreatedHolder = useMemoizedFn((holder) => {
159
- var _ref4, _holder$id;
160
- if (!isNormalProduct) return;
161
- const id = (_ref4 = (_holder$id = holder === null || holder === void 0 ? void 0 : holder.id) !== null && _holder$id !== void 0 ? _holder$id : holder === null || holder === void 0 ? void 0 : holder.form_record_id) !== null && _ref4 !== void 0 ? _ref4 : holder === null || holder === void 0 ? void 0 : holder.value;
185
+ const applyCreatedHolderSelection = useMemoizedFn((holder) => {
186
+ var _ref5, _holder$id2;
187
+ const id = (_ref5 = (_holder$id2 = holder === null || holder === void 0 ? void 0 : holder.id) !== null && _holder$id2 !== void 0 ? _holder$id2 : holder === null || holder === void 0 ? void 0 : holder.form_record_id) !== null && _ref5 !== void 0 ? _ref5 : holder === null || holder === void 0 ? void 0 : holder.value;
162
188
  if (id == null || selectedValues.some((value) => String(value) === String(id))) return;
163
189
  const nextValues = maxSelectedCount === 1 ? [id] : [...selectedValues.slice(0, Math.max(0, maxSelectedCount - 1)), id];
164
190
  setSelectedValues(nextValues);
165
191
  handleApply(nextValues);
166
192
  });
193
+ const selectCreatedHolder = useMemoizedFn((holder) => {
194
+ if (!isNormalProduct) return;
195
+ applyCreatedHolderSelection(holder);
196
+ });
167
197
  const handleAddHolder = useMemoizedFn(() => {
168
198
  if (!action || !inlineState) return;
169
199
  (function() {
170
- var _ref8 = _asyncToGenerator(function* () {
171
- var _inlineState$pet3, _waiverForm$form_id, _inlineState$client2, _inlineState$client3;
200
+ var _ref11 = _asyncToGenerator(function* () {
201
+ var _inlineState$pet3, _waiverForm$form_id, _inlineState$client3, _inlineState$pet4, _inlineState$client4;
172
202
  let waiverForm = (_inlineState$pet3 = inlineState.pet) === null || _inlineState$pet3 === void 0 ? void 0 : _inlineState$pet3.waiverForm;
173
203
  if (isMinorAndWaiver && !hasHolderFormFields(waiverForm)) {
174
204
  waiverForm = yield getCachedWaiverFormDetail(Number(isMinorAndWaiver), platform);
@@ -179,37 +209,45 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
179
209
  }
180
210
  const resolvedActionFormDataConfig = ensureProductHolderFormId(isMinorAndWaiver ? _objectSpread2(_objectSpread2({}, waiverForm), {}, {
181
211
  form_id: (_waiverForm$form_id = waiverForm === null || waiverForm === void 0 ? void 0 : waiverForm.form_id) !== null && _waiverForm$form_id !== void 0 ? _waiverForm$form_id : Number(isMinorAndWaiver),
182
- customer_id: (_inlineState$client2 = inlineState.client) === null || _inlineState$client2 === void 0 || (_inlineState$client2 = _inlineState$client2.value) === null || _inlineState$client2 === void 0 ? void 0 : _inlineState$client2.id,
212
+ customer_id: (_inlineState$client3 = inlineState.client) === null || _inlineState$client3 === void 0 || (_inlineState$client3 = _inlineState$client3.value) === null || _inlineState$client3 === void 0 ? void 0 : _inlineState$client3.id,
183
213
  is_franchisor: formDataConfig === null || formDataConfig === void 0 ? void 0 : formDataConfig.is_franchisor
184
214
  }) : _objectSpread2({}, formDataConfig || {}), currentCacheItem);
185
215
  if (resolvedActionFormDataConfig.form_id === void 0 || resolvedActionFormDataConfig.form_id === null || resolvedActionFormDataConfig.form_id === "") {
186
216
  message.error(locales.getText("pisell-select-holder-form-unavailable"));
187
217
  return;
188
218
  }
219
+ const previousHolderIds = new Set((((_inlineState$pet4 = inlineState.pet) === null || _inlineState$pet4 === void 0 ? void 0 : _inlineState$pet4.holders) || []).map((holder) => {
220
+ var _ref6, _holder$id3;
221
+ return String((_ref6 = (_holder$id3 = holder.id) !== null && _holder$id3 !== void 0 ? _holder$id3 : holder.form_record_id) !== null && _ref6 !== void 0 ? _ref6 : holder.value);
222
+ }));
189
223
  action({
190
224
  type: "pisell1.goCustomFormAddData",
191
225
  data: {
192
226
  zIndex: 1101,
193
- customerId: (_inlineState$client3 = inlineState.client) === null || _inlineState$client3 === void 0 || (_inlineState$client3 = _inlineState$client3.value) === null || _inlineState$client3 === void 0 ? void 0 : _inlineState$client3.id,
227
+ customerId: (_inlineState$client4 = inlineState.client) === null || _inlineState$client4 === void 0 || (_inlineState$client4 = _inlineState$client4.value) === null || _inlineState$client4 === void 0 ? void 0 : _inlineState$client4.id,
194
228
  formDataConfig: resolvedActionFormDataConfig
195
229
  },
196
230
  callback: function() {
197
- var _ref7 = _asyncToGenerator(function* (res) {
198
- var _inlineState$client4, _inlineState$pet5;
231
+ var _ref10 = _asyncToGenerator(function* (res) {
232
+ var _inlineState$client5, _inlineState$pet6;
199
233
  const obj = {};
200
234
  for (const item of Array.isArray(res) ? res : []) obj[item.key] = item.value;
201
235
  if (isMinorAndWaiver) {
202
236
  try {
203
237
  const list = yield refreshHoldersFromServer();
238
+ if (isInline && !isNormalProduct) applyCreatedHolderSelection(list === null || list === void 0 ? void 0 : list.find((holder) => {
239
+ var _ref7, _holder$id4;
240
+ return !previousHolderIds.has(String((_ref7 = (_holder$id4 = holder.id) !== null && _holder$id4 !== void 0 ? _holder$id4 : holder.form_record_id) !== null && _ref7 !== void 0 ? _ref7 : holder.value));
241
+ }));
204
242
  if (isNormalProduct) {
205
- var _inlineState$pet4;
206
- const previousIds = new Set((((_inlineState$pet4 = inlineState.pet) === null || _inlineState$pet4 === void 0 ? void 0 : _inlineState$pet4.holders) || []).map((holder) => {
207
- var _ref5, _holder$id2;
208
- return String((_ref5 = (_holder$id2 = holder.id) !== null && _holder$id2 !== void 0 ? _holder$id2 : holder.form_record_id) !== null && _ref5 !== void 0 ? _ref5 : holder.value);
243
+ var _inlineState$pet5;
244
+ const previousIds = new Set((((_inlineState$pet5 = inlineState.pet) === null || _inlineState$pet5 === void 0 ? void 0 : _inlineState$pet5.holders) || []).map((holder) => {
245
+ var _ref8, _holder$id5;
246
+ return String((_ref8 = (_holder$id5 = holder.id) !== null && _holder$id5 !== void 0 ? _holder$id5 : holder.form_record_id) !== null && _ref8 !== void 0 ? _ref8 : holder.value);
209
247
  }));
210
248
  selectCreatedHolder(list === null || list === void 0 ? void 0 : list.find((holder) => {
211
- var _ref6, _holder$id3;
212
- return !previousIds.has(String((_ref6 = (_holder$id3 = holder.id) !== null && _holder$id3 !== void 0 ? _holder$id3 : holder.form_record_id) !== null && _ref6 !== void 0 ? _ref6 : holder.value));
249
+ var _ref9, _holder$id6;
250
+ return !previousIds.has(String((_ref9 = (_holder$id6 = holder.id) !== null && _holder$id6 !== void 0 ? _holder$id6 : holder.form_record_id) !== null && _ref9 !== void 0 ? _ref9 : holder.value));
213
251
  }));
214
252
  }
215
253
  } catch (err) {
@@ -217,22 +255,23 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
217
255
  }
218
256
  return;
219
257
  }
220
- if (isWalkIn((_inlineState$client4 = inlineState.client) === null || _inlineState$client4 === void 0 || (_inlineState$client4 = _inlineState$client4.value) === null || _inlineState$client4 === void 0 ? void 0 : _inlineState$client4.id)) return;
258
+ if (isWalkIn((_inlineState$client5 = inlineState.client) === null || _inlineState$client5 === void 0 || (_inlineState$client5 = _inlineState$client5.value) === null || _inlineState$client5 === void 0 ? void 0 : _inlineState$client5.id)) return;
221
259
  inlineDispatch({
222
260
  type: "setPet",
223
- payload: { holders: [obj, ...((_inlineState$pet5 = inlineState.pet) === null || _inlineState$pet5 === void 0 ? void 0 : _inlineState$pet5.holders) || []] }
261
+ payload: { holders: [obj, ...((_inlineState$pet6 = inlineState.pet) === null || _inlineState$pet6 === void 0 ? void 0 : _inlineState$pet6.holders) || []] }
224
262
  });
225
263
  upsertHolderOptions([obj], currentCacheItem);
264
+ if (isInline && !isNormalProduct) applyCreatedHolderSelection(obj);
226
265
  selectCreatedHolder(obj);
227
266
  });
228
267
  return function callback(_x) {
229
- return _ref7.apply(this, arguments);
268
+ return _ref10.apply(this, arguments);
230
269
  };
231
270
  }()
232
271
  });
233
272
  });
234
273
  return function run() {
235
- return _ref8.apply(this, arguments);
274
+ return _ref11.apply(this, arguments);
236
275
  };
237
276
  })()().catch((error) => {
238
277
  console.warn("[SalesSdk] open add holder form failed", error);
@@ -244,7 +283,7 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
244
283
  handleApply(nextValues);
245
284
  }, [handleApply]);
246
285
  const handleEdit = useCallback(function() {
247
- var _ref9 = _asyncToGenerator(function* (event) {
286
+ var _ref12 = _asyncToGenerator(function* (event) {
248
287
  var _latestCacheItem$_ext, _latestCacheItem$_ext2, _state$client;
249
288
  event === null || event === void 0 || event.preventDefault();
250
289
  const latestCacheItem = (getCurrentCacheItem === null || getCurrentCacheItem === void 0 ? void 0 : getCurrentCacheItem()) || cacheItem;
@@ -263,7 +302,7 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
263
302
  }
264
303
  });
265
304
  return function(_x2) {
266
- return _ref9.apply(this, arguments);
305
+ return _ref12.apply(this, arguments);
267
306
  };
268
307
  }(), [
269
308
  bridges.holder,
@@ -298,7 +337,7 @@ const BookingEditHolderField = ({ state, cacheItem, required, value, onChange, g
298
337
  holders: inlineHolders,
299
338
  productSource: currentCacheItem,
300
339
  holderTitle: title,
301
- customerId: inlineState === null || inlineState === void 0 || (_inlineState$client5 = inlineState.client) === null || _inlineState$client5 === void 0 || (_inlineState$client5 = _inlineState$client5.value) === null || _inlineState$client5 === void 0 ? void 0 : _inlineState$client5.id,
340
+ customerId: inlineState === null || inlineState === void 0 || (_inlineState$client6 = inlineState.client) === null || _inlineState$client6 === void 0 || (_inlineState$client6 = _inlineState$client6.value) === null || _inlineState$client6 === void 0 ? void 0 : _inlineState$client6.id,
302
341
  initialValue: selectedValues,
303
342
  maxSelectedCount,
304
343
  onAddHolder: action ? handleAddHolder : void 0,
@@ -0,0 +1,54 @@
1
+ import "./hosts/createInstanceHostBridge.js";
2
+ import "./holderConfirm/createHolderConfirmBridge.js";
3
+ import "./giftSelect/createGiftSelectBridge.js";
4
+ import "./context/SalesSdkHostBridgesContext.js";
5
+ import "./utils/formatHolderOptions.js";
6
+ import "./utils/enrichCartLineHolderDisplay.js";
7
+ import "./context/SalesSdkHolderContext.js";
8
+ import "../multiCurrencySettlement/index.js";
9
+ import "./utils/customerAuthGate.js";
10
+ import "./context/SalesSdkBusinessAvailabilityContext.js";
11
+ import "./utils/appendPromotionTags.js";
12
+ import "./utils/productSkuOptions.js";
13
+ import "./context/SalesSdkUIHostsContext.js";
14
+ import "./utils/runAddProductFlow.js";
15
+ import "./components/showAddToCartToast.js";
16
+ import "./utils/resolveAddProductDebounceKey.js";
17
+ import "./utils/identity.js";
18
+ import "./utils/resolveInCartQuantityForAddToast.js";
19
+ import "./utils/addProductWithFlowDebounced.js";
20
+ import "./utils/bookingDate.js";
21
+ import "./utils/holderSubmitValidation.js";
22
+ import "./utils/removeOrderProducts.js";
23
+ import "./selectors.js";
24
+ import "./utils/enrich.js";
25
+ import "./giftSelect/createOpenGiftSelectHost.js";
26
+ import "./utils/ensureHoldersBeforeSubmit.js";
27
+ import "./hooks/useSalesSdk.js";
28
+ import "./bookingEditService/BookingEditServiceDrawer.js";
29
+ import "./hosts/BookingEditHostRenderer.js";
30
+ import "./hosts/CustomerAuthHostRenderer.js";
31
+ import "./hooks/useSalesSdkCart.js";
32
+ import "./hooks/useSalesSdkCustomer.js";
33
+ import "./normalProductDetail/NormalProductDetailHostRenderer.js";
34
+ import "./hosts/createOpenBookingEditHost.js";
35
+ import "./hosts/createOpenMultiDaySelectHost.js";
36
+ import "./hosts/createOpenHolderSelectHost.js";
37
+ import "./hosts/createOpenCustomerAuthHost.js";
38
+ import "./demo/hosts/legacyOpenProductDetail.js";
39
+ import "./hosts/createCompositeOpenProductDetailHost.js";
40
+ import "./normalProductDetail/createOpenNormalProductDetailHost.js";
41
+ import "./normalProductDetail/createOpenBookingSelectionFlowHost.js";
42
+ import "./giftSelect/GiftSelectModal.js";
43
+ import "./giftSelect/GiftSelectHostRenderer.js";
44
+ import "./allergy/AllergySelectionModal.js";
45
+ import "./context/SalesSdkProvider.js";
46
+ import "./context/SalesSdkDishContext.js";
47
+ import "./context/SalesSdkBookingContext.js";
48
+ import "./hooks/useSalesSdkSummary.js";
49
+ import "./hooks/useSalesSdkProducts.js";
50
+ import "./demo/index.js";
51
+ import "./hooks/useSalesSdkDish.js";
52
+ import "./hooks/useCurrentSalesSdkDish.js";
53
+ import "./hooks/useSyncOsModule.js";
54
+ export {};
@@ -407,4 +407,4 @@ function createAddProductWithFlowDebounced(deps) {
407
407
  };
408
408
  }
409
409
  //#endregion
410
- export { createAddProductWithFlowDebounced };
410
+ export { createAddProductWithFlowDebounced, shouldBypassAddProductDebounce };
@@ -31,4 +31,4 @@ function subscribeBookingDateChange(bookingTicket, callback) {
31
31
  return typeof off === "function" ? off : () => {};
32
32
  }
33
33
  //#endregion
34
- export { formatBookingDateTime, subscribeBookingDateChange };
34
+ export { BOOKING_CONTEXT_DATE_EVENT, formatBookingDateTime, subscribeBookingDateChange };
@@ -102,4 +102,4 @@ function buildHolderListRequestKey(params) {
102
102
  });
103
103
  }
104
104
  //#endregion
105
- export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, enrichCartProductHolderDisplay, resolveHolderDisplayConfig };
105
+ export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, enrichCartProductHolderDisplay, pickHolderIdFromBooking, resolveHolderDisplayConfig };
@@ -6,12 +6,12 @@ import React, { useCallback, useEffect, useMemo, useRef } from "react";
6
6
  import { locales } from "@pisell/utils";
7
7
  import { Button, PisellEmpty, PisellModal, PisellStatisticList, Skeleton, Timeline, usePisellConfig } from "@pisell/materials";
8
8
  import { useRequest } from "ahooks";
9
- import timezone from "dayjs/plugin/timezone";
10
- import utc from "dayjs/plugin/utc";
9
+ import timezonePlugin from "dayjs/plugin/timezone";
10
+ import utcPlugin from "dayjs/plugin/utc";
11
11
  import "./index.less";
12
12
  //#region src/plus/walletPassGallery/components/timelineSection/index.tsx
13
- dayjs.extend(timezone);
14
- dayjs.extend(utc);
13
+ dayjs.extend(timezonePlugin);
14
+ dayjs.extend(utcPlugin);
15
15
  const stateTimeUnix = 1723255863;
16
16
  const POLL_INTERVAL = 2e3;
17
17
  const POLL_MAX_TIMES = 5;
@@ -14,4 +14,4 @@ interface AuthModalProps {
14
14
  */
15
15
  declare const AuthModal: React.FC<AuthModalProps>;
16
16
  //#endregion
17
- export { AuthModal, AuthModalProps };
17
+ export { AuthModal };
@@ -1,4 +1,4 @@
1
- import { AuthMethodType, VerificationMethod } from "./shared/types.js";
1
+ import { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LoginFormData, OAuthConfig, PhoneAuthConfig, RegisterFormData, UIConfig, 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, AuthModalProps } from "./AuthModal.js";
4
+ import { AuthModal } from "./AuthModal.js";
@@ -226,4 +226,4 @@ interface RegisterFormData {
226
226
  verification_token?: string;
227
227
  }
228
228
  //#endregion
229
- export { AuthMethodType, EmailAuthConfig, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
229
+ export { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };