@pisell/private-materials 6.11.693 → 6.11.696

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 (55) 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.css +1 -1
  6. package/build/lowcode/render/default/view.js +3 -3
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +3 -3
  9. package/es/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.js +1 -0
  10. package/es/components/bigSale/components/ProductList/index.js +1 -0
  11. package/es/components/bigSale/components/TimeBar/index.js +1 -0
  12. package/es/components/bigSale/dialog.js +2 -1
  13. package/es/components/bigSale/hooks/useBigSaleContext.js +1 -0
  14. package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +1 -0
  15. package/es/components/bigSale/index.js +1 -0
  16. package/es/components/bigSale/templates/Kiosk/index.js +1 -0
  17. package/es/components/booking/addons/index.js +7 -7
  18. package/es/components/booking/components/footer/index.js +18 -13
  19. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.less +2 -2
  20. package/es/components/eventBooking/components/resourceUsability/index.less +5 -5
  21. package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +1 -0
  22. package/es/index.js +2 -0
  23. package/es/plus/multiCurrencySettlement/index.js +1 -1
  24. package/es/plus/pisellReservation/data/bookingToReservationTables.js +1 -1
  25. package/es/plus/pisellReservation/floorMap/floorPlanApi.js +1 -1
  26. package/es/plus/pisellReservation/floorMap/reservationMock.js +1 -1
  27. package/es/plus/pisellReservation/index.js +17 -0
  28. package/es/plus/saasDevice/devicePasscodes/model.js +4 -4
  29. package/es/plus/saleDetail/Base.js +1 -0
  30. package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +1 -0
  31. package/es/plus/saleDetail/components/DetailActions/PrintAction.js +1 -0
  32. package/es/plus/saleDetail/components/DetailActions/index.js +1 -0
  33. package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +1 -0
  34. package/es/plus/saleDetail/index.js +1 -0
  35. package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +1 -0
  36. package/es/plus/saleDetail/tmpl/B/index.js +1 -0
  37. package/es/plus/salesSdk/index.js +54 -0
  38. package/es/plus/salesSdk/utils/addProductWithFlowDebounced.js +1 -1
  39. package/es/plus/salesSdk/utils/bookingDate.js +1 -1
  40. package/es/plus/salesSdk/utils/enrichCartLineHolderDisplay.js +1 -1
  41. package/es/plus/skuOptionsSelection/components/OptionsModal/index.js +12 -15
  42. package/es/plus/skuOptionsSelection/components/OptionsModal/index.less +7 -6
  43. package/es/plus/walletPassGallery/components/timelineSection/index.js +4 -4
  44. package/es/pro/Login2.0/AuthModal.d.ts +1 -1
  45. package/es/pro/Login2.0/index.d.ts +2 -2
  46. package/es/pro/Login2.0/shared/types.d.ts +1 -1
  47. package/lib/components/bigSale/dialog.js +1 -1
  48. package/lib/components/booking/addons/index.js +7 -7
  49. package/lib/components/booking/components/footer/index.js +18 -13
  50. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.less +2 -2
  51. package/lib/components/eventBooking/components/resourceUsability/index.less +5 -5
  52. package/lib/plus/skuOptionsSelection/components/OptionsModal/index.js +12 -15
  53. package/lib/plus/skuOptionsSelection/components/OptionsModal/index.less +7 -6
  54. package/package.json +5 -5
  55. 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
@@ -14,6 +14,7 @@ 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";
17
18
  import { buildBigSaleProductListPreferencesKey, readBigSaleProductListPreferences, readStoredBigSaleProductListPreferences, removeBigSaleProductListPreferences, resolveBigSaleAutoProductListPreferences, writeBigSaleProductListPreferences } from "../../utils/productListPreferences.js";
18
19
  import { resolveBigSaleProductDisplayConfig, useBigSaleProductListConfig } from "../../hooks/useBigSaleProductListConfig.js";
19
20
  import locales_default from "../../locales/index.js";
@@ -4,6 +4,7 @@ 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";
7
8
  import locales_default from "../../locales/index.js";
8
9
  import { getPosWeekStartsOn, resolvePosCountryCode } from "../../../../utils/posDateLocale.js";
9
10
  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";
@@ -339,7 +340,7 @@ function BigSaleDialogBootstrap({ open, contentActive, openNonce, orderId, prelo
339
340
  */
340
341
  function BigSaleDialog(props) {
341
342
  var _createSeed$row2, _createSeed$row$id2, _createSeed$row3;
342
- const { open, contentActive = open, onVisualStateSettled, orderId, preloadedSalesDetail, createSeed, onClose, callback, rulesHooks, enableGlobalScanListener, title, preloaded, destroyOnUnmount, osKey = "cached-dine-in-dialog", mode = "retail", businessCode, bookingConfigParams, productDisplayConfig, productLoadParams, productCatalogReady = true, orderType = "table-order", variant, openNonce = 0 } = props;
343
+ const { open, contentActive = open, onVisualStateSettled, orderId, preloadedSalesDetail, createSeed, onClose, callback, rulesHooks, enableGlobalScanListener, title, preloaded, destroyOnUnmount, osKey = "cached-dine-in-dialog", mode = "retail", businessCode, bookingConfigParams, productDisplayConfig, productLoadParams, productCatalogReady = true, orderType = orderId ? void 0 : "table-order", variant, openNonce = 0 } = props;
343
344
  const isPhoneVariant = variant === "phone";
344
345
  useCancelPosPermissionOnHide(open);
345
346
  const isEditMode = Boolean(orderId);
@@ -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";
@@ -1,4 +1,5 @@
1
1
  import useEngineContext from "../../../hooks/useEngineContext.js";
2
+ import { resolveAppHelperIsWebPos } from "../../../utils/isWebPos.js";
2
3
  import { _objectSpread2 } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
3
4
  import { _asyncToGenerator } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js";
4
5
  import { usePosPermission } from "../../../pro/posPermission/index.js";
@@ -327,15 +328,14 @@ const Addons = Provider((props) => {
327
328
  * @Date: 2024-01-30 16:40
328
329
  */
329
330
  const handleOpenAdd = () => {
330
- if (isWebPos) return runWithPermission("order_edit", () => state.action({
331
+ if (resolveAppHelperIsWebPos(isWebPos)) return runWithPermission("order_edit", () => state.action({
331
332
  type: "pisell1.handleOpenCachedBigSale",
332
- data: {
333
- order_id: state.bookingId,
334
- business_code: "retail"
335
- },
333
+ data: { order_id: state.bookingId },
336
334
  callback: (res) => {
337
- var _window;
338
- (_window = window) === null || _window === void 0 || (_window = _window.shopApi) === null || _window === void 0 || (_window = _window.booking) === null || _window === void 0 || _window.refreshBookingDetail();
335
+ var _window, _state$callback;
336
+ const refresh = (_window = window) === null || _window === void 0 || (_window = _window.shopApi) === null || _window === void 0 || (_window = _window.booking) === null || _window === void 0 ? void 0 : _window.refreshBookingDetail;
337
+ if (typeof refresh === "function") refresh();
338
+ else (_state$callback = state.callback) === null || _state$callback === void 0 || _state$callback.call(state, { order_id: state.bookingId });
339
339
  }
340
340
  }));
341
341
  if ((isTerminal === null || isTerminal === void 0 ? void 0 : isTerminal()) && platform !== "webpos") {
@@ -1,4 +1,5 @@
1
1
  import useEngineContext from "../../../../hooks/useEngineContext.js";
2
+ import { resolveAppHelperIsWebPos } from "../../../../utils/isWebPos.js";
2
3
  import { useIsActive } from "../../../ticketBooking/context/IsActiveContext.js";
3
4
  import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
4
5
  import { _asyncToGenerator } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js";
@@ -844,15 +845,14 @@ const Footer = (props) => {
844
845
  (_state$onRebook = state.onRebook) === null || _state$onRebook === void 0 || _state$onRebook.call(state);
845
846
  };
846
847
  const handleSale = () => {
847
- if (isWebPos) return runWithPermission("order_edit", () => state.action({
848
+ if (resolveAppHelperIsWebPos(isWebPos)) return runWithPermission("order_edit", () => state.action({
848
849
  type: "pisell1.handleOpenCachedBigSale",
849
- data: {
850
- order_id: state.bookingId,
851
- business_code: "ticket"
852
- },
850
+ data: { order_id: state.bookingId },
853
851
  callback: (res) => {
854
- var _window5;
855
- (_window5 = window) === null || _window5 === void 0 || (_window5 = _window5.shopApi) === null || _window5 === void 0 || (_window5 = _window5.booking) === null || _window5 === void 0 || _window5.refreshBookingDetail();
852
+ var _window5, _state$callback;
853
+ const refresh = (_window5 = window) === null || _window5 === void 0 || (_window5 = _window5.shopApi) === null || _window5 === void 0 || (_window5 = _window5.booking) === null || _window5 === void 0 ? void 0 : _window5.refreshBookingDetail;
854
+ if (typeof refresh === "function") refresh();
855
+ else (_state$callback = state.callback) === null || _state$callback === void 0 || _state$callback.call(state, { order_id: state.bookingId });
856
856
  }
857
857
  }));
858
858
  if (isTerminal === null || isTerminal === void 0 ? void 0 : isTerminal()) {
@@ -871,15 +871,20 @@ const Footer = (props) => {
871
871
  };
872
872
  const handlePrint = () => {};
873
873
  const handleOrderDetail = () => {
874
- if (isWebPos) return state.action({
875
- type: "pisell1.handleOpenCachedBigSale",
874
+ if (resolveAppHelperIsWebPos(isWebPos)) return state.action({
875
+ type: "pisell1.handleOpenSaleDetail",
876
876
  data: {
877
- order_id: state.bookingId,
878
- business_code: "ticket"
877
+ osKey: "booking-order-detail",
878
+ osProps: {
879
+ orderId: state.bookingId,
880
+ syncDetailOnOrderChange: true
881
+ }
879
882
  },
880
883
  callback: (res) => {
881
- var _window6;
882
- (_window6 = window) === null || _window6 === void 0 || (_window6 = _window6.shopApi) === null || _window6 === void 0 || (_window6 = _window6.booking) === null || _window6 === void 0 || _window6.refreshBookingDetail();
884
+ var _window6, _state$callback2;
885
+ const refresh = (_window6 = window) === null || _window6 === void 0 || (_window6 = _window6.shopApi) === null || _window6 === void 0 || (_window6 = _window6.booking) === null || _window6 === void 0 ? void 0 : _window6.refreshBookingDetail;
886
+ if (typeof refresh === "function") refresh();
887
+ else (_state$callback2 = state.callback) === null || _state$callback2 === void 0 || _state$callback2.call(state, { order_id: state.bookingId });
883
888
  }
884
889
  });
885
890
  if (isTerminal === null || isTerminal === void 0 ? void 0 : isTerminal()) return interaction.utils.postMessageToApp({
@@ -121,8 +121,8 @@
121
121
  &.selectDate {
122
122
  .calendar-content,
123
123
  .day-item-calendar-content {
124
- border-color: var(--Primary-600, #7f56d9);
125
- box-shadow: inset 0 0 0 1px var(--Primary-600, #7f56d9);
124
+ border-color: var(--theme-color, #7f56d9);
125
+ box-shadow: inset 0 0 0 1px var(--theme-color, #7f56d9);
126
126
  box-sizing: border-box;
127
127
  }
128
128
  }
@@ -81,12 +81,12 @@
81
81
  }
82
82
 
83
83
  .pisell-event-usability-selected {
84
- border: 1px solid var(--Primary-600, #7f56d9);
84
+ border: 1px solid var(--theme-color, #7f56d9);
85
85
  // PisellCard 的 hover/background 样式可能晚于业务样式加载;明确覆盖,
86
86
  // 避免只剩选中白字而卡片仍是白底。
87
- background: var(--Primary-600, #7f56d9) !important;
87
+ background: var(--theme-color, #7f56d9) !important;
88
88
  &:hover {
89
- background: var(--Primary-600, #7f56d9) !important;
89
+ background: var(--theme-color, #7f56d9) !important;
90
90
  }
91
91
 
92
92
  .pisell-event-usability-slot,
@@ -100,6 +100,6 @@
100
100
  // box-shadow 补出原来的双像素选中效果。
101
101
  .pisell-event-usability.pisell-card-wrap-selected {
102
102
  border-width: 1px;
103
- border-color: var(--Primary-600, #7f56d9);
104
- box-shadow: 0 0 0 1px var(--Primary-600, #7f56d9);
103
+ border-color: var(--theme-color, #7f56d9);
104
+ box-shadow: 0 0 0 1px var(--theme-color, #7f56d9);
105
105
  }
@@ -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
@@ -89,6 +89,7 @@ import { useSalesSdkProducts } from "./plus/salesSdk/hooks/useSalesSdkProducts.j
89
89
  import SalesSdkDemo from "./plus/salesSdk/demo/index.js";
90
90
  import { useSalesSdkDish } from "./plus/salesSdk/hooks/useSalesSdkDish.js";
91
91
  import { useSyncOsModule } from "./plus/salesSdk/hooks/useSyncOsModule.js";
92
+ import "./plus/salesSdk/index.js";
92
93
  import BigSaleRightActionPanel from "./components/BigSaleRightActionPanel/index.js";
93
94
  import ResponsiveWrapper from "./components/list/ResponsiveWrapper.js";
94
95
  import { resolveBigSaleSelectionFlowConfig } from "./components/bigSale/selectionFlowConfig.js";
@@ -143,6 +144,7 @@ import PisellVenueControlPage from "./plus/pisellReservation/PisellVenueControlP
143
144
  import PisellVenueWallPage from "./plus/pisellReservation/PisellVenueWallPage.js";
144
145
  import PisellReservationTablePage from "./plus/pisellReservation/PisellReservationTablePage.js";
145
146
  import SelectFloorMapResourceDialog from "./plus/pisellReservation/components/SelectFloorMapResourceDialog.js";
147
+ import "./plus/pisellReservation/index.js";
146
148
  import { PisellTopology, PisellTopologyCore } from "./plus/pisellTopology/PisellTopology.js";
147
149
  import cupProject_default from "./components/ecocup/cupProject/index.js";
148
150
  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";
@@ -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 "./context/SalesSdkBusinessAvailabilityContext.js";
10
+ import "./utils/appendPromotionTags.js";
11
+ import "./utils/productSkuOptions.js";
12
+ import "./context/SalesSdkUIHostsContext.js";
13
+ import "./utils/runAddProductFlow.js";
14
+ import "./components/showAddToCartToast.js";
15
+ import "./utils/resolveAddProductDebounceKey.js";
16
+ import "./utils/identity.js";
17
+ import "./utils/resolveInCartQuantityForAddToast.js";
18
+ import "./utils/addProductWithFlowDebounced.js";
19
+ import "./utils/customerAuthGate.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 {};
@@ -389,4 +389,4 @@ function createAddProductWithFlowDebounced(deps) {
389
389
  };
390
390
  }
391
391
  //#endregion
392
- export { createAddProductWithFlowDebounced };
392
+ 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 };
@@ -71,4 +71,4 @@ function buildHolderListRequestKey(params) {
71
71
  });
72
72
  }
73
73
  //#endregion
74
- export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, resolveHolderDisplayConfig };
74
+ export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, pickHolderIdFromBooking, resolveHolderDisplayConfig };
@@ -24,9 +24,8 @@ const OptionsModal = (props) => {
24
24
  const renderType = (customConfig === null || customConfig === void 0 ? void 0 : customConfig.modalRenderType) || (variant === "phone" ? "drawer" : "modal");
25
25
  const isDrawer = renderType === "drawer";
26
26
  const isTabletVariant = !isDrawer && (variant === "tablet" || variant === "smallTablet");
27
- const viewportAspectRatio = typeof window !== "undefined" && window.innerHeight > 0 ? window.innerWidth / window.innerHeight : 0;
28
- const isPosTabletViewport = !isDrawer && variant === "pos" && typeof window !== "undefined" && window.innerWidth <= 1400 && viewportAspectRatio >= 1.25 && viewportAspectRatio <= 1.65;
29
- const shouldUseLargeModal = isTabletVariant || isPosTabletViewport;
27
+ const shouldUsePrimaryModalLayout = !isDrawer;
28
+ const modalWidth = isDrawer ? "100%" : isTabletVariant ? "95%" : "80%";
30
29
  const platform = isDrawer ? "h5" : variant === "tablet" || variant === "smallTablet" ? "ipad" : "pc";
31
30
  useEffect(() => {
32
31
  if (!open || typeof window === "undefined" || typeof document === "undefined") return;
@@ -38,21 +37,20 @@ const OptionsModal = (props) => {
38
37
  const rect = wrapper === null || wrapper === void 0 ? void 0 : wrapper.getBoundingClientRect();
39
38
  const computedStyle = wrapper ? window.getComputedStyle(wrapper) : null;
40
39
  const viewport = window.visualViewport;
41
- const expectedWidth = shouldUseLargeModal ? window.innerWidth * .95 : null;
40
+ const expectedWidth = shouldUsePrimaryModalLayout ? window.innerWidth * (isTabletVariant ? .95 : .8) : window.innerWidth;
42
41
  const actualWidth = (_rect$width = rect === null || rect === void 0 ? void 0 : rect.width) !== null && _rect$width !== void 0 ? _rect$width : null;
43
42
  logger === null || logger === void 0 || (_logger$addLog = logger.addLog) === null || _logger$addLog === void 0 || _logger$addLog.call(logger, {
44
- type: shouldUseLargeModal && actualWidth != null && actualWidth < window.innerWidth * .9 ? "warning" : "info",
43
+ type: shouldUsePrimaryModalLayout && actualWidth != null && actualWidth < expectedWidth * .9 ? "warning" : "info",
45
44
  title: "SKU选项弹窗-布局",
46
45
  metadata: {
47
46
  reason,
48
47
  variant,
49
48
  renderType,
50
49
  isTabletVariant,
51
- isPosTabletViewport,
52
- shouldUseLargeModal,
50
+ primaryModalLayoutApplied: shouldUsePrimaryModalLayout,
53
51
  configuredWidth: (customConfig === null || customConfig === void 0 ? void 0 : customConfig.modalWidth) || "480px",
54
52
  expectedWidth,
55
- expectedHeight: shouldUseLargeModal ? "95%" : null,
53
+ expectedHeight: "95%",
56
54
  actual: rect ? {
57
55
  width: Number(rect.width.toFixed(2)),
58
56
  height: Number(rect.height.toFixed(2)),
@@ -66,7 +64,7 @@ const OptionsModal = (props) => {
66
64
  maxHeight: computedStyle.maxHeight,
67
65
  transform: computedStyle.transform
68
66
  } : null,
69
- largeModalSizeApplied: !shouldUseLargeModal || actualWidth != null && actualWidth >= window.innerWidth * .9,
67
+ primaryModalSizeApplied: !shouldUsePrimaryModalLayout || actualWidth != null && actualWidth >= expectedWidth * .9,
70
68
  window: {
71
69
  innerWidth: window.innerWidth,
72
70
  innerHeight: window.innerHeight,
@@ -95,8 +93,8 @@ const OptionsModal = (props) => {
95
93
  return () => window.clearTimeout(settledTimer);
96
94
  }, [
97
95
  customConfig === null || customConfig === void 0 ? void 0 : customConfig.modalWidth,
98
- isPosTabletViewport,
99
- shouldUseLargeModal,
96
+ isTabletVariant,
97
+ shouldUsePrimaryModalLayout,
100
98
  logger,
101
99
  open,
102
100
  renderType,
@@ -149,11 +147,10 @@ const OptionsModal = (props) => {
149
147
  className: classNames("pisell-sku-options-modal", props.appearanceClassName, {
150
148
  "pisell-sku-options-modal--drawer": isDrawer,
151
149
  "pisell-sku-options-modal--smallTablet": isTabletVariant && variant === "smallTablet",
152
- "pisell-sku-options-modal--tablet": isTabletVariant && variant === "tablet",
153
- "pisell-sku-options-modal--pos-tablet": isPosTabletViewport
150
+ "pisell-sku-options-modal--tablet": isTabletVariant && variant === "tablet"
154
151
  }),
155
152
  style: _objectSpread2(_objectSpread2({}, props.appearanceStyle), {}, { maxHeight: isDrawer ? "95dvh" : void 0 }),
156
- height: isDrawer || shouldUseLargeModal ? "95%" : void 0,
153
+ height: "95%",
157
154
  footer: /* @__PURE__ */ React.createElement("div", { className: "pisell-plus-sku-options-card-footer" }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(NumericStepper, {
158
155
  min: canSelectedMin,
159
156
  max: canSelectedMax,
@@ -176,7 +173,7 @@ const OptionsModal = (props) => {
176
173
  display: "flex",
177
174
  flexDirection: "column"
178
175
  },
179
- width: isDrawer ? "100%" : shouldUseLargeModal ? "95%" : (customConfig === null || customConfig === void 0 ? void 0 : customConfig.modalWidth) || "480px",
176
+ width: modalWidth,
180
177
  placement: isDrawer ? "bottom" : void 0
181
178
  }
182
179
  }, /* @__PURE__ */ React.createElement(SelectorGroup, {
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * SKU 二级规格选择弹窗(OptionsModal)
3
3
  * - Drawer 限制在可视区 95dvh 内,超长规格由内容区自行滚动
4
- * - 与 .pisell-sku-detail-modal 对齐:smallTablet / tablet 下放宽到 95% 宽 + 95vh 高
5
- * - 其他设备保持组件原生默认(受 `width={customConfig?.modalWidth || '480px'}` 控制)
4
+ * - 与 .pisell-sku-detail-modal 对齐:非 Drawer 为 80% 宽 + 95% 高;
5
+ * smallTablet / tablet 下放宽到 95% 宽 + 95% 高
6
6
  */
7
7
  .pisell-sku-options-modal {
8
+ height: 95% !important;
9
+ max-height: 884px !important;
10
+
8
11
  &--drawer {
9
12
  .pisell-lowcode-floating-layer-content,
10
13
  .pisell-lowcode-modal-content {
@@ -18,11 +21,9 @@
18
21
  }
19
22
 
20
23
  &--smallTablet,
21
- &--tablet,
22
- // iPad WebPOS 当前会注入 variant=pos;仅由组件在横屏平板视口条件下添加。
23
- &--pos-tablet {
24
+ &--tablet {
24
25
  width: 95% !important;
25
- height: 95% !important;
26
+ max-height: 95% !important;
26
27
 
27
28
  .pisell-lowcode-modal-content {
28
29
  height: 100% !important;
@@ -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 };