@pisell/private-materials 6.12.125 → 6.12.126
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 +1 -0
- package/es/components/bigSale/components/TimeBar/index.js +1 -0
- package/es/components/bigSale/dialog.js +1 -0
- package/es/components/bigSale/hooks/useBigSaleContext.js +1 -0
- package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +1 -0
- package/es/components/bigSale/index.js +1 -0
- package/es/components/bigSale/templates/Kiosk/index.js +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.js +2 -2
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.js +5 -3
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/SelectDate/index.js +2 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/index.d.ts +5 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/index.js +2 -1
- package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +1 -0
- package/es/index.js +2 -0
- 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/pisellReservation/index.js +17 -0
- package/es/plus/productSelect/ProductCard/SkuCard/locales.js +10 -5
- package/es/plus/productSelect/ProductCard/index.js +25 -5
- package/es/plus/productSelect/ProductCard/utils.js +11 -1
- package/es/plus/saleDetail/Base.js +1 -0
- package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +1 -0
- package/es/plus/saleDetail/components/DetailActions/index.js +1 -0
- package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +1 -0
- package/es/plus/saleDetail/index.js +1 -0
- package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +1 -0
- package/es/plus/saleDetail/tmpl/B/index.js +1 -0
- package/es/plus/salesSdk/index.js +48 -0
- 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/pro/Login2.0/AuthModal.d.ts +1 -1
- package/es/pro/Login2.0/index.d.ts +2 -1
- package/es/pro/Login2.0/shared/types.d.ts +1 -1
- package/es/pro/skuDetailModal/flow/index.less +27 -0
- package/es/pro/skuDetailModal/flow/modules/date.js +1 -0
- package/es/pro/skuDetailModal/flow/modules/resource.js +1 -2
- package/es/pro/skuDetailModal/flow/modules/resource.less +37 -0
- package/es/pro/skuDetailModal/index.js +45 -3
- package/es/pro/skuDetailModal/index.less +12 -7
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.js +2 -2
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.js +5 -3
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/SelectDate/index.js +2 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/index.d.ts +5 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/index.js +2 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/locales.js +10 -5
- package/lib/plus/productSelect/ProductCard/index.js +24 -4
- package/lib/plus/productSelect/ProductCard/utils.js +11 -0
- package/lib/pro/skuDetailModal/flow/index.less +27 -0
- package/lib/pro/skuDetailModal/flow/modules/date.js +1 -0
- package/lib/pro/skuDetailModal/flow/modules/resource.js +1 -2
- package/lib/pro/skuDetailModal/flow/modules/resource.less +37 -0
- package/lib/pro/skuDetailModal/index.js +45 -3
- package/lib/pro/skuDetailModal/index.less +12 -7
- package/package.json +3 -3
- 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
|
|
@@ -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 dayjs from "dayjs";
|
|
9
10
|
import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
@@ -5,6 +5,7 @@ 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";
|
|
8
9
|
import { seedDineInReservationToCart } from "../../plus/pisellReservation/utils/seedDineInReservationToCart.js";
|
|
9
10
|
import BigSale from "./index.js";
|
|
10
11
|
import dayjs from "dayjs";
|
|
@@ -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 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";
|
|
6
7
|
import { resolveOrderIdForHostActions } from "../../../plus/pisellReservation/components/bookingDetailModal/bookingDetailHostActions.js";
|
|
7
8
|
import { usePicoCodingOpenData } from "../../../plus/pisellReservation/hooks/usePicoCodingOpenData.js";
|
|
8
9
|
import { seedDineInReservationToCart } from "../../../plus/pisellReservation/utils/seedDineInReservationToCart.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 { ResponsiveBigSaleBase } from "./Base.js";
|
|
12
13
|
import dayjs from "dayjs";
|
|
13
14
|
import React, { useEffect, useMemo, useRef } from "react";
|
|
@@ -5,6 +5,7 @@ import { useSalesSdkHostBridges } from "../../../../plus/salesSdk/context/SalesS
|
|
|
5
5
|
import { resolvePaymentResultToastV2ViewModel } from "../../../checkout/components/PaymentResultToastV2/resolve.js";
|
|
6
6
|
import PaymentResultToastV2_default from "../../../checkout/components/PaymentResultToastV2/index.js";
|
|
7
7
|
import { useSalesSdk } from "../../../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
8
|
+
import "../../../../plus/salesSdk/index.js";
|
|
8
9
|
import { usePickSaleDetailContext } from "../../hooks/usePickSaleDetailContext.js";
|
|
9
10
|
import { resolveBigSaleAutoProductListPreferences } from "../../utils/productListPreferences.js";
|
|
10
11
|
import { resolveBigSaleProductDisplayConfig } from "../../hooks/useBigSaleProductListConfig.js";
|
|
@@ -8,7 +8,7 @@ import { Iconfont } from "@pisell/materials";
|
|
|
8
8
|
import "./index.less";
|
|
9
9
|
//#region src/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.tsx
|
|
10
10
|
const WeekItem = (props) => {
|
|
11
|
-
const { weekList, currentDate, setCurrentDate, isActive, productId, dateLimitData, getLimitData, cutTime, showStatusBar = true, ignoreAvailabilityDisabled = false, minSelectableDate, enableRangeSelection = false, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader = false, disableCallToBook = false, onPrevWeek, onNextWeek, showNavigation = true } = props;
|
|
11
|
+
const { weekList, currentDate, setCurrentDate, isActive, productId, dateLimitData, getLimitData, cutTime, showStatusBar = true, ignoreAvailabilityDisabled = false, minSelectableDate, minViewDate, enableRangeSelection = false, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader = false, disableCallToBook = false, onPrevWeek, onNextWeek, showNavigation = true } = props;
|
|
12
12
|
const [monthIndex, setMonthIndex] = useState([]);
|
|
13
13
|
useEffect(() => {
|
|
14
14
|
if (isActive && productId) {}
|
|
@@ -20,7 +20,7 @@ const WeekItem = (props) => {
|
|
|
20
20
|
useEffect(() => {
|
|
21
21
|
setMonthIndex(getMonthIndex(weekList));
|
|
22
22
|
}, [weekList]);
|
|
23
|
-
const prevWeekDisabled = minSelectableDate && (weekList === null || weekList === void 0 ? void 0 : weekList[0]) && dayjs(weekList[0]).subtract(1, "day").isBefore(dayjs(minSelectableDate), "day");
|
|
23
|
+
const prevWeekDisabled = (minViewDate || minSelectableDate) && (weekList === null || weekList === void 0 ? void 0 : weekList[0]) && dayjs(weekList[0]).subtract(1, "day").isBefore(dayjs(minViewDate || minSelectableDate), "day");
|
|
24
24
|
return /* @__PURE__ */ React.createElement("div", { className: "week-item-wrap" }, /* @__PURE__ */ React.createElement("div", { className: "week-item-content" }, showNavigation ? /* @__PURE__ */ React.createElement(Iconfont, {
|
|
25
25
|
type: "pisell2-arrow-left",
|
|
26
26
|
className: "week-item__icon",
|
|
@@ -9,7 +9,7 @@ import classNames from "classnames";
|
|
|
9
9
|
import "./index.less";
|
|
10
10
|
//#region src/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.tsx
|
|
11
11
|
const CalenDateWeek = (props) => {
|
|
12
|
-
const { currentDate, dateChange, productId, timeList, dateLimitData, getLimitData, cutTime, showStatusBar = true, showDisabledStatus = true, ignoreAvailabilityDisabled = false, minSelectableDate, enableRangeSelection = false, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader = false, enableSwipeNavigation = false, disableCallToBook = false } = props;
|
|
12
|
+
const { currentDate, dateChange, productId, timeList, dateLimitData, getLimitData, cutTime, showStatusBar = true, showDisabledStatus = true, ignoreAvailabilityDisabled = false, minSelectableDate, minViewDate, enableRangeSelection = false, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader = false, enableSwipeNavigation = false, disableCallToBook = false } = props;
|
|
13
13
|
const [weekList, setWeekList] = useState([]);
|
|
14
14
|
const [weekAnchorDate, setWeekAnchorDate] = useState(currentDate);
|
|
15
15
|
const [pendingWeekList, setPendingWeekList] = useState(null);
|
|
@@ -84,7 +84,8 @@ const CalenDateWeek = (props) => {
|
|
|
84
84
|
if (weekListRef === null || weekListRef === void 0 ? void 0 : weekListRef.current) weekListRef.current.scrollLeft = 0;
|
|
85
85
|
}, [currentDate, weekList]);
|
|
86
86
|
const resolveWeekNavigation = (direction) => {
|
|
87
|
-
const
|
|
87
|
+
const minimumViewDate = minViewDate || minSelectableDate;
|
|
88
|
+
const minDate = minimumViewDate ? dayjs(minimumViewDate).startOf("day") : null;
|
|
88
89
|
const nextDate = dayjs(weekAnchorDate).add(direction * 7, "day");
|
|
89
90
|
const nextAnchorDate = direction < 0 && minDate && nextDate.isBefore(minDate, "day") ? minDate.format("YYYY-MM-DD") : nextDate.format("YYYY-MM-DD");
|
|
90
91
|
const nextWeekList = initCurrentWeekData(nextAnchorDate);
|
|
@@ -181,6 +182,7 @@ const CalenDateWeek = (props) => {
|
|
|
181
182
|
showStatusBar,
|
|
182
183
|
ignoreAvailabilityDisabled,
|
|
183
184
|
minSelectableDate,
|
|
185
|
+
minViewDate,
|
|
184
186
|
enableRangeSelection,
|
|
185
187
|
selectedRangeStartDate,
|
|
186
188
|
selectedRangeEndDate,
|
|
@@ -190,7 +192,7 @@ const CalenDateWeek = (props) => {
|
|
|
190
192
|
onNextWeek: () => handleWeekNavigate(1),
|
|
191
193
|
showNavigation: !enableSwipeNavigation
|
|
192
194
|
});
|
|
193
|
-
const prevWeekDisabled = Boolean(minSelectableDate && (weekList === null || weekList === void 0 ? void 0 : weekList[0]) && dayjs(weekList[0]).subtract(1, "day").isBefore(dayjs(minSelectableDate), "day"));
|
|
195
|
+
const prevWeekDisabled = Boolean((minViewDate || minSelectableDate) && (weekList === null || weekList === void 0 ? void 0 : weekList[0]) && dayjs(weekList[0]).subtract(1, "day").isBefore(dayjs(minViewDate || minSelectableDate), "day"));
|
|
194
196
|
return /* @__PURE__ */ React.createElement("div", { className: "calendar-week-wrap" }, /* @__PURE__ */ React.createElement("div", { className: "calendar-week-navigation" }, enableSwipeNavigation ? /* @__PURE__ */ React.createElement(Iconfont, {
|
|
195
197
|
type: "pisell2-arrow-left",
|
|
196
198
|
className: "calendar-week-navigation__icon",
|
|
@@ -11,7 +11,7 @@ import { Iconfont } from "@pisell/materials";
|
|
|
11
11
|
import classNames from "classnames";
|
|
12
12
|
import "./index.less";
|
|
13
13
|
//#region src/components/eventBooking/components/bookingAvailabilityCalendar/components/SelectDate/index.tsx
|
|
14
|
-
const SelectDate = ({ currentDate, detail, currentDateChange, setSurplusDisabledChange, cutTime, setCutTime, showCalendarPopup, showStatusLegend = true, showDateStatusBar = true, title = "Select a date", showHeader = true, showDisabledStatus = true, ignoreAvailabilityDisabled = false, minSelectableDate, enableRangeSelection = false, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader = false, enableWeekSwipe = false, availabilityDates }, ref) => {
|
|
14
|
+
const SelectDate = ({ currentDate, detail, currentDateChange, setSurplusDisabledChange, cutTime, setCutTime, showCalendarPopup, showStatusLegend = true, showDateStatusBar = true, title = "Select a date", showHeader = true, showDisabledStatus = true, ignoreAvailabilityDisabled = false, minSelectableDate, minViewDate, enableRangeSelection = false, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader = false, enableWeekSwipe = false, availabilityDates }, ref) => {
|
|
15
15
|
const [dateLimitData, setDateLimitData] = useState(mock.availability_calendar.limitData);
|
|
16
16
|
/**
|
|
17
17
|
* UBS 日期结果只负责状态展示,不伪造旧事件预约的 times/库存结构。
|
|
@@ -67,6 +67,7 @@ const SelectDate = ({ currentDate, detail, currentDateChange, setSurplusDisabled
|
|
|
67
67
|
showDisabledStatus,
|
|
68
68
|
ignoreAvailabilityDisabled,
|
|
69
69
|
minSelectableDate,
|
|
70
|
+
minViewDate,
|
|
70
71
|
enableRangeSelection,
|
|
71
72
|
selectedRangeStartDate,
|
|
72
73
|
selectedRangeEndDate,
|
|
@@ -32,6 +32,11 @@ interface BookingAvailabilityCalendarProps {
|
|
|
32
32
|
showDisabledStatus?: boolean;
|
|
33
33
|
ignoreAvailabilityDisabled?: boolean;
|
|
34
34
|
minSelectableDate?: string;
|
|
35
|
+
/**
|
|
36
|
+
* 周历允许查看的最早日期;未传时继续沿用 minSelectableDate。
|
|
37
|
+
* 该值只控制翻页边界,不会让不可选日期变成可选。
|
|
38
|
+
*/
|
|
39
|
+
minViewDate?: string;
|
|
35
40
|
enableRangeSelection?: boolean;
|
|
36
41
|
selectedRangeStartDate?: string;
|
|
37
42
|
selectedRangeEndDate?: string;
|
|
@@ -9,7 +9,7 @@ import "./index.less";
|
|
|
9
9
|
const BookingAvailabilityCalendar = (props) => {
|
|
10
10
|
var _mock$availability_ca, _mock$availability_ca2, _mock$availability_ca3;
|
|
11
11
|
locales.init(locales_default, locales.locale || "en");
|
|
12
|
-
const { showCalendarPopup, onDateChange, detail = (_mock$availability_ca = mock.availability_calendar) === null || _mock$availability_ca === void 0 ? void 0 : _mock$availability_ca.detail, currentDate = (_mock$availability_ca2 = mock.availability_calendar) === null || _mock$availability_ca2 === void 0 ? void 0 : _mock$availability_ca2.currentDate, cutTime = (_mock$availability_ca3 = mock.availability_calendar) === null || _mock$availability_ca3 === void 0 ? void 0 : _mock$availability_ca3.cutTime, onCurrentDateChange, onCutTimeChange, onSurplusDisabledChange, showStatusLegend = true, showDateStatusBar = true, theme = "light", className, title, showHeader, showDisabledStatus, ignoreAvailabilityDisabled, minSelectableDate, enableRangeSelection, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader, enableWeekSwipe, availabilityDates } = props;
|
|
12
|
+
const { showCalendarPopup, onDateChange, detail = (_mock$availability_ca = mock.availability_calendar) === null || _mock$availability_ca === void 0 ? void 0 : _mock$availability_ca.detail, currentDate = (_mock$availability_ca2 = mock.availability_calendar) === null || _mock$availability_ca2 === void 0 ? void 0 : _mock$availability_ca2.currentDate, cutTime = (_mock$availability_ca3 = mock.availability_calendar) === null || _mock$availability_ca3 === void 0 ? void 0 : _mock$availability_ca3.cutTime, onCurrentDateChange, onCutTimeChange, onSurplusDisabledChange, showStatusLegend = true, showDateStatusBar = true, theme = "light", className, title, showHeader, showDisabledStatus, ignoreAvailabilityDisabled, minSelectableDate, minViewDate, enableRangeSelection, selectedRangeStartDate, selectedRangeEndDate, showMonthHeader, enableWeekSwipe, availabilityDates } = props;
|
|
13
13
|
console.log(detail, currentDate, cutTime, "detail, currentDate, cutTime");
|
|
14
14
|
return /* @__PURE__ */ React.createElement("div", { className: classNames("event-booking-availability-calendar", `event-booking-availability-calendar--${theme}`, className) }, /* @__PURE__ */ React.createElement(SelectDate_default, {
|
|
15
15
|
showCalendarPopup,
|
|
@@ -29,6 +29,7 @@ const BookingAvailabilityCalendar = (props) => {
|
|
|
29
29
|
showDisabledStatus,
|
|
30
30
|
ignoreAvailabilityDisabled,
|
|
31
31
|
minSelectableDate,
|
|
32
|
+
minViewDate,
|
|
32
33
|
enableRangeSelection,
|
|
33
34
|
selectedRangeStartDate,
|
|
34
35
|
selectedRangeEndDate,
|
|
@@ -2,6 +2,7 @@ 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";
|
|
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
|
@@ -82,6 +82,7 @@ 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";
|
|
85
86
|
import BigSaleRightActionPanel from "./components/BigSaleRightActionPanel/index.js";
|
|
86
87
|
import BigSale from "./components/bigSale/index.js";
|
|
87
88
|
import Deposit from "./components/appointmentBooking/deposit/index.js";
|
|
@@ -135,6 +136,7 @@ import PisellVenueControlPage from "./plus/pisellReservation/PisellVenueControlP
|
|
|
135
136
|
import PisellVenueWallPage from "./plus/pisellReservation/PisellVenueWallPage.js";
|
|
136
137
|
import PisellReservationTablePage from "./plus/pisellReservation/PisellReservationTablePage.js";
|
|
137
138
|
import SelectFloorMapResourceDialog from "./plus/pisellReservation/components/SelectFloorMapResourceDialog.js";
|
|
139
|
+
import "./plus/pisellReservation/index.js";
|
|
138
140
|
import { PisellTopology, PisellTopologyCore } from "./plus/pisellTopology/PisellTopology.js";
|
|
139
141
|
import cupProject_default from "./components/ecocup/cupProject/index.js";
|
|
140
142
|
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, 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 {};
|
|
@@ -11,7 +11,8 @@ var locales_default = {
|
|
|
11
11
|
"pisell2.sku-card.time.remaining": "Time Remaining",
|
|
12
12
|
"pisell2.sku-card.capacity": "Capacity",
|
|
13
13
|
"pisell2.sku-card.free": "Free",
|
|
14
|
-
"pisell2.sku-card.max": "Max"
|
|
14
|
+
"pisell2.sku-card.max": "Max",
|
|
15
|
+
"pisell2.sku-card.sold-out": "Sold Out"
|
|
15
16
|
},
|
|
16
17
|
"zh-CN": {
|
|
17
18
|
"pisell2.sku-card.search": "搜索",
|
|
@@ -24,7 +25,8 @@ var locales_default = {
|
|
|
24
25
|
"pisell2.sku-card.time.remaining": "剩余",
|
|
25
26
|
"pisell2.sku-card.capacity": "容量",
|
|
26
27
|
"pisell2.sku-card.free": "免费",
|
|
27
|
-
"pisell2.sku-card.max": "最大"
|
|
28
|
+
"pisell2.sku-card.max": "最大",
|
|
29
|
+
"pisell2.sku-card.sold-out": "已售罄"
|
|
28
30
|
},
|
|
29
31
|
"zh-HK": {
|
|
30
32
|
"pisell2.sku-card.search": "搜索",
|
|
@@ -37,7 +39,8 @@ var locales_default = {
|
|
|
37
39
|
"pisell2.sku-card.time.remaining": "剩余",
|
|
38
40
|
"pisell2.sku-card.capacity": "容量",
|
|
39
41
|
"pisell2.sku-card.free": "免費",
|
|
40
|
-
"pisell2.sku-card.max": "最大"
|
|
42
|
+
"pisell2.sku-card.max": "最大",
|
|
43
|
+
"pisell2.sku-card.sold-out": "已售罄"
|
|
41
44
|
},
|
|
42
45
|
ja: {
|
|
43
46
|
"pisell2.sku-card.search": "検索",
|
|
@@ -50,7 +53,8 @@ var locales_default = {
|
|
|
50
53
|
"pisell2.sku-card.time.remaining": "残り時間",
|
|
51
54
|
"pisell2.sku-card.capacity": "容量",
|
|
52
55
|
"pisell2.sku-card.free": "無料",
|
|
53
|
-
"pisell2.sku-card.max": "最大"
|
|
56
|
+
"pisell2.sku-card.max": "最大",
|
|
57
|
+
"pisell2.sku-card.sold-out": "売り切れ"
|
|
54
58
|
},
|
|
55
59
|
pt: {
|
|
56
60
|
"pisell2.sku-card.search": "Pesquisar",
|
|
@@ -63,7 +67,8 @@ var locales_default = {
|
|
|
63
67
|
"pisell2.sku-card.time.remaining": "Tempo Restante",
|
|
64
68
|
"pisell2.sku-card.capacity": "Capacidade",
|
|
65
69
|
"pisell2.sku-card.free": "Grátis",
|
|
66
|
-
"pisell2.sku-card.max": "Máx"
|
|
70
|
+
"pisell2.sku-card.max": "Máx",
|
|
71
|
+
"pisell2.sku-card.sold-out": "Esgotado"
|
|
67
72
|
}
|
|
68
73
|
};
|
|
69
74
|
//#endregion
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { _objectSpread2 } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
2
|
+
import useEngineContext from "../../../hooks/useEngineContext.js";
|
|
2
3
|
import { IntersectionTrigger } from "../components/IntersectionObserver.js";
|
|
3
4
|
import index from "../components/pisellPriceText/index.js";
|
|
4
5
|
import "./ProductCardSkeleton.js";
|
|
5
6
|
import { getStandardWeightUnitPrice } from "./weighingPrice.js";
|
|
7
|
+
import locales_default from "./SkuCard/locales.js";
|
|
8
|
+
import useInitLocalesOnce from "../../../hooks/useInitLocalesOnce.js";
|
|
6
9
|
import SkuCard from "./SkuCard/index.js";
|
|
7
|
-
import { formatProductPrice, getSkuCardConfig } from "./utils.js";
|
|
10
|
+
import { formatProductPrice, getSkuCardConfig, shouldShowInventorySoldOut } from "./utils.js";
|
|
8
11
|
import useTranslationOriginal from "../../../hooks/useTranslationOriginal.js";
|
|
9
12
|
import { PREFIX } from "../index.js";
|
|
10
13
|
import React, { memo, useMemo } from "react";
|
|
@@ -39,10 +42,15 @@ const defaultConfig = {
|
|
|
39
42
|
}
|
|
40
43
|
};
|
|
41
44
|
const ProductCard = memo(({ item, index: index$1, context, onSelect, onSelectCover, onSelectInfo, isSelected, className, decorateConfig = {}, scenario = "default", selectionTrigger = "pointerUp", customSkuCardAllConfig }) => {
|
|
45
|
+
var _engineContext$appHel, _engineContext$appHel2;
|
|
46
|
+
const engineContext = useEngineContext();
|
|
47
|
+
useInitLocalesOnce(locales_default);
|
|
42
48
|
const finalConfig = _objectSpread2(_objectSpread2({}, defaultConfig), decorateConfig);
|
|
43
49
|
const { imgHeight, imgWidth, isOriginPrice, isPrice, isProductCover, isStock, isSubtitle, isTitle, radius, showZeroPrice, gap, rightStyle } = finalConfig;
|
|
44
50
|
const { __typename } = item;
|
|
45
51
|
const translationOriginal = useTranslationOriginal();
|
|
52
|
+
const isSoldOut = shouldShowInventorySoldOut(item, engineContext === null || engineContext === void 0 || (_engineContext$appHel = engineContext.appHelper) === null || _engineContext$appHel === void 0 || (_engineContext$appHel = _engineContext$appHel.utils) === null || _engineContext$appHel === void 0 || (_engineContext$appHel2 = _engineContext$appHel.getData) === null || _engineContext$appHel2 === void 0 ? void 0 : _engineContext$appHel2.call(_engineContext$appHel, "channel"));
|
|
53
|
+
const soldOutText = locales.getText("pisell2.sku-card.sold-out") || "Sold Out";
|
|
46
54
|
if (__typename === "category") return /* @__PURE__ */ React.createElement("div", {
|
|
47
55
|
className: classNames(`${PREFIX}__product-category`, className),
|
|
48
56
|
"data-index": index$1,
|
|
@@ -133,11 +141,21 @@ const ProductCard = memo(({ item, index: index$1, context, onSelect, onSelectCov
|
|
|
133
141
|
*/
|
|
134
142
|
const skuCardRender = useMemo(() => {
|
|
135
143
|
const skuCardAllConfig = customSkuCardAllConfig || getSkuCardConfig(finalConfig);
|
|
144
|
+
const skuStatusOverlayConfig = isSoldOut ? _objectSpread2(_objectSpread2({}, skuCardAllConfig.skuStatusOverlayConfig), {}, {
|
|
145
|
+
isOpen: 1,
|
|
146
|
+
text: soldOutText,
|
|
147
|
+
fontSize: 28,
|
|
148
|
+
fontWeight: 700,
|
|
149
|
+
color: "#000000",
|
|
150
|
+
background: "rgba(255, 255, 255, 0.72)",
|
|
151
|
+
slot: null
|
|
152
|
+
}) : skuCardAllConfig.skuStatusOverlayConfig;
|
|
136
153
|
return /* @__PURE__ */ React.createElement(SkuCard, _objectSpread2(_objectSpread2({ key: item.id }, skuCardAllConfig), {}, {
|
|
154
|
+
skuStatusOverlayConfig,
|
|
137
155
|
dataSource: skuCardDataSource,
|
|
138
|
-
onCardClick: () => onSelect === null || onSelect === void 0 ? void 0 : onSelect(item),
|
|
139
|
-
onSelectCover: () => onSelectCover === null || onSelectCover === void 0 ? void 0 : onSelectCover(item),
|
|
140
|
-
onSelectInfo: () => onSelectInfo === null || onSelectInfo === void 0 ? void 0 : onSelectInfo(item),
|
|
156
|
+
onCardClick: isSoldOut ? void 0 : () => onSelect === null || onSelect === void 0 ? void 0 : onSelect(item),
|
|
157
|
+
onSelectCover: isSoldOut ? void 0 : () => onSelectCover === null || onSelectCover === void 0 ? void 0 : onSelectCover(item),
|
|
158
|
+
onSelectInfo: isSoldOut ? void 0 : () => onSelectInfo === null || onSelectInfo === void 0 ? void 0 : onSelectInfo(item),
|
|
141
159
|
selectionTrigger,
|
|
142
160
|
isSelected,
|
|
143
161
|
"data-index": index$1,
|
|
@@ -162,7 +180,9 @@ const ProductCard = memo(({ item, index: index$1, context, onSelect, onSelectCov
|
|
|
162
180
|
rightStyle,
|
|
163
181
|
className,
|
|
164
182
|
customSkuCardAllConfig,
|
|
165
|
-
selectionTrigger
|
|
183
|
+
selectionTrigger,
|
|
184
|
+
isSoldOut,
|
|
185
|
+
soldOutText
|
|
166
186
|
]);
|
|
167
187
|
/**
|
|
168
188
|
* @description: 根据 scenario 决定渲染内容
|
|
@@ -14,6 +14,16 @@ const formatProductPrice = (item) => {
|
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
|
+
* 追踪库存且禁止超售时,库存小于等于 0 视为售罄。
|
|
18
|
+
*/
|
|
19
|
+
const isInventorySoldOut = (item) => Number(item === null || item === void 0 ? void 0 : item.is_track) === 1 && Number(item === null || item === void 0 ? void 0 : item.over_sold) === 0 && Number(item === null || item === void 0 ? void 0 : item.stock_quantity) <= 0;
|
|
20
|
+
/**
|
|
21
|
+
* POS 保持原有商品选择行为;其它渠道才展示库存售罄状态。
|
|
22
|
+
*/
|
|
23
|
+
const shouldShowInventorySoldOut = (item, channel) => {
|
|
24
|
+
return (String(channel || "pos").trim().toLowerCase() || "pos") !== "pos" && isInventorySoldOut(item);
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
17
27
|
* @description: 获取sku卡配置
|
|
18
28
|
* @param {ProductCardConfig} finalConfig
|
|
19
29
|
* @return {*}
|
|
@@ -52,4 +62,4 @@ const getSkuCardConfig = (finalConfig) => {
|
|
|
52
62
|
};
|
|
53
63
|
};
|
|
54
64
|
//#endregion
|
|
55
|
-
export { formatProductPrice, getSkuCardConfig };
|
|
65
|
+
export { formatProductPrice, getSkuCardConfig, shouldShowInventorySoldOut };
|
|
@@ -11,6 +11,7 @@ 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";
|
|
14
15
|
import locales_default from "./locales.js";
|
|
15
16
|
import locales_default$1 from "./components/LineItem/locales.js";
|
|
16
17
|
import { SaleOrderActionBoundary } from "./actions/index.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
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";
|
|
4
5
|
import { useMemo } from "react";
|
|
5
6
|
import { useMemoizedFn } from "ahooks";
|
|
6
7
|
//#region src/plus/saleDetail/components/Client/hooks/useClientSelectorProps.ts
|
|
@@ -9,6 +9,7 @@ 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";
|
|
12
13
|
import { getNumericAmount, getSalesHostModule, resolveSaleDetailOrderIdFromSales, resolveSaleDetailOrderIdFromSalesResult, shouldCloseDialogAfterCheckout, updateLocalOrder } from "./utils.js";
|
|
13
14
|
import { getRemotePrintActions, getWristbandList } from "../../serve.js";
|
|
14
15
|
import { deriveSaleOrderSubmitState } from "../../actions/state.js";
|
|
@@ -3,6 +3,7 @@ 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";
|
|
6
7
|
import React, { memo, useMemo } from "react";
|
|
7
8
|
import { formatAmount, locales } from "@pisell/utils";
|
|
8
9
|
import Decimal from "decimal.js";
|
|
@@ -4,6 +4,7 @@ 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";
|
|
7
8
|
import Base_default from "./Base.js";
|
|
8
9
|
import React, { forwardRef, useImperativeHandle } from "react";
|
|
9
10
|
//#region src/plus/saleDetail/index.tsx
|
|
@@ -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 { _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";
|
|
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,48 @@
|
|
|
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 {};
|
|
@@ -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 };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LoginFormData, OAuthConfig, PhoneAuthConfig, RegisterFormData, UIConfig, VerificationMethod } from "./shared/types.js";
|
|
1
2
|
import { Login2, Login2Config, Login2Events, Login2Props } from "./Login2.js";
|
|
2
3
|
import { Register2, Register2Config, Register2Events, Register2Props } from "./Register2.js";
|
|
3
|
-
import { AuthModal
|
|
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 };
|
|
229
|
+
export { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
|
|
@@ -70,7 +70,34 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
.sku-detail-selection-flow-scroll-shell {
|
|
74
|
+
position: relative;
|
|
75
|
+
display: flex;
|
|
76
|
+
min-height: 0;
|
|
77
|
+
flex: 1;
|
|
78
|
+
flex-direction: column;
|
|
79
|
+
|
|
80
|
+
// 阴影挂在不滚动的外壳上,因此不会混入时间卡片并跟随内容移动。
|
|
81
|
+
// 仅在下方仍有内容时展示,并使用较浅的渐变作为轻量提示。
|
|
82
|
+
&--can-scroll-down::after {
|
|
83
|
+
position: absolute;
|
|
84
|
+
right: 12px;
|
|
85
|
+
bottom: 0;
|
|
86
|
+
left: 0;
|
|
87
|
+
z-index: 2;
|
|
88
|
+
height: 16px;
|
|
89
|
+
background: linear-gradient(
|
|
90
|
+
to bottom,
|
|
91
|
+
rgba(255, 255, 255, 0),
|
|
92
|
+
rgba(16, 24, 40, 0.08)
|
|
93
|
+
);
|
|
94
|
+
content: '';
|
|
95
|
+
pointer-events: none;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
73
99
|
.sku-detail-right-content--selection-flow {
|
|
74
100
|
display: flex;
|
|
101
|
+
flex: 1;
|
|
75
102
|
flex-direction: column;
|
|
76
103
|
}
|
|
@@ -276,6 +276,7 @@ const DateFlowModuleComponent = ({ context, module, registerHandle }) => {
|
|
|
276
276
|
showHeader: false,
|
|
277
277
|
showMonthHeader: true,
|
|
278
278
|
enableWeekSwipe: true,
|
|
279
|
+
minViewDate: dayjs().startOf("day").format("YYYY-MM-DD"),
|
|
279
280
|
minSelectableDate: minimumSelectableDate.format("YYYY-MM-DD")
|
|
280
281
|
});
|
|
281
282
|
}
|
|
@@ -11,7 +11,6 @@ import PisellResourceCard from "../../../../components/eventBooking/components/r
|
|
|
11
11
|
import { getResourceList } from "../../../../components/booking/info2/serve.js";
|
|
12
12
|
import React, { useEffect, useMemo, useRef } from "react";
|
|
13
13
|
import { Alert, Space } from "antd";
|
|
14
|
-
import { isMobile } from "@pisell/utils";
|
|
15
14
|
import { PisellCustomCheckboxGroup } from "@pisell/materials";
|
|
16
15
|
import "./resource.less";
|
|
17
16
|
//#region src/pro/skuDetailModal/flow/modules/resource.tsx
|
|
@@ -334,7 +333,7 @@ const ResourceFlowModuleComponent = ({ context, module, registerHandle }) => {
|
|
|
334
333
|
fontWeight: 600
|
|
335
334
|
} }, group.title || group.code || "Resource"), /* @__PURE__ */ React.createElement(PisellCustomCheckboxGroup, {
|
|
336
335
|
dataSource: group.options,
|
|
337
|
-
columns:
|
|
336
|
+
columns: 4,
|
|
338
337
|
horizontalGap: 16,
|
|
339
338
|
verticalGap: 16,
|
|
340
339
|
className: "selection-flow-resource-grid",
|