@pisell/private-materials 6.12.284 → 6.12.285

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 (48) 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 +2 -2
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +2 -2
  9. package/es/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.js +0 -1
  10. package/es/components/bigSale/components/ProductList/index.js +0 -1
  11. package/es/components/bigSale/components/TimeBar/index.js +0 -1
  12. package/es/components/bigSale/dialog.js +0 -1
  13. package/es/components/bigSale/hooks/useBigSaleContext.js +0 -1
  14. package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +0 -1
  15. package/es/components/bigSale/index.js +0 -1
  16. package/es/components/bigSale/templates/Kiosk/index.js +0 -1
  17. package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +0 -1
  18. package/es/index.js +0 -2
  19. package/es/plus/multiCurrencySettlement/index.js +1 -1
  20. package/es/plus/piPaymentUI/eftpos/adyenScan/AdyenScanContent.js +8 -3
  21. package/es/plus/piPaymentUI/eftpos/adyenScan/AdyenScanDevicePage.js +1 -5
  22. package/es/plus/piPaymentUI/eftpos/adyenScan/index.less +5 -1
  23. package/es/plus/pisellReservation/data/bookingToReservationTables.js +1 -1
  24. package/es/plus/pisellReservation/floorMap/floorPlanApi.js +1 -1
  25. package/es/plus/pisellReservation/floorMap/reservationMock.js +1 -1
  26. package/es/plus/saasDevice/devicePasscodes/model.js +4 -4
  27. package/es/plus/saleDetail/Base.js +0 -1
  28. package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +0 -1
  29. package/es/plus/saleDetail/components/DetailActions/PrintAction.js +0 -1
  30. package/es/plus/saleDetail/components/DetailActions/index.js +0 -1
  31. package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +0 -1
  32. package/es/plus/saleDetail/index.js +0 -1
  33. package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +0 -1
  34. package/es/plus/saleDetail/tmpl/B/index.js +0 -1
  35. package/es/plus/salesSdk/utils/addProductWithFlowDebounced.js +1 -1
  36. package/es/plus/salesSdk/utils/bookingDate.js +1 -1
  37. package/es/plus/salesSdk/utils/enrichCartLineHolderDisplay.js +1 -1
  38. package/es/plus/walletPassGallery/components/timelineSection/index.js +4 -4
  39. package/es/private-materials/lowcode/authmodal/meta.d.ts +1 -0
  40. package/es/pro/Login2.0/AuthModal.d.ts +1 -1
  41. package/es/pro/Login2.0/index.d.ts +2 -2
  42. package/es/pro/Login2.0/shared/types.d.ts +1 -1
  43. package/lib/plus/piPaymentUI/eftpos/adyenScan/AdyenScanContent.js +8 -3
  44. package/lib/plus/piPaymentUI/eftpos/adyenScan/AdyenScanDevicePage.js +0 -4
  45. package/lib/plus/piPaymentUI/eftpos/adyenScan/index.less +5 -1
  46. package/package.json +5 -5
  47. package/es/plus/pisellReservation/index.js +0 -17
  48. package/es/plus/salesSdk/index.js +0 -54
@@ -1,6 +1,5 @@
1
1
  import useEngineContext from "../../../../hooks/useEngineContext.js";
2
2
  import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
3
- import "../../../../plus/salesSdk/index.js";
4
3
  import dayjs from "dayjs";
5
4
  import { useCallback, useEffect, useState } from "react";
6
5
  //#region src/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.ts
@@ -14,7 +14,6 @@ import { generateProductTabs } from "../../../ticketBooking/components/ProductDi
14
14
  import { useSalesSdkBusinessAvailability } from "../../../../plus/salesSdk/context/SalesSdkBusinessAvailabilityContext.js";
15
15
  import { showAddToCartToast } from "../../../../plus/salesSdk/components/showAddToCartToast.js";
16
16
  import { mergeBookingsForDisplay } from "../../../../plus/salesSdk/utils/mergeBookingsForDisplay.js";
17
- import "../../../../plus/salesSdk/index.js";
18
17
  import { buildBigSaleProductListPreferencesKey, readBigSaleProductListPreferences, readStoredBigSaleProductListPreferences, removeBigSaleProductListPreferences, resolveBigSaleAutoProductListPreferences, writeBigSaleProductListPreferences } from "../../utils/productListPreferences.js";
19
18
  import { resolveBigSaleProductDisplayConfig, useBigSaleProductListConfig } from "../../hooks/useBigSaleProductListConfig.js";
20
19
  import locales_default from "../../locales/index.js";
@@ -4,7 +4,6 @@ import withResponsive from "../../../../responsive/withResponsive.js";
4
4
  import useInitLocalesOnce from "../../../../hooks/useInitLocalesOnce.js";
5
5
  import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
6
6
  import { useSalesSdkBookingContext } from "../../../../plus/salesSdk/context/SalesSdkBookingContext.js";
7
- import "../../../../plus/salesSdk/index.js";
8
7
  import locales_default from "../../locales/index.js";
9
8
  import { getPosWeekStartsOn, resolvePosCountryCode } from "../../../../utils/posDateLocale.js";
10
9
  import dayjs from "dayjs";
@@ -6,7 +6,6 @@ import { buildInitBookingContextParams, collectBookingIdsFromTempOrder } from ".
6
6
  import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
7
7
  import { useSalesSdkCart } from "../../plus/salesSdk/hooks/useSalesSdkCart.js";
8
8
  import { SalesSdkPrepareOrderSwitchContext, SalesSdkRootRefreshContext } from "../../plus/salesSdk/context/SalesSdkProvider.js";
9
- import "../../plus/salesSdk/index.js";
10
9
  import { isPersistedBigSaleOrderId } from "./utils/orderIdentity.js";
11
10
  import { seedDineInReservationToCart } from "../../plus/pisellReservation/utils/seedDineInReservationToCart.js";
12
11
  import BigSale from "./index.js";
@@ -4,7 +4,6 @@ import { useSalesSdkCustomer } from "../../../plus/salesSdk/hooks/useSalesSdkCus
4
4
  import { useSalesSdkBookingContext } from "../../../plus/salesSdk/context/SalesSdkBookingContext.js";
5
5
  import { useSalesSdkSummary } from "../../../plus/salesSdk/hooks/useSalesSdkSummary.js";
6
6
  import { useSalesSdkProducts } from "../../../plus/salesSdk/hooks/useSalesSdkProducts.js";
7
- import "../../../plus/salesSdk/index.js";
8
7
  import { useMemo } from "react";
9
8
  //#region src/components/bigSale/hooks/useBigSaleContext.ts
10
9
  /**
@@ -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 { ResponsiveBigSaleBase } from "./Base.js";
13
12
  import { isBigSaleProductSelectionFlowScene, resolveBigSaleSelectionFlowConfig } from "./selectionFlowConfig.js";
14
13
  import { isKioskPresentation } from "./templateCapabilities.js";
@@ -12,7 +12,6 @@ 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";
16
15
  import { usePickSaleDetailContext } from "../../hooks/usePickSaleDetailContext.js";
17
16
  import { resolveBigSaleAutoProductListPreferences } from "../../utils/productListPreferences.js";
18
17
  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 { getTempOrderSyncPayload, shouldApplySharedTempOrderPayload } from "../../plus/salesSdk/tempOrderSync.js";
5
- import "../../plus/salesSdk/index.js";
6
5
  import { useEffect, useRef } from "react";
7
6
  import { useMemoizedFn } from "ahooks";
8
7
  //#region src/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.tsx
package/es/index.js CHANGED
@@ -87,7 +87,6 @@ import { useSalesSdkProducts } from "./plus/salesSdk/hooks/useSalesSdkProducts.j
87
87
  import SalesSdkDemo from "./plus/salesSdk/demo/index.js";
88
88
  import { useSalesSdkDish } from "./plus/salesSdk/hooks/useSalesSdkDish.js";
89
89
  import { useSyncOsModule } from "./plus/salesSdk/hooks/useSyncOsModule.js";
90
- import "./plus/salesSdk/index.js";
91
90
  import BigSaleRightActionPanel from "./components/BigSaleRightActionPanel/index.js";
92
91
  import ResponsiveWrapper from "./components/list/ResponsiveWrapper.js";
93
92
  import { resolveBigSaleSelectionFlowConfig } from "./components/bigSale/selectionFlowConfig.js";
@@ -142,7 +141,6 @@ import PisellVenueControlPage from "./plus/pisellReservation/PisellVenueControlP
142
141
  import PisellVenueWallPage from "./plus/pisellReservation/PisellVenueWallPage.js";
143
142
  import PisellReservationTablePage from "./plus/pisellReservation/PisellReservationTablePage.js";
144
143
  import SelectFloorMapResourceDialog from "./plus/pisellReservation/components/SelectFloorMapResourceDialog.js";
145
- import "./plus/pisellReservation/index.js";
146
144
  import { PisellTopology, PisellTopologyCore } from "./plus/pisellTopology/PisellTopology.js";
147
145
  import cupProject_default from "./components/ecocup/cupProject/index.js";
148
146
  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, findFirstVirtualCurrencyAsset, formatSettlementAmount, formatSettlementSelectionTotal, formatTempOrderSettlementAmount, getReservedVirtualSettlementAmount, getSettlementKey, getSettlementOptions, hasSettlementOptions, hasSufficientVirtualCurrencyBalance, isVirtualOnlySettlementProduct, isVirtualSettlementTempOrder, resolveConfiguredUnavailableReason, resolveLegalSettlementAddOnUnitPrice, resolveSettlementOptionEntries, resolveVirtualSettlementErrorMessage, showVirtualSettlementErrorToast };
283
+ export { attachSelectedSettlement, buildSettlementPriceRows, createVirtualOnlySkuDisplayProduct, formatSettlementAmount, formatSettlementSelectionTotal, formatTempOrderSettlementAmount, getSettlementKey, getSettlementOptions, hasSettlementOptions, hasSufficientVirtualCurrencyBalance, isVirtualOnlySettlementProduct, isVirtualSettlementTempOrder, resolveConfiguredUnavailableReason, resolveLegalSettlementAddOnUnitPrice, resolveSettlementOptionEntries, resolveVirtualSettlementErrorMessage, showVirtualSettlementErrorToast };
@@ -36,6 +36,8 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
36
36
  "expiring",
37
37
  "expired"
38
38
  ].includes(view);
39
+ const loadingDevices = view === "device" && flow.readersLoading;
40
+ const isLoading = loadingDevices || view === "generating" || isScan && busy;
39
41
  const footerCloseAction = isScan || view === "generating" || view === "device" ? "cancel" : "back";
40
42
  const showQr = Boolean(qr && isScan && !busy);
41
43
  const canRetry = ((_flow$resultState3 = flow.resultState) === null || _flow$resultState3 === void 0 || (_flow$resultState3 = _flow$resultState3.error) === null || _flow$resultState3 === void 0 ? void 0 : _flow$resultState3.retryable) !== false;
@@ -44,7 +46,7 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
44
46
  if (view === "success") return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CheckCircleFilled, { className: "adyen-scan-result-icon adyen-scan-success" }), /* @__PURE__ */ React.createElement("h2", null, text("success")), /* @__PURE__ */ React.createElement("div", { className: "adyen-scan-amount adyen-scan-success-amount" }, ((_flow$options8 = flow.options) === null || _flow$options8 === void 0 ? void 0 : _flow$options8.currency) || "$", amount), /* @__PURE__ */ React.createElement("p", null, text("received", { wallet })));
45
47
  if (view === "network") return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(WarningFilled, { className: "adyen-scan-result-icon adyen-scan-warning" }), /* @__PURE__ */ React.createElement("h2", null, text("network")), /* @__PURE__ */ React.createElement("p", null, text("networkHint")));
46
48
  if (view === "failure" || view === "unknown") return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CloseCircleFilled, { className: "adyen-scan-result-icon adyen-scan-failure" }), /* @__PURE__ */ React.createElement("h2", null, text(view === "unknown" ? "unknown" : "failure")), /* @__PURE__ */ React.createElement("p", null, view === "unknown" ? ((_flow$resultState4 = flow.resultState) === null || _flow$resultState4 === void 0 ? void 0 : _flow$resultState4.errorMessage) || text("unknownHint") : text("declined")));
47
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Spin, { size: "large" }), /* @__PURE__ */ React.createElement("p", null, text("generating")));
49
+ return null;
48
50
  };
49
51
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("section", {
50
52
  className: `adyen-scan-dialog ${isAlipay ? "adyen-scan-alipay" : "adyen-scan-wechat"}`,
@@ -55,7 +57,10 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
55
57
  className: "adyen-scan-close",
56
58
  icon: /* @__PURE__ */ React.createElement(CloseOutlined, null),
57
59
  onClick: () => requestClose("close", "header")
58
- })), /* @__PURE__ */ React.createElement("div", { className: `adyen-scan-content ${view === "device" ? "adyen-scan-device-content" : view === "amount" ? "adyen-scan-amount-content" : "adyen-scan-action-content"}` }, view === "device" ? /* @__PURE__ */ React.createElement(AdyenScanDevicePage, {
60
+ })), /* @__PURE__ */ React.createElement("div", { className: `adyen-scan-content ${isLoading ? "adyen-scan-loading-content" : view === "device" ? "adyen-scan-device-content" : view === "amount" ? "adyen-scan-amount-content" : "adyen-scan-action-content"}` }, isLoading ? /* @__PURE__ */ React.createElement("div", {
61
+ className: "adyen-scan-result adyen-scan-loading",
62
+ role: "status"
63
+ }, /* @__PURE__ */ React.createElement(Spin, { size: "large" }), /* @__PURE__ */ React.createElement("p", null, text(loadingDevices ? "loadingDevices" : "generating"))) : view === "device" ? /* @__PURE__ */ React.createElement(AdyenScanDevicePage, {
59
64
  flow,
60
65
  text
61
66
  }) : view === "amount" ? /* @__PURE__ */ React.createElement("div", { className: "adyen-scan-amount-editor pi-payment-container" }, /* @__PURE__ */ React.createElement(AmountPage, {
@@ -89,7 +94,7 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
89
94
  type: "primary",
90
95
  disabled: !flow.networkOnline,
91
96
  onClick: requestRetry
92
- }, text("retry")), view === "waiting" && /* @__PURE__ */ React.createElement("span", { className: "adyen-scan-waiting" }, text("waiting")), (view === "expiring" || view === "expired") && /* @__PURE__ */ React.createElement(Button, {
97
+ }, text("retry")), view === "waiting" && !isLoading && /* @__PURE__ */ React.createElement("span", { className: "adyen-scan-waiting" }, text("waiting")), (view === "expiring" || view === "expired") && !isLoading && /* @__PURE__ */ React.createElement(Button, {
93
98
  className: "adyen-scan-button adyen-scan-button-primary",
94
99
  type: "primary",
95
100
  loading: busy,
@@ -1,16 +1,12 @@
1
1
  import { buildPaymentAmountQuote } from "../amount.js";
2
2
  import React from "react";
3
- import { Spin, theme } from "antd";
3
+ import { theme } from "antd";
4
4
  import { DesktopOutlined, RightOutlined } from "@ant-design/icons";
5
5
  //#region src/plus/piPaymentUI/eftpos/adyenScan/AdyenScanDevicePage.tsx
6
6
  /** Separate markup and selectors: the existing DevicePage is not affected. */
7
7
  const AdyenScanDevicePage = ({ flow, text }) => {
8
8
  var _flow$options;
9
9
  const { token } = theme.useToken();
10
- if (flow.readersLoading) return /* @__PURE__ */ React.createElement("div", {
11
- className: "adyen-scan-result",
12
- role: "status"
13
- }, /* @__PURE__ */ React.createElement(Spin, { size: "large" }), /* @__PURE__ */ React.createElement("p", null, text("loadingDevices")));
14
10
  if (flow.readersError || !flow.readers.length) return /* @__PURE__ */ React.createElement("div", {
15
11
  className: "adyen-scan-result",
16
12
  role: "status"
@@ -123,6 +123,9 @@
123
123
  text-align: center;
124
124
  overflow-wrap: anywhere;
125
125
  }
126
+ .adyen-scan-loading {
127
+ min-height: 0;
128
+ }
126
129
  .adyen-scan-result-icon {
127
130
  font-size: 68px;
128
131
  margin-bottom: 20px;
@@ -202,7 +205,8 @@
202
205
  color: #667085;
203
206
  font-size: 14px;
204
207
  }
205
- .adyen-scan-action-content {
208
+ .adyen-scan-action-content,
209
+ .adyen-scan-loading-content {
206
210
  display: flex;
207
211
  flex-direction: column;
208
212
  align-items: center;
@@ -259,4 +259,4 @@ function bookingListToReservationTableRows(bookings) {
259
259
  return rows;
260
260
  }
261
261
  //#endregion
262
- export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds, hostBookingStatusToCardStatus, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord };
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, buildDefaultReservationFloorPlanPostBody, ensureShopFloorPlanByCode, putShopFloorPlan, saveViewConfigToShopFloorPlan, shopLayoutToSceneElements$1 as shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError, unsubscribeShopFloorPlanCodeQuery };
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, defaultReservationSceneElements, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
930
+ export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
@@ -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,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";
@@ -366,4 +366,4 @@ function createAddProductWithFlowDebounced(deps) {
366
366
  };
367
367
  }
368
368
  //#endregion
369
- export { createAddProductWithFlowDebounced, shouldBypassAddProductDebounce };
369
+ export { createAddProductWithFlowDebounced };
@@ -31,4 +31,4 @@ function subscribeBookingDateChange(bookingTicket, callback) {
31
31
  return typeof off === "function" ? off : () => {};
32
32
  }
33
33
  //#endregion
34
- export { BOOKING_CONTEXT_DATE_EVENT, formatBookingDateTime, subscribeBookingDateChange };
34
+ export { formatBookingDateTime, subscribeBookingDateChange };
@@ -71,4 +71,4 @@ function buildHolderListRequestKey(params) {
71
71
  });
72
72
  }
73
73
  //#endregion
74
- export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, pickHolderIdFromBooking, resolveHolderDisplayConfig };
74
+ export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, 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;
@@ -0,0 +1 @@
1
+ export { };
@@ -14,4 +14,4 @@ interface AuthModalProps {
14
14
  */
15
15
  declare const AuthModal: React.FC<AuthModalProps>;
16
16
  //#endregion
17
- export { AuthModal };
17
+ export { AuthModal, AuthModalProps };
@@ -1,4 +1,4 @@
1
- import { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LoginFormData, OAuthConfig, PhoneAuthConfig, RegisterFormData, UIConfig, VerificationMethod } from "./shared/types.js";
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, EmailRegistrationVerification, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
229
+ export { AuthMethodType, EmailAuthConfig, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
@@ -38,6 +38,8 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
38
38
  "expiring",
39
39
  "expired"
40
40
  ].includes(view);
41
+ const loadingDevices = view === "device" && flow.readersLoading;
42
+ const isLoading = loadingDevices || view === "generating" || isScan && busy;
41
43
  const footerCloseAction = isScan || view === "generating" || view === "device" ? "cancel" : "back";
42
44
  const showQr = Boolean(qr && isScan && !busy);
43
45
  const canRetry = ((_flow$resultState3 = flow.resultState) === null || _flow$resultState3 === void 0 || (_flow$resultState3 = _flow$resultState3.error) === null || _flow$resultState3 === void 0 ? void 0 : _flow$resultState3.retryable) !== false;
@@ -46,7 +48,7 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
46
48
  if (view === "success") return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement(_ant_design_icons.CheckCircleFilled, { className: "adyen-scan-result-icon adyen-scan-success" }), /* @__PURE__ */ react.default.createElement("h2", null, text("success")), /* @__PURE__ */ react.default.createElement("div", { className: "adyen-scan-amount adyen-scan-success-amount" }, ((_flow$options8 = flow.options) === null || _flow$options8 === void 0 ? void 0 : _flow$options8.currency) || "$", amount), /* @__PURE__ */ react.default.createElement("p", null, text("received", { wallet })));
47
49
  if (view === "network") return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement(_ant_design_icons.WarningFilled, { className: "adyen-scan-result-icon adyen-scan-warning" }), /* @__PURE__ */ react.default.createElement("h2", null, text("network")), /* @__PURE__ */ react.default.createElement("p", null, text("networkHint")));
48
50
  if (view === "failure" || view === "unknown") return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement(_ant_design_icons.CloseCircleFilled, { className: "adyen-scan-result-icon adyen-scan-failure" }), /* @__PURE__ */ react.default.createElement("h2", null, text(view === "unknown" ? "unknown" : "failure")), /* @__PURE__ */ react.default.createElement("p", null, view === "unknown" ? ((_flow$resultState4 = flow.resultState) === null || _flow$resultState4 === void 0 ? void 0 : _flow$resultState4.errorMessage) || text("unknownHint") : text("declined")));
49
- return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement(antd.Spin, { size: "large" }), /* @__PURE__ */ react.default.createElement("p", null, text("generating")));
51
+ return null;
50
52
  };
51
53
  return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement("section", {
52
54
  className: `adyen-scan-dialog ${isAlipay ? "adyen-scan-alipay" : "adyen-scan-wechat"}`,
@@ -57,7 +59,10 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
57
59
  className: "adyen-scan-close",
58
60
  icon: /* @__PURE__ */ react.default.createElement(_ant_design_icons.CloseOutlined, null),
59
61
  onClick: () => requestClose("close", "header")
60
- })), /* @__PURE__ */ react.default.createElement("div", { className: `adyen-scan-content ${view === "device" ? "adyen-scan-device-content" : view === "amount" ? "adyen-scan-amount-content" : "adyen-scan-action-content"}` }, view === "device" ? /* @__PURE__ */ react.default.createElement(require_AdyenScanDevicePage.AdyenScanDevicePage, {
62
+ })), /* @__PURE__ */ react.default.createElement("div", { className: `adyen-scan-content ${isLoading ? "adyen-scan-loading-content" : view === "device" ? "adyen-scan-device-content" : view === "amount" ? "adyen-scan-amount-content" : "adyen-scan-action-content"}` }, isLoading ? /* @__PURE__ */ react.default.createElement("div", {
63
+ className: "adyen-scan-result adyen-scan-loading",
64
+ role: "status"
65
+ }, /* @__PURE__ */ react.default.createElement(antd.Spin, { size: "large" }), /* @__PURE__ */ react.default.createElement("p", null, text(loadingDevices ? "loadingDevices" : "generating"))) : view === "device" ? /* @__PURE__ */ react.default.createElement(require_AdyenScanDevicePage.AdyenScanDevicePage, {
61
66
  flow,
62
67
  text
63
68
  }) : view === "amount" ? /* @__PURE__ */ react.default.createElement("div", { className: "adyen-scan-amount-editor pi-payment-container" }, /* @__PURE__ */ react.default.createElement(require_AmountPage.AmountPage, {
@@ -91,7 +96,7 @@ const AdyenScanContent = ({ flow, presentation, actions, zIndex, messageOptions
91
96
  type: "primary",
92
97
  disabled: !flow.networkOnline,
93
98
  onClick: requestRetry
94
- }, text("retry")), view === "waiting" && /* @__PURE__ */ react.default.createElement("span", { className: "adyen-scan-waiting" }, text("waiting")), (view === "expiring" || view === "expired") && /* @__PURE__ */ react.default.createElement(antd.Button, {
99
+ }, text("retry")), view === "waiting" && !isLoading && /* @__PURE__ */ react.default.createElement("span", { className: "adyen-scan-waiting" }, text("waiting")), (view === "expiring" || view === "expired") && !isLoading && /* @__PURE__ */ react.default.createElement(antd.Button, {
95
100
  className: "adyen-scan-button adyen-scan-button-primary",
96
101
  type: "primary",
97
102
  loading: busy,
@@ -9,10 +9,6 @@ let _ant_design_icons = require("@ant-design/icons");
9
9
  const AdyenScanDevicePage = ({ flow, text }) => {
10
10
  var _flow$options;
11
11
  const { token } = antd.theme.useToken();
12
- if (flow.readersLoading) return /* @__PURE__ */ react.default.createElement("div", {
13
- className: "adyen-scan-result",
14
- role: "status"
15
- }, /* @__PURE__ */ react.default.createElement(antd.Spin, { size: "large" }), /* @__PURE__ */ react.default.createElement("p", null, text("loadingDevices")));
16
12
  if (flow.readersError || !flow.readers.length) return /* @__PURE__ */ react.default.createElement("div", {
17
13
  className: "adyen-scan-result",
18
14
  role: "status"
@@ -123,6 +123,9 @@
123
123
  text-align: center;
124
124
  overflow-wrap: anywhere;
125
125
  }
126
+ .adyen-scan-loading {
127
+ min-height: 0;
128
+ }
126
129
  .adyen-scan-result-icon {
127
130
  font-size: 68px;
128
131
  margin-bottom: 20px;
@@ -202,7 +205,8 @@
202
205
  color: #667085;
203
206
  font-size: 14px;
204
207
  }
205
- .adyen-scan-action-content {
208
+ .adyen-scan-action-content,
209
+ .adyen-scan-loading-content {
206
210
  display: flex;
207
211
  flex-direction: column;
208
212
  align-items: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/private-materials",
3
- "version": "6.12.284",
3
+ "version": "6.12.285",
4
4
  "main": "./lib/index.js",
5
5
  "module": "./es/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -71,11 +71,11 @@
71
71
  "react-zoom-pan-pinch": "^3.7.0",
72
72
  "styled-components": "^6.0.0-rc.3",
73
73
  "use-sync-external-store": "^1.6.0",
74
- "@pisell/materials": "6.12.75",
75
- "@pisell/icon": "0.0.11",
76
- "@pisell/date-picker": "3.0.12",
77
74
  "@pisell/pi-payment-sdk": "0.0.3",
78
- "@pisell/utils": "3.0.7"
75
+ "@pisell/utils": "3.0.7",
76
+ "@pisell/icon": "0.0.11",
77
+ "@pisell/materials": "6.12.75",
78
+ "@pisell/date-picker": "3.0.12"
79
79
  },
80
80
  "peerDependencies": {
81
81
  "react": "^18.0.0",
@@ -1,17 +0,0 @@
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,54 +0,0 @@
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 "./context/SalesSdkUIHostsContext.js";
12
- import "./utils/runAddProductFlow.js";
13
- import "./components/showAddToCartToast.js";
14
- import "./utils/resolveAddProductDebounceKey.js";
15
- import "./utils/productSkuOptions.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 {};