@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/client/bookings.mjs
CHANGED
|
@@ -2523,6 +2523,11 @@ function assertNever$3(value, message = "Unexpected variant") {
|
|
|
2523
2523
|
}
|
|
2524
2524
|
//#endregion
|
|
2525
2525
|
//#region ../core/src/currency-format.ts
|
|
2526
|
+
const CURRENCY_CODE_INPUT_PATTERN = /^[A-Za-z]{3}$/;
|
|
2527
|
+
/** Parse + normalize a currency code, or return null if it isn't a 3-letter code. */
|
|
2528
|
+
function parseCurrencyCode(value) {
|
|
2529
|
+
return CURRENCY_CODE_INPUT_PATTERN.test(value) ? value.toUpperCase() : null;
|
|
2530
|
+
}
|
|
2526
2531
|
const CURRENCY_LOCALE_BY_CODE = {
|
|
2527
2532
|
USD: "en-US",
|
|
2528
2533
|
GBP: "en-GB",
|
|
@@ -6873,8 +6878,14 @@ const headerInteractionPillPaletteValues = [
|
|
|
6873
6878
|
"accent"
|
|
6874
6879
|
];
|
|
6875
6880
|
/**
|
|
6876
|
-
* "No pill":
|
|
6877
|
-
*
|
|
6881
|
+
* "No pill": a colour change on hover rather than a filled background.
|
|
6882
|
+
*
|
|
6883
|
+
* The palette step writes nothing (#1318 Phase 4c decision 2), but on a
|
|
6884
|
+
* foreground-adaptive style that is not the end of the story: the hover colour
|
|
6885
|
+
* is derived from the resolved opening foreground at render time, paired with
|
|
6886
|
+
* the resting colour, so `quiet` resolves to a definite colour rather than to
|
|
6887
|
+
* whatever brand token the recipe happened to name. See
|
|
6888
|
+
* `applyOpeningForeground`.
|
|
6878
6889
|
*
|
|
6879
6890
|
* It exists because "a colour change on hover, no filled background" was not
|
|
6880
6891
|
* expressible in the vocabulary, and it is what
|
|
@@ -7856,6 +7867,28 @@ const bookingRequirementConsentFieldSchema = z.object({
|
|
|
7856
7867
|
z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
7857
7868
|
//#endregion
|
|
7858
7869
|
//#region ../blocks/src/system/blocks/events/shared/schemas.ts
|
|
7870
|
+
const publicEventLoaderQuerySchemaShape = {
|
|
7871
|
+
limit: z.string().optional(),
|
|
7872
|
+
from: z.string().optional(),
|
|
7873
|
+
to: z.string().optional(),
|
|
7874
|
+
afterStartsAt: z.string().optional(),
|
|
7875
|
+
afterId: z.string().optional(),
|
|
7876
|
+
categoryIds: z.string().optional(),
|
|
7877
|
+
venueId: z.string().optional(),
|
|
7878
|
+
staffMemberId: z.string().optional(),
|
|
7879
|
+
eventSurface: z.string().optional(),
|
|
7880
|
+
eventPresets: z.string().optional(),
|
|
7881
|
+
scheduleScope: z.string().optional(),
|
|
7882
|
+
seriesId: z.string().optional(),
|
|
7883
|
+
seriesIds: z.string().optional(),
|
|
7884
|
+
runSeriesId: z.string().optional(),
|
|
7885
|
+
seriesSlug: z.string().optional(),
|
|
7886
|
+
includeOccurrenceId: z.string().optional(),
|
|
7887
|
+
readIntent: z.string().optional(),
|
|
7888
|
+
detailLevel: z.string().optional(),
|
|
7889
|
+
readProfile: z.string().optional()
|
|
7890
|
+
};
|
|
7891
|
+
z.object(publicEventLoaderQuerySchemaShape);
|
|
7859
7892
|
const eventPresetSchema = z.enum([
|
|
7860
7893
|
"event",
|
|
7861
7894
|
"class",
|
|
@@ -8722,6 +8755,9 @@ function isApiSuccessResponse(json) {
|
|
|
8722
8755
|
* });
|
|
8723
8756
|
* ```
|
|
8724
8757
|
*/
|
|
8758
|
+
function publicEventsQuery(params) {
|
|
8759
|
+
return { ...params ?? {} };
|
|
8760
|
+
}
|
|
8725
8761
|
function createBlockApi(config) {
|
|
8726
8762
|
const { baseUrl, auth, authOverrides, siteId, isPreview } = config;
|
|
8727
8763
|
const dedup = createDeduplicationCache({ ttl: 100 });
|
|
@@ -8874,23 +8910,7 @@ function createBlockApi(config) {
|
|
|
8874
8910
|
const path = buildPath(EVENTS.list.path, { siteId: sid });
|
|
8875
8911
|
return request(EVENTS.list, {
|
|
8876
8912
|
path,
|
|
8877
|
-
query:
|
|
8878
|
-
from: params?.from,
|
|
8879
|
-
to: params?.to,
|
|
8880
|
-
afterStartsAt: params?.afterStartsAt,
|
|
8881
|
-
afterId: params?.afterId,
|
|
8882
|
-
limit: params?.limit,
|
|
8883
|
-
stage: params?.stage,
|
|
8884
|
-
eventSurface: params?.eventSurface,
|
|
8885
|
-
eventPresets: params?.eventPresets,
|
|
8886
|
-
scheduleScope: params?.scheduleScope,
|
|
8887
|
-
categoryIds: params?.categoryIds,
|
|
8888
|
-
venueId: params?.venueId,
|
|
8889
|
-
staffMemberId: params?.staffMemberId,
|
|
8890
|
-
seriesId: params?.seriesId,
|
|
8891
|
-
includeOccurrenceId: params?.includeOccurrenceId,
|
|
8892
|
-
detailLevel: params?.detailLevel
|
|
8893
|
-
}
|
|
8913
|
+
query: publicEventsQuery(params)
|
|
8894
8914
|
});
|
|
8895
8915
|
},
|
|
8896
8916
|
async getEventFilters(params) {
|
|
@@ -8954,7 +8974,7 @@ function createBlockApi(config) {
|
|
|
8954
8974
|
const path = buildPath(WHOLE_SERIES.waitlistClaimResolve.path, { siteId: sid });
|
|
8955
8975
|
return request(WHOLE_SERIES.waitlistClaimResolve, {
|
|
8956
8976
|
path,
|
|
8957
|
-
body:
|
|
8977
|
+
body: data
|
|
8958
8978
|
});
|
|
8959
8979
|
},
|
|
8960
8980
|
async getDiscountsAvailable(data) {
|
|
@@ -9043,8 +9063,9 @@ function createBlockApi(config) {
|
|
|
9043
9063
|
name: data.name,
|
|
9044
9064
|
company: data.company,
|
|
9045
9065
|
phone: data.phone,
|
|
9046
|
-
|
|
9047
|
-
|
|
9066
|
+
sourceRef: data.sourceRef,
|
|
9067
|
+
setupRevision: data.setupRevision,
|
|
9068
|
+
visitorSelection: data.visitorSelection,
|
|
9048
9069
|
meta: data.meta
|
|
9049
9070
|
}
|
|
9050
9071
|
});
|
|
@@ -14861,61 +14882,6 @@ const BookingFormClient$1 = ({ siteId: siteIdProp, render }) => {
|
|
|
14861
14882
|
});
|
|
14862
14883
|
};
|
|
14863
14884
|
//#endregion
|
|
14864
|
-
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.ts
|
|
14865
|
-
function resolveRegistrationRecoveryAction(step, action) {
|
|
14866
|
-
if (step === "payment-failed") return "payment-options";
|
|
14867
|
-
if (step === "verifying-payment" || step === "verifying-timeout" || step === "redirecting") return "payment-status";
|
|
14868
|
-
return action;
|
|
14869
|
-
}
|
|
14870
|
-
function canRecoverToWaitlist(eligibility) {
|
|
14871
|
-
return Boolean(eligibility?.isFull && eligibility.canJoinWaitlist);
|
|
14872
|
-
}
|
|
14873
|
-
function shouldRefreshAfterRegistrationError(step, action, enabled) {
|
|
14874
|
-
return enabled || step === "error" && action === "places";
|
|
14875
|
-
}
|
|
14876
|
-
function resetRegistrationAfterExpiry(input) {
|
|
14877
|
-
input.dispatchFlow({
|
|
14878
|
-
type: "reset",
|
|
14879
|
-
hasPreSelectedContext: input.hasPreSelectedContext
|
|
14880
|
-
});
|
|
14881
|
-
input.setSelectedTicketLines([]);
|
|
14882
|
-
input.setSelectedSlidingAmountInput("");
|
|
14883
|
-
const mode = input.preSelectedEvent?.deliveryMode;
|
|
14884
|
-
input.setSelectedAttendanceMode(mode === "online" || mode === "in_person" ? mode : null);
|
|
14885
|
-
input.setErrorMessage("");
|
|
14886
|
-
input.setPendingRegistrationReference(null);
|
|
14887
|
-
}
|
|
14888
|
-
/** Recovery never starts another payment. Unknown payment outcomes go to the portal. */
|
|
14889
|
-
function recoverRegistrationError(action, handlers) {
|
|
14890
|
-
switch (action) {
|
|
14891
|
-
case "none": return;
|
|
14892
|
-
case "portal":
|
|
14893
|
-
case "payment-status":
|
|
14894
|
-
window.location.assign("/portal");
|
|
14895
|
-
return;
|
|
14896
|
-
case "event":
|
|
14897
|
-
window.location.assign(window.location.pathname);
|
|
14898
|
-
return;
|
|
14899
|
-
case "retry":
|
|
14900
|
-
window.location.reload();
|
|
14901
|
-
return;
|
|
14902
|
-
case "details":
|
|
14903
|
-
handlers.clearError();
|
|
14904
|
-
handlers.setStep("enter-details");
|
|
14905
|
-
return;
|
|
14906
|
-
case "payment-options":
|
|
14907
|
-
case "places":
|
|
14908
|
-
handlers.refreshOptions();
|
|
14909
|
-
handlers.clearError();
|
|
14910
|
-
handlers.setStep(action === "places" ? handlers.canJoinWaitlist ? "enter-details" : "select-tickets" : "select-payment");
|
|
14911
|
-
return;
|
|
14912
|
-
case "start":
|
|
14913
|
-
handlers.refreshOptions();
|
|
14914
|
-
handlers.reset();
|
|
14915
|
-
return;
|
|
14916
|
-
}
|
|
14917
|
-
}
|
|
14918
|
-
//#endregion
|
|
14919
14885
|
//#region ../blocks/src/system/runtime/nodes/events/domain/capacity.ts
|
|
14920
14886
|
/**
|
|
14921
14887
|
* Compute remaining spots for an event from `availableSpots` with a fallback
|
|
@@ -14985,6 +14951,166 @@ function resolveRuntimeEventDestination(event) {
|
|
|
14985
14951
|
};
|
|
14986
14952
|
}
|
|
14987
14953
|
//#endregion
|
|
14954
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.ts
|
|
14955
|
+
/** Recovery may select held places; checkout still owns admission and payment validation. */
|
|
14956
|
+
function checkoutRecoveryOptionAvailability(availability) {
|
|
14957
|
+
if (availability.kind === "available" || availability.reason === "sold_out" || availability.reason === "overallCapacityUnavailable") return {
|
|
14958
|
+
kind: "available",
|
|
14959
|
+
remainingPlaces: null
|
|
14960
|
+
};
|
|
14961
|
+
return availability;
|
|
14962
|
+
}
|
|
14963
|
+
/**
|
|
14964
|
+
* A form-only projection for the explicit existing-checkout path. It permits
|
|
14965
|
+
* collecting the original selection without claiming a new place is available.
|
|
14966
|
+
* The public checkout service identifies the customer and remains the admission
|
|
14967
|
+
* authority; no reservation/customer data is exposed through this projection.
|
|
14968
|
+
*/
|
|
14969
|
+
function getCheckoutRecoveryFormEligibility(eligibility) {
|
|
14970
|
+
if (!eligibility || eligibility.registration.kind !== "none" && eligibility.registration.kind !== "pending_payment" || eligibility.availability.kind === "unavailable" && eligibility.availability.reason !== "full" && eligibility.availability.reason !== "selectionRequired") return eligibility;
|
|
14971
|
+
const amountCents = eligibility.price ?? 0;
|
|
14972
|
+
if (amountCents <= 0 || !eligibility.currency || eligibility.availability.kind === "unavailable" && eligibility.availability.reason === "selectionRequired") return eligibility.registration.kind === "pending_payment" ? {
|
|
14973
|
+
...eligibility,
|
|
14974
|
+
registration: { kind: "none" },
|
|
14975
|
+
ticketTypes: eligibility.ticketTypes.map((option) => ({
|
|
14976
|
+
...option,
|
|
14977
|
+
availability: checkoutRecoveryOptionAvailability(option.availability)
|
|
14978
|
+
}))
|
|
14979
|
+
} : eligibility;
|
|
14980
|
+
const currency = eligibility.currency;
|
|
14981
|
+
const paymentOptions = eligibility.paymentTerms.allowedOptions.map((option) => {
|
|
14982
|
+
switch (option.kind) {
|
|
14983
|
+
case "upfront": return {
|
|
14984
|
+
kind: "payInFull",
|
|
14985
|
+
amountCents,
|
|
14986
|
+
currency
|
|
14987
|
+
};
|
|
14988
|
+
case "deferred_manual": return {
|
|
14989
|
+
kind: "deferredManual",
|
|
14990
|
+
amountCents,
|
|
14991
|
+
currency
|
|
14992
|
+
};
|
|
14993
|
+
case "instalment_plan": return {
|
|
14994
|
+
kind: "instalmentPlan",
|
|
14995
|
+
amountCents,
|
|
14996
|
+
currency
|
|
14997
|
+
};
|
|
14998
|
+
case "flexible_balance": return {
|
|
14999
|
+
kind: "flexibleBalance",
|
|
15000
|
+
amountCents,
|
|
15001
|
+
currency
|
|
15002
|
+
};
|
|
15003
|
+
}
|
|
15004
|
+
});
|
|
15005
|
+
return {
|
|
15006
|
+
...eligibility,
|
|
15007
|
+
registration: { kind: "none" },
|
|
15008
|
+
availability: {
|
|
15009
|
+
kind: "available",
|
|
15010
|
+
remainingPlaces: null,
|
|
15011
|
+
waitlistEnabled: eligibility.waitlistEnabled
|
|
15012
|
+
},
|
|
15013
|
+
eligible: paymentOptions.length > 0,
|
|
15014
|
+
isFull: false,
|
|
15015
|
+
canJoinWaitlist: false,
|
|
15016
|
+
isFree: false,
|
|
15017
|
+
requiresPayment: true,
|
|
15018
|
+
canPayDirectly: paymentOptions.length > 0,
|
|
15019
|
+
paymentOptions,
|
|
15020
|
+
eligiblePasses: [],
|
|
15021
|
+
eligibleMemberships: [],
|
|
15022
|
+
ticketTypes: eligibility.ticketTypes.map((option) => ({
|
|
15023
|
+
...option,
|
|
15024
|
+
availability: checkoutRecoveryOptionAvailability(option.availability)
|
|
15025
|
+
}))
|
|
15026
|
+
};
|
|
15027
|
+
}
|
|
15028
|
+
function canJoinWaitlistOutsideRecovery(event, attendanceMode, checkoutRecovery) {
|
|
15029
|
+
return !checkoutRecovery && event !== null && canJoinEventWaitlist(event, { attendanceMode });
|
|
15030
|
+
}
|
|
15031
|
+
//#endregion
|
|
15032
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.ts
|
|
15033
|
+
/** Recovery belongs to the selected booking subject; changing events resets its scope. */
|
|
15034
|
+
function useCheckoutRecovery(event, setStep) {
|
|
15035
|
+
const [recoveryEventId, setRecoveryEventId] = useState(null);
|
|
15036
|
+
return {
|
|
15037
|
+
checkoutRecovery: event !== null && recoveryEventId === event.selectionId,
|
|
15038
|
+
startCheckoutRecovery: useCallback(() => {
|
|
15039
|
+
if (!event) return;
|
|
15040
|
+
setRecoveryEventId(event.selectionId);
|
|
15041
|
+
setStep("select-tickets");
|
|
15042
|
+
}, [event, setStep])
|
|
15043
|
+
};
|
|
15044
|
+
}
|
|
15045
|
+
/** Authenticated pending bookings enter the same form-only recovery path as guests. */
|
|
15046
|
+
function useCheckoutRecoveryEligibility(eligibility, step, checkoutRecovery, startCheckoutRecovery) {
|
|
15047
|
+
const registrationKind = eligibility?.registration.kind;
|
|
15048
|
+
useEffect(() => {
|
|
15049
|
+
if ((step === "select-event" || step === "select-tickets" || step === "enter-details" || step === "select-payment") && registrationKind === "pending_payment" && !checkoutRecovery) startCheckoutRecovery();
|
|
15050
|
+
}, [
|
|
15051
|
+
registrationKind,
|
|
15052
|
+
step,
|
|
15053
|
+
checkoutRecovery,
|
|
15054
|
+
startCheckoutRecovery
|
|
15055
|
+
]);
|
|
15056
|
+
return useMemo(() => checkoutRecovery ? getCheckoutRecoveryFormEligibility(eligibility) : eligibility, [checkoutRecovery, eligibility]);
|
|
15057
|
+
}
|
|
15058
|
+
//#endregion
|
|
15059
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.ts
|
|
15060
|
+
function resolveRegistrationRecoveryAction(step, action) {
|
|
15061
|
+
if (step === "payment-failed") return "payment-options";
|
|
15062
|
+
if (step === "verifying-payment" || step === "verifying-timeout" || step === "redirecting") return "payment-status";
|
|
15063
|
+
return action;
|
|
15064
|
+
}
|
|
15065
|
+
function canRecoverToWaitlist(eligibility) {
|
|
15066
|
+
return Boolean(eligibility?.isFull && eligibility.canJoinWaitlist);
|
|
15067
|
+
}
|
|
15068
|
+
function shouldRefreshAfterRegistrationError(step, action, enabled) {
|
|
15069
|
+
return enabled || step === "error" && action === "places";
|
|
15070
|
+
}
|
|
15071
|
+
function resetRegistrationAfterExpiry(input) {
|
|
15072
|
+
input.dispatchFlow({
|
|
15073
|
+
type: "reset",
|
|
15074
|
+
hasPreSelectedContext: input.hasPreSelectedContext
|
|
15075
|
+
});
|
|
15076
|
+
input.setSelectedTicketLines([]);
|
|
15077
|
+
input.setSelectedSlidingAmountInput("");
|
|
15078
|
+
const mode = input.preSelectedEvent?.deliveryMode;
|
|
15079
|
+
input.setSelectedAttendanceMode(mode === "online" || mode === "in_person" ? mode : null);
|
|
15080
|
+
input.setErrorMessage("");
|
|
15081
|
+
input.setPendingRegistrationReference(null);
|
|
15082
|
+
}
|
|
15083
|
+
/** Recovery never starts another payment. Unknown payment outcomes go to the portal. */
|
|
15084
|
+
function recoverRegistrationError(action, handlers) {
|
|
15085
|
+
switch (action) {
|
|
15086
|
+
case "none": return;
|
|
15087
|
+
case "portal":
|
|
15088
|
+
case "payment-status":
|
|
15089
|
+
window.location.assign("/portal");
|
|
15090
|
+
return;
|
|
15091
|
+
case "event":
|
|
15092
|
+
window.location.assign(window.location.pathname);
|
|
15093
|
+
return;
|
|
15094
|
+
case "retry":
|
|
15095
|
+
window.location.reload();
|
|
15096
|
+
return;
|
|
15097
|
+
case "details":
|
|
15098
|
+
handlers.clearError();
|
|
15099
|
+
handlers.setStep("enter-details");
|
|
15100
|
+
return;
|
|
15101
|
+
case "payment-options":
|
|
15102
|
+
case "places":
|
|
15103
|
+
handlers.refreshOptions();
|
|
15104
|
+
handlers.clearError();
|
|
15105
|
+
handlers.setStep(action === "places" ? handlers.canJoinWaitlist ? "enter-details" : "select-tickets" : "select-payment");
|
|
15106
|
+
return;
|
|
15107
|
+
case "start":
|
|
15108
|
+
handlers.refreshOptions();
|
|
15109
|
+
handlers.reset();
|
|
15110
|
+
return;
|
|
15111
|
+
}
|
|
15112
|
+
}
|
|
15113
|
+
//#endregion
|
|
14988
15114
|
//#region ../blocks/src/system/runtime/nodes/event-registration/validation.ts
|
|
14989
15115
|
function createInitialRegistrationFormData() {
|
|
14990
15116
|
return {
|
|
@@ -15462,6 +15588,40 @@ const SharedDatedOfferingOrderCheckoutSessionMetadataSchema = z.object({
|
|
|
15462
15588
|
...datedOfferingSharedEngineMetadataShape
|
|
15463
15589
|
});
|
|
15464
15590
|
z.union([SharedDatedOfferingOrderCheckoutSessionMetadataSchema, LegacyOrderCheckoutSessionMetadataSchema]);
|
|
15591
|
+
//#endregion
|
|
15592
|
+
//#region ../commerce/src/purchase/stripeCommissionMetadata.ts
|
|
15593
|
+
/** Reasons are payment evidence, not an independent pricing policy. */
|
|
15594
|
+
const STRIPE_COMMISSION_FREE_REASONS = [
|
|
15595
|
+
"managed_billing",
|
|
15596
|
+
"no_commission_plan",
|
|
15597
|
+
"billing_evidence_invalid",
|
|
15598
|
+
"fee_rounds_to_zero",
|
|
15599
|
+
"non_commissionable_scope",
|
|
15600
|
+
"payment_not_stripe"
|
|
15601
|
+
];
|
|
15602
|
+
const historicalContext = {
|
|
15603
|
+
currency: z.string().refine((value) => parseCurrencyCode(value) !== null).optional(),
|
|
15604
|
+
sourcePlanId: z.string().trim().min(1).optional()
|
|
15605
|
+
};
|
|
15606
|
+
const percentSchema = z.number().finite().min(0).max(100);
|
|
15607
|
+
z.discriminatedUnion("kind", [
|
|
15608
|
+
z.object({
|
|
15609
|
+
kind: z.literal("commission_free"),
|
|
15610
|
+
reason: z.enum(STRIPE_COMMISSION_FREE_REASONS),
|
|
15611
|
+
...historicalContext
|
|
15612
|
+
}),
|
|
15613
|
+
z.object({
|
|
15614
|
+
kind: z.literal("application_fee_amount"),
|
|
15615
|
+
amountCents: z.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
|
|
15616
|
+
percent: percentSchema,
|
|
15617
|
+
...historicalContext
|
|
15618
|
+
}),
|
|
15619
|
+
z.object({
|
|
15620
|
+
kind: z.literal("application_fee_percent"),
|
|
15621
|
+
percent: percentSchema,
|
|
15622
|
+
...historicalContext
|
|
15623
|
+
})
|
|
15624
|
+
]);
|
|
15465
15625
|
toNonNegativeCents(0);
|
|
15466
15626
|
//#endregion
|
|
15467
15627
|
//#region ../commerce/src/purchase/event-registration-errors.ts
|
|
@@ -15474,6 +15634,10 @@ const eventRegistrationErrors = {
|
|
|
15474
15634
|
message: "We’re checking your booking and payment. Please don’t try to book again yet. If you’ve already paid, you don’t need to pay again.",
|
|
15475
15635
|
action: "payment-status"
|
|
15476
15636
|
},
|
|
15637
|
+
paymentProviderUnavailable: {
|
|
15638
|
+
message: "We couldn’t reach the payment provider. Please try again in a minute.",
|
|
15639
|
+
action: "retry"
|
|
15640
|
+
},
|
|
15477
15641
|
paymentPageUnavailable: {
|
|
15478
15642
|
message: "We couldn’t open the payment page. Please refresh this page and try again. If this keeps happening, contact the organiser for help.",
|
|
15479
15643
|
action: "retry"
|
|
@@ -15596,11 +15760,6 @@ function ensureWaitlistClaimLocationTracking() {
|
|
|
15596
15760
|
} catch {}
|
|
15597
15761
|
window.addEventListener("popstate", emitWaitlistClaimLocationChange);
|
|
15598
15762
|
}
|
|
15599
|
-
function getWaitlistClaimTokenFromUrl() {
|
|
15600
|
-
if (typeof window === "undefined") return null;
|
|
15601
|
-
const token = new URLSearchParams(window.location.search).get("waitlist_claim")?.trim() ?? "";
|
|
15602
|
-
return token.length > 0 ? token : null;
|
|
15603
|
-
}
|
|
15604
15763
|
const useWaitlistClaimDeps = { useBlockApi };
|
|
15605
15764
|
function subscribeToWaitlistClaimToken(callback) {
|
|
15606
15765
|
if (typeof window === "undefined") return () => {};
|
|
@@ -15610,28 +15769,42 @@ function subscribeToWaitlistClaimToken(callback) {
|
|
|
15610
15769
|
window.removeEventListener(WAITLIST_CLAIM_LOCATION_EVENT, callback);
|
|
15611
15770
|
};
|
|
15612
15771
|
}
|
|
15613
|
-
function
|
|
15614
|
-
return
|
|
15772
|
+
function getWaitlistClaimLocationSnapshot() {
|
|
15773
|
+
return typeof window === "undefined" ? "" : window.location.search;
|
|
15774
|
+
}
|
|
15775
|
+
function parseWaitlistClaimCredential(search) {
|
|
15776
|
+
const params = new URLSearchParams(search);
|
|
15777
|
+
const token = params.get("waitlist_claim")?.trim();
|
|
15778
|
+
if (token) return {
|
|
15779
|
+
kind: "emailedToken",
|
|
15780
|
+
token
|
|
15781
|
+
};
|
|
15782
|
+
const entryId = params.get("waitlistEntry")?.trim();
|
|
15783
|
+
return entryId ? {
|
|
15784
|
+
kind: "portalOwnedEntry",
|
|
15785
|
+
entryId
|
|
15786
|
+
} : null;
|
|
15615
15787
|
}
|
|
15616
15788
|
function useWaitlistClaim() {
|
|
15617
15789
|
return useWaitlistClaimWithDeps(useWaitlistClaimDeps);
|
|
15618
15790
|
}
|
|
15619
15791
|
function useWaitlistClaimWithDeps(deps) {
|
|
15620
|
-
|
|
15792
|
+
const locationSearch = useSyncExternalStore(subscribeToWaitlistClaimToken, getWaitlistClaimLocationSnapshot, () => "");
|
|
15793
|
+
return useResolvedWaitlistClaim(deps, useMemo(() => parseWaitlistClaimCredential(locationSearch), [locationSearch]));
|
|
15621
15794
|
}
|
|
15622
|
-
function useResolvedWaitlistClaim(deps,
|
|
15795
|
+
function useResolvedWaitlistClaim(deps, credential) {
|
|
15623
15796
|
const api = deps.useBlockApi();
|
|
15624
|
-
const [state, dispatch] = useReducer(waitlistClaimReducer, Boolean(
|
|
15797
|
+
const [state, dispatch] = useReducer(waitlistClaimReducer, Boolean(credential), createInitialWaitlistClaimState);
|
|
15625
15798
|
useEffect(() => {
|
|
15626
15799
|
let cancelled = false;
|
|
15627
15800
|
async function resolveClaim() {
|
|
15628
|
-
if (!
|
|
15801
|
+
if (!credential) {
|
|
15629
15802
|
dispatch({ type: "cleared" });
|
|
15630
15803
|
return;
|
|
15631
15804
|
}
|
|
15632
15805
|
dispatch({ type: "started" });
|
|
15633
15806
|
try {
|
|
15634
|
-
const result = await api.resolveWaitlistClaim({ claimToken: token });
|
|
15807
|
+
const result = credential.kind === "portalOwnedEntry" ? await api.resolveWaitlistClaim({ waitlistEntryId: credential.entryId }) : await api.resolveWaitlistClaim({ claimToken: credential.token });
|
|
15635
15808
|
if (cancelled) return;
|
|
15636
15809
|
dispatch({
|
|
15637
15810
|
type: "resolved",
|
|
@@ -15649,9 +15822,10 @@ function useResolvedWaitlistClaim(deps, token) {
|
|
|
15649
15822
|
return () => {
|
|
15650
15823
|
cancelled = true;
|
|
15651
15824
|
};
|
|
15652
|
-
}, [api,
|
|
15825
|
+
}, [api, credential]);
|
|
15653
15826
|
return {
|
|
15654
|
-
token,
|
|
15827
|
+
token: credential?.kind === "emailedToken" ? credential.token : null,
|
|
15828
|
+
entryId: credential?.kind === "portalOwnedEntry" ? credential.entryId : null,
|
|
15655
15829
|
claim: getWaitlistClaim(state),
|
|
15656
15830
|
error: getWaitlistClaimError(state),
|
|
15657
15831
|
loginMessage: getWaitlistClaimLoginMessage(state),
|
|
@@ -16133,15 +16307,12 @@ function useEventRegistrationSubmitWithDeps(options, deps) {
|
|
|
16133
16307
|
* landed — a success, or a hand-off to checkout — because until then nobody
|
|
16134
16308
|
* knows whether the first one committed.
|
|
16135
16309
|
*
|
|
16136
|
-
*
|
|
16137
|
-
* details
|
|
16138
|
-
* anything, so a submission that already booked is answered with the booking
|
|
16139
|
-
* that exists — not refused for spending a credit or a claim that this very
|
|
16140
|
-
* command already spent, and not treated as a second booking because a name
|
|
16141
|
-
* or a note changed in between.
|
|
16310
|
+
* Identical retries retain the command after a lost response. Changed form
|
|
16311
|
+
* details get a new command so the server applies the new booking intent.
|
|
16142
16312
|
*/
|
|
16143
|
-
const
|
|
16144
|
-
|
|
16313
|
+
const commandRef = useRef(null);
|
|
16314
|
+
const inFlightRef = useRef(null);
|
|
16315
|
+
const submit = async (method, passId, membershipId, selection, submitOptions) => {
|
|
16145
16316
|
const target = options.registrationTarget;
|
|
16146
16317
|
if (!target) return {
|
|
16147
16318
|
ok: false,
|
|
@@ -16149,44 +16320,34 @@ function useEventRegistrationSubmitWithDeps(options, deps) {
|
|
|
16149
16320
|
message: "Select an event to continue."
|
|
16150
16321
|
};
|
|
16151
16322
|
options.setStep("submitting");
|
|
16152
|
-
const registrationCommandId =
|
|
16153
|
-
commandIdRef.current = registrationCommandId;
|
|
16323
|
+
const registrationCommandId = commandRef.current?.id ?? deps.createClientCommandId();
|
|
16154
16324
|
try {
|
|
16155
|
-
|
|
16325
|
+
let prepared = prepareSubmitContext(options, registrationCommandId, target, method, passId, membershipId, selection);
|
|
16156
16326
|
if (prepared.subject.kind === "wholeSeries" && method === "stripe") {
|
|
16157
|
-
|
|
16327
|
+
commandRef.current = null;
|
|
16158
16328
|
return await submitWholeSeriesCheckout(options, deps, {
|
|
16159
16329
|
...prepared,
|
|
16160
16330
|
subject: prepared.subject
|
|
16161
16331
|
}, submitOptions);
|
|
16162
16332
|
}
|
|
16333
|
+
const request = buildOccurrenceRegistrationRequest(options, prepared, method, passId, membershipId);
|
|
16334
|
+
const intentKey = registrationRequestIntentKey(request);
|
|
16335
|
+
if (commandRef.current !== null && commandRef.current.intentKey !== intentKey) prepared = {
|
|
16336
|
+
...prepared,
|
|
16337
|
+
registrationCommandId: deps.createClientCommandId()
|
|
16338
|
+
};
|
|
16339
|
+
commandRef.current = {
|
|
16340
|
+
id: prepared.registrationCommandId,
|
|
16341
|
+
intentKey
|
|
16342
|
+
};
|
|
16163
16343
|
const result = await options.api.registerForEvent({
|
|
16164
|
-
|
|
16165
|
-
|
|
16166
|
-
ticketSelections: toTicketSelectionRequests(prepared.ticketSelections),
|
|
16167
|
-
selectedSlidingAmount: options.selectedSlidingAmount ?? void 0,
|
|
16168
|
-
email: options.formData.email.trim().toLowerCase(),
|
|
16169
|
-
name: options.formData.name.trim(),
|
|
16170
|
-
phone: options.formData.phone.trim() || void 0,
|
|
16171
|
-
notes: options.formData.notes.trim() || void 0,
|
|
16172
|
-
consentAccepted: options.formData.consentAccepted,
|
|
16173
|
-
altchaSolution: options.altchaSolution,
|
|
16174
|
-
paymentMethod: method,
|
|
16175
|
-
customerPassId: method === "pass" ? passId : void 0,
|
|
16176
|
-
customerMembershipId: method === "membership" ? membershipId : void 0,
|
|
16177
|
-
bundleProductId: prepared.bundleProductId,
|
|
16178
|
-
claimToken: options.claimToken ?? void 0,
|
|
16179
|
-
guests: prepared.guestsPayload
|
|
16344
|
+
...request,
|
|
16345
|
+
registrationCommandId: prepared.registrationCommandId
|
|
16180
16346
|
});
|
|
16181
|
-
|
|
16182
|
-
|
|
16183
|
-
options.setRegistrationResult(toRegistrationResult(result));
|
|
16184
|
-
options.setStep("success");
|
|
16185
|
-
return {
|
|
16186
|
-
ok: true,
|
|
16187
|
-
outcome: { kind: "completed" }
|
|
16188
|
-
};
|
|
16347
|
+
commandRef.current = null;
|
|
16348
|
+
return await completeRegistrationSubmission(options, deps, prepared, result, method, submitOptions);
|
|
16189
16349
|
} catch (error) {
|
|
16350
|
+
if (error instanceof BlockApiError && error.tag === "registrationPreparationChanged") commandRef.current = null;
|
|
16190
16351
|
const { message, action } = registrationErrorPresentation(error);
|
|
16191
16352
|
options.setErrorAction?.(action);
|
|
16192
16353
|
options.setErrorMessage(message);
|
|
@@ -16198,6 +16359,24 @@ function useEventRegistrationSubmitWithDeps(options, deps) {
|
|
|
16198
16359
|
};
|
|
16199
16360
|
}
|
|
16200
16361
|
};
|
|
16362
|
+
return (...args) => {
|
|
16363
|
+
if (inFlightRef.current) return inFlightRef.current;
|
|
16364
|
+
const pending = Promise.resolve().then(() => submit(...args));
|
|
16365
|
+
inFlightRef.current = pending;
|
|
16366
|
+
pending.finally(() => {
|
|
16367
|
+
if (inFlightRef.current === pending) inFlightRef.current = null;
|
|
16368
|
+
});
|
|
16369
|
+
return pending;
|
|
16370
|
+
};
|
|
16371
|
+
}
|
|
16372
|
+
async function completeRegistrationSubmission(options, deps, prepared, result, method, submitOptions) {
|
|
16373
|
+
if (needsOccurrenceCheckout(result, method)) return await submitOccurrenceCheckout(options, deps, prepared, result, method, submitOptions);
|
|
16374
|
+
options.setRegistrationResult(toRegistrationResult(result));
|
|
16375
|
+
options.setStep("success");
|
|
16376
|
+
return {
|
|
16377
|
+
ok: true,
|
|
16378
|
+
outcome: { kind: "completed" }
|
|
16379
|
+
};
|
|
16201
16380
|
}
|
|
16202
16381
|
function toTicketSelectionRequests(lines) {
|
|
16203
16382
|
return lines.map((line) => ({
|
|
@@ -16272,6 +16451,7 @@ async function submitWholeSeriesCheckout(options, deps, prepared, submitOptions)
|
|
|
16272
16451
|
altchaSolution: options.altchaSolution,
|
|
16273
16452
|
guests: prepared.guestsPayload,
|
|
16274
16453
|
claimToken: options.claimToken ?? void 0,
|
|
16454
|
+
waitlistEntryId: options.waitlistEntryId ?? void 0,
|
|
16275
16455
|
discountCode: options.discountCode.trim() || void 0,
|
|
16276
16456
|
collectionOptionKind: prepared.selectionSnapshot.collectionOptionKind,
|
|
16277
16457
|
checkoutAttemptId,
|
|
@@ -16293,14 +16473,14 @@ async function submitWholeSeriesCheckout(options, deps, prepared, submitOptions)
|
|
|
16293
16473
|
}
|
|
16294
16474
|
if (result.bypassed) return completeBypassedCheckout(options);
|
|
16295
16475
|
if (!result.checkoutUrl) throw new Error("Checkout URL missing");
|
|
16296
|
-
savePendingCheckout(options, deps, prepared, checkoutAttemptId, {
|
|
16476
|
+
savePendingCheckout(options, deps, prepared, result.checkoutAttemptId, {
|
|
16297
16477
|
scope: "wholeSeries",
|
|
16298
16478
|
registrationId: result.registrationId
|
|
16299
16479
|
});
|
|
16300
16480
|
return redirectToCheckout(result.checkoutUrl, submitOptions);
|
|
16301
16481
|
}
|
|
16302
16482
|
function needsOccurrenceCheckout(result, method) {
|
|
16303
|
-
return result.scope === "occurrence" &&
|
|
16483
|
+
return result.scope === "occurrence" && result.status === "confirmed" && result.pendingPayment && [
|
|
16304
16484
|
"stripe",
|
|
16305
16485
|
"pass_bundle",
|
|
16306
16486
|
"membership_bundle"
|
|
@@ -16320,6 +16500,7 @@ async function submitOccurrenceCheckout(options, deps, prepared, registration, m
|
|
|
16320
16500
|
kind: "occurrence",
|
|
16321
16501
|
attendeeId: registration.attendeeId
|
|
16322
16502
|
},
|
|
16503
|
+
registrationCommandId: prepared.registrationCommandId,
|
|
16323
16504
|
checkoutType: method === "pass_bundle" ? "pass_bundle" : method === "membership_bundle" ? "membership_bundle" : "event",
|
|
16324
16505
|
productId: prepared.bundleProductId,
|
|
16325
16506
|
discountCode: options.discountCode.trim() || void 0,
|
|
@@ -16362,6 +16543,31 @@ function redirectToCheckout(checkoutUrl, submitOptions) {
|
|
|
16362
16543
|
}
|
|
16363
16544
|
};
|
|
16364
16545
|
}
|
|
16546
|
+
function registrationRequestIntentKey(request) {
|
|
16547
|
+
const { registrationCommandId: _command, altchaSolution: _proof, ...intent } = request;
|
|
16548
|
+
return JSON.stringify(intent);
|
|
16549
|
+
}
|
|
16550
|
+
function buildOccurrenceRegistrationRequest(options, prepared, method, passId, membershipId) {
|
|
16551
|
+
return {
|
|
16552
|
+
registrationCommandId: prepared.registrationCommandId,
|
|
16553
|
+
subject: prepared.subject,
|
|
16554
|
+
ticketSelections: toTicketSelectionRequests(prepared.ticketSelections),
|
|
16555
|
+
selectedSlidingAmount: options.selectedSlidingAmount ?? void 0,
|
|
16556
|
+
email: options.formData.email.trim().toLowerCase(),
|
|
16557
|
+
name: options.formData.name.trim(),
|
|
16558
|
+
phone: options.formData.phone.trim() || void 0,
|
|
16559
|
+
notes: options.formData.notes.trim() || void 0,
|
|
16560
|
+
consentAccepted: options.formData.consentAccepted,
|
|
16561
|
+
altchaSolution: options.altchaSolution,
|
|
16562
|
+
paymentMethod: method,
|
|
16563
|
+
customerPassId: method === "pass" ? passId : void 0,
|
|
16564
|
+
customerMembershipId: method === "membership" ? membershipId : void 0,
|
|
16565
|
+
bundleProductId: prepared.bundleProductId,
|
|
16566
|
+
claimToken: options.claimToken ?? void 0,
|
|
16567
|
+
waitlistEntryId: options.waitlistEntryId ?? void 0,
|
|
16568
|
+
guests: prepared.guestsPayload
|
|
16569
|
+
};
|
|
16570
|
+
}
|
|
16365
16571
|
//#endregion
|
|
16366
16572
|
//#region ../blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.ts
|
|
16367
16573
|
function getApprovedDirectPaymentCollectionOptionKinds(paymentOptions) {
|
|
@@ -17384,14 +17590,28 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
17384
17590
|
}), [options.occurrenceContext, selectedEvent]);
|
|
17385
17591
|
const registrationOccurrenceId = getRegistrationOccurrenceId(registrationTarget);
|
|
17386
17592
|
const currentEvent = selectedEvent ?? preSelectedEvent;
|
|
17593
|
+
const setStep = useCallback((nextStep) => {
|
|
17594
|
+
dispatchFlow({
|
|
17595
|
+
type: "set-step",
|
|
17596
|
+
step: nextStep
|
|
17597
|
+
});
|
|
17598
|
+
}, []);
|
|
17599
|
+
const { checkoutRecovery, startCheckoutRecovery } = useCheckoutRecovery(currentEvent, setStep);
|
|
17387
17600
|
const currentEventUsesTicketTypes = usesTieredPricing(currentEvent);
|
|
17388
|
-
const currentCanJoinWaitlist =
|
|
17601
|
+
const currentCanJoinWaitlist = canJoinWaitlistOutsideRecovery(currentEvent, selectedAttendanceMode, checkoutRecovery);
|
|
17389
17602
|
const usesTicketTypeSelections = currentEventUsesTicketTypes && !currentCanJoinWaitlist;
|
|
17390
17603
|
const eventTicketTypesForSelection = useMemo(() => getVisibleTicketTypes({
|
|
17391
17604
|
event: currentEvent,
|
|
17392
17605
|
eligibility: null,
|
|
17393
17606
|
selectedAttendanceMode
|
|
17394
|
-
})
|
|
17607
|
+
}).map((option) => checkoutRecovery ? {
|
|
17608
|
+
...option,
|
|
17609
|
+
availability: checkoutRecoveryOptionAvailability(option.availability)
|
|
17610
|
+
} : option), [
|
|
17611
|
+
currentEvent,
|
|
17612
|
+
selectedAttendanceMode,
|
|
17613
|
+
checkoutRecovery
|
|
17614
|
+
]);
|
|
17395
17615
|
const normalizedSelectedTicketLines = useMemo(() => normalizeTicketSelectionLines(selectedTicketLines), [selectedTicketLines]);
|
|
17396
17616
|
const ticketTypeSelectionTotal = useMemo(() => getTicketSelectionTotal(normalizedSelectedTicketLines), [normalizedSelectedTicketLines]);
|
|
17397
17617
|
const ticketsCount = usesTicketTypeSelections ? ticketTypeSelectionTotal : flowState.ticketsCount;
|
|
@@ -17429,17 +17649,11 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
17429
17649
|
isAuthenticated: portalAuthState === "authenticated",
|
|
17430
17650
|
occurrenceId: registrationOccurrenceId
|
|
17431
17651
|
});
|
|
17432
|
-
const eligibility = eligibilityResult.eligibility;
|
|
17652
|
+
const eligibility = useCheckoutRecoveryEligibility(eligibilityResult.eligibility, step, checkoutRecovery, startCheckoutRecovery);
|
|
17433
17653
|
const eligibilityLoading = eligibilityResult.isLoading;
|
|
17434
17654
|
const eligibilityError = eligibilityResult.error;
|
|
17435
17655
|
const portalCreditState = eligibilityResult.creditState;
|
|
17436
17656
|
const registrationState = eligibility?.registration ?? { kind: "none" };
|
|
17437
|
-
const setStep = useCallback((nextStep) => {
|
|
17438
|
-
dispatchFlow({
|
|
17439
|
-
type: "set-step",
|
|
17440
|
-
step: nextStep
|
|
17441
|
-
});
|
|
17442
|
-
}, []);
|
|
17443
17657
|
const setTicketsCount = useCallback((nextTicketsCount) => {
|
|
17444
17658
|
dispatchFlow({
|
|
17445
17659
|
type: "set-tickets-count",
|
|
@@ -17547,10 +17761,14 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
17547
17761
|
event: currentEvent,
|
|
17548
17762
|
eligibility,
|
|
17549
17763
|
selectedAttendanceMode
|
|
17550
|
-
})
|
|
17764
|
+
}).map((option) => checkoutRecovery ? {
|
|
17765
|
+
...option,
|
|
17766
|
+
availability: checkoutRecoveryOptionAvailability(option.availability)
|
|
17767
|
+
} : option), [
|
|
17551
17768
|
currentEvent,
|
|
17552
17769
|
selectedAttendanceMode,
|
|
17553
|
-
eligibility
|
|
17770
|
+
eligibility,
|
|
17771
|
+
checkoutRecovery
|
|
17554
17772
|
]);
|
|
17555
17773
|
const singleSelectedPricingOptionId = getSingleSelectedPricingOptionId(normalizedSelectedTicketLines);
|
|
17556
17774
|
const selectedTicketType = useMemo(() => findSelectedTicketType({
|
|
@@ -17574,8 +17792,12 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
17574
17792
|
const event = currentEvent;
|
|
17575
17793
|
if (!usesTieredPricing(event)) return false;
|
|
17576
17794
|
if ((event.deliveryMode ?? "in_person") === "hybrid" && !selectedAttendanceMode) return false;
|
|
17577
|
-
return !canJoinEventWaitlist(event, { attendanceMode: selectedAttendanceMode });
|
|
17578
|
-
}, [
|
|
17795
|
+
return checkoutRecovery || !canJoinEventWaitlist(event, { attendanceMode: selectedAttendanceMode });
|
|
17796
|
+
}, [
|
|
17797
|
+
currentEvent,
|
|
17798
|
+
selectedAttendanceMode,
|
|
17799
|
+
checkoutRecovery
|
|
17800
|
+
]);
|
|
17579
17801
|
const hasValidTicketSelection = hasValidPricingOptionSelection({
|
|
17580
17802
|
selectionRequired: ticketTypeSelectionRequired,
|
|
17581
17803
|
lines: normalizedSelectedTicketLines,
|
|
@@ -17779,6 +18001,7 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
17779
18001
|
guests,
|
|
17780
18002
|
discountCode: discountUi.discountCode,
|
|
17781
18003
|
claimToken: waitlistClaim.token,
|
|
18004
|
+
waitlistEntryId: waitlistClaim.entryId,
|
|
17782
18005
|
setPendingRegistrationReference,
|
|
17783
18006
|
setStep,
|
|
17784
18007
|
setRegistrationResult: (result) => setRegistrationResult(result),
|
|
@@ -17841,6 +18064,8 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
17841
18064
|
scopedEvents,
|
|
17842
18065
|
preSelectedEvent,
|
|
17843
18066
|
hasPreSelectedContext,
|
|
18067
|
+
checkoutRecovery,
|
|
18068
|
+
startCheckoutRecovery,
|
|
17844
18069
|
step,
|
|
17845
18070
|
setStep,
|
|
17846
18071
|
selectedEvent,
|
|
@@ -17893,6 +18118,7 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
17893
18118
|
isMembershipFastTrack,
|
|
17894
18119
|
waitlistClaim,
|
|
17895
18120
|
eligibility,
|
|
18121
|
+
registrationOptionsState: eligibilityResult.state,
|
|
17896
18122
|
eligibilityLoading,
|
|
17897
18123
|
eligibilityError,
|
|
17898
18124
|
existingRegistration: existingRegistrationResult.registration,
|