@riverbankcms/sdk 0.144.0 → 0.145.0
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/dist/{PreviewEditorSidebar-CQZNnFiM.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +4 -4
- package/dist/{PreviewEditorUI-DCNxnmI0.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-BJolUbr1.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +419 -348
- package/dist/{SiteChromeCustomizeContext-CKgEpoxi.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +2081 -1313
- package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
- package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
- package/dist/_dts/api/src/communications.d.ts +14 -22
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
- package/dist/_dts/api/src/endpoints.d.ts +105 -58
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
- package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
- package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/types.d.ts +2 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
- package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +24 -0
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
- package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
- package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
- package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
- package/dist/_dts/core/src/editor-state.d.ts +6 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/public-profile.d.ts +9 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +663 -241
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
- package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
- package/dist/_dts/sdk/src/client/types.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -8
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
- package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
- package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
- package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
- package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
- package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
- package/dist/client/{BookingConsentAgreement-DoAILrkN.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-X528hUTf.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +1 -1
- package/dist/client/{EventCombined.client-DSBVwq5m.mjs → EventCombined.client-DnsUeONl.mjs} +6 -6
- package/dist/client/{EventListing.client-DmFAX7Vb.mjs → EventListing.client-CNBFqJS4.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BAqXdfhq.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
- package/dist/client/{ThemedButton-BwNFVwi4.mjs → ThemedButton-LAJTNrS8.mjs} +1 -1
- package/dist/client/{accordion-DRhMdkbd.mjs → accordion-BcNF9TjX.mjs} +1 -1
- package/dist/client/{bookingForm-iJ_nCsNF.mjs → bookingForm-BUaQ3S03.mjs} +142 -50
- package/dist/client/bookings.mjs +191 -64
- package/dist/client/{carousel-D8zuffZr.mjs → carousel-CTdF6e0V.mjs} +1 -1
- package/dist/client/{cart-DeMGJViN.mjs → cart-pGtyf_XU.mjs} +3 -3
- package/dist/client/{checkout-DXc06Km2.mjs → checkout-Da9WSn7Y.mjs} +3 -3
- package/dist/client/client.mjs +1630 -816
- package/dist/client/{context-CDLCfDep.mjs → context-BFeY_Wbm.mjs} +1 -1
- package/dist/client/{dates-ClFx7Epy.mjs → dates-BhwVSxDg.mjs} +2 -2
- package/dist/client/{eventCalendar-BaGpnOGN.mjs → eventCalendar-BAtdnR4s.mjs} +9 -9
- package/dist/client/{eventCombined-ywONOx2m.mjs → eventCombined-RksA3tRC.mjs} +4 -4
- package/dist/client/{eventDetails-B2LlOTYY.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
- package/dist/client/{eventListing-CMgxWpqP.mjs → eventListing-BpJBkviM.mjs} +4 -4
- package/dist/client/{eventRegistration-BarLDNHR.mjs → eventRegistration-B18jFq_o.mjs} +8 -8
- package/dist/client/{form-BjqKaBJ7.mjs → form-Dodt8Y8t.mjs} +3 -3
- package/dist/client/{headerSection-CP4XDwz1.mjs → headerSection-B0qj9ttg.mjs} +3 -3
- package/dist/client/hooks.mjs +550 -99
- package/dist/client/{locationMap-C5gW-d-w.mjs → locationMap-gn-iMk7a.mjs} +3 -3
- package/dist/client/{newsletterForm-afXlVSA0.mjs → newsletterForm-oByLdFkr.mjs} +26 -5
- package/dist/client/{pricing-Bl1CAl28.mjs → pricing-BOU0_Hai.mjs} +1 -1
- package/dist/client/{productDetail-CvQ3jWQe.mjs → productDetail-D9v1zH2j.mjs} +3 -3
- package/dist/client/{productList-U874PGO7.mjs → productList-D-mItx1n.mjs} +3 -3
- package/dist/client/{propsDecoder-DPXtCZWP.mjs → propsDecoder-C3TP_z4x.mjs} +72 -33
- package/dist/client/rendering/client.mjs +900 -266
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +1637 -788
- package/dist/client/{routeIslandApiConfig-NGYiUWXu.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +1 -1
- package/dist/client/{scrollToBlock-0-C3DVhK.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
- package/dist/client/{shop-BXjXhM9P.mjs → shop-Dufw7N7o.mjs} +7 -7
- package/dist/client/{shop-commerce-BZ6UlWJ7.mjs → shop-commerce-gklw_hLF.mjs} +6 -6
- package/dist/client/{shop-commerce-store-DlSBXb3D.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
- package/dist/client/{shopShared-kkEOiLPA.mjs → shopShared-B5nyA41S.mjs} +4 -4
- package/dist/client/{useEventFilters-zvnnE1ro.mjs → useEventFilters-CLL829vy.mjs} +6 -6
- package/dist/preview-next/before-render.mjs +147 -77
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +147 -77
- package/dist/preview-next/middleware.mjs +147 -77
- package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
- package/dist/{sdk-runtime-DFJlQt3q.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
- package/dist/{separator-o8GHb1xh.mjs → separator-EvdCAn4V.mjs} +1 -1
- package/dist/server/components.mjs +1727 -991
- package/dist/server/config-validation.mjs +537 -97
- package/dist/server/config.mjs +537 -97
- package/dist/server/data.mjs +549 -98
- package/dist/server/index.mjs +159 -81
- package/dist/server/next.mjs +1460 -748
- package/dist/server/page-converter.mjs +384 -54
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1712 -973
- package/dist/server/rendering.mjs +1748 -1001
- package/dist/server/routing.mjs +624 -131
- package/dist/server/server.mjs +554 -138
- package/dist/server/theme-bridge.mjs +1192 -27
- package/dist/server/theme.mjs +6 -4
- package/package.json +2 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { i as textColorStyle } from "./colorStyles-CuJBiS-1.mjs";
|
|
2
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
3
|
-
import { n as ThemedButtonLink } from "./ThemedButton-
|
|
2
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-C3TP_z4x.mjs";
|
|
3
|
+
import { n as ThemedButtonLink } from "./ThemedButton-LAJTNrS8.mjs";
|
|
4
4
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
5
|
-
import { t as LeafletStaticMap } from "./LeafletStaticMap-
|
|
5
|
+
import { t as LeafletStaticMap } from "./LeafletStaticMap-C7higg52.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region ../core/src/location.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { O as clsx } from "./colorStyles-CuJBiS-1.mjs";
|
|
3
|
-
import { Jt as parseMailingListVisitorSelection, t as defineIslandPropsDecoder, yn as assertNever$1, zt as assertNever } from "./propsDecoder-
|
|
4
|
-
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-
|
|
3
|
+
import { Jt as parseMailingListVisitorSelection, t as defineIslandPropsDecoder, yn as assertNever$1, zt as assertNever } from "./propsDecoder-C3TP_z4x.mjs";
|
|
4
|
+
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-BFeY_Wbm.mjs";
|
|
5
5
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
6
|
-
import { t as ThemedButton } from "./ThemedButton-
|
|
6
|
+
import { t as ThemedButton } from "./ThemedButton-LAJTNrS8.mjs";
|
|
7
7
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
8
8
|
import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
|
|
9
9
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
@@ -65,6 +65,16 @@ function getNewsletterSubmissionFormError(state) {
|
|
|
65
65
|
}
|
|
66
66
|
//#endregion
|
|
67
67
|
//#region ../blocks/src/system/runtime/nodes/newsletter-form.submission.ts
|
|
68
|
+
/**
|
|
69
|
+
* Logs a refusal with its reason so a QA session can tell the cases apart in
|
|
70
|
+
* the console, since the visitor-facing copy deliberately does not.
|
|
71
|
+
*/
|
|
72
|
+
function reportNewsletterSignupRefusal(reason, detail = {}) {
|
|
73
|
+
console.warn("[newsletter-form] Signup refused before sending", {
|
|
74
|
+
reason,
|
|
75
|
+
...detail
|
|
76
|
+
});
|
|
77
|
+
}
|
|
68
78
|
function mapNewsletterFormFieldsToSubscriberInput(fields) {
|
|
69
79
|
return {
|
|
70
80
|
email: readSubmittedText(fields.email),
|
|
@@ -85,7 +95,7 @@ function resolveNewsletterSubmitTarget(input) {
|
|
|
85
95
|
case "signed-footer-source": return publishedSourceTarget(input.sourceRef);
|
|
86
96
|
case "preview": return {
|
|
87
97
|
tag: "unavailable",
|
|
88
|
-
reason: "
|
|
98
|
+
reason: "preview_only_source"
|
|
89
99
|
};
|
|
90
100
|
default: return assertNever$1(input);
|
|
91
101
|
}
|
|
@@ -144,13 +154,23 @@ function NewsletterFormClient({ render }) {
|
|
|
144
154
|
}
|
|
145
155
|
const submitTarget = resolveNewsletterSubmitTarget(render.hydration.target);
|
|
146
156
|
if (submitTarget.tag === "unavailable") {
|
|
157
|
+
reportNewsletterSignupRefusal(submitTarget.reason, { target: render.hydration.target });
|
|
158
|
+
dispatchSubmission({
|
|
159
|
+
type: "failed",
|
|
160
|
+
error: newsletterFormError(SIGNUPS_PAUSED_MESSAGE)
|
|
161
|
+
});
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (render.hydration.setupRevision === null) {
|
|
165
|
+
reportNewsletterSignupRefusal("setup_not_configured");
|
|
147
166
|
dispatchSubmission({
|
|
148
167
|
type: "failed",
|
|
149
168
|
error: newsletterFormError(SIGNUPS_PAUSED_MESSAGE)
|
|
150
169
|
});
|
|
151
170
|
return;
|
|
152
171
|
}
|
|
153
|
-
if (render.
|
|
172
|
+
if (render.display.availability === "unavailable") {
|
|
173
|
+
reportNewsletterSignupRefusal("destination_unavailable", { setupRevision: render.hydration.setupRevision });
|
|
154
174
|
dispatchSubmission({
|
|
155
175
|
type: "failed",
|
|
156
176
|
error: newsletterFormError(SIGNUPS_PAUSED_MESSAGE)
|
|
@@ -160,6 +180,7 @@ function NewsletterFormClient({ render }) {
|
|
|
160
180
|
const selection = readVisitorSelection(formData, render.hydration);
|
|
161
181
|
const selectionError = visitorSelectionError(selection);
|
|
162
182
|
if (selectionError) {
|
|
183
|
+
if (selection.tag === "unusable") reportNewsletterSignupRefusal("choices_unusable", { choiceProvider: render.hydration.choiceProvider });
|
|
163
184
|
dispatchSubmission({
|
|
164
185
|
type: "failed",
|
|
165
186
|
error: selectionError
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ln as formatBookingPriceDisplay, pn as publicEventPricingDisplay, un as formatEventPricing } from "./propsDecoder-
|
|
1
|
+
import { ln as formatBookingPriceDisplay, pn as publicEventPricingDisplay, un as formatEventPricing } from "./propsDecoder-C3TP_z4x.mjs";
|
|
2
2
|
//#region ../blocks/src/system/runtime/nodes/events/domain/capacity.ts
|
|
3
3
|
/**
|
|
4
4
|
* Compute remaining spots for an event from `availableSpots` with a fallback
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { r as ProductDetailController } from "./shop-commerce-
|
|
3
|
-
import { t as mountShopBlockIsland } from "./shopShared-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-C3TP_z4x.mjs";
|
|
2
|
+
import { r as ProductDetailController } from "./shop-commerce-gklw_hLF.mjs";
|
|
3
|
+
import { t as mountShopBlockIsland } from "./shopShared-B5nyA41S.mjs";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
//#region ../blocks/src/system/runtime/nodes/product-detail.client.tsx
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { i as ProductListController } from "./shop-commerce-
|
|
3
|
-
import { t as mountShopBlockIsland } from "./shopShared-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-C3TP_z4x.mjs";
|
|
2
|
+
import { i as ProductListController } from "./shop-commerce-gklw_hLF.mjs";
|
|
3
|
+
import { t as mountShopBlockIsland } from "./shopShared-B5nyA41S.mjs";
|
|
4
4
|
import "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
//#region ../blocks/src/system/runtime/nodes/product-list.client.tsx
|
|
@@ -282,7 +282,7 @@ function parseEventPageSurfaceDestinationMode(value) {
|
|
|
282
282
|
return value === "cms-managed" || value === "system-managed" ? value : void 0;
|
|
283
283
|
}
|
|
284
284
|
function parseEventPageSurfaceSubject(value) {
|
|
285
|
-
if (!isRecord$
|
|
285
|
+
if (!isRecord$9(value)) return err$1({ kind: "notObject" });
|
|
286
286
|
switch (value.kind) {
|
|
287
287
|
case "eventSeries": {
|
|
288
288
|
const eventSeriesId = parseEventSeriesId(value.eventSeriesId);
|
|
@@ -337,7 +337,7 @@ function parseEventSeriesIdList(values) {
|
|
|
337
337
|
}
|
|
338
338
|
return ok$1(parsed);
|
|
339
339
|
}
|
|
340
|
-
function isRecord$
|
|
340
|
+
function isRecord$9(value) {
|
|
341
341
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
342
342
|
}
|
|
343
343
|
//#endregion
|
|
@@ -715,7 +715,7 @@ const DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks — you're on the list.";
|
|
|
715
715
|
//#endregion
|
|
716
716
|
//#region ../core/src/mailing-list-setup-parser.ts
|
|
717
717
|
function parseMailingListGlobalForm(value) {
|
|
718
|
-
if (!isRecord$
|
|
718
|
+
if (!isRecord$8(value)) return formError("shape");
|
|
719
719
|
const fields = parseGlobalFields(value.fields);
|
|
720
720
|
if (fields === null) return formError("fields");
|
|
721
721
|
if (typeof value.includeOptionalPhone !== "boolean") return formError("includeOptionalPhone");
|
|
@@ -734,7 +734,7 @@ function parseMailingListGlobalForm(value) {
|
|
|
734
734
|
});
|
|
735
735
|
}
|
|
736
736
|
function parseGlobalFields(value) {
|
|
737
|
-
if (!isRecord$
|
|
737
|
+
if (!isRecord$8(value) || typeof value.preset !== "string") return null;
|
|
738
738
|
switch (value.preset) {
|
|
739
739
|
case "emailOnly": return { preset: "emailOnly" };
|
|
740
740
|
case "emailName": return isRequirement(value.name) ? {
|
|
@@ -771,7 +771,7 @@ function parseOptionalString(value) {
|
|
|
771
771
|
function isRequirement(value) {
|
|
772
772
|
return value === "required" || value === "optional";
|
|
773
773
|
}
|
|
774
|
-
function isRecord$
|
|
774
|
+
function isRecord$8(value) {
|
|
775
775
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
776
776
|
}
|
|
777
777
|
function formError(field) {
|
|
@@ -823,7 +823,7 @@ function planMailingListChoicePresentation(targeting) {
|
|
|
823
823
|
//#endregion
|
|
824
824
|
//#region ../core/src/mailing-list-runtime.ts
|
|
825
825
|
function parseMailingListRuntimeContext(value) {
|
|
826
|
-
if (!isRecord$
|
|
826
|
+
if (!isRecord$7(value)) return invalidRuntimeContext();
|
|
827
827
|
if (value.tag === "not_configured") return ok$1({ tag: "not_configured" });
|
|
828
828
|
if (value.tag !== "configured") return invalidRuntimeContext();
|
|
829
829
|
const revision = parseMailingListSetupRevision(value.revision);
|
|
@@ -838,7 +838,7 @@ function parseMailingListRuntimeContext(value) {
|
|
|
838
838
|
});
|
|
839
839
|
}
|
|
840
840
|
function parseRuntimeProvider(value) {
|
|
841
|
-
if (!isRecord$
|
|
841
|
+
if (!isRecord$7(value)) return null;
|
|
842
842
|
switch (value.provider) {
|
|
843
843
|
case "native": return parseNativeRuntimeProvider(value);
|
|
844
844
|
case "brevo": return parseBrevoRuntimeProvider(value);
|
|
@@ -870,7 +870,7 @@ function parseMailchimpRuntimeProvider(value) {
|
|
|
870
870
|
if (defaultAudienceId === null) return null;
|
|
871
871
|
const audiences = [];
|
|
872
872
|
for (const audience of value.audiences) {
|
|
873
|
-
if (!isRecord$
|
|
873
|
+
if (!isRecord$7(audience)) return null;
|
|
874
874
|
const id = parseMailchimpAudienceId(audience.id);
|
|
875
875
|
const name = parseName(audience.name);
|
|
876
876
|
if (id === null || name === null || !Array.isArray(audience.interests)) return null;
|
|
@@ -891,7 +891,7 @@ function parseMailchimpRuntimeProvider(value) {
|
|
|
891
891
|
function parseMailchimpInterests(value) {
|
|
892
892
|
const interests = [];
|
|
893
893
|
for (const interest of value) {
|
|
894
|
-
if (!isRecord$
|
|
894
|
+
if (!isRecord$7(interest)) return null;
|
|
895
895
|
const id = parseMailchimpInterestId(interest.id);
|
|
896
896
|
const name = parseName(interest.name);
|
|
897
897
|
const categoryName = parseName(interest.categoryName);
|
|
@@ -908,7 +908,7 @@ function parseNamedItems(value, parseId) {
|
|
|
908
908
|
if (!Array.isArray(value)) return null;
|
|
909
909
|
const items = [];
|
|
910
910
|
for (const item of value) {
|
|
911
|
-
if (!isRecord$
|
|
911
|
+
if (!isRecord$7(item)) return null;
|
|
912
912
|
const id = parseId(item.id);
|
|
913
913
|
const name = parseName(item.name);
|
|
914
914
|
if (id === null || name === null) return null;
|
|
@@ -924,7 +924,7 @@ function parseName(value) {
|
|
|
924
924
|
const name = value.trim();
|
|
925
925
|
return name.length > 0 ? name : null;
|
|
926
926
|
}
|
|
927
|
-
function isRecord$
|
|
927
|
+
function isRecord$7(value) {
|
|
928
928
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
929
929
|
}
|
|
930
930
|
function invalidRuntimeContext() {
|
|
@@ -933,10 +933,10 @@ function invalidRuntimeContext() {
|
|
|
933
933
|
//#endregion
|
|
934
934
|
//#region ../core/src/mailing-list-targeting-parser.ts
|
|
935
935
|
function parseMailingListPlacementTargeting(value) {
|
|
936
|
-
if (!isRecord$
|
|
936
|
+
if (!isRecord$6(value)) return targetingError("shape");
|
|
937
937
|
if (value.mode === "default") return ok$1({ mode: "default" });
|
|
938
938
|
if (value.mode !== "custom") return targetingError("mode");
|
|
939
|
-
if (!isRecord$
|
|
939
|
+
if (!isRecord$6(value.selection)) return targetingError("selection");
|
|
940
940
|
switch (value.provider) {
|
|
941
941
|
case "native": return parseNativeTargeting(value.selection);
|
|
942
942
|
case "brevo": return parseBrevoTargeting(value.selection);
|
|
@@ -945,7 +945,7 @@ function parseMailingListPlacementTargeting(value) {
|
|
|
945
945
|
}
|
|
946
946
|
}
|
|
947
947
|
function parseMailingListVisitorSelection(value) {
|
|
948
|
-
if (!isRecord$
|
|
948
|
+
if (!isRecord$6(value)) return visitorSelectionError("shape");
|
|
949
949
|
switch (value.provider) {
|
|
950
950
|
case "native": {
|
|
951
951
|
const topicIds = parseVisitorIds(value.topicIds, parseNewsletterListId);
|
|
@@ -1078,7 +1078,7 @@ function parseVisitorIds(value, parseId) {
|
|
|
1078
1078
|
}
|
|
1079
1079
|
return parsed;
|
|
1080
1080
|
}
|
|
1081
|
-
function isRecord$
|
|
1081
|
+
function isRecord$6(value) {
|
|
1082
1082
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1083
1083
|
}
|
|
1084
1084
|
function targetingError(field) {
|
|
@@ -1375,7 +1375,7 @@ function assertNever$1(value, message) {
|
|
|
1375
1375
|
/**
|
|
1376
1376
|
* Strict record guard: excludes null, primitives, and arrays.
|
|
1377
1377
|
*/
|
|
1378
|
-
function isRecord$
|
|
1378
|
+
function isRecord$5(value) {
|
|
1379
1379
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1380
1380
|
}
|
|
1381
1381
|
//#endregion
|
|
@@ -1630,12 +1630,12 @@ function resolveBookingSiteId(siteId, form) {
|
|
|
1630
1630
|
return siteId || form?.siteId || "";
|
|
1631
1631
|
}
|
|
1632
1632
|
function normalizeBookingFormConfig(form) {
|
|
1633
|
-
if (!isRecord$
|
|
1633
|
+
if (!isRecord$4(form)) return null;
|
|
1634
1634
|
const id = readNonEmptyString(form.id);
|
|
1635
1635
|
const name = readNonEmptyString(form.name);
|
|
1636
1636
|
if (!id || !name) return null;
|
|
1637
|
-
const schemaSource = isRecord$
|
|
1638
|
-
const settingsSource = isRecord$
|
|
1637
|
+
const schemaSource = isRecord$4(form.schema) ? form.schema : isRecord$4(form.schemaJson) ? form.schemaJson : null;
|
|
1638
|
+
const settingsSource = isRecord$4(form.settings) ? form.settings : isRecord$4(form.settingsJson) ? form.settingsJson : null;
|
|
1639
1639
|
return {
|
|
1640
1640
|
id,
|
|
1641
1641
|
name,
|
|
@@ -1655,8 +1655,8 @@ function normalizeBookingServices(services) {
|
|
|
1655
1655
|
};
|
|
1656
1656
|
if (!services) return [];
|
|
1657
1657
|
if (Array.isArray(services)) return services.filter(isBookingFormService).map(normalizeService);
|
|
1658
|
-
if (isRecord$
|
|
1659
|
-
return isRecord$
|
|
1658
|
+
if (isRecord$4(services) && "services" in services) return Array.isArray(services.services) ? services.services.filter(isBookingFormService).map(normalizeService) : [];
|
|
1659
|
+
return isRecord$4(services) ? Object.values(services).filter(isBookingFormService).map(normalizeService) : [];
|
|
1660
1660
|
}
|
|
1661
1661
|
function normalizeBookingSchema(value) {
|
|
1662
1662
|
if (!value) return void 0;
|
|
@@ -1667,7 +1667,7 @@ function normalizeBookingSchema(value) {
|
|
|
1667
1667
|
};
|
|
1668
1668
|
}
|
|
1669
1669
|
function readBookingFormField(value) {
|
|
1670
|
-
if (!isRecord$
|
|
1670
|
+
if (!isRecord$4(value)) return null;
|
|
1671
1671
|
const id = readNonEmptyString(value.id);
|
|
1672
1672
|
const label = readNonEmptyString(value.label);
|
|
1673
1673
|
const type = readBookingFieldType(value.type);
|
|
@@ -1710,7 +1710,7 @@ function readBookingFieldOptions(value) {
|
|
|
1710
1710
|
return options.length > 0 ? options : void 0;
|
|
1711
1711
|
}
|
|
1712
1712
|
function readBookingFieldOption(value) {
|
|
1713
|
-
if (!isRecord$
|
|
1713
|
+
if (!isRecord$4(value)) return null;
|
|
1714
1714
|
const optionValue = readNonEmptyString(value.value);
|
|
1715
1715
|
const label = readNonEmptyString(value.label);
|
|
1716
1716
|
return optionValue && label ? {
|
|
@@ -1730,7 +1730,7 @@ function normalizeBookingSettings(value) {
|
|
|
1730
1730
|
};
|
|
1731
1731
|
}
|
|
1732
1732
|
function isBookingFormService(value) {
|
|
1733
|
-
return isRecord$
|
|
1733
|
+
return isRecord$4(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string" && (value.consent === void 0 || blockBookingConsentSchema.safeParse(value.consent).success);
|
|
1734
1734
|
}
|
|
1735
1735
|
function collectBookingCustomFields(data) {
|
|
1736
1736
|
const customFields = {};
|
|
@@ -1780,7 +1780,7 @@ function readStringArray(value) {
|
|
|
1780
1780
|
const strings = value.filter((item) => typeof item === "string");
|
|
1781
1781
|
return strings.length > 0 ? strings : void 0;
|
|
1782
1782
|
}
|
|
1783
|
-
function isRecord$
|
|
1783
|
+
function isRecord$4(value) {
|
|
1784
1784
|
return typeof value === "object" && value !== null;
|
|
1785
1785
|
}
|
|
1786
1786
|
function getBookingServicePaymentSelectionMode(service) {
|
|
@@ -1974,6 +1974,31 @@ function getBookingSuccessMessage(successMessage) {
|
|
|
1974
1974
|
return successMessage?.trim() || "Your appointment has been booked! Check your email for confirmation.";
|
|
1975
1975
|
}
|
|
1976
1976
|
//#endregion
|
|
1977
|
+
//#region ../blocks/src/system/runtime/nodes/booking-form.service-categories.ts
|
|
1978
|
+
function isRecord$3(value) {
|
|
1979
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1980
|
+
}
|
|
1981
|
+
function readCategory(value) {
|
|
1982
|
+
if (!isRecord$3(value)) return [];
|
|
1983
|
+
const { id, name, description } = value;
|
|
1984
|
+
if (typeof id !== "string" || id.trim() === "" || typeof name !== "string") return [];
|
|
1985
|
+
return [{
|
|
1986
|
+
id,
|
|
1987
|
+
name,
|
|
1988
|
+
description: typeof description === "string" ? description : null
|
|
1989
|
+
}];
|
|
1990
|
+
}
|
|
1991
|
+
/**
|
|
1992
|
+
* The ordered service categories carried by a catalogue-shaped services
|
|
1993
|
+
* source (`{ services, categories }`). Every other shape has none, which
|
|
1994
|
+
* reads as a site without categories. Order is preserved: the database owns
|
|
1995
|
+
* it.
|
|
1996
|
+
*/
|
|
1997
|
+
function normalizeBookingServiceCategories(services) {
|
|
1998
|
+
if (!isRecord$3(services) || !Array.isArray(services.categories)) return [];
|
|
1999
|
+
return services.categories.flatMap(readCategory);
|
|
2000
|
+
}
|
|
2001
|
+
//#endregion
|
|
1977
2002
|
//#region ../logger/src/noop.ts
|
|
1978
2003
|
const noop = () => {};
|
|
1979
2004
|
const logger = {
|
|
@@ -2124,11 +2149,20 @@ const bookingServiceSchema = z.object({
|
|
|
2124
2149
|
priceCurrency: z.string().nullable().optional(),
|
|
2125
2150
|
paymentTerms: blockBookingPaymentTermsSchema.optional(),
|
|
2126
2151
|
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional(),
|
|
2127
|
-
consent: blockBookingConsentSchema.optional()
|
|
2152
|
+
consent: blockBookingConsentSchema.optional(),
|
|
2153
|
+
categoryId: z.string().nullable().optional()
|
|
2154
|
+
});
|
|
2155
|
+
const bookingServiceCategorySchema = z.object({
|
|
2156
|
+
id: z.string(),
|
|
2157
|
+
name: z.string(),
|
|
2158
|
+
description: z.string().nullable()
|
|
2128
2159
|
});
|
|
2129
2160
|
const bookingServicesSourceSchema = z.union([
|
|
2130
2161
|
z.array(bookingServiceSchema),
|
|
2131
|
-
z.object({
|
|
2162
|
+
z.object({
|
|
2163
|
+
services: z.array(bookingServiceSchema).optional(),
|
|
2164
|
+
categories: z.array(bookingServiceCategorySchema).optional()
|
|
2165
|
+
}),
|
|
2132
2166
|
z.record(z.string(), bookingServiceSchema)
|
|
2133
2167
|
]);
|
|
2134
2168
|
const bookingConfigSchema = z.object({
|
|
@@ -2181,6 +2215,7 @@ const bookingHydrationSchema = z.object({
|
|
|
2181
2215
|
rebookContext: z.object({ kind: z.literal("portal_rebook") }).nullable().optional(),
|
|
2182
2216
|
form: bookingConfigSchema.nullable(),
|
|
2183
2217
|
services: z.array(bookingServiceSchema),
|
|
2218
|
+
serviceCategories: z.array(bookingServiceCategorySchema).optional(),
|
|
2184
2219
|
spamProtectionEnabled: z.boolean().optional()
|
|
2185
2220
|
});
|
|
2186
2221
|
const bookingRenderSchema = z.object({
|
|
@@ -2227,6 +2262,7 @@ const bookingFormInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
2227
2262
|
rebookContext: source.rebookContext ?? null,
|
|
2228
2263
|
form,
|
|
2229
2264
|
services,
|
|
2265
|
+
serviceCategories: normalizeBookingServiceCategories(source.services),
|
|
2230
2266
|
spamProtectionEnabled: source.spamProtectionEnabled
|
|
2231
2267
|
}
|
|
2232
2268
|
};
|
|
@@ -5725,16 +5761,18 @@ const themeV2RuntimeStyleFieldNames = [
|
|
|
5725
5761
|
"_frameStyles",
|
|
5726
5762
|
"_sectionStyles",
|
|
5727
5763
|
"_containerStyles",
|
|
5728
|
-
"_cardStyles"
|
|
5729
|
-
"_transitionStyles",
|
|
5730
|
-
"styleGroup"
|
|
5764
|
+
"_cardStyles"
|
|
5731
5765
|
];
|
|
5732
5766
|
const themeV2BlockSpecificRawStyleFieldNames = [
|
|
5733
5767
|
"_contentCardStyles",
|
|
5734
5768
|
"_heroLayoutStyles",
|
|
5735
5769
|
"_textCardStyles"
|
|
5736
5770
|
];
|
|
5737
|
-
const themeV2NormalEditorRawStyleFieldNames = [
|
|
5771
|
+
const themeV2NormalEditorRawStyleFieldNames = [
|
|
5772
|
+
...themeV2RuntimeStyleFieldNames,
|
|
5773
|
+
...themeV2BlockSpecificRawStyleFieldNames,
|
|
5774
|
+
"styleGroup"
|
|
5775
|
+
];
|
|
5738
5776
|
new Set(themeV2NormalEditorRawStyleFieldNames);
|
|
5739
5777
|
[...themeV2RuntimeStyleFieldNames, ...themeV2BlockSpecificRawStyleFieldNames];
|
|
5740
5778
|
const pageDesignEditorBackgroundOverrideOwner = "page-design-editor";
|
|
@@ -8628,7 +8666,8 @@ const siteOptionSources = [
|
|
|
8628
8666
|
"eventCategories",
|
|
8629
8667
|
"eventSeries",
|
|
8630
8668
|
"venues",
|
|
8631
|
-
"staffMembers"
|
|
8669
|
+
"staffMembers",
|
|
8670
|
+
"appointmentServiceCategories"
|
|
8632
8671
|
];
|
|
8633
8672
|
const mediaDeliverySchema = z.object({
|
|
8634
8673
|
sizes: z.string().optional(),
|
|
@@ -12733,4 +12772,4 @@ function defineIslandPropsDecoder(kind) {
|
|
|
12733
12772
|
};
|
|
12734
12773
|
}
|
|
12735
12774
|
//#endregion
|
|
12736
|
-
export { addDays as $, formatBookingInstant as $t, resolveEventRegistrationScopedEvents as A, resolveBookingSiteId as At, calendarWindowPageSchema as B, clearWorkflowFeedback as Bt, resolveRegistrationTarget as C, getBookingServiceSlidingScale as Ct, getWizardStepsForContext as D, prepareBookingSubmission as Dt, getStepNumber as E, parseBookingCurrencyInputToCents as Et, calendarMonthKey as F, BOOKING_FORM_DATA_RESERVED_KEYS as Ft, buildEventRuntimeFilters as G, reportWorkflowSuccess as Gt, resolveCalendarReadProfile as H, ok as Ht, calendarPageResponseError as I, isBookingRequirementConsentFieldId as It, normalizeCsvString as J, parseMailingListVisitorSelection as Jt, getEventRuntimeFiltersKey as K, CANCELLED_SESSION_STATUS as Kt, calendarQueryKey as L, RichTextDocSchema as Lt, isSemanticSpacing as M, toSelectedCollectionOptionKind as Mt, resolveSpacing as N, projectSelectedAppointmentConsentIntoForm as Nt, buildEventCalendarListingRender as O, resolveAppointmentCheckoutVerificationState as Ot, calendarMonthDate as P, resolveSelectedAppointmentConsent as Pt, MONTH_NAMES as Q, formatBookingDateTime as Qt, calendarWindowBounds as R, isRecord$
|
|
12775
|
+
export { addDays as $, formatBookingInstant as $t, resolveEventRegistrationScopedEvents as A, resolveBookingSiteId as At, calendarWindowPageSchema as B, clearWorkflowFeedback as Bt, resolveRegistrationTarget as C, getBookingServiceSlidingScale as Ct, getWizardStepsForContext as D, prepareBookingSubmission as Dt, getStepNumber as E, parseBookingCurrencyInputToCents as Et, calendarMonthKey as F, BOOKING_FORM_DATA_RESERVED_KEYS as Ft, buildEventRuntimeFilters as G, reportWorkflowSuccess as Gt, resolveCalendarReadProfile as H, ok as Ht, calendarPageResponseError as I, isBookingRequirementConsentFieldId as It, normalizeCsvString as J, parseMailingListVisitorSelection as Jt, getEventRuntimeFiltersKey as K, CANCELLED_SESSION_STATUS as Kt, calendarQueryKey as L, RichTextDocSchema as Lt, isSemanticSpacing as M, toSelectedCollectionOptionKind as Mt, resolveSpacing as N, projectSelectedAppointmentConsentIntoForm as Nt, buildEventCalendarListingRender as O, resolveAppointmentCheckoutVerificationState as Ot, calendarMonthDate as P, resolveSelectedAppointmentConsent as Pt, MONTH_NAMES as Q, formatBookingDateTime as Qt, calendarWindowBounds as R, isRecord$5 as Rt, resolveEventRequiresPayment as S, getBookingRedirectStateFromLocation as St, WIZARD_STEPS as T, isBookingServiceSlidingAmountInRange as Tt, createHostedBlockApiConfig as U, okWith as Ut, planCalendarMonthRanges as V, err as Vt, getBlockApiReadStage as W, reportWorkflowError as Wt, getCardOrientation as X, formatBookingDate as Xt, normalizeOptionalId as Y, addLocalScheduleDays as Yt, getContainerClass as Z, formatBookingDateParts as Zt, toRegistrationEvents as _, formatCurrencyAmount as _n, normalizeCardRole as _t, buildProductDetailDisplay as a, resolveBookingTimeZoneId as an, getWeekCalendarDays as at, findPreSelectedEvent as b, formatBookingCentsAsCurrencyInput as bt, EMPTY_COMMERCE_CART_STATE as c, toScheduledBookingDateTime as cn, shiftCalendarAnchorDate as ct, deriveCommerceCheckoutState as d, isPublicEventPricingOptionDisplayable as dn, boxBackgroundSchema as dt, formatBookingTime as en, addMonths as et, parseStoredCommerceCartState as f, publicEventPricingCurrency as fn, isCssColorLiteral as ft, getRegistrationStartAt as g, publicEventPricingType as gn, themeButtonVariantClassNames as gt, buildEventRegistrationDisplayFromScopedEvents as h, publicEventPricingStrategy as hn, themeButtonSizeClassName as ht, buildProductCardDisplay as i, parseBookingLocalDate as in, getOrderedDayNames as it, SEMANTIC_SPACING_VALUES as j, resolveDefaultBookingServiceId as jt, staticHeaderChromeRuntime as k, resolveBookingPaymentStep as kt, buildPassCartItem as l, formatBookingPriceDisplay as ln, resolveRuntimeEventDestination as lt, reduceCommerceCart as m, publicEventPricingOptions as mn, resolveTokenOrCssColorValue as mt, getShopDisplayForItems as n, getBookingLocalDateKey as nn, formatDateKey as nt, formatCommercePrice as o, toBookingTimeZone as on, isSameCalendarDay as ot, productItemKey as p, publicEventPricingDisplay as pn, resolveOnColorForThemeToken as pt, normalizeCsvIds as q, resolveWholeSeriesBookingPhase as qt, buildCartDisplay as r, getLocalScheduleDate as rn, getDayOfWeek as rt, formatInterval as s, toScheduledBookingDateRange as sn, isToday as st, defineIslandPropsDecoder as t, formatLocalScheduleDate as tn, buildCalendarViewport as tt, buildProductCartItem as u, formatEventPricing as un, groupPublicEventsByRun as ut, toWholeSeriesRegistrationEvents as v, parseCurrencyCode as vn, logger as vt, toRegistrationRequestSubject as w, getBookingSuccessMessage as wt, resolveDiscountContext as x, formatBookingSubmissionPreparationError as xt, findEventByOccurrenceId as y, assertNever$2 as yn, deriveBookingFormViewState as yt, calendarWindowMonths as z, assertNever$1 as zt };
|