@wix/headless-bookings 0.0.104 → 0.0.106
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/cjs/dist/__mocks__/booking/booking-client-service.js +25 -20
- package/cjs/dist/__mocks__/booking/booking-mocks.js +28 -20
- package/cjs/dist/__mocks__/payment/payment-mocks.js +6 -3
- package/cjs/dist/__mocks__/services/services-mocks.js +79 -74
- package/cjs/dist/__mocks__/time-slots/time-slots-client-service.js +39 -33
- package/cjs/dist/__mocks__/time-slots/time-slots-core.js +43 -33
- package/cjs/dist/__mocks__/time-slots/time-slots-mocks.js +18 -13
- package/cjs/dist/api/create-booking/index.js +6 -3
- package/cjs/dist/api/create-checkout/index.js +9 -4
- package/cjs/dist/api/create-order/index.js +6 -3
- package/cjs/dist/api/fetch-availability/index.js +18 -15
- package/cjs/dist/api/index.js +24 -7
- package/cjs/dist/api/query-categories/index.js +6 -3
- package/cjs/dist/api/query-locations/index.js +9 -5
- package/cjs/dist/api/query-services/index.js +24 -17
- package/cjs/dist/react/booking/Book.js +51 -12
- package/cjs/dist/react/booking/Booking.js +68 -26
- package/cjs/dist/react/booking/BookingItem.d.ts +2 -0
- package/cjs/dist/react/booking/BookingItem.js +57 -16
- package/cjs/dist/react/booking-form/BookingForm.js +63 -21
- package/cjs/dist/react/core/booking/Book.js +14 -11
- package/cjs/dist/react/core/booking/Booking.d.ts +3 -1
- package/cjs/dist/react/core/booking/Booking.js +38 -25
- package/cjs/dist/react/core/booking-form/BookingForm.js +63 -26
- package/cjs/dist/react/core/location/Location.js +60 -21
- package/cjs/dist/react/core/location-list/LocationList.js +15 -10
- package/cjs/dist/react/core/payment/Payment.js +41 -30
- package/cjs/dist/react/core/service/Service.js +28 -19
- package/cjs/dist/react/core/service/ServiceMediaCover.js +7 -4
- package/cjs/dist/react/core/service/ServiceMediaGallery.js +7 -4
- package/cjs/dist/react/core/service/ServiceMediaMain.js +7 -4
- package/cjs/dist/react/core/service-list/ServiceList.js +12 -8
- package/cjs/dist/react/core/service-list/ServiceListFilter.js +9 -6
- package/cjs/dist/react/core/staff-member/StaffMember.js +20 -14
- package/cjs/dist/react/core/staff-member-list/StaffMemberList.js +19 -14
- package/cjs/dist/react/core/time-slot-list/TimeSlot.js +41 -28
- package/cjs/dist/react/core/time-slot-list/TimeSlotList.js +21 -15
- package/cjs/dist/react/index.js +49 -13
- package/cjs/dist/react/location/Location.js +76 -36
- package/cjs/dist/react/location/LocationList.js +70 -31
- package/cjs/dist/react/payment/Payment.js +87 -48
- package/cjs/dist/react/service/Service.js +197 -158
- package/cjs/dist/react/service/ServiceMedia.js +56 -17
- package/cjs/dist/react/service-list/ServiceList.js +71 -32
- package/cjs/dist/react/staff-member/StaffMember.js +61 -20
- package/cjs/dist/react/staff-member/StaffMemberList.js +68 -29
- package/cjs/dist/react/time-slot-list/TimeSlot.js +95 -56
- package/cjs/dist/react/time-slot-list/TimeSlotList.js +87 -48
- package/cjs/dist/services/booking/book-action/bookAction.js +21 -18
- package/cjs/dist/services/booking/book-action/buildBookingRequest.js +18 -15
- package/cjs/dist/services/booking/book-action/buildCheckoutRequest.js +8 -5
- package/cjs/dist/services/booking/book-action/canBook.js +4 -1
- package/cjs/dist/services/booking/book-action/index.js +15 -6
- package/cjs/dist/services/booking/book-action/isCheckoutRequired.js +4 -1
- package/cjs/dist/services/booking/book-action/types.js +5 -2
- package/cjs/dist/services/booking/booking.js +11 -8
- package/cjs/dist/services/booking-form/booking-form.js +26 -18
- package/cjs/dist/services/booking-form/utils.js +10 -4
- package/cjs/dist/services/constants.js +6 -3
- package/cjs/dist/services/index.js +48 -10
- package/cjs/dist/services/location-list/location-list.def.js +7 -5
- package/cjs/dist/services/location-list/location-list.js +31 -23
- package/cjs/dist/services/payment/payment.def.js +5 -2
- package/cjs/dist/services/payment/payment.js +22 -17
- package/cjs/dist/services/service/service.js +33 -29
- package/cjs/dist/services/service-list/service-list.js +22 -18
- package/cjs/dist/services/staff-member-list/staff-member-list.def.js +5 -2
- package/cjs/dist/services/staff-member-list/staff-member-list.js +16 -10
- package/cjs/dist/services/time-slot-list/index.js +12 -3
- package/cjs/dist/services/time-slot-list/time-slot-list.def.js +8 -5
- package/cjs/dist/services/time-slot-list/time-slot-list.js +24 -19
- package/cjs/dist/services/time-slot-list/time-slot.js +9 -6
- package/cjs/dist/utils/dateAndTime.js +7 -2
- package/cjs/dist/utils/guid.js +4 -1
- package/cjs/dist/utils/index.js +5 -1
- package/cjs/dist/utils/money.js +6 -2
- package/cjs/dist/utils/navigation.js +6 -3
- package/dist/react/booking/BookingItem.d.ts +2 -0
- package/dist/react/booking/BookingItem.js +2 -2
- package/dist/react/core/booking/Booking.d.ts +3 -1
- package/dist/react/core/booking/Booking.js +3 -2
- package/package.json +3 -3
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Root = Root;
|
|
7
|
+
exports.Data = Data;
|
|
8
|
+
exports.LineItems = LineItems;
|
|
9
|
+
exports.useLineItemContext = useLineItemContext;
|
|
10
|
+
exports.LineItemProvider = LineItemProvider;
|
|
11
|
+
exports.LineItemInfo = LineItemInfo;
|
|
12
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
2
13
|
/**
|
|
3
14
|
* Core Payment Components
|
|
4
15
|
* Provides low-level access to PaymentService via render props
|
|
5
16
|
* Note: Currently supports single service only
|
|
6
17
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
18
|
+
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
20
|
+
const services_manager_1 = require("@wix/services-manager");
|
|
21
|
+
const payment_js_1 = require("../../../services/payment/payment.js");
|
|
22
|
+
const money_js_1 = require("../../../utils/money.js");
|
|
12
23
|
/**
|
|
13
24
|
* Internal content component that reads from service
|
|
14
25
|
*/
|
|
15
26
|
function RootContent({ children, }) {
|
|
16
|
-
const paymentService = useService(PaymentServiceDefinition);
|
|
27
|
+
const paymentService = (0, services_manager_react_1.useService)(payment_js_1.PaymentServiceDefinition);
|
|
17
28
|
const isLoading = paymentService.isLoadingSignal.get();
|
|
18
29
|
const error = paymentService.errorSignal.get();
|
|
19
30
|
const hasError = !!error;
|
|
@@ -48,7 +59,7 @@ function RootContent({ children, }) {
|
|
|
48
59
|
* </Payment.Root>
|
|
49
60
|
* ```
|
|
50
61
|
*/
|
|
51
|
-
|
|
62
|
+
function Root(props) {
|
|
52
63
|
const { children, paymentServiceConfig = {}, pricingServiceSelections, totalParticipants, } = props;
|
|
53
64
|
// Merge public config with lazy loading props into internal config
|
|
54
65
|
const internalConfig = {
|
|
@@ -56,7 +67,7 @@ export function Root(props) {
|
|
|
56
67
|
pricingServiceSelections,
|
|
57
68
|
totalParticipants,
|
|
58
69
|
};
|
|
59
|
-
return (
|
|
70
|
+
return ((0, jsx_runtime_1.jsx)(services_manager_react_1.WixServices, { servicesMap: (0, services_manager_1.createServicesMap)().addService(payment_js_1.PaymentServiceDefinition, payment_js_1.PaymentService, internalConfig), disposeOnUnmount: true, children: (0, jsx_runtime_1.jsx)(RootContent, { children: children }) }));
|
|
60
71
|
}
|
|
61
72
|
/**
|
|
62
73
|
* Core component that provides access to converted payment data.
|
|
@@ -64,19 +75,19 @@ export function Root(props) {
|
|
|
64
75
|
*
|
|
65
76
|
* @component
|
|
66
77
|
*/
|
|
67
|
-
|
|
68
|
-
const paymentService = useService(PaymentServiceDefinition);
|
|
78
|
+
function Data(props) {
|
|
79
|
+
const paymentService = (0, services_manager_react_1.useService)(payment_js_1.PaymentServiceDefinition);
|
|
69
80
|
const paymentDetails = paymentService.paymentDetailsSignal.get();
|
|
70
81
|
const isLoading = paymentService.isLoadingSignal.get();
|
|
71
82
|
const error = paymentService.errorSignal.get();
|
|
72
83
|
const currency = paymentDetails?.response?.currency || 'USD';
|
|
73
84
|
const priceSummary = paymentDetails?.response?.priceSummary;
|
|
74
|
-
const subtotal = convertMultiCurrencyPriceToMoneyData(priceSummary?.subtotal, currency);
|
|
75
|
-
const total = convertMultiCurrencyPriceToMoneyData(priceSummary?.total, currency);
|
|
76
|
-
const tax = convertMultiCurrencyPriceToMoneyData(priceSummary?.tax, currency);
|
|
77
|
-
const discount = convertMultiCurrencyPriceToMoneyData(priceSummary?.discount, currency);
|
|
78
|
-
const payNow = convertMultiCurrencyPriceToMoneyData(paymentDetails?.response?.payNow?.total, currency);
|
|
79
|
-
const payLater = convertMultiCurrencyPriceToMoneyData(paymentDetails?.response?.payLater?.total, currency);
|
|
85
|
+
const subtotal = (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(priceSummary?.subtotal, currency);
|
|
86
|
+
const total = (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(priceSummary?.total, currency);
|
|
87
|
+
const tax = (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(priceSummary?.tax, currency);
|
|
88
|
+
const discount = (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(priceSummary?.discount, currency);
|
|
89
|
+
const payNow = (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(paymentDetails?.response?.payNow?.total, currency);
|
|
90
|
+
const payLater = (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(paymentDetails?.response?.payLater?.total, currency);
|
|
80
91
|
// Get customPrice from first line item (single service mode)
|
|
81
92
|
const additionalInfoList = paymentDetails?.additionalInfo?.lineItems || [];
|
|
82
93
|
const firstLineItemInfo = additionalInfoList[0];
|
|
@@ -121,8 +132,8 @@ export function Data(props) {
|
|
|
121
132
|
* </Payment.LineItems>
|
|
122
133
|
* ```
|
|
123
134
|
*/
|
|
124
|
-
|
|
125
|
-
const paymentService = useService(PaymentServiceDefinition);
|
|
135
|
+
function LineItems(props) {
|
|
136
|
+
const paymentService = (0, services_manager_react_1.useService)(payment_js_1.PaymentServiceDefinition);
|
|
126
137
|
const paymentDetails = paymentService.paymentDetailsSignal.get();
|
|
127
138
|
const isLoading = paymentService.isLoadingSignal.get();
|
|
128
139
|
const error = paymentService.errorSignal.get();
|
|
@@ -135,11 +146,11 @@ export function LineItems(props) {
|
|
|
135
146
|
const additionalInfo = additionalInfoList.find((info) => info.lineItemId === sdkLineItem.lineItemId);
|
|
136
147
|
return {
|
|
137
148
|
id: sdkLineItem.lineItemId || '',
|
|
138
|
-
totalPrice: convertMultiCurrencyPriceToMoneyData(pricesBreakdown?.totalPriceAfterTax, currency),
|
|
139
|
-
subtotal: convertMultiCurrencyPriceToMoneyData(pricesBreakdown?.fullPrice, currency),
|
|
140
|
-
tax: convertMultiCurrencyPriceToMoneyData(pricesBreakdown?.taxDetails?.totalTax, currency),
|
|
141
|
-
discount: convertMultiCurrencyPriceToMoneyData(pricesBreakdown?.totalDiscount, currency),
|
|
142
|
-
deposit: convertMultiCurrencyPriceToMoneyData(pricesBreakdown?.depositAmount, currency),
|
|
149
|
+
totalPrice: (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(pricesBreakdown?.totalPriceAfterTax, currency),
|
|
150
|
+
subtotal: (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(pricesBreakdown?.fullPrice, currency),
|
|
151
|
+
tax: (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(pricesBreakdown?.taxDetails?.totalTax, currency),
|
|
152
|
+
discount: (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(pricesBreakdown?.totalDiscount, currency),
|
|
153
|
+
deposit: (0, money_js_1.convertMultiCurrencyPriceToMoneyData)(pricesBreakdown?.depositAmount, currency),
|
|
143
154
|
customPrice: additionalInfo?.customPrice || null,
|
|
144
155
|
};
|
|
145
156
|
});
|
|
@@ -152,15 +163,15 @@ export function LineItems(props) {
|
|
|
152
163
|
error,
|
|
153
164
|
});
|
|
154
165
|
}
|
|
155
|
-
const LineItemContext =
|
|
166
|
+
const LineItemContext = react_1.default.createContext(null);
|
|
156
167
|
/**
|
|
157
168
|
* Hook to access the current LineItem from context.
|
|
158
169
|
* Must be used within LineItemProvider.
|
|
159
170
|
*
|
|
160
171
|
* @throws Error if used outside of LineItemProvider context
|
|
161
172
|
*/
|
|
162
|
-
|
|
163
|
-
const context =
|
|
173
|
+
function useLineItemContext() {
|
|
174
|
+
const context = react_1.default.useContext(LineItemContext);
|
|
164
175
|
if (!context) {
|
|
165
176
|
throw new Error('LineItem components must be used within LineItemProvider');
|
|
166
177
|
}
|
|
@@ -180,13 +191,13 @@ export function useLineItemContext() {
|
|
|
180
191
|
* ))}
|
|
181
192
|
* ```
|
|
182
193
|
*/
|
|
183
|
-
|
|
194
|
+
function LineItemProvider(props) {
|
|
184
195
|
const { children, lineItem, currency } = props;
|
|
185
196
|
const contextValue = {
|
|
186
197
|
lineItem,
|
|
187
198
|
currency,
|
|
188
199
|
};
|
|
189
|
-
return (
|
|
200
|
+
return ((0, jsx_runtime_1.jsx)(LineItemContext.Provider, { value: contextValue, children: children }));
|
|
190
201
|
}
|
|
191
202
|
/**
|
|
192
203
|
* Core component that provides access to line item info via render props.
|
|
@@ -204,7 +215,7 @@ export function LineItemProvider(props) {
|
|
|
204
215
|
* </LineItemInfo>
|
|
205
216
|
* ```
|
|
206
217
|
*/
|
|
207
|
-
|
|
218
|
+
function LineItemInfo(props) {
|
|
208
219
|
const { lineItem, currency } = useLineItemContext();
|
|
209
220
|
// Computed flags
|
|
210
221
|
const hasDiscount = lineItem.discount !== null && lineItem.discount.amount > 0;
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Root = Root;
|
|
4
|
+
exports.Service = Service;
|
|
5
|
+
exports.Info = Info;
|
|
6
|
+
exports.Price = Price;
|
|
7
|
+
exports.Actions = Actions;
|
|
8
|
+
exports.Policy = Policy;
|
|
9
|
+
exports.Schedule = Schedule;
|
|
10
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
11
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
12
|
+
const services_manager_1 = require("@wix/services-manager");
|
|
13
|
+
const service_js_1 = require("../../../services/service/service.js");
|
|
5
14
|
/**
|
|
6
15
|
* Root component that provides service context.
|
|
7
16
|
*
|
|
@@ -14,7 +23,7 @@ import { ServiceServiceDefinition, ServiceService, } from '../../../services/ser
|
|
|
14
23
|
* ```
|
|
15
24
|
*/
|
|
16
25
|
function RootContent({ children, }) {
|
|
17
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
26
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
18
27
|
const service = serviceService.serviceSignal.get();
|
|
19
28
|
const selected = serviceService.selectedSignal.get();
|
|
20
29
|
const bookable = serviceService.bookableSignal.get();
|
|
@@ -28,8 +37,8 @@ function RootContent({ children, }) {
|
|
|
28
37
|
}
|
|
29
38
|
return children;
|
|
30
39
|
}
|
|
31
|
-
|
|
32
|
-
return (
|
|
40
|
+
function Root(props) {
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(services_manager_react_1.WixServices, { servicesMap: (0, services_manager_1.createServicesMap)().addService(service_js_1.ServiceServiceDefinition, service_js_1.ServiceService, props.serviceServiceConfig), disposeOnUnmount: true, children: (0, jsx_runtime_1.jsx)(RootContent, { children: props.children }) }));
|
|
33
42
|
}
|
|
34
43
|
/**
|
|
35
44
|
* Core component that provides access to full service data via render props.
|
|
@@ -44,8 +53,8 @@ export function Root(props) {
|
|
|
44
53
|
* </Service.Service>
|
|
45
54
|
* ```
|
|
46
55
|
*/
|
|
47
|
-
|
|
48
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
56
|
+
function Service(props) {
|
|
57
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
49
58
|
const service = serviceService.serviceSignal.get();
|
|
50
59
|
const isLoading = serviceService.isLoadingSignal.get();
|
|
51
60
|
const error = serviceService.errorSignal.get();
|
|
@@ -72,8 +81,8 @@ export function Service(props) {
|
|
|
72
81
|
* </Service.Info>
|
|
73
82
|
* ```
|
|
74
83
|
*/
|
|
75
|
-
|
|
76
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
84
|
+
function Info(props) {
|
|
85
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
77
86
|
const service = serviceService.serviceSignal.get();
|
|
78
87
|
const selected = serviceService.selectedSignal.get();
|
|
79
88
|
// Extract price from service.payment for Info component
|
|
@@ -159,8 +168,8 @@ export function Info(props) {
|
|
|
159
168
|
* </Service.Price>
|
|
160
169
|
* ```
|
|
161
170
|
*/
|
|
162
|
-
|
|
163
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
171
|
+
function Price(props) {
|
|
172
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
164
173
|
const paymentData = serviceService.paymentDataSignal.get();
|
|
165
174
|
return props.children(paymentData);
|
|
166
175
|
}
|
|
@@ -181,8 +190,8 @@ export function Price(props) {
|
|
|
181
190
|
* </Service.Actions>
|
|
182
191
|
* ```
|
|
183
192
|
*/
|
|
184
|
-
|
|
185
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
193
|
+
function Actions(props) {
|
|
194
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
186
195
|
const rawService = serviceService.serviceSignal.get();
|
|
187
196
|
const bookable = serviceService.bookableSignal.get();
|
|
188
197
|
const selected = serviceService.selectedSignal.get();
|
|
@@ -213,8 +222,8 @@ export function Actions(props) {
|
|
|
213
222
|
* </Service.Policy>
|
|
214
223
|
* ```
|
|
215
224
|
*/
|
|
216
|
-
|
|
217
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
225
|
+
function Policy(props) {
|
|
226
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
218
227
|
const service = serviceService.serviceSignal.get();
|
|
219
228
|
const bookingPolicy = service.bookingPolicy || null;
|
|
220
229
|
// Compute all flags here (not in headless components)
|
|
@@ -280,8 +289,8 @@ export function Policy(props) {
|
|
|
280
289
|
* </Service.Schedule>
|
|
281
290
|
* ```
|
|
282
291
|
*/
|
|
283
|
-
|
|
284
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
292
|
+
function Schedule(props) {
|
|
293
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
285
294
|
const service = serviceService.serviceSignal.get();
|
|
286
295
|
const isClassOrCourse = service.type === 'CLASS' || service.type === 'COURSE';
|
|
287
296
|
return props.children({
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Core ServiceMediaCover Component
|
|
3
4
|
* Provides low-level access to service cover media via render props
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.CoverMedia = CoverMedia;
|
|
8
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
9
|
+
const service_js_1 = require("../../../services/service/service.js");
|
|
7
10
|
/**
|
|
8
11
|
* Core component that provides access to service cover media via render props.
|
|
9
12
|
* The cover media is typically used as a hero/banner image.
|
|
@@ -23,8 +26,8 @@ import { ServiceServiceDefinition } from '../../../services/service/service.js';
|
|
|
23
26
|
* </ServiceMediaCover.CoverMedia>
|
|
24
27
|
* ```
|
|
25
28
|
*/
|
|
26
|
-
|
|
27
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
29
|
+
function CoverMedia(props) {
|
|
30
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
28
31
|
const service = serviceService.serviceSignal.get();
|
|
29
32
|
const coverMedia = {
|
|
30
33
|
image: service.media?.coverMedia?.image,
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Core ServiceMediaGallery Component
|
|
3
4
|
* Provides low-level access to service media gallery items via render props
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.MediaGallery = MediaGallery;
|
|
8
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
9
|
+
const service_js_1 = require("../../../services/service/service.js");
|
|
7
10
|
/**
|
|
8
11
|
* Core component that provides access to service media gallery items via render props.
|
|
9
12
|
* Must be used within a Service.Root context.
|
|
@@ -26,8 +29,8 @@ import { ServiceServiceDefinition } from '../../../services/service/service.js';
|
|
|
26
29
|
* </ServiceMediaGallery.MediaGallery>
|
|
27
30
|
* ```
|
|
28
31
|
*/
|
|
29
|
-
|
|
30
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
32
|
+
function MediaGallery(props) {
|
|
33
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
31
34
|
const service = serviceService.serviceSignal.get();
|
|
32
35
|
const mediaItems = service.media?.items?.map((item) => ({
|
|
33
36
|
image: item.image,
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Core ServiceMediaMain Component
|
|
3
4
|
* Provides low-level access to service main media via render props
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.MainMedia = MainMedia;
|
|
8
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
9
|
+
const service_js_1 = require("../../../services/service/service.js");
|
|
7
10
|
/**
|
|
8
11
|
* Core component that provides access to service main media via render props.
|
|
9
12
|
* Must be used within a Service.Root context.
|
|
@@ -22,8 +25,8 @@ import { ServiceServiceDefinition } from '../../../services/service/service.js';
|
|
|
22
25
|
* </ServiceMediaMain.MainMedia>
|
|
23
26
|
* ```
|
|
24
27
|
*/
|
|
25
|
-
|
|
26
|
-
const serviceService = useService(ServiceServiceDefinition);
|
|
28
|
+
function MainMedia(props) {
|
|
29
|
+
const serviceService = (0, services_manager_react_1.useService)(service_js_1.ServiceServiceDefinition);
|
|
27
30
|
const service = serviceService.serviceSignal.get();
|
|
28
31
|
const mainMedia = {
|
|
29
32
|
image: service.media?.mainMedia?.image,
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Root = Root;
|
|
4
|
+
exports.Services = Services;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
7
|
+
const services_manager_1 = require("@wix/services-manager");
|
|
8
|
+
const service_list_js_1 = require("../../../services/service-list/service-list.js");
|
|
5
9
|
/**
|
|
6
10
|
* Root component that provides ServiceList service context.
|
|
7
11
|
*
|
|
@@ -13,8 +17,8 @@ import { ServiceListServiceDefinition, ServiceListService, } from '../../../serv
|
|
|
13
17
|
* </ServiceList.Root>
|
|
14
18
|
* ```
|
|
15
19
|
*/
|
|
16
|
-
|
|
17
|
-
return (
|
|
20
|
+
function Root(props) {
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(services_manager_react_1.WixServices, { servicesMap: (0, services_manager_1.createServicesMap)().addService(service_list_js_1.ServiceListServiceDefinition, service_list_js_1.ServiceListService, props.serviceListConfig), disposeOnUnmount: true, children: props.children }));
|
|
18
22
|
}
|
|
19
23
|
/**
|
|
20
24
|
* Component that provides services list data through render props.
|
|
@@ -41,8 +45,8 @@ export function Root(props) {
|
|
|
41
45
|
* </ServiceList.Services>
|
|
42
46
|
* ```
|
|
43
47
|
*/
|
|
44
|
-
|
|
45
|
-
const serviceListService = useService(ServiceListServiceDefinition);
|
|
48
|
+
function Services(props) {
|
|
49
|
+
const serviceListService = (0, services_manager_react_1.useService)(service_list_js_1.ServiceListServiceDefinition);
|
|
46
50
|
const services = serviceListService.servicesSignal.get();
|
|
47
51
|
const isLoading = serviceListService.isLoadingSignal.get();
|
|
48
52
|
const error = serviceListService.errorSignal.get();
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Core ServiceListFilter Components
|
|
3
4
|
* Provides render props for filter data from ServiceListService and BookingService
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.Root = Root;
|
|
8
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
9
|
+
const service_list_js_1 = require("../../../services/service-list/service-list.js");
|
|
10
|
+
const booking_js_1 = require("../../../services/booking/booking.js");
|
|
8
11
|
/**
|
|
9
12
|
* Core render props component that provides filter data from services.
|
|
10
13
|
* Reads categories from ServiceListService and location from BookingService.
|
|
@@ -34,10 +37,10 @@ import { BookingServiceDefinition } from '../../../services/booking/booking.js';
|
|
|
34
37
|
* </ServiceListFilter.Root>
|
|
35
38
|
* ```
|
|
36
39
|
*/
|
|
37
|
-
|
|
38
|
-
const serviceListService = useService(ServiceListServiceDefinition);
|
|
40
|
+
function Root(props) {
|
|
41
|
+
const serviceListService = (0, services_manager_react_1.useService)(service_list_js_1.ServiceListServiceDefinition);
|
|
39
42
|
// BookingService location is handled in the service layer via effectiveFilterSignal
|
|
40
|
-
useService(BookingServiceDefinition);
|
|
43
|
+
(0, services_manager_react_1.useService)(booking_js_1.BookingServiceDefinition);
|
|
41
44
|
// Get reactive data from signals
|
|
42
45
|
const filterOptions = serviceListService.filterOptionsSignal.get();
|
|
43
46
|
const isFiltered = serviceListService.isFilteredSignal.get();
|
|
@@ -1,27 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStaffMemberContext = useStaffMemberContext;
|
|
4
|
+
exports.Root = Root;
|
|
5
|
+
exports.Data = Data;
|
|
6
|
+
exports.Actions = Actions;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
2
8
|
/**
|
|
3
9
|
* Core StaffMember Component - Parses staff member data
|
|
4
10
|
* Handles staff member display with name
|
|
5
11
|
*
|
|
6
12
|
* @module Core/StaffMember
|
|
7
13
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
const react_1 = require("react");
|
|
15
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
16
|
+
const booking_js_1 = require("../../../services/booking/booking.js");
|
|
17
|
+
const constants_js_1 = require("../../../services/constants.js");
|
|
12
18
|
// ==========================================
|
|
13
19
|
// Context
|
|
14
20
|
// ==========================================
|
|
15
21
|
/**
|
|
16
22
|
* Staff member context value - same as StaffMemberRenderProps
|
|
17
23
|
*/
|
|
18
|
-
const StaffMemberContext = createContext(null);
|
|
24
|
+
const StaffMemberContext = (0, react_1.createContext)(null);
|
|
19
25
|
/**
|
|
20
26
|
* Hook to access staff member context from CoreStaffMember.Root
|
|
21
27
|
* @throws Error if used outside of CoreStaffMember.Root
|
|
22
28
|
*/
|
|
23
|
-
|
|
24
|
-
const context = useContext(StaffMemberContext);
|
|
29
|
+
function useStaffMemberContext() {
|
|
30
|
+
const context = (0, react_1.useContext)(StaffMemberContext);
|
|
25
31
|
if (!context) {
|
|
26
32
|
throw new Error('useStaffMemberContext must be used within a CoreStaffMember.Root component');
|
|
27
33
|
}
|
|
@@ -61,10 +67,10 @@ function computeStaffMemberRenderProps(rawStaffMember) {
|
|
|
61
67
|
* </CoreStaffMember.Root>
|
|
62
68
|
* ```
|
|
63
69
|
*/
|
|
64
|
-
|
|
70
|
+
function Root(props) {
|
|
65
71
|
const { staffMember, children } = props;
|
|
66
72
|
const renderProps = computeStaffMemberRenderProps(staffMember);
|
|
67
|
-
return (
|
|
73
|
+
return ((0, jsx_runtime_1.jsx)(StaffMemberContext.Provider, { value: renderProps, children: children }));
|
|
68
74
|
}
|
|
69
75
|
// ==========================================
|
|
70
76
|
// Data Component (Render Props)
|
|
@@ -87,7 +93,7 @@ export function Root(props) {
|
|
|
87
93
|
* </CoreStaffMember.Root>
|
|
88
94
|
* ```
|
|
89
95
|
*/
|
|
90
|
-
|
|
96
|
+
function Data(props) {
|
|
91
97
|
const context = useStaffMemberContext();
|
|
92
98
|
return props.children(context);
|
|
93
99
|
}
|
|
@@ -109,11 +115,11 @@ export function Data(props) {
|
|
|
109
115
|
* </CoreStaffMember.Root>
|
|
110
116
|
* ```
|
|
111
117
|
*/
|
|
112
|
-
|
|
118
|
+
function Actions(props) {
|
|
113
119
|
const { rawStaffMember } = useStaffMemberContext();
|
|
114
120
|
let bookingService = null;
|
|
115
121
|
try {
|
|
116
|
-
bookingService = useService(BookingServiceDefinition);
|
|
122
|
+
bookingService = (0, services_manager_react_1.useService)(booking_js_1.BookingServiceDefinition);
|
|
117
123
|
}
|
|
118
124
|
catch {
|
|
119
125
|
// BookingService not available - likely no ServiceManagerProvider
|
|
@@ -130,7 +136,7 @@ export function Actions(props) {
|
|
|
130
136
|
return;
|
|
131
137
|
// Use resource type ID as the lookup key, staff member ID as the actual resource ID
|
|
132
138
|
bookingService.actions.setResource({
|
|
133
|
-
type: STAFF_MEMBER_RESOURCE_TYPE_ID,
|
|
139
|
+
type: constants_js_1.STAFF_MEMBER_RESOURCE_TYPE_ID,
|
|
134
140
|
_id: rawStaffMember.staffMemberId,
|
|
135
141
|
name: rawStaffMember.name,
|
|
136
142
|
});
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Root = Root;
|
|
4
|
+
exports.StaffMembers = StaffMembers;
|
|
5
|
+
exports.Actions = Actions;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const services_manager_react_1 = require("@wix/services-manager-react");
|
|
8
|
+
const services_manager_1 = require("@wix/services-manager");
|
|
9
|
+
const staff_member_list_js_1 = require("../../../services/staff-member-list/staff-member-list.js");
|
|
10
|
+
const booking_js_1 = require("../../../services/booking/booking.js");
|
|
11
|
+
const constants_js_1 = require("../../../services/constants.js");
|
|
7
12
|
/**
|
|
8
13
|
* Root component that provides StaffMemberList service context
|
|
9
14
|
*
|
|
@@ -19,8 +24,8 @@ import { STAFF_MEMBER_RESOURCE_TYPE_ID } from '../../../services/constants.js';
|
|
|
19
24
|
* </CoreStaffMemberList.Root>
|
|
20
25
|
* ```
|
|
21
26
|
*/
|
|
22
|
-
|
|
23
|
-
return (
|
|
27
|
+
function Root(props) {
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)(services_manager_react_1.WixServices, { servicesMap: (0, services_manager_1.createServicesMap)().addService(staff_member_list_js_1.StaffMemberListServiceDefinition, staff_member_list_js_1.StaffMemberListService, props.staffMemberListServiceConfig), disposeOnUnmount: true, children: props.children }));
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
31
|
* Core component that provides access to staff members list via render props
|
|
@@ -35,8 +40,8 @@ export function Root(props) {
|
|
|
35
40
|
* </CoreStaffMemberList.StaffMembers>
|
|
36
41
|
* ```
|
|
37
42
|
*/
|
|
38
|
-
|
|
39
|
-
const service = useService(StaffMemberListServiceDefinition);
|
|
43
|
+
function StaffMembers(props) {
|
|
44
|
+
const service = (0, services_manager_react_1.useService)(staff_member_list_js_1.StaffMemberListServiceDefinition);
|
|
40
45
|
return props.children({
|
|
41
46
|
staffMembers: service.staffMembers.get(),
|
|
42
47
|
hasStaffMembers: service.hasStaffMembers.get(),
|
|
@@ -59,15 +64,15 @@ export function StaffMembers(props) {
|
|
|
59
64
|
* </CoreStaffMemberList.Actions>
|
|
60
65
|
* ```
|
|
61
66
|
*/
|
|
62
|
-
|
|
63
|
-
const service = useService(StaffMemberListServiceDefinition);
|
|
67
|
+
function Actions(props) {
|
|
68
|
+
const service = (0, services_manager_react_1.useService)(staff_member_list_js_1.StaffMemberListServiceDefinition);
|
|
64
69
|
let bookingService = null;
|
|
65
70
|
try {
|
|
66
|
-
bookingService = useService(BookingServiceDefinition);
|
|
71
|
+
bookingService = (0, services_manager_react_1.useService)(booking_js_1.BookingServiceDefinition);
|
|
67
72
|
}
|
|
68
73
|
catch { }
|
|
69
74
|
const clear = () => {
|
|
70
|
-
bookingService?.actions.clearResourceByType(STAFF_MEMBER_RESOURCE_TYPE_ID);
|
|
75
|
+
bookingService?.actions.clearResourceByType(constants_js_1.STAFF_MEMBER_RESOURCE_TYPE_ID);
|
|
71
76
|
};
|
|
72
77
|
return props.children({
|
|
73
78
|
select: service.actions.select,
|