@pisell/private-materials 3.4.5 → 3.4.6
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 +2 -2
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +2 -2
- package/es/businessModel/SalesModel/index.d.ts +0 -1
- package/es/components/Sales/Summary/utils.d.ts +1 -1
- package/es/components/appointmentBooking/components/Cart/utils.js +8 -13
- package/es/components/appointmentBooking/components/Content/index.js +105 -19
- package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Services/index.js +7 -2
- package/es/components/appointmentBooking/components/TimeSlicing/index.js +7 -3
- package/es/components/appointmentBooking/components/Voucher/index.js +10 -10
- package/es/components/appointmentBooking/hooks.js +28 -30
- package/es/components/booking/addons/model.d.ts +1 -10
- package/es/components/booking/components/TabProduct/index.d.ts +0 -1
- package/es/components/booking/components/formItemChildrenWrap/index.d.ts +0 -1
- package/es/components/booking/forms/model.d.ts +1 -10
- package/es/components/booking/forms/table/index.d.ts +0 -1
- package/es/components/booking/info/addServiceVariant/index.d.ts +0 -1
- package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/es/components/booking/info/dateRange/index.d.ts +0 -1
- package/es/components/booking/info/index.d.ts +0 -1
- package/es/components/booking/info/model.d.ts +1 -10
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info/service/like/index.d.ts +0 -1
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/model.d.ts +1 -9
- package/es/components/booking/notes/model.d.ts +1 -10
- package/es/components/booking/payments/model.d.ts +1 -10
- package/es/components/booking/utils.d.ts +2 -2
- package/es/components/eftpos/deviceList/index.d.ts +0 -1
- package/es/components/eftpos/form/index.d.ts +0 -1
- package/es/components/eftpos/group/index.d.ts +0 -1
- package/es/components/eftpos/hooks.d.ts +0 -1
- package/es/components/eftpos/icon/apiKey.d.ts +0 -1
- package/es/components/eftpos/icon/device.d.ts +0 -1
- package/es/components/eftpos/receipt/index.d.ts +0 -1
- package/es/components/eftpos/surcharge/index.d.ts +0 -1
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/component/alert/warn.d.ts +0 -1
- package/es/components/eftposPay/component/header/titlebar.d.ts +0 -1
- package/es/components/eftposPay/component/step/index.d.ts +0 -1
- package/es/components/eftposPay/component/step/step.d.ts +0 -1
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/hooks.d.ts +2 -2
- package/es/components/eftposPay/store/index.d.ts +5 -5
- package/es/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
- package/es/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/es/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
- package/es/components/pay/toC/model.d.ts +1 -9
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
- package/es/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/es/components/productExtension/fields/Forms/index.d.ts +0 -1
- package/es/components/productSelect/components/TabProduct/index.js +103 -39
- package/es/components/productSelect/components/TabProduct/tabs/index.less +1 -0
- package/es/components/productSelect/index.d.ts +2 -0
- package/es/components/schedules/calendar/calendarItem.d.ts +0 -1
- package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +0 -1
- package/es/components/schedules/model.d.ts +1 -9
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +0 -1
- package/es/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/es/components/shoppingCart/components/Cart/Product.d.ts +0 -1
- package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/es/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
- package/es/components/wallet/Detail/model.d.ts +1 -13
- package/es/components/wallet/DiscountCard/model.d.ts +1 -14
- package/es/components/wallet/PointCard/model.d.ts +1 -13
- package/es/components/wallet/RechargeableCard/model.d.ts +1 -29
- package/es/components/wallet/Voucher/model.d.ts +1 -13
- package/es/components/wallet/model.d.ts +1 -9
- package/es/components/walletList/index.js +4 -4
- package/es/components/workSpaceList/components/Modal/index.d.ts +0 -1
- package/es/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +0 -1
- package/lib/businessModel/SalesModel/index.d.ts +0 -1
- package/lib/components/Sales/Summary/utils.d.ts +1 -1
- package/lib/components/appointmentBooking/components/Cart/utils.js +0 -10
- package/lib/components/appointmentBooking/components/Content/index.js +49 -7
- package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Services/index.js +6 -1
- package/lib/components/appointmentBooking/components/TimeSlicing/index.js +7 -3
- package/lib/components/appointmentBooking/components/Voucher/index.js +0 -11
- package/lib/components/appointmentBooking/hooks.js +5 -16
- package/lib/components/booking/addons/model.d.ts +1 -10
- package/lib/components/booking/components/TabProduct/index.d.ts +0 -1
- package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +0 -1
- package/lib/components/booking/forms/model.d.ts +1 -10
- package/lib/components/booking/forms/table/index.d.ts +0 -1
- package/lib/components/booking/info/addServiceVariant/index.d.ts +0 -1
- package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/lib/components/booking/info/dateRange/index.d.ts +0 -1
- package/lib/components/booking/info/index.d.ts +0 -1
- package/lib/components/booking/info/model.d.ts +1 -10
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info/service/like/index.d.ts +0 -1
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/model.d.ts +1 -9
- package/lib/components/booking/notes/model.d.ts +1 -10
- package/lib/components/booking/payments/model.d.ts +1 -10
- package/lib/components/booking/utils.d.ts +2 -2
- package/lib/components/eftpos/deviceList/index.d.ts +0 -1
- package/lib/components/eftpos/form/index.d.ts +0 -1
- package/lib/components/eftpos/group/index.d.ts +0 -1
- package/lib/components/eftpos/hooks.d.ts +0 -1
- package/lib/components/eftpos/icon/apiKey.d.ts +0 -1
- package/lib/components/eftpos/icon/device.d.ts +0 -1
- package/lib/components/eftpos/receipt/index.d.ts +0 -1
- package/lib/components/eftpos/surcharge/index.d.ts +0 -1
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/component/alert/warn.d.ts +0 -1
- package/lib/components/eftposPay/component/header/titlebar.d.ts +0 -1
- package/lib/components/eftposPay/component/step/index.d.ts +0 -1
- package/lib/components/eftposPay/component/step/step.d.ts +0 -1
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/hooks.d.ts +2 -2
- package/lib/components/eftposPay/store/index.d.ts +5 -5
- package/lib/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
- package/lib/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/lib/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
- package/lib/components/pay/toC/model.d.ts +1 -9
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
- package/lib/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/lib/components/productExtension/fields/Forms/index.d.ts +0 -1
- package/lib/components/productSelect/components/TabProduct/index.js +74 -37
- package/lib/components/productSelect/components/TabProduct/tabs/index.less +1 -0
- package/lib/components/productSelect/index.d.ts +2 -0
- package/lib/components/schedules/calendar/calendarItem.d.ts +0 -1
- package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +0 -1
- package/lib/components/schedules/model.d.ts +1 -9
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +0 -1
- package/lib/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/lib/components/shoppingCart/components/Cart/Product.d.ts +0 -1
- package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/lib/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
- package/lib/components/wallet/Detail/model.d.ts +1 -13
- package/lib/components/wallet/DiscountCard/model.d.ts +1 -14
- package/lib/components/wallet/PointCard/model.d.ts +1 -13
- package/lib/components/wallet/RechargeableCard/model.d.ts +1 -29
- package/lib/components/wallet/Voucher/model.d.ts +1 -13
- package/lib/components/wallet/model.d.ts +1 -9
- package/lib/components/walletList/index.js +3 -3
- package/lib/components/workSpaceList/components/Modal/index.d.ts +0 -1
- package/lib/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +0 -1
- package/package.json +2 -2
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export interface FormState {
|
|
3
2
|
amountSymbol: string;
|
|
4
3
|
apis: {
|
|
@@ -105,11 +104,4 @@ export declare const walkInData: {
|
|
|
105
104
|
id: number;
|
|
106
105
|
nickname: string;
|
|
107
106
|
};
|
|
108
|
-
export declare const Provider:
|
|
109
|
-
state: FormState;
|
|
110
|
-
} & {
|
|
111
|
-
dispatch: (params: {
|
|
112
|
-
type: string;
|
|
113
|
-
payload: any;
|
|
114
|
-
}) => void;
|
|
115
|
-
}>;
|
|
107
|
+
export declare const Provider: any, Context: any;
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { FormState } from "../model";
|
|
3
|
-
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
4
|
-
state: FormState;
|
|
5
|
-
} & {
|
|
6
|
-
dispatch: (params: {
|
|
7
|
-
type: string;
|
|
8
|
-
payload: any;
|
|
9
|
-
}) => void;
|
|
10
|
-
}>;
|
|
1
|
+
export declare const Provider: any, Context: any;
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { FormState } from "../model";
|
|
3
|
-
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
4
|
-
state: FormState;
|
|
5
|
-
} & {
|
|
6
|
-
dispatch: (params: {
|
|
7
|
-
type: string;
|
|
8
|
-
payload: any;
|
|
9
|
-
}) => void;
|
|
10
|
-
}>;
|
|
1
|
+
export declare const Provider: any, Context: any;
|
|
@@ -165,10 +165,10 @@ export declare const getProductTotalPrice: (item: any) => number;
|
|
|
165
165
|
export declare const getDuration: (duration: number | {
|
|
166
166
|
type: string;
|
|
167
167
|
value: number;
|
|
168
|
-
}) => number |
|
|
168
|
+
}) => number | {
|
|
169
169
|
type: string;
|
|
170
170
|
value: number;
|
|
171
|
-
};
|
|
171
|
+
} | "flexible";
|
|
172
172
|
export declare const isWalkIn: (customer_id?: number | string) => boolean;
|
|
173
173
|
export declare const getIsEdit: (state: any) => boolean;
|
|
174
174
|
export {};
|
|
@@ -8,7 +8,7 @@ import { PosProps } from './const';
|
|
|
8
8
|
*/
|
|
9
9
|
declare const _default: ({ className, onChange, onClose, formatAmount, isMobile, net, client }: {
|
|
10
10
|
className?: string | undefined;
|
|
11
|
-
onChange?: ((status: "success" | "page" | "
|
|
11
|
+
onChange?: ((status: "success" | "page" | "fail" | "print" | "mark_tx_processed", params?: string | {
|
|
12
12
|
[keys: string]: unknown;
|
|
13
13
|
} | undefined, other?: any) => void) | undefined;
|
|
14
14
|
onClose: () => void;
|
|
@@ -10,7 +10,7 @@ import './device.less';
|
|
|
10
10
|
declare const _default: ({ api, onChange, onClose, className, device_number, isMobile, net, client, formatAmount, }: {
|
|
11
11
|
api: PayProps['api'];
|
|
12
12
|
className?: string | undefined;
|
|
13
|
-
onChange?: ((status: "success" | "page" | "
|
|
13
|
+
onChange?: ((status: "success" | "page" | "fail" | "print" | "mark_tx_processed", params?: string | {
|
|
14
14
|
[keys: string]: unknown;
|
|
15
15
|
} | undefined, other?: any) => void) | undefined;
|
|
16
16
|
onClose: () => void;
|
|
@@ -15,11 +15,11 @@ export declare const useStoreRef: <T extends {
|
|
|
15
15
|
readonly numRef: React.MutableRefObject<string | number | undefined>;
|
|
16
16
|
readonly orderIdRef: React.MutableRefObject<string | number>;
|
|
17
17
|
readonly modeRef: React.MutableRefObject<ModeEnum>;
|
|
18
|
-
readonly statusRef: React.MutableRefObject<"success" | "
|
|
18
|
+
readonly statusRef: React.MutableRefObject<"success" | "warn" | "loading" | "fail" | "pedding" | "resove" | "reject" | "question">;
|
|
19
19
|
readonly netRef: React.MutableRefObject<boolean | undefined>;
|
|
20
20
|
readonly symbolRef: React.MutableRefObject<string>;
|
|
21
21
|
readonly amountRef: React.MutableRefObject<string | number>;
|
|
22
|
-
readonly eftposRef: React.MutableRefObject<"
|
|
22
|
+
readonly eftposRef: React.MutableRefObject<"payo" | "tyro" | "windcave" | "stripe">;
|
|
23
23
|
readonly clientRef: React.MutableRefObject<ClientEnum>;
|
|
24
24
|
readonly dataRef: React.MutableRefObject<import("./store").State>;
|
|
25
25
|
};
|
|
@@ -174,7 +174,7 @@ export declare const updateCustom: (payload: {
|
|
|
174
174
|
export declare const updateStatus: (status: 'loading' | 'warn' | 'fail' | 'success' | 'question') => {
|
|
175
175
|
type: EActionTypes;
|
|
176
176
|
payload: {
|
|
177
|
-
status: "success" | "
|
|
177
|
+
status: "success" | "warn" | "loading" | "fail" | "question";
|
|
178
178
|
};
|
|
179
179
|
};
|
|
180
180
|
/**
|
|
@@ -295,20 +295,20 @@ export declare const backUpFree: (payload: Partial<State>) => {
|
|
|
295
295
|
name?: string | undefined;
|
|
296
296
|
symbol?: string | undefined;
|
|
297
297
|
amount?: string | number | undefined;
|
|
298
|
-
mode?: "
|
|
298
|
+
mode?: "pay" | "fullPay" | "refund" | "query" | undefined;
|
|
299
299
|
order_id?: string | number | undefined;
|
|
300
|
-
eftpos?: "
|
|
300
|
+
eftpos?: "payo" | "tyro" | "windcave" | "stripe" | undefined;
|
|
301
301
|
action?: "amount" | "pay" | "deviceList" | undefined;
|
|
302
302
|
key?: number | undefined;
|
|
303
303
|
step?: number | undefined;
|
|
304
304
|
title?: string | undefined;
|
|
305
305
|
subTitle?: string | undefined;
|
|
306
|
-
type?: "
|
|
306
|
+
type?: "step" | "unset" | undefined;
|
|
307
307
|
render?: boolean | undefined;
|
|
308
308
|
net?: boolean | undefined;
|
|
309
309
|
component?: string | undefined;
|
|
310
310
|
form?: string | undefined;
|
|
311
|
-
status?: "success" | "
|
|
311
|
+
status?: "success" | "warn" | "loading" | "fail" | "pedding" | "resove" | "reject" | "question" | undefined;
|
|
312
312
|
warn?: string | undefined;
|
|
313
313
|
steps?: {
|
|
314
314
|
/** 用于重置当前步骤 */
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
export interface FormState {
|
|
3
2
|
platform: 'pc' | 'h5' | '' | undefined;
|
|
4
3
|
order: any;
|
|
@@ -29,11 +28,4 @@ export interface PayGroup {
|
|
|
29
28
|
pay_number?: string;
|
|
30
29
|
_order: any;
|
|
31
30
|
}
|
|
32
|
-
export declare const Provider:
|
|
33
|
-
state: FormState;
|
|
34
|
-
} & {
|
|
35
|
-
dispatch: (params: {
|
|
36
|
-
type: string;
|
|
37
|
-
payload: any;
|
|
38
|
-
}) => void;
|
|
39
|
-
}>;
|
|
31
|
+
export declare const Provider: any, Context: any;
|
|
@@ -39,7 +39,15 @@ var import_ahooks = require("ahooks");
|
|
|
39
39
|
var import_utils = require("@pisell/utils");
|
|
40
40
|
var import_tabs = __toESM(require("./tabs"));
|
|
41
41
|
var import_productGroup = __toESM(require("../productGroup"));
|
|
42
|
-
var
|
|
42
|
+
var getOffsetTopRelativeToScrollContainer = (targetElement, scrollContainer) => {
|
|
43
|
+
if (!targetElement || !scrollContainer) return 0;
|
|
44
|
+
if (targetElement === scrollContainer) {
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
const targetRect = targetElement.getBoundingClientRect();
|
|
48
|
+
const containerRect = scrollContainer.getBoundingClientRect();
|
|
49
|
+
return targetRect.top - containerRect.top + scrollContainer.scrollTop;
|
|
50
|
+
};
|
|
43
51
|
var TabProduct = (props) => {
|
|
44
52
|
const {
|
|
45
53
|
showTab = true,
|
|
@@ -48,6 +56,7 @@ var TabProduct = (props) => {
|
|
|
48
56
|
onChange,
|
|
49
57
|
amountSymbol = "$",
|
|
50
58
|
scrollDom,
|
|
59
|
+
offsetDom,
|
|
51
60
|
value: currentProductId,
|
|
52
61
|
loading,
|
|
53
62
|
emptyDescription,
|
|
@@ -55,6 +64,8 @@ var TabProduct = (props) => {
|
|
|
55
64
|
} = props;
|
|
56
65
|
const tabsRef = (0, import_react.useRef)();
|
|
57
66
|
const [currentGroupId, setCurrentGroupId] = (0, import_react.useState)(1);
|
|
67
|
+
const tabLocatingRef = (0, import_react.useRef)(false);
|
|
68
|
+
const ioRef = (0, import_react.useRef)(null);
|
|
58
69
|
(0, import_react.useEffect)(() => {
|
|
59
70
|
if (list == null ? void 0 : list.length) {
|
|
60
71
|
setCurrentGroupId(list[0].id);
|
|
@@ -62,6 +73,9 @@ var TabProduct = (props) => {
|
|
|
62
73
|
handleObserver();
|
|
63
74
|
});
|
|
64
75
|
}
|
|
76
|
+
return () => {
|
|
77
|
+
handleUnobserver();
|
|
78
|
+
};
|
|
65
79
|
}, [list]);
|
|
66
80
|
const debouncedScroll = (0, import_ahooks.useDebounceFn)(
|
|
67
81
|
(id) => {
|
|
@@ -75,18 +89,23 @@ var TabProduct = (props) => {
|
|
|
75
89
|
const _marginTop = 270;
|
|
76
90
|
const _marginBottom = window.innerHeight - 70 - 200 - 70;
|
|
77
91
|
const _rootMargin = `${_marginTop * -1}px 0px ${_marginBottom * -1}px 0px`;
|
|
78
|
-
|
|
92
|
+
ioRef.current = new IntersectionObserver(
|
|
79
93
|
(entries) => {
|
|
80
|
-
var _a
|
|
94
|
+
var _a;
|
|
81
95
|
const enteringEntries = entries.filter((entry) => entry.isIntersecting);
|
|
82
96
|
if (enteringEntries.length > 0) {
|
|
83
97
|
const topMostEntry = enteringEntries.reduce((top, current) => {
|
|
84
98
|
return current.boundingClientRect.top < top.boundingClientRect.top ? current : top;
|
|
85
99
|
});
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
100
|
+
const targetId = (_a = topMostEntry == null ? void 0 : topMostEntry.target) == null ? void 0 : _a.id;
|
|
101
|
+
if (targetId) {
|
|
102
|
+
const [name, id] = targetId.split("-");
|
|
103
|
+
const newGroupId = Number(id);
|
|
104
|
+
if (!tabLocatingRef.current && !isNaN(newGroupId)) {
|
|
105
|
+
setCurrentGroupId(newGroupId);
|
|
106
|
+
debouncedScroll.run(id);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
90
109
|
}
|
|
91
110
|
},
|
|
92
111
|
{
|
|
@@ -94,24 +113,28 @@ var TabProduct = (props) => {
|
|
|
94
113
|
rootMargin: _rootMargin
|
|
95
114
|
}
|
|
96
115
|
);
|
|
97
|
-
if (list == null ? void 0 : list.length) {
|
|
116
|
+
if ((list == null ? void 0 : list.length) && ioRef.current) {
|
|
98
117
|
for (const item of list) {
|
|
99
118
|
const _item = document.querySelector(`#list-${item.id}`);
|
|
100
119
|
if (_item) {
|
|
101
|
-
|
|
120
|
+
ioRef.current.observe(_item);
|
|
102
121
|
}
|
|
103
122
|
}
|
|
104
123
|
}
|
|
105
124
|
});
|
|
106
125
|
const handleUnobserver = (0, import_ahooks.useMemoizedFn)(() => {
|
|
107
|
-
if ((list == null ? void 0 : list.length) &&
|
|
126
|
+
if ((list == null ? void 0 : list.length) && ioRef.current) {
|
|
108
127
|
for (const item of list) {
|
|
109
128
|
const _item = document.querySelector(`#list-${item.id}`);
|
|
110
129
|
if (_item) {
|
|
111
|
-
|
|
130
|
+
ioRef.current.unobserve(_item);
|
|
112
131
|
}
|
|
113
132
|
}
|
|
114
133
|
}
|
|
134
|
+
if (ioRef.current) {
|
|
135
|
+
ioRef.current.disconnect();
|
|
136
|
+
ioRef.current = null;
|
|
137
|
+
}
|
|
115
138
|
});
|
|
116
139
|
const renderContent = () => {
|
|
117
140
|
if (loading) {
|
|
@@ -126,7 +149,7 @@ var TabProduct = (props) => {
|
|
|
126
149
|
);
|
|
127
150
|
}
|
|
128
151
|
return list.map((item, i) => {
|
|
129
|
-
return /* @__PURE__ */ import_react.default.createElement("div", { id: `list-${item.id}`, key:
|
|
152
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { id: `list-${item.id}`, key: `list-${item.id}` }, /* @__PURE__ */ import_react.default.createElement(
|
|
130
153
|
import_productGroup.default,
|
|
131
154
|
{
|
|
132
155
|
onSelectProduct: onChange,
|
|
@@ -148,7 +171,7 @@ var TabProduct = (props) => {
|
|
|
148
171
|
}
|
|
149
172
|
), /* @__PURE__ */ import_react.default.createElement("div", { className: "booking-pisell-tabs-content" }, /* @__PURE__ */ import_react.default.createElement(import_antd.Skeleton.Button, { active: true, size: "large", shape: "round" })));
|
|
150
173
|
}, []);
|
|
151
|
-
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showTab ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-product-select-tabs-wrapper" }, loading ? tabSkeleton : /* @__PURE__ */ import_react.default.createElement(
|
|
174
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showTab && list && list.length > 1 ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-product-select-tabs-wrapper" }, loading ? tabSkeleton : /* @__PURE__ */ import_react.default.createElement(
|
|
152
175
|
import_tabs.default,
|
|
153
176
|
{
|
|
154
177
|
ref: tabsRef,
|
|
@@ -157,33 +180,47 @@ var TabProduct = (props) => {
|
|
|
157
180
|
tab: currentGroupId,
|
|
158
181
|
onChange: (e) => {
|
|
159
182
|
var _a;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
183
|
+
try {
|
|
184
|
+
const productSelectWrapper = document.querySelector(
|
|
185
|
+
".pisell-product-select-wrapper"
|
|
186
|
+
);
|
|
187
|
+
const tabsWrapper = document.querySelector(
|
|
188
|
+
".pisell-product-select-tabs-wrapper"
|
|
189
|
+
);
|
|
190
|
+
let tabsHeight = 0;
|
|
191
|
+
if (tabsWrapper) {
|
|
192
|
+
tabsHeight = tabsWrapper.offsetHeight;
|
|
193
|
+
}
|
|
194
|
+
const targetListElement = document == null ? void 0 : document.querySelector("#list-" + e);
|
|
195
|
+
const scrollContainer = scrollDom ? document == null ? void 0 : document.querySelector(scrollDom) : null;
|
|
196
|
+
const offsetElement = offsetDom ? document == null ? void 0 : document.querySelector(offsetDom) : null;
|
|
197
|
+
const extraOffset = offsetElement ? offsetElement.clientHeight : 0;
|
|
198
|
+
handleUnobserver();
|
|
199
|
+
tabLocatingRef.current = true;
|
|
200
|
+
if (targetListElement && scrollContainer) {
|
|
201
|
+
if (e === ((_a = list[0]) == null ? void 0 : _a.id)) {
|
|
202
|
+
if (productSelectWrapper) {
|
|
203
|
+
const wrapperOffsetTop = getOffsetTopRelativeToScrollContainer(productSelectWrapper, scrollContainer);
|
|
204
|
+
scrollContainer.scrollTop = wrapperOffsetTop - extraOffset;
|
|
205
|
+
}
|
|
206
|
+
} else {
|
|
207
|
+
const listOffsetTop = getOffsetTopRelativeToScrollContainer(targetListElement, scrollContainer);
|
|
208
|
+
scrollContainer.scrollTop = listOffsetTop - tabsHeight - extraOffset;
|
|
209
|
+
}
|
|
178
210
|
}
|
|
211
|
+
setCurrentGroupId(e);
|
|
212
|
+
debouncedScroll.run(e);
|
|
213
|
+
setTimeout(() => {
|
|
214
|
+
tabLocatingRef.current = false;
|
|
215
|
+
handleObserver();
|
|
216
|
+
}, 500);
|
|
217
|
+
} catch (error) {
|
|
218
|
+
console.error("Tab onChange error:", error);
|
|
219
|
+
tabLocatingRef.current = false;
|
|
220
|
+
setCurrentGroupId(e);
|
|
179
221
|
}
|
|
180
|
-
handleUnobserver();
|
|
181
|
-
setCurrentGroupId(e);
|
|
182
|
-
setTimeout(() => {
|
|
183
|
-
handleObserver();
|
|
184
|
-
}, 1e3);
|
|
185
222
|
}
|
|
186
223
|
}
|
|
187
|
-
)) : null, /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-product-select-product-list" }, renderContent()));
|
|
224
|
+
)) : /* @__PURE__ */ import_react.default.createElement("p", null, /* @__PURE__ */ import_react.default.createElement("br", null)), /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-product-select-product-list" }, renderContent()));
|
|
188
225
|
};
|
|
189
226
|
var TabProduct_default = TabProduct;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { CalendarDataItem, ScheduleItem } from "./type";
|
|
3
2
|
import dayjs from "dayjs";
|
|
4
3
|
export interface FormState {
|
|
@@ -69,11 +68,4 @@ export interface FormState {
|
|
|
69
68
|
};
|
|
70
69
|
setGlobalState: Function | null;
|
|
71
70
|
}
|
|
72
|
-
export declare const Provider:
|
|
73
|
-
state: FormState;
|
|
74
|
-
} & {
|
|
75
|
-
dispatch: (params: {
|
|
76
|
-
type: string;
|
|
77
|
-
payload: any;
|
|
78
|
-
}) => void;
|
|
79
|
-
}>;
|
|
71
|
+
export declare const Provider: any, Context: any;
|