@wix/headless-bookings 0.0.105 → 0.0.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/cjs/dist/__mocks__/booking/booking-client-service.js +25 -20
  2. package/cjs/dist/__mocks__/booking/booking-mocks.js +28 -20
  3. package/cjs/dist/__mocks__/payment/payment-mocks.js +6 -3
  4. package/cjs/dist/__mocks__/services/services-mocks.js +79 -74
  5. package/cjs/dist/__mocks__/time-slots/time-slots-client-service.js +39 -33
  6. package/cjs/dist/__mocks__/time-slots/time-slots-core.js +43 -33
  7. package/cjs/dist/__mocks__/time-slots/time-slots-mocks.js +18 -13
  8. package/cjs/dist/api/create-booking/index.js +6 -3
  9. package/cjs/dist/api/create-checkout/index.js +9 -4
  10. package/cjs/dist/api/create-order/index.js +6 -3
  11. package/cjs/dist/api/fetch-availability/index.js +18 -15
  12. package/cjs/dist/api/index.js +24 -7
  13. package/cjs/dist/api/query-categories/index.js +6 -3
  14. package/cjs/dist/api/query-locations/index.js +9 -5
  15. package/cjs/dist/api/query-services/index.js +24 -17
  16. package/cjs/dist/react/booking/Book.js +51 -12
  17. package/cjs/dist/react/booking/Booking.js +68 -26
  18. package/cjs/dist/react/booking/BookingItem.js +56 -15
  19. package/cjs/dist/react/booking-form/BookingForm.js +63 -21
  20. package/cjs/dist/react/core/booking/Book.js +14 -11
  21. package/cjs/dist/react/core/booking/Booking.js +35 -23
  22. package/cjs/dist/react/core/booking-form/BookingForm.js +63 -26
  23. package/cjs/dist/react/core/location/Location.js +60 -21
  24. package/cjs/dist/react/core/location-list/LocationList.js +15 -10
  25. package/cjs/dist/react/core/payment/Payment.js +41 -30
  26. package/cjs/dist/react/core/service/Service.js +28 -19
  27. package/cjs/dist/react/core/service/ServiceMediaCover.js +7 -4
  28. package/cjs/dist/react/core/service/ServiceMediaGallery.js +7 -4
  29. package/cjs/dist/react/core/service/ServiceMediaMain.js +7 -4
  30. package/cjs/dist/react/core/service-list/ServiceList.js +12 -8
  31. package/cjs/dist/react/core/service-list/ServiceListFilter.js +9 -6
  32. package/cjs/dist/react/core/staff-member/StaffMember.js +20 -14
  33. package/cjs/dist/react/core/staff-member-list/StaffMemberList.js +19 -14
  34. package/cjs/dist/react/core/time-slot-list/TimeSlot.js +41 -28
  35. package/cjs/dist/react/core/time-slot-list/TimeSlotList.js +21 -15
  36. package/cjs/dist/react/index.js +49 -13
  37. package/cjs/dist/react/location/Location.js +76 -36
  38. package/cjs/dist/react/location/LocationList.js +70 -31
  39. package/cjs/dist/react/payment/Payment.js +87 -48
  40. package/cjs/dist/react/service/Service.js +197 -158
  41. package/cjs/dist/react/service/ServiceMedia.js +56 -17
  42. package/cjs/dist/react/service-list/ServiceList.js +71 -32
  43. package/cjs/dist/react/staff-member/StaffMember.js +61 -20
  44. package/cjs/dist/react/staff-member/StaffMemberList.js +68 -29
  45. package/cjs/dist/react/time-slot-list/TimeSlot.js +95 -56
  46. package/cjs/dist/react/time-slot-list/TimeSlotList.js +87 -48
  47. package/cjs/dist/services/booking/book-action/bookAction.js +21 -18
  48. package/cjs/dist/services/booking/book-action/buildBookingRequest.js +18 -15
  49. package/cjs/dist/services/booking/book-action/buildCheckoutRequest.js +8 -5
  50. package/cjs/dist/services/booking/book-action/canBook.js +4 -1
  51. package/cjs/dist/services/booking/book-action/index.js +15 -6
  52. package/cjs/dist/services/booking/book-action/isCheckoutRequired.js +4 -1
  53. package/cjs/dist/services/booking/book-action/types.js +5 -2
  54. package/cjs/dist/services/booking/booking.js +11 -8
  55. package/cjs/dist/services/booking-form/booking-form.js +26 -18
  56. package/cjs/dist/services/booking-form/utils.js +10 -4
  57. package/cjs/dist/services/constants.js +6 -3
  58. package/cjs/dist/services/index.js +48 -10
  59. package/cjs/dist/services/location-list/location-list.def.js +7 -5
  60. package/cjs/dist/services/location-list/location-list.js +31 -23
  61. package/cjs/dist/services/payment/payment.def.js +5 -2
  62. package/cjs/dist/services/payment/payment.js +22 -17
  63. package/cjs/dist/services/service/service.js +33 -29
  64. package/cjs/dist/services/service-list/service-list.js +22 -18
  65. package/cjs/dist/services/staff-member-list/staff-member-list.def.js +5 -2
  66. package/cjs/dist/services/staff-member-list/staff-member-list.js +16 -10
  67. package/cjs/dist/services/time-slot-list/index.js +12 -3
  68. package/cjs/dist/services/time-slot-list/time-slot-list.def.js +8 -5
  69. package/cjs/dist/services/time-slot-list/time-slot-list.js +24 -19
  70. package/cjs/dist/services/time-slot-list/time-slot.js +9 -6
  71. package/cjs/dist/utils/dateAndTime.js +7 -2
  72. package/cjs/dist/utils/guid.js +4 -1
  73. package/cjs/dist/utils/index.js +5 -1
  74. package/cjs/dist/utils/money.js +6 -2
  75. package/cjs/dist/utils/navigation.js +6 -3
  76. package/package.json +4 -4
@@ -1,23 +1,62 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.CoverMedia = exports.MainMedia = exports.StaffMembers = exports.Locations = exports.AvailableOnline = exports.DefaultCapacity = exports.Schedule = exports.ScheduleSessionDuration = exports.ScheduleLastSessionEnd = exports.ScheduleFirstSessionStart = exports.Policy = exports.PolicyMaxParticipantsPerBooking = exports.PolicyBookAfterStartEnabled = exports.PolicyWaitlistCapacity = exports.PolicyLatestRescheduleInMinutes = exports.PolicyEarliestBookingInMinutes = exports.PolicyLatestBookingInMinutes = exports.PolicyLatestCancellationInMinutes = exports.Actions = exports.Raw = exports.StaffMemberRepeater = exports.StaffMembersList = exports.LocationRepeater = exports.LocationsList = exports.Category = exports.Type = exports.DurationInMinutes = exports.Tagline = exports.Price = exports.Description = exports.Name = exports.Root = exports.TestIds = void 0;
40
+ const jsx_runtime_1 = require("react/jsx-runtime");
2
41
  /**
3
42
  * Service - High-level component for displaying service information
4
43
  * Provides components for displaying service details and booking actions
5
44
  */
6
- import React from 'react';
7
- import * as CoreService from '../core/service/Service.js';
8
- import * as CoreServiceMediaGallery from '../core/service/ServiceMediaGallery.js';
9
- import { AsChildSlot } from '@wix/headless-utils/react';
10
- import { Money } from '@wix/headless-components/react';
11
- import { MediaGallery } from '@wix/headless-media/react';
12
- import { RateType, } from '@wix/auto_sdk_bookings_services';
13
- import * as LocationList from '../location/LocationList.js';
45
+ const react_1 = __importDefault(require("react"));
46
+ const CoreService = __importStar(require("../core/service/Service.js"));
47
+ const CoreServiceMediaGallery = __importStar(require("../core/service/ServiceMediaGallery.js"));
48
+ const react_2 = require("@wix/headless-utils/react");
49
+ const react_3 = require("@wix/headless-components/react");
50
+ const react_4 = require("@wix/headless-media/react");
51
+ const auto_sdk_bookings_services_1 = require("@wix/auto_sdk_bookings_services");
52
+ const LocationList = __importStar(require("../location/LocationList.js"));
14
53
  // Note: Location components are used inside LocationList.LocationRepeater
15
54
  // Users should import { Location } from '@wix/headless-bookings/react' for Location.Name, Location.Address, etc.
16
- import * as StaffMemberListModule from '../staff-member/StaffMemberList.js';
55
+ const StaffMemberListModule = __importStar(require("../staff-member/StaffMemberList.js"));
17
56
  // Note: StaffMember components are used inside StaffMemberList.StaffMemberRepeater
18
57
  // Users should import { StaffMember } from '@wix/headless-bookings/react' for StaffMember.Name, etc.
19
- import * as ServiceMediaModule from './ServiceMedia.js';
20
- export const TestIds = {
58
+ const ServiceMediaModule = __importStar(require("./ServiceMedia.js"));
59
+ exports.TestIds = {
21
60
  serviceRoot: 'service-root',
22
61
  serviceName: 'service-name',
23
62
  serviceDescription: 'service-description',
@@ -109,7 +148,7 @@ export const TestIds = {
109
148
  * }
110
149
  * ```
111
150
  */
112
- export const Root = React.forwardRef((props, ref) => {
151
+ exports.Root = react_1.default.forwardRef((props, ref) => {
113
152
  const { children, service, serviceId, serviceSlug, appId, asChild, className, ...attrs } = props;
114
153
  // Build config - when no service config is provided, pass empty object
115
154
  // to trigger "from booking signal" mode in ServiceService
@@ -119,9 +158,9 @@ export const Root = React.forwardRef((props, ref) => {
119
158
  serviceSlug,
120
159
  appId,
121
160
  };
122
- return (_jsx(CoreService.Root, { serviceServiceConfig: serviceServiceConfig, children: ({ selected, bookable }) => (_jsx(CoreServiceMediaGallery.MediaGallery, { children: ({ mediaItems }) => (_jsx(MediaGallery.Root, { mediaGalleryServiceConfig: { media: mediaItems }, children: _jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.serviceRoot, "data-selected": selected, "data-bookable": bookable, customElement: children, customElementProps: { selected, bookable }, ...attrs, children: children }) })) })) }));
161
+ return ((0, jsx_runtime_1.jsx)(CoreService.Root, { serviceServiceConfig: serviceServiceConfig, children: ({ selected, bookable }) => ((0, jsx_runtime_1.jsx)(CoreServiceMediaGallery.MediaGallery, { children: ({ mediaItems }) => ((0, jsx_runtime_1.jsx)(react_4.MediaGallery.Root, { mediaGalleryServiceConfig: { media: mediaItems }, children: (0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.serviceRoot, "data-selected": selected, "data-bookable": bookable, customElement: children, customElementProps: { selected, bookable }, ...attrs, children: children }) })) })) }));
123
162
  });
124
- Root.displayName = 'Service.Root';
163
+ exports.Root.displayName = 'Service.Root';
125
164
  /**
126
165
  * Displays the service name with customizable rendering.
127
166
  *
@@ -146,11 +185,11 @@ Root.displayName = 'Service.Root';
146
185
  * </Service.Name>
147
186
  * ```
148
187
  */
149
- export const Name = React.forwardRef((props, ref) => {
188
+ exports.Name = react_1.default.forwardRef((props, ref) => {
150
189
  const { asChild, children, ...rest } = props;
151
- return (_jsx(CoreService.Info, { children: ({ name }) => (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceName, customElement: children, customElementProps: { name }, children: _jsx("span", { children: name }) })) }));
190
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ name }) => ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceName, customElement: children, customElementProps: { name }, children: (0, jsx_runtime_1.jsx)("span", { children: name }) })) }));
152
191
  });
153
- Name.displayName = 'Service.Name';
192
+ exports.Name.displayName = 'Service.Name';
154
193
  /**
155
194
  * Displays the service description with customizable rendering.
156
195
  *
@@ -166,11 +205,11 @@ Name.displayName = 'Service.Name';
166
205
  * </Service.Description>
167
206
  * ```
168
207
  */
169
- export const Description = React.forwardRef((props, ref) => {
208
+ exports.Description = react_1.default.forwardRef((props, ref) => {
170
209
  const { asChild, children, ...rest } = props;
171
- return (_jsx(CoreService.Info, { children: ({ description }) => (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceDescription, customElement: children, customElementProps: { description }, children: _jsx("div", { children: description }) })) }));
210
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ description }) => ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceDescription, customElement: children, customElementProps: { description }, children: (0, jsx_runtime_1.jsx)("div", { children: description }) })) }));
172
211
  });
173
- Description.displayName = 'Service.Description';
212
+ exports.Description.displayName = 'Service.Description';
174
213
  /**
175
214
  * Displays the service price using the Money component with customizable rendering.
176
215
  * Renders different defaults based on rate type:
@@ -201,34 +240,34 @@ Description.displayName = 'Service.Description';
201
240
  * </Service.Price>
202
241
  * ```
203
242
  */
204
- export const Price = React.forwardRef((props, ref) => {
243
+ exports.Price = react_1.default.forwardRef((props, ref) => {
205
244
  const { asChild, children, className } = props;
206
- return (_jsx(CoreService.Price, { children: (childProps) => {
245
+ return ((0, jsx_runtime_1.jsx)(CoreService.Price, { children: (childProps) => {
207
246
  const { rateType, money, minPrice, maxPrice, priceDescription } = childProps;
208
247
  // Default rendering based on rate type
209
248
  const renderDefaultPrice = () => {
210
249
  switch (rateType) {
211
- case RateType.FIXED:
212
- return money ? (_jsx(Money, { money: money, className: className })) : null;
213
- case RateType.VARIED:
250
+ case auto_sdk_bookings_services_1.RateType.FIXED:
251
+ return money ? ((0, jsx_runtime_1.jsx)(react_3.Money, { money: money, className: className })) : null;
252
+ case auto_sdk_bookings_services_1.RateType.VARIED:
214
253
  if (minPrice && maxPrice) {
215
- return (_jsxs("span", { className: className, "data-testid": TestIds.servicePrice, children: [_jsx(Money, { money: minPrice }), " - ", _jsx(Money, { money: maxPrice })] }));
254
+ return ((0, jsx_runtime_1.jsxs)("span", { className: className, "data-testid": exports.TestIds.servicePrice, children: [(0, jsx_runtime_1.jsx)(react_3.Money, { money: minPrice }), " - ", (0, jsx_runtime_1.jsx)(react_3.Money, { money: maxPrice })] }));
216
255
  }
217
256
  // Fallback to defaultPrice if min/max not available
218
- return money ? (_jsx(Money, { money: money, className: className })) : null;
219
- case RateType.CUSTOM:
220
- return priceDescription ? (_jsx("span", { className: className, "data-testid": TestIds.servicePrice, children: priceDescription })) : null;
221
- case RateType.NO_FEE:
222
- return money ? (_jsx(Money, { money: money, className: className })) : null;
257
+ return money ? ((0, jsx_runtime_1.jsx)(react_3.Money, { money: money, className: className })) : null;
258
+ case auto_sdk_bookings_services_1.RateType.CUSTOM:
259
+ return priceDescription ? ((0, jsx_runtime_1.jsx)("span", { className: className, "data-testid": exports.TestIds.servicePrice, children: priceDescription })) : null;
260
+ case auto_sdk_bookings_services_1.RateType.NO_FEE:
261
+ return money ? ((0, jsx_runtime_1.jsx)(react_3.Money, { money: money, className: className })) : null;
223
262
  default:
224
263
  // UNKNOWN_RATE_TYPE or undefined
225
264
  return null;
226
265
  }
227
266
  };
228
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePrice, customElement: children, customElementProps: childProps, children: renderDefaultPrice() }));
267
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePrice, customElement: children, customElementProps: childProps, children: renderDefaultPrice() }));
229
268
  } }));
230
269
  });
231
- Price.displayName = 'Service.Price';
270
+ exports.Price.displayName = 'Service.Price';
232
271
  /**
233
272
  * Displays the service tagline with customizable rendering.
234
273
  *
@@ -259,11 +298,11 @@ Price.displayName = 'Service.Price';
259
298
  * </Service.Tagline>
260
299
  * ```
261
300
  */
262
- export const Tagline = React.forwardRef((props, ref) => {
301
+ exports.Tagline = react_1.default.forwardRef((props, ref) => {
263
302
  const { asChild, children, ...rest } = props;
264
- return (_jsx(CoreService.Info, { children: ({ tagline }) => (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceTagline, customElement: children, customElementProps: { tagline }, children: tagline ? _jsx("p", { children: tagline }) : null })) }));
303
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ tagline }) => ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceTagline, customElement: children, customElementProps: { tagline }, children: tagline ? (0, jsx_runtime_1.jsx)("p", { children: tagline }) : null })) }));
265
304
  });
266
- Tagline.displayName = 'Service.Tagline';
305
+ exports.Tagline.displayName = 'Service.Tagline';
267
306
  /**
268
307
  * Displays the service duration in minutes (raw number) with customizable rendering.
269
308
  * Returns the duration as a numeric value representing minutes.
@@ -295,13 +334,13 @@ Tagline.displayName = 'Service.Tagline';
295
334
  * </Service.DurationInMinutes>
296
335
  * ```
297
336
  */
298
- export const DurationInMinutes = React.forwardRef((props, ref) => {
337
+ exports.DurationInMinutes = react_1.default.forwardRef((props, ref) => {
299
338
  const { asChild, children, ...rest } = props;
300
- return (_jsx(CoreService.Info, { children: ({ duration }) => {
301
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceDurationInMinutes, customElement: children, customElementProps: { duration }, children: duration ? _jsx("span", { children: duration }) : null }));
339
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ duration }) => {
340
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceDurationInMinutes, customElement: children, customElementProps: { duration }, children: duration ? (0, jsx_runtime_1.jsx)("span", { children: duration }) : null }));
302
341
  } }));
303
342
  });
304
- DurationInMinutes.displayName = 'Service.DurationInMinutes';
343
+ exports.DurationInMinutes.displayName = 'Service.DurationInMinutes';
305
344
  /**
306
345
  * Displays the service type (APPOINTMENT, CLASS, COURSE, etc.) with customizable rendering.
307
346
  *
@@ -335,11 +374,11 @@ DurationInMinutes.displayName = 'Service.DurationInMinutes';
335
374
  * </Service.Type>
336
375
  * ```
337
376
  */
338
- export const Type = React.forwardRef((props, ref) => {
377
+ exports.Type = react_1.default.forwardRef((props, ref) => {
339
378
  const { asChild, children, ...rest } = props;
340
- return (_jsx(CoreService.Info, { children: ({ type }) => (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceType, customElement: children, customElementProps: { type }, children: type ? _jsx("span", { children: type }) : null })) }));
379
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ type }) => ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceType, customElement: children, customElementProps: { type }, children: type ? (0, jsx_runtime_1.jsx)("span", { children: type }) : null })) }));
341
380
  });
342
- Type.displayName = 'Service.Type';
381
+ exports.Type.displayName = 'Service.Type';
343
382
  /**
344
383
  * Displays the service category with customizable rendering.
345
384
  *
@@ -375,11 +414,11 @@ Type.displayName = 'Service.Type';
375
414
  * </Service.Category>
376
415
  * ```
377
416
  */
378
- export const Category = React.forwardRef((props, ref) => {
417
+ exports.Category = react_1.default.forwardRef((props, ref) => {
379
418
  const { asChild, children, ...rest } = props;
380
- return (_jsx(CoreService.Info, { children: ({ category }) => (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceCategory, customElement: children, customElementProps: { category }, children: category?.name ? _jsx("span", { children: category.name }) : null })) }));
419
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ category }) => ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceCategory, customElement: children, customElementProps: { category }, children: category?.name ? (0, jsx_runtime_1.jsx)("span", { children: category.name }) : null })) }));
381
420
  });
382
- Category.displayName = 'Service.Category';
421
+ exports.Category.displayName = 'Service.Category';
383
422
  /**
384
423
  * Container for service locations list (Container Level).
385
424
  * Follows the 3-level List/Options/Repeater pattern.
@@ -411,14 +450,14 @@ Category.displayName = 'Service.Category';
411
450
  * </Service.Locations>
412
451
  * ```
413
452
  */
414
- const LocationsBase = React.forwardRef((props, ref) => {
453
+ const LocationsBase = react_1.default.forwardRef((props, ref) => {
415
454
  const { asChild, children, className, ...rest } = props;
416
- return (_jsx(CoreService.Info, { children: ({ locations }) => {
455
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ locations }) => {
417
456
  // Container level: don't render if no locations
418
457
  if (!locations || locations.length === 0) {
419
458
  return null;
420
459
  }
421
- return (_jsx(LocationList.Root, { locationListConfig: { locations }, className: className, ref: ref, children: _jsx(AsChildSlot, { ...rest, asChild: asChild, className: className, "data-testid": TestIds.serviceLocations, customElement: children, children: _jsx("div", { children: children }) }) }));
460
+ return ((0, jsx_runtime_1.jsx)(LocationList.Root, { locationListConfig: { locations }, className: className, ref: ref, children: (0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ...rest, asChild: asChild, className: className, "data-testid": exports.TestIds.serviceLocations, customElement: children, children: (0, jsx_runtime_1.jsx)("div", { children: children }) }) }));
422
461
  } }));
423
462
  });
424
463
  LocationsBase.displayName = 'Service.Locations';
@@ -435,11 +474,11 @@ LocationsBase.displayName = 'Service.Locations';
435
474
  * </Service.Locations.List>
436
475
  * ```
437
476
  */
438
- export const LocationsList = React.forwardRef((props, ref) => {
477
+ exports.LocationsList = react_1.default.forwardRef((props, ref) => {
439
478
  const { children, emptyState, className, ...otherProps } = props;
440
- return (_jsx(LocationList.Locations, { ref: ref, emptyState: emptyState, className: className, ...otherProps, children: children }));
479
+ return ((0, jsx_runtime_1.jsx)(LocationList.Locations, { ref: ref, emptyState: emptyState, className: className, ...otherProps, children: children }));
441
480
  });
442
- LocationsList.displayName = 'Service.Locations.List';
481
+ exports.LocationsList.displayName = 'Service.Locations.List';
443
482
  /**
444
483
  * Repeater component that renders Location.Root for each location.
445
484
  * Internally delegates to LocationList.LocationRepeater.
@@ -464,11 +503,11 @@ LocationsList.displayName = 'Service.Locations.List';
464
503
  * </Service.Locations.LocationRepeater>
465
504
  * ```
466
505
  */
467
- export const LocationRepeater = React.forwardRef((props, ref) => {
506
+ exports.LocationRepeater = react_1.default.forwardRef((props, ref) => {
468
507
  const { children } = props;
469
- return (_jsx(LocationList.LocationRepeater, { ref: ref, children: children }));
508
+ return ((0, jsx_runtime_1.jsx)(LocationList.LocationRepeater, { ref: ref, children: children }));
470
509
  });
471
- LocationRepeater.displayName = 'Service.Locations.LocationRepeater';
510
+ exports.LocationRepeater.displayName = 'Service.Locations.LocationRepeater';
472
511
  /**
473
512
  * Container for service staff members list (Container Level).
474
513
  * Follows the 3-level List/Options/Repeater pattern.
@@ -499,14 +538,14 @@ LocationRepeater.displayName = 'Service.Locations.LocationRepeater';
499
538
  * </Service.StaffMembers>
500
539
  * ```
501
540
  */
502
- const StaffMembersBase = React.forwardRef((props, ref) => {
541
+ const StaffMembersBase = react_1.default.forwardRef((props, ref) => {
503
542
  const { asChild, children, className, ...rest } = props;
504
- return (_jsx(CoreService.Info, { children: ({ staff }) => {
543
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ staff }) => {
505
544
  // Container level: don't render if no staff members
506
545
  if (!staff || staff.length === 0) {
507
546
  return null;
508
547
  }
509
- return (_jsx(StaffMemberListModule.Root, { staffMemberListConfig: { staffMembers: staff }, className: className, ref: ref, children: _jsx(AsChildSlot, { ...rest, asChild: asChild, className: className, "data-testid": TestIds.serviceStaffMembers, customElement: children, children: _jsx("div", { children: children }) }) }));
548
+ return ((0, jsx_runtime_1.jsx)(StaffMemberListModule.Root, { staffMemberListConfig: { staffMembers: staff }, className: className, ref: ref, children: (0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ...rest, asChild: asChild, className: className, "data-testid": exports.TestIds.serviceStaffMembers, customElement: children, children: (0, jsx_runtime_1.jsx)("div", { children: children }) }) }));
510
549
  } }));
511
550
  });
512
551
  StaffMembersBase.displayName = 'Service.StaffMembers';
@@ -523,11 +562,11 @@ StaffMembersBase.displayName = 'Service.StaffMembers';
523
562
  * </Service.StaffMembers.List>
524
563
  * ```
525
564
  */
526
- export const StaffMembersList = React.forwardRef((props, ref) => {
565
+ exports.StaffMembersList = react_1.default.forwardRef((props, ref) => {
527
566
  const { children, emptyState, className, ...otherProps } = props;
528
- return (_jsx(StaffMemberListModule.StaffMembers, { ref: ref, emptyState: emptyState, className: className, ...otherProps, children: children }));
567
+ return ((0, jsx_runtime_1.jsx)(StaffMemberListModule.StaffMembers, { ref: ref, emptyState: emptyState, className: className, ...otherProps, children: children }));
529
568
  });
530
- StaffMembersList.displayName = 'Service.StaffMembers.List';
569
+ exports.StaffMembersList.displayName = 'Service.StaffMembers.List';
531
570
  /**
532
571
  * Repeater component that renders StaffMember.Root for each staff member.
533
572
  * Internally delegates to StaffMemberList.StaffMemberRepeater.
@@ -549,11 +588,11 @@ StaffMembersList.displayName = 'Service.StaffMembers.List';
549
588
  * </Service.StaffMembers.StaffMemberRepeater>
550
589
  * ```
551
590
  */
552
- export const StaffMemberRepeater = React.forwardRef((props, ref) => {
591
+ exports.StaffMemberRepeater = react_1.default.forwardRef((props, ref) => {
553
592
  const { children } = props;
554
- return (_jsx(StaffMemberListModule.StaffMemberRepeater, { ref: ref, children: children }));
593
+ return ((0, jsx_runtime_1.jsx)(StaffMemberListModule.StaffMemberRepeater, { ref: ref, children: children }));
555
594
  });
556
- StaffMemberRepeater.displayName = 'Service.StaffMembers.StaffMemberRepeater';
595
+ exports.StaffMemberRepeater.displayName = 'Service.StaffMembers.StaffMemberRepeater';
557
596
  /**
558
597
  * Provides direct access to service object. Should be used only in rare cases.
559
598
  *
@@ -577,15 +616,15 @@ StaffMemberRepeater.displayName = 'Service.StaffMembers.StaffMemberRepeater';
577
616
  * </Service.Raw>
578
617
  * ```
579
618
  */
580
- export const Raw = React.forwardRef((props, ref) => {
619
+ exports.Raw = react_1.default.forwardRef((props, ref) => {
581
620
  const { asChild, children, className } = props;
582
- return (_jsx(CoreService.Service, { children: ({ service, isLoading, error }) => (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.serviceRaw, customElement: children, customElementProps: { service, isLoading, error }, children: children })) }));
621
+ return ((0, jsx_runtime_1.jsx)(CoreService.Service, { children: ({ service, isLoading, error }) => ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.serviceRaw, customElement: children, customElementProps: { service, isLoading, error }, children: children })) }));
583
622
  });
584
- Raw.displayName = 'Service.Raw';
623
+ exports.Raw.displayName = 'Service.Raw';
585
624
  /**
586
625
  * Actions namespace with individual action components
587
626
  */
588
- export var Actions;
627
+ var Actions;
589
628
  (function (Actions) {
590
629
  /**
591
630
  * Select action component - replaces selection with only this service.
@@ -616,21 +655,21 @@ export var Actions;
616
655
  * </Service.Actions.Select>
617
656
  * ```
618
657
  */
619
- Actions.Select = React.forwardRef((props, ref) => {
658
+ Actions.Select = react_1.default.forwardRef((props, ref) => {
620
659
  const { asChild, children, className, label, onClick, ...rest } = props;
621
- return (_jsx(CoreService.Actions, { children: ({ select, rawService, bookable, selected, requiresAvailability, }) => {
660
+ return ((0, jsx_runtime_1.jsx)(CoreService.Actions, { children: ({ select, rawService, bookable, selected, requiresAvailability, }) => {
622
661
  const handleClick = () => {
623
662
  select();
624
663
  onClick?.(rawService);
625
664
  };
626
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, className: className, disabled: !bookable, "data-testid": TestIds.serviceActionSelect, "data-selected": selected, "data-bookable": bookable, "data-requires-availability": requiresAvailability, customElement: children, customElementProps: {
665
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, className: className, disabled: !bookable, "data-testid": exports.TestIds.serviceActionSelect, "data-selected": selected, "data-bookable": bookable, "data-requires-availability": requiresAvailability, customElement: children, customElementProps: {
627
666
  onClick: handleClick,
628
667
  disabled: !bookable,
629
668
  selected,
630
669
  bookable,
631
670
  requiresAvailability,
632
671
  service: rawService,
633
- }, children: _jsx("button", { onClick: handleClick, children: children || label }) }));
672
+ }, children: (0, jsx_runtime_1.jsx)("button", { onClick: handleClick, children: children || label }) }));
634
673
  } }));
635
674
  });
636
675
  Actions.Select.displayName = 'Service.Actions.Select';
@@ -663,23 +702,23 @@ export var Actions;
663
702
  * </Service.Actions.Add>
664
703
  * ```
665
704
  */
666
- Actions.Add = React.forwardRef((props, ref) => {
705
+ Actions.Add = react_1.default.forwardRef((props, ref) => {
667
706
  const { asChild, children, className, label, onClick, ...rest } = props;
668
- return (_jsx(CoreService.Actions, { children: ({ add, rawService, bookable, selected, requiresAvailability }) => {
707
+ return ((0, jsx_runtime_1.jsx)(CoreService.Actions, { children: ({ add, rawService, bookable, selected, requiresAvailability }) => {
669
708
  // Disabled when already selected (can't add again) or not bookable
670
709
  const isDisabled = selected || !bookable;
671
710
  const handleClick = () => {
672
711
  add();
673
712
  onClick?.(rawService);
674
713
  };
675
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, className: className, disabled: isDisabled, "data-testid": TestIds.serviceActionAdd, "data-selected": selected, "data-bookable": bookable, "data-requires-availability": requiresAvailability, customElement: children, customElementProps: {
714
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, className: className, disabled: isDisabled, "data-testid": exports.TestIds.serviceActionAdd, "data-selected": selected, "data-bookable": bookable, "data-requires-availability": requiresAvailability, customElement: children, customElementProps: {
676
715
  onClick: handleClick,
677
716
  disabled: isDisabled,
678
717
  selected,
679
718
  bookable,
680
719
  requiresAvailability,
681
720
  service: rawService,
682
- }, children: _jsx("button", { onClick: handleClick, children: children || label }) }));
721
+ }, children: (0, jsx_runtime_1.jsx)("button", { onClick: handleClick, children: children || label }) }));
683
722
  } }));
684
723
  });
685
724
  Actions.Add.displayName = 'Service.Actions.Add';
@@ -712,27 +751,27 @@ export var Actions;
712
751
  * </Service.Actions.Remove>
713
752
  * ```
714
753
  */
715
- Actions.Remove = React.forwardRef((props, ref) => {
754
+ Actions.Remove = react_1.default.forwardRef((props, ref) => {
716
755
  const { asChild, children, className, label, onClick, ...rest } = props;
717
- return (_jsx(CoreService.Actions, { children: ({ remove, rawService, bookable, selected, requiresAvailability, }) => {
756
+ return ((0, jsx_runtime_1.jsx)(CoreService.Actions, { children: ({ remove, rawService, bookable, selected, requiresAvailability, }) => {
718
757
  // Disabled when not selected (nothing to remove) or not bookable
719
758
  const isDisabled = !selected || !bookable;
720
759
  const handleClick = () => {
721
760
  remove();
722
761
  onClick?.(rawService);
723
762
  };
724
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, className: className, disabled: isDisabled, "data-testid": TestIds.serviceActionRemove, "data-selected": selected, "data-bookable": bookable, "data-requires-availability": requiresAvailability, customElement: children, customElementProps: {
763
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, className: className, disabled: isDisabled, "data-testid": exports.TestIds.serviceActionRemove, "data-selected": selected, "data-bookable": bookable, "data-requires-availability": requiresAvailability, customElement: children, customElementProps: {
725
764
  onClick: handleClick,
726
765
  disabled: isDisabled,
727
766
  selected,
728
767
  bookable,
729
768
  requiresAvailability,
730
769
  service: rawService,
731
- }, children: _jsx("button", { onClick: handleClick, children: children || label }) }));
770
+ }, children: (0, jsx_runtime_1.jsx)("button", { onClick: handleClick, children: children || label }) }));
732
771
  } }));
733
772
  });
734
773
  Actions.Remove.displayName = 'Service.Actions.Remove';
735
- })(Actions || (Actions = {}));
774
+ })(Actions || (exports.Actions = Actions = {}));
736
775
  /**
737
776
  * Displays latestCancellationInMinutes as a raw number.
738
777
  * Headless component - contains zero formatting logic.
@@ -764,9 +803,9 @@ export var Actions;
764
803
  * </Service.Policy.LatestCancellationInMinutes>
765
804
  * ```
766
805
  */
767
- export const PolicyLatestCancellationInMinutes = React.forwardRef((props, ref) => {
806
+ exports.PolicyLatestCancellationInMinutes = react_1.default.forwardRef((props, ref) => {
768
807
  const { asChild, children, className } = props;
769
- return (_jsx(CoreService.Policy, { children: ({ cancellationPolicyEnabled, limitLatestCancellationEnabled, latestCancellationInMinutes, }) => {
808
+ return ((0, jsx_runtime_1.jsx)(CoreService.Policy, { children: ({ cancellationPolicyEnabled, limitLatestCancellationEnabled, latestCancellationInMinutes, }) => {
770
809
  // Prepare data for asChild pattern - ALWAYS pass to consumer
771
810
  const childProps = {
772
811
  cancellationPolicyEnabled,
@@ -775,11 +814,11 @@ export const PolicyLatestCancellationInMinutes = React.forwardRef((props, ref) =
775
814
  };
776
815
  // ALWAYS return AsChildSlot (never return null early)
777
816
  // This allows consumer to override null behavior via asChild
778
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePolicyLatestCancellationInMinutes, customElement: children, customElementProps: childProps, children: cancellationPolicyEnabled &&
779
- latestCancellationInMinutes !== undefined ? (_jsx("span", { children: latestCancellationInMinutes })) : null }));
817
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePolicyLatestCancellationInMinutes, customElement: children, customElementProps: childProps, children: cancellationPolicyEnabled &&
818
+ latestCancellationInMinutes !== undefined ? ((0, jsx_runtime_1.jsx)("span", { children: latestCancellationInMinutes })) : null }));
780
819
  } }));
781
820
  });
782
- PolicyLatestCancellationInMinutes.displayName =
821
+ exports.PolicyLatestCancellationInMinutes.displayName =
783
822
  'Service.Policy.LatestCancellationInMinutes';
784
823
  /**
785
824
  * Displays latestBookingInMinutes as a raw number.
@@ -794,18 +833,18 @@ PolicyLatestCancellationInMinutes.displayName =
794
833
  * <Service.Policy.LatestBookingInMinutes className="text-foreground" />
795
834
  * ```
796
835
  */
797
- export const PolicyLatestBookingInMinutes = React.forwardRef((props, ref) => {
836
+ exports.PolicyLatestBookingInMinutes = react_1.default.forwardRef((props, ref) => {
798
837
  const { asChild, children, className } = props;
799
- return (_jsx(CoreService.Policy, { children: ({ latestBookingPolicyEnabled, latestBookingInMinutes }) => {
838
+ return ((0, jsx_runtime_1.jsx)(CoreService.Policy, { children: ({ latestBookingPolicyEnabled, latestBookingInMinutes }) => {
800
839
  const childProps = {
801
840
  latestBookingPolicyEnabled,
802
841
  latestBookingInMinutes,
803
842
  };
804
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePolicyLatestBookingInMinutes, customElement: children, customElementProps: childProps, children: latestBookingPolicyEnabled &&
805
- latestBookingInMinutes !== undefined ? (_jsx("span", { children: latestBookingInMinutes })) : null }));
843
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePolicyLatestBookingInMinutes, customElement: children, customElementProps: childProps, children: latestBookingPolicyEnabled &&
844
+ latestBookingInMinutes !== undefined ? ((0, jsx_runtime_1.jsx)("span", { children: latestBookingInMinutes })) : null }));
806
845
  } }));
807
846
  });
808
- PolicyLatestBookingInMinutes.displayName =
847
+ exports.PolicyLatestBookingInMinutes.displayName =
809
848
  'Service.Policy.LatestBookingInMinutes';
810
849
  /**
811
850
  * Displays earliestBookingInMinutes as a raw number.
@@ -820,18 +859,18 @@ PolicyLatestBookingInMinutes.displayName =
820
859
  * <Service.Policy.EarliestBookingInMinutes className="text-foreground" />
821
860
  * ```
822
861
  */
823
- export const PolicyEarliestBookingInMinutes = React.forwardRef((props, ref) => {
862
+ exports.PolicyEarliestBookingInMinutes = react_1.default.forwardRef((props, ref) => {
824
863
  const { asChild, children, className } = props;
825
- return (_jsx(CoreService.Policy, { children: ({ earliestBookingPolicyEnabled, earliestBookingInMinutes }) => {
864
+ return ((0, jsx_runtime_1.jsx)(CoreService.Policy, { children: ({ earliestBookingPolicyEnabled, earliestBookingInMinutes }) => {
826
865
  const childProps = {
827
866
  earliestBookingPolicyEnabled,
828
867
  earliestBookingInMinutes,
829
868
  };
830
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePolicyEarliestBookingInMinutes, customElement: children, customElementProps: childProps, children: earliestBookingPolicyEnabled &&
831
- earliestBookingInMinutes !== undefined ? (_jsx("span", { children: earliestBookingInMinutes })) : null }));
869
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePolicyEarliestBookingInMinutes, customElement: children, customElementProps: childProps, children: earliestBookingPolicyEnabled &&
870
+ earliestBookingInMinutes !== undefined ? ((0, jsx_runtime_1.jsx)("span", { children: earliestBookingInMinutes })) : null }));
832
871
  } }));
833
872
  });
834
- PolicyEarliestBookingInMinutes.displayName =
873
+ exports.PolicyEarliestBookingInMinutes.displayName =
835
874
  'Service.Policy.EarliestBookingInMinutes';
836
875
  /**
837
876
  * Displays latestRescheduleInMinutes as a raw number.
@@ -846,19 +885,19 @@ PolicyEarliestBookingInMinutes.displayName =
846
885
  * <Service.Policy.LatestRescheduleInMinutes className="text-foreground" />
847
886
  * ```
848
887
  */
849
- export const PolicyLatestRescheduleInMinutes = React.forwardRef((props, ref) => {
888
+ exports.PolicyLatestRescheduleInMinutes = react_1.default.forwardRef((props, ref) => {
850
889
  const { asChild, children, className } = props;
851
- return (_jsx(CoreService.Policy, { children: ({ reschedulePolicyEnabled, limitLatestRescheduleEnabled, latestRescheduleInMinutes, }) => {
890
+ return ((0, jsx_runtime_1.jsx)(CoreService.Policy, { children: ({ reschedulePolicyEnabled, limitLatestRescheduleEnabled, latestRescheduleInMinutes, }) => {
852
891
  const childProps = {
853
892
  reschedulePolicyEnabled,
854
893
  limitLatestRescheduleEnabled,
855
894
  latestRescheduleInMinutes,
856
895
  };
857
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePolicyLatestRescheduleInMinutes, customElement: children, customElementProps: childProps, children: reschedulePolicyEnabled &&
858
- latestRescheduleInMinutes !== undefined ? (_jsx("span", { children: latestRescheduleInMinutes })) : null }));
896
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePolicyLatestRescheduleInMinutes, customElement: children, customElementProps: childProps, children: reschedulePolicyEnabled &&
897
+ latestRescheduleInMinutes !== undefined ? ((0, jsx_runtime_1.jsx)("span", { children: latestRescheduleInMinutes })) : null }));
859
898
  } }));
860
899
  });
861
- PolicyLatestRescheduleInMinutes.displayName =
900
+ exports.PolicyLatestRescheduleInMinutes.displayName =
862
901
  'Service.Policy.LatestRescheduleInMinutes';
863
902
  /**
864
903
  * Displays waitlist capacity as a raw number.
@@ -873,17 +912,17 @@ PolicyLatestRescheduleInMinutes.displayName =
873
912
  * <Service.Policy.WaitlistCapacity className="text-foreground" />
874
913
  * ```
875
914
  */
876
- export const PolicyWaitlistCapacity = React.forwardRef((props, ref) => {
915
+ exports.PolicyWaitlistCapacity = react_1.default.forwardRef((props, ref) => {
877
916
  const { asChild, children, className } = props;
878
- return (_jsx(CoreService.Policy, { children: ({ waitlistPolicyEnabled, waitlistCapacity }) => {
917
+ return ((0, jsx_runtime_1.jsx)(CoreService.Policy, { children: ({ waitlistPolicyEnabled, waitlistCapacity }) => {
879
918
  const childProps = {
880
919
  waitlistPolicyEnabled,
881
920
  waitlistCapacity,
882
921
  };
883
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePolicyWaitlistCapacity, customElement: children, customElementProps: childProps, children: waitlistPolicyEnabled && waitlistCapacity !== undefined ? (_jsx("span", { children: waitlistCapacity })) : null }));
922
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePolicyWaitlistCapacity, customElement: children, customElementProps: childProps, children: waitlistPolicyEnabled && waitlistCapacity !== undefined ? ((0, jsx_runtime_1.jsx)("span", { children: waitlistCapacity })) : null }));
884
923
  } }));
885
924
  });
886
- PolicyWaitlistCapacity.displayName = 'Service.Policy.WaitlistCapacity';
925
+ exports.PolicyWaitlistCapacity.displayName = 'Service.Policy.WaitlistCapacity';
887
926
  /**
888
927
  * Displays whether booking after start is enabled.
889
928
  * Headless component - contains zero formatting logic.
@@ -897,16 +936,16 @@ PolicyWaitlistCapacity.displayName = 'Service.Policy.WaitlistCapacity';
897
936
  * <Service.Policy.BookAfterStartEnabled className="text-foreground" />
898
937
  * ```
899
938
  */
900
- export const PolicyBookAfterStartEnabled = React.forwardRef((props, ref) => {
939
+ exports.PolicyBookAfterStartEnabled = react_1.default.forwardRef((props, ref) => {
901
940
  const { asChild, children, className } = props;
902
- return (_jsx(CoreService.Policy, { children: ({ bookAfterStartEnabled }) => {
941
+ return ((0, jsx_runtime_1.jsx)(CoreService.Policy, { children: ({ bookAfterStartEnabled }) => {
903
942
  const childProps = {
904
943
  bookAfterStartEnabled,
905
944
  };
906
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePolicyBookAfterStartEnabled, customElement: children, customElementProps: childProps, children: bookAfterStartEnabled ? (_jsx("span", { children: bookAfterStartEnabled ? 'true' : 'false' })) : null }));
945
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePolicyBookAfterStartEnabled, customElement: children, customElementProps: childProps, children: bookAfterStartEnabled ? ((0, jsx_runtime_1.jsx)("span", { children: bookAfterStartEnabled ? 'true' : 'false' })) : null }));
907
946
  } }));
908
947
  });
909
- PolicyBookAfterStartEnabled.displayName =
948
+ exports.PolicyBookAfterStartEnabled.displayName =
910
949
  'Service.Policy.BookAfterStartEnabled';
911
950
  /**
912
951
  * Displays maximum participants per booking as a raw number.
@@ -921,30 +960,30 @@ PolicyBookAfterStartEnabled.displayName =
921
960
  * <Service.Policy.MaxParticipantsPerBooking className="text-foreground" />
922
961
  * ```
923
962
  */
924
- export const PolicyMaxParticipantsPerBooking = React.forwardRef((props, ref) => {
963
+ exports.PolicyMaxParticipantsPerBooking = react_1.default.forwardRef((props, ref) => {
925
964
  const { asChild, children, className } = props;
926
- return (_jsx(CoreService.Policy, { children: ({ maxParticipantsPerBooking }) => {
965
+ return ((0, jsx_runtime_1.jsx)(CoreService.Policy, { children: ({ maxParticipantsPerBooking }) => {
927
966
  const childProps = {
928
967
  maxParticipantsPerBooking,
929
968
  };
930
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.servicePolicyMaxParticipantsPerBooking, customElement: children, customElementProps: childProps, children: maxParticipantsPerBooking !== undefined ? (_jsx("span", { children: maxParticipantsPerBooking })) : null }));
969
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.servicePolicyMaxParticipantsPerBooking, customElement: children, customElementProps: childProps, children: maxParticipantsPerBooking !== undefined ? ((0, jsx_runtime_1.jsx)("span", { children: maxParticipantsPerBooking })) : null }));
931
970
  } }));
932
971
  });
933
- PolicyMaxParticipantsPerBooking.displayName =
972
+ exports.PolicyMaxParticipantsPerBooking.displayName =
934
973
  'Service.Policy.MaxParticipantsPerBooking';
935
974
  /**
936
975
  * Policy namespace containing all policy sub-components
937
976
  */
938
- export var Policy;
977
+ var Policy;
939
978
  (function (Policy) {
940
- Policy.LatestCancellationInMinutes = PolicyLatestCancellationInMinutes;
941
- Policy.LatestBookingInMinutes = PolicyLatestBookingInMinutes;
942
- Policy.EarliestBookingInMinutes = PolicyEarliestBookingInMinutes;
943
- Policy.LatestRescheduleInMinutes = PolicyLatestRescheduleInMinutes;
944
- Policy.WaitlistCapacity = PolicyWaitlistCapacity;
945
- Policy.BookAfterStartEnabled = PolicyBookAfterStartEnabled;
946
- Policy.MaxParticipantsPerBooking = PolicyMaxParticipantsPerBooking;
947
- })(Policy || (Policy = {}));
979
+ Policy.LatestCancellationInMinutes = exports.PolicyLatestCancellationInMinutes;
980
+ Policy.LatestBookingInMinutes = exports.PolicyLatestBookingInMinutes;
981
+ Policy.EarliestBookingInMinutes = exports.PolicyEarliestBookingInMinutes;
982
+ Policy.LatestRescheduleInMinutes = exports.PolicyLatestRescheduleInMinutes;
983
+ Policy.WaitlistCapacity = exports.PolicyWaitlistCapacity;
984
+ Policy.BookAfterStartEnabled = exports.PolicyBookAfterStartEnabled;
985
+ Policy.MaxParticipantsPerBooking = exports.PolicyMaxParticipantsPerBooking;
986
+ })(Policy || (exports.Policy = Policy = {}));
948
987
  /**
949
988
  * Displays the first session start date as a raw Date value.
950
989
  * Headless component - contains zero formatting logic.
@@ -965,17 +1004,17 @@ export var Policy;
965
1004
  * </Service.Schedule.FirstSessionStart>
966
1005
  * ```
967
1006
  */
968
- export const ScheduleFirstSessionStart = React.forwardRef((props, ref) => {
1007
+ exports.ScheduleFirstSessionStart = react_1.default.forwardRef((props, ref) => {
969
1008
  const { asChild, children, className } = props;
970
- return (_jsx(CoreService.Schedule, { children: ({ schedule }) => {
1009
+ return ((0, jsx_runtime_1.jsx)(CoreService.Schedule, { children: ({ schedule }) => {
971
1010
  const firstSessionStart = schedule?.firstSessionStart;
972
1011
  const childProps = {
973
1012
  firstSessionStart,
974
1013
  };
975
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.serviceScheduleFirstSessionStart, customElement: children, customElementProps: childProps, children: firstSessionStart ? (_jsx("span", { children: firstSessionStart.toISOString() })) : null }));
1014
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.serviceScheduleFirstSessionStart, customElement: children, customElementProps: childProps, children: firstSessionStart ? ((0, jsx_runtime_1.jsx)("span", { children: firstSessionStart.toISOString() })) : null }));
976
1015
  } }));
977
1016
  });
978
- ScheduleFirstSessionStart.displayName = 'Service.Schedule.FirstSessionStart';
1017
+ exports.ScheduleFirstSessionStart.displayName = 'Service.Schedule.FirstSessionStart';
979
1018
  /**
980
1019
  * Displays the last session end date as a raw Date value.
981
1020
  * Headless component - contains zero formatting logic.
@@ -996,17 +1035,17 @@ ScheduleFirstSessionStart.displayName = 'Service.Schedule.FirstSessionStart';
996
1035
  * </Service.Schedule.LastSessionEnd>
997
1036
  * ```
998
1037
  */
999
- export const ScheduleLastSessionEnd = React.forwardRef((props, ref) => {
1038
+ exports.ScheduleLastSessionEnd = react_1.default.forwardRef((props, ref) => {
1000
1039
  const { asChild, children, className } = props;
1001
- return (_jsx(CoreService.Schedule, { children: ({ schedule }) => {
1040
+ return ((0, jsx_runtime_1.jsx)(CoreService.Schedule, { children: ({ schedule }) => {
1002
1041
  const lastSessionEnd = schedule?.lastSessionEnd;
1003
1042
  const childProps = {
1004
1043
  lastSessionEnd,
1005
1044
  };
1006
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.serviceScheduleLastSessionEnd, customElement: children, customElementProps: childProps, children: lastSessionEnd ? (_jsx("span", { children: lastSessionEnd.toISOString() })) : null }));
1045
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.serviceScheduleLastSessionEnd, customElement: children, customElementProps: childProps, children: lastSessionEnd ? ((0, jsx_runtime_1.jsx)("span", { children: lastSessionEnd.toISOString() })) : null }));
1007
1046
  } }));
1008
1047
  });
1009
- ScheduleLastSessionEnd.displayName = 'Service.Schedule.LastSessionEnd';
1048
+ exports.ScheduleLastSessionEnd.displayName = 'Service.Schedule.LastSessionEnd';
1010
1049
  /**
1011
1050
  * Displays the session duration in minutes as a raw number.
1012
1051
  * Headless component - contains zero formatting logic.
@@ -1027,26 +1066,26 @@ ScheduleLastSessionEnd.displayName = 'Service.Schedule.LastSessionEnd';
1027
1066
  * </Service.Schedule.SessionDuration>
1028
1067
  * ```
1029
1068
  */
1030
- export const ScheduleSessionDuration = React.forwardRef((props, ref) => {
1069
+ exports.ScheduleSessionDuration = react_1.default.forwardRef((props, ref) => {
1031
1070
  const { asChild, children, className } = props;
1032
- return (_jsx(CoreService.Schedule, { children: ({ schedule }) => {
1071
+ return ((0, jsx_runtime_1.jsx)(CoreService.Schedule, { children: ({ schedule }) => {
1033
1072
  const sessionDuration = schedule?.availabilityConstraints?.sessionDurations?.[0];
1034
1073
  const childProps = {
1035
1074
  sessionDuration,
1036
1075
  };
1037
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": TestIds.serviceScheduleSessionDuration, customElement: children, customElementProps: childProps, children: sessionDuration !== undefined ? (_jsx("span", { children: sessionDuration })) : null }));
1076
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, className: className, "data-testid": exports.TestIds.serviceScheduleSessionDuration, customElement: children, customElementProps: childProps, children: sessionDuration !== undefined ? ((0, jsx_runtime_1.jsx)("span", { children: sessionDuration })) : null }));
1038
1077
  } }));
1039
1078
  });
1040
- ScheduleSessionDuration.displayName = 'Service.Schedule.SessionDuration';
1079
+ exports.ScheduleSessionDuration.displayName = 'Service.Schedule.SessionDuration';
1041
1080
  /**
1042
1081
  * Schedule namespace containing all schedule sub-components
1043
1082
  */
1044
- export var Schedule;
1083
+ var Schedule;
1045
1084
  (function (Schedule) {
1046
- Schedule.FirstSessionStart = ScheduleFirstSessionStart;
1047
- Schedule.LastSessionEnd = ScheduleLastSessionEnd;
1048
- Schedule.SessionDuration = ScheduleSessionDuration;
1049
- })(Schedule || (Schedule = {}));
1085
+ Schedule.FirstSessionStart = exports.ScheduleFirstSessionStart;
1086
+ Schedule.LastSessionEnd = exports.ScheduleLastSessionEnd;
1087
+ Schedule.SessionDuration = exports.ScheduleSessionDuration;
1088
+ })(Schedule || (exports.Schedule = Schedule = {}));
1050
1089
  /**
1051
1090
  * Displays the service default capacity with customizable rendering.
1052
1091
  * Only renders for CLASS or COURSE service types.
@@ -1065,14 +1104,14 @@ export var Schedule;
1065
1104
  * </Service.DefaultCapacity>
1066
1105
  * ```
1067
1106
  */
1068
- export const DefaultCapacity = React.forwardRef((props, ref) => {
1107
+ exports.DefaultCapacity = react_1.default.forwardRef((props, ref) => {
1069
1108
  const { asChild, children, ...rest } = props;
1070
- return (_jsx(CoreService.Info, { children: ({ type, defaultCapacity }) => {
1109
+ return ((0, jsx_runtime_1.jsx)(CoreService.Info, { children: ({ type, defaultCapacity }) => {
1071
1110
  const isClassOrCourse = type === 'CLASS' || type === 'COURSE';
1072
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceDefaultCapacity, customElement: children, customElementProps: { defaultCapacity, isClassOrCourse }, children: isClassOrCourse && defaultCapacity ? (_jsxs("span", { children: ["Max ", defaultCapacity, " participants"] })) : null }));
1111
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceDefaultCapacity, customElement: children, customElementProps: { defaultCapacity, isClassOrCourse }, children: isClassOrCourse && defaultCapacity ? ((0, jsx_runtime_1.jsxs)("span", { children: ["Max ", defaultCapacity, " participants"] })) : null }));
1073
1112
  } }));
1074
1113
  });
1075
- DefaultCapacity.displayName = 'Service.DefaultCapacity';
1114
+ exports.DefaultCapacity.displayName = 'Service.DefaultCapacity';
1076
1115
  /**
1077
1116
  * Displays whether the service is available online (conferencing enabled).
1078
1117
  * Headless component - contains zero formatting logic.
@@ -1096,26 +1135,26 @@ DefaultCapacity.displayName = 'Service.DefaultCapacity';
1096
1135
  * </Service.AvailableOnline>
1097
1136
  * ```
1098
1137
  */
1099
- export const AvailableOnline = React.forwardRef((props, ref) => {
1138
+ exports.AvailableOnline = react_1.default.forwardRef((props, ref) => {
1100
1139
  const { asChild, children, label, ...rest } = props;
1101
- return (_jsx(CoreService.Service, { children: ({ service }) => {
1140
+ return ((0, jsx_runtime_1.jsx)(CoreService.Service, { children: ({ service }) => {
1102
1141
  const availableOnline = service.conferencing?.enabled ?? false;
1103
- return (_jsx(AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": TestIds.serviceAvailableOnline, customElement: children, customElementProps: { availableOnline }, children: availableOnline && label ? _jsx("span", { children: label }) : null }));
1142
+ return ((0, jsx_runtime_1.jsx)(react_2.AsChildSlot, { ref: ref, asChild: asChild, ...rest, "data-testid": exports.TestIds.serviceAvailableOnline, customElement: children, customElementProps: { availableOnline }, children: availableOnline && label ? (0, jsx_runtime_1.jsx)("span", { children: label }) : null }));
1104
1143
  } }));
1105
1144
  });
1106
- AvailableOnline.displayName = 'Service.AvailableOnline';
1145
+ exports.AvailableOnline.displayName = 'Service.AvailableOnline';
1107
1146
  // Create Locations with nested components
1108
- export const Locations = Object.assign(LocationsBase, {
1109
- List: LocationsList,
1110
- LocationRepeater,
1147
+ exports.Locations = Object.assign(LocationsBase, {
1148
+ List: exports.LocationsList,
1149
+ LocationRepeater: exports.LocationRepeater,
1111
1150
  });
1112
1151
  // Create StaffMembers with nested components
1113
- export const StaffMembers = Object.assign(StaffMembersBase, {
1114
- List: StaffMembersList,
1115
- StaffMemberRepeater,
1152
+ exports.StaffMembers = Object.assign(StaffMembersBase, {
1153
+ List: exports.StaffMembersList,
1154
+ StaffMemberRepeater: exports.StaffMemberRepeater,
1116
1155
  });
1117
1156
  // Re-export media components under Service namespace
1118
- export const MainMedia = ServiceMediaModule.Main;
1119
- MainMedia.displayName = 'Service.MainMedia';
1120
- export const CoverMedia = ServiceMediaModule.Cover;
1121
- CoverMedia.displayName = 'Service.CoverMedia';
1157
+ exports.MainMedia = ServiceMediaModule.Main;
1158
+ exports.MainMedia.displayName = 'Service.MainMedia';
1159
+ exports.CoverMedia = ServiceMediaModule.Cover;
1160
+ exports.CoverMedia.displayName = 'Service.CoverMedia';