@riverbankcms/sdk 0.138.0 → 0.140.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/README.md +12 -16
- package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-CUyTzd5z.mjs} +4 -4
- package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +62 -28
- package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +8467 -5616
- package/dist/_dts/ai/src/contracts/proposals.d.ts +264 -495
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +221 -242
- package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
- package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/authSubmission.d.ts +46 -0
- package/dist/_dts/api/src/billing.d.ts +18 -7
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
- package/dist/_dts/api/src/blocks.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
- package/dist/_dts/api/src/communications.d.ts +0 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +16 -4
- package/dist/_dts/api/src/endpoints.d.ts +275 -167
- package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
- package/dist/_dts/api/src/footerSettings.d.ts +10 -10
- package/dist/_dts/api/src/index.d.ts +11 -10
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
- package/dist/_dts/api/src/mailingListIntegration.d.ts +123 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
- package/dist/_dts/api/src/navigation/types.d.ts +1 -1
- package/dist/_dts/api/src/navigation.d.ts +1 -26
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
- package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
- package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +14 -6
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +9 -49
- package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
- package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
- package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
- package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +5 -32
- package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +46 -46
- package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +9 -34
- package/dist/_dts/api/src/siteOnboarding.d.ts +84 -228
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +3 -13
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/siteSettings.d.ts +38 -6
- package/dist/_dts/api/src/types.d.ts +78 -77
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
- package/dist/_dts/billing/src/membership/index.d.ts +17 -7
- package/dist/_dts/billing/src/plans/display.d.ts +15 -0
- package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
- package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
- package/dist/_dts/billing/src/plans/types.d.ts +4 -7
- package/dist/_dts/billing/src/site-arrangements.d.ts +14 -3
- package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
- package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
- package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
- package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
- package/dist/_dts/blocks/src/client.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -20
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +9 -0
- package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
- package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
- package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/index.d.ts +4 -4
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
- package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
- package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
- package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
- package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +78 -30
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +39 -15
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +94 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +12 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +62 -33
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +14 -31
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +32 -16
- package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
- package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +4 -2
- package/dist/_dts/core/src/branded.d.ts +0 -8
- package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
- package/dist/_dts/core/src/index.d.ts +10 -1
- package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +142 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +224 -0
- package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
- package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
- package/dist/_dts/core/src/participants.d.ts +2 -29
- package/dist/_dts/core/src/public-experience.d.ts +4 -0
- package/dist/_dts/core/src/public-profile.d.ts +35 -1
- package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
- package/dist/_dts/core/src/site-route-target.d.ts +9 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +797 -954
- package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +12 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +14 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +7 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
- package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
- package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
- package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
- package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
- package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
- package/dist/_dts/sdk/src/constants.d.ts +3 -3
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
- package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
- package/dist/_dts/sdk/src/next/index.d.ts +4 -4
- package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +44 -33
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +5 -0
- package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -0
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +8 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
- package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
- package/dist/_dts/theme-core/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
- package/dist/_dts/theme-core/src/schema.d.ts +84 -84
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
- package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
- package/dist/_dts/ui/src/pending-button.d.ts +10 -0
- package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CuKa82V4.mjs} +4 -4
- package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
- package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-LTfR1Aby.mjs} +444 -200
- package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
- package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-6HiIFxNL.mjs} +1 -1
- package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-Dlmid43H.mjs} +7 -7
- package/dist/client/bookings.mjs +368 -142
- package/dist/client/{carousel-DSmOx3ad.mjs → carousel-DmkZRRq_.mjs} +2 -2
- package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
- package/dist/client/{cart-COWeOIUk.mjs → cart-CIC24330.mjs} +3 -3
- package/dist/client/{checkout-CeysaIJK.mjs → checkout-D1Zw9imo.mjs} +3 -3
- package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
- package/dist/client/client.mjs +5017 -2258
- package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
- package/dist/client/{context-DBzX85Xc.mjs → context-Cy1OayHx.mjs} +9 -21
- package/dist/client/{dates-DCYhZBlW.mjs → dates-aDcfoLHr.mjs} +21 -3
- package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-FQxMPAjf.mjs} +81 -79
- package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
- package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
- package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-B3XxBf3i.mjs} +3 -3
- package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-I6EaokFD.mjs} +543 -155
- package/dist/client/{form-ClfpasVT.mjs → form-BbWckVWY.mjs} +3 -3
- package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
- package/dist/client/hooks.mjs +1685 -716
- package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CLCShvlG.mjs} +3 -3
- package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
- package/dist/client/newsletterForm-Briukxzi.mjs +444 -0
- package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Copadu-2.mjs} +1 -1
- package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-oujlRd-r.mjs} +3 -3
- package/dist/client/{productList-OTdZu8sb.mjs → productList-BRiIRUcd.mjs} +3 -3
- package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-CB2KS_ko.mjs} +706 -160
- package/dist/client/rendering/client.mjs +3161 -1226
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +4864 -1914
- package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
- package/dist/client/{shop-CP4YbDL9.mjs → shop-Vn6yNFED.mjs} +6 -6
- package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
- package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
- package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-COIeK77T.mjs} +4 -4
- package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-DzIUcS9n.mjs} +58 -11
- package/dist/preview-next/before-render.mjs +357 -175
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +357 -175
- package/dist/preview-next/middleware.mjs +357 -175
- package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-Gjb6r6vz.mjs} +357 -175
- package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-CnCLvZRv.mjs} +2 -2
- package/dist/{separator-BeqDLneQ.mjs → separator-DKDRJ1oH.mjs} +1 -1
- package/dist/server/components.mjs +3389 -1251
- package/dist/server/config-validation.mjs +2737 -1784
- package/dist/server/config.mjs +2742 -1788
- package/dist/server/data.mjs +1586 -615
- package/dist/server/index.mjs +496 -352
- package/dist/server/navigation.mjs +16 -47
- package/dist/server/next.mjs +3978 -2007
- package/dist/server/page-converter.mjs +1109 -553
- package/dist/server/prebuild.mjs +2 -3
- package/dist/server/rendering/server.mjs +4101 -1951
- package/dist/server/rendering.mjs +3416 -1259
- package/dist/server/routing.mjs +1869 -786
- package/dist/server/server.mjs +3260 -2482
- package/dist/server/theme-bridge.mjs +725 -124
- package/dist/server/theme.mjs +8 -2
- package/dist/styles/index.css +526 -68
- package/package.json +1 -1
- package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
- package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
- package/dist/client/newsletterForm-IbrHjMxy.mjs +0 -322
package/dist/server/routing.mjs
CHANGED
|
@@ -164,6 +164,7 @@ var init_block_kinds = __esmMin((() => {
|
|
|
164
164
|
"block.form",
|
|
165
165
|
"block.contact-newsletter",
|
|
166
166
|
"block.appointment-booking",
|
|
167
|
+
"block.appointment-services",
|
|
167
168
|
"block.weekly-slot-availability",
|
|
168
169
|
"block.event-registration",
|
|
169
170
|
"block.event-details",
|
|
@@ -560,13 +561,13 @@ function parseUuidBrand(value, unsafeConstructor) {
|
|
|
560
561
|
if (typeof value !== "string") return err$1({ kind: "not_string" });
|
|
561
562
|
const normalized = value.trim().toLowerCase();
|
|
562
563
|
if (normalized.length === 0) return err$1({ kind: "empty_string" });
|
|
563
|
-
if (!UUID_PATTERN.test(normalized)) return err$1({ kind: "invalid_uuid" });
|
|
564
|
+
if (!UUID_PATTERN$1.test(normalized)) return err$1({ kind: "invalid_uuid" });
|
|
564
565
|
return ok$1(unsafeConstructor(normalized));
|
|
565
566
|
}
|
|
566
|
-
var UUID_PATTERN, unsafeAsSiteId, unsafeAsApiKeyId, unsafeAsEventOfferingId, unsafeAsEventSeriesId, unsafeAsStorageBucketName, unsafeAsPositiveByteCount$1, unsafeAsPositiveSeconds, unsafeAsUserId, parseSiteId, parseApiKeyId, parseEventOfferingId, parseUserId, parseEventSeriesId;
|
|
567
|
+
var UUID_PATTERN$1, unsafeAsSiteId, unsafeAsApiKeyId, unsafeAsEventOfferingId, unsafeAsEventSeriesId, unsafeAsStorageBucketName, unsafeAsPositiveByteCount$1, unsafeAsPositiveSeconds, unsafeAsUserId, unsafeAsContentVersionId, parseSiteId, parseApiKeyId, parseEventOfferingId, parseUserId, parseContentVersionId, parseEventSeriesId;
|
|
567
568
|
var init_branded = __esmMin((() => {
|
|
568
569
|
init_result();
|
|
569
|
-
UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
570
|
+
UUID_PATTERN$1 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
570
571
|
unsafeAsSiteId = (id) => id;
|
|
571
572
|
unsafeAsApiKeyId = (id) => id;
|
|
572
573
|
unsafeAsEventOfferingId = (id) => id;
|
|
@@ -575,10 +576,12 @@ var init_branded = __esmMin((() => {
|
|
|
575
576
|
unsafeAsPositiveByteCount$1 = (value) => value;
|
|
576
577
|
unsafeAsPositiveSeconds = (value) => value;
|
|
577
578
|
unsafeAsUserId = (id) => id;
|
|
579
|
+
unsafeAsContentVersionId = (id) => id;
|
|
578
580
|
parseSiteId = (value) => parseUuidBrand(value, unsafeAsSiteId);
|
|
579
581
|
parseApiKeyId = (value) => parseUuidBrand(value, unsafeAsApiKeyId);
|
|
580
582
|
parseEventOfferingId = (value) => parseUuidBrand(value, unsafeAsEventOfferingId);
|
|
581
583
|
parseUserId = (value) => parseUuidBrand(value, unsafeAsUserId);
|
|
584
|
+
parseContentVersionId = (value) => parseUuidBrand(value, unsafeAsContentVersionId);
|
|
582
585
|
parseEventSeriesId = (value) => parseUuidBrand(value, unsafeAsEventSeriesId);
|
|
583
586
|
}));
|
|
584
587
|
//#endregion
|
|
@@ -586,7 +589,7 @@ var init_branded = __esmMin((() => {
|
|
|
586
589
|
var init_date_math = __esmMin((() => {}));
|
|
587
590
|
//#endregion
|
|
588
591
|
//#region ../core/src/duration.ts
|
|
589
|
-
var init_duration = __esmMin((() => {}));
|
|
592
|
+
var init_duration$1 = __esmMin((() => {}));
|
|
590
593
|
//#endregion
|
|
591
594
|
//#region ../core/src/demo-capability-policy.ts
|
|
592
595
|
var init_demo_capability_policy = __esmMin((() => {}));
|
|
@@ -850,7 +853,7 @@ function parseEventPageSurfaceDestinationMode(value) {
|
|
|
850
853
|
return value === "cms-managed" || value === "system-managed" ? value : void 0;
|
|
851
854
|
}
|
|
852
855
|
function parseEventPageSurfaceSubject(value) {
|
|
853
|
-
if (!isRecord$
|
|
856
|
+
if (!isRecord$16(value)) return err$1({ kind: "notObject" });
|
|
854
857
|
switch (value.kind) {
|
|
855
858
|
case "eventSeries": {
|
|
856
859
|
const eventSeriesId = parseEventSeriesId(value.eventSeriesId);
|
|
@@ -905,7 +908,7 @@ function parseEventSeriesIdList(values) {
|
|
|
905
908
|
}
|
|
906
909
|
return ok$1(parsed);
|
|
907
910
|
}
|
|
908
|
-
function isRecord$
|
|
911
|
+
function isRecord$16(value) {
|
|
909
912
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
910
913
|
}
|
|
911
914
|
var init_event_page_surface_subject = __esmMin((() => {
|
|
@@ -1117,7 +1120,7 @@ function toLocationCoordinates(value) {
|
|
|
1117
1120
|
lng: value.lng
|
|
1118
1121
|
};
|
|
1119
1122
|
}
|
|
1120
|
-
var init_location = __esmMin((() => {}));
|
|
1123
|
+
var init_location$1 = __esmMin((() => {}));
|
|
1121
1124
|
//#endregion
|
|
1122
1125
|
//#region ../core/src/business-address.ts
|
|
1123
1126
|
var init_business_address = __esmMin((() => {}));
|
|
@@ -1149,17 +1152,17 @@ var init_public_url_validation = __esmMin((() => {}));
|
|
|
1149
1152
|
//#region ../core/src/public-profile.ts
|
|
1150
1153
|
var init_public_profile = __esmMin((() => {}));
|
|
1151
1154
|
//#endregion
|
|
1155
|
+
//#region ../core/src/public-experience.ts
|
|
1156
|
+
var init_public_experience = __esmMin((() => {}));
|
|
1157
|
+
//#endregion
|
|
1152
1158
|
//#region ../core/src/rich-text.ts
|
|
1153
1159
|
var init_rich_text = __esmMin((() => {}));
|
|
1154
1160
|
//#endregion
|
|
1155
|
-
//#region ../core/src/
|
|
1156
|
-
|
|
1157
|
-
return value === "riverbank" || value === "mailchimp" ? value : null;
|
|
1158
|
-
}
|
|
1159
|
-
var init_newsletter_signup_destination$1 = __esmMin((() => {}));
|
|
1161
|
+
//#region ../core/src/footer-composition.ts
|
|
1162
|
+
var init_footer_composition = __esmMin((() => {}));
|
|
1160
1163
|
//#endregion
|
|
1161
|
-
//#region ../core/src/footer-
|
|
1162
|
-
var
|
|
1164
|
+
//#region ../core/src/footer-navigation-layout.ts
|
|
1165
|
+
var init_footer_navigation_layout = __esmMin((() => {}));
|
|
1163
1166
|
var init_footer_arrangement = __esmMin((() => {
|
|
1164
1167
|
new Map([
|
|
1165
1168
|
"brand",
|
|
@@ -1175,16 +1178,450 @@ var init_footer_arrangement = __esmMin((() => {
|
|
|
1175
1178
|
].map((kind, index) => [kind, index]));
|
|
1176
1179
|
}));
|
|
1177
1180
|
//#endregion
|
|
1178
|
-
//#region ../core/src/footer-composition.ts
|
|
1179
|
-
var
|
|
1180
|
-
|
|
1181
|
+
//#region ../core/src/footer-composition-types.ts
|
|
1182
|
+
var init_footer_composition_types = __esmMin((() => {}));
|
|
1183
|
+
//#endregion
|
|
1184
|
+
//#region ../core/src/footer-engagement.ts
|
|
1185
|
+
var init_footer_engagement = __esmMin((() => {}));
|
|
1186
|
+
//#endregion
|
|
1187
|
+
//#region ../core/src/mailing-list-identifiers.ts
|
|
1188
|
+
function parseTrimmedMatchingString(value, pattern) {
|
|
1189
|
+
if (typeof value !== "string") return null;
|
|
1190
|
+
const trimmed = value.trim();
|
|
1191
|
+
return pattern.test(trimmed) ? trimmed : null;
|
|
1192
|
+
}
|
|
1193
|
+
function parsePositiveInteger(value) {
|
|
1194
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value > 0 ? value : null;
|
|
1195
|
+
}
|
|
1196
|
+
function parseNewsletterListId(value) {
|
|
1197
|
+
return parseTrimmedMatchingString(value, UUID_PATTERN);
|
|
1198
|
+
}
|
|
1199
|
+
function parseMailchimpAccountId(value) {
|
|
1200
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1201
|
+
}
|
|
1202
|
+
function parseMailchimpAudienceId(value) {
|
|
1203
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1204
|
+
}
|
|
1205
|
+
function parseMailchimpInterestId(value) {
|
|
1206
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1207
|
+
}
|
|
1208
|
+
function parseBrevoAccountId(value) {
|
|
1209
|
+
return parseTrimmedMatchingString(value, OPAQUE_ID_PATTERN);
|
|
1210
|
+
}
|
|
1211
|
+
function parseBrevoListId(value) {
|
|
1212
|
+
return parsePositiveInteger(value);
|
|
1213
|
+
}
|
|
1214
|
+
var UUID_PATTERN, OPAQUE_ID_PATTERN;
|
|
1215
|
+
var init_mailing_list_identifiers = __esmMin((() => {
|
|
1216
|
+
UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu;
|
|
1217
|
+
OPAQUE_ID_PATTERN = /^[A-Za-z0-9_-]{1,100}$/u;
|
|
1181
1218
|
}));
|
|
1182
1219
|
//#endregion
|
|
1183
|
-
//#region ../core/src/
|
|
1184
|
-
|
|
1220
|
+
//#region ../core/src/mailing-list-setup.ts
|
|
1221
|
+
function isRecord$15(value) {
|
|
1222
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1223
|
+
}
|
|
1224
|
+
function parseMailingListProviderScope(value) {
|
|
1225
|
+
if (!isRecord$15(value)) return err$1("invalid_mailing_list_provider_scope");
|
|
1226
|
+
if (value.provider === "native") return ok$1({ provider: "native" });
|
|
1227
|
+
if (value.provider === "brevo") {
|
|
1228
|
+
const accountId = parseBrevoAccountId(value.accountId);
|
|
1229
|
+
return accountId !== null ? ok$1({
|
|
1230
|
+
provider: "brevo",
|
|
1231
|
+
accountId
|
|
1232
|
+
}) : err$1("invalid_mailing_list_provider_scope");
|
|
1233
|
+
}
|
|
1234
|
+
if (value.provider === "mailchimp") {
|
|
1235
|
+
const accountId = parseMailchimpAccountId(value.accountId);
|
|
1236
|
+
return accountId !== null ? ok$1({
|
|
1237
|
+
provider: "mailchimp",
|
|
1238
|
+
accountId
|
|
1239
|
+
}) : err$1("invalid_mailing_list_provider_scope");
|
|
1240
|
+
}
|
|
1241
|
+
return err$1("invalid_mailing_list_provider_scope");
|
|
1242
|
+
}
|
|
1243
|
+
var DEFAULT_MAILING_LIST_SUCCESS_MESSAGE;
|
|
1244
|
+
var init_mailing_list_setup = __esmMin((() => {
|
|
1245
|
+
init_mailing_list_identifiers();
|
|
1246
|
+
init_result();
|
|
1247
|
+
DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks — you're on the list.";
|
|
1248
|
+
}));
|
|
1249
|
+
//#endregion
|
|
1250
|
+
//#region ../core/src/mailing-list-setup-parser.ts
|
|
1251
|
+
function parseMailingListGlobalForm(value) {
|
|
1252
|
+
if (!isRecord$14(value)) return formError("shape");
|
|
1253
|
+
const fields = parseGlobalFields(value.fields);
|
|
1254
|
+
if (fields === null) return formError("fields");
|
|
1255
|
+
if (typeof value.includeOptionalPhone !== "boolean") return formError("includeOptionalPhone");
|
|
1256
|
+
const buttonLabel = parseRequiredString(value.buttonLabel);
|
|
1257
|
+
if (buttonLabel === null) return formError("buttonLabel");
|
|
1258
|
+
const successMessage = parseRequiredString(value.successMessage);
|
|
1259
|
+
if (successMessage === null) return formError("successMessage");
|
|
1260
|
+
const privacyNote = parseOptionalString(value.privacyNote);
|
|
1261
|
+
if (privacyNote === void 0) return formError("privacyNote");
|
|
1262
|
+
return ok$1({
|
|
1263
|
+
fields,
|
|
1264
|
+
includeOptionalPhone: value.includeOptionalPhone,
|
|
1265
|
+
buttonLabel,
|
|
1266
|
+
successMessage,
|
|
1267
|
+
privacyNote
|
|
1268
|
+
});
|
|
1269
|
+
}
|
|
1270
|
+
function parseGlobalFields(value) {
|
|
1271
|
+
if (!isRecord$14(value) || typeof value.preset !== "string") return null;
|
|
1272
|
+
switch (value.preset) {
|
|
1273
|
+
case "emailOnly": return { preset: "emailOnly" };
|
|
1274
|
+
case "emailName": return isRequirement(value.name) ? {
|
|
1275
|
+
preset: "emailName",
|
|
1276
|
+
name: value.name
|
|
1277
|
+
} : null;
|
|
1278
|
+
case "emailFirstLast": return isRequirement(value.firstName) && isRequirement(value.lastName) ? {
|
|
1279
|
+
preset: "emailFirstLast",
|
|
1280
|
+
firstName: value.firstName,
|
|
1281
|
+
lastName: value.lastName
|
|
1282
|
+
} : null;
|
|
1283
|
+
case "emailNameCompany": return isRequirement(value.name) && isRequirement(value.company) ? {
|
|
1284
|
+
preset: "emailNameCompany",
|
|
1285
|
+
name: value.name,
|
|
1286
|
+
company: value.company
|
|
1287
|
+
} : null;
|
|
1288
|
+
default: return null;
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
function parseMailingListSetupRevision(value) {
|
|
1292
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value > 0 ? value : null;
|
|
1293
|
+
}
|
|
1294
|
+
function parseRequiredString(value) {
|
|
1295
|
+
if (typeof value !== "string") return null;
|
|
1296
|
+
const trimmed = value.trim();
|
|
1297
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
1298
|
+
}
|
|
1299
|
+
function parseOptionalString(value) {
|
|
1300
|
+
if (value === null || value === void 0) return null;
|
|
1301
|
+
if (typeof value !== "string") return void 0;
|
|
1302
|
+
const trimmed = value.trim();
|
|
1303
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
1304
|
+
}
|
|
1305
|
+
function isRequirement(value) {
|
|
1306
|
+
return value === "required" || value === "optional";
|
|
1307
|
+
}
|
|
1308
|
+
function isRecord$14(value) {
|
|
1309
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1310
|
+
}
|
|
1311
|
+
function formError(field) {
|
|
1312
|
+
return err$1({
|
|
1313
|
+
tag: "invalid_mailing_list_global_form",
|
|
1314
|
+
field
|
|
1315
|
+
});
|
|
1316
|
+
}
|
|
1317
|
+
var init_mailing_list_setup_parser = __esmMin((() => {
|
|
1318
|
+
init_result();
|
|
1319
|
+
}));
|
|
1185
1320
|
//#endregion
|
|
1186
|
-
//#region ../core/src/
|
|
1187
|
-
|
|
1321
|
+
//#region ../core/src/mailing-list-targeting.ts
|
|
1322
|
+
function planMailingListChoicePresentation(targeting) {
|
|
1323
|
+
if (targeting.mode === "default" || targeting.selection.tag === "fixed") return { tag: "hidden" };
|
|
1324
|
+
switch (targeting.provider) {
|
|
1325
|
+
case "native": return targeting.selection.offeredTopicIds.length === 1 ? {
|
|
1326
|
+
tag: "automatic",
|
|
1327
|
+
selection: {
|
|
1328
|
+
provider: "native",
|
|
1329
|
+
topicIds: targeting.selection.offeredTopicIds
|
|
1330
|
+
}
|
|
1331
|
+
} : {
|
|
1332
|
+
tag: "visitor_choice",
|
|
1333
|
+
provider: "native",
|
|
1334
|
+
optionCount: targeting.selection.offeredTopicIds.length
|
|
1335
|
+
};
|
|
1336
|
+
case "brevo": return targeting.selection.offeredListIds.length === 1 ? {
|
|
1337
|
+
tag: "automatic",
|
|
1338
|
+
selection: {
|
|
1339
|
+
provider: "brevo",
|
|
1340
|
+
listIds: targeting.selection.offeredListIds
|
|
1341
|
+
}
|
|
1342
|
+
} : {
|
|
1343
|
+
tag: "visitor_choice",
|
|
1344
|
+
provider: "brevo",
|
|
1345
|
+
optionCount: targeting.selection.offeredListIds.length
|
|
1346
|
+
};
|
|
1347
|
+
case "mailchimp": return targeting.selection.offeredInterestIds.length === 1 ? {
|
|
1348
|
+
tag: "automatic",
|
|
1349
|
+
selection: {
|
|
1350
|
+
provider: "mailchimp",
|
|
1351
|
+
interestIds: targeting.selection.offeredInterestIds
|
|
1352
|
+
}
|
|
1353
|
+
} : {
|
|
1354
|
+
tag: "visitor_choice",
|
|
1355
|
+
provider: "mailchimp",
|
|
1356
|
+
optionCount: targeting.selection.offeredInterestIds.length
|
|
1357
|
+
};
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
var init_mailing_list_targeting = __esmMin((() => {}));
|
|
1361
|
+
//#endregion
|
|
1362
|
+
//#region ../core/src/mailing-list-runtime.ts
|
|
1363
|
+
function parseMailingListRuntimeContext(value) {
|
|
1364
|
+
if (!isRecord$13(value)) return invalidRuntimeContext();
|
|
1365
|
+
if (value.tag === "not_configured") return ok$1({ tag: "not_configured" });
|
|
1366
|
+
if (value.tag !== "configured") return invalidRuntimeContext();
|
|
1367
|
+
const revision = parseMailingListSetupRevision(value.revision);
|
|
1368
|
+
const form = parseMailingListGlobalForm(value.form);
|
|
1369
|
+
const provider = parseRuntimeProvider(value.provider);
|
|
1370
|
+
if (revision === null || !form.ok || provider === null) return invalidRuntimeContext();
|
|
1371
|
+
return ok$1({
|
|
1372
|
+
tag: "configured",
|
|
1373
|
+
revision,
|
|
1374
|
+
form: form.value,
|
|
1375
|
+
provider
|
|
1376
|
+
});
|
|
1377
|
+
}
|
|
1378
|
+
function parseRuntimeProvider(value) {
|
|
1379
|
+
if (!isRecord$13(value)) return null;
|
|
1380
|
+
switch (value.provider) {
|
|
1381
|
+
case "native": return parseNativeRuntimeProvider(value);
|
|
1382
|
+
case "brevo": return parseBrevoRuntimeProvider(value);
|
|
1383
|
+
case "mailchimp": return parseMailchimpRuntimeProvider(value);
|
|
1384
|
+
default: return null;
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
function parseNativeRuntimeProvider(value) {
|
|
1388
|
+
const defaultTopicId = parseNewsletterListId(value.defaultTopicId);
|
|
1389
|
+
const topics = parseNamedItems(value.topics, parseNewsletterListId);
|
|
1390
|
+
return defaultTopicId !== null && topics !== null ? {
|
|
1391
|
+
provider: "native",
|
|
1392
|
+
defaultTopicId,
|
|
1393
|
+
topics
|
|
1394
|
+
} : null;
|
|
1395
|
+
}
|
|
1396
|
+
function parseBrevoRuntimeProvider(value) {
|
|
1397
|
+
const defaultListId = parseBrevoListId(value.defaultListId);
|
|
1398
|
+
const lists = parseNamedItems(value.lists, parseBrevoListId);
|
|
1399
|
+
return defaultListId !== null && lists !== null ? {
|
|
1400
|
+
provider: "brevo",
|
|
1401
|
+
defaultListId,
|
|
1402
|
+
lists
|
|
1403
|
+
} : null;
|
|
1404
|
+
}
|
|
1405
|
+
function parseMailchimpRuntimeProvider(value) {
|
|
1406
|
+
if (!Array.isArray(value.audiences)) return null;
|
|
1407
|
+
const defaultAudienceId = parseMailchimpAudienceId(value.defaultAudienceId);
|
|
1408
|
+
if (defaultAudienceId === null) return null;
|
|
1409
|
+
const audiences = [];
|
|
1410
|
+
for (const audience of value.audiences) {
|
|
1411
|
+
if (!isRecord$13(audience)) return null;
|
|
1412
|
+
const id = parseMailchimpAudienceId(audience.id);
|
|
1413
|
+
const name = parseName(audience.name);
|
|
1414
|
+
if (id === null || name === null || !Array.isArray(audience.interests)) return null;
|
|
1415
|
+
const interests = parseMailchimpInterests(audience.interests);
|
|
1416
|
+
if (interests === null) return null;
|
|
1417
|
+
audiences.push({
|
|
1418
|
+
id,
|
|
1419
|
+
name,
|
|
1420
|
+
interests
|
|
1421
|
+
});
|
|
1422
|
+
}
|
|
1423
|
+
return {
|
|
1424
|
+
provider: "mailchimp",
|
|
1425
|
+
defaultAudienceId,
|
|
1426
|
+
audiences
|
|
1427
|
+
};
|
|
1428
|
+
}
|
|
1429
|
+
function parseMailchimpInterests(value) {
|
|
1430
|
+
const interests = [];
|
|
1431
|
+
for (const interest of value) {
|
|
1432
|
+
if (!isRecord$13(interest)) return null;
|
|
1433
|
+
const id = parseMailchimpInterestId(interest.id);
|
|
1434
|
+
const name = parseName(interest.name);
|
|
1435
|
+
const categoryName = parseName(interest.categoryName);
|
|
1436
|
+
if (id === null || name === null || categoryName === null) return null;
|
|
1437
|
+
interests.push({
|
|
1438
|
+
id,
|
|
1439
|
+
name,
|
|
1440
|
+
categoryName
|
|
1441
|
+
});
|
|
1442
|
+
}
|
|
1443
|
+
return interests;
|
|
1444
|
+
}
|
|
1445
|
+
function parseNamedItems(value, parseId) {
|
|
1446
|
+
if (!Array.isArray(value)) return null;
|
|
1447
|
+
const items = [];
|
|
1448
|
+
for (const item of value) {
|
|
1449
|
+
if (!isRecord$13(item)) return null;
|
|
1450
|
+
const id = parseId(item.id);
|
|
1451
|
+
const name = parseName(item.name);
|
|
1452
|
+
if (id === null || name === null) return null;
|
|
1453
|
+
items.push({
|
|
1454
|
+
id,
|
|
1455
|
+
name
|
|
1456
|
+
});
|
|
1457
|
+
}
|
|
1458
|
+
return items;
|
|
1459
|
+
}
|
|
1460
|
+
function parseName(value) {
|
|
1461
|
+
if (typeof value !== "string") return null;
|
|
1462
|
+
const name = value.trim();
|
|
1463
|
+
return name.length > 0 ? name : null;
|
|
1464
|
+
}
|
|
1465
|
+
function isRecord$13(value) {
|
|
1466
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1467
|
+
}
|
|
1468
|
+
function invalidRuntimeContext() {
|
|
1469
|
+
return err$1({ tag: "invalid_mailing_list_runtime_context" });
|
|
1470
|
+
}
|
|
1471
|
+
var init_mailing_list_runtime = __esmMin((() => {
|
|
1472
|
+
init_mailing_list_identifiers();
|
|
1473
|
+
init_mailing_list_setup_parser();
|
|
1474
|
+
init_result();
|
|
1475
|
+
}));
|
|
1476
|
+
//#endregion
|
|
1477
|
+
//#region ../core/src/mailing-list-targeting-parser.ts
|
|
1478
|
+
function parseMailingListPlacementTargeting(value) {
|
|
1479
|
+
if (!isRecord$12(value)) return targetingError("shape");
|
|
1480
|
+
if (value.mode === "default") return ok$1({ mode: "default" });
|
|
1481
|
+
if (value.mode !== "custom") return targetingError("mode");
|
|
1482
|
+
if (!isRecord$12(value.selection)) return targetingError("selection");
|
|
1483
|
+
switch (value.provider) {
|
|
1484
|
+
case "native": return parseNativeTargeting(value.selection);
|
|
1485
|
+
case "brevo": return parseBrevoTargeting(value.selection);
|
|
1486
|
+
case "mailchimp": return parseMailchimpTargeting(value, value.selection);
|
|
1487
|
+
default: return targetingError("provider");
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
function parseNativeTargeting(selection) {
|
|
1491
|
+
if (selection.tag === "fixed") {
|
|
1492
|
+
const topicIds = parseNonEmptyUniqueIds(selection.topicIds, parseNewsletterListId);
|
|
1493
|
+
return topicIds.ok ? ok$1({
|
|
1494
|
+
mode: "custom",
|
|
1495
|
+
provider: "native",
|
|
1496
|
+
selection: {
|
|
1497
|
+
tag: "fixed",
|
|
1498
|
+
topicIds: topicIds.value
|
|
1499
|
+
}
|
|
1500
|
+
}) : topicIds;
|
|
1501
|
+
}
|
|
1502
|
+
if (selection.tag === "visitor_choice") {
|
|
1503
|
+
const offeredTopicIds = parseNonEmptyUniqueIds(selection.offeredTopicIds, parseNewsletterListId);
|
|
1504
|
+
return offeredTopicIds.ok ? ok$1({
|
|
1505
|
+
mode: "custom",
|
|
1506
|
+
provider: "native",
|
|
1507
|
+
selection: {
|
|
1508
|
+
tag: "visitor_choice",
|
|
1509
|
+
offeredTopicIds: offeredTopicIds.value
|
|
1510
|
+
}
|
|
1511
|
+
}) : offeredTopicIds;
|
|
1512
|
+
}
|
|
1513
|
+
return targetingError("selection");
|
|
1514
|
+
}
|
|
1515
|
+
function parseBrevoTargeting(selection) {
|
|
1516
|
+
if (selection.tag === "fixed") {
|
|
1517
|
+
const listIds = parseNonEmptyUniqueIds(selection.listIds, parseBrevoListId);
|
|
1518
|
+
return listIds.ok ? ok$1({
|
|
1519
|
+
mode: "custom",
|
|
1520
|
+
provider: "brevo",
|
|
1521
|
+
selection: {
|
|
1522
|
+
tag: "fixed",
|
|
1523
|
+
listIds: listIds.value
|
|
1524
|
+
}
|
|
1525
|
+
}) : listIds;
|
|
1526
|
+
}
|
|
1527
|
+
if (selection.tag === "visitor_choice") {
|
|
1528
|
+
const offeredListIds = parseNonEmptyUniqueIds(selection.offeredListIds, parseBrevoListId);
|
|
1529
|
+
return offeredListIds.ok ? ok$1({
|
|
1530
|
+
mode: "custom",
|
|
1531
|
+
provider: "brevo",
|
|
1532
|
+
selection: {
|
|
1533
|
+
tag: "visitor_choice",
|
|
1534
|
+
offeredListIds: offeredListIds.value
|
|
1535
|
+
}
|
|
1536
|
+
}) : offeredListIds;
|
|
1537
|
+
}
|
|
1538
|
+
return targetingError("selection");
|
|
1539
|
+
}
|
|
1540
|
+
function parseMailchimpTargeting(value, selection) {
|
|
1541
|
+
const audienceId = parseMailchimpAudienceId(value.audienceId);
|
|
1542
|
+
if (audienceId === null) return targetingError("audienceId");
|
|
1543
|
+
if (selection.tag === "fixed") {
|
|
1544
|
+
const interestIds = parseUniqueIds(selection.interestIds, parseMailchimpInterestId);
|
|
1545
|
+
return interestIds.ok ? ok$1({
|
|
1546
|
+
mode: "custom",
|
|
1547
|
+
provider: "mailchimp",
|
|
1548
|
+
audienceId,
|
|
1549
|
+
selection: {
|
|
1550
|
+
tag: "fixed",
|
|
1551
|
+
interestIds: interestIds.value
|
|
1552
|
+
}
|
|
1553
|
+
}) : interestIds;
|
|
1554
|
+
}
|
|
1555
|
+
if (selection.tag === "visitor_choice") {
|
|
1556
|
+
const offeredInterestIds = parseNonEmptyUniqueIds(selection.offeredInterestIds, parseMailchimpInterestId);
|
|
1557
|
+
return offeredInterestIds.ok ? ok$1({
|
|
1558
|
+
mode: "custom",
|
|
1559
|
+
provider: "mailchimp",
|
|
1560
|
+
audienceId,
|
|
1561
|
+
selection: {
|
|
1562
|
+
tag: "visitor_choice",
|
|
1563
|
+
offeredInterestIds: offeredInterestIds.value
|
|
1564
|
+
}
|
|
1565
|
+
}) : offeredInterestIds;
|
|
1566
|
+
}
|
|
1567
|
+
return targetingError("selection");
|
|
1568
|
+
}
|
|
1569
|
+
function parseNonEmptyUniqueIds(value, parseId) {
|
|
1570
|
+
const parsed = parseUniqueIds(value, parseId);
|
|
1571
|
+
if (!parsed.ok) return parsed;
|
|
1572
|
+
const [first, ...rest] = parsed.value;
|
|
1573
|
+
return first === void 0 ? targetingError("targets") : ok$1([first, ...rest]);
|
|
1574
|
+
}
|
|
1575
|
+
function parseUniqueIds(value, parseId) {
|
|
1576
|
+
if (!Array.isArray(value)) return targetingError("targets");
|
|
1577
|
+
const parsed = [];
|
|
1578
|
+
for (const item of value) {
|
|
1579
|
+
const id = parseId(item);
|
|
1580
|
+
if (id === null) return targetingError("targets");
|
|
1581
|
+
if (parsed.includes(id)) return targetingError("duplicate_target");
|
|
1582
|
+
parsed.push(id);
|
|
1583
|
+
}
|
|
1584
|
+
return ok$1(parsed);
|
|
1585
|
+
}
|
|
1586
|
+
function isRecord$12(value) {
|
|
1587
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1588
|
+
}
|
|
1589
|
+
function targetingError(field) {
|
|
1590
|
+
return err$1({
|
|
1591
|
+
tag: "invalid_mailing_list_targeting",
|
|
1592
|
+
field
|
|
1593
|
+
});
|
|
1594
|
+
}
|
|
1595
|
+
var init_mailing_list_targeting_parser = __esmMin((() => {
|
|
1596
|
+
init_mailing_list_identifiers();
|
|
1597
|
+
init_result();
|
|
1598
|
+
}));
|
|
1599
|
+
//#endregion
|
|
1600
|
+
//#region ../core/src/mailing-list-submission.ts
|
|
1601
|
+
function parseMailingListBlockId(value) {
|
|
1602
|
+
const parsed = typeof value === "string" ? value.trim() : "";
|
|
1603
|
+
return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu.test(parsed) ? parsed : null;
|
|
1604
|
+
}
|
|
1605
|
+
function parseMailingListSignedSourceToken(value) {
|
|
1606
|
+
const parsed = typeof value === "string" ? value.trim() : "";
|
|
1607
|
+
return /^[A-Za-z0-9._~-]{16,1000}$/u.test(parsed) ? parsed : null;
|
|
1608
|
+
}
|
|
1609
|
+
function parseMailingListContentVersionId(value) {
|
|
1610
|
+
const parsed = parseContentVersionId(value);
|
|
1611
|
+
return parsed.ok ? parsed.value : null;
|
|
1612
|
+
}
|
|
1613
|
+
function buildMailingListSignupBlockSourceRef(blockId, contentVersionId) {
|
|
1614
|
+
const parsedBlockId = parseMailingListBlockId(blockId);
|
|
1615
|
+
const parsedContentVersionId = parseMailingListContentVersionId(contentVersionId);
|
|
1616
|
+
return parsedBlockId !== null && parsedContentVersionId !== null ? {
|
|
1617
|
+
tag: "block_ref",
|
|
1618
|
+
blockId: parsedBlockId,
|
|
1619
|
+
contentVersionId: parsedContentVersionId
|
|
1620
|
+
} : null;
|
|
1621
|
+
}
|
|
1622
|
+
var init_mailing_list_submission = __esmMin((() => {
|
|
1623
|
+
init_branded();
|
|
1624
|
+
}));
|
|
1188
1625
|
//#endregion
|
|
1189
1626
|
//#region ../core/src/number-input.ts
|
|
1190
1627
|
var init_number_input = __esmMin((() => {}));
|
|
@@ -1289,6 +1726,60 @@ function orderedLiveRunSessions(sessions) {
|
|
|
1289
1726
|
}
|
|
1290
1727
|
var init_whole_series_run_schedule = __esmMin((() => {}));
|
|
1291
1728
|
//#endregion
|
|
1729
|
+
//#region ../core/src/public-read-cache-contract.ts
|
|
1730
|
+
function availability(transport) {
|
|
1731
|
+
return {
|
|
1732
|
+
kind: "live",
|
|
1733
|
+
reason: "booking_correctness",
|
|
1734
|
+
freshness: "availability",
|
|
1735
|
+
transport
|
|
1736
|
+
};
|
|
1737
|
+
}
|
|
1738
|
+
function content(tags, transport = "direct") {
|
|
1739
|
+
return {
|
|
1740
|
+
kind: "tagged",
|
|
1741
|
+
tags,
|
|
1742
|
+
freshness: "content",
|
|
1743
|
+
transport
|
|
1744
|
+
};
|
|
1745
|
+
}
|
|
1746
|
+
function getPublicReadCachePolicy(endpoint) {
|
|
1747
|
+
return PUBLIC_READ_CACHE_POLICIES[endpoint];
|
|
1748
|
+
}
|
|
1749
|
+
function publicReadFreshnessSeconds(endpoint) {
|
|
1750
|
+
return getPublicReadCachePolicy(endpoint).freshness === "availability" ? 60 : PUBLIC_CONTENT_FRESHNESS_SECONDS;
|
|
1751
|
+
}
|
|
1752
|
+
var PUBLIC_CONTENT_FRESHNESS_SECONDS, PUBLIC_READ_CACHE_POLICIES;
|
|
1753
|
+
var init_public_read_cache_contract = __esmMin((() => {
|
|
1754
|
+
PUBLIC_CONTENT_FRESHNESS_SECONDS = 3600;
|
|
1755
|
+
PUBLIC_READ_CACHE_POLICIES = {
|
|
1756
|
+
listPublishedEntries: content(["published_content"]),
|
|
1757
|
+
getPublishedEntryPreview: content(["published_content"]),
|
|
1758
|
+
listPublicEvents: availability("direct"),
|
|
1759
|
+
listPublicEventCalendarWindow: availability("direct"),
|
|
1760
|
+
listPublicRecurringSchedule: availability("batch_only"),
|
|
1761
|
+
getPublicEventDetails: availability("batch_only"),
|
|
1762
|
+
resolveEventSubroute: availability("direct"),
|
|
1763
|
+
listPublicRouteCandidates: content(["published_content"], "batch_only"),
|
|
1764
|
+
listPublicTeamMembers: content(["public_team_members"]),
|
|
1765
|
+
listPublicProducts: availability("direct"),
|
|
1766
|
+
listPublicPasses: availability("direct"),
|
|
1767
|
+
listPublicMemberships: availability("direct"),
|
|
1768
|
+
getPublicFormById: content(["site_forms"]),
|
|
1769
|
+
getPublicBookingServices: availability("direct"),
|
|
1770
|
+
getPublicBookingService: availability("direct"),
|
|
1771
|
+
getPublicBookingResourcesReference: availability("direct"),
|
|
1772
|
+
getPublicBookingAvailableDates: availability("direct"),
|
|
1773
|
+
getPublicBookingAvailableSlots: availability("direct"),
|
|
1774
|
+
getPublicWeeklySlotAvailability: availability("direct"),
|
|
1775
|
+
listPublicForms: content(["site_forms"]),
|
|
1776
|
+
checkRedirect: content([]),
|
|
1777
|
+
getPublicRoutableContent: content(["published_content"]),
|
|
1778
|
+
getPublicSitemapRoutes: content(["published_content"])
|
|
1779
|
+
};
|
|
1780
|
+
new Set(Object.keys(PUBLIC_READ_CACHE_POLICIES));
|
|
1781
|
+
}));
|
|
1782
|
+
//#endregion
|
|
1292
1783
|
//#region ../core/src/event-series-behaviour.ts
|
|
1293
1784
|
var WHOLE_SERIES_EVENT_PRESET_VALUES, SURFACE_EVENT_PRESET_VALUES;
|
|
1294
1785
|
var init_event_series_behaviour = __esmMin((() => {
|
|
@@ -1603,11 +2094,14 @@ var init_booking_verticals = __esmMin((() => {
|
|
|
1603
2094
|
init_booking_vertical_config();
|
|
1604
2095
|
}));
|
|
1605
2096
|
//#endregion
|
|
2097
|
+
//#region ../core/src/navigation-locations.ts
|
|
2098
|
+
var init_navigation_locations = __esmMin((() => {}));
|
|
2099
|
+
//#endregion
|
|
1606
2100
|
//#region ../core/src/index.ts
|
|
1607
2101
|
var init_src$4 = __esmMin((() => {
|
|
1608
2102
|
init_branded();
|
|
1609
2103
|
init_date_math();
|
|
1610
|
-
init_duration();
|
|
2104
|
+
init_duration$1();
|
|
1611
2105
|
init_demo_capability_policy();
|
|
1612
2106
|
init_demo_claim_access();
|
|
1613
2107
|
init_demo_lifecycle_status();
|
|
@@ -1628,7 +2122,7 @@ var init_src$4 = __esmMin((() => {
|
|
|
1628
2122
|
init_dated_offering_settlement();
|
|
1629
2123
|
init_person_records();
|
|
1630
2124
|
init_rectification();
|
|
1631
|
-
init_location();
|
|
2125
|
+
init_location$1();
|
|
1632
2126
|
init_business_address();
|
|
1633
2127
|
init_result();
|
|
1634
2128
|
init_assert_never();
|
|
@@ -1641,13 +2135,20 @@ var init_src$4 = __esmMin((() => {
|
|
|
1641
2135
|
init_participant_identity();
|
|
1642
2136
|
init_public_url_validation();
|
|
1643
2137
|
init_public_profile();
|
|
2138
|
+
init_public_experience();
|
|
1644
2139
|
init_rich_text();
|
|
1645
2140
|
init_footer_composition();
|
|
1646
2141
|
init_footer_navigation_layout();
|
|
1647
2142
|
init_footer_arrangement();
|
|
1648
2143
|
init_footer_composition_types();
|
|
1649
2144
|
init_footer_engagement();
|
|
1650
|
-
|
|
2145
|
+
init_mailing_list_identifiers();
|
|
2146
|
+
init_mailing_list_setup();
|
|
2147
|
+
init_mailing_list_setup_parser();
|
|
2148
|
+
init_mailing_list_targeting();
|
|
2149
|
+
init_mailing_list_runtime();
|
|
2150
|
+
init_mailing_list_targeting_parser();
|
|
2151
|
+
init_mailing_list_submission();
|
|
1651
2152
|
init_number_input();
|
|
1652
2153
|
init_field_errors();
|
|
1653
2154
|
init_form_submission_preview();
|
|
@@ -1666,8 +2167,10 @@ var init_src$4 = __esmMin((() => {
|
|
|
1666
2167
|
init_secret();
|
|
1667
2168
|
init_site_route_target();
|
|
1668
2169
|
init_whole_series_run_schedule();
|
|
2170
|
+
init_public_read_cache_contract();
|
|
1669
2171
|
init_booking_verticals();
|
|
1670
2172
|
init_event_series_behaviour();
|
|
2173
|
+
init_navigation_locations();
|
|
1671
2174
|
}));
|
|
1672
2175
|
//#endregion
|
|
1673
2176
|
//#region ../media-core/src/types.ts
|
|
@@ -1826,7 +2329,7 @@ var init_videoSlotPolicy = __esmMin((() => {}));
|
|
|
1826
2329
|
var init_identifiers = __esmMin((() => {}));
|
|
1827
2330
|
//#endregion
|
|
1828
2331
|
//#region ../media-core/src/typeGuards.ts
|
|
1829
|
-
function isRecord$
|
|
2332
|
+
function isRecord$11(value) {
|
|
1830
2333
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
1831
2334
|
}
|
|
1832
2335
|
var init_typeGuards$1 = __esmMin((() => {}));
|
|
@@ -1955,8 +2458,8 @@ function walkAndCollectImageAttrs(value, out, location = "") {
|
|
|
1955
2458
|
value.forEach((item, index) => walkAndCollectImageAttrs(item, out, `${location}[${index}]`));
|
|
1956
2459
|
return;
|
|
1957
2460
|
}
|
|
1958
|
-
if (!isRecord$
|
|
1959
|
-
if (value.type === "image" && isRecord$
|
|
2461
|
+
if (!isRecord$11(value)) return;
|
|
2462
|
+
if (value.type === "image" && isRecord$11(value.attrs)) out.push({
|
|
1960
2463
|
attrs: value.attrs,
|
|
1961
2464
|
location: location ? `${location}.attrs` : "attrs"
|
|
1962
2465
|
});
|
|
@@ -3672,82 +4175,125 @@ var init_classNames = __esmMin((() => {
|
|
|
3672
4175
|
init_types$13();
|
|
3673
4176
|
}));
|
|
3674
4177
|
//#endregion
|
|
3675
|
-
//#region ../theme-core/src/
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
0,
|
|
3691
|
-
100,
|
|
3692
|
-
200,
|
|
3693
|
-
300,
|
|
3694
|
-
400,
|
|
3695
|
-
500,
|
|
3696
|
-
600,
|
|
3697
|
-
700,
|
|
3698
|
-
800,
|
|
3699
|
-
900
|
|
3700
|
-
]
|
|
4178
|
+
//#region ../theme-core/src/tokens/tokens.ts
|
|
4179
|
+
var defaultThemeTokens;
|
|
4180
|
+
var init_tokens$1 = __esmMin((() => {
|
|
4181
|
+
defaultThemeTokens = {
|
|
4182
|
+
color: {
|
|
4183
|
+
"background/base": "#ffffff",
|
|
4184
|
+
"background/elevated": "#f5f5f5",
|
|
4185
|
+
"surface/base": "#ffffff",
|
|
4186
|
+
"surface/subtle": "#f9f9fb",
|
|
4187
|
+
"surface/inverted": "#111111",
|
|
4188
|
+
"content/primary": "#111111",
|
|
4189
|
+
"content/secondary": "#3f3f46",
|
|
4190
|
+
"accent/primary": "#2563eb",
|
|
4191
|
+
"accent/secondary": "#1d4ed8",
|
|
4192
|
+
"border/base": "#e5e7eb"
|
|
3701
4193
|
},
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
4194
|
+
typography: {
|
|
4195
|
+
"display/hero": {
|
|
4196
|
+
fontSize: "clamp(48px, 8vw, 96px)",
|
|
4197
|
+
lineHeight: "1.05",
|
|
4198
|
+
fontWeight: "700"
|
|
4199
|
+
},
|
|
4200
|
+
"display/section": {
|
|
4201
|
+
fontSize: "clamp(40px, 6vw, 72px)",
|
|
4202
|
+
lineHeight: "1.1",
|
|
4203
|
+
fontWeight: "700"
|
|
4204
|
+
},
|
|
4205
|
+
"heading/large": {
|
|
4206
|
+
fontSize: "clamp(32px, 4vw, 48px)",
|
|
4207
|
+
lineHeight: "1.2",
|
|
4208
|
+
fontWeight: "600"
|
|
4209
|
+
},
|
|
4210
|
+
"heading/medium": {
|
|
4211
|
+
fontSize: "clamp(24px, 3vw, 32px)",
|
|
4212
|
+
lineHeight: "1.25",
|
|
4213
|
+
fontWeight: "600"
|
|
4214
|
+
},
|
|
4215
|
+
"heading/small": {
|
|
4216
|
+
fontSize: "20px",
|
|
4217
|
+
lineHeight: "1.3",
|
|
4218
|
+
fontWeight: "600"
|
|
4219
|
+
},
|
|
4220
|
+
"body/normal": {
|
|
4221
|
+
fontSize: "16px",
|
|
4222
|
+
lineHeight: "1.6",
|
|
4223
|
+
fontWeight: "400"
|
|
4224
|
+
},
|
|
4225
|
+
"body/small": {
|
|
4226
|
+
fontSize: "14px",
|
|
4227
|
+
lineHeight: "1.5",
|
|
4228
|
+
fontWeight: "400"
|
|
4229
|
+
},
|
|
4230
|
+
caption: {
|
|
4231
|
+
fontSize: "12px",
|
|
4232
|
+
lineHeight: "1.4",
|
|
4233
|
+
fontWeight: "500"
|
|
4234
|
+
}
|
|
4235
|
+
},
|
|
4236
|
+
spacing: {
|
|
4237
|
+
none: "0px",
|
|
4238
|
+
"3xs": "4px",
|
|
4239
|
+
"2xs": "8px",
|
|
4240
|
+
xs: "12px",
|
|
4241
|
+
sm: "16px",
|
|
4242
|
+
md: "24px",
|
|
4243
|
+
lg: "32px",
|
|
4244
|
+
xl: "40px",
|
|
4245
|
+
"2xl": "56px",
|
|
4246
|
+
"3xl": "72px"
|
|
4247
|
+
},
|
|
4248
|
+
radius: {
|
|
4249
|
+
none: "0px",
|
|
4250
|
+
xs: "2px",
|
|
4251
|
+
sm: "4px",
|
|
4252
|
+
md: "8px",
|
|
4253
|
+
lg: "12px",
|
|
4254
|
+
pill: "999px",
|
|
4255
|
+
full: "9999px"
|
|
4256
|
+
},
|
|
4257
|
+
shadow: {
|
|
4258
|
+
none: "none",
|
|
4259
|
+
soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
|
|
4260
|
+
medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
|
|
4261
|
+
strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
|
|
4262
|
+
},
|
|
4263
|
+
palette: {
|
|
4264
|
+
surface: "#ffffff",
|
|
4265
|
+
"neutral-50": "#f9fafb",
|
|
4266
|
+
"neutral-900": "#111827",
|
|
4267
|
+
primary: "#2563eb",
|
|
4268
|
+
"primary-50": "#eff6ff",
|
|
4269
|
+
"primary-500": "#2563eb",
|
|
4270
|
+
"primary-900": "#1d4ed8",
|
|
4271
|
+
secondary: "#9333ea",
|
|
4272
|
+
"secondary-50": "#f3e8ff",
|
|
4273
|
+
"secondary-500": "#9333ea",
|
|
4274
|
+
"secondary-900": "#4c1d95",
|
|
4275
|
+
accent: "#f97316",
|
|
4276
|
+
"accent-50": "#fff7ed",
|
|
4277
|
+
"accent-500": "#f97316",
|
|
4278
|
+
"accent-900": "#7c2d12"
|
|
3712
4279
|
}
|
|
3713
4280
|
};
|
|
3714
|
-
}
|
|
3715
|
-
var init_background$3 = __esmMin((() => {
|
|
3716
|
-
shadeBackgroundEffect({
|
|
3717
|
-
id: "darken-background",
|
|
3718
|
-
name: "Darken on Hover",
|
|
3719
|
-
description: "Darkens the background color on hover",
|
|
3720
|
-
label: "Darken Amount (shade step)",
|
|
3721
|
-
shadeDirection: 1
|
|
3722
|
-
});
|
|
3723
|
-
shadeBackgroundEffect({
|
|
3724
|
-
id: "lighten-background",
|
|
3725
|
-
name: "Lighten on Hover",
|
|
3726
|
-
description: "Lightens the background color on hover",
|
|
3727
|
-
label: "Lighten Amount (shade step)",
|
|
3728
|
-
shadeDirection: -1
|
|
3729
|
-
});
|
|
3730
4281
|
}));
|
|
3731
4282
|
//#endregion
|
|
3732
|
-
//#region ../theme-core/src/
|
|
3733
|
-
var
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
var init_generateEffectsCSS = __esmMin((() => {
|
|
3740
|
-
init_registry$8();
|
|
4283
|
+
//#region ../theme-core/src/tokens/index.ts
|
|
4284
|
+
var init_tokens = __esmMin((() => {
|
|
4285
|
+
init_tokens$1();
|
|
4286
|
+
init_blockColorTokens();
|
|
4287
|
+
init_themeColorTokens();
|
|
4288
|
+
init_colorTokenParts();
|
|
4289
|
+
init_resolver$2();
|
|
3741
4290
|
}));
|
|
3742
4291
|
//#endregion
|
|
3743
|
-
//#region ../theme-core/src/
|
|
3744
|
-
var
|
|
3745
|
-
|
|
4292
|
+
//#region ../theme-core/src/surfaces/foregroundInteraction.ts
|
|
4293
|
+
var init_foregroundInteraction = __esmMin((() => {
|
|
4294
|
+
init_tokens();
|
|
3746
4295
|
}));
|
|
3747
4296
|
//#endregion
|
|
3748
|
-
//#region ../theme-core/src/buttons/affordanceIcons.ts
|
|
3749
|
-
var init_affordanceIcons = __esmMin((() => {}));
|
|
3750
|
-
//#endregion
|
|
3751
4297
|
//#region ../theme-core/src/palette/utils/opaqueSurfaceColor.ts
|
|
3752
4298
|
/** Resolve an opaque colour, compositing alpha against an explicit underlay. */
|
|
3753
4299
|
function resolveOpaqueSurfaceHex(reference, palette, underlayReference) {
|
|
@@ -3952,6 +4498,7 @@ var init_resolveSurfaceForeground = __esmMin((() => {
|
|
|
3952
4498
|
//#region ../theme-core/src/surfaces/index.ts
|
|
3953
4499
|
var init_surfaces = __esmMin((() => {
|
|
3954
4500
|
init_foregroundContract();
|
|
4501
|
+
init_foregroundInteraction();
|
|
3955
4502
|
init_foregroundRoles();
|
|
3956
4503
|
init_resolveSurfaceForeground();
|
|
3957
4504
|
}));
|
|
@@ -4057,6 +4604,87 @@ var init_colorStyles = __esmMin((() => {
|
|
|
4057
4604
|
};
|
|
4058
4605
|
}));
|
|
4059
4606
|
//#endregion
|
|
4607
|
+
//#region ../theme-core/src/tokens/resolver.ts
|
|
4608
|
+
var init_resolver$2 = __esmMin((() => {
|
|
4609
|
+
init_colorStyles();
|
|
4610
|
+
}));
|
|
4611
|
+
//#endregion
|
|
4612
|
+
//#region ../theme-core/src/buttons/effects/presets/background.ts
|
|
4613
|
+
function shadeBackgroundEffect(config) {
|
|
4614
|
+
return {
|
|
4615
|
+
id: config.id,
|
|
4616
|
+
name: config.name,
|
|
4617
|
+
description: config.description,
|
|
4618
|
+
category: "background",
|
|
4619
|
+
pseudoElement: "none",
|
|
4620
|
+
applicableTo: ["button"],
|
|
4621
|
+
customizableOption: {
|
|
4622
|
+
name: "amount",
|
|
4623
|
+
type: "select",
|
|
4624
|
+
label: config.label,
|
|
4625
|
+
default: 100,
|
|
4626
|
+
options: [
|
|
4627
|
+
0,
|
|
4628
|
+
100,
|
|
4629
|
+
200,
|
|
4630
|
+
300,
|
|
4631
|
+
400,
|
|
4632
|
+
500,
|
|
4633
|
+
600,
|
|
4634
|
+
700,
|
|
4635
|
+
800,
|
|
4636
|
+
900
|
|
4637
|
+
]
|
|
4638
|
+
},
|
|
4639
|
+
isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
|
|
4640
|
+
generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
|
|
4641
|
+
if (buttonConfig.background.type !== "solid") return "";
|
|
4642
|
+
const amount = (options.amount || 100) * config.shadeDirection;
|
|
4643
|
+
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
4644
|
+
return `
|
|
4645
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
4646
|
+
background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
|
|
4647
|
+
}
|
|
4648
|
+
`;
|
|
4649
|
+
}
|
|
4650
|
+
};
|
|
4651
|
+
}
|
|
4652
|
+
var init_background$3 = __esmMin((() => {
|
|
4653
|
+
shadeBackgroundEffect({
|
|
4654
|
+
id: "darken-background",
|
|
4655
|
+
name: "Darken on Hover",
|
|
4656
|
+
description: "Darkens the background color on hover",
|
|
4657
|
+
label: "Darken Amount (shade step)",
|
|
4658
|
+
shadeDirection: 1
|
|
4659
|
+
});
|
|
4660
|
+
shadeBackgroundEffect({
|
|
4661
|
+
id: "lighten-background",
|
|
4662
|
+
name: "Lighten on Hover",
|
|
4663
|
+
description: "Lightens the background color on hover",
|
|
4664
|
+
label: "Lighten Amount (shade step)",
|
|
4665
|
+
shadeDirection: -1
|
|
4666
|
+
});
|
|
4667
|
+
}));
|
|
4668
|
+
//#endregion
|
|
4669
|
+
//#region ../theme-core/src/buttons/effects/registry.ts
|
|
4670
|
+
var init_registry$8 = __esmMin((() => {
|
|
4671
|
+
init_background$3();
|
|
4672
|
+
init_effectClassification();
|
|
4673
|
+
}));
|
|
4674
|
+
//#endregion
|
|
4675
|
+
//#region ../theme-core/src/interactive/generateEffectsCSS.ts
|
|
4676
|
+
var init_generateEffectsCSS = __esmMin((() => {
|
|
4677
|
+
init_registry$8();
|
|
4678
|
+
}));
|
|
4679
|
+
//#endregion
|
|
4680
|
+
//#region ../theme-core/src/buttons/generateDefaultButtonSystem.ts
|
|
4681
|
+
var init_generateDefaultButtonSystem = __esmMin((() => {
|
|
4682
|
+
init_types$13();
|
|
4683
|
+
}));
|
|
4684
|
+
//#endregion
|
|
4685
|
+
//#region ../theme-core/src/buttons/affordanceIcons.ts
|
|
4686
|
+
var init_affordanceIcons = __esmMin((() => {}));
|
|
4687
|
+
//#endregion
|
|
4060
4688
|
//#region ../theme-core/src/utils/tokenOrColor.ts
|
|
4061
4689
|
function isCssColorLiteral(value) {
|
|
4062
4690
|
const trimmed = value.trim();
|
|
@@ -4494,6 +5122,7 @@ var init_resolvedButtonCss = __esmMin((() => {
|
|
|
4494
5122
|
var init_generateButtonCss = __esmMin((() => {
|
|
4495
5123
|
init_types$13();
|
|
4496
5124
|
init_classNames();
|
|
5125
|
+
init_resolver$2();
|
|
4497
5126
|
init_generateEffectsCSS();
|
|
4498
5127
|
init_generateDefaultButtonSystem();
|
|
4499
5128
|
init_resolveButtonColourStates();
|
|
@@ -6542,6 +7171,7 @@ var init_roles = __esmMin((() => {
|
|
|
6542
7171
|
//#endregion
|
|
6543
7172
|
//#region ../theme-core/src/cards/generateCardCss.ts
|
|
6544
7173
|
var init_generateCardCss = __esmMin((() => {
|
|
7174
|
+
init_resolver$2();
|
|
6545
7175
|
init_roles();
|
|
6546
7176
|
init_types$12();
|
|
6547
7177
|
init_surfaces();
|
|
@@ -7464,7 +8094,7 @@ var init_interactionPalette = __esmMin((() => {
|
|
|
7464
8094
|
//#endregion
|
|
7465
8095
|
//#region ../theme-core/src/boxBackgroundSchema.ts
|
|
7466
8096
|
function normalizeAuthoringOpacity(value) {
|
|
7467
|
-
if (!isRecord$
|
|
8097
|
+
if (!isRecord$10(value)) return value;
|
|
7468
8098
|
return {
|
|
7469
8099
|
...value,
|
|
7470
8100
|
opacity: normalizeOpacity(value.opacity)
|
|
@@ -7473,7 +8103,7 @@ function normalizeAuthoringOpacity(value) {
|
|
|
7473
8103
|
function normalizeOpacity(value) {
|
|
7474
8104
|
return typeof value === "number" && value > 1 && value <= 100 ? value / 100 : value;
|
|
7475
8105
|
}
|
|
7476
|
-
function isRecord$
|
|
8106
|
+
function isRecord$10(value) {
|
|
7477
8107
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
7478
8108
|
}
|
|
7479
8109
|
var boxBackgroundOverlaySchema, commonSchema, mediaPresentationSchema, boxBackgroundSchema;
|
|
@@ -8299,7 +8929,7 @@ var init_media$3 = __esmMin((() => {
|
|
|
8299
8929
|
/**
|
|
8300
8930
|
* Strict record guard: excludes null, primitives, and arrays.
|
|
8301
8931
|
*/
|
|
8302
|
-
function isRecord$
|
|
8932
|
+
function isRecord$9(value) {
|
|
8303
8933
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
8304
8934
|
}
|
|
8305
8935
|
/**
|
|
@@ -8450,15 +9080,34 @@ var init_bookingConsent = __esmMin((() => {
|
|
|
8450
9080
|
checkboxLabel: z.string().min(1)
|
|
8451
9081
|
});
|
|
8452
9082
|
z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
8453
|
-
}));
|
|
8454
|
-
//#endregion
|
|
8455
|
-
//#region ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
8456
|
-
var eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, publicCurrencySchema, publicCentsSchema, publicPositiveCentsSchema, publicIsoDateTimeSchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventPricingOptionAvailabilitySchema, publicEventPricingOptionSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicRunSessionSchema, publicWholeSeriesRunSchema, publicEventBaseSchema, publicEventSchema, publicEventsArraySchema;
|
|
9083
|
+
})), publicEventLoaderQuerySchemaShape, eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, publicCurrencySchema, publicCentsSchema, publicPositiveCentsSchema, publicIsoDateTimeSchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventPricingOptionAvailabilitySchema, publicEventPricingOptionSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicRunSessionSchema, publicWholeSeriesRunSchema, publicEventBaseSchema, publicEventSchema, publicEventsArraySchema;
|
|
8457
9084
|
var init_schemas = __esmMin((() => {
|
|
8458
9085
|
init_media$3();
|
|
8459
9086
|
init_richTextSchema();
|
|
8460
9087
|
init_bookingPaymentTerms();
|
|
8461
9088
|
init_bookingConsent();
|
|
9089
|
+
publicEventLoaderQuerySchemaShape = {
|
|
9090
|
+
limit: z.string().optional(),
|
|
9091
|
+
from: z.string().optional(),
|
|
9092
|
+
to: z.string().optional(),
|
|
9093
|
+
afterStartsAt: z.string().optional(),
|
|
9094
|
+
afterId: z.string().optional(),
|
|
9095
|
+
categoryIds: z.string().optional(),
|
|
9096
|
+
venueId: z.string().optional(),
|
|
9097
|
+
staffMemberId: z.string().optional(),
|
|
9098
|
+
eventSurface: z.string().optional(),
|
|
9099
|
+
eventPresets: z.string().optional(),
|
|
9100
|
+
scheduleScope: z.string().optional(),
|
|
9101
|
+
seriesId: z.string().optional(),
|
|
9102
|
+
seriesIds: z.string().optional(),
|
|
9103
|
+
runSeriesId: z.string().optional(),
|
|
9104
|
+
seriesSlug: z.string().optional(),
|
|
9105
|
+
includeOccurrenceId: z.string().optional(),
|
|
9106
|
+
readIntent: z.string().optional(),
|
|
9107
|
+
detailLevel: z.string().optional(),
|
|
9108
|
+
readProfile: z.string().optional()
|
|
9109
|
+
};
|
|
9110
|
+
z.object(publicEventLoaderQuerySchemaShape);
|
|
8462
9111
|
eventPresetSchema = z.enum([
|
|
8463
9112
|
"event",
|
|
8464
9113
|
"class",
|
|
@@ -8918,6 +9567,14 @@ var init_calendarWindow = __esmMin((() => {
|
|
|
8918
9567
|
var init_contracts$2 = __esmMin((() => {
|
|
8919
9568
|
init_calendarWindow();
|
|
8920
9569
|
}));
|
|
9570
|
+
//#endregion
|
|
9571
|
+
//#region ../api/src/apiEndpointTypes.ts
|
|
9572
|
+
function allowedDemoMutationPolicy() {
|
|
9573
|
+
return {
|
|
9574
|
+
classification: "allowed",
|
|
9575
|
+
publicMessage: ""
|
|
9576
|
+
};
|
|
9577
|
+
}
|
|
8921
9578
|
function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
8922
9579
|
if (publicMessage.trim() === "") throw new Error(`Demo mutation policy ${classification} requires publicMessage.`);
|
|
8923
9580
|
return {
|
|
@@ -8925,12 +9582,13 @@ function blockedDemoMutationPolicy(classification, publicMessage) {
|
|
|
8925
9582
|
publicMessage
|
|
8926
9583
|
};
|
|
8927
9584
|
}
|
|
8928
|
-
var init_apiEndpointTypes = __esmMin((() => {})), DEMO_MUTATION_BLOCKED_HIDDEN, DEMO_MUTATION_BLOCKED_DISABLED;
|
|
9585
|
+
var init_apiEndpointTypes = __esmMin((() => {})), DEMO_MUTATION_BLOCKED_HIDDEN, DEMO_MUTATION_BLOCKED_DISABLED, DEMO_MUTATION_ALLOWED;
|
|
8929
9586
|
var init_demoMutationPolicies = __esmMin((() => {
|
|
8930
9587
|
init_apiEndpointTypes();
|
|
8931
9588
|
DEMO_MUTATION_BLOCKED_HIDDEN = blockedDemoMutationPolicy("blocked-hidden", "This action is not available in demo sites.");
|
|
8932
9589
|
DEMO_MUTATION_BLOCKED_DISABLED = blockedDemoMutationPolicy("blocked-disabled", "This setting is disabled in demo sites.");
|
|
8933
9590
|
blockedDemoMutationPolicy("internal-only", "This internal operation is not available in demo sites.");
|
|
9591
|
+
DEMO_MUTATION_ALLOWED = allowedDemoMutationPolicy();
|
|
8934
9592
|
}));
|
|
8935
9593
|
//#endregion
|
|
8936
9594
|
//#region ../api/src/cache-tags.ts
|
|
@@ -9885,14 +10543,117 @@ var init_newsletterEndpointDefinitions = __esmMin((() => {
|
|
|
9885
10543
|
responseKind: "json",
|
|
9886
10544
|
errors: ["auth:forbidden", "server:internal_error"]
|
|
9887
10545
|
},
|
|
9888
|
-
|
|
9889
|
-
path: "/sites/{siteId}/
|
|
10546
|
+
getMailingListSetup: {
|
|
10547
|
+
path: "/sites/{siteId}/mailing-list/setup",
|
|
10548
|
+
method: "GET",
|
|
10549
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
10550
|
+
auth: "user",
|
|
10551
|
+
responseKind: "json",
|
|
10552
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
10553
|
+
},
|
|
10554
|
+
getMailingListAuthoringContext: {
|
|
10555
|
+
path: "/sites/{siteId}/mailing-list/authoring-context",
|
|
10556
|
+
method: "GET",
|
|
10557
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
10558
|
+
auth: "user",
|
|
10559
|
+
responseKind: "json",
|
|
10560
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
10561
|
+
},
|
|
10562
|
+
previewMailingListSetupChange: {
|
|
10563
|
+
path: "/sites/{siteId}/mailing-list/setup/preview",
|
|
10564
|
+
method: "POST",
|
|
10565
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
10566
|
+
auth: "user",
|
|
10567
|
+
responseKind: "json",
|
|
10568
|
+
demoMutation: DEMO_MUTATION_ALLOWED,
|
|
10569
|
+
errors: [
|
|
10570
|
+
"auth:forbidden",
|
|
10571
|
+
"validation:invalid_input",
|
|
10572
|
+
"server:internal_error"
|
|
10573
|
+
]
|
|
10574
|
+
},
|
|
10575
|
+
applyMailingListSetupChange: {
|
|
10576
|
+
path: "/sites/{siteId}/mailing-list/setup",
|
|
10577
|
+
method: "PUT",
|
|
10578
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
10579
|
+
auth: "user",
|
|
10580
|
+
responseKind: "json",
|
|
10581
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
10582
|
+
errors: [
|
|
10583
|
+
"auth:forbidden",
|
|
10584
|
+
"validation:invalid_input",
|
|
10585
|
+
"resource:conflict",
|
|
10586
|
+
"server:internal_error"
|
|
10587
|
+
]
|
|
10588
|
+
},
|
|
10589
|
+
getMailingListProviderCatalog: {
|
|
10590
|
+
path: "/sites/{siteId}/mailing-list/providers/{provider}/catalog",
|
|
10591
|
+
method: "GET",
|
|
10592
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
10593
|
+
auth: "user",
|
|
10594
|
+
responseKind: "json",
|
|
10595
|
+
errors: [
|
|
10596
|
+
"auth:forbidden",
|
|
10597
|
+
"validation:invalid_input",
|
|
10598
|
+
"server:internal_error"
|
|
10599
|
+
]
|
|
10600
|
+
},
|
|
10601
|
+
refreshMailingListProviderCatalog: {
|
|
10602
|
+
path: "/sites/{siteId}/mailing-list/providers/{provider}/catalog/refresh",
|
|
10603
|
+
method: "POST",
|
|
10604
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
10605
|
+
auth: "user",
|
|
10606
|
+
responseKind: "json",
|
|
10607
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
10608
|
+
errors: [
|
|
10609
|
+
"auth:forbidden",
|
|
10610
|
+
"validation:invalid_input",
|
|
10611
|
+
"server:internal_error"
|
|
10612
|
+
]
|
|
10613
|
+
},
|
|
10614
|
+
getMailingListProviderHealth: {
|
|
10615
|
+
path: "/sites/{siteId}/mailing-list/health",
|
|
10616
|
+
method: "GET",
|
|
10617
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteNewsletter],
|
|
10618
|
+
auth: "user",
|
|
10619
|
+
responseKind: "json",
|
|
10620
|
+
errors: ["auth:forbidden", "server:internal_error"]
|
|
10621
|
+
},
|
|
10622
|
+
getBrevoConnection: {
|
|
10623
|
+
path: "/sites/{siteId}/integrations/brevo/connection",
|
|
9890
10624
|
method: "GET",
|
|
9891
10625
|
tags: [TAG_TEMPLATES.site],
|
|
9892
10626
|
auth: "user",
|
|
9893
10627
|
responseKind: "json",
|
|
9894
10628
|
errors: ["auth:forbidden", "server:internal_error"]
|
|
9895
10629
|
},
|
|
10630
|
+
connectBrevo: {
|
|
10631
|
+
path: "/sites/{siteId}/integrations/brevo/connection",
|
|
10632
|
+
method: "PUT",
|
|
10633
|
+
tags: [TAG_TEMPLATES.site],
|
|
10634
|
+
auth: "user",
|
|
10635
|
+
responseKind: "json",
|
|
10636
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
10637
|
+
errors: [
|
|
10638
|
+
"auth:forbidden",
|
|
10639
|
+
"validation:invalid_input",
|
|
10640
|
+
"resource:conflict",
|
|
10641
|
+
"server:internal_error"
|
|
10642
|
+
]
|
|
10643
|
+
},
|
|
10644
|
+
disconnectBrevo: {
|
|
10645
|
+
path: "/sites/{siteId}/integrations/brevo/disconnect",
|
|
10646
|
+
method: "POST",
|
|
10647
|
+
tags: [TAG_TEMPLATES.site],
|
|
10648
|
+
auth: "user",
|
|
10649
|
+
responseKind: "json",
|
|
10650
|
+
demoMutation: DEMO_MUTATION_BLOCKED_DISABLED,
|
|
10651
|
+
errors: [
|
|
10652
|
+
"auth:forbidden",
|
|
10653
|
+
"resource:conflict",
|
|
10654
|
+
"server:internal_error"
|
|
10655
|
+
]
|
|
10656
|
+
},
|
|
9896
10657
|
getMailchimpConnection: {
|
|
9897
10658
|
path: "/sites/{siteId}/integrations/mailchimp/connection",
|
|
9898
10659
|
method: "GET",
|
|
@@ -10121,6 +10882,7 @@ var init_newsletterEndpointDefinitions = __esmMin((() => {
|
|
|
10121
10882
|
var PUBLIC_EVENT_ENDPOINT_DEFINITIONS;
|
|
10122
10883
|
var init_publicEventEndpointDefinitions = __esmMin((() => {
|
|
10123
10884
|
init_cache_tags();
|
|
10885
|
+
init_src$4();
|
|
10124
10886
|
init_defineEndpointDefinitions();
|
|
10125
10887
|
PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10126
10888
|
listPublicEventCalendarWindow: {
|
|
@@ -10153,7 +10915,7 @@ var init_publicEventEndpointDefinitions = __esmMin((() => {
|
|
|
10153
10915
|
resolveEventSubroute: {
|
|
10154
10916
|
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
10155
10917
|
method: "GET",
|
|
10156
|
-
revalidate:
|
|
10918
|
+
revalidate: publicReadFreshnessSeconds("resolveEventSubroute"),
|
|
10157
10919
|
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
10158
10920
|
auth: "public",
|
|
10159
10921
|
responseKind: "json",
|
|
@@ -10189,12 +10951,13 @@ var init_publicEventCheckoutEndpointDefinitions = __esmMin((() => {
|
|
|
10189
10951
|
var PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS;
|
|
10190
10952
|
var init_publicBookingAvailabilityEndpointDefinitions = __esmMin((() => {
|
|
10191
10953
|
init_cache_tags();
|
|
10954
|
+
init_src$4();
|
|
10192
10955
|
init_defineEndpointDefinitions();
|
|
10193
10956
|
PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
10194
10957
|
getPublicBookingServices: {
|
|
10195
10958
|
path: "/public/bookings/services",
|
|
10196
10959
|
method: "GET",
|
|
10197
|
-
revalidate:
|
|
10960
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingServices"),
|
|
10198
10961
|
tags: [TAG_TEMPLATES.publicBookingServices],
|
|
10199
10962
|
auth: "public",
|
|
10200
10963
|
responseKind: "json"
|
|
@@ -10202,7 +10965,15 @@ var init_publicBookingAvailabilityEndpointDefinitions = __esmMin((() => {
|
|
|
10202
10965
|
getPublicBookingService: {
|
|
10203
10966
|
path: "/public/bookings/services/{serviceId}",
|
|
10204
10967
|
method: "GET",
|
|
10205
|
-
revalidate:
|
|
10968
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingService"),
|
|
10969
|
+
tags: [TAG_TEMPLATES.publicBookingServices],
|
|
10970
|
+
auth: "public",
|
|
10971
|
+
responseKind: "json"
|
|
10972
|
+
},
|
|
10973
|
+
getPublicBookingServiceBySlug: {
|
|
10974
|
+
path: "/public/bookings/services/by-slug/{slug}",
|
|
10975
|
+
method: "GET",
|
|
10976
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingService"),
|
|
10206
10977
|
tags: [TAG_TEMPLATES.publicBookingServices],
|
|
10207
10978
|
auth: "public",
|
|
10208
10979
|
responseKind: "json"
|
|
@@ -10210,7 +10981,7 @@ var init_publicBookingAvailabilityEndpointDefinitions = __esmMin((() => {
|
|
|
10210
10981
|
getPublicBookingResourcesReference: {
|
|
10211
10982
|
path: "/public/bookings/resources/reference",
|
|
10212
10983
|
method: "GET",
|
|
10213
|
-
revalidate:
|
|
10984
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingResourcesReference"),
|
|
10214
10985
|
tags: [TAG_TEMPLATES.publicBookingServices],
|
|
10215
10986
|
auth: "public",
|
|
10216
10987
|
responseKind: "json"
|
|
@@ -10218,7 +10989,7 @@ var init_publicBookingAvailabilityEndpointDefinitions = __esmMin((() => {
|
|
|
10218
10989
|
getPublicBookingAvailableDates: {
|
|
10219
10990
|
path: "/public/bookings/availability/dates",
|
|
10220
10991
|
method: "GET",
|
|
10221
|
-
revalidate:
|
|
10992
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingAvailableDates"),
|
|
10222
10993
|
tags: [TAG_TEMPLATES.publicBookingAvailability, TAG_TEMPLATES.publicBookingServices],
|
|
10223
10994
|
auth: "public",
|
|
10224
10995
|
responseKind: "json"
|
|
@@ -10226,7 +10997,7 @@ var init_publicBookingAvailabilityEndpointDefinitions = __esmMin((() => {
|
|
|
10226
10997
|
getPublicBookingAvailableSlots: {
|
|
10227
10998
|
path: "/public/bookings/availability/slots",
|
|
10228
10999
|
method: "GET",
|
|
10229
|
-
revalidate:
|
|
11000
|
+
revalidate: publicReadFreshnessSeconds("getPublicBookingAvailableSlots"),
|
|
10230
11001
|
tags: [TAG_TEMPLATES.publicBookingAvailability, TAG_TEMPLATES.publicBookingServices],
|
|
10231
11002
|
auth: "public",
|
|
10232
11003
|
responseKind: "json"
|
|
@@ -10234,7 +11005,7 @@ var init_publicBookingAvailabilityEndpointDefinitions = __esmMin((() => {
|
|
|
10234
11005
|
getPublicWeeklySlotAvailability: {
|
|
10235
11006
|
path: "/public/bookings/weekly-slot-availability",
|
|
10236
11007
|
method: "GET",
|
|
10237
|
-
revalidate:
|
|
11008
|
+
revalidate: publicReadFreshnessSeconds("getPublicWeeklySlotAvailability"),
|
|
10238
11009
|
tags: [TAG_TEMPLATES.publicBookingAvailability, TAG_TEMPLATES.publicBookingServices],
|
|
10239
11010
|
auth: "public",
|
|
10240
11011
|
responseKind: "json",
|
|
@@ -10701,6 +11472,175 @@ var init_sdkMediaEndpointDefinitions = __esmMin((() => {
|
|
|
10701
11472
|
}
|
|
10702
11473
|
});
|
|
10703
11474
|
}));
|
|
11475
|
+
//#endregion
|
|
11476
|
+
//#region ../api/src/publicReadEndpointDefinitions.ts
|
|
11477
|
+
var PUBLIC_READ_ENDPOINT_DEFINITIONS;
|
|
11478
|
+
var init_publicReadEndpointDefinitions = __esmMin((() => {
|
|
11479
|
+
init_src$4();
|
|
11480
|
+
init_cache_tags();
|
|
11481
|
+
init_defineEndpointDefinitions();
|
|
11482
|
+
PUBLIC_READ_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
11483
|
+
getPublishedEntryPreview: {
|
|
11484
|
+
path: "/public/content/{siteId}/{type}/{slug}/preview",
|
|
11485
|
+
method: "GET",
|
|
11486
|
+
revalidate: publicReadFreshnessSeconds("getPublishedEntryPreview"),
|
|
11487
|
+
tags: ["content-{siteId}-{type}-{slug}"],
|
|
11488
|
+
auth: "public",
|
|
11489
|
+
responseKind: "json"
|
|
11490
|
+
},
|
|
11491
|
+
listPublishedEntries: {
|
|
11492
|
+
path: "/public/content/{siteId}/{type}/entries",
|
|
11493
|
+
method: "GET",
|
|
11494
|
+
revalidate: publicReadFreshnessSeconds("listPublishedEntries"),
|
|
11495
|
+
tags: ["content-{siteId}-{type}"],
|
|
11496
|
+
auth: "public",
|
|
11497
|
+
responseKind: "json"
|
|
11498
|
+
},
|
|
11499
|
+
getPublicFormById: {
|
|
11500
|
+
path: "/public/forms/{formId}",
|
|
11501
|
+
method: "GET",
|
|
11502
|
+
revalidate: publicReadFreshnessSeconds("getPublicFormById"),
|
|
11503
|
+
tags: [TAG_TEMPLATES.formById],
|
|
11504
|
+
auth: "public",
|
|
11505
|
+
responseKind: "json"
|
|
11506
|
+
},
|
|
11507
|
+
listPublicEvents: {
|
|
11508
|
+
path: "/public/sites/{siteId}/events",
|
|
11509
|
+
method: "GET",
|
|
11510
|
+
revalidate: publicReadFreshnessSeconds("listPublicEvents"),
|
|
11511
|
+
tags: [TAG_TEMPLATES.publicEvents],
|
|
11512
|
+
auth: "public",
|
|
11513
|
+
responseKind: "json"
|
|
11514
|
+
},
|
|
11515
|
+
listPublicTeamMembers: {
|
|
11516
|
+
path: "/public/sites/{siteId}/team-members",
|
|
11517
|
+
method: "GET",
|
|
11518
|
+
revalidate: publicReadFreshnessSeconds("listPublicTeamMembers"),
|
|
11519
|
+
tags: [TAG_TEMPLATES.publicTeamMembers],
|
|
11520
|
+
errors: [],
|
|
11521
|
+
auth: "public",
|
|
11522
|
+
responseKind: "json"
|
|
11523
|
+
},
|
|
11524
|
+
listPublicPasses: {
|
|
11525
|
+
path: "/public/sites/{siteId}/bookings/products/passes",
|
|
11526
|
+
method: "GET",
|
|
11527
|
+
revalidate: publicReadFreshnessSeconds("listPublicPasses"),
|
|
11528
|
+
tags: [TAG_TEMPLATES.publicPasses],
|
|
11529
|
+
auth: "public",
|
|
11530
|
+
responseKind: "json"
|
|
11531
|
+
},
|
|
11532
|
+
listPublicMemberships: {
|
|
11533
|
+
path: "/public/sites/{siteId}/bookings/products/memberships",
|
|
11534
|
+
method: "GET",
|
|
11535
|
+
revalidate: publicReadFreshnessSeconds("listPublicMemberships"),
|
|
11536
|
+
tags: [TAG_TEMPLATES.publicMemberships],
|
|
11537
|
+
auth: "public",
|
|
11538
|
+
responseKind: "json"
|
|
11539
|
+
},
|
|
11540
|
+
listPublicProducts: {
|
|
11541
|
+
path: "/public/sites/{siteId}/products",
|
|
11542
|
+
method: "GET",
|
|
11543
|
+
revalidate: publicReadFreshnessSeconds("listPublicProducts"),
|
|
11544
|
+
tags: [TAG_TEMPLATES.publicProducts],
|
|
11545
|
+
errors: [],
|
|
11546
|
+
auth: "public",
|
|
11547
|
+
responseKind: "json"
|
|
11548
|
+
}
|
|
11549
|
+
});
|
|
11550
|
+
}));
|
|
11551
|
+
//#endregion
|
|
11552
|
+
//#region ../api/src/publicOnboardingAttemptEndpointDefinitions.ts
|
|
11553
|
+
var PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS;
|
|
11554
|
+
var init_publicOnboardingAttemptEndpointDefinitions = __esmMin((() => {
|
|
11555
|
+
init_defineEndpointDefinitions();
|
|
11556
|
+
PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
11557
|
+
createPublicOnboardingAttempt: {
|
|
11558
|
+
path: "/public/onboarding/attempts",
|
|
11559
|
+
method: "POST",
|
|
11560
|
+
auth: "public",
|
|
11561
|
+
errors: [],
|
|
11562
|
+
responseKind: "json"
|
|
11563
|
+
},
|
|
11564
|
+
createPublicOnboardingLogoUploadUrl: {
|
|
11565
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo-upload-url",
|
|
11566
|
+
method: "POST",
|
|
11567
|
+
auth: "public",
|
|
11568
|
+
errors: [],
|
|
11569
|
+
responseKind: "json"
|
|
11570
|
+
},
|
|
11571
|
+
uploadPublicOnboardingLogo: {
|
|
11572
|
+
path: "/public/onboarding/attempts/{attemptToken}/logo",
|
|
11573
|
+
method: "POST",
|
|
11574
|
+
auth: "public",
|
|
11575
|
+
errors: [],
|
|
11576
|
+
responseKind: "json"
|
|
11577
|
+
},
|
|
11578
|
+
getPublicOnboardingAttempt: {
|
|
11579
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
11580
|
+
method: "GET",
|
|
11581
|
+
auth: "public",
|
|
11582
|
+
errors: [],
|
|
11583
|
+
responseKind: "json"
|
|
11584
|
+
},
|
|
11585
|
+
getPublicOnboardingAttemptProgress: {
|
|
11586
|
+
path: "/public/onboarding/attempts/{attemptToken}/status",
|
|
11587
|
+
method: "GET",
|
|
11588
|
+
auth: "public",
|
|
11589
|
+
errors: [],
|
|
11590
|
+
responseKind: "json"
|
|
11591
|
+
},
|
|
11592
|
+
updatePublicOnboardingAttempt: {
|
|
11593
|
+
path: "/public/onboarding/attempts/{attemptToken}",
|
|
11594
|
+
method: "PATCH",
|
|
11595
|
+
auth: "public",
|
|
11596
|
+
errors: [],
|
|
11597
|
+
responseKind: "json"
|
|
11598
|
+
},
|
|
11599
|
+
runPublicOnboardingAttempt: {
|
|
11600
|
+
path: "/public/onboarding/attempts/{attemptToken}/run",
|
|
11601
|
+
method: "POST",
|
|
11602
|
+
auth: "public",
|
|
11603
|
+
errors: [],
|
|
11604
|
+
responseKind: "json"
|
|
11605
|
+
},
|
|
11606
|
+
resendPublicOnboardingAttemptConfirmation: {
|
|
11607
|
+
path: "/public/onboarding/attempts/{attemptToken}/resend-confirmation",
|
|
11608
|
+
method: "POST",
|
|
11609
|
+
auth: "public",
|
|
11610
|
+
errors: [],
|
|
11611
|
+
responseKind: "json"
|
|
11612
|
+
}
|
|
11613
|
+
});
|
|
11614
|
+
}));
|
|
11615
|
+
//#endregion
|
|
11616
|
+
//#region ../api/src/billingEndpointDefinitions.ts
|
|
11617
|
+
var BILLING_ENDPOINT_DEFINITIONS;
|
|
11618
|
+
var init_billingEndpointDefinitions = __esmMin((() => {
|
|
11619
|
+
init_defineEndpointDefinitions();
|
|
11620
|
+
BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
11621
|
+
adminChangePlan: {
|
|
11622
|
+
path: "/admin/billing/plan",
|
|
11623
|
+
method: "POST",
|
|
11624
|
+
tags: ["admin", "billing"],
|
|
11625
|
+
auth: "admin",
|
|
11626
|
+
responseKind: "json"
|
|
11627
|
+
},
|
|
11628
|
+
changePlan: {
|
|
11629
|
+
path: "/billing/plan/change",
|
|
11630
|
+
method: "POST",
|
|
11631
|
+
tags: ["billing"],
|
|
11632
|
+
auth: "user",
|
|
11633
|
+
responseKind: "json"
|
|
11634
|
+
},
|
|
11635
|
+
createBillingPortalSession: {
|
|
11636
|
+
path: "/billing/portal/session",
|
|
11637
|
+
method: "POST",
|
|
11638
|
+
tags: ["billing"],
|
|
11639
|
+
auth: "user",
|
|
11640
|
+
responseKind: "json"
|
|
11641
|
+
}
|
|
11642
|
+
});
|
|
11643
|
+
}));
|
|
10704
11644
|
var init_endpoints = __esmMin((() => {
|
|
10705
11645
|
init_demoMutationPolicies();
|
|
10706
11646
|
init_cache_tags();
|
|
@@ -10717,15 +11657,21 @@ var init_endpoints = __esmMin((() => {
|
|
|
10717
11657
|
init_giftingEndpointDefinitions();
|
|
10718
11658
|
init_sdkEndpointDefinitions();
|
|
10719
11659
|
init_sdkMediaEndpointDefinitions();
|
|
11660
|
+
init_publicReadEndpointDefinitions();
|
|
11661
|
+
init_publicOnboardingAttemptEndpointDefinitions();
|
|
11662
|
+
init_billingEndpointDefinitions();
|
|
10720
11663
|
({
|
|
10721
11664
|
...ACCOUNT_ENDPOINT_DEFINITIONS,
|
|
11665
|
+
...PUBLIC_ONBOARDING_ATTEMPT_ENDPOINT_DEFINITIONS,
|
|
10722
11666
|
...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
|
|
10723
|
-
...GIFTING_ENDPOINT_DEFINITIONS
|
|
11667
|
+
...GIFTING_ENDPOINT_DEFINITIONS,
|
|
11668
|
+
...PUBLIC_READ_ENDPOINT_DEFINITIONS,
|
|
11669
|
+
...BILLING_ENDPOINT_DEFINITIONS
|
|
10724
11670
|
}), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
|
|
10725
11671
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
10726
11672
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
10727
11673
|
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
10728
|
-
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.
|
|
11674
|
+
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
10729
11675
|
}));
|
|
10730
11676
|
var init_preview_auth = __esmMin((() => {
|
|
10731
11677
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
@@ -14369,119 +15315,6 @@ var init_blockFlow = __esmMin((() => {
|
|
|
14369
15315
|
init_types$7();
|
|
14370
15316
|
}));
|
|
14371
15317
|
//#endregion
|
|
14372
|
-
//#region ../theme-core/src/tokens/tokens.ts
|
|
14373
|
-
var defaultThemeTokens;
|
|
14374
|
-
var init_tokens$1 = __esmMin((() => {
|
|
14375
|
-
defaultThemeTokens = {
|
|
14376
|
-
color: {
|
|
14377
|
-
"background/base": "#ffffff",
|
|
14378
|
-
"background/elevated": "#f5f5f5",
|
|
14379
|
-
"surface/base": "#ffffff",
|
|
14380
|
-
"surface/subtle": "#f9f9fb",
|
|
14381
|
-
"surface/inverted": "#111111",
|
|
14382
|
-
"content/primary": "#111111",
|
|
14383
|
-
"content/secondary": "#3f3f46",
|
|
14384
|
-
"accent/primary": "#2563eb",
|
|
14385
|
-
"accent/secondary": "#1d4ed8",
|
|
14386
|
-
"border/base": "#e5e7eb"
|
|
14387
|
-
},
|
|
14388
|
-
typography: {
|
|
14389
|
-
"display/hero": {
|
|
14390
|
-
fontSize: "clamp(48px, 8vw, 96px)",
|
|
14391
|
-
lineHeight: "1.05",
|
|
14392
|
-
fontWeight: "700"
|
|
14393
|
-
},
|
|
14394
|
-
"display/section": {
|
|
14395
|
-
fontSize: "clamp(40px, 6vw, 72px)",
|
|
14396
|
-
lineHeight: "1.1",
|
|
14397
|
-
fontWeight: "700"
|
|
14398
|
-
},
|
|
14399
|
-
"heading/large": {
|
|
14400
|
-
fontSize: "clamp(32px, 4vw, 48px)",
|
|
14401
|
-
lineHeight: "1.2",
|
|
14402
|
-
fontWeight: "600"
|
|
14403
|
-
},
|
|
14404
|
-
"heading/medium": {
|
|
14405
|
-
fontSize: "clamp(24px, 3vw, 32px)",
|
|
14406
|
-
lineHeight: "1.25",
|
|
14407
|
-
fontWeight: "600"
|
|
14408
|
-
},
|
|
14409
|
-
"heading/small": {
|
|
14410
|
-
fontSize: "20px",
|
|
14411
|
-
lineHeight: "1.3",
|
|
14412
|
-
fontWeight: "600"
|
|
14413
|
-
},
|
|
14414
|
-
"body/normal": {
|
|
14415
|
-
fontSize: "16px",
|
|
14416
|
-
lineHeight: "1.6",
|
|
14417
|
-
fontWeight: "400"
|
|
14418
|
-
},
|
|
14419
|
-
"body/small": {
|
|
14420
|
-
fontSize: "14px",
|
|
14421
|
-
lineHeight: "1.5",
|
|
14422
|
-
fontWeight: "400"
|
|
14423
|
-
},
|
|
14424
|
-
caption: {
|
|
14425
|
-
fontSize: "12px",
|
|
14426
|
-
lineHeight: "1.4",
|
|
14427
|
-
fontWeight: "500"
|
|
14428
|
-
}
|
|
14429
|
-
},
|
|
14430
|
-
spacing: {
|
|
14431
|
-
none: "0px",
|
|
14432
|
-
"3xs": "4px",
|
|
14433
|
-
"2xs": "8px",
|
|
14434
|
-
xs: "12px",
|
|
14435
|
-
sm: "16px",
|
|
14436
|
-
md: "24px",
|
|
14437
|
-
lg: "32px",
|
|
14438
|
-
xl: "40px",
|
|
14439
|
-
"2xl": "56px",
|
|
14440
|
-
"3xl": "72px"
|
|
14441
|
-
},
|
|
14442
|
-
radius: {
|
|
14443
|
-
none: "0px",
|
|
14444
|
-
xs: "2px",
|
|
14445
|
-
sm: "4px",
|
|
14446
|
-
md: "8px",
|
|
14447
|
-
lg: "12px",
|
|
14448
|
-
pill: "999px",
|
|
14449
|
-
full: "9999px"
|
|
14450
|
-
},
|
|
14451
|
-
shadow: {
|
|
14452
|
-
none: "none",
|
|
14453
|
-
soft: "0px 2px 8px rgba(15, 23, 42, 0.08)",
|
|
14454
|
-
medium: "0px 6px 18px rgba(15, 23, 42, 0.12)",
|
|
14455
|
-
strong: "0px 12px 36px rgba(15, 23, 42, 0.16)"
|
|
14456
|
-
},
|
|
14457
|
-
palette: {
|
|
14458
|
-
surface: "#ffffff",
|
|
14459
|
-
"neutral-50": "#f9fafb",
|
|
14460
|
-
"neutral-900": "#111827",
|
|
14461
|
-
primary: "#2563eb",
|
|
14462
|
-
"primary-50": "#eff6ff",
|
|
14463
|
-
"primary-500": "#2563eb",
|
|
14464
|
-
"primary-900": "#1d4ed8",
|
|
14465
|
-
secondary: "#9333ea",
|
|
14466
|
-
"secondary-50": "#f3e8ff",
|
|
14467
|
-
"secondary-500": "#9333ea",
|
|
14468
|
-
"secondary-900": "#4c1d95",
|
|
14469
|
-
accent: "#f97316",
|
|
14470
|
-
"accent-50": "#fff7ed",
|
|
14471
|
-
"accent-500": "#f97316",
|
|
14472
|
-
"accent-900": "#7c2d12"
|
|
14473
|
-
}
|
|
14474
|
-
};
|
|
14475
|
-
}));
|
|
14476
|
-
//#endregion
|
|
14477
|
-
//#region ../theme-core/src/tokens/index.ts
|
|
14478
|
-
var init_tokens = __esmMin((() => {
|
|
14479
|
-
init_tokens$1();
|
|
14480
|
-
init_blockColorTokens();
|
|
14481
|
-
init_themeColorTokens();
|
|
14482
|
-
init_colorTokenParts();
|
|
14483
|
-
}));
|
|
14484
|
-
//#endregion
|
|
14485
15318
|
//#region ../theme-core/src/site-styles/backgroundAppearance.ts
|
|
14486
15319
|
function parseBackgroundAppearanceColorToken(value) {
|
|
14487
15320
|
if (typeof value !== "string") return null;
|
|
@@ -18481,6 +19314,7 @@ var init_headerPreferencesPersistence = __esmMin((() => {
|
|
|
18481
19314
|
//#endregion
|
|
18482
19315
|
//#region ../theme-core/src/site-styles/headerOpeningForeground.ts
|
|
18483
19316
|
var init_headerOpeningForeground = __esmMin((() => {
|
|
19317
|
+
init_foregroundInteraction();
|
|
18484
19318
|
init_tokens();
|
|
18485
19319
|
}));
|
|
18486
19320
|
//#endregion
|
|
@@ -18914,6 +19748,7 @@ var init_legacyNavLinkStyle = __esmMin((() => {
|
|
|
18914
19748
|
//#endregion
|
|
18915
19749
|
//#region ../theme-core/src/header/generateHeaderCss.ts
|
|
18916
19750
|
var init_generateHeaderCss = __esmMin((() => {
|
|
19751
|
+
init_resolver$2();
|
|
18917
19752
|
init_generateNavLinkCSS();
|
|
18918
19753
|
init_siteChromeNavPreferences();
|
|
18919
19754
|
init_shared$4();
|
|
@@ -18932,6 +19767,7 @@ var init_header = __esmMin((() => {
|
|
|
18932
19767
|
//#endregion
|
|
18933
19768
|
//#region ../theme-core/src/footer/generateFooterCss.ts
|
|
18934
19769
|
var init_generateFooterCss = __esmMin((() => {
|
|
19770
|
+
init_resolver$2();
|
|
18935
19771
|
init_generateNavLinkCSS();
|
|
18936
19772
|
init_presets$1();
|
|
18937
19773
|
}));
|
|
@@ -19655,6 +20491,7 @@ var init_buildThemeRuntimeFromBridge = __esmMin((() => {
|
|
|
19655
20491
|
init_core$1();
|
|
19656
20492
|
init_core$2();
|
|
19657
20493
|
init_status();
|
|
20494
|
+
init_typography$1();
|
|
19658
20495
|
init_blocks$2();
|
|
19659
20496
|
z.object({
|
|
19660
20497
|
tokens: z.record(z.string(), z.string()),
|
|
@@ -21831,7 +22668,7 @@ var init_semantic = __esmMin((() => {
|
|
|
21831
22668
|
}));
|
|
21832
22669
|
//#endregion
|
|
21833
22670
|
//#region ../blocks/src/system/icons/value.ts
|
|
21834
|
-
function isRecord$
|
|
22671
|
+
function isRecord$8(value) {
|
|
21835
22672
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
21836
22673
|
}
|
|
21837
22674
|
function parseBlockIconValue(value) {
|
|
@@ -21839,7 +22676,7 @@ function parseBlockIconValue(value) {
|
|
|
21839
22676
|
kind: "semantic",
|
|
21840
22677
|
iconId: value
|
|
21841
22678
|
};
|
|
21842
|
-
if (!isRecord$
|
|
22679
|
+
if (!isRecord$8(value)) return NO_BLOCK_ICON_VALUE;
|
|
21843
22680
|
switch (value.kind) {
|
|
21844
22681
|
case "none": return NO_BLOCK_ICON_VALUE;
|
|
21845
22682
|
case "semantic": return isSemanticIconId$1(value.iconId) ? {
|
|
@@ -27510,102 +28347,31 @@ var init_newsletterForm = __esmMin((() => {
|
|
|
27510
28347
|
description: "Newsletter subscription form with preset field configurations.",
|
|
27511
28348
|
fields: [
|
|
27512
28349
|
{
|
|
27513
|
-
id: "
|
|
27514
|
-
type: "
|
|
27515
|
-
label: "
|
|
27516
|
-
description: "Choose
|
|
27517
|
-
defaultValue: "
|
|
27518
|
-
required:
|
|
27519
|
-
ui: { intent: "behavior" },
|
|
27520
|
-
options: [{
|
|
27521
|
-
value: "riverbank",
|
|
27522
|
-
label: "Riverbank newsletter"
|
|
27523
|
-
}]
|
|
27524
|
-
},
|
|
27525
|
-
{
|
|
27526
|
-
id: "listId",
|
|
27527
|
-
type: "reference",
|
|
27528
|
-
label: "Newsletter list",
|
|
27529
|
-
description: "Select the list new subscribers should be added to.",
|
|
27530
|
-
required: false,
|
|
27531
|
-
referenceKind: "newsletterList",
|
|
27532
|
-
allowManualEntry: false,
|
|
27533
|
-
ui: {
|
|
27534
|
-
intent: "behavior",
|
|
27535
|
-
visibleWhen: {
|
|
27536
|
-
field: "destinationProvider",
|
|
27537
|
-
equals: "riverbank"
|
|
27538
|
-
}
|
|
27539
|
-
}
|
|
27540
|
-
},
|
|
27541
|
-
{
|
|
27542
|
-
id: "mailchimpAudienceId",
|
|
27543
|
-
type: "reference",
|
|
27544
|
-
label: "Mailchimp audience",
|
|
27545
|
-
description: "Choose the Mailchimp audience for new subscribers.",
|
|
27546
|
-
required: false,
|
|
27547
|
-
referenceKind: "mailchimpAudience",
|
|
27548
|
-
allowManualEntry: false,
|
|
27549
|
-
ui: {
|
|
27550
|
-
intent: "behavior",
|
|
27551
|
-
visibleWhen: {
|
|
27552
|
-
field: "destinationProvider",
|
|
27553
|
-
equals: "mailchimp"
|
|
27554
|
-
}
|
|
27555
|
-
}
|
|
27556
|
-
},
|
|
27557
|
-
{
|
|
27558
|
-
id: "mailchimpTags",
|
|
27559
|
-
type: "text",
|
|
27560
|
-
label: "Mailchimp tags",
|
|
27561
|
-
description: "Optional tags to apply in Mailchimp, separated by commas or semicolons.",
|
|
28350
|
+
id: "targeting",
|
|
28351
|
+
type: "group",
|
|
28352
|
+
label: "Mailing-list targeting",
|
|
28353
|
+
description: "Choose what kind of emails people signing up here will receive.",
|
|
28354
|
+
defaultValue: { mode: "default" },
|
|
28355
|
+
required: true,
|
|
27562
28356
|
ui: {
|
|
27563
28357
|
intent: "behavior",
|
|
27564
|
-
|
|
27565
|
-
|
|
27566
|
-
|
|
27567
|
-
|
|
27568
|
-
|
|
27569
|
-
|
|
27570
|
-
|
|
27571
|
-
|
|
27572
|
-
|
|
27573
|
-
|
|
27574
|
-
|
|
27575
|
-
|
|
27576
|
-
|
|
27577
|
-
|
|
27578
|
-
|
|
27579
|
-
|
|
27580
|
-
|
|
27581
|
-
},
|
|
27582
|
-
{
|
|
27583
|
-
value: "emailName",
|
|
27584
|
-
label: "Email + Name"
|
|
27585
|
-
},
|
|
27586
|
-
{
|
|
27587
|
-
value: "emailFirstLast",
|
|
27588
|
-
label: "Email + First/Last Name"
|
|
27589
|
-
},
|
|
27590
|
-
{
|
|
27591
|
-
value: "emailNameCompany",
|
|
27592
|
-
label: "Email + Name + Company (B2B)"
|
|
27593
|
-
}
|
|
27594
|
-
]
|
|
27595
|
-
},
|
|
27596
|
-
{
|
|
27597
|
-
id: "includePhone",
|
|
27598
|
-
type: "boolean",
|
|
27599
|
-
label: "Include phone field (optional)",
|
|
27600
|
-
description: "Adds an optional phone field to the selected preset (never required).",
|
|
27601
|
-
defaultValue: false,
|
|
27602
|
-
ui: { intent: "display" }
|
|
27603
|
-
},
|
|
27604
|
-
{
|
|
27605
|
-
id: "buttonLabel",
|
|
27606
|
-
type: "text",
|
|
27607
|
-
label: "Button label",
|
|
27608
|
-
defaultValue: "Subscribe"
|
|
28358
|
+
widget: "mailingListTargeting"
|
|
28359
|
+
},
|
|
28360
|
+
schema: { fields: [{
|
|
28361
|
+
id: "mode",
|
|
28362
|
+
type: "select",
|
|
28363
|
+
label: "Mode",
|
|
28364
|
+
required: true,
|
|
28365
|
+
defaultValue: "default",
|
|
28366
|
+
options: [{
|
|
28367
|
+
value: "default",
|
|
28368
|
+
label: "Default"
|
|
28369
|
+
}, {
|
|
28370
|
+
value: "custom",
|
|
28371
|
+
label: "Custom"
|
|
28372
|
+
}],
|
|
28373
|
+
ui: { hidden: true }
|
|
28374
|
+
}] }
|
|
27609
28375
|
},
|
|
27610
28376
|
createButtonVariantField({
|
|
27611
28377
|
id: "buttonVariant",
|
|
@@ -27613,46 +28379,42 @@ var init_newsletterForm = __esmMin((() => {
|
|
|
27613
28379
|
defaultValue: "primary"
|
|
27614
28380
|
}),
|
|
27615
28381
|
{
|
|
27616
|
-
id: "
|
|
28382
|
+
id: "mailingListSource",
|
|
27617
28383
|
type: "text",
|
|
27618
|
-
label: "
|
|
27619
|
-
|
|
27620
|
-
|
|
27621
|
-
|
|
27622
|
-
|
|
27623
|
-
id: "privacyNote",
|
|
27624
|
-
type: "text",
|
|
27625
|
-
label: "Privacy note",
|
|
27626
|
-
description: "Optional small text below the form (e.g., privacy policy link)."
|
|
28384
|
+
label: "Mailing-list source",
|
|
28385
|
+
ui: {
|
|
28386
|
+
hidden: true,
|
|
28387
|
+
intent: "behavior"
|
|
28388
|
+
}
|
|
27627
28389
|
},
|
|
27628
28390
|
{
|
|
27629
|
-
id: "
|
|
28391
|
+
id: "mailingListSourceToken",
|
|
27630
28392
|
type: "text",
|
|
27631
|
-
label: "
|
|
27632
|
-
description: "Optional tags to apply on subscribe (comma or semicolon separated).",
|
|
28393
|
+
label: "Mailing-list source token",
|
|
27633
28394
|
ui: {
|
|
27634
|
-
|
|
27635
|
-
|
|
27636
|
-
field: "destinationProvider",
|
|
27637
|
-
equals: "riverbank"
|
|
27638
|
-
}
|
|
28395
|
+
hidden: true,
|
|
28396
|
+
intent: "behavior"
|
|
27639
28397
|
}
|
|
27640
28398
|
}
|
|
27641
28399
|
],
|
|
27642
28400
|
layout: [el$1("newsletter-form", withApiBindings$1({
|
|
27643
|
-
source:
|
|
27644
|
-
|
|
27645
|
-
|
|
27646
|
-
|
|
27647
|
-
|
|
27648
|
-
|
|
28401
|
+
source: { $bind: {
|
|
28402
|
+
from: "mailingListSource",
|
|
28403
|
+
fallback: "block"
|
|
28404
|
+
} },
|
|
28405
|
+
sourceRef: {
|
|
28406
|
+
tag: "signed_source_ref",
|
|
28407
|
+
token: { $bind: { from: "mailingListSourceToken" } }
|
|
28408
|
+
},
|
|
28409
|
+
targeting: { $bind: {
|
|
28410
|
+
from: "targeting",
|
|
28411
|
+
fallback: { mode: "default" }
|
|
28412
|
+
} },
|
|
28413
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
27649
28414
|
buttonVariant: { $bind: {
|
|
27650
28415
|
from: "buttonVariant",
|
|
27651
28416
|
fallback: "primary"
|
|
27652
28417
|
} },
|
|
27653
|
-
successMessage: { $bind: { from: "successMessage" } },
|
|
27654
|
-
privacyNote: { $bind: { from: "privacyNote" } },
|
|
27655
|
-
tags: { $bind: { from: "tags" } },
|
|
27656
28418
|
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } }
|
|
27657
28419
|
}), [])]
|
|
27658
28420
|
});
|
|
@@ -30011,14 +30773,19 @@ var init_contact_newsletter = __esmMin((() => {
|
|
|
30011
30773
|
as: "h2",
|
|
30012
30774
|
className: "newsletter-copy-title"
|
|
30013
30775
|
}, when("newsletterTitle"), bind$1("newsletterTitle")), richText({ className: "newsletter-copy-subtitle rb-prose rb-max-w-none" }, when("newsletterSubtitle"), bind$1("newsletterSubtitle"))]), el$1("newsletter-form", withApiBindings$1({
|
|
30014
|
-
source:
|
|
30015
|
-
|
|
30016
|
-
|
|
30017
|
-
|
|
30018
|
-
|
|
30019
|
-
|
|
30020
|
-
|
|
30021
|
-
|
|
30776
|
+
source: { $bind: {
|
|
30777
|
+
from: "mailingListSource",
|
|
30778
|
+
fallback: "block"
|
|
30779
|
+
} },
|
|
30780
|
+
sourceRef: {
|
|
30781
|
+
tag: "signed_source_ref",
|
|
30782
|
+
token: { $bind: { from: "mailingListSourceToken" } }
|
|
30783
|
+
},
|
|
30784
|
+
targeting: { $bind: {
|
|
30785
|
+
from: "targeting",
|
|
30786
|
+
fallback: { mode: "default" }
|
|
30787
|
+
} },
|
|
30788
|
+
mailingList: { $bind: { from: "$root.mailingList" } },
|
|
30022
30789
|
spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } }
|
|
30023
30790
|
}), [])])])], { className: "contact-newsletter-container" }),
|
|
30024
30791
|
baseClass: "",
|
|
@@ -30053,79 +30820,55 @@ var init_contact_newsletter = __esmMin((() => {
|
|
|
30053
30820
|
label: "Newsletter intro"
|
|
30054
30821
|
},
|
|
30055
30822
|
{
|
|
30056
|
-
id: "
|
|
30057
|
-
type: "
|
|
30058
|
-
label: "
|
|
30059
|
-
description: "
|
|
30823
|
+
id: "targeting",
|
|
30824
|
+
type: "group",
|
|
30825
|
+
label: "Mailing-list targeting",
|
|
30826
|
+
description: "Choose what kind of emails people signing up here will receive.",
|
|
30060
30827
|
required: true,
|
|
30061
|
-
|
|
30062
|
-
|
|
30063
|
-
|
|
30064
|
-
|
|
30065
|
-
|
|
30066
|
-
|
|
30067
|
-
|
|
30068
|
-
|
|
30069
|
-
|
|
30070
|
-
|
|
30071
|
-
|
|
30072
|
-
{
|
|
30073
|
-
value: "
|
|
30074
|
-
label: "
|
|
30075
|
-
},
|
|
30076
|
-
|
|
30077
|
-
|
|
30078
|
-
|
|
30079
|
-
}
|
|
30080
|
-
|
|
30081
|
-
value: "emailFirstLast",
|
|
30082
|
-
label: "Email + First/Last Name"
|
|
30083
|
-
},
|
|
30084
|
-
{
|
|
30085
|
-
value: "emailNameCompany",
|
|
30086
|
-
label: "Email + Name + Company (B2B)"
|
|
30087
|
-
}
|
|
30088
|
-
]
|
|
30089
|
-
},
|
|
30090
|
-
{
|
|
30091
|
-
id: "includePhone",
|
|
30092
|
-
type: "boolean",
|
|
30093
|
-
label: "Include phone field",
|
|
30094
|
-
defaultValue: false,
|
|
30095
|
-
ui: { intent: "display" }
|
|
30096
|
-
},
|
|
30097
|
-
{
|
|
30098
|
-
id: "newsletterButtonLabel",
|
|
30099
|
-
type: "text",
|
|
30100
|
-
label: "Newsletter button label",
|
|
30101
|
-
defaultValue: "Subscribe",
|
|
30102
|
-
ui: { intent: "display" }
|
|
30103
|
-
},
|
|
30104
|
-
{
|
|
30105
|
-
id: "newsletterSuccessMessage",
|
|
30106
|
-
type: "text",
|
|
30107
|
-
label: "Newsletter success message",
|
|
30108
|
-
defaultValue: "Thanks for subscribing!",
|
|
30109
|
-
ui: { intent: "behavior" }
|
|
30828
|
+
defaultValue: { mode: "default" },
|
|
30829
|
+
ui: {
|
|
30830
|
+
intent: "behavior",
|
|
30831
|
+
widget: "mailingListTargeting"
|
|
30832
|
+
},
|
|
30833
|
+
schema: { fields: [{
|
|
30834
|
+
id: "mode",
|
|
30835
|
+
type: "select",
|
|
30836
|
+
label: "Mode",
|
|
30837
|
+
required: true,
|
|
30838
|
+
defaultValue: "default",
|
|
30839
|
+
options: [{
|
|
30840
|
+
value: "default",
|
|
30841
|
+
label: "Default"
|
|
30842
|
+
}, {
|
|
30843
|
+
value: "custom",
|
|
30844
|
+
label: "Custom"
|
|
30845
|
+
}],
|
|
30846
|
+
ui: { hidden: true }
|
|
30847
|
+
}] }
|
|
30110
30848
|
},
|
|
30111
30849
|
{
|
|
30112
|
-
id: "
|
|
30850
|
+
id: "contactTitle",
|
|
30113
30851
|
type: "text",
|
|
30114
|
-
label: "
|
|
30115
|
-
|
|
30852
|
+
label: "Contact title",
|
|
30853
|
+
defaultValue: "Get in touch"
|
|
30116
30854
|
},
|
|
30117
30855
|
{
|
|
30118
|
-
id: "
|
|
30856
|
+
id: "mailingListSource",
|
|
30119
30857
|
type: "text",
|
|
30120
|
-
label: "
|
|
30121
|
-
|
|
30122
|
-
|
|
30858
|
+
label: "Mailing-list source",
|
|
30859
|
+
ui: {
|
|
30860
|
+
hidden: true,
|
|
30861
|
+
intent: "behavior"
|
|
30862
|
+
}
|
|
30123
30863
|
},
|
|
30124
30864
|
{
|
|
30125
|
-
id: "
|
|
30865
|
+
id: "mailingListSourceToken",
|
|
30126
30866
|
type: "text",
|
|
30127
|
-
label: "
|
|
30128
|
-
|
|
30867
|
+
label: "Mailing-list source token",
|
|
30868
|
+
ui: {
|
|
30869
|
+
hidden: true,
|
|
30870
|
+
intent: "behavior"
|
|
30871
|
+
}
|
|
30129
30872
|
},
|
|
30130
30873
|
{
|
|
30131
30874
|
id: "contactIntro",
|
|
@@ -30305,7 +31048,7 @@ var init_faq = __esmMin((() => {
|
|
|
30305
31048
|
function toUnknownArray(value) {
|
|
30306
31049
|
return Array.isArray(value) ? value : [];
|
|
30307
31050
|
}
|
|
30308
|
-
var uppercaseTransform, fallbackTransform, dateFormatShort, arrayLengthTransform, jsonArrayTransform, csvTransform, marqueeLoopOptionsSchema, marqueeLoopTransform, mapTokenOptionsSchema, mapTokenTransform, formattingTransforms;
|
|
31051
|
+
var uppercaseTransform, fallbackTransform, dateFormatShort, arrayLengthTransform, booleanNotTransform, jsonArrayTransform, csvTransform, marqueeLoopOptionsSchema, marqueeLoopTransform, mapTokenOptionsSchema, mapTokenTransform, equalsTransform, formattingTransforms;
|
|
30309
31052
|
var init_formatting = __esmMin((() => {
|
|
30310
31053
|
uppercaseTransform = {
|
|
30311
31054
|
id: "string.uppercase",
|
|
@@ -30345,6 +31088,12 @@ var init_formatting = __esmMin((() => {
|
|
|
30345
31088
|
summary: "Get the length of an array",
|
|
30346
31089
|
run: (value) => Array.isArray(value) ? value.length : 0
|
|
30347
31090
|
};
|
|
31091
|
+
booleanNotTransform = {
|
|
31092
|
+
id: "boolean.not",
|
|
31093
|
+
kind: "formatter",
|
|
31094
|
+
summary: "Invert a boolean value; fail closed to false for other inputs",
|
|
31095
|
+
run: (value) => typeof value === "boolean" ? !value : false
|
|
31096
|
+
};
|
|
30348
31097
|
jsonArrayTransform = {
|
|
30349
31098
|
id: "value.jsonArray",
|
|
30350
31099
|
kind: "formatter",
|
|
@@ -30413,11 +31162,20 @@ var init_formatting = __esmMin((() => {
|
|
|
30413
31162
|
return role ? `rgb(var(--tb-${role}))` : void 0;
|
|
30414
31163
|
}
|
|
30415
31164
|
};
|
|
31165
|
+
equalsTransform = {
|
|
31166
|
+
id: "value.equals",
|
|
31167
|
+
kind: "formatter",
|
|
31168
|
+
summary: "Compare a value to a fixed string",
|
|
31169
|
+
schema: z.object({ value: z.string() }),
|
|
31170
|
+
run: (value, options) => value === options.value
|
|
31171
|
+
};
|
|
30416
31172
|
formattingTransforms = [
|
|
31173
|
+
equalsTransform,
|
|
30417
31174
|
uppercaseTransform,
|
|
30418
31175
|
fallbackTransform,
|
|
30419
31176
|
dateFormatShort,
|
|
30420
31177
|
arrayLengthTransform,
|
|
31178
|
+
booleanNotTransform,
|
|
30421
31179
|
jsonArrayTransform,
|
|
30422
31180
|
csvTransform,
|
|
30423
31181
|
marqueeLoopTransform,
|
|
@@ -31466,16 +32224,16 @@ var init_media$1 = __esmMin((() => {
|
|
|
31466
32224
|
//#region ../blocks/src/system/transforms/registry/content.ts
|
|
31467
32225
|
function getSiteName(context) {
|
|
31468
32226
|
const viewModel = context.viewModel;
|
|
31469
|
-
if (!isRecord$
|
|
32227
|
+
if (!isRecord$9(viewModel)) return null;
|
|
31470
32228
|
const site = viewModel.site;
|
|
31471
|
-
if (isRecord$
|
|
32229
|
+
if (isRecord$9(site) && typeof site.title === "string") {
|
|
31472
32230
|
const title = site.title.trim();
|
|
31473
32231
|
return title.length > 0 ? title : null;
|
|
31474
32232
|
}
|
|
31475
32233
|
const root = viewModel.$root;
|
|
31476
|
-
if (isRecord$
|
|
32234
|
+
if (isRecord$9(root)) {
|
|
31477
32235
|
const rootSite = root.site;
|
|
31478
|
-
if (isRecord$
|
|
32236
|
+
if (isRecord$9(rootSite) && typeof rootSite.title === "string") {
|
|
31479
32237
|
const title = rootSite.title.trim();
|
|
31480
32238
|
if (title.length > 0) return title;
|
|
31481
32239
|
}
|
|
@@ -31497,7 +32255,7 @@ function replaceTokenText(input, allowedTokens, tokenValues) {
|
|
|
31497
32255
|
});
|
|
31498
32256
|
}
|
|
31499
32257
|
function visitRichTextNode(node, allowedTokens, tokenValues) {
|
|
31500
|
-
if (!isRecord$
|
|
32258
|
+
if (!isRecord$9(node)) return node;
|
|
31501
32259
|
let changed = false;
|
|
31502
32260
|
const nextNode = { ...node };
|
|
31503
32261
|
if (nextNode.type === "text" && typeof nextNode.text === "string") {
|
|
@@ -31518,7 +32276,7 @@ function visitRichTextNode(node, allowedTokens, tokenValues) {
|
|
|
31518
32276
|
return changed ? nextNode : node;
|
|
31519
32277
|
}
|
|
31520
32278
|
function interpolateRichTextTokens(value, options, context) {
|
|
31521
|
-
if (!isRecord$
|
|
32279
|
+
if (!isRecord$9(value)) return value;
|
|
31522
32280
|
return visitRichTextNode(value, new Set(options.tokens), {
|
|
31523
32281
|
year: String((/* @__PURE__ */ new Date()).getFullYear()),
|
|
31524
32282
|
site_name: getSiteName(context)
|
|
@@ -31924,13 +32682,9 @@ var init_site_footer = __esmMin((() => {
|
|
|
31924
32682
|
};
|
|
31925
32683
|
footerMailingListBindings = {
|
|
31926
32684
|
source: { $bind: { from: "module.engagement.runtime.source" } },
|
|
31927
|
-
|
|
31928
|
-
|
|
31929
|
-
|
|
31930
|
-
includePhone: { $bind: { from: "module.engagement.runtime.includePhone" } },
|
|
31931
|
-
buttonLabel: { $bind: { from: "module.engagement.runtime.buttonLabel" } },
|
|
31932
|
-
successMessage: { $bind: { from: "module.engagement.runtime.successMessage" } },
|
|
31933
|
-
privacyNote: { $bind: { from: "module.engagement.runtime.privacyNote" } }
|
|
32685
|
+
sourceRef: { $bind: { from: "module.engagement.runtime.sourceRef" } },
|
|
32686
|
+
mailingList: { $bind: { from: "module.engagement.runtime.mailingList" } },
|
|
32687
|
+
targeting: { $bind: { from: "module.engagement.runtime.targeting" } }
|
|
31934
32688
|
};
|
|
31935
32689
|
footerSpamProtectionBinding = { spamProtectionEnabled: { $bind: { from: "$root.spamProtectionEnabled" } } };
|
|
31936
32690
|
brandLogo = link({
|
|
@@ -33684,6 +34438,89 @@ var init_appointment_booking = __esmMin((() => {
|
|
|
33684
34438
|
};
|
|
33685
34439
|
}));
|
|
33686
34440
|
//#endregion
|
|
34441
|
+
//#region ../blocks/src/system/blocks/appointment-services.tsx
|
|
34442
|
+
var appointmentServicesManifest, appointmentServicesBlockDefinition;
|
|
34443
|
+
var init_appointment_services = __esmMin((() => {
|
|
34444
|
+
init_builder$1();
|
|
34445
|
+
init_styledSection();
|
|
34446
|
+
init_fragments$1();
|
|
34447
|
+
init_boxStyles$1();
|
|
34448
|
+
init_defineBlock();
|
|
34449
|
+
appointmentServicesManifest = createBlockManifest({
|
|
34450
|
+
id: "block.appointment-services",
|
|
34451
|
+
version: "1.0.0",
|
|
34452
|
+
title: "Appointment Services",
|
|
34453
|
+
titleSource: "heading",
|
|
34454
|
+
description: "List public appointment services with booking links",
|
|
34455
|
+
skipSectionStyles: true,
|
|
34456
|
+
additionalFields: [
|
|
34457
|
+
{
|
|
34458
|
+
id: "heading",
|
|
34459
|
+
type: "text",
|
|
34460
|
+
label: "Heading",
|
|
34461
|
+
required: false,
|
|
34462
|
+
multiline: false,
|
|
34463
|
+
defaultValue: "Appointments",
|
|
34464
|
+
ui: { intent: "content" }
|
|
34465
|
+
},
|
|
34466
|
+
{
|
|
34467
|
+
id: "description",
|
|
34468
|
+
type: "richText",
|
|
34469
|
+
label: "Description",
|
|
34470
|
+
required: false,
|
|
34471
|
+
ui: { intent: "content" }
|
|
34472
|
+
},
|
|
34473
|
+
sectionStylesField({
|
|
34474
|
+
id: "_sectionStyles",
|
|
34475
|
+
label: "Section styles",
|
|
34476
|
+
renderInHeader: false
|
|
34477
|
+
})
|
|
34478
|
+
],
|
|
34479
|
+
styleTokens: {
|
|
34480
|
+
background: "surface",
|
|
34481
|
+
typography: "body",
|
|
34482
|
+
spacing: "md"
|
|
34483
|
+
},
|
|
34484
|
+
behaviours: {
|
|
34485
|
+
supportsThemeSwitching: true,
|
|
34486
|
+
inlineEditing: true,
|
|
34487
|
+
animation: false,
|
|
34488
|
+
paletteHidden: false
|
|
34489
|
+
},
|
|
34490
|
+
category: "interactive",
|
|
34491
|
+
contentSource: { kind: "inline" },
|
|
34492
|
+
tags: [
|
|
34493
|
+
"booking",
|
|
34494
|
+
"appointment",
|
|
34495
|
+
"services",
|
|
34496
|
+
"scheduling"
|
|
34497
|
+
],
|
|
34498
|
+
icon: "CalendarDays",
|
|
34499
|
+
layout: [styledSection({
|
|
34500
|
+
baseClass: "",
|
|
34501
|
+
spacing: "spacious",
|
|
34502
|
+
children: sectionContainer([
|
|
34503
|
+
text({ as: "h2" }, bind$1("content.heading"), when("content.heading")),
|
|
34504
|
+
richText({ className: "rb-prose rb-max-w-none" }, bind$1("content.description"), when("content.description")),
|
|
34505
|
+
el$1("appointment-services", {
|
|
34506
|
+
sectionHeading: { $bind: { from: "content.heading" } },
|
|
34507
|
+
services: { $bind: { from: "data.services" } },
|
|
34508
|
+
pathname: { $bind: { from: "$root.pathname" } }
|
|
34509
|
+
})
|
|
34510
|
+
], { gap: "lg" })
|
|
34511
|
+
})]
|
|
34512
|
+
});
|
|
34513
|
+
appointmentServicesBlockDefinition = {
|
|
34514
|
+
manifest: appointmentServicesManifest,
|
|
34515
|
+
dataSchemas: { services: z.unknown().optional() },
|
|
34516
|
+
dataLoaders: { services: {
|
|
34517
|
+
endpoint: "getPublicBookingServices",
|
|
34518
|
+
params: { siteId: { $bind: { from: "$root.siteId" } } },
|
|
34519
|
+
mode: "server"
|
|
34520
|
+
} }
|
|
34521
|
+
};
|
|
34522
|
+
}));
|
|
34523
|
+
//#endregion
|
|
33687
34524
|
//#region ../blocks/src/system/blocks/weekly-slot-availability.ts
|
|
33688
34525
|
var weeklySlotAvailabilityManifest, weeklySlotAvailabilityOptionSchema, weeklySlotAvailabilityDataSchema, weeklySlotAvailabilityBlockDefinition;
|
|
33689
34526
|
var init_weekly_slot_availability = __esmMin((() => {
|
|
@@ -33950,7 +34787,7 @@ var init_runGrouping = __esmMin((() => {}));
|
|
|
33950
34787
|
//#endregion
|
|
33951
34788
|
//#region ../blocks/src/system/blocks/events/shared/fields.ts
|
|
33952
34789
|
var cardStylingFields, eventDisplayFields, emptyStateField, sectionHeaderFields, layoutField, columnsField;
|
|
33953
|
-
var init_fields = __esmMin((() => {
|
|
34790
|
+
var init_fields$1 = __esmMin((() => {
|
|
33954
34791
|
init_button();
|
|
33955
34792
|
init_boxStyles$1();
|
|
33956
34793
|
cardStylingFields = [
|
|
@@ -34096,7 +34933,7 @@ var init_shared$2 = __esmMin((() => {
|
|
|
34096
34933
|
init_types$2();
|
|
34097
34934
|
init_schemas();
|
|
34098
34935
|
init_runGrouping();
|
|
34099
|
-
init_fields();
|
|
34936
|
+
init_fields$1();
|
|
34100
34937
|
init_filtering();
|
|
34101
34938
|
init_layout$1();
|
|
34102
34939
|
}));
|
|
@@ -34220,6 +35057,9 @@ var init_eventScope = __esmMin((() => {
|
|
|
34220
35057
|
//#region ../blocks/src/system/runtime/nodes/events/domain/capacity.ts
|
|
34221
35058
|
var init_capacity = __esmMin((() => {}));
|
|
34222
35059
|
//#endregion
|
|
35060
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/bookability.ts
|
|
35061
|
+
var init_bookability = __esmMin((() => {}));
|
|
35062
|
+
//#endregion
|
|
34223
35063
|
//#region ../blocks/src/system/runtime/nodes/events/domain/cta.ts
|
|
34224
35064
|
var init_cta$1 = __esmMin((() => {}));
|
|
34225
35065
|
//#endregion
|
|
@@ -34227,11 +35067,11 @@ var init_cta$1 = __esmMin((() => {}));
|
|
|
34227
35067
|
var init_dates = __esmMin((() => {}));
|
|
34228
35068
|
//#endregion
|
|
34229
35069
|
//#region ../blocks/src/system/runtime/nodes/events/domain/destination.ts
|
|
34230
|
-
function isRecord$
|
|
35070
|
+
function isRecord$7(value) {
|
|
34231
35071
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
34232
35072
|
}
|
|
34233
35073
|
function isRuntimeEventDestination(value) {
|
|
34234
|
-
if (!isRecord$
|
|
35074
|
+
if (!isRecord$7(value) || typeof value.kind !== "string") return false;
|
|
34235
35075
|
if (value.kind === "native") return (value.mode === "cms-managed" || value.mode === "system-managed") && typeof value.path === "string";
|
|
34236
35076
|
return value.kind === "external" && typeof value.url === "string" && typeof value.label === "string";
|
|
34237
35077
|
}
|
|
@@ -34245,20 +35085,33 @@ function resolveRuntimeEventDestination(event) {
|
|
|
34245
35085
|
}
|
|
34246
35086
|
var init_destination = __esmMin((() => {}));
|
|
34247
35087
|
//#endregion
|
|
35088
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/duration.ts
|
|
35089
|
+
var init_duration = __esmMin((() => {}));
|
|
35090
|
+
//#endregion
|
|
35091
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/location.ts
|
|
35092
|
+
var init_location = __esmMin((() => {}));
|
|
35093
|
+
//#endregion
|
|
34248
35094
|
//#region ../blocks/src/system/runtime/nodes/events/domain/people.ts
|
|
34249
35095
|
var init_people = __esmMin((() => {}));
|
|
34250
35096
|
//#endregion
|
|
34251
35097
|
//#region ../blocks/src/system/runtime/nodes/events/domain/pricing.ts
|
|
34252
35098
|
var init_pricing = __esmMin((() => {}));
|
|
34253
35099
|
//#endregion
|
|
35100
|
+
//#region ../blocks/src/system/runtime/nodes/events/domain/quickDates.ts
|
|
35101
|
+
var init_quickDates = __esmMin((() => {}));
|
|
35102
|
+
//#endregion
|
|
34254
35103
|
//#region ../blocks/src/system/runtime/nodes/events/domain/index.ts
|
|
34255
35104
|
var init_domain = __esmMin((() => {
|
|
34256
35105
|
init_capacity();
|
|
35106
|
+
init_bookability();
|
|
34257
35107
|
init_cta$1();
|
|
34258
35108
|
init_dates();
|
|
34259
35109
|
init_destination();
|
|
35110
|
+
init_duration();
|
|
35111
|
+
init_location();
|
|
34260
35112
|
init_people();
|
|
34261
35113
|
init_pricing();
|
|
35114
|
+
init_quickDates();
|
|
34262
35115
|
}));
|
|
34263
35116
|
//#endregion
|
|
34264
35117
|
//#region ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
@@ -34383,9 +35236,52 @@ var init_registrationEventAdapter = __esmMin((() => {
|
|
|
34383
35236
|
init_runGrouping();
|
|
34384
35237
|
}));
|
|
34385
35238
|
//#endregion
|
|
35239
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.ts
|
|
35240
|
+
function resolveEventRegistrationEventSource(input) {
|
|
35241
|
+
if (input.wholeSeriesRunEvents != null) return {
|
|
35242
|
+
kind: "loaded",
|
|
35243
|
+
events: input.wholeSeriesRunEvents
|
|
35244
|
+
};
|
|
35245
|
+
if (input.events != null) return {
|
|
35246
|
+
kind: "loaded",
|
|
35247
|
+
events: input.events
|
|
35248
|
+
};
|
|
35249
|
+
return {
|
|
35250
|
+
kind: "unresolved",
|
|
35251
|
+
request: parseEventLoaderRecoveryRequest(input.failures?.wholeSeriesRunEvents ?? input.failures?.events)
|
|
35252
|
+
};
|
|
35253
|
+
}
|
|
35254
|
+
function parseEventLoaderRecoveryRequest(value) {
|
|
35255
|
+
const parsed = eventLoaderFailureSchema.safeParse(value);
|
|
35256
|
+
if (!parsed.success) return null;
|
|
35257
|
+
const { siteId: _siteId, stage, ...params } = parsed.data.params;
|
|
35258
|
+
return {
|
|
35259
|
+
...params,
|
|
35260
|
+
stage: stage ?? "published"
|
|
35261
|
+
};
|
|
35262
|
+
}
|
|
35263
|
+
var _rawLimit, _rawEventSurface, _rawScheduleScope, _rawDetailLevel, stringEventQueryShape, eventRecoveryRequestSchema, eventLoaderFailureSchema;
|
|
35264
|
+
var init_eventSourceRecovery = __esmMin((() => {
|
|
35265
|
+
init_schemas();
|
|
35266
|
+
init_filtering();
|
|
35267
|
+
({limit: _rawLimit, eventSurface: _rawEventSurface, scheduleScope: _rawScheduleScope, detailLevel: _rawDetailLevel, ...stringEventQueryShape} = publicEventLoaderQuerySchemaShape);
|
|
35268
|
+
eventRecoveryRequestSchema = z.object({
|
|
35269
|
+
...stringEventQueryShape,
|
|
35270
|
+
limit: z.coerce.number().int().positive().optional(),
|
|
35271
|
+
eventSurface: z.enum(eventSurfaceScopeValues).optional(),
|
|
35272
|
+
scheduleScope: z.enum(eventScheduleScopeValues).optional(),
|
|
35273
|
+
detailLevel: z.enum(["full", "listing"]).optional(),
|
|
35274
|
+
stage: z.enum(["preview", "published"]).optional()
|
|
35275
|
+
});
|
|
35276
|
+
eventLoaderFailureSchema = z.object({
|
|
35277
|
+
endpoint: z.literal("listPublicEvents"),
|
|
35278
|
+
params: eventRecoveryRequestSchema.extend({ siteId: z.string().optional() })
|
|
35279
|
+
});
|
|
35280
|
+
}));
|
|
35281
|
+
//#endregion
|
|
34386
35282
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
34387
|
-
function
|
|
34388
|
-
const selectedRun = resolveSelectedWholeSeriesRun(
|
|
35283
|
+
function buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents) {
|
|
35284
|
+
const selectedRun = resolveSelectedWholeSeriesRun(scopedSourceEvents);
|
|
34389
35285
|
if (selectedRun && (!selectedRun.run.enrollmentOpen || toWholeSeriesRegistrationEvent(selectedRun) === null)) return {
|
|
34390
35286
|
kind: "event-registration",
|
|
34391
35287
|
state: "registration-closed",
|
|
@@ -34393,7 +35289,7 @@ function buildEventRegistrationDisplay(source) {
|
|
|
34393
35289
|
titleText: "Registration closed",
|
|
34394
35290
|
bodyText: "This run is no longer open for bookings."
|
|
34395
35291
|
};
|
|
34396
|
-
const stepLabels = buildEventRegistrationShellStepLabels(source);
|
|
35292
|
+
const stepLabels = buildEventRegistrationShellStepLabels(source, scopedSourceEvents);
|
|
34397
35293
|
return {
|
|
34398
35294
|
kind: "event-registration",
|
|
34399
35295
|
state: "generic-shell",
|
|
@@ -34404,8 +35300,8 @@ function buildEventRegistrationDisplay(source) {
|
|
|
34404
35300
|
summaryButtonText: source.buttonText?.trim() || "Register"
|
|
34405
35301
|
};
|
|
34406
35302
|
}
|
|
34407
|
-
function buildEventRegistrationShellStepLabels(source) {
|
|
34408
|
-
const selectedRun = resolveSelectedWholeSeriesRun(
|
|
35303
|
+
function buildEventRegistrationShellStepLabels(source, scopedSourceEvents) {
|
|
35304
|
+
const selectedRun = resolveSelectedWholeSeriesRun(scopedSourceEvents);
|
|
34409
35305
|
if (selectedRun) {
|
|
34410
35306
|
const selectedEvent = toWholeSeriesRegistrationEvent(selectedRun);
|
|
34411
35307
|
if (!selectedEvent) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
@@ -34415,7 +35311,7 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
34415
35311
|
event: selectedEvent
|
|
34416
35312
|
})).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
|
|
34417
35313
|
}
|
|
34418
|
-
const scopedEvents =
|
|
35314
|
+
const scopedEvents = toScopedEventRegistrationEvents(scopedSourceEvents);
|
|
34419
35315
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
34420
35316
|
const preSelectedEvent = findPreSelectedEvent({
|
|
34421
35317
|
scopedEvents,
|
|
@@ -34428,21 +35324,11 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
34428
35324
|
event: preSelectedEvent
|
|
34429
35325
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
34430
35326
|
}
|
|
34431
|
-
function
|
|
34432
|
-
|
|
34433
|
-
return [...toRegistrationEvents(scoped), ...toWholeSeriesRegistrationEvents(scoped)];
|
|
35327
|
+
function toScopedEventRegistrationEvents(scopedSourceEvents) {
|
|
35328
|
+
return [...toRegistrationEvents(scopedSourceEvents), ...toWholeSeriesRegistrationEvents(scopedSourceEvents)];
|
|
34434
35329
|
}
|
|
34435
|
-
|
|
34436
|
-
|
|
34437
|
-
*
|
|
34438
|
-
* The date page and the run read answer different questions and can name the
|
|
34439
|
-
* same occurrence, so the two lists are joined and any occurrence that arrives
|
|
34440
|
-
* twice is kept once, in the order the date page gave it.
|
|
34441
|
-
*/
|
|
34442
|
-
function scopeEventRegistrationSourceEvents(source) {
|
|
34443
|
-
const byOccurrenceId = /* @__PURE__ */ new Map();
|
|
34444
|
-
for (const event of [...source.events ?? [], ...source.wholeSeriesRunEvents ?? []]) if (!byOccurrenceId.has(event.occurrenceId)) byOccurrenceId.set(event.occurrenceId, event);
|
|
34445
|
-
return resolveEventRegistrationScopedEvents([...byOccurrenceId.values()], {
|
|
35330
|
+
function scopeEventRegistrationSourceEvents(source, eventSource) {
|
|
35331
|
+
return resolveEventRegistrationScopedEvents(eventSource.kind === "loaded" ? eventSource.events : [], {
|
|
34446
35332
|
occurrenceContext: source.occurrenceContext,
|
|
34447
35333
|
subject: source.subject
|
|
34448
35334
|
});
|
|
@@ -34451,8 +35337,8 @@ function scopeEventRegistrationSourceEvents(source) {
|
|
|
34451
35337
|
* The one run this surface is registering for, when the scoped events describe
|
|
34452
35338
|
* exactly one. More than one run means the visitor still has to choose.
|
|
34453
35339
|
*/
|
|
34454
|
-
function resolveSelectedWholeSeriesRun(
|
|
34455
|
-
const runs = groupPublicEventsByRun(
|
|
35340
|
+
function resolveSelectedWholeSeriesRun(scopedSourceEvents) {
|
|
35341
|
+
const runs = groupPublicEventsByRun(scopedSourceEvents);
|
|
34456
35342
|
return runs.length === 1 ? runs[0] : null;
|
|
34457
35343
|
}
|
|
34458
35344
|
function shellLabelForRegistrationStep(step, events) {
|
|
@@ -34480,16 +35366,16 @@ function buildEventRegistrationShellBodyText(stepLabels) {
|
|
|
34480
35366
|
return "Preparing dates, tickets, and booking details.";
|
|
34481
35367
|
}
|
|
34482
35368
|
function normalizeEventRegistrationEventInput(value) {
|
|
34483
|
-
if (!isRecord$
|
|
35369
|
+
if (!isRecord$6(value)) return value;
|
|
34484
35370
|
return {
|
|
34485
35371
|
...value,
|
|
34486
35372
|
destination: resolveRuntimeEventDestination(value)
|
|
34487
35373
|
};
|
|
34488
35374
|
}
|
|
34489
|
-
function isRecord$
|
|
35375
|
+
function isRecord$6(value) {
|
|
34490
35376
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
34491
35377
|
}
|
|
34492
|
-
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, eventRegistrationPublicEventSchema, eventRegistrationHydrationSchemaShape, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationBlockRuntime;
|
|
35378
|
+
var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, eventRegistrationPublicEventSchema, eventRegistrationHydrationSchemaShape, eventRegistrationEventSourceSchema, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationBlockRuntime;
|
|
34493
35379
|
var init_event_registration_interactive = __esmMin((() => {
|
|
34494
35380
|
init_schemas();
|
|
34495
35381
|
init_runGrouping();
|
|
@@ -34503,6 +35389,7 @@ var init_event_registration_interactive = __esmMin((() => {
|
|
|
34503
35389
|
init_wizardSteps();
|
|
34504
35390
|
init_registrationDerivations();
|
|
34505
35391
|
init_registrationEventAdapter();
|
|
35392
|
+
init_eventSourceRecovery();
|
|
34506
35393
|
EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS = [
|
|
34507
35394
|
"Date",
|
|
34508
35395
|
"Tickets",
|
|
@@ -34519,8 +35406,6 @@ var init_event_registration_interactive = __esmMin((() => {
|
|
|
34519
35406
|
eventRegistrationHydrationSchemaShape = {
|
|
34520
35407
|
occurrenceContext: occurrenceContextSchema.optional(),
|
|
34521
35408
|
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
34522
|
-
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
34523
|
-
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
34524
35409
|
maxTickets: z.string().optional(),
|
|
34525
35410
|
showVenue: z.boolean().optional(),
|
|
34526
35411
|
showCapacity: z.boolean().optional(),
|
|
@@ -34532,12 +35417,22 @@ var init_event_registration_interactive = __esmMin((() => {
|
|
|
34532
35417
|
sitePasses: publicPassProductCollectionSchema.nullable().optional(),
|
|
34533
35418
|
siteMemberships: publicMembershipProductCollectionSchema.nullable().optional()
|
|
34534
35419
|
};
|
|
35420
|
+
eventRegistrationEventSourceSchema = z.discriminatedUnion("kind", [z.object({
|
|
35421
|
+
kind: z.literal("loaded"),
|
|
35422
|
+
events: z.array(eventRegistrationPublicEventSchema)
|
|
35423
|
+
}), z.object({
|
|
35424
|
+
kind: z.literal("unresolved"),
|
|
35425
|
+
request: eventRecoveryRequestSchema.nullable()
|
|
35426
|
+
})]);
|
|
34535
35427
|
eventRegistrationSourceSchema = z.object({
|
|
34536
35428
|
siteId: z.string().optional(),
|
|
34537
35429
|
apiBaseUrl: z.string().optional(),
|
|
34538
35430
|
portalToken: z.string().nullable().optional(),
|
|
34539
35431
|
previewToken: z.string().nullable().optional(),
|
|
34540
35432
|
...eventRegistrationHydrationSchemaShape,
|
|
35433
|
+
events: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
35434
|
+
wholeSeriesRunEvents: z.array(eventRegistrationPublicEventSchema).nullable().optional(),
|
|
35435
|
+
eventLoaderFailures: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
34541
35436
|
className: z.string().nullable().optional(),
|
|
34542
35437
|
buttonText: z.string().nullable().optional(),
|
|
34543
35438
|
maxTickets: z.string().nullable().optional(),
|
|
@@ -34558,7 +35453,10 @@ var init_event_registration_interactive = __esmMin((() => {
|
|
|
34558
35453
|
titleText: z.string(),
|
|
34559
35454
|
bodyText: z.string()
|
|
34560
35455
|
})]);
|
|
34561
|
-
eventRegistrationHydrationSchema = z.object(
|
|
35456
|
+
eventRegistrationHydrationSchema = z.object({
|
|
35457
|
+
...eventRegistrationHydrationSchemaShape,
|
|
35458
|
+
eventSource: eventRegistrationEventSourceSchema
|
|
35459
|
+
});
|
|
34562
35460
|
eventRegistrationRenderSchema = z.object({
|
|
34563
35461
|
display: eventRegistrationDisplaySchema,
|
|
34564
35462
|
hydration: eventRegistrationHydrationSchema
|
|
@@ -34577,13 +35475,21 @@ var init_event_registration_interactive = __esmMin((() => {
|
|
|
34577
35475
|
render: createZodCodec(eventRegistrationRenderSchema)
|
|
34578
35476
|
},
|
|
34579
35477
|
buildRender: (source) => {
|
|
34580
|
-
const
|
|
35478
|
+
const eventSource = resolveEventRegistrationEventSource({
|
|
35479
|
+
events: source.events,
|
|
35480
|
+
wholeSeriesRunEvents: source.wholeSeriesRunEvents,
|
|
35481
|
+
failures: source.eventLoaderFailures
|
|
35482
|
+
});
|
|
35483
|
+
const scopedSourceEvents = scopeEventRegistrationSourceEvents(source, eventSource);
|
|
34581
35484
|
return {
|
|
34582
|
-
display:
|
|
35485
|
+
display: buildEventRegistrationDisplayFromScopedEvents(source, scopedSourceEvents),
|
|
34583
35486
|
hydration: {
|
|
34584
35487
|
occurrenceContext: source.occurrenceContext ?? null,
|
|
34585
35488
|
subject: source.subject ?? null,
|
|
34586
|
-
|
|
35489
|
+
eventSource: eventSource.kind === "loaded" ? {
|
|
35490
|
+
...eventSource,
|
|
35491
|
+
events: [...scopedSourceEvents]
|
|
35492
|
+
} : eventSource,
|
|
34587
35493
|
maxTickets: source.maxTickets ?? void 0,
|
|
34588
35494
|
showVenue: source.showVenue,
|
|
34589
35495
|
showCapacity: source.showCapacity,
|
|
@@ -34763,6 +35669,7 @@ var init_event_registration = __esmMin((() => {
|
|
|
34763
35669
|
} },
|
|
34764
35670
|
events: { $bind: { from: "data.events" } },
|
|
34765
35671
|
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
35672
|
+
loaderFailures: { $bind: { from: "$root.loaderFailures" } },
|
|
34766
35673
|
sitePasses: { $bind: { from: "data.sitePasses" } },
|
|
34767
35674
|
siteMemberships: { $bind: { from: "data.siteMemberships" } },
|
|
34768
35675
|
stage: { $bind: {
|
|
@@ -34786,6 +35693,11 @@ var init_event_registration = __esmMin((() => {
|
|
|
34786
35693
|
dataLoaders: {
|
|
34787
35694
|
events: {
|
|
34788
35695
|
endpoint: "listPublicEvents",
|
|
35696
|
+
when: { $bind: {
|
|
35697
|
+
from: "$root.subject.isWholeSeriesBooking",
|
|
35698
|
+
fallback: true,
|
|
35699
|
+
transforms: [{ id: "boolean.not" }]
|
|
35700
|
+
} },
|
|
34789
35701
|
params: {
|
|
34790
35702
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
34791
35703
|
limit: "50",
|
|
@@ -34807,13 +35719,9 @@ var init_event_registration = __esmMin((() => {
|
|
|
34807
35719
|
/**
|
|
34808
35720
|
* The runs this page can register for, finished ones included.
|
|
34809
35721
|
*
|
|
34810
|
-
*
|
|
34811
|
-
*
|
|
34812
|
-
* render
|
|
34813
|
-
* subject books whole runs. It is scoped exactly like the date page — same
|
|
34814
|
-
* series, same run subroute — because scope and grain are separate
|
|
34815
|
-
* questions. The two lists are joined by occurrence, so a run that appears
|
|
34816
|
-
* in both is still one run.
|
|
35722
|
+
* A run read is the sole Event source on a whole-series surface. It is
|
|
35723
|
+
* status-bounded rather than date-bounded, so completed runs can still
|
|
35724
|
+
* render their closed state and every run carries its complete schedule.
|
|
34817
35725
|
*/
|
|
34818
35726
|
wholeSeriesRunEvents: {
|
|
34819
35727
|
endpoint: "listPublicEvents",
|
|
@@ -37562,7 +38470,7 @@ function inferLegacyOfferingsPreviewGroupOrder(overrides) {
|
|
|
37562
38470
|
return keys.length >= 2 ? keys : [];
|
|
37563
38471
|
}
|
|
37564
38472
|
function normalizeOfferingsPreviewContentForWrite(value) {
|
|
37565
|
-
if (!isRecord$
|
|
38473
|
+
if (!isRecord$5(value)) return null;
|
|
37566
38474
|
const groupOrderValue = value.groupOrder;
|
|
37567
38475
|
if (Array.isArray(groupOrderValue)) {
|
|
37568
38476
|
const normalized = normalizeOfferingsPreviewGroupOrder(groupOrderValue);
|
|
@@ -37575,7 +38483,7 @@ function normalizeOfferingsPreviewContentForWrite(value) {
|
|
|
37575
38483
|
...value,
|
|
37576
38484
|
groupOrder: []
|
|
37577
38485
|
};
|
|
37578
|
-
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord$
|
|
38486
|
+
const legacyOrder = inferLegacyOfferingsPreviewGroupOrder(Array.isArray(value.groupOverrides) ? value.groupOverrides.filter(isRecord$5) : []);
|
|
37579
38487
|
return legacyOrder.length > 0 ? {
|
|
37580
38488
|
...value,
|
|
37581
38489
|
groupOrder: legacyOrder
|
|
@@ -37589,7 +38497,7 @@ function uniqueOfferingsPreviewSourceKeys(values) {
|
|
|
37589
38497
|
}
|
|
37590
38498
|
return keys;
|
|
37591
38499
|
}
|
|
37592
|
-
function isRecord$
|
|
38500
|
+
function isRecord$5(value) {
|
|
37593
38501
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
37594
38502
|
}
|
|
37595
38503
|
var OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT, OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE, OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS, OFFERINGS_PREVIEW_AUTHORABLE_SOURCE_KEYS, OFFERINGS_PREVIEW_SOURCE_KEYS;
|
|
@@ -37631,124 +38539,18 @@ var init_model = __esmMin((() => {
|
|
|
37631
38539
|
}]));
|
|
37632
38540
|
}));
|
|
37633
38541
|
//#endregion
|
|
37634
|
-
//#region ../blocks/src/system/blocks/offerings-preview/
|
|
37635
|
-
/**
|
|
37636
|
-
* One row per whole-series run, finished runs included.
|
|
37637
|
-
*
|
|
37638
|
-
* A page of dates cannot answer this: a finished run has no upcoming date, and
|
|
37639
|
-
* a long run would spend the whole page on its own sessions. `readIntent:
|
|
37640
|
-
* 'runs'` asks for runs instead, so `itemLimit` counts run cards rather than
|
|
37641
|
-
* dates, and each card arrives with the run's complete schedule.
|
|
37642
|
-
*/
|
|
37643
|
-
function wholeSeriesRunLoader() {
|
|
37644
|
-
return eventPresetLoader(WHOLE_SERIES_EVENT_PRESETS_PARAM, { readIntent: "runs" });
|
|
37645
|
-
}
|
|
37646
|
-
function eventPresetLoader(eventPresets, extraParams = {}) {
|
|
37647
|
-
return {
|
|
37648
|
-
endpoint: "listPublicEvents",
|
|
37649
|
-
params: {
|
|
37650
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
37651
|
-
limit: { $bind: {
|
|
37652
|
-
from: "content.itemLimit",
|
|
37653
|
-
fallback: "3"
|
|
37654
|
-
} },
|
|
37655
|
-
stage: { $bind: {
|
|
37656
|
-
from: "$root.previewStage",
|
|
37657
|
-
fallback: "published"
|
|
37658
|
-
} },
|
|
37659
|
-
detailLevel: "listing",
|
|
37660
|
-
readProfile: "listing-card",
|
|
37661
|
-
eventPresets,
|
|
37662
|
-
...extraParams
|
|
37663
|
-
},
|
|
37664
|
-
mode: "server"
|
|
37665
|
-
};
|
|
37666
|
-
}
|
|
38542
|
+
//#region ../blocks/src/system/blocks/offerings-preview/fields.ts
|
|
37667
38543
|
function labelForOfferingPreviewSourceKey(sourceKey) {
|
|
37668
38544
|
const eventDefinition = OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.find((definition) => definition.sourceKey === sourceKey);
|
|
37669
38545
|
if (eventDefinition) return eventDefinition.label;
|
|
37670
38546
|
return "Courses";
|
|
37671
38547
|
}
|
|
37672
|
-
|
|
37673
|
-
|
|
37674
|
-
if (!record) return {};
|
|
37675
|
-
const normalized = {};
|
|
37676
|
-
if (typeof record.heading === "string" || record.heading === null) normalized.heading = record.heading;
|
|
37677
|
-
if ("description" in record) normalized.description = record.description;
|
|
37678
|
-
if (isOfferingsPreviewItemLimit(record.itemLimit)) normalized.itemLimit = record.itemLimit;
|
|
37679
|
-
if (Array.isArray(record.groupOrder)) normalized.groupOrder = record.groupOrder.filter(isOfferingsPreviewSourceKey);
|
|
37680
|
-
else if (record.groupOrder === null) normalized.groupOrder = null;
|
|
37681
|
-
if (Array.isArray(record.groupOverrides)) normalized.groupOverrides = record.groupOverrides.flatMap(normalizeOfferingsPreviewGroupOverride);
|
|
37682
|
-
else if (record.groupOverrides === null) normalized.groupOverrides = null;
|
|
37683
|
-
const cardStyles = normalizeCardStylesContent(record._cardStyles);
|
|
37684
|
-
if (cardStyles !== void 0) normalized._cardStyles = cardStyles;
|
|
37685
|
-
if (isButtonVariant(record.buttonVariant)) normalized.buttonVariant = record.buttonVariant;
|
|
37686
|
-
if (typeof record.buttonText === "string" || record.buttonText === null) normalized.buttonText = record.buttonText;
|
|
37687
|
-
if (typeof record.emptyMessage === "string" || record.emptyMessage === null) normalized.emptyMessage = record.emptyMessage;
|
|
37688
|
-
const sectionStyles = normalizeSectionStylesContent(record._sectionStyles);
|
|
37689
|
-
if (sectionStyles !== void 0) normalized._sectionStyles = sectionStyles;
|
|
37690
|
-
return normalized;
|
|
37691
|
-
}
|
|
37692
|
-
function isOfferingsPreviewItemLimit(value) {
|
|
37693
|
-
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
37694
|
-
}
|
|
37695
|
-
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
37696
|
-
if (!isRecord$5(value)) return [];
|
|
37697
|
-
const override = {};
|
|
37698
|
-
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) override.sourceKey = value.sourceKey;
|
|
37699
|
-
if (typeof value.title === "string" || value.title === null) override.title = value.title;
|
|
37700
|
-
if (typeof value.intro === "string" || value.intro === null) override.intro = value.intro;
|
|
37701
|
-
if (typeof value.hidden === "boolean" || value.hidden === null) override.hidden = value.hidden;
|
|
37702
|
-
if (value.presentation === "compact-list" || value.presentation === "single-card" || value.presentation === "featured-summary" || value.presentation === null) override.presentation = value.presentation;
|
|
37703
|
-
if (value.ctaMode === "auto" || value.ctaMode === "custom" || value.ctaMode === "hidden" || value.ctaMode === null) override.ctaMode = value.ctaMode;
|
|
37704
|
-
if (typeof value.ctaHref === "string" || value.ctaHref === null) override.ctaHref = value.ctaHref;
|
|
37705
|
-
if (typeof value.ctaLabel === "string" || value.ctaLabel === null) override.ctaLabel = value.ctaLabel;
|
|
37706
|
-
return [override];
|
|
37707
|
-
}
|
|
37708
|
-
function isButtonVariant(value) {
|
|
37709
|
-
return value === null || isBlockButtonRole(value);
|
|
37710
|
-
}
|
|
37711
|
-
function normalizeCardStylesContent(value) {
|
|
37712
|
-
return normalizeBoxStylesContent(value);
|
|
37713
|
-
}
|
|
37714
|
-
function normalizeSectionStylesContent(value) {
|
|
37715
|
-
return normalizeBoxStylesContent(value);
|
|
37716
|
-
}
|
|
37717
|
-
function normalizeBoxStylesContent(value) {
|
|
37718
|
-
if (value === null) return null;
|
|
37719
|
-
if (!isRecord$5(value)) return void 0;
|
|
37720
|
-
const { background: _background, ...rest } = value;
|
|
37721
|
-
const background = parseBackgroundContent(value.background);
|
|
37722
|
-
return {
|
|
37723
|
-
...rest,
|
|
37724
|
-
...background ? { background } : {}
|
|
37725
|
-
};
|
|
37726
|
-
}
|
|
37727
|
-
function isRecord$5(value) {
|
|
37728
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
37729
|
-
}
|
|
37730
|
-
var WHOLE_SERIES_EVENT_PRESETS_PARAM, publicRouteCandidatesSchema, groupOverrideFields, offeringsPreviewFields, offeringsPreviewEventDataBindings, offeringsPreviewConfig, offeringsPreviewManifest, optionalPublicEventsArraySchema, offeringsPreviewEventDataSchemas, offeringsPreviewEventDataLoaders, offeringsPreviewBlockDefinition;
|
|
37731
|
-
var init_offerings_preview = __esmMin((() => {
|
|
37732
|
-
init_src$4();
|
|
37733
|
-
init_link();
|
|
37734
|
-
init_builder$1();
|
|
37735
|
-
init_styledSection();
|
|
37736
|
-
init_fragments$1();
|
|
37737
|
-
init_boxStyles$1();
|
|
37738
|
-
init_backgroundContent();
|
|
37739
|
-
init_defineBlock();
|
|
38548
|
+
var groupOverrideFields, offeringsPreviewFields;
|
|
38549
|
+
var init_fields = __esmMin((() => {
|
|
37740
38550
|
init_shared$2();
|
|
37741
|
-
|
|
38551
|
+
init_boxStyles$1();
|
|
37742
38552
|
init_button();
|
|
37743
38553
|
init_model();
|
|
37744
|
-
WHOLE_SERIES_EVENT_PRESETS_PARAM = WHOLE_SERIES_EVENT_PRESET_VALUES.join(",");
|
|
37745
|
-
publicRouteCandidatesSchema = z.object({ routes: z.array(z.object({
|
|
37746
|
-
entityId: z.string(),
|
|
37747
|
-
path: z.string(),
|
|
37748
|
-
title: z.string(),
|
|
37749
|
-
kind: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
37750
|
-
contentTypeKey: z.string().nullable().optional()
|
|
37751
|
-
})) });
|
|
37752
38554
|
groupOverrideFields = [
|
|
37753
38555
|
{
|
|
37754
38556
|
id: "sourceKey",
|
|
@@ -37954,7 +38756,163 @@ var init_offerings_preview = __esmMin((() => {
|
|
|
37954
38756
|
renderInHeader: false
|
|
37955
38757
|
})
|
|
37956
38758
|
];
|
|
38759
|
+
}));
|
|
38760
|
+
//#endregion
|
|
38761
|
+
//#region ../blocks/src/system/blocks/offerings-preview/index.ts
|
|
38762
|
+
function offeringsPreviewHeaderNodes() {
|
|
38763
|
+
return [text({
|
|
38764
|
+
as: "h2",
|
|
38765
|
+
className: { $bind: {
|
|
38766
|
+
from: "content.displayMode",
|
|
38767
|
+
fallback: "rb-text-center",
|
|
38768
|
+
transforms: [{
|
|
38769
|
+
id: "value.equals",
|
|
38770
|
+
options: { value: "catalogue" }
|
|
38771
|
+
}, {
|
|
38772
|
+
id: "ui.conditionalClass",
|
|
38773
|
+
options: {
|
|
38774
|
+
whenTrue: "rb-text-left",
|
|
38775
|
+
whenFalse: "rb-text-center"
|
|
38776
|
+
}
|
|
38777
|
+
}]
|
|
38778
|
+
} }
|
|
38779
|
+
}, bind$1("content.heading"), when("content.heading")), richText({ className: "rb-prose rb-max-w-none" }, bind$1("content.description"), when("content.description"))];
|
|
38780
|
+
}
|
|
38781
|
+
/**
|
|
38782
|
+
* One row per whole-series run, finished runs included.
|
|
38783
|
+
*
|
|
38784
|
+
* A page of dates cannot answer this: a finished run has no upcoming date, and
|
|
38785
|
+
* a long run would spend the whole page on its own sessions. `readIntent:
|
|
38786
|
+
* 'runs'` asks for runs instead, so `itemLimit` counts run cards rather than
|
|
38787
|
+
* dates, and each card arrives with the run's complete schedule.
|
|
38788
|
+
*/
|
|
38789
|
+
function wholeSeriesRunLoader() {
|
|
38790
|
+
return eventPresetLoader(WHOLE_SERIES_EVENT_PRESETS_PARAM, { readIntent: "runs" });
|
|
38791
|
+
}
|
|
38792
|
+
function eventPresetLoader(eventPresets, extraParams = {}) {
|
|
38793
|
+
return {
|
|
38794
|
+
endpoint: "listPublicEvents",
|
|
38795
|
+
when: previewMode,
|
|
38796
|
+
params: {
|
|
38797
|
+
siteId: { $bind: { from: "$root.siteId" } },
|
|
38798
|
+
limit: { $bind: {
|
|
38799
|
+
from: "content.itemLimit",
|
|
38800
|
+
fallback: "3"
|
|
38801
|
+
} },
|
|
38802
|
+
stage: { $bind: {
|
|
38803
|
+
from: "$root.previewStage",
|
|
38804
|
+
fallback: "published"
|
|
38805
|
+
} },
|
|
38806
|
+
detailLevel: "listing",
|
|
38807
|
+
readProfile: "listing-card",
|
|
38808
|
+
eventPresets,
|
|
38809
|
+
...extraParams
|
|
38810
|
+
},
|
|
38811
|
+
mode: "server"
|
|
38812
|
+
};
|
|
38813
|
+
}
|
|
38814
|
+
function normalizeOfferingsPreviewBlockContent(value) {
|
|
38815
|
+
const record = normalizeOfferingsPreviewContentForWrite(value);
|
|
38816
|
+
if (!record) return { displayMode: DEFAULT_OFFERINGS_PREVIEW_DISPLAY_MODE };
|
|
38817
|
+
const normalized = { displayMode: normalizeOfferingsPreviewDisplayMode(record.displayMode) };
|
|
38818
|
+
if (typeof record.heading === "string" || record.heading === null) normalized.heading = record.heading;
|
|
38819
|
+
if ("description" in record) normalized.description = record.description;
|
|
38820
|
+
if (isOfferingsPreviewItemLimit(record.itemLimit)) normalized.itemLimit = record.itemLimit;
|
|
38821
|
+
if (Array.isArray(record.groupOrder)) normalized.groupOrder = record.groupOrder.filter(isOfferingsPreviewSourceKey);
|
|
38822
|
+
else if (record.groupOrder === null) normalized.groupOrder = null;
|
|
38823
|
+
if (Array.isArray(record.groupOverrides)) normalized.groupOverrides = record.groupOverrides.flatMap(normalizeOfferingsPreviewGroupOverride);
|
|
38824
|
+
else if (record.groupOverrides === null) normalized.groupOverrides = null;
|
|
38825
|
+
const cardStyles = normalizeCardStylesContent(record._cardStyles);
|
|
38826
|
+
if (cardStyles !== void 0) normalized._cardStyles = cardStyles;
|
|
38827
|
+
if (isButtonVariant(record.buttonVariant)) normalized.buttonVariant = record.buttonVariant;
|
|
38828
|
+
if (typeof record.buttonText === "string" || record.buttonText === null) normalized.buttonText = record.buttonText;
|
|
38829
|
+
if (typeof record.emptyMessage === "string" || record.emptyMessage === null) normalized.emptyMessage = record.emptyMessage;
|
|
38830
|
+
const sectionStyles = normalizeSectionStylesContent(record._sectionStyles);
|
|
38831
|
+
if (sectionStyles !== void 0) normalized._sectionStyles = sectionStyles;
|
|
38832
|
+
return normalized;
|
|
38833
|
+
}
|
|
38834
|
+
function normalizeOfferingsPreviewDisplayMode(value) {
|
|
38835
|
+
return value === "catalogue" ? "catalogue" : DEFAULT_OFFERINGS_PREVIEW_DISPLAY_MODE;
|
|
38836
|
+
}
|
|
38837
|
+
function isOfferingsPreviewItemLimit(value) {
|
|
38838
|
+
return value === "1" || value === "2" || value === "3" || value === "4" || value === "5" || value === "6" || value === null;
|
|
38839
|
+
}
|
|
38840
|
+
function normalizeOfferingsPreviewGroupOverride(value) {
|
|
38841
|
+
if (!isRecord$4(value)) return [];
|
|
38842
|
+
const override = {};
|
|
38843
|
+
if (isOfferingsPreviewSourceKey(value.sourceKey) || value.sourceKey === null) override.sourceKey = value.sourceKey;
|
|
38844
|
+
if (typeof value.title === "string" || value.title === null) override.title = value.title;
|
|
38845
|
+
if (typeof value.intro === "string" || value.intro === null) override.intro = value.intro;
|
|
38846
|
+
if (typeof value.hidden === "boolean" || value.hidden === null) override.hidden = value.hidden;
|
|
38847
|
+
if (value.presentation === "compact-list" || value.presentation === "single-card" || value.presentation === "featured-summary" || value.presentation === null) override.presentation = value.presentation;
|
|
38848
|
+
if (value.ctaMode === "auto" || value.ctaMode === "custom" || value.ctaMode === "hidden" || value.ctaMode === null) override.ctaMode = value.ctaMode;
|
|
38849
|
+
if (typeof value.ctaHref === "string" || value.ctaHref === null) override.ctaHref = value.ctaHref;
|
|
38850
|
+
if (typeof value.ctaLabel === "string" || value.ctaLabel === null) override.ctaLabel = value.ctaLabel;
|
|
38851
|
+
return [override];
|
|
38852
|
+
}
|
|
38853
|
+
function isButtonVariant(value) {
|
|
38854
|
+
return value === null || isBlockButtonRole(value);
|
|
38855
|
+
}
|
|
38856
|
+
function normalizeCardStylesContent(value) {
|
|
38857
|
+
return normalizeBoxStylesContent(value);
|
|
38858
|
+
}
|
|
38859
|
+
function normalizeSectionStylesContent(value) {
|
|
38860
|
+
return normalizeBoxStylesContent(value);
|
|
38861
|
+
}
|
|
38862
|
+
function normalizeBoxStylesContent(value) {
|
|
38863
|
+
if (value === null) return null;
|
|
38864
|
+
if (!isRecord$4(value)) return void 0;
|
|
38865
|
+
const { background: _background, ...rest } = value;
|
|
38866
|
+
const background = parseBackgroundContent(value.background);
|
|
38867
|
+
return {
|
|
38868
|
+
...rest,
|
|
38869
|
+
...background ? { background } : {}
|
|
38870
|
+
};
|
|
38871
|
+
}
|
|
38872
|
+
function isRecord$4(value) {
|
|
38873
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
38874
|
+
}
|
|
38875
|
+
var WHOLE_SERIES_EVENT_PRESETS_PARAM, publicRouteCandidatesSchema, offeringsPreviewEventDataBindings, DEFAULT_OFFERINGS_PREVIEW_DISPLAY_MODE, displayModeBinding, catalogueMode, previewMode, offeringsPreviewConfig, offeringsPreviewManifest, optionalPublicEventsArraySchema, offeringsPreviewEventDataSchemas, offeringsPreviewEventDataLoaders, offeringsPreviewBlockDefinition;
|
|
38876
|
+
var init_offerings_preview = __esmMin((() => {
|
|
38877
|
+
init_fields();
|
|
38878
|
+
init_src$4();
|
|
38879
|
+
init_link();
|
|
38880
|
+
init_builder$1();
|
|
38881
|
+
init_styledSection();
|
|
38882
|
+
init_fragments$1();
|
|
38883
|
+
init_backgroundContent();
|
|
38884
|
+
init_defineBlock();
|
|
38885
|
+
init_shared$2();
|
|
38886
|
+
init_buttonRoles();
|
|
38887
|
+
init_model();
|
|
38888
|
+
WHOLE_SERIES_EVENT_PRESETS_PARAM = WHOLE_SERIES_EVENT_PRESET_VALUES.join(",");
|
|
38889
|
+
publicRouteCandidatesSchema = z.object({ routes: z.array(z.object({
|
|
38890
|
+
entityId: z.string(),
|
|
38891
|
+
path: z.string(),
|
|
38892
|
+
title: z.string(),
|
|
38893
|
+
kind: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
38894
|
+
contentTypeKey: z.string().nullable().optional()
|
|
38895
|
+
})) });
|
|
37957
38896
|
offeringsPreviewEventDataBindings = Object.fromEntries(OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [definition.dataKey, { $bind: { from: `data.${definition.dataKey}` } }]));
|
|
38897
|
+
DEFAULT_OFFERINGS_PREVIEW_DISPLAY_MODE = "preview";
|
|
38898
|
+
displayModeBinding = {
|
|
38899
|
+
from: "content.displayMode",
|
|
38900
|
+
fallback: DEFAULT_OFFERINGS_PREVIEW_DISPLAY_MODE
|
|
38901
|
+
};
|
|
38902
|
+
catalogueMode = { $bind: {
|
|
38903
|
+
...displayModeBinding,
|
|
38904
|
+
transforms: [{
|
|
38905
|
+
id: "value.equals",
|
|
38906
|
+
options: { value: "catalogue" }
|
|
38907
|
+
}]
|
|
38908
|
+
} };
|
|
38909
|
+
previewMode = { $bind: {
|
|
38910
|
+
...displayModeBinding,
|
|
38911
|
+
transforms: [{
|
|
38912
|
+
id: "value.equals",
|
|
38913
|
+
options: { value: "preview" }
|
|
38914
|
+
}]
|
|
38915
|
+
} };
|
|
37958
38916
|
offeringsPreviewConfig = {
|
|
37959
38917
|
id: "block.offerings-preview",
|
|
37960
38918
|
version: "1.0.0",
|
|
@@ -37985,48 +38943,45 @@ var init_offerings_preview = __esmMin((() => {
|
|
|
37985
38943
|
],
|
|
37986
38944
|
icon: "PanelsTopLeft",
|
|
37987
38945
|
layout: [styledSection({
|
|
37988
|
-
children: sectionContainer([
|
|
37989
|
-
|
|
37990
|
-
|
|
37991
|
-
|
|
37992
|
-
|
|
37993
|
-
|
|
37994
|
-
|
|
37995
|
-
|
|
37996
|
-
|
|
37997
|
-
|
|
37998
|
-
|
|
37999
|
-
|
|
38000
|
-
|
|
38001
|
-
|
|
38002
|
-
|
|
38003
|
-
|
|
38004
|
-
|
|
38005
|
-
|
|
38006
|
-
|
|
38007
|
-
|
|
38008
|
-
|
|
38009
|
-
|
|
38010
|
-
|
|
38011
|
-
|
|
38012
|
-
|
|
38013
|
-
|
|
38014
|
-
|
|
38015
|
-
|
|
38016
|
-
|
|
38017
|
-
|
|
38018
|
-
|
|
38019
|
-
|
|
38020
|
-
|
|
38021
|
-
|
|
38022
|
-
|
|
38023
|
-
|
|
38024
|
-
|
|
38025
|
-
|
|
38026
|
-
|
|
38027
|
-
...offeringsPreviewEventDataBindings
|
|
38028
|
-
})
|
|
38029
|
-
], { gap: "lg" }),
|
|
38946
|
+
children: sectionContainer([el$1("offerings-preview", {
|
|
38947
|
+
displayMode: { $bind: displayModeBinding },
|
|
38948
|
+
pathname: { $bind: { from: "$root.pathname" } },
|
|
38949
|
+
catalogueEvents: { $bind: { from: "data.catalogueEvents" } },
|
|
38950
|
+
quickDateEvents: { $bind: { from: "data.quickDateEvents" } },
|
|
38951
|
+
bookingOfferingPresets: { $bind: {
|
|
38952
|
+
from: "$root.bookingOfferingPresets",
|
|
38953
|
+
fallback: []
|
|
38954
|
+
} },
|
|
38955
|
+
groupOverrides: { $bind: {
|
|
38956
|
+
from: "content.groupOverrides",
|
|
38957
|
+
fallback: []
|
|
38958
|
+
} },
|
|
38959
|
+
groupOrder: { $bind: { from: "content.groupOrder" } },
|
|
38960
|
+
cardStyles: { $bind: { from: "content._cardStyles" } },
|
|
38961
|
+
itemLimit: { $bind: {
|
|
38962
|
+
from: "content.itemLimit",
|
|
38963
|
+
fallback: "3"
|
|
38964
|
+
} },
|
|
38965
|
+
buttonVariant: { $bind: {
|
|
38966
|
+
from: "content.buttonVariant",
|
|
38967
|
+
fallback: "primary"
|
|
38968
|
+
} },
|
|
38969
|
+
buttonText: { $bind: {
|
|
38970
|
+
from: "content.buttonText",
|
|
38971
|
+
fallback: OFFERINGS_PREVIEW_DEFAULT_BUTTON_TEXT
|
|
38972
|
+
} },
|
|
38973
|
+
emptyMessage: { $bind: {
|
|
38974
|
+
from: "content.emptyMessage",
|
|
38975
|
+
fallback: OFFERINGS_PREVIEW_DEFAULT_EMPTY_MESSAGE
|
|
38976
|
+
} },
|
|
38977
|
+
previewStage: { $bind: {
|
|
38978
|
+
from: "$root.previewStage",
|
|
38979
|
+
fallback: "published"
|
|
38980
|
+
} },
|
|
38981
|
+
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
38982
|
+
wholeSeriesRunEvents: { $bind: { from: "data.wholeSeriesRunEvents" } },
|
|
38983
|
+
...offeringsPreviewEventDataBindings
|
|
38984
|
+
}, offeringsPreviewHeaderNodes())], { gap: "lg" }),
|
|
38030
38985
|
baseClass: "",
|
|
38031
38986
|
spacing: "comfortable"
|
|
38032
38987
|
})]
|
|
@@ -38041,16 +38996,48 @@ var init_offerings_preview = __esmMin((() => {
|
|
|
38041
38996
|
dataSchemas: {
|
|
38042
38997
|
...offeringsPreviewEventDataSchemas,
|
|
38043
38998
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
38044
|
-
wholeSeriesRunEvents: optionalPublicEventsArraySchema
|
|
38999
|
+
wholeSeriesRunEvents: optionalPublicEventsArraySchema,
|
|
39000
|
+
catalogueEvents: optionalPublicEventsArraySchema,
|
|
39001
|
+
quickDateEvents: optionalPublicEventsArraySchema
|
|
38045
39002
|
},
|
|
38046
39003
|
dataLoaders: {
|
|
38047
39004
|
...offeringsPreviewEventDataLoaders,
|
|
38048
39005
|
routeCandidates: {
|
|
38049
39006
|
endpoint: "listPublicRouteCandidates",
|
|
39007
|
+
when: previewMode,
|
|
38050
39008
|
params: {},
|
|
38051
39009
|
mode: "server"
|
|
38052
39010
|
},
|
|
38053
|
-
wholeSeriesRunEvents: wholeSeriesRunLoader()
|
|
39011
|
+
wholeSeriesRunEvents: wholeSeriesRunLoader(),
|
|
39012
|
+
catalogueEvents: {
|
|
39013
|
+
endpoint: "listPublicEvents",
|
|
39014
|
+
when: catalogueMode,
|
|
39015
|
+
params: {
|
|
39016
|
+
stage: { $bind: {
|
|
39017
|
+
from: "$root.previewStage",
|
|
39018
|
+
fallback: "published"
|
|
39019
|
+
} },
|
|
39020
|
+
detailLevel: "listing",
|
|
39021
|
+
readProfile: "listing-card",
|
|
39022
|
+
readIntent: "catalogue"
|
|
39023
|
+
},
|
|
39024
|
+
mode: "server"
|
|
39025
|
+
},
|
|
39026
|
+
quickDateEvents: {
|
|
39027
|
+
endpoint: "listPublicEvents",
|
|
39028
|
+
when: catalogueMode,
|
|
39029
|
+
params: {
|
|
39030
|
+
stage: { $bind: {
|
|
39031
|
+
from: "$root.previewStage",
|
|
39032
|
+
fallback: "published"
|
|
39033
|
+
} },
|
|
39034
|
+
detailLevel: "listing",
|
|
39035
|
+
readProfile: "listing-card",
|
|
39036
|
+
readIntent: "occurrences",
|
|
39037
|
+
limit: 40
|
|
39038
|
+
},
|
|
39039
|
+
mode: "server"
|
|
39040
|
+
}
|
|
38054
39041
|
}
|
|
38055
39042
|
};
|
|
38056
39043
|
}));
|
|
@@ -41397,87 +42384,13 @@ var init_gifting = __esmMin((() => {
|
|
|
41397
42384
|
};
|
|
41398
42385
|
}));
|
|
41399
42386
|
//#endregion
|
|
41400
|
-
//#region ../blocks/src/system/blocks/newsletter-signup-destination.ts
|
|
41401
|
-
function parseNewsletterSignupBlockId(value) {
|
|
41402
|
-
const trimmed = parseTrimmedString(value);
|
|
41403
|
-
return trimmed && BLOCK_ID_PATTERN.test(trimmed) ? trimmed : null;
|
|
41404
|
-
}
|
|
41405
|
-
function parseSignedNewsletterDestinationRef(value) {
|
|
41406
|
-
const trimmed = parseTrimmedString(value);
|
|
41407
|
-
return trimmed && SIGNED_DESTINATION_REF_PATTERN.test(trimmed) ? trimmed : null;
|
|
41408
|
-
}
|
|
41409
|
-
function buildNewsletterSignupBlockRef(blockId) {
|
|
41410
|
-
const parsed = parseNewsletterSignupBlockId(blockId);
|
|
41411
|
-
return parsed ? {
|
|
41412
|
-
tag: "block_ref",
|
|
41413
|
-
blockId: parsed
|
|
41414
|
-
} : null;
|
|
41415
|
-
}
|
|
41416
|
-
function normalizeNewsletterSignupEditorValuesForDestination(values) {
|
|
41417
|
-
const destinationProvider = parseNewsletterSignupDestinationProvider(values.destinationProvider) ?? "riverbank";
|
|
41418
|
-
if (destinationProvider === "mailchimp") return {
|
|
41419
|
-
destinationProvider,
|
|
41420
|
-
mailchimpAudienceId: values.mailchimpAudienceId,
|
|
41421
|
-
mailchimpTags: values.mailchimpTags
|
|
41422
|
-
};
|
|
41423
|
-
return {
|
|
41424
|
-
destinationProvider,
|
|
41425
|
-
listId: values.listId,
|
|
41426
|
-
tags: values.tags
|
|
41427
|
-
};
|
|
41428
|
-
}
|
|
41429
|
-
function deriveNewsletterSignupRuntimeSource(values) {
|
|
41430
|
-
const normalized = normalizeNewsletterSignupEditorValuesForDestination(values);
|
|
41431
|
-
if (normalized.destinationProvider === "mailchimp") return {
|
|
41432
|
-
destinationProvider: "mailchimp",
|
|
41433
|
-
listId: null,
|
|
41434
|
-
tags: null
|
|
41435
|
-
};
|
|
41436
|
-
return {
|
|
41437
|
-
destinationProvider: "riverbank",
|
|
41438
|
-
listId: parseTrimmedString(normalized.listId),
|
|
41439
|
-
tags: parseTrimmedString(normalized.tags)
|
|
41440
|
-
};
|
|
41441
|
-
}
|
|
41442
|
-
function sanitizeNewsletterSignupPublicContent(content) {
|
|
41443
|
-
if (!isRecord$4(content)) return content;
|
|
41444
|
-
const provider = parseNewsletterSignupDestinationProvider(content.destinationProvider) ?? getProviderFromExplicitDestination(content.destination);
|
|
41445
|
-
const { destination: _destination, destinationProvider: _destinationProvider, mailchimpAudienceId: _mailchimpAudienceId, mailchimpTags: _mailchimpTags, listId, tags, ...publicContent } = content;
|
|
41446
|
-
const mutablePublicContent = { ...publicContent };
|
|
41447
|
-
if (provider !== "mailchimp") {
|
|
41448
|
-
if ("listId" in content) mutablePublicContent.listId = listId;
|
|
41449
|
-
if ("tags" in content) mutablePublicContent.tags = tags;
|
|
41450
|
-
}
|
|
41451
|
-
return mutablePublicContent;
|
|
41452
|
-
}
|
|
41453
|
-
function getProviderFromExplicitDestination(destination) {
|
|
41454
|
-
if (!isRecord$4(destination) || typeof destination.tag !== "string") return null;
|
|
41455
|
-
if (destination.tag === "riverbank_list") return "riverbank";
|
|
41456
|
-
if (destination.tag === "mailchimp_audience") return "mailchimp";
|
|
41457
|
-
return null;
|
|
41458
|
-
}
|
|
41459
|
-
function parseTrimmedString(value) {
|
|
41460
|
-
if (typeof value !== "string") return null;
|
|
41461
|
-
const trimmed = value.trim();
|
|
41462
|
-
return trimmed.length > 0 ? trimmed : null;
|
|
41463
|
-
}
|
|
41464
|
-
function isRecord$4(value) {
|
|
41465
|
-
return typeof value === "object" && value !== null;
|
|
41466
|
-
}
|
|
41467
|
-
var BLOCK_ID_PATTERN, SIGNED_DESTINATION_REF_PATTERN;
|
|
41468
|
-
var init_newsletter_signup_destination = __esmMin((() => {
|
|
41469
|
-
init_src$4();
|
|
41470
|
-
BLOCK_ID_PATTERN = /^[A-Za-z0-9._:-]{1,200}$/;
|
|
41471
|
-
SIGNED_DESTINATION_REF_PATTERN = /^[A-Za-z0-9._~-]{16,1000}$/;
|
|
41472
|
-
}));
|
|
41473
|
-
//#endregion
|
|
41474
42387
|
//#region ../blocks/src/system/runtime/nodes/newsletter-form.types.ts
|
|
41475
42388
|
/**
|
|
41476
42389
|
* Get form fields based on preset configuration.
|
|
41477
42390
|
*/
|
|
41478
|
-
function
|
|
41479
|
-
const includePhone =
|
|
41480
|
-
switch (preset) {
|
|
42391
|
+
function getGlobalFormFields(form) {
|
|
42392
|
+
const includePhone = form.includeOptionalPhone;
|
|
42393
|
+
switch (form.fields.preset) {
|
|
41481
42394
|
case "emailOnly": return withOptionalPhone([{
|
|
41482
42395
|
id: "email",
|
|
41483
42396
|
type: "email",
|
|
@@ -41495,7 +42408,7 @@ function getPresetFields(preset, options) {
|
|
|
41495
42408
|
id: "name",
|
|
41496
42409
|
type: "text",
|
|
41497
42410
|
label: "Name",
|
|
41498
|
-
required:
|
|
42411
|
+
required: form.fields.name === "required",
|
|
41499
42412
|
placeholder: "Your name"
|
|
41500
42413
|
}], includePhone);
|
|
41501
42414
|
case "emailFirstLast": return withOptionalPhone([
|
|
@@ -41510,14 +42423,14 @@ function getPresetFields(preset, options) {
|
|
|
41510
42423
|
id: "firstName",
|
|
41511
42424
|
type: "text",
|
|
41512
42425
|
label: "First Name",
|
|
41513
|
-
required:
|
|
42426
|
+
required: form.fields.firstName === "required",
|
|
41514
42427
|
placeholder: "First name"
|
|
41515
42428
|
},
|
|
41516
42429
|
{
|
|
41517
42430
|
id: "lastName",
|
|
41518
42431
|
type: "text",
|
|
41519
42432
|
label: "Last Name",
|
|
41520
|
-
required:
|
|
42433
|
+
required: form.fields.lastName === "required",
|
|
41521
42434
|
placeholder: "Last name"
|
|
41522
42435
|
}
|
|
41523
42436
|
], includePhone);
|
|
@@ -41533,14 +42446,14 @@ function getPresetFields(preset, options) {
|
|
|
41533
42446
|
id: "name",
|
|
41534
42447
|
type: "text",
|
|
41535
42448
|
label: "Name",
|
|
41536
|
-
required:
|
|
42449
|
+
required: form.fields.name === "required",
|
|
41537
42450
|
placeholder: "Your name"
|
|
41538
42451
|
},
|
|
41539
42452
|
{
|
|
41540
42453
|
id: "company",
|
|
41541
42454
|
type: "text",
|
|
41542
42455
|
label: "Company",
|
|
41543
|
-
required:
|
|
42456
|
+
required: form.fields.company === "required",
|
|
41544
42457
|
placeholder: "Company name"
|
|
41545
42458
|
}
|
|
41546
42459
|
], includePhone);
|
|
@@ -41561,68 +42474,144 @@ var init_newsletter_form_types = __esmMin((() => {}));
|
|
|
41561
42474
|
//#endregion
|
|
41562
42475
|
//#region ../blocks/src/system/runtime/nodes/newsletter-form.interactive.ts
|
|
41563
42476
|
function buildNewsletterDisplay(source) {
|
|
41564
|
-
const
|
|
41565
|
-
const
|
|
42477
|
+
const context = source.mailingList;
|
|
42478
|
+
const form = context?.tag === "configured" ? context.form : {
|
|
42479
|
+
fields: { preset: "emailOnly" },
|
|
42480
|
+
includeOptionalPhone: false,
|
|
42481
|
+
buttonLabel: "Subscribe",
|
|
42482
|
+
successMessage: DEFAULT_MAILING_LIST_SUCCESS_MESSAGE,
|
|
42483
|
+
privacyNote: null
|
|
42484
|
+
};
|
|
42485
|
+
const targeting = source.targeting ?? { mode: "default" };
|
|
42486
|
+
const choices = resolveRuntimeChoices(context, targeting);
|
|
41566
42487
|
return {
|
|
41567
42488
|
kind: "newsletter-form",
|
|
42489
|
+
availability: runtimeTargetingIsAvailable(context, targeting, choices) ? "ready" : "unavailable",
|
|
41568
42490
|
className: source.className ?? null,
|
|
41569
|
-
buttonLabel:
|
|
42491
|
+
buttonLabel: form.buttonLabel,
|
|
42492
|
+
successMessage: form.successMessage,
|
|
41570
42493
|
buttonVariant: source.buttonVariant ?? "primary",
|
|
41571
|
-
|
|
41572
|
-
|
|
41573
|
-
|
|
42494
|
+
privacyNote: form.privacyNote,
|
|
42495
|
+
fields: getGlobalFormFields(form),
|
|
42496
|
+
choices
|
|
41574
42497
|
};
|
|
41575
42498
|
}
|
|
41576
42499
|
function projectNewsletterFormHydrationTarget(source) {
|
|
41577
42500
|
switch (source.source) {
|
|
41578
42501
|
case "block": {
|
|
41579
|
-
const
|
|
41580
|
-
if (
|
|
42502
|
+
const sourceRef = buildMailingListSignupBlockSourceRef(source.blockId, source.contentVersionId);
|
|
42503
|
+
if (sourceRef?.tag === "block_ref") return {
|
|
41581
42504
|
tag: "block-source",
|
|
41582
|
-
|
|
42505
|
+
sourceRef
|
|
41583
42506
|
};
|
|
41584
42507
|
return {
|
|
41585
|
-
tag: "
|
|
41586
|
-
|
|
42508
|
+
tag: "block-source",
|
|
42509
|
+
sourceRef: null
|
|
41587
42510
|
};
|
|
41588
42511
|
}
|
|
41589
42512
|
case "signed-footer": return {
|
|
41590
42513
|
tag: "signed-footer-source",
|
|
41591
|
-
|
|
41592
|
-
};
|
|
41593
|
-
case "legacy-direct-list": return {
|
|
41594
|
-
tag: "legacy-direct-list",
|
|
41595
|
-
listId: source.listId
|
|
42514
|
+
sourceRef: source.sourceRef
|
|
41596
42515
|
};
|
|
42516
|
+
case "preview": return { tag: "preview" };
|
|
41597
42517
|
default: return assertNever$4(source);
|
|
41598
42518
|
}
|
|
41599
42519
|
}
|
|
41600
|
-
function
|
|
41601
|
-
|
|
41602
|
-
|
|
42520
|
+
function resolveRuntimeChoices(context, targeting) {
|
|
42521
|
+
if (context?.tag !== "configured" || targeting.mode !== "custom" || targeting.selection.tag !== "visitor_choice" || context.provider.provider !== targeting.provider) return [];
|
|
42522
|
+
switch (targeting.provider) {
|
|
42523
|
+
case "native": {
|
|
42524
|
+
const offered = new Set(targeting.selection.offeredTopicIds);
|
|
42525
|
+
return context.provider.provider === "native" ? context.provider.topics.filter((item) => offered.has(item.id)).map((item) => ({
|
|
42526
|
+
id: item.id,
|
|
42527
|
+
label: item.name
|
|
42528
|
+
})) : [];
|
|
42529
|
+
}
|
|
42530
|
+
case "brevo": {
|
|
42531
|
+
const offered = new Set(targeting.selection.offeredListIds);
|
|
42532
|
+
return context.provider.provider === "brevo" ? context.provider.lists.filter((item) => offered.has(item.id)).map((item) => ({
|
|
42533
|
+
id: String(item.id),
|
|
42534
|
+
label: item.name
|
|
42535
|
+
})) : [];
|
|
42536
|
+
}
|
|
42537
|
+
case "mailchimp": {
|
|
42538
|
+
const offered = new Set(targeting.selection.offeredInterestIds);
|
|
42539
|
+
return (context.provider.provider === "mailchimp" ? context.provider.audiences.find((item) => item.id === targeting.audienceId) : void 0)?.interests.filter((item) => offered.has(item.id)).map((item) => ({
|
|
42540
|
+
id: item.id,
|
|
42541
|
+
label: item.name
|
|
42542
|
+
})) ?? [];
|
|
42543
|
+
}
|
|
42544
|
+
}
|
|
42545
|
+
}
|
|
42546
|
+
function runtimeTargetingIsAvailable(context, targeting, choices) {
|
|
42547
|
+
if (context?.tag !== "configured") return false;
|
|
42548
|
+
const provider = context.provider;
|
|
42549
|
+
if (targeting.mode === "default") switch (provider.provider) {
|
|
42550
|
+
case "native": return provider.topics.some((item) => item.id === provider.defaultTopicId);
|
|
42551
|
+
case "brevo": return provider.lists.some((item) => item.id === provider.defaultListId);
|
|
42552
|
+
case "mailchimp": return provider.audiences.some((item) => item.id === provider.defaultAudienceId);
|
|
42553
|
+
}
|
|
42554
|
+
if (targeting.provider !== provider.provider) return false;
|
|
42555
|
+
switch (targeting.provider) {
|
|
42556
|
+
case "native": return provider.provider === "native" && nativeTargetIsAvailable(provider, targeting, choices);
|
|
42557
|
+
case "brevo": return provider.provider === "brevo" && brevoTargetIsAvailable(provider, targeting, choices);
|
|
42558
|
+
case "mailchimp": return provider.provider === "mailchimp" && mailchimpTargetIsAvailable(provider, targeting, choices);
|
|
42559
|
+
}
|
|
42560
|
+
}
|
|
42561
|
+
function nativeTargetIsAvailable(provider, targeting, choices) {
|
|
42562
|
+
const ids = targeting.selection.tag === "fixed" ? targeting.selection.topicIds : targeting.selection.offeredTopicIds;
|
|
42563
|
+
return ids.every((id) => provider.topics.some((item) => item.id === id)) && (targeting.selection.tag !== "visitor_choice" || choices.length === ids.length);
|
|
42564
|
+
}
|
|
42565
|
+
function brevoTargetIsAvailable(provider, targeting, choices) {
|
|
42566
|
+
const ids = targeting.selection.tag === "fixed" ? targeting.selection.listIds : targeting.selection.offeredListIds;
|
|
42567
|
+
return ids.every((id) => provider.lists.some((item) => item.id === id)) && (targeting.selection.tag !== "visitor_choice" || choices.length === ids.length);
|
|
42568
|
+
}
|
|
42569
|
+
function mailchimpTargetIsAvailable(provider, targeting, choices) {
|
|
42570
|
+
const audience = provider.audiences.find((item) => item.id === targeting.audienceId);
|
|
42571
|
+
if (!audience) return false;
|
|
42572
|
+
const ids = targeting.selection.tag === "fixed" ? targeting.selection.interestIds : targeting.selection.offeredInterestIds;
|
|
42573
|
+
return ids.every((id) => audience.interests.some((item) => item.id === id)) && (targeting.selection.tag !== "visitor_choice" || choices.length === ids.length);
|
|
42574
|
+
}
|
|
42575
|
+
function parseRequiredMailingListSignupBlockId(value) {
|
|
42576
|
+
const parsed = parseMailingListBlockId(value);
|
|
42577
|
+
if (!parsed) throw new Error("Mailing-list signup block source ref requires blockId");
|
|
41603
42578
|
return parsed;
|
|
41604
42579
|
}
|
|
41605
|
-
function
|
|
41606
|
-
const parsed =
|
|
41607
|
-
if (!parsed) throw new Error("
|
|
42580
|
+
function parseRequiredMailingListSignedSourceToken(value) {
|
|
42581
|
+
const parsed = parseMailingListSignedSourceToken(value);
|
|
42582
|
+
if (!parsed) throw new Error("Mailing-list signup signed source ref requires token");
|
|
41608
42583
|
return parsed;
|
|
41609
42584
|
}
|
|
41610
|
-
var
|
|
42585
|
+
var newsletterButtonVariantSchema, mailingListContextSchema, mailingListTargetingSchema, newsletterFieldSchema, mailingListSignupBlockIdSchema, mailingListContentVersionIdSchema, signedMailingListSourceTokenSchema, newsletterSourceCommonSchema, newsletterSourceSchema, newsletterDisplaySchema, newsletterHydrationSchema, newsletterRenderSchema, newsletterFormBlockRuntime;
|
|
41611
42586
|
var init_newsletter_form_interactive = __esmMin((() => {
|
|
41612
42587
|
init_src$4();
|
|
41613
42588
|
init_islands();
|
|
41614
42589
|
init_runtime$1();
|
|
41615
|
-
init_newsletter_signup_destination();
|
|
41616
42590
|
init_newsletter_form_types();
|
|
41617
42591
|
init_buttonRoles();
|
|
41618
|
-
newsletterPresetSchema = z.enum([
|
|
41619
|
-
"emailOnly",
|
|
41620
|
-
"emailName",
|
|
41621
|
-
"emailFirstLast",
|
|
41622
|
-
"emailNameCompany"
|
|
41623
|
-
]);
|
|
41624
|
-
newsletterDestinationProviderSchema = z.enum(["riverbank", "mailchimp"]);
|
|
41625
42592
|
newsletterButtonVariantSchema = blockButtonRoleSchema;
|
|
42593
|
+
mailingListContextSchema = z.unknown().transform((value, ctx) => {
|
|
42594
|
+
const parsed = parseMailingListRuntimeContext(value);
|
|
42595
|
+
if (!parsed.ok) {
|
|
42596
|
+
ctx.addIssue({
|
|
42597
|
+
code: z.ZodIssueCode.custom,
|
|
42598
|
+
message: "Invalid mailing-list runtime context"
|
|
42599
|
+
});
|
|
42600
|
+
return z.NEVER;
|
|
42601
|
+
}
|
|
42602
|
+
return parsed.value;
|
|
42603
|
+
});
|
|
42604
|
+
mailingListTargetingSchema = z.unknown().transform((value, ctx) => {
|
|
42605
|
+
const parsed = parseMailingListPlacementTargeting(value);
|
|
42606
|
+
if (!parsed.ok) {
|
|
42607
|
+
ctx.addIssue({
|
|
42608
|
+
code: z.ZodIssueCode.custom,
|
|
42609
|
+
message: "Invalid mailing-list targeting"
|
|
42610
|
+
});
|
|
42611
|
+
return z.NEVER;
|
|
42612
|
+
}
|
|
42613
|
+
return parsed.value;
|
|
42614
|
+
});
|
|
41626
42615
|
newsletterFieldSchema = z.object({
|
|
41627
42616
|
id: z.string(),
|
|
41628
42617
|
type: z.enum(["email", "text"]),
|
|
@@ -41630,18 +42619,23 @@ var init_newsletter_form_interactive = __esmMin((() => {
|
|
|
41630
42619
|
required: z.boolean(),
|
|
41631
42620
|
placeholder: z.string().optional()
|
|
41632
42621
|
});
|
|
41633
|
-
|
|
41634
|
-
|
|
42622
|
+
mailingListSignupBlockIdSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignupBlockId);
|
|
42623
|
+
mailingListContentVersionIdSchema = z.string().transform((value, ctx) => {
|
|
42624
|
+
const parsed = parseMailingListContentVersionId(value);
|
|
42625
|
+
if (parsed) return parsed;
|
|
42626
|
+
ctx.addIssue({
|
|
42627
|
+
code: z.ZodIssueCode.custom,
|
|
42628
|
+
message: "Invalid mailing-list content version ID"
|
|
42629
|
+
});
|
|
42630
|
+
return z.NEVER;
|
|
42631
|
+
});
|
|
42632
|
+
signedMailingListSourceTokenSchema = z.string().trim().min(1).transform(parseRequiredMailingListSignedSourceToken);
|
|
41635
42633
|
newsletterSourceCommonSchema = z.object({
|
|
41636
42634
|
siteId: z.string().optional(),
|
|
41637
42635
|
apiBaseUrl: z.string().optional(),
|
|
41638
|
-
|
|
41639
|
-
|
|
41640
|
-
buttonLabel: z.string().nullable().optional(),
|
|
42636
|
+
mailingList: mailingListContextSchema.optional(),
|
|
42637
|
+
targeting: mailingListTargetingSchema.optional(),
|
|
41641
42638
|
buttonVariant: newsletterButtonVariantSchema.nullable().optional(),
|
|
41642
|
-
successMessage: z.string().nullable().optional(),
|
|
41643
|
-
privacyNote: z.string().nullable().optional(),
|
|
41644
|
-
tags: z.string().nullable().optional(),
|
|
41645
42639
|
spamProtectionEnabled: z.boolean().optional(),
|
|
41646
42640
|
className: z.string().nullable().optional()
|
|
41647
42641
|
});
|
|
@@ -41649,54 +42643,61 @@ var init_newsletter_form_interactive = __esmMin((() => {
|
|
|
41649
42643
|
newsletterSourceCommonSchema.extend({
|
|
41650
42644
|
source: z.literal("block"),
|
|
41651
42645
|
blockId: z.string().nullable().optional(),
|
|
41652
|
-
|
|
41653
|
-
destinationProvider: newsletterDestinationProviderSchema.nullable().optional()
|
|
42646
|
+
contentVersionId: z.string().nullable().optional()
|
|
41654
42647
|
}),
|
|
41655
42648
|
newsletterSourceCommonSchema.extend({
|
|
41656
42649
|
source: z.literal("signed-footer"),
|
|
41657
|
-
|
|
41658
|
-
tag: z.literal("
|
|
41659
|
-
token:
|
|
42650
|
+
sourceRef: z.object({
|
|
42651
|
+
tag: z.literal("signed_source_ref"),
|
|
42652
|
+
token: signedMailingListSourceTokenSchema
|
|
41660
42653
|
})
|
|
41661
42654
|
}),
|
|
41662
|
-
newsletterSourceCommonSchema.extend({
|
|
41663
|
-
source: z.literal("legacy-direct-list"),
|
|
41664
|
-
listId: z.string().nullable()
|
|
41665
|
-
})
|
|
42655
|
+
newsletterSourceCommonSchema.extend({ source: z.literal("preview") })
|
|
41666
42656
|
]);
|
|
41667
42657
|
newsletterDisplaySchema = z.object({
|
|
41668
42658
|
kind: z.literal("newsletter-form"),
|
|
42659
|
+
availability: z.enum(["ready", "unavailable"]),
|
|
41669
42660
|
className: z.string().nullable(),
|
|
41670
42661
|
buttonLabel: z.string(),
|
|
42662
|
+
successMessage: z.string(),
|
|
41671
42663
|
buttonVariant: newsletterButtonVariantSchema,
|
|
41672
|
-
successMessage: z.string().nullable(),
|
|
41673
42664
|
privacyNote: z.string().nullable(),
|
|
41674
|
-
fields: z.array(newsletterFieldSchema)
|
|
42665
|
+
fields: z.array(newsletterFieldSchema),
|
|
42666
|
+
choices: z.array(z.object({
|
|
42667
|
+
id: z.string(),
|
|
42668
|
+
label: z.string()
|
|
42669
|
+
}))
|
|
41675
42670
|
});
|
|
41676
42671
|
newsletterHydrationSchema = z.object({
|
|
41677
42672
|
target: z.discriminatedUnion("tag", [
|
|
41678
42673
|
z.object({
|
|
41679
42674
|
tag: z.literal("block-source"),
|
|
41680
|
-
|
|
42675
|
+
sourceRef: z.object({
|
|
41681
42676
|
tag: z.literal("block_ref"),
|
|
41682
|
-
blockId:
|
|
42677
|
+
blockId: mailingListSignupBlockIdSchema,
|
|
42678
|
+
contentVersionId: mailingListContentVersionIdSchema
|
|
41683
42679
|
}).nullable()
|
|
41684
42680
|
}),
|
|
41685
42681
|
z.object({
|
|
41686
42682
|
tag: z.literal("signed-footer-source"),
|
|
41687
|
-
|
|
41688
|
-
tag: z.literal("
|
|
41689
|
-
token:
|
|
42683
|
+
sourceRef: z.object({
|
|
42684
|
+
tag: z.literal("signed_source_ref"),
|
|
42685
|
+
token: signedMailingListSourceTokenSchema
|
|
41690
42686
|
})
|
|
41691
42687
|
}),
|
|
41692
|
-
z.object({
|
|
41693
|
-
|
|
41694
|
-
|
|
41695
|
-
|
|
42688
|
+
z.object({ tag: z.literal("preview") })
|
|
42689
|
+
]),
|
|
42690
|
+
setupRevision: z.number().int().positive().nullable(),
|
|
42691
|
+
choiceProvider: z.enum([
|
|
42692
|
+
"native",
|
|
42693
|
+
"brevo",
|
|
42694
|
+
"mailchimp"
|
|
42695
|
+
]).nullable(),
|
|
42696
|
+
choicePresentation: z.enum([
|
|
42697
|
+
"hidden",
|
|
42698
|
+
"automatic",
|
|
42699
|
+
"visitor_choice"
|
|
41696
42700
|
]),
|
|
41697
|
-
preset: newsletterPresetSchema,
|
|
41698
|
-
includePhone: z.boolean(),
|
|
41699
|
-
tags: z.string().nullable().optional(),
|
|
41700
42701
|
spamProtectionEnabled: z.boolean().optional()
|
|
41701
42702
|
});
|
|
41702
42703
|
newsletterRenderSchema = z.object({
|
|
@@ -41714,14 +42715,15 @@ var init_newsletter_form_interactive = __esmMin((() => {
|
|
|
41714
42715
|
render: createZodCodec(newsletterRenderSchema)
|
|
41715
42716
|
},
|
|
41716
42717
|
buildRender: (source) => {
|
|
41717
|
-
const
|
|
42718
|
+
const targeting = source.targeting ?? { mode: "default" };
|
|
42719
|
+
const presentation = planMailingListChoicePresentation(targeting);
|
|
41718
42720
|
return {
|
|
41719
42721
|
display: buildNewsletterDisplay(source),
|
|
41720
42722
|
hydration: {
|
|
41721
42723
|
target: projectNewsletterFormHydrationTarget(source),
|
|
41722
|
-
|
|
41723
|
-
|
|
41724
|
-
|
|
42724
|
+
setupRevision: source.mailingList?.tag === "configured" ? source.mailingList.revision : null,
|
|
42725
|
+
choiceProvider: targeting.mode === "custom" ? targeting.provider : null,
|
|
42726
|
+
choicePresentation: presentation.tag,
|
|
41725
42727
|
spamProtectionEnabled: source.spamProtectionEnabled
|
|
41726
42728
|
}
|
|
41727
42729
|
};
|
|
@@ -41730,6 +42732,19 @@ var init_newsletter_form_interactive = __esmMin((() => {
|
|
|
41730
42732
|
}));
|
|
41731
42733
|
//#endregion
|
|
41732
42734
|
//#region ../blocks/src/system/blocks/newsletter-signup.ts
|
|
42735
|
+
function sanitizeNewsletterSignupPublicContent(content) {
|
|
42736
|
+
if (typeof content !== "object" || content === null || Array.isArray(content)) return content;
|
|
42737
|
+
const value = content;
|
|
42738
|
+
return {
|
|
42739
|
+
title: value.title,
|
|
42740
|
+
subtitle: value.subtitle,
|
|
42741
|
+
targeting: value.targeting,
|
|
42742
|
+
buttonVariant: value.buttonVariant,
|
|
42743
|
+
mailingListSource: value.mailingListSource,
|
|
42744
|
+
mailingListSourceToken: value.mailingListSourceToken,
|
|
42745
|
+
_sectionStyles: value._sectionStyles
|
|
42746
|
+
};
|
|
42747
|
+
}
|
|
41733
42748
|
var stackedComposition, stackedLayout, inlineLayout, editorialSplitLayout, newsletterSignupManifest, newsletterSignupBlockDefinition;
|
|
41734
42749
|
var init_newsletter_signup = __esmMin((() => {
|
|
41735
42750
|
init_fragments$1();
|
|
@@ -41738,7 +42753,6 @@ var init_newsletter_signup = __esmMin((() => {
|
|
|
41738
42753
|
init_defineBlock();
|
|
41739
42754
|
init_fragments();
|
|
41740
42755
|
init_newsletter_form_interactive();
|
|
41741
|
-
init_newsletter_signup_destination();
|
|
41742
42756
|
stackedComposition = composeFragments([{ fragment: newsletterCopyFragment }, { fragment: newsletterFormFragment }]);
|
|
41743
42757
|
stackedLayout = styledSection({
|
|
41744
42758
|
children: sectionContainer(stackedComposition.layout, {
|
|
@@ -42724,6 +43738,7 @@ var init_blocks$1 = __esmMin((() => {
|
|
|
42724
43738
|
init_feature_cards();
|
|
42725
43739
|
init_media_text();
|
|
42726
43740
|
init_appointment_booking();
|
|
43741
|
+
init_appointment_services();
|
|
42727
43742
|
init_weekly_slot_availability();
|
|
42728
43743
|
init_event_registration();
|
|
42729
43744
|
init_event_details();
|
|
@@ -43216,6 +44231,14 @@ var init_blocks$1 = __esmMin((() => {
|
|
|
43216
44231
|
weight: "standard"
|
|
43217
44232
|
})]
|
|
43218
44233
|
})),
|
|
44234
|
+
withDesignCapability("block.appointment-services", appointmentServicesBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
44235
|
+
flow: conversionFlow,
|
|
44236
|
+
layoutProfiles: [layoutProfile({
|
|
44237
|
+
variantKey: "default",
|
|
44238
|
+
family: "stack",
|
|
44239
|
+
weight: "standard"
|
|
44240
|
+
})]
|
|
44241
|
+
})),
|
|
43219
44242
|
withDesignCapability("block.weekly-slot-availability", weeklySlotAvailabilityBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
43220
44243
|
flow: offeringsFlow,
|
|
43221
44244
|
layoutProfiles: [layoutProfile({
|
|
@@ -44513,8 +45536,12 @@ function shouldSkipResolvedLoader(input) {
|
|
|
44513
45536
|
* ```
|
|
44514
45537
|
*/
|
|
44515
45538
|
async function prefetchBlockData$1(page, context, options) {
|
|
45539
|
+
return (await prefetchBlockDataWithFailures(page, context, options)).resolvedData;
|
|
45540
|
+
}
|
|
45541
|
+
async function prefetchBlockDataWithFailures(page, context, options) {
|
|
44516
45542
|
const { apiClient, isValidEndpoint, onError, getCustomBlockLoaders, getBlockDefinition: getBlockDefinition$1 = getBlockDefinition, resolveParamsBindings: resolveParamsBindings$1 = resolveParamsBindings } = options;
|
|
44517
45543
|
const results = {};
|
|
45544
|
+
const loaderFailures = {};
|
|
44518
45545
|
const tasks = [];
|
|
44519
45546
|
for (const block of page.blocks) {
|
|
44520
45547
|
const blockId = block.id;
|
|
@@ -44562,6 +45589,11 @@ async function prefetchBlockData$1(page, context, options) {
|
|
|
44562
45589
|
const blockResults = results[blockId] ?? (results[blockId] = {});
|
|
44563
45590
|
blockResults[key] = data;
|
|
44564
45591
|
} catch (error) {
|
|
45592
|
+
const blockFailures = loaderFailures[blockId] ?? (loaderFailures[blockId] = {});
|
|
45593
|
+
blockFailures[key] = {
|
|
45594
|
+
endpoint,
|
|
45595
|
+
params
|
|
45596
|
+
};
|
|
44565
45597
|
if (onError) onError(error, {
|
|
44566
45598
|
block: block.kind,
|
|
44567
45599
|
loader: key
|
|
@@ -44571,7 +45603,10 @@ async function prefetchBlockData$1(page, context, options) {
|
|
|
44571
45603
|
}
|
|
44572
45604
|
}
|
|
44573
45605
|
if (tasks.length > 0) await Promise.all(tasks);
|
|
44574
|
-
return
|
|
45606
|
+
return {
|
|
45607
|
+
resolvedData: results,
|
|
45608
|
+
loaderFailures
|
|
45609
|
+
};
|
|
44575
45610
|
}
|
|
44576
45611
|
var init_prefetchBlockData$1 = __esmMin((() => {
|
|
44577
45612
|
init_registry$3();
|
|
@@ -44735,6 +45770,7 @@ function unsafeRetypeZodSchema(schema) {
|
|
|
44735
45770
|
var navIdListSchema, dashboardNavVisibilityBaseSchema, dashboardNavVisibilityRolesSchema, dashboardNavVisibilitySchema, dashboardNavigationConfigSchema, dashboardConfigSchema, fieldDefinitionInputSchema, sdkLoaderEndpointSchema, loaderFallbackScalarSchema, loaderParamBindingSchema, loaderParamValueSchema, sdkConfigLoaderSchema, sdkDataLoadersSchema, sdkCustomBlockIdSchema, sdkCustomBlockInputSchema, sdkBlockFieldExtensionInputSchema, sdkBlockFieldExtensionsInputSchema, sdkThemePaletteSchema, sdkThemeConfigSchema, sdkSectionBackgroundSchema, sdkSectionOptionsConfigSchema, sdkContainerOptionsConfigSchema, sdkSiteStyleConfigSchema, sdkSiteLayoutConfigSchema, sdkFieldSelectOptionSchema, sdkBlockFieldConfigSchema, sdkBlockFieldOptionsMapSchema, sdkContentTypeTemplateConfigSchema, sdkContentTypeOrderingConfigSchema, sdkContentTypeConfigSchema, sdkContentConfigSchema, SDK_WORKFLOW_ID_PATTERN, SDK_WORKFLOW_ENDPOINT_PATTERN, sdkWorkflowIdSchema, sdkWorkflowEndpointSchema, sdkWorkflowManualTriggerSchema, sdkWorkflowTriggerFieldSchema, sdkWorkflowFieldChangedConditionSchema, sdkWorkflowFieldEmptyConditionSchema, sdkWorkflowEntryDraftUpdatedTriggerSchema, sdkWorkflowTriggerSchema, sdkWorkflowConfirmationSchema, sdkWorkflowConfigSchema, sdkWorkflowsSchema, riverbankSiteConfigInputSchema;
|
|
44736
45771
|
var init_contracts = __esmMin((() => {
|
|
44737
45772
|
init_src$2();
|
|
45773
|
+
init_src$4();
|
|
44738
45774
|
navIdListSchema = z.preprocess((value) => {
|
|
44739
45775
|
if (!Array.isArray(value)) return void 0;
|
|
44740
45776
|
const filtered = value.filter((v) => typeof v === "string" && v.trim().length > 0);
|
|
@@ -44966,7 +46002,17 @@ var init_contracts = __esmMin((() => {
|
|
|
44966
46002
|
z.object({
|
|
44967
46003
|
config: riverbankSiteConfigInputSchema,
|
|
44968
46004
|
forceContentTypes: z.boolean().optional(),
|
|
44969
|
-
mode: z.enum(["apply", "preview"]).optional()
|
|
46005
|
+
mode: z.enum(["apply", "preview"]).optional(),
|
|
46006
|
+
expectedMailingListProviderScope: z.unknown().transform((value, ctx) => {
|
|
46007
|
+
if (value === void 0) return void 0;
|
|
46008
|
+
const parsed = parseMailingListProviderScope(value);
|
|
46009
|
+
if (parsed.ok) return parsed.value;
|
|
46010
|
+
ctx.addIssue({
|
|
46011
|
+
code: "custom",
|
|
46012
|
+
message: "Invalid mailing-list provider scope"
|
|
46013
|
+
});
|
|
46014
|
+
return z.NEVER;
|
|
46015
|
+
}).optional()
|
|
44970
46016
|
}).strict();
|
|
44971
46017
|
}));
|
|
44972
46018
|
//#endregion
|
|
@@ -45732,6 +46778,38 @@ var init_siteBanner = __esmMin((() => {
|
|
|
45732
46778
|
content: []
|
|
45733
46779
|
}]
|
|
45734
46780
|
};
|
|
46781
|
+
})), EU_MEMBER_COUNTRIES;
|
|
46782
|
+
var init_privacyPolicy = __esmMin((() => {
|
|
46783
|
+
EU_MEMBER_COUNTRIES = [
|
|
46784
|
+
"AT",
|
|
46785
|
+
"BE",
|
|
46786
|
+
"BG",
|
|
46787
|
+
"HR",
|
|
46788
|
+
"CY",
|
|
46789
|
+
"CZ",
|
|
46790
|
+
"DK",
|
|
46791
|
+
"EE",
|
|
46792
|
+
"FI",
|
|
46793
|
+
"FR",
|
|
46794
|
+
"DE",
|
|
46795
|
+
"GR",
|
|
46796
|
+
"HU",
|
|
46797
|
+
"IE",
|
|
46798
|
+
"IT",
|
|
46799
|
+
"LV",
|
|
46800
|
+
"LT",
|
|
46801
|
+
"LU",
|
|
46802
|
+
"MT",
|
|
46803
|
+
"NL",
|
|
46804
|
+
"PL",
|
|
46805
|
+
"PT",
|
|
46806
|
+
"RO",
|
|
46807
|
+
"SK",
|
|
46808
|
+
"SI",
|
|
46809
|
+
"ES",
|
|
46810
|
+
"SE"
|
|
46811
|
+
];
|
|
46812
|
+
new Set(EU_MEMBER_COUNTRIES);
|
|
45735
46813
|
}));
|
|
45736
46814
|
//#endregion
|
|
45737
46815
|
//#region ../api/src/analytics.ts
|
|
@@ -45926,7 +47004,6 @@ var init_dashboardTeamMemberNav = __esmMin((() => {
|
|
|
45926
47004
|
var init_dashboardBookingsNav = __esmMin((() => {
|
|
45927
47005
|
init_staffAccess();
|
|
45928
47006
|
}));
|
|
45929
|
-
var init_identity = __esmMin((() => {}));
|
|
45930
47007
|
//#endregion
|
|
45931
47008
|
//#region ../api/src/navigation/dashboardDemoNav.ts
|
|
45932
47009
|
var init_dashboardDemoNav = __esmMin((() => {
|
|
@@ -45943,7 +47020,6 @@ var init_navigation = __esmMin((() => {
|
|
|
45943
47020
|
init_permissions();
|
|
45944
47021
|
init_dashboardTeamMemberNav();
|
|
45945
47022
|
init_dashboardBookingsNav();
|
|
45946
|
-
init_identity();
|
|
45947
47023
|
init_dashboardDemoNav();
|
|
45948
47024
|
init_src$2();
|
|
45949
47025
|
}));
|
|
@@ -46091,6 +47167,7 @@ var init_src = __esmMin((() => {
|
|
|
46091
47167
|
init_types();
|
|
46092
47168
|
init_siteBanner();
|
|
46093
47169
|
init_siteOnboarding();
|
|
47170
|
+
init_privacyPolicy();
|
|
46094
47171
|
init_analytics();
|
|
46095
47172
|
init_publicProducts();
|
|
46096
47173
|
init_contentEntries();
|
|
@@ -46556,6 +47633,7 @@ function buildSiteRenderSupport(site, mediaAssets) {
|
|
|
46556
47633
|
site: site.site,
|
|
46557
47634
|
sdkConfig: site.sdkConfig ?? null,
|
|
46558
47635
|
bookingOfferingPresets: site.bookingOfferingPresets ?? [],
|
|
47636
|
+
mailingList: site.mailingList,
|
|
46559
47637
|
bookingTimeZone: site.bookingTimeZone ?? "UTC",
|
|
46560
47638
|
...customBlocks ? { customBlocks } : {},
|
|
46561
47639
|
supabaseUrl: site.supabaseUrl,
|
|
@@ -46573,9 +47651,11 @@ function convertPageResponseBlock(block) {
|
|
|
46573
47651
|
if (typeof block.id !== "string" && block.id !== null) throw new Error(`Invalid block id in page: expected string or null, got ${typeof block.id}`);
|
|
46574
47652
|
if (typeof block.kind !== "string") throw new Error(`Invalid block kind in page: expected string, got ${typeof block.kind}`);
|
|
46575
47653
|
if (typeof block.purpose !== "string") throw new Error(`Invalid block purpose in page: expected string, got ${typeof block.purpose}`);
|
|
47654
|
+
if (block.contentVersionId !== void 0 && block.contentVersionId !== null && typeof block.contentVersionId !== "string") throw new Error(`Invalid content version id in page: expected string or null, got ${typeof block.contentVersionId}`);
|
|
46576
47655
|
const admission = readInvalidBlockAdmission(block.admission);
|
|
46577
47656
|
return {
|
|
46578
47657
|
id: block.id,
|
|
47658
|
+
...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
|
|
46579
47659
|
kind: block.kind,
|
|
46580
47660
|
purpose: block.purpose,
|
|
46581
47661
|
content: sanitizeSdkRuntimeBlockContent(block.kind, readContentRecord(block.content) ?? {}),
|
|
@@ -46608,6 +47688,7 @@ function projectRenderablePageOutline(page) {
|
|
|
46608
47688
|
...page,
|
|
46609
47689
|
blocks: page.blocks.flatMap((block) => block.admission.kind === "renderable" ? [{
|
|
46610
47690
|
id: block.id,
|
|
47691
|
+
...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
|
|
46611
47692
|
kind: block.kind,
|
|
46612
47693
|
purpose: block.purpose,
|
|
46613
47694
|
content: block.admission.content,
|
|
@@ -46618,6 +47699,7 @@ function projectRenderablePageOutline(page) {
|
|
|
46618
47699
|
function admitSdkRuntimePageBlock(block, customBlocks) {
|
|
46619
47700
|
const base = {
|
|
46620
47701
|
id: block.id,
|
|
47702
|
+
...block.contentVersionId !== void 0 ? { contentVersionId: block.contentVersionId } : {},
|
|
46621
47703
|
kind: block.kind,
|
|
46622
47704
|
purpose: block.purpose,
|
|
46623
47705
|
...block.bindings ? { bindings: block.bindings } : {}
|
|
@@ -46808,6 +47890,7 @@ async function loadPageWithDeps(deps, params) {
|
|
|
46808
47890
|
siteId,
|
|
46809
47891
|
resolvedData,
|
|
46810
47892
|
bookingOfferingPresets: support.bookingOfferingPresets,
|
|
47893
|
+
mailingList: support.mailingList,
|
|
46811
47894
|
bookingTimeZone: support.bookingTimeZone,
|
|
46812
47895
|
supabaseUrl: support.supabaseUrl,
|
|
46813
47896
|
...support.mediaAssets ? { mediaAssets: support.mediaAssets } : {},
|