@pisell/private-materials 6.12.131 → 6.12.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +1 -1
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +1 -1
- package/es/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.js +0 -1
- package/es/components/bigSale/components/TimeBar/index.js +0 -1
- package/es/components/bigSale/dialog.js +0 -1
- package/es/components/bigSale/hooks/useBigSaleContext.js +0 -1
- package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +0 -1
- package/es/components/bigSale/index.js +0 -1
- package/es/components/bigSale/templates/Kiosk/index.js +0 -1
- package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +0 -1
- package/es/index.js +0 -2
- package/es/plus/pisellReservation/data/bookingToReservationTables.js +1 -1
- package/es/plus/pisellReservation/floorMap/floorPlanApi.js +1 -1
- package/es/plus/pisellReservation/floorMap/reservationMock.js +1 -1
- package/es/plus/saleDetail/Base.js +0 -1
- package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +0 -1
- package/es/plus/saleDetail/components/DetailActions/index.js +0 -1
- package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +0 -1
- package/es/plus/saleDetail/index.js +0 -1
- package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +0 -1
- package/es/plus/saleDetail/tmpl/B/index.js +0 -1
- package/es/plus/salesSdk/utils/addProductWithFlowDebounced.js +1 -1
- package/es/plus/salesSdk/utils/bookingDate.js +1 -1
- package/es/plus/salesSdk/utils/enrichCartLineHolderDisplay.js +1 -1
- package/es/private-materials/lowcode/authmodal/meta.d.ts +1 -0
- package/es/pro/Login2.0/AuthModal.d.ts +1 -1
- package/es/pro/Login2.0/index.d.ts +1 -2
- package/es/pro/Login2.0/shared/types.d.ts +1 -1
- package/es/pro/compensatedPisellContainer/floatingLayer/index.js +9 -4
- package/es/pro/skuDetailModal/flow/index.less +22 -0
- package/lib/pro/compensatedPisellContainer/floatingLayer/index.js +9 -4
- package/lib/pro/skuDetailModal/flow/index.less +22 -0
- package/package.json +3 -3
- package/es/plus/pisellReservation/index.js +0 -17
- package/es/plus/salesSdk/index.js +0 -48
|
@@ -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
|
|
@@ -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 dayjs from "dayjs";
|
|
10
9
|
import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
@@ -5,7 +5,6 @@ import { buildInitBookingContextParams, collectBookingIdsFromTempOrder } from ".
|
|
|
5
5
|
import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
6
6
|
import { useSalesSdkCart } from "../../plus/salesSdk/hooks/useSalesSdkCart.js";
|
|
7
7
|
import { SalesSdkPrepareOrderSwitchContext, SalesSdkRootRefreshContext } from "../../plus/salesSdk/context/SalesSdkProvider.js";
|
|
8
|
-
import "../../plus/salesSdk/index.js";
|
|
9
8
|
import { seedDineInReservationToCart } from "../../plus/pisellReservation/utils/seedDineInReservationToCart.js";
|
|
10
9
|
import BigSale from "./index.js";
|
|
11
10
|
import dayjs from "dayjs";
|
|
@@ -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 useEngineContext from "../../../hooks/useEngineContext.js";
|
|
|
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 { resolveOrderIdForHostActions } from "../../../plus/pisellReservation/components/bookingDetailModal/bookingDetailHostActions.js";
|
|
8
7
|
import { usePicoCodingOpenData } from "../../../plus/pisellReservation/hooks/usePicoCodingOpenData.js";
|
|
9
8
|
import { seedDineInReservationToCart } from "../../../plus/pisellReservation/utils/seedDineInReservationToCart.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 dayjs from "dayjs";
|
|
14
13
|
import React, { useEffect, useMemo, useRef } from "react";
|
|
@@ -6,7 +6,6 @@ import { resolvePaymentResultToastV2ViewModel } from "../../../checkout/componen
|
|
|
6
6
|
import PaymentResultToastV2_default from "../../../checkout/components/PaymentResultToastV2/index.js";
|
|
7
7
|
import useSalesUserLogin, { isRequireLoginChannel } from "../../../../hooks/useSalesUserLogin.js";
|
|
8
8
|
import { useSalesSdk } from "../../../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
9
|
-
import "../../../../plus/salesSdk/index.js";
|
|
10
9
|
import { usePickSaleDetailContext } from "../../hooks/usePickSaleDetailContext.js";
|
|
11
10
|
import { resolveBigSaleAutoProductListPreferences } from "../../utils/productListPreferences.js";
|
|
12
11
|
import { resolveBigSaleProductDisplayConfig } from "../../hooks/useBigSaleProductListConfig.js";
|
|
@@ -2,7 +2,6 @@ import { _asyncToGenerator } from "../../_virtual/_@oxc-project_runtime@0.122.0/
|
|
|
2
2
|
import useEngineContext from "../../hooks/useEngineContext.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
|
@@ -82,7 +82,6 @@ import { useSalesSdkProducts } from "./plus/salesSdk/hooks/useSalesSdkProducts.j
|
|
|
82
82
|
import SalesSdkDemo from "./plus/salesSdk/demo/index.js";
|
|
83
83
|
import { useSalesSdkDish } from "./plus/salesSdk/hooks/useSalesSdkDish.js";
|
|
84
84
|
import { useSyncOsModule } from "./plus/salesSdk/hooks/useSyncOsModule.js";
|
|
85
|
-
import "./plus/salesSdk/index.js";
|
|
86
85
|
import BigSaleRightActionPanel from "./components/BigSaleRightActionPanel/index.js";
|
|
87
86
|
import BigSale from "./components/bigSale/index.js";
|
|
88
87
|
import Deposit from "./components/appointmentBooking/deposit/index.js";
|
|
@@ -136,7 +135,6 @@ import PisellVenueControlPage from "./plus/pisellReservation/PisellVenueControlP
|
|
|
136
135
|
import PisellVenueWallPage from "./plus/pisellReservation/PisellVenueWallPage.js";
|
|
137
136
|
import PisellReservationTablePage from "./plus/pisellReservation/PisellReservationTablePage.js";
|
|
138
137
|
import SelectFloorMapResourceDialog from "./plus/pisellReservation/components/SelectFloorMapResourceDialog.js";
|
|
139
|
-
import "./plus/pisellReservation/index.js";
|
|
140
138
|
import { PisellTopology, PisellTopologyCore } from "./plus/pisellTopology/PisellTopology.js";
|
|
141
139
|
import cupProject_default from "./components/ecocup/cupProject/index.js";
|
|
142
140
|
import CupList from "./components/ecocup/cupList/index.js";
|
|
@@ -259,4 +259,4 @@ function bookingListToReservationTableRows(bookings) {
|
|
|
259
259
|
return rows;
|
|
260
260
|
}
|
|
261
261
|
//#endregion
|
|
262
|
-
export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds,
|
|
262
|
+
export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord };
|
|
@@ -78,4 +78,4 @@ function toastFloorPlanLoadError(err) {
|
|
|
78
78
|
PisellToast({ content: err instanceof Error ? err.message : String(err) });
|
|
79
79
|
}
|
|
80
80
|
//#endregion
|
|
81
|
-
export { PISELL_RESERVATION_FLOOR_PLAN_CODE,
|
|
81
|
+
export { PISELL_RESERVATION_FLOOR_PLAN_CODE, ensureShopFloorPlanByCode, saveViewConfigToShopFloorPlan, shopLayoutToSceneElements$1 as shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError, unsubscribeShopFloorPlanCodeQuery };
|
|
@@ -927,4 +927,4 @@ function getReservationDataSourceFormColumns() {
|
|
|
927
927
|
];
|
|
928
928
|
}
|
|
929
929
|
//#endregion
|
|
930
|
-
export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels,
|
|
930
|
+
export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
|
|
@@ -11,7 +11,6 @@ import { useSalesSdkCart } from "../salesSdk/hooks/useSalesSdkCart.js";
|
|
|
11
11
|
import { useSalesSdkCustomer } from "../salesSdk/hooks/useSalesSdkCustomer.js";
|
|
12
12
|
import { useSalesSdkBookingContext } from "../salesSdk/context/SalesSdkBookingContext.js";
|
|
13
13
|
import { useSalesSdkSummary } from "../salesSdk/hooks/useSalesSdkSummary.js";
|
|
14
|
-
import "../salesSdk/index.js";
|
|
15
14
|
import locales_default from "./locales.js";
|
|
16
15
|
import locales_default$1 from "./components/LineItem/locales.js";
|
|
17
16
|
import { SaleOrderActionBoundary } from "./actions/index.js";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { _objectSpread2 } from "../../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
2
2
|
import useEngineContext from "../../../../../hooks/useEngineContext.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
|
|
@@ -9,7 +9,6 @@ import { useSalesSdk } from "../../../salesSdk/hooks/useSalesSdk.js";
|
|
|
9
9
|
import { useSalesSdkCart } from "../../../salesSdk/hooks/useSalesSdkCart.js";
|
|
10
10
|
import { useSalesSdkGlobalScanActivity } from "../../../salesSdk/context/SalesSdkGlobalScanActivityContext.js";
|
|
11
11
|
import { useSalesSdkSummary } from "../../../salesSdk/hooks/useSalesSdkSummary.js";
|
|
12
|
-
import "../../../salesSdk/index.js";
|
|
13
12
|
import { getNumericAmount, getSalesHostModule, resolveSaleDetailOrderIdFromSales, resolveSaleDetailOrderIdFromSalesResult, shouldCloseDialogAfterCheckout, updateLocalOrder } from "./utils.js";
|
|
14
13
|
import { getRemotePrintActions, getWristbandList } from "../../serve.js";
|
|
15
14
|
import { deriveSaleOrderSubmitState } from "../../actions/state.js";
|
|
@@ -3,7 +3,6 @@ import { resolvePaymentMethodName, usePaymentMethodNameMap } from "../../../pise
|
|
|
3
3
|
import { useSalesSdk } from "../../../salesSdk/hooks/useSalesSdk.js";
|
|
4
4
|
import { useSalesSdkCart } from "../../../salesSdk/hooks/useSalesSdkCart.js";
|
|
5
5
|
import { useSalesSdkSummary } from "../../../salesSdk/hooks/useSalesSdkSummary.js";
|
|
6
|
-
import "../../../salesSdk/index.js";
|
|
7
6
|
import React, { memo, useMemo } from "react";
|
|
8
7
|
import { formatAmount, locales } from "@pisell/utils";
|
|
9
8
|
import Decimal from "decimal.js";
|
|
@@ -4,7 +4,6 @@ import { useSalesSdk } from "../salesSdk/hooks/useSalesSdk.js";
|
|
|
4
4
|
import { SalesSdkProvider } from "../salesSdk/context/SalesSdkProvider.js";
|
|
5
5
|
import { SalesSdkDishProvider } from "../salesSdk/context/SalesSdkDishContext.js";
|
|
6
6
|
import { SalesSdkBookingContextProvider } from "../salesSdk/context/SalesSdkBookingContext.js";
|
|
7
|
-
import "../salesSdk/index.js";
|
|
8
7
|
import Base_default from "./Base.js";
|
|
9
8
|
import React, { forwardRef, useImperativeHandle } from "react";
|
|
10
9
|
//#region src/plus/saleDetail/index.tsx
|
|
@@ -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 { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
2
2
|
import useEngineContext from "../../../../hooks/useEngineContext.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";
|
|
@@ -31,4 +31,4 @@ function subscribeBookingDateChange(bookingTicket, callback) {
|
|
|
31
31
|
return typeof off === "function" ? off : () => {};
|
|
32
32
|
}
|
|
33
33
|
//#endregion
|
|
34
|
-
export {
|
|
34
|
+
export { formatBookingDateTime, subscribeBookingDateChange };
|
|
@@ -71,4 +71,4 @@ function buildHolderListRequestKey(params) {
|
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
//#endregion
|
|
74
|
-
export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay,
|
|
74
|
+
export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, resolveHolderDisplayConfig };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LoginFormData, OAuthConfig, PhoneAuthConfig, RegisterFormData, UIConfig, VerificationMethod } from "./shared/types.js";
|
|
2
1
|
import { Login2, Login2Config, Login2Events, Login2Props } from "./Login2.js";
|
|
3
2
|
import { Register2, Register2Config, Register2Events, Register2Props } from "./Register2.js";
|
|
4
|
-
import { AuthModal } from "./AuthModal.js";
|
|
3
|
+
import { AuthModal, AuthModalProps } from "./AuthModal.js";
|
|
@@ -226,4 +226,4 @@ interface RegisterFormData {
|
|
|
226
226
|
verification_token?: string;
|
|
227
227
|
}
|
|
228
228
|
//#endregion
|
|
229
|
-
export { AuthMethodType, EmailAuthConfig,
|
|
229
|
+
export { AuthMethodType, EmailAuthConfig, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig };
|
|
@@ -222,13 +222,17 @@ const TransformFloatingLayer = (props) => {
|
|
|
222
222
|
}, []);
|
|
223
223
|
const syncAutoHideScrollContentEnd = useCallback((target) => {
|
|
224
224
|
const targetRect = target.getBoundingClientRect();
|
|
225
|
-
|
|
226
|
-
let
|
|
227
|
-
let
|
|
225
|
+
const lastVisibleChild = Array.from(target.children).reverse().find((candidate) => candidate instanceof HTMLElement && candidate.clientHeight > 0);
|
|
226
|
+
let contentEndElement = lastVisibleChild || target;
|
|
227
|
+
let contentEnd = lastVisibleChild ? lastVisibleChild.getBoundingClientRect().top - targetRect.top + target.scrollTop + lastVisibleChild.scrollHeight : target.scrollHeight;
|
|
228
|
+
let contentEndDepth = lastVisibleChild ? 1 : 0;
|
|
228
229
|
/**
|
|
229
230
|
* 滚动容器的直接子元素可能只是一个固定高度 flex 外壳,真实内容继续
|
|
230
231
|
* 从更深层 overflow 出去。Footer spacer 若放在外壳后面,会与溢出的
|
|
231
232
|
* 业务内容重叠。这里寻找真正把滚动高度撑到最底部的最深层节点。
|
|
233
|
+
* 没有内部 overflow 时也必须落在最后一个真实内容节点上;若直接落在
|
|
234
|
+
* flex 滚动容器自身,伪元素会参与剩余高度分配,可能看似有 spacer,
|
|
235
|
+
* 实际 scrollHeight 却没有增长,底部内容仍被浮动 Footer 遮住。
|
|
232
236
|
*/
|
|
233
237
|
Array.from(target.querySelectorAll("*")).forEach((candidate) => {
|
|
234
238
|
if (candidate.clientHeight <= 0 || candidate.scrollHeight <= candidate.clientHeight + 1) return;
|
|
@@ -515,7 +519,7 @@ const TransformFloatingLayer = (props) => {
|
|
|
515
519
|
contentElement.style.setProperty(cssVariableName, "0px");
|
|
516
520
|
return;
|
|
517
521
|
}
|
|
518
|
-
const rectHeight = regionContent.getBoundingClientRect().height;
|
|
522
|
+
const rectHeight = regionContent.getBoundingClientRect().height / bodyScale.y;
|
|
519
523
|
const canCommitMeasuredHeight = !headerFooterHiddenRef.current && (allowShrink || lastVisibleHeightRef.current === 0 || rectHeight >= lastVisibleHeightRef.current);
|
|
520
524
|
if (rectHeight > 0 && canCommitMeasuredHeight) lastVisibleHeightRef.current = rectHeight;
|
|
521
525
|
contentElement.style.setProperty(cssVariableName, `${Math.max(0, lastVisibleHeightRef.current)}px`);
|
|
@@ -544,6 +548,7 @@ const TransformFloatingLayer = (props) => {
|
|
|
544
548
|
resizeObserver.disconnect();
|
|
545
549
|
};
|
|
546
550
|
}, [
|
|
551
|
+
bodyScale.y,
|
|
547
552
|
footerElement,
|
|
548
553
|
headerNode,
|
|
549
554
|
mergedOpen,
|
|
@@ -122,4 +122,26 @@
|
|
|
122
122
|
display: flex;
|
|
123
123
|
flex: 1;
|
|
124
124
|
flex-direction: column;
|
|
125
|
+
|
|
126
|
+
// Footer spacer 会挂在 SelectionFlow 末尾。这里若继续使用 flex: 1,
|
|
127
|
+
// spacer 只会参与剩余高度分配,外层滚动容器的 scrollHeight 不会增长,
|
|
128
|
+
// 最后一段内容仍会被浮动 Footer 盖住且无法滚出。
|
|
129
|
+
> .selection-flow {
|
|
130
|
+
flex: 0 0 auto;
|
|
131
|
+
|
|
132
|
+
// Kiosk 会通过 body transform 适配设计稿尺寸。在该缩放布局中,flex
|
|
133
|
+
// 伪元素的 basis 可能不会进入祖先的 scrollHeight,仍然无法滚过 Footer。
|
|
134
|
+
// 改用真实 padding 承接动态 Footer 高度,确保占位参与盒模型计算。
|
|
135
|
+
&.pisell-lowcode-floating-layer-auto-hide-scroll-target-content-end {
|
|
136
|
+
box-sizing: border-box;
|
|
137
|
+
padding-bottom: var(
|
|
138
|
+
--pisell-lowcode-floating-layer-footer-scroll-spacer,
|
|
139
|
+
0px
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
&::after {
|
|
143
|
+
display: none;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
125
147
|
}
|
|
@@ -225,13 +225,17 @@ const TransformFloatingLayer = (props) => {
|
|
|
225
225
|
}, []);
|
|
226
226
|
const syncAutoHideScrollContentEnd = (0, react.useCallback)((target) => {
|
|
227
227
|
const targetRect = target.getBoundingClientRect();
|
|
228
|
-
|
|
229
|
-
let
|
|
230
|
-
let
|
|
228
|
+
const lastVisibleChild = Array.from(target.children).reverse().find((candidate) => candidate instanceof HTMLElement && candidate.clientHeight > 0);
|
|
229
|
+
let contentEndElement = lastVisibleChild || target;
|
|
230
|
+
let contentEnd = lastVisibleChild ? lastVisibleChild.getBoundingClientRect().top - targetRect.top + target.scrollTop + lastVisibleChild.scrollHeight : target.scrollHeight;
|
|
231
|
+
let contentEndDepth = lastVisibleChild ? 1 : 0;
|
|
231
232
|
/**
|
|
232
233
|
* 滚动容器的直接子元素可能只是一个固定高度 flex 外壳,真实内容继续
|
|
233
234
|
* 从更深层 overflow 出去。Footer spacer 若放在外壳后面,会与溢出的
|
|
234
235
|
* 业务内容重叠。这里寻找真正把滚动高度撑到最底部的最深层节点。
|
|
236
|
+
* 没有内部 overflow 时也必须落在最后一个真实内容节点上;若直接落在
|
|
237
|
+
* flex 滚动容器自身,伪元素会参与剩余高度分配,可能看似有 spacer,
|
|
238
|
+
* 实际 scrollHeight 却没有增长,底部内容仍被浮动 Footer 遮住。
|
|
235
239
|
*/
|
|
236
240
|
Array.from(target.querySelectorAll("*")).forEach((candidate) => {
|
|
237
241
|
if (candidate.clientHeight <= 0 || candidate.scrollHeight <= candidate.clientHeight + 1) return;
|
|
@@ -518,7 +522,7 @@ const TransformFloatingLayer = (props) => {
|
|
|
518
522
|
contentElement.style.setProperty(cssVariableName, "0px");
|
|
519
523
|
return;
|
|
520
524
|
}
|
|
521
|
-
const rectHeight = regionContent.getBoundingClientRect().height;
|
|
525
|
+
const rectHeight = regionContent.getBoundingClientRect().height / bodyScale.y;
|
|
522
526
|
const canCommitMeasuredHeight = !headerFooterHiddenRef.current && (allowShrink || lastVisibleHeightRef.current === 0 || rectHeight >= lastVisibleHeightRef.current);
|
|
523
527
|
if (rectHeight > 0 && canCommitMeasuredHeight) lastVisibleHeightRef.current = rectHeight;
|
|
524
528
|
contentElement.style.setProperty(cssVariableName, `${Math.max(0, lastVisibleHeightRef.current)}px`);
|
|
@@ -547,6 +551,7 @@ const TransformFloatingLayer = (props) => {
|
|
|
547
551
|
resizeObserver.disconnect();
|
|
548
552
|
};
|
|
549
553
|
}, [
|
|
554
|
+
bodyScale.y,
|
|
550
555
|
footerElement,
|
|
551
556
|
headerNode,
|
|
552
557
|
mergedOpen,
|
|
@@ -122,4 +122,26 @@
|
|
|
122
122
|
display: flex;
|
|
123
123
|
flex: 1;
|
|
124
124
|
flex-direction: column;
|
|
125
|
+
|
|
126
|
+
// Footer spacer 会挂在 SelectionFlow 末尾。这里若继续使用 flex: 1,
|
|
127
|
+
// spacer 只会参与剩余高度分配,外层滚动容器的 scrollHeight 不会增长,
|
|
128
|
+
// 最后一段内容仍会被浮动 Footer 盖住且无法滚出。
|
|
129
|
+
> .selection-flow {
|
|
130
|
+
flex: 0 0 auto;
|
|
131
|
+
|
|
132
|
+
// Kiosk 会通过 body transform 适配设计稿尺寸。在该缩放布局中,flex
|
|
133
|
+
// 伪元素的 basis 可能不会进入祖先的 scrollHeight,仍然无法滚过 Footer。
|
|
134
|
+
// 改用真实 padding 承接动态 Footer 高度,确保占位参与盒模型计算。
|
|
135
|
+
&.pisell-lowcode-floating-layer-auto-hide-scroll-target-content-end {
|
|
136
|
+
box-sizing: border-box;
|
|
137
|
+
padding-bottom: var(
|
|
138
|
+
--pisell-lowcode-floating-layer-footer-scroll-spacer,
|
|
139
|
+
0px
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
&::after {
|
|
143
|
+
display: none;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
125
147
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pisell/private-materials",
|
|
3
|
-
"version": "6.12.
|
|
3
|
+
"version": "6.12.132",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -69,10 +69,10 @@
|
|
|
69
69
|
"react-zoom-pan-pinch": "^3.7.0",
|
|
70
70
|
"styled-components": "^6.0.0-rc.3",
|
|
71
71
|
"use-sync-external-store": "^1.6.0",
|
|
72
|
-
"@pisell/
|
|
72
|
+
"@pisell/materials": "6.12.35",
|
|
73
73
|
"@pisell/icon": "0.0.11",
|
|
74
74
|
"@pisell/date-picker": "3.0.10",
|
|
75
|
-
"@pisell/
|
|
75
|
+
"@pisell/utils": "3.0.4"
|
|
76
76
|
},
|
|
77
77
|
"peerDependencies": {
|
|
78
78
|
"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,48 +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/appendPromotionTags.js";
|
|
6
|
-
import "./context/SalesSdkUIHostsContext.js";
|
|
7
|
-
import "./utils/runAddProductFlow.js";
|
|
8
|
-
import "./components/showAddToCartToast.js";
|
|
9
|
-
import "./utils/resolveAddProductDebounceKey.js";
|
|
10
|
-
import "./utils/productSkuOptions.js";
|
|
11
|
-
import "./utils/identity.js";
|
|
12
|
-
import "./utils/resolveInCartQuantityForAddToast.js";
|
|
13
|
-
import "./utils/addProductWithFlowDebounced.js";
|
|
14
|
-
import "./utils/bookingDate.js";
|
|
15
|
-
import "./utils/removeOrderProducts.js";
|
|
16
|
-
import "./selectors.js";
|
|
17
|
-
import "./utils/enrich.js";
|
|
18
|
-
import "./giftSelect/createOpenGiftSelectHost.js";
|
|
19
|
-
import "./utils/formatHolderOptions.js";
|
|
20
|
-
import "./utils/enrichCartLineHolderDisplay.js";
|
|
21
|
-
import "./context/SalesSdkHolderContext.js";
|
|
22
|
-
import "./utils/holderSubmitValidation.js";
|
|
23
|
-
import "./utils/ensureHoldersBeforeSubmit.js";
|
|
24
|
-
import "./hooks/useSalesSdk.js";
|
|
25
|
-
import "./bookingEditService/BookingEditServiceDrawer.js";
|
|
26
|
-
import "./hosts/BookingEditHostRenderer.js";
|
|
27
|
-
import "./hooks/useSalesSdkCart.js";
|
|
28
|
-
import "./hooks/useSalesSdkCustomer.js";
|
|
29
|
-
import "./normalProductDetail/NormalProductDetailHostRenderer.js";
|
|
30
|
-
import "./hosts/createOpenBookingEditHost.js";
|
|
31
|
-
import "./hosts/createOpenMultiDaySelectHost.js";
|
|
32
|
-
import "./hosts/createOpenHolderSelectHost.js";
|
|
33
|
-
import "./demo/hosts/legacyOpenProductDetail.js";
|
|
34
|
-
import "./hosts/createCompositeOpenProductDetailHost.js";
|
|
35
|
-
import "./normalProductDetail/createOpenNormalProductDetailHost.js";
|
|
36
|
-
import "./normalProductDetail/createOpenBookingSelectionFlowHost.js";
|
|
37
|
-
import "./giftSelect/GiftSelectModal.js";
|
|
38
|
-
import "./giftSelect/GiftSelectHostRenderer.js";
|
|
39
|
-
import "./context/SalesSdkProvider.js";
|
|
40
|
-
import "./context/SalesSdkDishContext.js";
|
|
41
|
-
import "./context/SalesSdkBookingContext.js";
|
|
42
|
-
import "./hooks/useSalesSdkSummary.js";
|
|
43
|
-
import "./hooks/useSalesSdkProducts.js";
|
|
44
|
-
import "./demo/index.js";
|
|
45
|
-
import "./hooks/useSalesSdkDish.js";
|
|
46
|
-
import "./hooks/useCurrentSalesSdkDish.js";
|
|
47
|
-
import "./hooks/useSyncOsModule.js";
|
|
48
|
-
export {};
|