@riverbankcms/sdk 0.145.0 → 0.147.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/CHANGELOG.md +29 -0
- package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
- package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +311 -186
- package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +3808 -2395
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1122 -0
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +102 -0
- package/dist/_dts/api/src/accountApi.d.ts +5 -5
- package/dist/_dts/api/src/bookingConfig.d.ts +24 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +11 -26
- package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
- package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
- package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
- package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
- package/dist/_dts/api/src/bookings.d.ts +1 -0
- package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
- package/dist/_dts/api/src/communications.d.ts +20 -4
- package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
- package/dist/_dts/api/src/endpoints.d.ts +816 -655
- package/dist/_dts/api/src/event-visibility.d.ts +20 -0
- package/dist/_dts/api/src/eventManagementContracts.d.ts +72 -4
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
- package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/index.d.ts +9 -2
- 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/launchReadiness.d.ts +19 -6
- package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
- package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
- package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
- package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +57 -0
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +29 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +55 -1
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
- package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
- package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
- package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
- package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
- package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
- package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -49
- package/dist/_dts/api/src/siteOnboarding.d.ts +72 -18
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
- package/dist/_dts/api/src/types.d.ts +7 -1
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
- package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +29 -1
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
- package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +34 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
- package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
- package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
- package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
- package/dist/_dts/core/src/editor-state.d.ts +2 -7
- package/dist/_dts/core/src/index.d.ts +2 -1
- package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
- package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
- package/dist/_dts/core/src/mailing-list-submission.d.ts +9 -1
- package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
- package/dist/_dts/core/src/participants.d.ts +0 -38
- package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
- package/dist/_dts/core/src/public-profile.d.ts +3 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +151 -24
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
- package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +5 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
- package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +9 -0
- package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
- package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
- package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
- package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
- package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
- package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
- package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
- package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
- package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
- package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
- package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
- package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
- package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
- package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
- package/dist/_dts/ui/src/badge.d.ts +2 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
- package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
- package/dist/_dts/ui/src/combobox.d.ts +26 -1
- package/dist/_dts/ui/src/date-picker.d.ts +5 -8
- package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
- package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
- package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
- package/dist/_dts/ui/src/index.d.ts +4 -1
- package/dist/_dts/ui/src/native-select.d.ts +8 -0
- package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
- package/dist/_dts/ui/src/popover.d.ts +7 -1
- package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
- package/dist/_dts/ui/src/surface.d.ts +1 -1
- package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
- package/dist/client/CheckboxChoice-B33MqoUo.mjs +24 -0
- package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
- package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
- package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
- package/dist/client/{scrollToBlock-CWs8EIdo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
- package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
- package/dist/client/{accordion-BcNF9TjX.mjs → accordion-CoT5g7zo.mjs} +1 -1
- package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-BWxB46xD.mjs} +251 -150
- package/dist/client/bookings.mjs +415 -234
- package/dist/client/{carousel-CTdF6e0V.mjs → carousel-DtNYWFd3.mjs} +2 -2
- package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
- package/dist/client/{cart-pGtyf_XU.mjs → cart-z4qZih1Y.mjs} +3 -3
- package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-DpL7euFH.mjs} +3 -3
- package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
- package/dist/client/client.mjs +3721 -2220
- package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
- package/dist/client/{context-BFeY_Wbm.mjs → context-C8TinPJc.mjs} +1 -1
- package/dist/client/{dates-BhwVSxDg.mjs → dates-vwwxTeB0.mjs} +2 -3
- package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
- package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
- package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
- package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-DajjWgOv.mjs} +4 -4
- package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-DMq9gMA-.mjs} +121 -54
- package/dist/client/{form-Dodt8Y8t.mjs → form-Qf6qTbos.mjs} +136 -105
- package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-D7qJrqFX.mjs} +3 -3
- package/dist/client/hooks.mjs +1148 -179
- package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-CCF9-t_0.mjs} +4 -4
- package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
- package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
- package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-DzCLSP4S.mjs} +206 -104
- package/dist/client/{pricing-BOU0_Hai.mjs → pricing-Cgxv2KLC.mjs} +1 -1
- package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-ru9w5GHx.mjs} +3 -3
- package/dist/client/{productList-D-mItx1n.mjs → productList-zaapKSl-.mjs} +3 -3
- package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-CwvvNOHx.mjs} +91 -28
- package/dist/client/rendering/client.mjs +1441 -826
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +3652 -2005
- package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
- package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
- package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
- package/dist/client/{shop-Dufw7N7o.mjs → shop-mktkXvbV.mjs} +7 -7
- package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-TqExh235.mjs} +5 -5
- package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
- package/dist/preview-next/before-render.mjs +490 -153
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-base.css +64 -2
- package/dist/preview-next/editor-chrome.css +7 -4
- package/dist/preview-next/keepAlive.mjs +450 -153
- package/dist/preview-next/middleware.mjs +451 -153
- package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-C_EHQ5XA.mjs} +475 -153
- package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
- package/dist/{separator-EvdCAn4V.mjs → separator-C9qDP95Z.mjs} +1 -1
- package/dist/server/components.mjs +4957 -3509
- package/dist/server/config-validation.mjs +1115 -189
- package/dist/server/config.mjs +1115 -189
- package/dist/server/data.mjs +1113 -188
- package/dist/server/index.mjs +492 -154
- package/dist/server/navigation.mjs +13 -2
- package/dist/server/next.mjs +4798 -3462
- package/dist/server/page-converter.mjs +143 -89
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3862 -2414
- package/dist/server/rendering.mjs +5648 -4154
- package/dist/server/routing.mjs +1223 -329
- package/dist/server/server.mjs +1172 -314
- package/dist/server/theme-bridge.mjs +533 -128
- package/dist/server/theme.mjs +5 -1
- package/dist/styles/index.css +218 -69
- package/package.json +1 -1
- package/dist/_dts/core/src/participant-identity.d.ts +0 -135
|
@@ -124,13 +124,16 @@ const SURFACE_FOREGROUND_CSS_VARS = {
|
|
|
124
124
|
text: "--rb-surface-text-color",
|
|
125
125
|
heading: "--rb-surface-heading-color",
|
|
126
126
|
link: "--rb-surface-link-color",
|
|
127
|
+
linkHover: "--rb-surface-link-hover-color",
|
|
127
128
|
supporting: "--rb-surface-supporting-color"
|
|
128
129
|
};
|
|
129
130
|
const DEFAULT_SURFACE_TEXT_COLOR = "rgb(var(--tb-text, 17 24 39))";
|
|
131
|
+
const DEFAULT_SURFACE_LINK_COLOR = "rgb(var(--tb-primary, var(--tb-text, 17 24 39)))";
|
|
130
132
|
const DEFAULT_ROLE_FALLBACKS = {
|
|
131
133
|
text: DEFAULT_SURFACE_TEXT_COLOR,
|
|
132
134
|
heading: DEFAULT_SURFACE_TEXT_COLOR,
|
|
133
|
-
link:
|
|
135
|
+
link: DEFAULT_SURFACE_LINK_COLOR,
|
|
136
|
+
linkHover: DEFAULT_SURFACE_LINK_COLOR,
|
|
134
137
|
supporting: "rgb(var(--tb-mutedText, 100 116 139))"
|
|
135
138
|
};
|
|
136
139
|
function requireSurfaceColorValue(role, value) {
|
|
@@ -142,6 +145,7 @@ function surfaceForegroundValue(role, outsideProviderFallback = DEFAULT_ROLE_FAL
|
|
|
142
145
|
const roleVariable = SURFACE_FOREGROUND_CSS_VARS[role];
|
|
143
146
|
const fallback = requireSurfaceColorValue("fallback", outsideProviderFallback);
|
|
144
147
|
if (role === "text") return `var(${roleVariable}, ${fallback})`;
|
|
148
|
+
if (role === "linkHover") return `var(${roleVariable}, ${surfaceForegroundValue("link", fallback)})`;
|
|
145
149
|
return `var(${roleVariable}, var(${SURFACE_FOREGROUND_CSS_VARS.text}, ${fallback}))`;
|
|
146
150
|
}
|
|
147
151
|
function surfaceForegroundValueWithOpacity(role, opacityPercent) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { H as calendarWindowPageSchema } from "./propsDecoder-CwvvNOHx.mjs";
|
|
3
3
|
import { createContext, useContext, useMemo } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region ../blocks/src/system/runtime/api/deduplication.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as canJoinEventWaitlistOnAnyMode, p as isEventFull } from "./pricing-
|
|
1
|
+
import { $t as formatBookingDate, Sn as assertNever, dn as toScheduledBookingDateTime, dt as resolveRuntimeEventDestination, en as formatBookingDateParts, ln as toBookingTimeZone, rn as formatBookingTime, un as toScheduledBookingDateRange } from "./propsDecoder-CwvvNOHx.mjs";
|
|
2
|
+
import { a as canJoinEventWaitlistOnAnyMode, p as isEventFull } from "./pricing-Cgxv2KLC.mjs";
|
|
3
3
|
//#region ../blocks/src/system/runtime/nodes/events/domain/cta.ts
|
|
4
4
|
/**
|
|
5
5
|
* Booking call-to-action resolution for events: where an event links to and
|
|
@@ -16,7 +16,6 @@ function closedEventBookingLabel(reason) {
|
|
|
16
16
|
case "series_archived":
|
|
17
17
|
case "parent_archived":
|
|
18
18
|
case "parent_inconsistent":
|
|
19
|
-
case "not_public":
|
|
20
19
|
case "already_started":
|
|
21
20
|
case "enrollment_closed": return "Registration closed";
|
|
22
21
|
default: return assertNever(reason);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { O as clsx } from "./colorStyles-
|
|
3
|
-
import {
|
|
4
|
-
import { o as EventFilters, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-
|
|
5
|
-
import { d as getEventAvailabilityStatus, o as formatEventRemainingPlaces, p as isEventFull } from "./pricing-
|
|
6
|
-
import { a as formatTime, c as getLocalDateKey, d as resolveEventLinkProps, l as getLocalMinuteOfDay, o as groupEventsByDate, s as resolveEventTimeZone } from "./dates-
|
|
7
|
-
import { a as WeekAgendaView, c as CalendarDayCell, d as useCalendarEvents, i as useHydrationReady, l as EventModalProvider, o as CalendarNavigationChevron, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useEventModal } from "./EventCombined.client-
|
|
8
|
-
import { t as BlockApiProvider } from "./context-
|
|
9
|
-
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-
|
|
2
|
+
import { O as clsx } from "./colorStyles-j5U9v5JA.mjs";
|
|
3
|
+
import { A as buildEventCalendarListingRender, W as resolveCalendarReadProfile, at as getDayOfWeek, ct as isSameCalendarDay, et as MONTH_NAMES, it as formatDateKey, lt as isToday, ot as getOrderedDayNames, q as buildEventRuntimeFilters, st as getWeekCalendarDays, t as defineIslandPropsDecoder, tt as addDays } from "./propsDecoder-CwvvNOHx.mjs";
|
|
4
|
+
import { o as EventFilters, s as formatEventTeacherLine, t as useEventFilters } from "./useEventFilters-n_OjkIjX.mjs";
|
|
5
|
+
import { d as getEventAvailabilityStatus, o as formatEventRemainingPlaces, p as isEventFull } from "./pricing-Cgxv2KLC.mjs";
|
|
6
|
+
import { a as formatTime, c as getLocalDateKey, d as resolveEventLinkProps, l as getLocalMinuteOfDay, o as groupEventsByDate, s as resolveEventTimeZone } from "./dates-vwwxTeB0.mjs";
|
|
7
|
+
import { a as WeekAgendaView, c as CalendarDayCell, d as useCalendarEvents, i as useHydrationReady, l as EventModalProvider, o as CalendarNavigationChevron, r as EventModals, s as CalendarDayHeaders, t as EventCombinedClient, u as useEventModal } from "./EventCombined.client-C0pgma9y.mjs";
|
|
8
|
+
import { t as BlockApiProvider } from "./context-C8TinPJc.mjs";
|
|
9
|
+
import { n as ThemedButtonLink, t as ThemedButton } from "./ThemedButton-DoVIV1Ao.mjs";
|
|
10
10
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
11
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
12
|
-
import { n as EventListingController } from "./EventListing.client-
|
|
11
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-BwVFo0Y4.mjs";
|
|
12
|
+
import { n as EventListingController } from "./EventListing.client-4fhLOvHP.mjs";
|
|
13
13
|
import { useEffect, useId, useMemo, useState } from "react";
|
|
14
14
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
15
15
|
//#region ../calendar/src/lane-packing.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { n as EventCombinedIslandClient } from "./EventCombined.client-
|
|
3
|
-
import { t as BlockApiProvider } from "./context-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-CwvvNOHx.mjs";
|
|
2
|
+
import { n as EventCombinedIslandClient } from "./EventCombined.client-C0pgma9y.mjs";
|
|
3
|
+
import { t as BlockApiProvider } from "./context-C8TinPJc.mjs";
|
|
4
4
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
5
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
5
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-BwVFo0Y4.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/rendering/islands/enhancers/eventCombined.tsx
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { l as formatTotalCapacity, n as formatEventPriceAmount, t as formatEventPrice } from "./pricing-
|
|
3
|
-
import { d as resolveEventLinkProps, r as formatEventDateParts } from "./dates-
|
|
1
|
+
import { Jt as CANCELLED_SESSION_STATUS, M as resolveEventRegistrationScopedEvents, Yt as resolveWholeSeriesBookingPhase, an as getBookingLocalDateKey, bn as formatCurrencyAmount, dn as toScheduledBookingDateTime, fn as formatBookingPriceDisplay, gn as publicEventPricingDisplay, hn as publicEventPricingCurrency, ln as toBookingTimeZone, mn as isPublicEventPricingOptionDisplayable, t as defineIslandPropsDecoder, yn as publicEventPricingType } from "./propsDecoder-CwvvNOHx.mjs";
|
|
2
|
+
import { l as formatTotalCapacity, n as formatEventPriceAmount, t as formatEventPrice } from "./pricing-Cgxv2KLC.mjs";
|
|
3
|
+
import { d as resolveEventLinkProps, r as formatEventDateParts } from "./dates-vwwxTeB0.mjs";
|
|
4
4
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
5
|
-
import { t as LeafletStaticMap } from "./LeafletStaticMap-
|
|
5
|
+
import { t as LeafletStaticMap } from "./LeafletStaticMap-DScC4F3w.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region ../blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as defineIslandPropsDecoder } from "./propsDecoder-
|
|
2
|
-
import { t as BlockApiProvider } from "./context-
|
|
1
|
+
import { t as defineIslandPropsDecoder } from "./propsDecoder-CwvvNOHx.mjs";
|
|
2
|
+
import { t as BlockApiProvider } from "./context-C8TinPJc.mjs";
|
|
3
3
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
4
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
5
|
-
import { t as EventListingClient } from "./EventListing.client-
|
|
4
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-BwVFo0Y4.mjs";
|
|
5
|
+
import { t as EventListingClient } from "./EventListing.client-4fhLOvHP.mjs";
|
|
6
6
|
import "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/rendering/islands/enhancers/eventListing.tsx
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { a as
|
|
3
|
-
import {
|
|
4
|
-
import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-
|
|
5
|
-
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-
|
|
2
|
+
import { a as buildBookingPaymentSelectionViewModel, i as usePolling, n as BookingConsentAgreement, o as resolveBookingPaymentDueNowCents, r as StepIndicator$1, s as formatPrice, t as BookingMailingListNote } from "./BookingMailingListNote-1n4Ch_u_.mjs";
|
|
3
|
+
import { $t as formatBookingDate, C as resolveDiscountContext, D as WIZARD_STEPS, E as toRegistrationRequestSubject, M as resolveEventRegistrationScopedEvents, O as getStepNumber, S as findPreSelectedEvent, T as resolveRegistrationTarget, Vt as assertNever, Zt as resolveBookingSignupOffer, _ as buildEventRegistrationDisplayFromScopedEvents, _n as publicEventPricingOptions, b as toWholeSeriesRegistrationEvents, bn as formatCurrencyAmount, dn as toScheduledBookingDateTime, ft as groupPublicEventsByRun, hn as publicEventPricingCurrency, k as getWizardStepsForContext, ln as toBookingTimeZone, rn as formatBookingTime, t as defineIslandPropsDecoder, tn as formatBookingDateTime, v as getRegistrationStartAt, vn as publicEventPricingStrategy, w as resolveEventRequiresPayment, x as findEventByOccurrenceId, xn as parseCurrencyCode, y as toRegistrationEvents, yn as publicEventPricingType } from "./propsDecoder-CwvvNOHx.mjs";
|
|
4
|
+
import { a as canJoinEventWaitlistOnAnyMode, c as formatTicketTypeRemaining, f as getRemainingPlaces, h as selectMostOpenCapacitySource, i as canJoinEventWaitlist, m as selectEventCapacitySource, o as formatEventRemainingPlaces, p as isEventFull, r as formatEventPriceDisplay, s as formatRemainingPlaces, u as getEventAvailability } from "./pricing-Cgxv2KLC.mjs";
|
|
5
|
+
import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-C8TinPJc.mjs";
|
|
6
6
|
import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
|
|
7
|
-
import {
|
|
8
|
-
import { t as
|
|
9
|
-
import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-
|
|
7
|
+
import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CKJtz0mY.mjs";
|
|
8
|
+
import { a as useDiscountCodeUi, i as CheckIcon, n as StateIcon, r as scrollToBlock, t as TerminalPanel } from "./TerminalPanel-B5ZUsYhe.mjs";
|
|
9
|
+
import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-DoVIV1Ao.mjs";
|
|
10
10
|
import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
|
|
11
|
-
import {
|
|
12
|
-
import { t as buildCheckoutReturnUrls } from "./checkoutUrls-
|
|
11
|
+
import { i as getFieldValidationControlProps, r as FieldValidationMessage } from "./mailingListSignupCopy-DZSHZrm6.mjs";
|
|
12
|
+
import { t as buildCheckoutReturnUrls } from "./checkoutUrls-BEfR7kVu.mjs";
|
|
13
|
+
import { t as CheckboxChoice } from "./CheckboxChoice-B33MqoUo.mjs";
|
|
13
14
|
import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
|
|
14
15
|
import { n as consumeSearchParams } from "./urlParams-D71VXFGx.mjs";
|
|
15
16
|
import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
|
|
16
17
|
import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
|
|
17
|
-
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-
|
|
18
|
+
import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-BwVFo0Y4.mjs";
|
|
18
19
|
import { t as createLucideIcon } from "./createLucideIcon-PaLVMov4.mjs";
|
|
19
20
|
import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
|
|
20
21
|
import React, { useCallback, useEffect, useId, useLayoutEffect, useMemo, useReducer, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -832,7 +833,8 @@ function createInitialRegistrationFormData() {
|
|
|
832
833
|
email: "",
|
|
833
834
|
phone: "",
|
|
834
835
|
notes: "",
|
|
835
|
-
consentAccepted: false
|
|
836
|
+
consentAccepted: false,
|
|
837
|
+
mailingListOptIn: false
|
|
836
838
|
};
|
|
837
839
|
}
|
|
838
840
|
function validateFormData(formData, requiresConsent = false) {
|
|
@@ -1905,7 +1907,10 @@ async function handleCheckoutReturn(options, deps, returnContextRef) {
|
|
|
1905
1907
|
}
|
|
1906
1908
|
const { checkoutAttemptId } = command;
|
|
1907
1909
|
const pending = deps.getPendingRegistration(siteId, checkoutAttemptId);
|
|
1908
|
-
returnContextRef.current = {
|
|
1910
|
+
returnContextRef.current = {
|
|
1911
|
+
checkoutAttemptId,
|
|
1912
|
+
mailingListSignupNote: pending?.mailingListSignupNote
|
|
1913
|
+
};
|
|
1909
1914
|
if (pending) restorePendingPresentation(options, pending);
|
|
1910
1915
|
options.setStep("verifying-payment");
|
|
1911
1916
|
try {
|
|
@@ -1926,7 +1931,10 @@ function completeVerifiedRegistration(options, deps, returnContext) {
|
|
|
1926
1931
|
const siteId = options.api.config.siteId;
|
|
1927
1932
|
const checkoutAttemptId = returnContext?.checkoutAttemptId;
|
|
1928
1933
|
if (siteId && checkoutAttemptId) deps.clearPendingRegistration(siteId, checkoutAttemptId);
|
|
1929
|
-
options.setRegistrationResult({
|
|
1934
|
+
options.setRegistrationResult({
|
|
1935
|
+
status: "confirmed",
|
|
1936
|
+
mailingListSignupNote: returnContext?.mailingListSignupNote
|
|
1937
|
+
});
|
|
1930
1938
|
options.setStep("success");
|
|
1931
1939
|
}
|
|
1932
1940
|
function useEventRegistrationStripeReturnWithDeps(options, deps) {
|
|
@@ -1999,6 +2007,9 @@ function registrationErrorPresentation(error) {
|
|
|
1999
2007
|
}
|
|
2000
2008
|
//#endregion
|
|
2001
2009
|
//#region ../blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.ts
|
|
2010
|
+
function wantsMailingListSignup(options) {
|
|
2011
|
+
return options.mailingListSignup !== null && options.formData.mailingListOptIn === true;
|
|
2012
|
+
}
|
|
2002
2013
|
function createClientCommandId(cryptoSource = {
|
|
2003
2014
|
randomUUID: globalThis.crypto.randomUUID?.bind(globalThis.crypto),
|
|
2004
2015
|
getRandomValues: (bytes) => globalThis.crypto.getRandomValues(bytes)
|
|
@@ -2096,7 +2107,8 @@ async function completeRegistrationSubmission(options, deps, prepared, result, s
|
|
|
2096
2107
|
case "paymentStatusRequired":
|
|
2097
2108
|
options.setPaymentStatusRecovery({
|
|
2098
2109
|
kind: "ready",
|
|
2099
|
-
subject: result.subject
|
|
2110
|
+
subject: result.subject,
|
|
2111
|
+
mailingListSignupNote: result.mailingListSignupNote
|
|
2100
2112
|
});
|
|
2101
2113
|
options.setStep("payment-status");
|
|
2102
2114
|
return {
|
|
@@ -2105,14 +2117,15 @@ async function completeRegistrationSubmission(options, deps, prepared, result, s
|
|
|
2105
2117
|
};
|
|
2106
2118
|
case "checkoutRequired":
|
|
2107
2119
|
options.setPendingRegistrationReference(result.reference);
|
|
2108
|
-
savePendingCheckout(options, deps, prepared, result.submissionId, result.reference);
|
|
2120
|
+
savePendingCheckout(options, deps, prepared, result.submissionId, result.reference, result.mailingListSignupNote);
|
|
2109
2121
|
options.setStep("redirecting");
|
|
2110
2122
|
return redirectToCheckout(result.checkoutUrl, submitOptions);
|
|
2111
2123
|
case "waitlisted":
|
|
2112
2124
|
options.setRegistrationResult({
|
|
2113
2125
|
status: "waitlist",
|
|
2114
2126
|
title: "Added to waitlist",
|
|
2115
|
-
message: result.waitlist.message
|
|
2127
|
+
message: result.waitlist.message,
|
|
2128
|
+
mailingListSignupNote: result.mailingListSignupNote
|
|
2116
2129
|
});
|
|
2117
2130
|
break;
|
|
2118
2131
|
case "bookingComplete":
|
|
@@ -2120,7 +2133,8 @@ async function completeRegistrationSubmission(options, deps, prepared, result, s
|
|
|
2120
2133
|
options.setPendingRegistrationReference(result.reference);
|
|
2121
2134
|
options.setRegistrationResult({
|
|
2122
2135
|
status: "confirmed",
|
|
2123
|
-
message: result.summary.paymentMethod === "pass" ? result.summary.message : void 0
|
|
2136
|
+
message: result.summary.paymentMethod === "pass" ? result.summary.message : void 0,
|
|
2137
|
+
mailingListSignupNote: result.mailingListSignupNote
|
|
2124
2138
|
});
|
|
2125
2139
|
break;
|
|
2126
2140
|
}
|
|
@@ -2179,7 +2193,7 @@ function resolveSelectionSnapshot(method, passId, membershipId, bundleProductId,
|
|
|
2179
2193
|
if (method === "free") return { method };
|
|
2180
2194
|
throw new Error("Choose an available payment option.");
|
|
2181
2195
|
}
|
|
2182
|
-
function savePendingCheckout(options, deps, prepared, checkoutAttemptId, reference) {
|
|
2196
|
+
function savePendingCheckout(options, deps, prepared, checkoutAttemptId, reference, mailingListSignupNote) {
|
|
2183
2197
|
const siteId = options.api.config.siteId;
|
|
2184
2198
|
if (!siteId) return;
|
|
2185
2199
|
deps.savePendingRegistration(siteId, checkoutAttemptId, {
|
|
@@ -2188,7 +2202,8 @@ function savePendingCheckout(options, deps, prepared, checkoutAttemptId, referen
|
|
|
2188
2202
|
ticketSelections: prepared.ticketSelections,
|
|
2189
2203
|
selectedEventId: options.registrationTarget?.selectedEventId ?? null,
|
|
2190
2204
|
selectedAttendanceMode: options.selectedAttendanceMode,
|
|
2191
|
-
paymentSelection: prepared.selectionSnapshot
|
|
2205
|
+
paymentSelection: prepared.selectionSnapshot,
|
|
2206
|
+
mailingListSignupNote
|
|
2192
2207
|
});
|
|
2193
2208
|
}
|
|
2194
2209
|
function redirectToCheckout(checkoutUrl, submitOptions) {
|
|
@@ -2202,7 +2217,7 @@ function redirectToCheckout(checkoutUrl, submitOptions) {
|
|
|
2202
2217
|
};
|
|
2203
2218
|
}
|
|
2204
2219
|
function registrationRequestIntentKey(request) {
|
|
2205
|
-
const { registrationCommandId: _command, altchaSolution: _proof, checkout, ...intent } = request;
|
|
2220
|
+
const { registrationCommandId: _command, altchaSolution: _proof, mailingListOptIn: _marketingConsent, checkout, ...intent } = request;
|
|
2206
2221
|
return JSON.stringify({
|
|
2207
2222
|
...intent,
|
|
2208
2223
|
checkout: checkout ? {
|
|
@@ -2227,6 +2242,7 @@ function buildRegistrationRequest(options, prepared, method, passId, membershipI
|
|
|
2227
2242
|
phone: options.formData.phone.trim() || void 0,
|
|
2228
2243
|
notes: options.formData.notes.trim() || void 0,
|
|
2229
2244
|
consentAccepted: options.formData.consentAccepted,
|
|
2245
|
+
mailingListOptIn: wantsMailingListSignup(options),
|
|
2230
2246
|
altchaSolution: options.altchaSolution,
|
|
2231
2247
|
paymentMethod: method,
|
|
2232
2248
|
customerPassId: method === "pass" ? passId : void 0,
|
|
@@ -2461,13 +2477,17 @@ function isCheckableRecovery(state) {
|
|
|
2461
2477
|
function assistanceRequired(recovery) {
|
|
2462
2478
|
return {
|
|
2463
2479
|
kind: "assistanceRequired",
|
|
2464
|
-
subject: recovery.subject
|
|
2480
|
+
subject: recovery.subject,
|
|
2481
|
+
mailingListSignupNote: recovery.mailingListSignupNote
|
|
2465
2482
|
};
|
|
2466
2483
|
}
|
|
2467
2484
|
function applyStatusOutcome(outcome, recovery, setters, setRecovery) {
|
|
2468
2485
|
if (outcome.kind === "resolved") {
|
|
2469
2486
|
setters.setPendingRegistrationReference(outcome.reference);
|
|
2470
|
-
setters.setRegistrationResult({
|
|
2487
|
+
setters.setRegistrationResult({
|
|
2488
|
+
status: "confirmed",
|
|
2489
|
+
mailingListSignupNote: recovery.mailingListSignupNote
|
|
2490
|
+
});
|
|
2471
2491
|
setRecovery(null);
|
|
2472
2492
|
setters.setStep("success");
|
|
2473
2493
|
return;
|
|
@@ -2596,6 +2616,7 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
2596
2616
|
const paymentSelection = flowState.paymentSelection;
|
|
2597
2617
|
const [selectedEvent, setSelectedEvent] = useState(preSelectedEvent ?? null);
|
|
2598
2618
|
const [formData, setFormData] = useState(createInitialRegistrationFormData);
|
|
2619
|
+
const mailingListSignup = resolveBookingSignupOffer(options.mailingList, options.siteName);
|
|
2599
2620
|
const [errors, setErrors] = useState({});
|
|
2600
2621
|
const [guests, setGuests] = useState([]);
|
|
2601
2622
|
const [guestErrors, setGuestErrors] = useState({});
|
|
@@ -3042,6 +3063,7 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
3042
3063
|
ticketSelections,
|
|
3043
3064
|
selectedSlidingAmount,
|
|
3044
3065
|
formData,
|
|
3066
|
+
mailingListSignup,
|
|
3045
3067
|
altchaSolution,
|
|
3046
3068
|
requireGuestDetails,
|
|
3047
3069
|
guests,
|
|
@@ -3138,6 +3160,7 @@ function useEventRegistrationWizardWithDeps(options, deps) {
|
|
|
3138
3160
|
hasValidTicketSelection,
|
|
3139
3161
|
eventRequiresPayment,
|
|
3140
3162
|
formData,
|
|
3163
|
+
mailingListSignup,
|
|
3141
3164
|
setFormData,
|
|
3142
3165
|
errors,
|
|
3143
3166
|
guests,
|
|
@@ -4550,26 +4573,24 @@ function EventConsentField({ consent, error, formData, idBase, onChange }) {
|
|
|
4550
4573
|
title: consent.title,
|
|
4551
4574
|
titleId: `${idBase}-consent-title`
|
|
4552
4575
|
}),
|
|
4553
|
-
/* @__PURE__ */
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
consentAccepted: event.target.checked
|
|
4563
|
-
}),
|
|
4564
|
-
type: "checkbox"
|
|
4565
|
-
}),
|
|
4576
|
+
/* @__PURE__ */ jsx(CheckboxChoice, {
|
|
4577
|
+
"aria-describedby": error ? errorId : void 0,
|
|
4578
|
+
"aria-invalid": error ? true : void 0,
|
|
4579
|
+
checked: formData.consentAccepted === true,
|
|
4580
|
+
onChange: (event) => onChange({
|
|
4581
|
+
...formData,
|
|
4582
|
+
consentAccepted: event.target.checked
|
|
4583
|
+
}),
|
|
4584
|
+
label: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4566
4585
|
consent.checkboxLabel,
|
|
4567
4586
|
" ",
|
|
4568
4587
|
/* @__PURE__ */ jsx("span", {
|
|
4569
4588
|
className: "er-required",
|
|
4570
4589
|
children: "*"
|
|
4571
4590
|
})
|
|
4572
|
-
]
|
|
4591
|
+
] }),
|
|
4592
|
+
presentation: "tile",
|
|
4593
|
+
className: "er-consent-check"
|
|
4573
4594
|
}),
|
|
4574
4595
|
error ? /* @__PURE__ */ jsx(FieldValidationMessage, {
|
|
4575
4596
|
id: errorId,
|
|
@@ -4599,13 +4620,31 @@ function NotesField({ id, onChange, value }) {
|
|
|
4599
4620
|
})]
|
|
4600
4621
|
});
|
|
4601
4622
|
}
|
|
4623
|
+
function MailingListOptInField({ signup, formData, onChange }) {
|
|
4624
|
+
if (!signup) return null;
|
|
4625
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
4626
|
+
className: "er-field",
|
|
4627
|
+
children: [/* @__PURE__ */ jsx(CheckboxChoice, {
|
|
4628
|
+
checked: formData.mailingListOptIn === true,
|
|
4629
|
+
onChange: (event) => onChange({
|
|
4630
|
+
...formData,
|
|
4631
|
+
mailingListOptIn: event.target.checked
|
|
4632
|
+
}),
|
|
4633
|
+
label: `Email me news and updates from ${signup.siteName}.`,
|
|
4634
|
+
presentation: "row"
|
|
4635
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
4636
|
+
className: "er-text er-text--muted",
|
|
4637
|
+
children: "Optional. You can unsubscribe at any time."
|
|
4638
|
+
})]
|
|
4639
|
+
});
|
|
4640
|
+
}
|
|
4602
4641
|
/**
|
|
4603
4642
|
* Attendee Details Step
|
|
4604
4643
|
*
|
|
4605
4644
|
* Collects attendee information: name, email, phone, and notes.
|
|
4606
4645
|
* Validates required fields and displays errors.
|
|
4607
4646
|
*/
|
|
4608
|
-
const AttendeeDetailsStep = ({ formData, onChange, errors, emailLocked = false, onLogout, ticketsCount = 1, requireGuestDetails = false, guests = [], onGuestsChange, guestErrors = {}, guestSectionShake = false, onGuestShakeEnd, consent }) => {
|
|
4647
|
+
const AttendeeDetailsStep = ({ formData, onChange, errors, emailLocked = false, onLogout, ticketsCount = 1, requireGuestDetails = false, guests = [], onGuestsChange, guestErrors = {}, guestSectionShake = false, onGuestShakeEnd, consent, mailingListSignup }) => {
|
|
4609
4648
|
const idBase = useId();
|
|
4610
4649
|
const nameId = `${idBase}-name`;
|
|
4611
4650
|
const emailId = `${idBase}-email`;
|
|
@@ -4714,6 +4753,11 @@ const AttendeeDetailsStep = ({ formData, onChange, errors, emailLocked = false,
|
|
|
4714
4753
|
placeholder: "(optional)"
|
|
4715
4754
|
})]
|
|
4716
4755
|
}),
|
|
4756
|
+
/* @__PURE__ */ jsx(MailingListOptInField, {
|
|
4757
|
+
signup: mailingListSignup,
|
|
4758
|
+
formData,
|
|
4759
|
+
onChange
|
|
4760
|
+
}),
|
|
4717
4761
|
/* @__PURE__ */ jsx(NotesField, {
|
|
4718
4762
|
id: notesId,
|
|
4719
4763
|
value: formData.notes,
|
|
@@ -5207,7 +5251,8 @@ function AttendeeDetailsContent(props) {
|
|
|
5207
5251
|
guestErrors: wizard.guestErrors,
|
|
5208
5252
|
guestSectionShake: wizard.guestSectionShake,
|
|
5209
5253
|
onGuestShakeEnd: wizard.handleGuestShakeEnd,
|
|
5210
|
-
consent: (wizard.selectedEvent ?? wizard.preSelectedEvent)?.consent ?? null
|
|
5254
|
+
consent: (wizard.selectedEvent ?? wizard.preSelectedEvent)?.consent ?? null,
|
|
5255
|
+
mailingListSignup: wizard.mailingListSignup
|
|
5211
5256
|
}),
|
|
5212
5257
|
props.showSpamProtection && /* @__PURE__ */ jsx("div", {
|
|
5213
5258
|
className: "er-altcha",
|
|
@@ -5409,6 +5454,10 @@ function PaymentStatusStep(props) {
|
|
|
5409
5454
|
"aria-atomic": "true",
|
|
5410
5455
|
children: props.state.kind === "checking" ? "Checking payment…" : view.title
|
|
5411
5456
|
})] }),
|
|
5457
|
+
secondaryBody: props.state.mailingListSignupNote ? /* @__PURE__ */ jsx(BookingMailingListNote, {
|
|
5458
|
+
note: props.state.mailingListSignupNote,
|
|
5459
|
+
context: "booking"
|
|
5460
|
+
}) : void 0,
|
|
5412
5461
|
actionsClassName: "er-button-group",
|
|
5413
5462
|
actions: view.action ? /* @__PURE__ */ jsx("button", {
|
|
5414
5463
|
type: "button",
|
|
@@ -5441,7 +5490,7 @@ function StepIndicator(props) {
|
|
|
5441
5490
|
*
|
|
5442
5491
|
* Displays registration confirmation with a success icon and message.
|
|
5443
5492
|
*/
|
|
5444
|
-
const SuccessStep = ({ title, message, variant = "success" }) => {
|
|
5493
|
+
const SuccessStep = ({ title, message, variant = "success", mailingListSignupNote, context = "booking" }) => {
|
|
5445
5494
|
return /* @__PURE__ */ jsx(TerminalPanel, {
|
|
5446
5495
|
tone: variant === "info" ? "info" : "success",
|
|
5447
5496
|
className: "er-center",
|
|
@@ -5482,7 +5531,11 @@ const SuccessStep = ({ title, message, variant = "success" }) => {
|
|
|
5482
5531
|
})
|
|
5483
5532
|
}),
|
|
5484
5533
|
title: title ?? (variant === "info" ? "Already Registered" : "Registration Confirmed!"),
|
|
5485
|
-
body: message
|
|
5534
|
+
body: message,
|
|
5535
|
+
secondaryBody: mailingListSignupNote ? /* @__PURE__ */ jsx(BookingMailingListNote, {
|
|
5536
|
+
note: mailingListSignupNote,
|
|
5537
|
+
context
|
|
5538
|
+
}) : void 0
|
|
5486
5539
|
});
|
|
5487
5540
|
};
|
|
5488
5541
|
//#endregion
|
|
@@ -5653,11 +5706,10 @@ function EventRegistrationTerminalState(props) {
|
|
|
5653
5706
|
onReturnToPayment: wizard.handleReturnToPayment,
|
|
5654
5707
|
onReturnToBooking: wizard.handleReturnToBooking
|
|
5655
5708
|
}) : null;
|
|
5656
|
-
case "success": return
|
|
5657
|
-
|
|
5658
|
-
|
|
5659
|
-
|
|
5660
|
-
}) : null;
|
|
5709
|
+
case "success": return /* @__PURE__ */ jsx(EventRegistrationSuccess, {
|
|
5710
|
+
wizard,
|
|
5711
|
+
fallbackMessage: props.successMessage
|
|
5712
|
+
});
|
|
5661
5713
|
case "error": return /* @__PURE__ */ jsx(ErrorStep, {
|
|
5662
5714
|
message: wizard.errorMessage,
|
|
5663
5715
|
action: wizard.errorAction,
|
|
@@ -5670,6 +5722,17 @@ function EventRegistrationTerminalState(props) {
|
|
|
5670
5722
|
case "select-payment": return null;
|
|
5671
5723
|
}
|
|
5672
5724
|
}
|
|
5725
|
+
function EventRegistrationSuccess(props) {
|
|
5726
|
+
const result = props.wizard.registrationResult;
|
|
5727
|
+
if (!result) return null;
|
|
5728
|
+
return /* @__PURE__ */ jsx(SuccessStep, {
|
|
5729
|
+
title: result.title,
|
|
5730
|
+
variant: result.variant,
|
|
5731
|
+
message: result.message ?? props.fallbackMessage,
|
|
5732
|
+
mailingListSignupNote: result.mailingListSignupNote,
|
|
5733
|
+
context: result.status === "waitlist" ? "waitlist" : "booking"
|
|
5734
|
+
});
|
|
5735
|
+
}
|
|
5673
5736
|
function EventRegistrationSurface(props) {
|
|
5674
5737
|
const { wizard } = props;
|
|
5675
5738
|
const mainRef = useRef(null);
|
|
@@ -5865,19 +5928,23 @@ function getWizardStepLabel(input) {
|
|
|
5865
5928
|
case "payment-failed": return "";
|
|
5866
5929
|
}
|
|
5867
5930
|
}
|
|
5931
|
+
function useConfiguredEventRegistrationWizard(props) {
|
|
5932
|
+
return useEventRegistrationWizard({
|
|
5933
|
+
anchorId: EVENT_REGISTRATION_ANCHOR_ID,
|
|
5934
|
+
occurrenceContext: props.occurrenceContext ?? null,
|
|
5935
|
+
subject: props.subject ?? null,
|
|
5936
|
+
events: props.events ?? [],
|
|
5937
|
+
maxTicketsNum: normalizeEventRegistrationMaxTickets(props.maxTickets ?? "5"),
|
|
5938
|
+
mailingList: props.mailingList,
|
|
5939
|
+
siteName: props.siteName
|
|
5940
|
+
});
|
|
5941
|
+
}
|
|
5868
5942
|
function EventRegistrationWizard(props) {
|
|
5869
|
-
const { occurrenceContext, subject, events,
|
|
5870
|
-
const maxTicketsNum = normalizeEventRegistrationMaxTickets(maxTickets);
|
|
5943
|
+
const { occurrenceContext, subject, events, showVenue = true, showCapacity = true, successMessage = "Thank you for registering! Check your email for confirmation details.", buttonText = "Complete Registration", buttonVariant = "primary", className, spamProtectionEnabled, supportEmail } = props;
|
|
5871
5944
|
const showSpamProtection = spamProtectionEnabled ?? isSpamProtectionEnabled();
|
|
5872
5945
|
const registrationRootClassName = `event-registration ${className || ""}`;
|
|
5873
5946
|
const registrationRootRef = React.useRef(null);
|
|
5874
|
-
const wizard =
|
|
5875
|
-
anchorId: EVENT_REGISTRATION_ANCHOR_ID,
|
|
5876
|
-
occurrenceContext: occurrenceContext ?? null,
|
|
5877
|
-
subject: subject ?? null,
|
|
5878
|
-
events: events ?? [],
|
|
5879
|
-
maxTicketsNum
|
|
5880
|
-
});
|
|
5947
|
+
const wizard = useConfiguredEventRegistrationWizard(props);
|
|
5881
5948
|
useEventCheckoutHandoffRestore(wizard.step === "redirecting");
|
|
5882
5949
|
const [bookingOverlayOpen, setBookingOverlayOpen] = useState(false);
|
|
5883
5950
|
const [floatingPortalRoot, setFloatingPortalRoot] = useState(null);
|