@riverbankcms/sdk 0.132.0 → 0.135.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 +14 -3
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-DKQ5eFK9.mjs → PreviewEditorSidebar-roNY0GVy.mjs} +4 -4
- package/dist/{PreviewEditorUI-CNTcOjCC.mjs → PreviewEditorUI-KboDbEh_.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DJu3qu33.mjs → SdkPreviewModeRuntime-DBrF7Caa.mjs} +48 -17
- package/dist/{SiteChromeCustomizeContext-2TzT3vbj.mjs → SiteChromeCustomizeContext-DrIEpJKn.mjs} +4351 -7964
- package/dist/_dts/ai/src/contracts/proposals.d.ts +549 -549
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +234 -234
- package/dist/_dts/api/src/accountApi.d.ts +5 -5
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +25 -60
- package/dist/_dts/api/src/bookingOperations.d.ts +111 -173
- package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +123 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +13 -13
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
- package/dist/_dts/api/src/bookingSessionSummaryTypes.d.ts +34 -0
- package/dist/_dts/api/src/bookings.d.ts +7 -11
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -7
- package/dist/_dts/api/src/communications.d.ts +1 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
- package/dist/_dts/api/src/endpoints.d.ts +30 -110
- package/dist/_dts/api/src/eventManagementContracts.d.ts +1 -1
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +43 -0
- package/dist/_dts/api/src/index.d.ts +3 -4
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/navigation/contracts.d.ts +9 -6
- package/dist/_dts/api/src/navigation/linkResolver.d.ts +6 -2
- package/dist/_dts/api/src/navigation/types.d.ts +23 -6
- package/dist/_dts/api/src/navigation.d.ts +1 -1
- package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
- package/dist/_dts/api/src/publicBookingService.d.ts +15 -0
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +32 -28
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +88 -6
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +1 -1
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +9 -98
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +7 -6
- package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -32
- package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +1 -1
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
- package/dist/_dts/api/src/sdkThemeWire.d.ts +50 -50
- package/dist/_dts/api/src/siteBanner.d.ts +4 -2
- package/dist/_dts/api/src/siteOperations.d.ts +2 -2
- package/dist/_dts/api/src/types.d.ts +2 -2
- package/dist/_dts/api/src/webhooks.d.ts +12 -12
- package/dist/_dts/api/src/{courses.d.ts → wholeSeriesOfferings.d.ts} +43 -95
- package/dist/_dts/blocks/src/client.d.ts +1 -6
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +33 -166
- package/dist/_dts/blocks/src/index.d.ts +3 -2
- package/dist/_dts/blocks/src/portal/dateFormatting.d.ts +3 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +17 -20
- package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -2
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +147 -42
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +46 -24
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +6 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +148 -148
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +5 -4
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/shared/bookingConsent.d.ts +36 -0
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/hydrateLinks.d.ts +9 -2
- package/dist/_dts/blocks/src/system/manifest/resolveBlockData.d.ts +8 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +79 -79
- package/dist/_dts/blocks/src/system/node/builder.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +9 -12
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +2 -44
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -11
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +100 -59
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +19 -16
- package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/DynamicFormFields.d.ts +3 -19
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -247
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +13 -126
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.consent.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.field-values.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.fields.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +38 -144
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -19
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +1 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +7 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +7 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +18 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +12 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +53 -45
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +10 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +24 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +5 -56
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/validation.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +6 -22
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +40 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingConsentAgreement.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +1 -13
- package/dist/_dts/blocks/src/system/runtime/shared/components/LoggedInAsUser.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/utils/checkoutUrls.d.ts +2 -2
- package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
- package/dist/_dts/commerce/src/index.d.ts +16 -0
- package/dist/_dts/commerce/src/money.d.ts +122 -0
- package/dist/_dts/commerce/src/moneyContracts.d.ts +178 -0
- package/dist/_dts/commerce/src/moneyDateUtils.d.ts +22 -0
- package/dist/_dts/commerce/src/moneyPayments.d.ts +59 -0
- package/dist/_dts/commerce/src/moneyPlanningTime.d.ts +4 -0
- package/dist/_dts/commerce/src/moneyReceiptReadModel.d.ts +68 -0
- package/dist/_dts/commerce/src/moneyReport.d.ts +105 -0
- package/dist/_dts/commerce/src/moneyReportBreakdowns.d.ts +3 -0
- package/dist/_dts/commerce/src/moneyReportKindFilter.d.ts +4 -0
- package/dist/_dts/commerce/src/moneyReportPage.d.ts +132 -0
- package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +3 -3
- package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +6 -25
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -4
- package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +11 -11
- package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/types.d.ts +12 -8
- package/dist/_dts/commerce/src/shop/digitalFulfillment.d.ts +111 -0
- package/dist/_dts/commerce/src/shop/fulfillmentStatus.d.ts +10 -0
- package/dist/_dts/commerce/src/shop/inventoryRestore.d.ts +13 -0
- package/dist/_dts/commerce/src/shop/shippingAddress.d.ts +18 -0
- package/dist/_dts/commerce/src/types/json.d.ts +3 -0
- package/dist/_dts/commerce/src/utils/isPlainRecord.d.ts +1 -0
- package/dist/_dts/commerce/src/waitlists.d.ts +172 -0
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -30
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +2 -39
- package/dist/_dts/content-model/src/content-types/schema.d.ts +4 -4
- package/dist/_dts/content-model/src/metadataConfig.d.ts +0 -1
- package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -68
- package/dist/_dts/core/src/booking-consent.d.ts +8 -0
- package/dist/_dts/core/src/branded.d.ts +3 -3
- package/dist/_dts/core/src/event-pricing.d.ts +6 -6
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/participants.d.ts +17 -17
- package/dist/_dts/core/src/rectification.d.ts +1 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +899 -2157
- package/dist/_dts/db/src/schemas/forms.d.ts +21 -21
- package/dist/_dts/db/src/types/jsonb.d.ts +1 -1
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +2 -1
- package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +2 -1
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +3 -2
- package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +3 -4
- package/dist/_dts/media-core/src/usageScanner.d.ts +1 -1
- package/dist/_dts/sdk/src/bookings/index.d.ts +4 -5
- package/dist/_dts/sdk/src/bookings/types.d.ts +8 -60
- package/dist/_dts/sdk/src/config/validation.d.ts +30 -30
- package/dist/_dts/sdk/src/contracts/content.d.ts +10 -36
- package/dist/_dts/sdk/src/contracts/rendering.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +9 -9
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -19
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +4 -6
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +0 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -12
- package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -72
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/schema.d.ts +82 -82
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/client/{usePolling-M5jG675x.mjs → BookingConsentAgreement-BQqwi8Oa.mjs} +180 -4
- package/dist/client/{DiscountCodeDisclosure-DO7llLxm.mjs → DiscountCodeDisclosure-B97aMo0V.mjs} +13 -27
- package/dist/client/{EventCombined.client-xID7zN__.mjs → EventCombined.client-Bs2Iw9Q6.mjs} +3 -3
- package/dist/client/{EventListing.client-CriBslp0.mjs → EventListing.client-C4QUQdmg.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DYmHnM8g.mjs → LeafletStaticMap-CwWRk69M.mjs} +1 -1
- package/dist/client/{accordion-CgFbnnnQ.mjs → accordion-BA0j8Mpw.mjs} +1 -1
- package/dist/client/{bookingForm-dUyGpbxc.mjs → bookingForm-Br2e41H0.mjs} +72 -47
- package/dist/client/bookings.mjs +1987 -2132
- package/dist/client/{carousel-BvBwkUzx.mjs → carousel-B4dmwnpD.mjs} +1 -1
- package/dist/client/{cart-DiZENT2E.mjs → cart-B_ckGW4b.mjs} +3 -3
- package/dist/client/{checkout-Dq13KIgR.mjs → checkout-DAyspHdf.mjs} +3 -3
- package/dist/client/checkoutUrls-BuseL0dw.mjs +189 -0
- package/dist/client/client.mjs +5627 -9543
- package/dist/client/{context-B83PiNzm.mjs → context-DljQn8L5.mjs} +15 -82
- package/dist/client/{eventCalendar-BF0Jatfw.mjs → eventCalendar-pJu3FUod.mjs} +5 -5
- package/dist/client/{eventCombined-BuoCF8je.mjs → eventCombined-B6Kacm9F.mjs} +3 -3
- package/dist/client/{eventDetails-CKwh0S9s.mjs → eventDetails-CaX9z1pv.mjs} +8 -8
- package/dist/client/{eventListing-eUxaWFaB.mjs → eventListing-B9aXPO-I.mjs} +3 -3
- package/dist/client/{eventRegistration-CfkNOkPb.mjs → eventRegistration-CBSovBkg.mjs} +4550 -3671
- package/dist/client/{form-C17H1c_H.mjs → form-Cm0tu_7o.mjs} +2 -2
- package/dist/client/{headerSection-DEwUmrtt.mjs → headerSection-OgRtHeKS.mjs} +2 -2
- package/dist/client/hooks.mjs +535 -694
- package/dist/client/{locationMap-Pf2QwuvW.mjs → locationMap-DmjcYqNM.mjs} +2 -2
- package/dist/client/{newsletterForm-BWQAH5Sv.mjs → newsletterForm-D08OZQAC.mjs} +2 -2
- package/dist/client/{productDetail-BZi1Fa_G.mjs → productDetail-BqZeu2P4.mjs} +3 -3
- package/dist/client/{productList-qq-55DNk.mjs → productList-mNyIF9FG.mjs} +3 -3
- package/dist/client/{propsDecoder-BxmqPKdP.mjs → propsDecoder-DwHXRm9X.mjs} +4850 -4502
- package/dist/client/rendering/client.mjs +59921 -62298
- package/dist/client/rendering/islands.mjs +17 -19
- package/dist/client/rendering.mjs +6226 -10236
- package/dist/client/{scrollToBlock-B3CcKdtG.mjs → scrollToBlock-DtmdM3v-.mjs} +2 -2
- package/dist/client/{shop-DNWJPut5.mjs → shop-CNjZK16F.mjs} +6 -6
- package/dist/client/{shop-commerce-BhvQCosS.mjs → shop-commerce-DkNNao1J.mjs} +7 -164
- package/dist/client/{shop-commerce-store-B04sCNnW.mjs → shop-commerce-store-9WA--zuW.mjs} +1 -1
- package/dist/client/{shopShared-DNNgZlmW.mjs → shopShared-CHCVfccY.mjs} +3 -3
- package/dist/client/{useEventFilters-CUmhE24_.mjs → useEventFilters-DvuaB4ZN.mjs} +3 -3
- package/dist/preview-next/before-render.mjs +40 -161
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +40 -161
- package/dist/preview-next/middleware.mjs +40 -161
- package/dist/{previewAuthStore-BFKd4LrN.mjs → previewAuthStore-C7ksxt5b.mjs} +40 -161
- package/dist/{sdk-runtime-BEXb1wqo.mjs → sdk-runtime-3GhW4knb.mjs} +2 -2
- package/dist/{separator-DGMuip1D.mjs → separator-D3bCWYYb.mjs} +1 -1
- package/dist/server/components.mjs +634 -2969
- package/dist/server/config-validation.mjs +535 -694
- package/dist/server/config.mjs +535 -694
- package/dist/server/data.mjs +535 -694
- package/dist/server/index.mjs +41 -162
- package/dist/server/next.mjs +644 -2979
- package/dist/server/page-converter.mjs +435 -561
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +635 -2874
- package/dist/server/rendering.mjs +634 -2969
- package/dist/server/routing.mjs +706 -1138
- package/dist/server/server.mjs +549 -708
- package/dist/server/theme-bridge.mjs +152 -1635
- package/dist/styles/index.css +41 -1348
- package/package.json +2 -2
- package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +0 -99
- package/dist/_dts/blocks/src/client/course-registration.d.ts +0 -5
- package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -134
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -130
- package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
- package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +0 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -133
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -28
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +0 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +0 -20
- package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +0 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -181
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +0 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/BookingModeStep.d.ts +0 -32
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/CheckIcon.d.ts +0 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/ErrorStep.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/MembershipHero.d.ts +0 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PaymentFailedStep.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PortalAuthSidebar.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +0 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/SuccessStep.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/VerifyingTimeoutStep.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WaitlistStep.d.ts +0 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts +0 -25
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +0 -45
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/index.d.ts +0 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +0 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/types.d.ts +0 -105
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesEligibility.d.ts +0 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +0 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +0 -35
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts +0 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +0 -35
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +0 -185
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/utils.d.ts +0 -43
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +0 -323
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.planning.d.ts +0 -27
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts +0 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wizardSteps.d.ts +0 -30
- package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +0 -3
- package/dist/_dts/theme-core/src/blocks/vars/course-details.d.ts +0 -16
- package/dist/_dts/theme-core/src/blocks/vars/course-registration.d.ts +0 -21
- package/dist/client/StepIndicator-CGixP_LW.mjs +0 -138
- package/dist/client/WholeSeriesRegistrationWizard-BEjzSiOA.mjs +0 -2496
- package/dist/client/checkoutUrls-Ct8Mxna3.mjs +0 -26
- package/dist/client/courseRegistration-CKC5NmyH.mjs +0 -52
- package/dist/client/pricing-CVdvbopJ.mjs +0 -195
package/dist/server/next.mjs
CHANGED
|
@@ -1343,69 +1343,8 @@ const ACCOUNT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1343
1343
|
}
|
|
1344
1344
|
});
|
|
1345
1345
|
//#endregion
|
|
1346
|
-
//#region ../api/src/
|
|
1347
|
-
const
|
|
1348
|
-
listCourses: {
|
|
1349
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
1350
|
-
method: "GET",
|
|
1351
|
-
auth: "user",
|
|
1352
|
-
responseKind: "json"
|
|
1353
|
-
},
|
|
1354
|
-
exportCoursesCsv: {
|
|
1355
|
-
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
1356
|
-
method: "GET",
|
|
1357
|
-
tags: [
|
|
1358
|
-
"site-{siteId}",
|
|
1359
|
-
"bookings",
|
|
1360
|
-
"courses-{siteId}"
|
|
1361
|
-
],
|
|
1362
|
-
errors: [],
|
|
1363
|
-
auth: "user",
|
|
1364
|
-
responseKind: "blob"
|
|
1365
|
-
},
|
|
1366
|
-
createCourse: {
|
|
1367
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
1368
|
-
method: "POST",
|
|
1369
|
-
auth: "user",
|
|
1370
|
-
responseKind: "json",
|
|
1371
|
-
errors: [
|
|
1372
|
-
"validation:invalid_input",
|
|
1373
|
-
"resource:not_found",
|
|
1374
|
-
"resource:already_exists",
|
|
1375
|
-
"resource:conflict",
|
|
1376
|
-
"server:internal_error"
|
|
1377
|
-
]
|
|
1378
|
-
},
|
|
1379
|
-
getCourse: {
|
|
1380
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
1381
|
-
method: "GET",
|
|
1382
|
-
auth: "user",
|
|
1383
|
-
responseKind: "json"
|
|
1384
|
-
},
|
|
1385
|
-
updateCourse: {
|
|
1386
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
1387
|
-
method: "PATCH",
|
|
1388
|
-
auth: "user",
|
|
1389
|
-
responseKind: "json",
|
|
1390
|
-
errors: [
|
|
1391
|
-
"validation:invalid_input",
|
|
1392
|
-
"resource:not_found",
|
|
1393
|
-
"resource:conflict",
|
|
1394
|
-
"server:internal_error"
|
|
1395
|
-
]
|
|
1396
|
-
},
|
|
1397
|
-
deleteCourse: {
|
|
1398
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
1399
|
-
method: "DELETE",
|
|
1400
|
-
auth: "user",
|
|
1401
|
-
responseKind: "json",
|
|
1402
|
-
errors: [
|
|
1403
|
-
"validation:invalid_input",
|
|
1404
|
-
"resource:not_found",
|
|
1405
|
-
"resource:conflict",
|
|
1406
|
-
"server:internal_error"
|
|
1407
|
-
]
|
|
1408
|
-
},
|
|
1346
|
+
//#region ../api/src/eventSeriesRegistrationEndpointDefinitions.ts
|
|
1347
|
+
const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1409
1348
|
deleteEventOffering: {
|
|
1410
1349
|
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}",
|
|
1411
1350
|
method: "DELETE",
|
|
@@ -1418,20 +1357,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1418
1357
|
"server:internal_error"
|
|
1419
1358
|
]
|
|
1420
1359
|
},
|
|
1421
|
-
|
|
1422
|
-
path: "/sites/{siteId}/bookings/
|
|
1423
|
-
method: "POST",
|
|
1424
|
-
auth: "user",
|
|
1425
|
-
responseKind: "json",
|
|
1426
|
-
errors: [
|
|
1427
|
-
"validation:invalid_input",
|
|
1428
|
-
"resource:not_found",
|
|
1429
|
-
"resource:already_exists",
|
|
1430
|
-
"server:internal_error"
|
|
1431
|
-
]
|
|
1432
|
-
},
|
|
1433
|
-
changeCourseContentOwnership: {
|
|
1434
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/content-ownership",
|
|
1360
|
+
changeEventSeriesContentOwnership: {
|
|
1361
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/content-ownership",
|
|
1435
1362
|
method: "POST",
|
|
1436
1363
|
auth: "user",
|
|
1437
1364
|
responseKind: "json",
|
|
@@ -1442,8 +1369,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1442
1369
|
"server:internal_error"
|
|
1443
1370
|
]
|
|
1444
1371
|
},
|
|
1445
|
-
|
|
1446
|
-
path: "/sites/{siteId}/bookings/
|
|
1372
|
+
addEventSeriesRegistration: {
|
|
1373
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
1447
1374
|
method: "POST",
|
|
1448
1375
|
auth: "user",
|
|
1449
1376
|
responseKind: "json",
|
|
@@ -1454,33 +1381,21 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1454
1381
|
"server:internal_error"
|
|
1455
1382
|
]
|
|
1456
1383
|
},
|
|
1457
|
-
|
|
1458
|
-
path: "/sites/{siteId}/bookings/
|
|
1384
|
+
listEventSeriesRegistrations: {
|
|
1385
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
1459
1386
|
method: "GET",
|
|
1460
1387
|
auth: "user",
|
|
1461
1388
|
responseKind: "json"
|
|
1462
1389
|
},
|
|
1463
|
-
|
|
1464
|
-
path: "/sites/{siteId}/bookings/
|
|
1390
|
+
exportEventSeriesRegistrationsCsv: {
|
|
1391
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/export.csv",
|
|
1465
1392
|
method: "GET",
|
|
1466
1393
|
auth: "user",
|
|
1467
1394
|
errors: [],
|
|
1468
1395
|
responseKind: "blob"
|
|
1469
1396
|
},
|
|
1470
|
-
|
|
1471
|
-
path: "/sites/{siteId}/bookings/
|
|
1472
|
-
method: "GET",
|
|
1473
|
-
tags: [
|
|
1474
|
-
"site-{siteId}",
|
|
1475
|
-
"bookings",
|
|
1476
|
-
"courses-{courseId}"
|
|
1477
|
-
],
|
|
1478
|
-
auth: "user",
|
|
1479
|
-
responseKind: "blob",
|
|
1480
|
-
errors: []
|
|
1481
|
-
},
|
|
1482
|
-
updateCourseEnrollment: {
|
|
1483
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
1397
|
+
updateEventSeriesRegistration: {
|
|
1398
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
|
|
1484
1399
|
method: "PATCH",
|
|
1485
1400
|
auth: "user",
|
|
1486
1401
|
responseKind: "json",
|
|
@@ -1868,71 +1783,35 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1868
1783
|
errors: ["resource:not_found", "server:internal_error"],
|
|
1869
1784
|
auth: "public",
|
|
1870
1785
|
responseKind: "json"
|
|
1871
|
-
}
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
"auth:forbidden",
|
|
1879
|
-
"validation:invalid_input",
|
|
1880
|
-
"resource:not_found",
|
|
1881
|
-
"resource:conflict",
|
|
1882
|
-
"resource:already_exists",
|
|
1883
|
-
"server:internal_error"
|
|
1884
|
-
],
|
|
1885
|
-
auth: "public",
|
|
1886
|
-
responseKind: "json"
|
|
1887
|
-
},
|
|
1888
|
-
checkWholeSeriesEligibility: {
|
|
1889
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/check-eligibility",
|
|
1890
|
-
method: "POST",
|
|
1891
|
-
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
|
|
1892
|
-
errors: [
|
|
1893
|
-
"auth:unauthenticated",
|
|
1894
|
-
"resource:not_found",
|
|
1895
|
-
"resource:conflict",
|
|
1896
|
-
"server:internal_error"
|
|
1897
|
-
],
|
|
1898
|
-
auth: "public",
|
|
1899
|
-
responseKind: "json"
|
|
1900
|
-
},
|
|
1901
|
-
createWholeSeriesCheckout: {
|
|
1902
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/checkout",
|
|
1786
|
+
}
|
|
1787
|
+
});
|
|
1788
|
+
//#endregion
|
|
1789
|
+
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
1790
|
+
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1791
|
+
getPublicEventRegistrationOptions: {
|
|
1792
|
+
path: "/public/sites/{siteId}/events/registration-options",
|
|
1903
1793
|
method: "POST",
|
|
1904
|
-
tags: [TAG_TEMPLATES.
|
|
1794
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration-options"],
|
|
1905
1795
|
auth: "public",
|
|
1906
1796
|
responseKind: "json",
|
|
1907
1797
|
errors: [
|
|
1908
|
-
"auth:unauthenticated",
|
|
1909
1798
|
"validation:invalid_input",
|
|
1910
1799
|
"resource:not_found",
|
|
1911
1800
|
"resource:conflict",
|
|
1912
1801
|
"server:internal_error"
|
|
1913
1802
|
]
|
|
1914
1803
|
},
|
|
1915
|
-
|
|
1916
|
-
path: "/public/sites/{siteId}/
|
|
1804
|
+
resolveEventSubroute: {
|
|
1805
|
+
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
1917
1806
|
method: "GET",
|
|
1918
|
-
|
|
1919
|
-
|
|
1807
|
+
revalidate: 60,
|
|
1808
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
1920
1809
|
auth: "public",
|
|
1921
|
-
responseKind: "json"
|
|
1810
|
+
responseKind: "json",
|
|
1811
|
+
errors: []
|
|
1922
1812
|
}
|
|
1923
1813
|
});
|
|
1924
1814
|
//#endregion
|
|
1925
|
-
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
1926
|
-
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ resolveEventSubroute: {
|
|
1927
|
-
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
1928
|
-
method: "GET",
|
|
1929
|
-
revalidate: 60,
|
|
1930
|
-
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
1931
|
-
auth: "public",
|
|
1932
|
-
responseKind: "json",
|
|
1933
|
-
errors: []
|
|
1934
|
-
} });
|
|
1935
|
-
//#endregion
|
|
1936
1815
|
//#region ../api/src/siteApiKeyEndpointDefinitions.ts
|
|
1937
1816
|
const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1938
1817
|
listSiteApiKeys: {
|
|
@@ -2829,7 +2708,7 @@ const API_ENDPOINTS$1 = {
|
|
|
2829
2708
|
},
|
|
2830
2709
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
2831
2710
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
2832
|
-
...
|
|
2711
|
+
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS,
|
|
2833
2712
|
getSite: {
|
|
2834
2713
|
path: "/sites",
|
|
2835
2714
|
method: "GET",
|
|
@@ -6143,13 +6022,13 @@ const API_ENDPOINTS$1 = {
|
|
|
6143
6022
|
"server:internal_error"
|
|
6144
6023
|
]
|
|
6145
6024
|
},
|
|
6146
|
-
|
|
6147
|
-
path: "/sites/{siteId}/bookings/
|
|
6025
|
+
refundEventSeriesRegistration: {
|
|
6026
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/refund",
|
|
6148
6027
|
method: "POST",
|
|
6149
6028
|
tags: [
|
|
6150
6029
|
"site-{siteId}",
|
|
6151
|
-
"
|
|
6152
|
-
"
|
|
6030
|
+
"event-series-{seriesId}",
|
|
6031
|
+
"event-series-registration-{registrationId}",
|
|
6153
6032
|
"bookings"
|
|
6154
6033
|
],
|
|
6155
6034
|
auth: "user",
|
|
@@ -6172,13 +6051,13 @@ const API_ENDPOINTS$1 = {
|
|
|
6172
6051
|
auth: "user",
|
|
6173
6052
|
responseKind: "json"
|
|
6174
6053
|
},
|
|
6175
|
-
|
|
6176
|
-
path: "/sites/{siteId}/bookings/
|
|
6054
|
+
listEventSeriesRegistrationRefunds: {
|
|
6055
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/refunds",
|
|
6177
6056
|
method: "GET",
|
|
6178
6057
|
tags: [
|
|
6179
6058
|
"site-{siteId}",
|
|
6180
|
-
"
|
|
6181
|
-
"
|
|
6059
|
+
"event-series-{seriesId}",
|
|
6060
|
+
"event-series-registration-{registrationId}",
|
|
6182
6061
|
"bookings"
|
|
6183
6062
|
],
|
|
6184
6063
|
auth: "user",
|
|
@@ -7867,14 +7746,14 @@ const API_ENDPOINTS$1 = {
|
|
|
7867
7746
|
errors: ["server:internal_error"]
|
|
7868
7747
|
},
|
|
7869
7748
|
portalGetWholeSeriesBookingQuestions: {
|
|
7870
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7749
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions",
|
|
7871
7750
|
method: "GET",
|
|
7872
7751
|
auth: "public",
|
|
7873
7752
|
responseKind: "json",
|
|
7874
7753
|
errors: ["resource:not_found", "server:internal_error"]
|
|
7875
7754
|
},
|
|
7876
7755
|
portalUpdateWholeSeriesBookingQuestions: {
|
|
7877
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7756
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions",
|
|
7878
7757
|
method: "PUT",
|
|
7879
7758
|
auth: "public",
|
|
7880
7759
|
responseKind: "json",
|
|
@@ -7885,7 +7764,7 @@ const API_ENDPOINTS$1 = {
|
|
|
7885
7764
|
]
|
|
7886
7765
|
},
|
|
7887
7766
|
portalCreateWholeSeriesBookingQuestionsUploadUrl: {
|
|
7888
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7767
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions/upload-url",
|
|
7889
7768
|
method: "POST",
|
|
7890
7769
|
auth: "public",
|
|
7891
7770
|
responseKind: "json",
|
|
@@ -7896,7 +7775,7 @@ const API_ENDPOINTS$1 = {
|
|
|
7896
7775
|
]
|
|
7897
7776
|
},
|
|
7898
7777
|
portalFinalizeWholeSeriesBookingQuestionsUpload: {
|
|
7899
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7778
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions/upload",
|
|
7900
7779
|
method: "POST",
|
|
7901
7780
|
auth: "public",
|
|
7902
7781
|
responseKind: "json",
|
|
@@ -7907,7 +7786,7 @@ const API_ENDPOINTS$1 = {
|
|
|
7907
7786
|
]
|
|
7908
7787
|
},
|
|
7909
7788
|
portalCancelWholeSeriesRegistration: {
|
|
7910
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7789
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/cancel",
|
|
7911
7790
|
method: "POST",
|
|
7912
7791
|
auth: "public",
|
|
7913
7792
|
responseKind: "json",
|
|
@@ -8401,7 +8280,7 @@ function publicEventPricingType(pricing) {
|
|
|
8401
8280
|
case "single_paid":
|
|
8402
8281
|
case "ticket_types":
|
|
8403
8282
|
case "sliding_scale":
|
|
8404
|
-
case "
|
|
8283
|
+
case "whole_series": return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
8405
8284
|
case "external": return "external";
|
|
8406
8285
|
}
|
|
8407
8286
|
}
|
|
@@ -8412,14 +8291,14 @@ function publicEventPricingCurrency(pricing) {
|
|
|
8412
8291
|
case "single_paid":
|
|
8413
8292
|
case "ticket_types":
|
|
8414
8293
|
case "sliding_scale": return pricing.currency;
|
|
8415
|
-
case "
|
|
8294
|
+
case "whole_series": return pricing.display.display.currency;
|
|
8416
8295
|
case "external": return null;
|
|
8417
8296
|
}
|
|
8418
8297
|
}
|
|
8419
8298
|
function isFreePublicEventPriceDisplay(display) {
|
|
8420
8299
|
switch (display.kind) {
|
|
8421
8300
|
case "free": return true;
|
|
8422
|
-
case "
|
|
8301
|
+
case "whole_series": return display.display.kind === "free";
|
|
8423
8302
|
case "exact":
|
|
8424
8303
|
case "from":
|
|
8425
8304
|
case "range":
|
|
@@ -8455,7 +8334,7 @@ function formatBookingPriceDisplay(display, options = {}) {
|
|
|
8455
8334
|
case "mixed": return display.paidToAmount > display.paidFromAmount ? `Free / ${formatCurrencyAmount(display.paidFromAmount, display.currency, options)} - ${formatCurrencyAmount(display.paidToAmount, display.currency, options)}` : `Free / ${formatCurrencyAmount(display.paidFromAmount, display.currency, options)}`;
|
|
8456
8335
|
case "unavailable": return "Pricing unavailable";
|
|
8457
8336
|
case "external": return display.label;
|
|
8458
|
-
case "
|
|
8337
|
+
case "whole_series": return formatCoursePriceDisplayLabel(display.display, options);
|
|
8459
8338
|
default: return assertNever$24(display);
|
|
8460
8339
|
}
|
|
8461
8340
|
}
|
|
@@ -9176,6 +9055,68 @@ z$1.object({
|
|
|
9176
9055
|
monthlyCurrency: z$1.literal("gbp")
|
|
9177
9056
|
});
|
|
9178
9057
|
//#endregion
|
|
9058
|
+
//#region ../blocks/src/system/types/link.ts
|
|
9059
|
+
const nullableString = z$1.union([z$1.string().min(1), z$1.null()]);
|
|
9060
|
+
const RESOLVED_INTERNAL_LINK_ENTITY_TYPES = [
|
|
9061
|
+
"page",
|
|
9062
|
+
"content",
|
|
9063
|
+
"pageSurface"
|
|
9064
|
+
];
|
|
9065
|
+
const resolvedInternalLinkKeys = [
|
|
9066
|
+
"entityId",
|
|
9067
|
+
"entityType",
|
|
9068
|
+
"href",
|
|
9069
|
+
"title",
|
|
9070
|
+
"typeLabel"
|
|
9071
|
+
];
|
|
9072
|
+
const internalRouteOnlyLinkSchema = z$1.object({
|
|
9073
|
+
kind: z$1.literal("internal"),
|
|
9074
|
+
routeId: z$1.string().min(1)
|
|
9075
|
+
}).passthrough().superRefine((value, ctx) => {
|
|
9076
|
+
if (!resolvedInternalLinkKeys.some((key) => value[key] != null)) return;
|
|
9077
|
+
ctx.addIssue({
|
|
9078
|
+
code: "custom",
|
|
9079
|
+
message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
|
|
9080
|
+
});
|
|
9081
|
+
});
|
|
9082
|
+
const internalResolvedLinkSchema = z$1.object({
|
|
9083
|
+
kind: z$1.literal("internal"),
|
|
9084
|
+
routeId: z$1.string().min(1),
|
|
9085
|
+
entityId: z$1.string().min(1),
|
|
9086
|
+
entityType: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
9087
|
+
href: z$1.string().min(1),
|
|
9088
|
+
title: z$1.string().min(1),
|
|
9089
|
+
typeLabel: z$1.string().min(1),
|
|
9090
|
+
contentTypeKey: nullableString.optional(),
|
|
9091
|
+
contentTypeName: nullableString.optional(),
|
|
9092
|
+
updatedAt: nullableString.optional()
|
|
9093
|
+
}).passthrough();
|
|
9094
|
+
const internalLinkSchema = z$1.union([internalResolvedLinkSchema, internalRouteOnlyLinkSchema]);
|
|
9095
|
+
const externalLinkSchema$1 = z$1.object({
|
|
9096
|
+
kind: z$1.literal("external"),
|
|
9097
|
+
href: z$1.string().min(1)
|
|
9098
|
+
}).passthrough();
|
|
9099
|
+
const customLinkSchema$1 = z$1.object({
|
|
9100
|
+
kind: z$1.literal("url"),
|
|
9101
|
+
href: z$1.string().min(1)
|
|
9102
|
+
}).passthrough();
|
|
9103
|
+
const pageLinkSchema$1 = z$1.object({
|
|
9104
|
+
kind: z$1.literal("page"),
|
|
9105
|
+
identifier: z$1.string().min(1)
|
|
9106
|
+
}).passthrough();
|
|
9107
|
+
const entryLinkSchema$1 = z$1.object({
|
|
9108
|
+
kind: z$1.literal("entry"),
|
|
9109
|
+
contentType: z$1.string().min(1),
|
|
9110
|
+
identifier: z$1.string().min(1)
|
|
9111
|
+
}).passthrough();
|
|
9112
|
+
const linkSchema = z$1.union([
|
|
9113
|
+
internalLinkSchema,
|
|
9114
|
+
externalLinkSchema$1,
|
|
9115
|
+
customLinkSchema$1,
|
|
9116
|
+
pageLinkSchema$1,
|
|
9117
|
+
entryLinkSchema$1
|
|
9118
|
+
]);
|
|
9119
|
+
//#endregion
|
|
9179
9120
|
//#region ../api/src/navigation/contracts.ts
|
|
9180
9121
|
/**
|
|
9181
9122
|
* Canonical navigation/link Zod contracts.
|
|
@@ -9205,7 +9146,7 @@ const internalLinkPayloadSchema = z$1.object({
|
|
|
9205
9146
|
kind: z$1.literal("internal"),
|
|
9206
9147
|
routeId: z$1.string().uuid(),
|
|
9207
9148
|
entityId: z$1.string().uuid(),
|
|
9208
|
-
entityType: z$1.enum(
|
|
9149
|
+
entityType: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
9209
9150
|
href: z$1.string().min(1),
|
|
9210
9151
|
title: z$1.string().min(1),
|
|
9211
9152
|
typeLabel: z$1.string().min(1),
|
|
@@ -9213,37 +9154,37 @@ const internalLinkPayloadSchema = z$1.object({
|
|
|
9213
9154
|
contentTypeName: z$1.string().nullable().optional(),
|
|
9214
9155
|
updatedAt: z$1.string().nullable().optional()
|
|
9215
9156
|
}).passthrough();
|
|
9216
|
-
const externalLinkSchema
|
|
9157
|
+
const externalLinkSchema = z$1.object({
|
|
9217
9158
|
kind: z$1.literal("external"),
|
|
9218
9159
|
href: z$1.string().url()
|
|
9219
9160
|
});
|
|
9220
|
-
const customLinkSchema
|
|
9161
|
+
const customLinkSchema = z$1.object({
|
|
9221
9162
|
kind: z$1.literal("url"),
|
|
9222
9163
|
href: z$1.string().min(1)
|
|
9223
9164
|
});
|
|
9224
|
-
const pageLinkSchema
|
|
9165
|
+
const pageLinkSchema = z$1.object({
|
|
9225
9166
|
kind: z$1.literal("page"),
|
|
9226
9167
|
identifier: z$1.string().min(1)
|
|
9227
9168
|
});
|
|
9228
|
-
const entryLinkSchema
|
|
9169
|
+
const entryLinkSchema = z$1.object({
|
|
9229
9170
|
kind: z$1.literal("entry"),
|
|
9230
9171
|
contentType: z$1.string().min(1),
|
|
9231
9172
|
identifier: z$1.string().min(1)
|
|
9232
9173
|
});
|
|
9233
9174
|
const linkPayloadSchema = z$1.discriminatedUnion("kind", [
|
|
9234
9175
|
internalLinkPayloadSchema,
|
|
9235
|
-
pageLinkSchema
|
|
9236
|
-
entryLinkSchema
|
|
9237
|
-
externalLinkSchema
|
|
9238
|
-
customLinkSchema
|
|
9176
|
+
pageLinkSchema,
|
|
9177
|
+
entryLinkSchema,
|
|
9178
|
+
externalLinkSchema,
|
|
9179
|
+
customLinkSchema,
|
|
9239
9180
|
portalLinkPayloadSchema,
|
|
9240
9181
|
cartLinkPayloadSchema
|
|
9241
9182
|
]);
|
|
9242
9183
|
const navigationLinkInputSchemaOptions = [
|
|
9243
|
-
pageLinkSchema
|
|
9244
|
-
entryLinkSchema
|
|
9245
|
-
externalLinkSchema
|
|
9246
|
-
customLinkSchema
|
|
9184
|
+
pageLinkSchema,
|
|
9185
|
+
entryLinkSchema,
|
|
9186
|
+
externalLinkSchema,
|
|
9187
|
+
customLinkSchema,
|
|
9247
9188
|
portalLinkPayloadSchema,
|
|
9248
9189
|
cartLinkPayloadSchema
|
|
9249
9190
|
];
|
|
@@ -18868,63 +18809,6 @@ z$1.object({
|
|
|
18868
18809
|
themes: z$1.array(themeSchema).length(3)
|
|
18869
18810
|
});
|
|
18870
18811
|
//#endregion
|
|
18871
|
-
//#region ../blocks/src/system/types/link.ts
|
|
18872
|
-
const nullableString = z$1.union([z$1.string().min(1), z$1.null()]);
|
|
18873
|
-
const resolvedInternalLinkKeys = [
|
|
18874
|
-
"entityId",
|
|
18875
|
-
"entityType",
|
|
18876
|
-
"href",
|
|
18877
|
-
"title",
|
|
18878
|
-
"typeLabel"
|
|
18879
|
-
];
|
|
18880
|
-
const internalRouteOnlyLinkSchema = z$1.object({
|
|
18881
|
-
kind: z$1.literal("internal"),
|
|
18882
|
-
routeId: z$1.string().min(1)
|
|
18883
|
-
}).passthrough().superRefine((value, ctx) => {
|
|
18884
|
-
if (!resolvedInternalLinkKeys.some((key) => value[key] != null)) return;
|
|
18885
|
-
ctx.addIssue({
|
|
18886
|
-
code: "custom",
|
|
18887
|
-
message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
|
|
18888
|
-
});
|
|
18889
|
-
});
|
|
18890
|
-
const internalResolvedLinkSchema = z$1.object({
|
|
18891
|
-
kind: z$1.literal("internal"),
|
|
18892
|
-
routeId: z$1.string().min(1),
|
|
18893
|
-
entityId: z$1.string().min(1),
|
|
18894
|
-
entityType: z$1.enum(["page", "content"]),
|
|
18895
|
-
href: z$1.string().min(1),
|
|
18896
|
-
title: z$1.string().min(1),
|
|
18897
|
-
typeLabel: z$1.string().min(1),
|
|
18898
|
-
contentTypeKey: nullableString.optional(),
|
|
18899
|
-
contentTypeName: nullableString.optional(),
|
|
18900
|
-
updatedAt: nullableString.optional()
|
|
18901
|
-
}).passthrough();
|
|
18902
|
-
const internalLinkSchema = z$1.union([internalResolvedLinkSchema, internalRouteOnlyLinkSchema]);
|
|
18903
|
-
const externalLinkSchema = z$1.object({
|
|
18904
|
-
kind: z$1.literal("external"),
|
|
18905
|
-
href: z$1.string().min(1)
|
|
18906
|
-
}).passthrough();
|
|
18907
|
-
const customLinkSchema = z$1.object({
|
|
18908
|
-
kind: z$1.literal("url"),
|
|
18909
|
-
href: z$1.string().min(1)
|
|
18910
|
-
}).passthrough();
|
|
18911
|
-
const pageLinkSchema = z$1.object({
|
|
18912
|
-
kind: z$1.literal("page"),
|
|
18913
|
-
identifier: z$1.string().min(1)
|
|
18914
|
-
}).passthrough();
|
|
18915
|
-
const entryLinkSchema = z$1.object({
|
|
18916
|
-
kind: z$1.literal("entry"),
|
|
18917
|
-
contentType: z$1.string().min(1),
|
|
18918
|
-
identifier: z$1.string().min(1)
|
|
18919
|
-
}).passthrough();
|
|
18920
|
-
const linkSchema = z$1.union([
|
|
18921
|
-
internalLinkSchema,
|
|
18922
|
-
externalLinkSchema,
|
|
18923
|
-
customLinkSchema,
|
|
18924
|
-
pageLinkSchema,
|
|
18925
|
-
entryLinkSchema
|
|
18926
|
-
]);
|
|
18927
|
-
//#endregion
|
|
18928
18812
|
//#region ../media-core/src/fileSafety.ts
|
|
18929
18813
|
const CONTROL_CHARACTER_PATTERN = /[\u0000-\u001f\u007f]/u;
|
|
18930
18814
|
function containsUnsafePathSegmentCharacter(value) {
|
|
@@ -23402,7 +23286,7 @@ defineBlockAppearancePreset({
|
|
|
23402
23286
|
id: "schedule-details-brand-depth",
|
|
23403
23287
|
target: "events",
|
|
23404
23288
|
label: "Brand-depth schedule details",
|
|
23405
|
-
blockKinds: ["block.event-details"
|
|
23289
|
+
blockKinds: ["block.event-details"],
|
|
23406
23290
|
design: {
|
|
23407
23291
|
sectionSurface: "brand-depth-band",
|
|
23408
23292
|
contentFrame: plainFrame,
|
|
@@ -30019,7 +29903,6 @@ const productDetail = (props, children, ...mods) => el("product-detail", props,
|
|
|
30019
29903
|
const cart = (props, children, ...mods) => el("cart", props, children, ...mods);
|
|
30020
29904
|
const checkout = (props, children, ...mods) => el("checkout", props, children, ...mods);
|
|
30021
29905
|
const gifting = (props, children, ...mods) => el("gifting", props, children, ...mods);
|
|
30022
|
-
const courseRegistration = (props, children, ...mods) => el("course-registration", props, children, ...mods);
|
|
30023
29906
|
function bind(from, options) {
|
|
30024
29907
|
return (node) => ({
|
|
30025
29908
|
...node,
|
|
@@ -40111,12 +39994,12 @@ const weeklySlotAvailabilityBlockDefinition = {
|
|
|
40111
39994
|
};
|
|
40112
39995
|
//#endregion
|
|
40113
39996
|
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
40114
|
-
const bookingDepositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
40115
|
-
const bookingInstalmentPlanSchema = z$1.union([
|
|
39997
|
+
const bookingDepositRefundPolicySchema$1 = z$1.enum(["refundable", "non_refundable"]);
|
|
39998
|
+
const bookingInstalmentPlanSchema$1 = z$1.union([
|
|
40116
39999
|
z$1.object({
|
|
40117
40000
|
kind: z$1.literal("deposit_plus_one_remainder"),
|
|
40118
40001
|
depositAmountCents: z$1.number().int().min(0),
|
|
40119
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
40002
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
40120
40003
|
remainderDueCount: z$1.number().int().positive(),
|
|
40121
40004
|
intervalUnit: z$1.enum([
|
|
40122
40005
|
"day",
|
|
@@ -40127,7 +40010,7 @@ const bookingInstalmentPlanSchema = z$1.union([
|
|
|
40127
40010
|
z$1.object({
|
|
40128
40011
|
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
40129
40012
|
depositAmountCents: z$1.number().int().min(0),
|
|
40130
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
40013
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
40131
40014
|
instalmentCount: z$1.number().int().positive(),
|
|
40132
40015
|
intervalCount: z$1.number().int().positive(),
|
|
40133
40016
|
intervalUnit: z$1.enum([
|
|
@@ -40147,31 +40030,47 @@ const bookingInstalmentPlanSchema = z$1.union([
|
|
|
40147
40030
|
])
|
|
40148
40031
|
})
|
|
40149
40032
|
]);
|
|
40150
|
-
const bookingFlexibleBalanceDueDateRuleSchema = z$1.union([z$1.object({
|
|
40033
|
+
const bookingFlexibleBalanceDueDateRuleSchema$1 = z$1.union([z$1.object({
|
|
40151
40034
|
kind: z$1.literal("relative_to_start_date"),
|
|
40152
40035
|
daysBeforeStart: z$1.number().int().positive()
|
|
40153
40036
|
}), z$1.object({
|
|
40154
40037
|
kind: z$1.literal("fixed_calendar_date"),
|
|
40155
40038
|
dueAt: z$1.string().datetime()
|
|
40156
40039
|
})]);
|
|
40157
|
-
const bookingFlexibleBalanceConfigSchema = z$1.object({
|
|
40040
|
+
const bookingFlexibleBalanceConfigSchema$1 = z$1.object({
|
|
40158
40041
|
upfrontAmountCents: z$1.number().int().min(0),
|
|
40159
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
40160
|
-
depositRefundability: bookingDepositRefundPolicySchema
|
|
40042
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
|
|
40043
|
+
depositRefundability: bookingDepositRefundPolicySchema$1
|
|
40161
40044
|
});
|
|
40162
40045
|
const blockBookingPaymentCollectionOptionSchema = z$1.union([
|
|
40163
40046
|
z$1.object({ kind: z$1.literal("upfront") }),
|
|
40164
40047
|
z$1.object({ kind: z$1.literal("deferred_manual") }),
|
|
40165
40048
|
z$1.object({
|
|
40166
40049
|
kind: z$1.literal("instalment_plan"),
|
|
40167
|
-
plan: bookingInstalmentPlanSchema
|
|
40050
|
+
plan: bookingInstalmentPlanSchema$1
|
|
40168
40051
|
}),
|
|
40169
40052
|
z$1.object({
|
|
40170
40053
|
kind: z$1.literal("flexible_balance"),
|
|
40171
|
-
config: bookingFlexibleBalanceConfigSchema
|
|
40054
|
+
config: bookingFlexibleBalanceConfigSchema$1
|
|
40172
40055
|
})
|
|
40173
40056
|
]);
|
|
40174
40057
|
const blockBookingPaymentTermsSchema = z$1.object({ allowedOptions: z$1.array(blockBookingPaymentCollectionOptionSchema).min(1) });
|
|
40058
|
+
const blockBookingConsentSchema = z$1.object({
|
|
40059
|
+
requirementId: z$1.string(),
|
|
40060
|
+
title: z$1.string(),
|
|
40061
|
+
agreement: RichTextDocSchema,
|
|
40062
|
+
checkboxLabel: z$1.string()
|
|
40063
|
+
});
|
|
40064
|
+
const bookingRequirementConsentFieldSchema = z$1.object({
|
|
40065
|
+
id: z$1.string(),
|
|
40066
|
+
label: z$1.string(),
|
|
40067
|
+
type: z$1.literal("booking_requirement_consent"),
|
|
40068
|
+
required: z$1.literal(true),
|
|
40069
|
+
agreement: RichTextDocSchema,
|
|
40070
|
+
checkboxLabel: z$1.string().min(1)
|
|
40071
|
+
});
|
|
40072
|
+
/** The two live public carriers for consent copy: Event data and appointment fields. */
|
|
40073
|
+
const bookingConsentCarrierSchema = z$1.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
40175
40074
|
//#endregion
|
|
40176
40075
|
//#region ../blocks/src/system/blocks/events/whole-series/pricing.ts
|
|
40177
40076
|
function isSaleWindowOpen(option, now) {
|
|
@@ -40406,11 +40305,19 @@ const publicWholeSeriesOfferingSchema = z$1.object({
|
|
|
40406
40305
|
title: z$1.string(),
|
|
40407
40306
|
slug: z$1.string(),
|
|
40408
40307
|
description: z$1.unknown().nullable(),
|
|
40308
|
+
deliveryMode: z$1.enum([
|
|
40309
|
+
"in_person",
|
|
40310
|
+
"online",
|
|
40311
|
+
"hybrid"
|
|
40312
|
+
]),
|
|
40313
|
+
waitlistEnabled: z$1.boolean(),
|
|
40314
|
+
requireGuestDetails: z$1.boolean(),
|
|
40409
40315
|
teamMembers: z$1.array(wholeSeriesTeamMemberSummarySchema).optional(),
|
|
40410
40316
|
enrollmentOpen: z$1.boolean(),
|
|
40411
40317
|
pricing: wholeSeriesPricingSchema,
|
|
40412
40318
|
currency: z$1.string(),
|
|
40413
40319
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
40320
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
40414
40321
|
enrollmentCapacity: z$1.number().nullable(),
|
|
40415
40322
|
acceptsMemberships: z$1.boolean(),
|
|
40416
40323
|
status: z$1.enum([
|
|
@@ -40520,7 +40427,7 @@ const mixedPriceDisplaySchema = z$1.object({
|
|
|
40520
40427
|
paidToAmount: z$1.number(),
|
|
40521
40428
|
currency: z$1.string()
|
|
40522
40429
|
});
|
|
40523
|
-
const
|
|
40430
|
+
const publicWholeSeriesPriceDisplaySchema = z$1.discriminatedUnion("kind", [
|
|
40524
40431
|
freePriceDisplaySchema,
|
|
40525
40432
|
exactPriceDisplaySchema,
|
|
40526
40433
|
fromPriceDisplaySchema,
|
|
@@ -40538,8 +40445,8 @@ z$1.discriminatedUnion("kind", [
|
|
|
40538
40445
|
label: z$1.string()
|
|
40539
40446
|
}),
|
|
40540
40447
|
z$1.object({
|
|
40541
|
-
kind: z$1.literal("
|
|
40542
|
-
display:
|
|
40448
|
+
kind: z$1.literal("whole_series"),
|
|
40449
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
40543
40450
|
})
|
|
40544
40451
|
]);
|
|
40545
40452
|
const publicEventTicketTypePriceDisplaySchema = z$1.union([
|
|
@@ -40641,10 +40548,10 @@ const publicEventPricingSchema = z$1.discriminatedUnion("kind", [
|
|
|
40641
40548
|
})
|
|
40642
40549
|
}),
|
|
40643
40550
|
z$1.object({
|
|
40644
|
-
kind: z$1.literal("
|
|
40551
|
+
kind: z$1.literal("whole_series"),
|
|
40645
40552
|
display: z$1.object({
|
|
40646
|
-
kind: z$1.literal("
|
|
40647
|
-
display:
|
|
40553
|
+
kind: z$1.literal("whole_series"),
|
|
40554
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
40648
40555
|
})
|
|
40649
40556
|
}),
|
|
40650
40557
|
z$1.object({
|
|
@@ -40728,6 +40635,7 @@ const publicEventSchema = z$1.object({
|
|
|
40728
40635
|
timeZone: z$1.string(),
|
|
40729
40636
|
pricing: publicEventPricingSchema,
|
|
40730
40637
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
40638
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
40731
40639
|
accessRestriction: accessRestrictionSchema,
|
|
40732
40640
|
allowedCategoryIds: z$1.array(z$1.string()),
|
|
40733
40641
|
requireGuestDetails: z$1.boolean().optional(),
|
|
@@ -41086,7 +40994,8 @@ function resolveEventRegistrationScope(context) {
|
|
|
41086
40994
|
};
|
|
41087
40995
|
return { kind: "unscoped" };
|
|
41088
40996
|
}
|
|
41089
|
-
function
|
|
40997
|
+
function resolveEventRegistrationScopedEvents(events, context) {
|
|
40998
|
+
const scope = resolveEventRegistrationScope(context);
|
|
41090
40999
|
switch (scope.kind) {
|
|
41091
41000
|
case "occurrenceSeries":
|
|
41092
41001
|
case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
|
|
@@ -41098,8 +41007,24 @@ function applyEventRegistrationScope(events, scope) {
|
|
|
41098
41007
|
case "unscoped": return [...events];
|
|
41099
41008
|
}
|
|
41100
41009
|
}
|
|
41101
|
-
|
|
41102
|
-
|
|
41010
|
+
//#endregion
|
|
41011
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationSurface.ts
|
|
41012
|
+
function planEventRegistrationScope(input) {
|
|
41013
|
+
const subject = input.subject;
|
|
41014
|
+
const selectedRunOffering = input.wholeSeriesOffering;
|
|
41015
|
+
if (subject?.kind !== "eventOffering" || !selectedRunOffering) return {
|
|
41016
|
+
kind: "context",
|
|
41017
|
+
events: resolveEventRegistrationScopedEvents(input.events, {
|
|
41018
|
+
occurrenceContext: input.occurrenceContext,
|
|
41019
|
+
subject
|
|
41020
|
+
})
|
|
41021
|
+
};
|
|
41022
|
+
if (!(selectedRunOffering.eventOfferingId === subject.eventOfferingId && subject.availableEventSeriesIds.some((seriesId) => seriesId === selectedRunOffering.eventSeriesId))) return { kind: "invalidSelectedRun" };
|
|
41023
|
+
return {
|
|
41024
|
+
kind: "selectedRun",
|
|
41025
|
+
events: input.events.filter((event) => event.seriesId === selectedRunOffering.eventSeriesId),
|
|
41026
|
+
offering: selectedRunOffering
|
|
41027
|
+
};
|
|
41103
41028
|
}
|
|
41104
41029
|
//#endregion
|
|
41105
41030
|
//#region ../blocks/src/system/runtime/nodes/events/shared/destination.ts
|
|
@@ -41175,14 +41100,14 @@ function isRecord$22(value) {
|
|
|
41175
41100
|
}
|
|
41176
41101
|
function isPublicEventPricing(value) {
|
|
41177
41102
|
if (!isRecord$22(value) || typeof value.kind !== "string") return false;
|
|
41178
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "
|
|
41103
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "whole_series" || value.kind === "external";
|
|
41179
41104
|
}
|
|
41180
41105
|
function isPublicEventTicketType(value) {
|
|
41181
41106
|
return isRecord$22(value) && typeof value.id === "string";
|
|
41182
41107
|
}
|
|
41183
41108
|
function readTicketTypePriceDisplay(value, currency) {
|
|
41184
41109
|
const display = readLegacyPriceDisplay(value, currency);
|
|
41185
|
-
return display.kind === "
|
|
41110
|
+
return display.kind === "whole_series" || display.kind === "external" ? {
|
|
41186
41111
|
kind: "unavailable",
|
|
41187
41112
|
currency
|
|
41188
41113
|
} : display;
|
|
@@ -41240,11 +41165,11 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
41240
41165
|
kind: "unavailable",
|
|
41241
41166
|
currency: displayCurrency
|
|
41242
41167
|
};
|
|
41243
|
-
case "
|
|
41244
|
-
kind: "
|
|
41168
|
+
case "whole_series": return isRecord$22(value.display) ? {
|
|
41169
|
+
kind: "whole_series",
|
|
41245
41170
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
41246
41171
|
} : {
|
|
41247
|
-
kind: "
|
|
41172
|
+
kind: "whole_series",
|
|
41248
41173
|
display: {
|
|
41249
41174
|
kind: "unavailable",
|
|
41250
41175
|
currency: displayCurrency
|
|
@@ -41367,7 +41292,7 @@ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
|
41367
41292
|
//#endregion
|
|
41368
41293
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
41369
41294
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
41370
|
-
return event.
|
|
41295
|
+
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
41371
41296
|
}
|
|
41372
41297
|
function findPreSelectedEvent(input) {
|
|
41373
41298
|
const occurrenceContext = input.occurrenceContext;
|
|
@@ -41393,12 +41318,127 @@ function toRegistrationEvent(event) {
|
|
|
41393
41318
|
return {
|
|
41394
41319
|
...event,
|
|
41395
41320
|
pricing: resolveRuntimeEventPricing(event),
|
|
41396
|
-
|
|
41397
|
-
|
|
41321
|
+
selectionId: event.id,
|
|
41322
|
+
registrationSubject: {
|
|
41323
|
+
kind: "occurrence",
|
|
41324
|
+
occurrenceId: event.occurrenceId
|
|
41325
|
+
}
|
|
41398
41326
|
};
|
|
41399
41327
|
}
|
|
41400
41328
|
function toRegistrationEvents(events) {
|
|
41401
|
-
return events.map(toRegistrationEvent);
|
|
41329
|
+
return events.filter((event) => event.bookingScope === "single_occurrence").map(toRegistrationEvent);
|
|
41330
|
+
}
|
|
41331
|
+
function toWholeSeriesTicketType(option) {
|
|
41332
|
+
return {
|
|
41333
|
+
...option,
|
|
41334
|
+
capacityMode: option.capacityLimit === null ? "unlimited" : "limited",
|
|
41335
|
+
attendanceScope: option.attendanceScope ?? void 0,
|
|
41336
|
+
availability: {
|
|
41337
|
+
kind: "available",
|
|
41338
|
+
remainingCapacity: option.capacityLimit
|
|
41339
|
+
}
|
|
41340
|
+
};
|
|
41341
|
+
}
|
|
41342
|
+
function toWholeSeriesPricing(offering) {
|
|
41343
|
+
const resolved = resolveWholeSeriesPricingState(offering);
|
|
41344
|
+
switch (offering.pricing.pricingStrategy) {
|
|
41345
|
+
case "free": return {
|
|
41346
|
+
kind: "free_registration",
|
|
41347
|
+
currency: offering.currency,
|
|
41348
|
+
display: {
|
|
41349
|
+
kind: "free",
|
|
41350
|
+
currency: offering.currency
|
|
41351
|
+
}
|
|
41352
|
+
};
|
|
41353
|
+
case "single": {
|
|
41354
|
+
const amount = offering.pricing.singlePriceAmount ?? 0;
|
|
41355
|
+
return amount === 0 ? {
|
|
41356
|
+
kind: "free_registration",
|
|
41357
|
+
currency: offering.currency,
|
|
41358
|
+
display: {
|
|
41359
|
+
kind: "free",
|
|
41360
|
+
currency: offering.currency
|
|
41361
|
+
}
|
|
41362
|
+
} : {
|
|
41363
|
+
kind: "single_paid",
|
|
41364
|
+
amount,
|
|
41365
|
+
currency: offering.currency,
|
|
41366
|
+
display: {
|
|
41367
|
+
kind: "exact",
|
|
41368
|
+
amount,
|
|
41369
|
+
currency: offering.currency
|
|
41370
|
+
}
|
|
41371
|
+
};
|
|
41372
|
+
}
|
|
41373
|
+
case "tiered": return {
|
|
41374
|
+
kind: "ticket_types",
|
|
41375
|
+
currency: offering.currency,
|
|
41376
|
+
ticketTypes: resolved.selectableOptions.map((option) => toWholeSeriesTicketType(option)),
|
|
41377
|
+
display: resolved.display
|
|
41378
|
+
};
|
|
41379
|
+
case "sliding_scale": return {
|
|
41380
|
+
kind: "sliding_scale",
|
|
41381
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
41382
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
41383
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null,
|
|
41384
|
+
currency: offering.currency,
|
|
41385
|
+
display: {
|
|
41386
|
+
kind: "range",
|
|
41387
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
41388
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
41389
|
+
currency: offering.currency
|
|
41390
|
+
}
|
|
41391
|
+
};
|
|
41392
|
+
}
|
|
41393
|
+
}
|
|
41394
|
+
function toAttendanceModes(offering) {
|
|
41395
|
+
return (offering.deliveryMode === "hybrid" ? ["in_person", "online"] : [offering.deliveryMode]).map((mode) => ({
|
|
41396
|
+
mode,
|
|
41397
|
+
capacity: offering.enrollmentCapacity,
|
|
41398
|
+
registeredCount: offering.enrolledCount,
|
|
41399
|
+
availableSpots: offering.availableSpots,
|
|
41400
|
+
waitlistEnabled: offering.waitlistEnabled
|
|
41401
|
+
}));
|
|
41402
|
+
}
|
|
41403
|
+
function toWholeSeriesRegistrationEvent(offering) {
|
|
41404
|
+
const firstSession = offering.sessions[0];
|
|
41405
|
+
const lastSession = offering.sessions[offering.sessions.length - 1];
|
|
41406
|
+
return {
|
|
41407
|
+
selectionId: offering.eventSeriesId,
|
|
41408
|
+
registrationSubject: {
|
|
41409
|
+
kind: "wholeSeries",
|
|
41410
|
+
eventSeriesId: offering.eventSeriesId,
|
|
41411
|
+
sessions: offering.sessions
|
|
41412
|
+
},
|
|
41413
|
+
seriesId: offering.eventSeriesId,
|
|
41414
|
+
title: offering.title,
|
|
41415
|
+
startsAt: firstSession?.startsAt ?? "",
|
|
41416
|
+
endsAt: lastSession?.endsAt ?? firstSession?.endsAt ?? "",
|
|
41417
|
+
bookingAvailability: offering.enrollmentOpen ? { kind: "open" } : {
|
|
41418
|
+
kind: "closed",
|
|
41419
|
+
reason: "enrollment_closed"
|
|
41420
|
+
},
|
|
41421
|
+
deliveryMode: offering.deliveryMode,
|
|
41422
|
+
attendanceModes: toAttendanceModes(offering),
|
|
41423
|
+
capacity: offering.enrollmentCapacity,
|
|
41424
|
+
registeredCount: offering.enrolledCount,
|
|
41425
|
+
availableSpots: offering.availableSpots,
|
|
41426
|
+
waitlistEnabled: offering.waitlistEnabled,
|
|
41427
|
+
venue: offering.venue ? {
|
|
41428
|
+
...offering.venue,
|
|
41429
|
+
location: null
|
|
41430
|
+
} : null,
|
|
41431
|
+
eventCategory: null,
|
|
41432
|
+
teamMembers: offering.teamMembers,
|
|
41433
|
+
status: offering.status,
|
|
41434
|
+
timeZone: firstSession?.timeZone ?? "UTC",
|
|
41435
|
+
pricing: toWholeSeriesPricing(offering),
|
|
41436
|
+
paymentTerms: offering.paymentTerms,
|
|
41437
|
+
consent: offering.consent,
|
|
41438
|
+
requireGuestDetails: offering.requireGuestDetails,
|
|
41439
|
+
acceptsPasses: false,
|
|
41440
|
+
acceptsMemberships: offering.acceptsMemberships
|
|
41441
|
+
};
|
|
41402
41442
|
}
|
|
41403
41443
|
//#endregion
|
|
41404
41444
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
@@ -41424,11 +41464,7 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
41424
41464
|
maxTickets: z$1.string().optional(),
|
|
41425
41465
|
showVenue: z$1.boolean().optional(),
|
|
41426
41466
|
showCapacity: z$1.boolean().optional(),
|
|
41427
|
-
showSessions: z$1.boolean().optional(),
|
|
41428
|
-
showPrice: z$1.boolean().optional(),
|
|
41429
41467
|
successMessage: z$1.string().optional(),
|
|
41430
|
-
waitlistMessage: z$1.string().optional(),
|
|
41431
|
-
membershipMessage: z$1.string().optional(),
|
|
41432
41468
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
41433
41469
|
overlayEnabled: z$1.boolean().optional(),
|
|
41434
41470
|
spamProtectionEnabled: z$1.boolean().optional(),
|
|
@@ -41498,6 +41534,15 @@ function resolveWholeSeriesOffering(source) {
|
|
|
41498
41534
|
return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
|
|
41499
41535
|
}
|
|
41500
41536
|
function buildEventRegistrationShellStepLabels(source) {
|
|
41537
|
+
const selectedOffering = resolveWholeSeriesOffering(source);
|
|
41538
|
+
if (selectedOffering) {
|
|
41539
|
+
const selectedEvent = toWholeSeriesRegistrationEvent(selectedOffering);
|
|
41540
|
+
return getWizardStepsForContext(true, resolveEventRequiresPayment({
|
|
41541
|
+
eligibility: null,
|
|
41542
|
+
selectedTicketType: null,
|
|
41543
|
+
event: selectedEvent
|
|
41544
|
+
})).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
|
|
41545
|
+
}
|
|
41501
41546
|
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
41502
41547
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
41503
41548
|
const preSelectedEvent = findPreSelectedEvent({
|
|
@@ -41512,10 +41557,13 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
41512
41557
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
41513
41558
|
}
|
|
41514
41559
|
function scopeEventRegistrationEvents(source) {
|
|
41515
|
-
|
|
41560
|
+
const scope = planEventRegistrationScope({
|
|
41561
|
+
events: toRegistrationEvents(source.events ?? []),
|
|
41562
|
+
wholeSeriesOffering: source.wholeSeriesOffering,
|
|
41516
41563
|
occurrenceContext: source.occurrenceContext,
|
|
41517
41564
|
subject: source.subject
|
|
41518
41565
|
});
|
|
41566
|
+
return scope.kind === "invalidSelectedRun" ? [] : scope.events;
|
|
41519
41567
|
}
|
|
41520
41568
|
function shellLabelForRegistrationStep(step, events) {
|
|
41521
41569
|
switch (step) {
|
|
@@ -41558,11 +41606,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
41558
41606
|
maxTickets: source.maxTickets ?? void 0,
|
|
41559
41607
|
showVenue: source.showVenue,
|
|
41560
41608
|
showCapacity: source.showCapacity,
|
|
41561
|
-
showSessions: source.showSessions,
|
|
41562
|
-
showPrice: source.showPrice,
|
|
41563
41609
|
successMessage: source.successMessage,
|
|
41564
|
-
waitlistMessage: source.waitlistMessage,
|
|
41565
|
-
membershipMessage: source.membershipMessage,
|
|
41566
41610
|
buttonVariant: source.buttonVariant,
|
|
41567
41611
|
overlayEnabled: source.overlayEnabled,
|
|
41568
41612
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
@@ -41692,24 +41736,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
41692
41736
|
defaultValue: true,
|
|
41693
41737
|
ui: { intent: "display" }
|
|
41694
41738
|
},
|
|
41695
|
-
{
|
|
41696
|
-
id: "showSessions",
|
|
41697
|
-
type: "boolean",
|
|
41698
|
-
label: "Show complete schedule",
|
|
41699
|
-
description: "Display every session for whole-series registrations",
|
|
41700
|
-
required: false,
|
|
41701
|
-
defaultValue: true,
|
|
41702
|
-
ui: { intent: "display" }
|
|
41703
|
-
},
|
|
41704
|
-
{
|
|
41705
|
-
id: "showPrice",
|
|
41706
|
-
type: "boolean",
|
|
41707
|
-
label: "Show price",
|
|
41708
|
-
description: "Display the whole-series price",
|
|
41709
|
-
required: false,
|
|
41710
|
-
defaultValue: true,
|
|
41711
|
-
ui: { intent: "display" }
|
|
41712
|
-
},
|
|
41713
41739
|
{
|
|
41714
41740
|
id: "successMessage",
|
|
41715
41741
|
type: "text",
|
|
@@ -41720,26 +41746,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
41720
41746
|
defaultValue: "Thank you for registering! Check your email for confirmation details.",
|
|
41721
41747
|
maxLength: 500
|
|
41722
41748
|
},
|
|
41723
|
-
{
|
|
41724
|
-
id: "waitlistMessage",
|
|
41725
|
-
type: "text",
|
|
41726
|
-
label: "Waitlist message",
|
|
41727
|
-
description: "Message shown after joining a whole-series waitlist",
|
|
41728
|
-
required: false,
|
|
41729
|
-
multiline: true,
|
|
41730
|
-
defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
|
|
41731
|
-
maxLength: 500
|
|
41732
|
-
},
|
|
41733
|
-
{
|
|
41734
|
-
id: "membershipMessage",
|
|
41735
|
-
type: "text",
|
|
41736
|
-
label: "Membership registration message",
|
|
41737
|
-
description: "Message shown when a whole-series place is covered by membership",
|
|
41738
|
-
required: false,
|
|
41739
|
-
multiline: true,
|
|
41740
|
-
defaultValue: "Registered using your membership. Check your email for session details.",
|
|
41741
|
-
maxLength: 500
|
|
41742
|
-
},
|
|
41743
41749
|
{
|
|
41744
41750
|
id: "buttonText",
|
|
41745
41751
|
type: "text",
|
|
@@ -41771,11 +41777,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
41771
41777
|
} },
|
|
41772
41778
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
41773
41779
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
41774
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
41775
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
41776
41780
|
successMessage: { $bind: { from: "content.successMessage" } },
|
|
41777
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
41778
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
41779
41781
|
buttonText: { $bind: {
|
|
41780
41782
|
from: "content.buttonText",
|
|
41781
41783
|
fallback: "Complete Registration"
|
|
@@ -41892,267 +41894,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
41892
41894
|
}
|
|
41893
41895
|
};
|
|
41894
41896
|
//#endregion
|
|
41895
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
41896
|
-
const courseRegistrationHydrationSchemaShape = {
|
|
41897
|
-
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
41898
|
-
courses: z$1.array(publicWholeSeriesOfferingSchema).nullable().optional(),
|
|
41899
|
-
showSessions: z$1.boolean().optional(),
|
|
41900
|
-
showPrice: z$1.boolean().optional(),
|
|
41901
|
-
showCapacity: z$1.boolean().optional(),
|
|
41902
|
-
showVenue: z$1.boolean().optional(),
|
|
41903
|
-
successMessage: z$1.string().optional(),
|
|
41904
|
-
waitlistMessage: z$1.string().optional(),
|
|
41905
|
-
membershipMessage: z$1.string().optional(),
|
|
41906
|
-
buttonVariant: registrationButtonVariantSchema.optional()
|
|
41907
|
-
};
|
|
41908
|
-
const courseRegistrationSourceSchema = z$1.object({
|
|
41909
|
-
siteId: z$1.string().optional(),
|
|
41910
|
-
apiBaseUrl: z$1.string().optional(),
|
|
41911
|
-
portalToken: z$1.string().nullable().optional(),
|
|
41912
|
-
...courseRegistrationHydrationSchemaShape,
|
|
41913
|
-
className: z$1.string().nullable().optional(),
|
|
41914
|
-
buttonText: z$1.string().nullable().optional(),
|
|
41915
|
-
stage: previewStageSchema.optional()
|
|
41916
|
-
});
|
|
41917
|
-
const courseRegistrationDisplaySchema = z$1.object({
|
|
41918
|
-
kind: z$1.literal("course-registration"),
|
|
41919
|
-
state: z$1.literal("shell"),
|
|
41920
|
-
className: z$1.string().nullable(),
|
|
41921
|
-
summaryButtonText: z$1.string()
|
|
41922
|
-
});
|
|
41923
|
-
const courseRegistrationHydrationSchema = z$1.object(courseRegistrationHydrationSchemaShape);
|
|
41924
|
-
const courseRegistrationRenderSchema = z$1.object({
|
|
41925
|
-
display: courseRegistrationDisplaySchema,
|
|
41926
|
-
hydration: courseRegistrationHydrationSchema
|
|
41927
|
-
});
|
|
41928
|
-
z$1.object({
|
|
41929
|
-
siteId: z$1.string().optional(),
|
|
41930
|
-
apiBaseUrl: z$1.string().optional(),
|
|
41931
|
-
portalToken: z$1.string().nullable().optional(),
|
|
41932
|
-
stage: previewStageSchema.optional()
|
|
41933
|
-
});
|
|
41934
|
-
function buildCourseRegistrationDisplay(source) {
|
|
41935
|
-
return {
|
|
41936
|
-
kind: "course-registration",
|
|
41937
|
-
state: "shell",
|
|
41938
|
-
className: source.className ?? null,
|
|
41939
|
-
summaryButtonText: source.buttonText?.trim() || "Sign up"
|
|
41940
|
-
};
|
|
41941
|
-
}
|
|
41942
|
-
const courseRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
41943
|
-
kind: "client-owned",
|
|
41944
|
-
contracts: {
|
|
41945
|
-
source: createZodCodec(courseRegistrationSourceSchema),
|
|
41946
|
-
render: createZodCodec(courseRegistrationRenderSchema)
|
|
41947
|
-
},
|
|
41948
|
-
buildRender: (source) => ({
|
|
41949
|
-
display: buildCourseRegistrationDisplay(source),
|
|
41950
|
-
hydration: {
|
|
41951
|
-
subject: source.subject ?? null,
|
|
41952
|
-
courses: source.courses ?? null,
|
|
41953
|
-
showSessions: source.showSessions,
|
|
41954
|
-
showPrice: source.showPrice,
|
|
41955
|
-
showCapacity: source.showCapacity,
|
|
41956
|
-
showVenue: source.showVenue,
|
|
41957
|
-
successMessage: source.successMessage,
|
|
41958
|
-
waitlistMessage: source.waitlistMessage,
|
|
41959
|
-
membershipMessage: source.membershipMessage,
|
|
41960
|
-
buttonVariant: source.buttonVariant
|
|
41961
|
-
}
|
|
41962
|
-
})
|
|
41963
|
-
});
|
|
41964
|
-
function buildCourseRegistrationInteractiveIslandProps(props) {
|
|
41965
|
-
return buildInteractiveIslandProps({
|
|
41966
|
-
runtime: courseRegistrationBlockRuntime,
|
|
41967
|
-
mode: "course-registration",
|
|
41968
|
-
meta: {
|
|
41969
|
-
siteId: props.siteId,
|
|
41970
|
-
apiBaseUrl: props.apiBaseUrl,
|
|
41971
|
-
portalToken: props.portalToken,
|
|
41972
|
-
stage: props.stage
|
|
41973
|
-
},
|
|
41974
|
-
source: props
|
|
41975
|
-
});
|
|
41976
|
-
}
|
|
41977
|
-
const courseRegistrationBlockDefinition = {
|
|
41978
|
-
manifest: createBlockManifest({
|
|
41979
|
-
id: "block.course-registration",
|
|
41980
|
-
version: "1.0.0",
|
|
41981
|
-
title: "Course Registration",
|
|
41982
|
-
titleSource: "heading",
|
|
41983
|
-
description: "Enrollment form for multi-session courses",
|
|
41984
|
-
category: "interactive",
|
|
41985
|
-
contentSource: { kind: "inline" },
|
|
41986
|
-
tags: [
|
|
41987
|
-
"courses",
|
|
41988
|
-
"enrollment",
|
|
41989
|
-
"booking",
|
|
41990
|
-
"form",
|
|
41991
|
-
"signup",
|
|
41992
|
-
"education"
|
|
41993
|
-
],
|
|
41994
|
-
icon: "GraduationCap",
|
|
41995
|
-
styleTokens: {
|
|
41996
|
-
background: "surface",
|
|
41997
|
-
typography: "body",
|
|
41998
|
-
spacing: "md"
|
|
41999
|
-
},
|
|
42000
|
-
behaviours: {
|
|
42001
|
-
supportsThemeSwitching: true,
|
|
42002
|
-
inlineEditing: false,
|
|
42003
|
-
animation: false,
|
|
42004
|
-
paletteHidden: false
|
|
42005
|
-
},
|
|
42006
|
-
additionalFields: [
|
|
42007
|
-
{
|
|
42008
|
-
id: "heading",
|
|
42009
|
-
type: "text",
|
|
42010
|
-
label: "Heading",
|
|
42011
|
-
description: "Main heading for the registration form",
|
|
42012
|
-
required: false,
|
|
42013
|
-
multiline: false,
|
|
42014
|
-
defaultValue: "Sign up"
|
|
42015
|
-
},
|
|
42016
|
-
{
|
|
42017
|
-
id: "description",
|
|
42018
|
-
type: "richText",
|
|
42019
|
-
label: "Description",
|
|
42020
|
-
description: "Optional introductory text",
|
|
42021
|
-
required: false
|
|
42022
|
-
},
|
|
42023
|
-
{
|
|
42024
|
-
id: "showSessions",
|
|
42025
|
-
type: "boolean",
|
|
42026
|
-
label: "Show sessions",
|
|
42027
|
-
description: "Display the list of course sessions",
|
|
42028
|
-
required: false,
|
|
42029
|
-
defaultValue: true,
|
|
42030
|
-
ui: { intent: "display" }
|
|
42031
|
-
},
|
|
42032
|
-
{
|
|
42033
|
-
id: "showPrice",
|
|
42034
|
-
type: "boolean",
|
|
42035
|
-
label: "Show price",
|
|
42036
|
-
description: "Display the course price",
|
|
42037
|
-
required: false,
|
|
42038
|
-
defaultValue: true,
|
|
42039
|
-
ui: { intent: "display" }
|
|
42040
|
-
},
|
|
42041
|
-
{
|
|
42042
|
-
id: "showCapacity",
|
|
42043
|
-
type: "boolean",
|
|
42044
|
-
label: "Show available spots",
|
|
42045
|
-
description: "Display remaining enrollment capacity",
|
|
42046
|
-
required: false,
|
|
42047
|
-
defaultValue: true,
|
|
42048
|
-
ui: { intent: "display" }
|
|
42049
|
-
},
|
|
42050
|
-
{
|
|
42051
|
-
id: "showVenue",
|
|
42052
|
-
type: "boolean",
|
|
42053
|
-
label: "Show venue",
|
|
42054
|
-
description: "Display venue information",
|
|
42055
|
-
required: false,
|
|
42056
|
-
defaultValue: true,
|
|
42057
|
-
ui: { intent: "display" }
|
|
42058
|
-
},
|
|
42059
|
-
{
|
|
42060
|
-
id: "successMessage",
|
|
42061
|
-
type: "text",
|
|
42062
|
-
label: "Success message",
|
|
42063
|
-
description: "Message shown after successful enrollment",
|
|
42064
|
-
required: false,
|
|
42065
|
-
multiline: true,
|
|
42066
|
-
defaultValue: "You're enrolled! Check your email for confirmation and session details.",
|
|
42067
|
-
maxLength: 500
|
|
42068
|
-
},
|
|
42069
|
-
{
|
|
42070
|
-
id: "waitlistMessage",
|
|
42071
|
-
type: "text",
|
|
42072
|
-
label: "Waitlist message",
|
|
42073
|
-
description: "Message when added to waitlist",
|
|
42074
|
-
required: false,
|
|
42075
|
-
multiline: true,
|
|
42076
|
-
defaultValue: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
42077
|
-
maxLength: 500
|
|
42078
|
-
},
|
|
42079
|
-
{
|
|
42080
|
-
id: "membershipMessage",
|
|
42081
|
-
type: "text",
|
|
42082
|
-
label: "Membership enrollment message",
|
|
42083
|
-
description: "Message when enrolled using a membership",
|
|
42084
|
-
required: false,
|
|
42085
|
-
multiline: true,
|
|
42086
|
-
defaultValue: "Enrolled using your membership! Check your email for session details.",
|
|
42087
|
-
maxLength: 500
|
|
42088
|
-
},
|
|
42089
|
-
{
|
|
42090
|
-
id: "buttonText",
|
|
42091
|
-
type: "text",
|
|
42092
|
-
label: "Submit button text",
|
|
42093
|
-
description: "Text for the enrollment submit button",
|
|
42094
|
-
required: false,
|
|
42095
|
-
multiline: false,
|
|
42096
|
-
defaultValue: "Sign up",
|
|
42097
|
-
maxLength: 40
|
|
42098
|
-
},
|
|
42099
|
-
createButtonVariantField()
|
|
42100
|
-
],
|
|
42101
|
-
layout: [styledSection({
|
|
42102
|
-
baseClass: "",
|
|
42103
|
-
spacing: "spacious",
|
|
42104
|
-
children: sectionContainer([
|
|
42105
|
-
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
42106
|
-
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
42107
|
-
courseRegistration(withApiBindings({
|
|
42108
|
-
subject: { $bind: {
|
|
42109
|
-
from: "$root.subject",
|
|
42110
|
-
fallback: null
|
|
42111
|
-
} },
|
|
42112
|
-
portalToken: { $bind: {
|
|
42113
|
-
from: "$root.portalToken",
|
|
42114
|
-
fallback: null
|
|
42115
|
-
} },
|
|
42116
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
42117
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
42118
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
42119
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
42120
|
-
successMessage: { $bind: { from: "content.successMessage" } },
|
|
42121
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
42122
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
42123
|
-
buttonText: { $bind: {
|
|
42124
|
-
from: "content.buttonText",
|
|
42125
|
-
fallback: "Sign up"
|
|
42126
|
-
} },
|
|
42127
|
-
buttonVariant: { $bind: {
|
|
42128
|
-
from: "content.buttonVariant",
|
|
42129
|
-
fallback: "primary"
|
|
42130
|
-
} },
|
|
42131
|
-
courses: { $bind: { from: "data.courses" } },
|
|
42132
|
-
stage: { $bind: {
|
|
42133
|
-
from: "$root.previewStage",
|
|
42134
|
-
fallback: "published"
|
|
42135
|
-
} }
|
|
42136
|
-
}))
|
|
42137
|
-
], { gap: "lg" })
|
|
42138
|
-
})]
|
|
42139
|
-
}),
|
|
42140
|
-
runtime: courseRegistrationBlockRuntime,
|
|
42141
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
42142
|
-
dataLoaders: { courses: {
|
|
42143
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
42144
|
-
params: {
|
|
42145
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
42146
|
-
limit: "50",
|
|
42147
|
-
stage: { $bind: {
|
|
42148
|
-
from: "$root.previewStage",
|
|
42149
|
-
fallback: "published"
|
|
42150
|
-
} }
|
|
42151
|
-
},
|
|
42152
|
-
mode: "server"
|
|
42153
|
-
} }
|
|
42154
|
-
};
|
|
42155
|
-
//#endregion
|
|
42156
41897
|
//#region ../blocks/src/system/blocks/event-details.ts
|
|
42157
41898
|
/**
|
|
42158
41899
|
* Event Details Block
|
|
@@ -42399,200 +42140,6 @@ const eventDetailsBlockDefinition = {
|
|
|
42399
42140
|
mode: "server"
|
|
42400
42141
|
} }
|
|
42401
42142
|
};
|
|
42402
|
-
const courseDetailsBlockDefinition = {
|
|
42403
|
-
manifest: createBlockManifest({
|
|
42404
|
-
id: "block.course-details",
|
|
42405
|
-
version: "1.0.0",
|
|
42406
|
-
title: "Course Details",
|
|
42407
|
-
titleSource: "heading",
|
|
42408
|
-
description: "Schedule, venue, price, and enrollment status for a course",
|
|
42409
|
-
category: "content",
|
|
42410
|
-
contentSource: { kind: "entries" },
|
|
42411
|
-
tags: [
|
|
42412
|
-
"courses",
|
|
42413
|
-
"schedule",
|
|
42414
|
-
"sessions",
|
|
42415
|
-
"venue",
|
|
42416
|
-
"pricing"
|
|
42417
|
-
],
|
|
42418
|
-
icon: "GraduationCap",
|
|
42419
|
-
styleTokens: {
|
|
42420
|
-
background: "surface",
|
|
42421
|
-
typography: "body",
|
|
42422
|
-
spacing: "md"
|
|
42423
|
-
},
|
|
42424
|
-
behaviours: {
|
|
42425
|
-
supportsThemeSwitching: true,
|
|
42426
|
-
inlineEditing: false,
|
|
42427
|
-
animation: false,
|
|
42428
|
-
paletteHidden: false
|
|
42429
|
-
},
|
|
42430
|
-
additionalFields: [
|
|
42431
|
-
{
|
|
42432
|
-
id: "heading",
|
|
42433
|
-
type: "text",
|
|
42434
|
-
label: "Heading",
|
|
42435
|
-
description: "Optional heading shown above course details",
|
|
42436
|
-
required: false,
|
|
42437
|
-
multiline: false,
|
|
42438
|
-
defaultValue: "Course details"
|
|
42439
|
-
},
|
|
42440
|
-
{
|
|
42441
|
-
id: "showTitle",
|
|
42442
|
-
type: "boolean",
|
|
42443
|
-
label: "Show course title",
|
|
42444
|
-
required: false,
|
|
42445
|
-
defaultValue: false,
|
|
42446
|
-
ui: { intent: "display" }
|
|
42447
|
-
},
|
|
42448
|
-
{
|
|
42449
|
-
id: "showDescription",
|
|
42450
|
-
type: "boolean",
|
|
42451
|
-
label: "Show course description",
|
|
42452
|
-
description: "Render the course description from the bookings course record",
|
|
42453
|
-
required: false,
|
|
42454
|
-
defaultValue: false,
|
|
42455
|
-
ui: { intent: "display" }
|
|
42456
|
-
},
|
|
42457
|
-
{
|
|
42458
|
-
id: "showSessions",
|
|
42459
|
-
type: "boolean",
|
|
42460
|
-
label: "Show sessions",
|
|
42461
|
-
required: false,
|
|
42462
|
-
defaultValue: true,
|
|
42463
|
-
ui: { intent: "display" }
|
|
42464
|
-
},
|
|
42465
|
-
{
|
|
42466
|
-
id: "sessionsLimit",
|
|
42467
|
-
type: "select",
|
|
42468
|
-
label: "Sessions limit",
|
|
42469
|
-
required: false,
|
|
42470
|
-
multiple: false,
|
|
42471
|
-
defaultValue: "10",
|
|
42472
|
-
options: [
|
|
42473
|
-
{
|
|
42474
|
-
value: "3",
|
|
42475
|
-
label: "3 sessions"
|
|
42476
|
-
},
|
|
42477
|
-
{
|
|
42478
|
-
value: "5",
|
|
42479
|
-
label: "5 sessions"
|
|
42480
|
-
},
|
|
42481
|
-
{
|
|
42482
|
-
value: "10",
|
|
42483
|
-
label: "10 sessions"
|
|
42484
|
-
},
|
|
42485
|
-
{
|
|
42486
|
-
value: "all",
|
|
42487
|
-
label: "All sessions"
|
|
42488
|
-
}
|
|
42489
|
-
],
|
|
42490
|
-
ui: { intent: "display" }
|
|
42491
|
-
},
|
|
42492
|
-
{
|
|
42493
|
-
id: "showVenue",
|
|
42494
|
-
type: "boolean",
|
|
42495
|
-
label: "Show venue",
|
|
42496
|
-
required: false,
|
|
42497
|
-
defaultValue: true,
|
|
42498
|
-
ui: { intent: "display" }
|
|
42499
|
-
},
|
|
42500
|
-
{
|
|
42501
|
-
id: "showPrice",
|
|
42502
|
-
type: "boolean",
|
|
42503
|
-
label: "Show price",
|
|
42504
|
-
required: false,
|
|
42505
|
-
defaultValue: true,
|
|
42506
|
-
ui: { intent: "display" }
|
|
42507
|
-
},
|
|
42508
|
-
{
|
|
42509
|
-
id: "showCapacity",
|
|
42510
|
-
type: "boolean",
|
|
42511
|
-
label: "Show capacity",
|
|
42512
|
-
required: false,
|
|
42513
|
-
defaultValue: true,
|
|
42514
|
-
ui: { intent: "display" }
|
|
42515
|
-
},
|
|
42516
|
-
{
|
|
42517
|
-
id: "showEnrollmentStatus",
|
|
42518
|
-
type: "boolean",
|
|
42519
|
-
label: "Show enrollment status",
|
|
42520
|
-
required: false,
|
|
42521
|
-
defaultValue: true,
|
|
42522
|
-
ui: { intent: "display" }
|
|
42523
|
-
},
|
|
42524
|
-
{
|
|
42525
|
-
id: "showMembershipNote",
|
|
42526
|
-
type: "boolean",
|
|
42527
|
-
label: "Show membership note",
|
|
42528
|
-
description: "Indicate when memberships can be used for free enrollment",
|
|
42529
|
-
required: false,
|
|
42530
|
-
defaultValue: true,
|
|
42531
|
-
ui: { intent: "display" }
|
|
42532
|
-
}
|
|
42533
|
-
],
|
|
42534
|
-
layout: [styledSection({
|
|
42535
|
-
baseClass: "",
|
|
42536
|
-
spacing: "spacious",
|
|
42537
|
-
children: sectionContainer([text({ as: "h2" }, bind("content.heading"), when("content.heading")), el("course-details", {
|
|
42538
|
-
subject: { $bind: {
|
|
42539
|
-
from: "$root.subject",
|
|
42540
|
-
fallback: null
|
|
42541
|
-
} },
|
|
42542
|
-
courses: { $bind: { from: "data.courses" } },
|
|
42543
|
-
showTitle: { $bind: {
|
|
42544
|
-
from: "content.showTitle",
|
|
42545
|
-
fallback: false
|
|
42546
|
-
} },
|
|
42547
|
-
showDescription: { $bind: {
|
|
42548
|
-
from: "content.showDescription",
|
|
42549
|
-
fallback: false
|
|
42550
|
-
} },
|
|
42551
|
-
showSessions: { $bind: {
|
|
42552
|
-
from: "content.showSessions",
|
|
42553
|
-
fallback: true
|
|
42554
|
-
} },
|
|
42555
|
-
sessionsLimit: { $bind: {
|
|
42556
|
-
from: "content.sessionsLimit",
|
|
42557
|
-
fallback: "10"
|
|
42558
|
-
} },
|
|
42559
|
-
showVenue: { $bind: {
|
|
42560
|
-
from: "content.showVenue",
|
|
42561
|
-
fallback: true
|
|
42562
|
-
} },
|
|
42563
|
-
showPrice: { $bind: {
|
|
42564
|
-
from: "content.showPrice",
|
|
42565
|
-
fallback: true
|
|
42566
|
-
} },
|
|
42567
|
-
showCapacity: { $bind: {
|
|
42568
|
-
from: "content.showCapacity",
|
|
42569
|
-
fallback: true
|
|
42570
|
-
} },
|
|
42571
|
-
showEnrollmentStatus: { $bind: {
|
|
42572
|
-
from: "content.showEnrollmentStatus",
|
|
42573
|
-
fallback: true
|
|
42574
|
-
} },
|
|
42575
|
-
showMembershipNote: { $bind: {
|
|
42576
|
-
from: "content.showMembershipNote",
|
|
42577
|
-
fallback: true
|
|
42578
|
-
} }
|
|
42579
|
-
})], { gap: "lg" })
|
|
42580
|
-
})]
|
|
42581
|
-
}),
|
|
42582
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
42583
|
-
dataLoaders: { courses: {
|
|
42584
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
42585
|
-
params: {
|
|
42586
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
42587
|
-
limit: "50",
|
|
42588
|
-
stage: { $bind: {
|
|
42589
|
-
from: "$root.previewStage",
|
|
42590
|
-
fallback: "published"
|
|
42591
|
-
} }
|
|
42592
|
-
},
|
|
42593
|
-
mode: "server"
|
|
42594
|
-
} }
|
|
42595
|
-
};
|
|
42596
42143
|
const eventSpotlightBlockDefinition = {
|
|
42597
42144
|
manifest: createBlockManifest({
|
|
42598
42145
|
id: "block.event-spotlight",
|
|
@@ -45122,7 +44669,7 @@ const EmptyState = ({ message = "No upcoming events scheduled.", className, hasA
|
|
|
45122
44669
|
//#region ../blocks/src/system/runtime/nodes/events/shared/DateTimeTile.tsx
|
|
45123
44670
|
/**
|
|
45124
44671
|
* Shared tile content for displaying date and time range.
|
|
45125
|
-
* Used by event-details "Other dates"
|
|
44672
|
+
* Used by event-details "Other dates".
|
|
45126
44673
|
*/
|
|
45127
44674
|
function DateTimeTile({ startsAt, endsAt, timeZone }) {
|
|
45128
44675
|
const { date, timeRange } = formatEventDateParts({
|
|
@@ -47546,6 +47093,7 @@ function normalizeGroupPresentation(value) {
|
|
|
47546
47093
|
function resolveAutoCtaPath(source, routes) {
|
|
47547
47094
|
const routeByNormalizedPath = /* @__PURE__ */ new Map();
|
|
47548
47095
|
for (const route of routes ?? []) {
|
|
47096
|
+
if (route.kind === "pageSurface") continue;
|
|
47549
47097
|
const normalized = normalizeRoutePath(route.path);
|
|
47550
47098
|
if (normalized && !routeByNormalizedPath.has(normalized)) routeByNormalizedPath.set(normalized, route.path);
|
|
47551
47099
|
}
|
|
@@ -47596,7 +47144,7 @@ const publicRouteCandidatesSchema = z$1.object({ routes: z$1.array(z$1.object({
|
|
|
47596
47144
|
entityId: z$1.string(),
|
|
47597
47145
|
path: z$1.string(),
|
|
47598
47146
|
title: z$1.string(),
|
|
47599
|
-
kind: z$1.enum(
|
|
47147
|
+
kind: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
47600
47148
|
contentTypeKey: z$1.string().nullable().optional()
|
|
47601
47149
|
})) });
|
|
47602
47150
|
const groupOverrideFields = [
|
|
@@ -47873,7 +47421,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
47873
47421
|
fallback: "published"
|
|
47874
47422
|
} },
|
|
47875
47423
|
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
47876
|
-
|
|
47424
|
+
wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
|
|
47877
47425
|
...offeringsPreviewEventDataBindings
|
|
47878
47426
|
})
|
|
47879
47427
|
], { gap: "lg" }),
|
|
@@ -47890,7 +47438,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
47890
47438
|
dataSchemas: {
|
|
47891
47439
|
...offeringsPreviewEventDataSchemas,
|
|
47892
47440
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
47893
|
-
|
|
47441
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
|
|
47894
47442
|
},
|
|
47895
47443
|
dataLoaders: {
|
|
47896
47444
|
...offeringsPreviewEventDataLoaders,
|
|
@@ -47899,7 +47447,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
47899
47447
|
params: {},
|
|
47900
47448
|
mode: "server"
|
|
47901
47449
|
},
|
|
47902
|
-
|
|
47450
|
+
wholeSeriesOfferings: {
|
|
47903
47451
|
endpoint: "listPublicWholeSeriesOfferings",
|
|
47904
47452
|
params: {
|
|
47905
47453
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
@@ -53001,22 +52549,6 @@ const systemBlockDefinitions = [
|
|
|
53001
52549
|
weight: "standard"
|
|
53002
52550
|
})]
|
|
53003
52551
|
})),
|
|
53004
|
-
withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
53005
|
-
flow: conversionFlow,
|
|
53006
|
-
layoutProfiles: [layoutProfile({
|
|
53007
|
-
variantKey: "default",
|
|
53008
|
-
family: "form",
|
|
53009
|
-
weight: "standard"
|
|
53010
|
-
})]
|
|
53011
|
-
})),
|
|
53012
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
53013
|
-
flow: offeringsFlow,
|
|
53014
|
-
layoutProfiles: [layoutProfile({
|
|
53015
|
-
variantKey: "default",
|
|
53016
|
-
family: "stack",
|
|
53017
|
-
weight: "standard"
|
|
53018
|
-
})]
|
|
53019
|
-
})),
|
|
53020
52552
|
withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
|
|
53021
52553
|
flow: offeringsFlow,
|
|
53022
52554
|
layoutProfiles: [layoutProfile({
|
|
@@ -54008,7 +53540,7 @@ function normalizeRel(target, rel) {
|
|
|
54008
53540
|
tokens.add("noreferrer");
|
|
54009
53541
|
return Array.from(tokens).join(" ");
|
|
54010
53542
|
}
|
|
54011
|
-
function renderMarks(text, marks, key) {
|
|
53543
|
+
function renderMarks(text, marks, key, linkTarget) {
|
|
54012
53544
|
if (!marks || marks.length === 0) return text;
|
|
54013
53545
|
return marks.reduce((acc, mark) => {
|
|
54014
53546
|
switch (mark.type) {
|
|
@@ -54021,7 +53553,8 @@ function renderMarks(text, marks, key) {
|
|
|
54021
53553
|
const attrs = mark.attrs ?? {};
|
|
54022
53554
|
const href = sanitizeHref(attrs.href);
|
|
54023
53555
|
if (!href) return acc;
|
|
54024
|
-
const
|
|
53556
|
+
const storedTarget = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
|
|
53557
|
+
const target = linkTarget === "new-tab" ? "_blank" : storedTarget;
|
|
54025
53558
|
return /* @__PURE__ */ jsx("a", {
|
|
54026
53559
|
href,
|
|
54027
53560
|
target,
|
|
@@ -54033,14 +53566,14 @@ function renderMarks(text, marks, key) {
|
|
|
54033
53566
|
}
|
|
54034
53567
|
}, text);
|
|
54035
53568
|
}
|
|
54036
|
-
function renderDoc(node, key, imageResolveContext) {
|
|
53569
|
+
function renderDoc(node, key, imageResolveContext, linkTarget) {
|
|
54037
53570
|
if (!node || !node.type) return null;
|
|
54038
|
-
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext));
|
|
53571
|
+
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext, linkTarget));
|
|
54039
53572
|
switch (node.type) {
|
|
54040
53573
|
case "doc": return /* @__PURE__ */ jsx(Fragment, { children });
|
|
54041
53574
|
case "paragraph":
|
|
54042
53575
|
if (!children && !node.text) return /* @__PURE__ */ jsx("p", {}, key);
|
|
54043
|
-
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
|
|
53576
|
+
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key, linkTarget) }, key);
|
|
54044
53577
|
case "heading": {
|
|
54045
53578
|
const headingTag = `h${Math.min(Math.max(node.attrs?.level ?? 2, 1), 6)}`;
|
|
54046
53579
|
return React.createElement(headingTag, { key }, children);
|
|
@@ -54082,14 +53615,14 @@ function renderDoc(node, key, imageResolveContext) {
|
|
|
54082
53615
|
decoding: "async"
|
|
54083
53616
|
}, key);
|
|
54084
53617
|
}
|
|
54085
|
-
case "text": return renderMarks(node.text ?? "", node.marks, key);
|
|
53618
|
+
case "text": return renderMarks(node.text ?? "", node.marks, key, linkTarget);
|
|
54086
53619
|
default: return null;
|
|
54087
53620
|
}
|
|
54088
53621
|
}
|
|
54089
53622
|
const DEFAULT_RICH_TEXT_CLASS = "rb-prose rb-max-w-none";
|
|
54090
|
-
function RichText$1({ as: Comp = "div", className, doc, path }) {
|
|
53623
|
+
function RichText$1({ as: Comp = "div", className, doc, path, linkTarget = "stored" }) {
|
|
54091
53624
|
const imageResolveContext = getCurrentResolveImageUrlContext() ?? null;
|
|
54092
|
-
const content = doc ? renderDoc(doc, "doc", imageResolveContext) : null;
|
|
53625
|
+
const content = doc ? renderDoc(doc, "doc", imageResolveContext, linkTarget) : null;
|
|
54093
53626
|
const dataAttributes = path ? { "data-builder-richtext": path } : void 0;
|
|
54094
53627
|
return /* @__PURE__ */ jsx(Comp, {
|
|
54095
53628
|
className: className?.trim() || DEFAULT_RICH_TEXT_CLASS,
|
|
@@ -55445,7 +54978,6 @@ function readBookingFieldType(value) {
|
|
|
55445
54978
|
case "select":
|
|
55446
54979
|
case "radio":
|
|
55447
54980
|
case "checkbox":
|
|
55448
|
-
case "booking_requirement_consent":
|
|
55449
54981
|
case "tel":
|
|
55450
54982
|
case "url":
|
|
55451
54983
|
case "number":
|
|
@@ -55480,7 +55012,7 @@ function normalizeBookingSettings(value) {
|
|
|
55480
55012
|
};
|
|
55481
55013
|
}
|
|
55482
55014
|
function isBookingFormService(value) {
|
|
55483
|
-
return isRecord$13(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
55015
|
+
return isRecord$13(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string" && (value.consent === void 0 || blockBookingConsentSchema.safeParse(value.consent).success);
|
|
55484
55016
|
}
|
|
55485
55017
|
function readNonEmptyString(value) {
|
|
55486
55018
|
if (typeof value !== "string") return null;
|
|
@@ -55505,6 +55037,15 @@ const bookingFieldOptionSchema = z$1.object({
|
|
|
55505
55037
|
value: z$1.string(),
|
|
55506
55038
|
label: z$1.string()
|
|
55507
55039
|
});
|
|
55040
|
+
const standardBookingFieldRules = {
|
|
55041
|
+
options: z$1.array(bookingFieldOptionSchema).optional(),
|
|
55042
|
+
multiple: z$1.boolean().optional(),
|
|
55043
|
+
minLength: z$1.number().optional(),
|
|
55044
|
+
maxLength: z$1.number().optional(),
|
|
55045
|
+
pattern: z$1.string().optional(),
|
|
55046
|
+
min: z$1.number().optional(),
|
|
55047
|
+
max: z$1.number().optional()
|
|
55048
|
+
};
|
|
55508
55049
|
const bookingFieldSchema = z$1.object({
|
|
55509
55050
|
id: z$1.string(),
|
|
55510
55051
|
label: z$1.string(),
|
|
@@ -55515,7 +55056,6 @@ const bookingFieldSchema = z$1.object({
|
|
|
55515
55056
|
"select",
|
|
55516
55057
|
"radio",
|
|
55517
55058
|
"checkbox",
|
|
55518
|
-
"booking_requirement_consent",
|
|
55519
55059
|
"tel",
|
|
55520
55060
|
"url",
|
|
55521
55061
|
"number",
|
|
@@ -55525,13 +55065,7 @@ const bookingFieldSchema = z$1.object({
|
|
|
55525
55065
|
required: z$1.boolean().optional(),
|
|
55526
55066
|
placeholder: z$1.string().optional(),
|
|
55527
55067
|
helpText: z$1.string().optional(),
|
|
55528
|
-
|
|
55529
|
-
multiple: z$1.boolean().optional(),
|
|
55530
|
-
minLength: z$1.number().optional(),
|
|
55531
|
-
maxLength: z$1.number().optional(),
|
|
55532
|
-
pattern: z$1.string().optional(),
|
|
55533
|
-
min: z$1.number().optional(),
|
|
55534
|
-
max: z$1.number().optional()
|
|
55068
|
+
...standardBookingFieldRules
|
|
55535
55069
|
});
|
|
55536
55070
|
const bookingSettingsSchema = z$1.object({
|
|
55537
55071
|
type: z$1.literal("booking"),
|
|
@@ -55574,7 +55108,8 @@ const bookingServiceSchema = z$1.object({
|
|
|
55574
55108
|
priceAmount: z$1.number().nullable().optional(),
|
|
55575
55109
|
priceCurrency: z$1.string().nullable().optional(),
|
|
55576
55110
|
paymentTerms: blockBookingPaymentTermsSchema.optional(),
|
|
55577
|
-
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
|
|
55111
|
+
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional(),
|
|
55112
|
+
consent: blockBookingConsentSchema.optional()
|
|
55578
55113
|
});
|
|
55579
55114
|
const bookingServicesSourceSchema = z$1.union([
|
|
55580
55115
|
z$1.array(bookingServiceSchema),
|
|
@@ -55840,7 +55375,7 @@ function emptySelection(timeZone) {
|
|
|
55840
55375
|
timeZone
|
|
55841
55376
|
};
|
|
55842
55377
|
}
|
|
55843
|
-
function parseLimit
|
|
55378
|
+
function parseLimit(value, fallback) {
|
|
55844
55379
|
if (value === "all") return Number.MAX_SAFE_INTEGER;
|
|
55845
55380
|
const n = typeof value === "string" ? parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
55846
55381
|
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
@@ -55923,7 +55458,7 @@ function selectEventDetails(args) {
|
|
|
55923
55458
|
subject: args.subject
|
|
55924
55459
|
}));
|
|
55925
55460
|
const occurrenceContext = args.occurrenceContext ?? null;
|
|
55926
|
-
const otherLimit = parseLimit
|
|
55461
|
+
const otherLimit = parseLimit(args.otherDatesLimit, 5);
|
|
55927
55462
|
const candidate = selectEventCandidate(all, occurrenceContext, args.nowIso);
|
|
55928
55463
|
const timeZone = toBookingTimeZone(candidate?.event.timeZone ?? all[0]?.timeZone ?? null);
|
|
55929
55464
|
if (!candidate) return emptySelection(timeZone);
|
|
@@ -55999,8 +55534,8 @@ function resolveEventDetailsPresentation(input) {
|
|
|
55999
55534
|
};
|
|
56000
55535
|
}
|
|
56001
55536
|
//#endregion
|
|
56002
|
-
//#region ../blocks/src/system/runtime/nodes/event-details/
|
|
56003
|
-
function
|
|
55537
|
+
//#region ../blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.tsx
|
|
55538
|
+
function WholeSeriesPricingDisplay({ pricing, acceptedItems }) {
|
|
56004
55539
|
return /* @__PURE__ */ jsxs("div", {
|
|
56005
55540
|
className: "rb-mt-6",
|
|
56006
55541
|
children: [
|
|
@@ -56012,7 +55547,8 @@ function CoursePricingDisplay({ pricing, acceptedItems }) {
|
|
|
56012
55547
|
className: "rb-flex rb-flex-col rb-gap-2",
|
|
56013
55548
|
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
56014
55549
|
option.name,
|
|
56015
|
-
":
|
|
55550
|
+
":",
|
|
55551
|
+
" ",
|
|
56016
55552
|
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
56017
55553
|
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
56018
55554
|
className: "rb-caption status-muted",
|
|
@@ -56033,7 +55569,7 @@ function formatAutoApplyDiscountLine(preview, currency) {
|
|
|
56033
55569
|
const label = preview.publicLabel.trim() || "Discount";
|
|
56034
55570
|
return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} — ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} — ${rate} applied automatically`;
|
|
56035
55571
|
}
|
|
56036
|
-
function TeamMemberName
|
|
55572
|
+
function TeamMemberName({ name, profilePath }) {
|
|
56037
55573
|
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
56038
55574
|
href: profilePath,
|
|
56039
55575
|
className: "rb-hover-opacity-80",
|
|
@@ -56070,7 +55606,7 @@ function EventPricingDetails({ isDropIn, coursePricing, acceptedItems, eventCost
|
|
|
56070
55606
|
children: "No registration required - just show up"
|
|
56071
55607
|
})]
|
|
56072
55608
|
});
|
|
56073
|
-
if (coursePricing) return /* @__PURE__ */ jsx(
|
|
55609
|
+
if (coursePricing) return /* @__PURE__ */ jsx(WholeSeriesPricingDisplay, {
|
|
56074
55610
|
pricing: coursePricing,
|
|
56075
55611
|
acceptedItems: [...acceptedItems]
|
|
56076
55612
|
});
|
|
@@ -56145,7 +55681,7 @@ function EventFacts({ selection, selected, venue, teamMembers, pricing, showCapa
|
|
|
56145
55681
|
children: "With"
|
|
56146
55682
|
}), /* @__PURE__ */ jsx("div", {
|
|
56147
55683
|
className: "rb-flex rb-flex-col rb-gap-3",
|
|
56148
|
-
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName
|
|
55684
|
+
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
56149
55685
|
name: member.name,
|
|
56150
55686
|
profilePath: member.profilePath
|
|
56151
55687
|
}) }), member.summary ? /* @__PURE__ */ jsx("p", {
|
|
@@ -56424,352 +55960,6 @@ function LocationMapSSR(props) {
|
|
|
56424
55960
|
});
|
|
56425
55961
|
}
|
|
56426
55962
|
//#endregion
|
|
56427
|
-
//#region ../blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.ts
|
|
56428
|
-
/**
|
|
56429
|
-
* Resolves native run-page ownership without falling back to entry or slug
|
|
56430
|
-
* coincidence when a page-surface subject is present but invalid.
|
|
56431
|
-
*/
|
|
56432
|
-
function resolveWholeSeriesPageSurfaceScope(runs, subjectValue) {
|
|
56433
|
-
if (subjectValue === null || subjectValue === void 0) return { kind: "absent" };
|
|
56434
|
-
const parsed = parseEventPageSurfaceSubject(subjectValue);
|
|
56435
|
-
if (!parsed.ok) return {
|
|
56436
|
-
kind: "unsupported",
|
|
56437
|
-
reason: parsed.error.kind
|
|
56438
|
-
};
|
|
56439
|
-
const seriesIds = eventSeriesIdsForSubject(parsed.value);
|
|
56440
|
-
const allowedSeriesIds = new Set(seriesIds);
|
|
56441
|
-
return {
|
|
56442
|
-
kind: "scoped",
|
|
56443
|
-
subject: parsed.value,
|
|
56444
|
-
runs: runs.filter((run) => allowedSeriesIds.has(run.eventSeriesId))
|
|
56445
|
-
};
|
|
56446
|
-
}
|
|
56447
|
-
function eventSeriesIdsForSubject(subject) {
|
|
56448
|
-
switch (subject.kind) {
|
|
56449
|
-
case "eventSeries": return [subject.eventSeriesId];
|
|
56450
|
-
case "eventOffering": return subject.availableEventSeriesIds;
|
|
56451
|
-
default: return assertNever$24(subject);
|
|
56452
|
-
}
|
|
56453
|
-
}
|
|
56454
|
-
//#endregion
|
|
56455
|
-
//#region ../blocks/src/system/runtime/nodes/course-page-surface-scope.ts
|
|
56456
|
-
/** Temporary Course-block adapter over canonical Event run scoping. */
|
|
56457
|
-
function resolveCoursePageSurfaceScope(courses, subjectValue) {
|
|
56458
|
-
const scope = resolveWholeSeriesPageSurfaceScope(courses, subjectValue);
|
|
56459
|
-
return scope.kind === "scoped" ? {
|
|
56460
|
-
kind: "scoped",
|
|
56461
|
-
subject: scope.subject,
|
|
56462
|
-
courses: scope.runs
|
|
56463
|
-
} : scope;
|
|
56464
|
-
}
|
|
56465
|
-
//#endregion
|
|
56466
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/logic.ts
|
|
56467
|
-
function selectCourseDetails(args) {
|
|
56468
|
-
const pageSurfaceScope = resolveCoursePageSurfaceScope((args.courses ?? []).filter(Boolean), args.subject);
|
|
56469
|
-
if (pageSurfaceScope.kind === "unsupported") return {
|
|
56470
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
56471
|
-
selected: null,
|
|
56472
|
-
scoped: []
|
|
56473
|
-
};
|
|
56474
|
-
if (pageSurfaceScope.kind === "scoped") {
|
|
56475
|
-
const scoped = [...pageSurfaceScope.courses];
|
|
56476
|
-
return {
|
|
56477
|
-
mode: "pageSurfaceSubject",
|
|
56478
|
-
selected: scoped.length === 1 ? scoped[0] ?? null : null,
|
|
56479
|
-
scoped
|
|
56480
|
-
};
|
|
56481
|
-
}
|
|
56482
|
-
return {
|
|
56483
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
56484
|
-
selected: null,
|
|
56485
|
-
scoped: []
|
|
56486
|
-
};
|
|
56487
|
-
}
|
|
56488
|
-
//#endregion
|
|
56489
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/runs.ts
|
|
56490
|
-
function toValidDate(value) {
|
|
56491
|
-
if (!value) return null;
|
|
56492
|
-
const date = new Date(value);
|
|
56493
|
-
return Number.isNaN(date.getTime()) ? null : date;
|
|
56494
|
-
}
|
|
56495
|
-
function getCourseDateRange(course) {
|
|
56496
|
-
const datedSessions = (course.sessions ?? []).map((session) => ({
|
|
56497
|
-
session,
|
|
56498
|
-
start: toValidDate(session.startsAt),
|
|
56499
|
-
end: toValidDate(session.endsAt)
|
|
56500
|
-
})).filter((value) => value.start !== null || value.end !== null);
|
|
56501
|
-
if (datedSessions.length === 0) return {
|
|
56502
|
-
start: null,
|
|
56503
|
-
end: null,
|
|
56504
|
-
startIso: null,
|
|
56505
|
-
endIso: null,
|
|
56506
|
-
timeZone: null
|
|
56507
|
-
};
|
|
56508
|
-
const startSession = datedSessions.filter((value) => value.start !== null).reduce((earliest, current) => earliest === null || current.start.getTime() < earliest.start.getTime() ? current : earliest, null);
|
|
56509
|
-
const endSession = datedSessions.filter((value) => value.end !== null).reduce((latest, current) => latest === null || current.end.getTime() > latest.end.getTime() ? current : latest, null);
|
|
56510
|
-
return {
|
|
56511
|
-
start: startSession?.start ?? null,
|
|
56512
|
-
end: endSession?.end ?? null,
|
|
56513
|
-
startIso: startSession?.session.startsAt ?? null,
|
|
56514
|
-
endIso: endSession?.session.endsAt ?? null,
|
|
56515
|
-
timeZone: startSession?.session.timeZone ?? endSession?.session.timeZone ?? null
|
|
56516
|
-
};
|
|
56517
|
-
}
|
|
56518
|
-
function formatCourseDateRange(range) {
|
|
56519
|
-
const { startIso, endIso, timeZone } = range;
|
|
56520
|
-
const dateFormat = {
|
|
56521
|
-
month: "numeric",
|
|
56522
|
-
day: "numeric",
|
|
56523
|
-
year: "numeric"
|
|
56524
|
-
};
|
|
56525
|
-
const effectiveTimeZone = toBookingTimeZone(timeZone);
|
|
56526
|
-
const formatSingleDate = (iso) => formatBookingDate(toScheduledBookingDateTime({
|
|
56527
|
-
startsAt: iso,
|
|
56528
|
-
timeZone: effectiveTimeZone
|
|
56529
|
-
}), dateFormat);
|
|
56530
|
-
const formatRangeDateOnly = (startsAt, endsAt) => {
|
|
56531
|
-
const startText = formatSingleDate(startsAt);
|
|
56532
|
-
const endText = formatSingleDate(endsAt);
|
|
56533
|
-
return startText === endText ? startText : `${startText} – ${endText}`;
|
|
56534
|
-
};
|
|
56535
|
-
if (!startIso && !endIso) return "Dates TBD";
|
|
56536
|
-
if (startIso && !endIso) return formatSingleDate(startIso);
|
|
56537
|
-
if (!startIso && endIso) return formatSingleDate(endIso);
|
|
56538
|
-
if (!startIso || !endIso) return "Dates TBD";
|
|
56539
|
-
return formatRangeDateOnly(startIso, endIso);
|
|
56540
|
-
}
|
|
56541
|
-
//#endregion
|
|
56542
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/view.tsx
|
|
56543
|
-
function TeamMemberName({ name, profilePath }) {
|
|
56544
|
-
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
56545
|
-
href: profilePath,
|
|
56546
|
-
className: "rb-hover-opacity-80",
|
|
56547
|
-
children: /* @__PURE__ */ jsx("strong", { children: name })
|
|
56548
|
-
}) : /* @__PURE__ */ jsx("strong", { children: name });
|
|
56549
|
-
}
|
|
56550
|
-
function parseLimit(value, fallback) {
|
|
56551
|
-
if (value === "all") return "all";
|
|
56552
|
-
const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
56553
|
-
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
56554
|
-
}
|
|
56555
|
-
function CourseDetailsView(props) {
|
|
56556
|
-
const { course, showTitle = false, showDescription = false, showSessions = true, sessionsLimit, showVenue = true, showPrice = true, showCapacity = true, showEnrollmentStatus = true, showMembershipNote = true, emptyMessage = "Course details unavailable." } = props;
|
|
56557
|
-
if (!course) return /* @__PURE__ */ jsx("p", {
|
|
56558
|
-
className: "rb-caption status-muted",
|
|
56559
|
-
children: emptyMessage
|
|
56560
|
-
});
|
|
56561
|
-
const pricing = resolveWholeSeriesPricingState(course);
|
|
56562
|
-
const sessionLimit = parseLimit(sessionsLimit, 10);
|
|
56563
|
-
const sortedSessions = [...course.sessions ?? []].sort((a, b) => Date.parse(a.startsAt) - Date.parse(b.startsAt));
|
|
56564
|
-
const visibleSessions = sessionLimit === "all" ? sortedSessions : sortedSessions.slice(0, sessionLimit);
|
|
56565
|
-
const hasMoreSessions = sessionLimit !== "all" && sortedSessions.length > sessionLimit;
|
|
56566
|
-
const descriptionDoc = showDescription ? coerceRichTextDoc(course.description, "block-runtime:course-details:description") : null;
|
|
56567
|
-
const teamMembers = course.teamMembers ?? [];
|
|
56568
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
56569
|
-
className: "rb-flex rb-flex-col rb-gap-6",
|
|
56570
|
-
children: [
|
|
56571
|
-
showTitle && /* @__PURE__ */ jsx("h3", { children: course.title }),
|
|
56572
|
-
/* @__PURE__ */ jsxs("div", {
|
|
56573
|
-
className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2",
|
|
56574
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
56575
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
56576
|
-
children: [
|
|
56577
|
-
showPrice && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
56578
|
-
className: "rb-label rb-mb-2",
|
|
56579
|
-
children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price"
|
|
56580
|
-
}), pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx("div", {
|
|
56581
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
56582
|
-
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
56583
|
-
option.name,
|
|
56584
|
-
": ",
|
|
56585
|
-
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
56586
|
-
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
56587
|
-
className: "rb-caption status-muted",
|
|
56588
|
-
children: option.description
|
|
56589
|
-
}) : null] }, option.id))
|
|
56590
|
-
}) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: formatWholeSeriesPriceDisplay(pricing.display) }) })] }),
|
|
56591
|
-
showCapacity && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
56592
|
-
className: "rb-label rb-mb-2",
|
|
56593
|
-
children: "Spots"
|
|
56594
|
-
}), /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })] }),
|
|
56595
|
-
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
56596
|
-
className: "rb-label rb-mb-2",
|
|
56597
|
-
children: "Membership"
|
|
56598
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
56599
|
-
className: "rb-caption status-muted",
|
|
56600
|
-
children: "Eligible memberships can be used for free enrollment"
|
|
56601
|
-
})] }),
|
|
56602
|
-
teamMembers.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
56603
|
-
className: "rb-label rb-mb-2",
|
|
56604
|
-
children: "With"
|
|
56605
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
56606
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
56607
|
-
children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
56608
|
-
name: teamMember.name,
|
|
56609
|
-
profilePath: teamMember.profilePath
|
|
56610
|
-
}) }), teamMember.summary && /* @__PURE__ */ jsx("p", {
|
|
56611
|
-
className: "rb-caption status-muted",
|
|
56612
|
-
children: teamMember.summary
|
|
56613
|
-
})] }, teamMember.id))
|
|
56614
|
-
})] })
|
|
56615
|
-
]
|
|
56616
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
56617
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
56618
|
-
children: [showVenue && course.venue && /* @__PURE__ */ jsxs("div", { children: [
|
|
56619
|
-
/* @__PURE__ */ jsx("div", {
|
|
56620
|
-
className: "rb-label rb-mb-2",
|
|
56621
|
-
children: "Venue"
|
|
56622
|
-
}),
|
|
56623
|
-
/* @__PURE__ */ jsx("h3", { children: course.venue.name }),
|
|
56624
|
-
course.venue.address && /* @__PURE__ */ jsx("p", {
|
|
56625
|
-
className: "rb-caption status-muted",
|
|
56626
|
-
children: course.venue.address
|
|
56627
|
-
})
|
|
56628
|
-
] }), showEnrollmentStatus && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
56629
|
-
className: "rb-label rb-mb-2",
|
|
56630
|
-
children: "Enrollment"
|
|
56631
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
56632
|
-
className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed",
|
|
56633
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentOpen ? "Open" : "Closed" })
|
|
56634
|
-
})] })]
|
|
56635
|
-
})]
|
|
56636
|
-
}),
|
|
56637
|
-
descriptionDoc && /* @__PURE__ */ jsx("div", {
|
|
56638
|
-
className: "cd-description",
|
|
56639
|
-
children: /* @__PURE__ */ jsx(RichText$1, { doc: descriptionDoc })
|
|
56640
|
-
}),
|
|
56641
|
-
showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
56642
|
-
/* @__PURE__ */ jsx("div", {
|
|
56643
|
-
className: "rb-label",
|
|
56644
|
-
children: "Sessions"
|
|
56645
|
-
}),
|
|
56646
|
-
/* @__PURE__ */ jsx("div", {
|
|
56647
|
-
className: "rb-mt-2 rb-tiles-grid",
|
|
56648
|
-
children: visibleSessions.map((s) => /* @__PURE__ */ jsx("div", {
|
|
56649
|
-
className: "rb-tile",
|
|
56650
|
-
children: /* @__PURE__ */ jsx(DateTimeTile, {
|
|
56651
|
-
startsAt: s.startsAt,
|
|
56652
|
-
endsAt: s.endsAt
|
|
56653
|
-
})
|
|
56654
|
-
}, s.id))
|
|
56655
|
-
}),
|
|
56656
|
-
hasMoreSessions && /* @__PURE__ */ jsxs("p", {
|
|
56657
|
-
className: "cd-sessions__more",
|
|
56658
|
-
children: [
|
|
56659
|
-
"Showing ",
|
|
56660
|
-
visibleSessions.length,
|
|
56661
|
-
" of ",
|
|
56662
|
-
sortedSessions.length,
|
|
56663
|
-
" sessions."
|
|
56664
|
-
]
|
|
56665
|
-
})
|
|
56666
|
-
] })
|
|
56667
|
-
]
|
|
56668
|
-
});
|
|
56669
|
-
}
|
|
56670
|
-
//#endregion
|
|
56671
|
-
//#region ../blocks/src/system/runtime/nodes/course-details.server.tsx
|
|
56672
|
-
function CourseDetailsSSR({ courses, subject, showTitle, showDescription, showSessions, sessionsLimit, showVenue, showPrice, showCapacity, showEnrollmentStatus, showMembershipNote, className, children }) {
|
|
56673
|
-
const selection = selectCourseDetails({
|
|
56674
|
-
courses: courses ?? null,
|
|
56675
|
-
subject
|
|
56676
|
-
});
|
|
56677
|
-
const parsedSubject = parseEventPageSurfaceSubject(subject);
|
|
56678
|
-
const awaitingOfferingRuns = parsedSubject.ok && parsedSubject.value.kind === "eventOffering" && parsedSubject.value.availableEventSeriesIds.length === 0;
|
|
56679
|
-
const now = /* @__PURE__ */ new Date();
|
|
56680
|
-
const scopedWithRange = selection.scoped.map((c) => ({
|
|
56681
|
-
course: c,
|
|
56682
|
-
range: getCourseDateRange(c)
|
|
56683
|
-
}));
|
|
56684
|
-
const scopedSorted = [...scopedWithRange].sort((a, b) => {
|
|
56685
|
-
return (a.range.start?.getTime() ?? 0) - (b.range.start?.getTime() ?? 0);
|
|
56686
|
-
});
|
|
56687
|
-
const lastPastRun = scopedWithRange.filter(({ range }) => Boolean(range.end && range.end <= now)).sort((a, b) => (b.range.end?.getTime() ?? 0) - (a.range.end?.getTime() ?? 0))[0] ?? null;
|
|
56688
|
-
const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
|
|
56689
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
56690
|
-
className: `course-details ${className ?? ""}`.trim(),
|
|
56691
|
-
"data-block": "course-details",
|
|
56692
|
-
children: [selection.selected ? /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
56693
|
-
course: selection.selected,
|
|
56694
|
-
showTitle,
|
|
56695
|
-
showDescription,
|
|
56696
|
-
showSessions,
|
|
56697
|
-
sessionsLimit,
|
|
56698
|
-
showVenue,
|
|
56699
|
-
showPrice,
|
|
56700
|
-
showCapacity,
|
|
56701
|
-
showEnrollmentStatus,
|
|
56702
|
-
showMembershipNote
|
|
56703
|
-
}) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs("div", {
|
|
56704
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
56705
|
-
children: [
|
|
56706
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
56707
|
-
className: "rb-label rb-mb-2",
|
|
56708
|
-
children: "Upcoming runs"
|
|
56709
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
56710
|
-
className: "rb-caption status-muted",
|
|
56711
|
-
children: "Choose a run to see sessions and details."
|
|
56712
|
-
})] }),
|
|
56713
|
-
nonPastRuns.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
56714
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
56715
|
-
children: nonPastRuns.map(({ course, range }) => {
|
|
56716
|
-
const start = range.start;
|
|
56717
|
-
const end = range.end;
|
|
56718
|
-
const isInProgress = Boolean(start && end && start <= now && end > now);
|
|
56719
|
-
return /* @__PURE__ */ jsx("li", {
|
|
56720
|
-
className: "rb-rounded-md rb-border rb-p-3",
|
|
56721
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
56722
|
-
className: "rb-flex rb-flex-col rb-gap-1",
|
|
56723
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
56724
|
-
className: "rb-flex rb-items-center rb-justify-between rb-gap-3",
|
|
56725
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
56726
|
-
className: "rb-min-w-0",
|
|
56727
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
56728
|
-
className: "rb-truncate",
|
|
56729
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.title })
|
|
56730
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
56731
|
-
className: "rb-caption status-muted",
|
|
56732
|
-
children: formatCourseDateRange(range)
|
|
56733
|
-
})]
|
|
56734
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
56735
|
-
className: "rb-caption status-muted rb-shrink-0",
|
|
56736
|
-
children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed"
|
|
56737
|
-
})]
|
|
56738
|
-
})
|
|
56739
|
-
})
|
|
56740
|
-
}, course.eventSeriesId);
|
|
56741
|
-
})
|
|
56742
|
-
}) : /* @__PURE__ */ jsx("p", {
|
|
56743
|
-
className: "rb-caption status-muted",
|
|
56744
|
-
children: "No upcoming runs."
|
|
56745
|
-
}),
|
|
56746
|
-
lastPastRun ? /* @__PURE__ */ jsxs("div", {
|
|
56747
|
-
className: "rb-caption status-muted",
|
|
56748
|
-
children: [
|
|
56749
|
-
"Last run: ",
|
|
56750
|
-
/* @__PURE__ */ jsx("strong", { children: lastPastRun.course.title }),
|
|
56751
|
-
" (",
|
|
56752
|
-
formatCourseDateRange(lastPastRun.range),
|
|
56753
|
-
")"
|
|
56754
|
-
]
|
|
56755
|
-
}) : null
|
|
56756
|
-
]
|
|
56757
|
-
}) : /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
56758
|
-
course: null,
|
|
56759
|
-
emptyMessage: awaitingOfferingRuns ? "New dates are coming soon." : "Course details unavailable.",
|
|
56760
|
-
showTitle,
|
|
56761
|
-
showDescription,
|
|
56762
|
-
showSessions,
|
|
56763
|
-
sessionsLimit,
|
|
56764
|
-
showVenue,
|
|
56765
|
-
showPrice,
|
|
56766
|
-
showCapacity,
|
|
56767
|
-
showEnrollmentStatus,
|
|
56768
|
-
showMembershipNote
|
|
56769
|
-
}), children]
|
|
56770
|
-
});
|
|
56771
|
-
}
|
|
56772
|
-
//#endregion
|
|
56773
55963
|
//#region ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
|
|
56774
55964
|
/**
|
|
56775
55965
|
* EventSpotlight Component
|
|
@@ -56973,7 +56163,7 @@ function deriveCourseScheduleSummary(course) {
|
|
|
56973
56163
|
sessionCount: sessions.length
|
|
56974
56164
|
};
|
|
56975
56165
|
}
|
|
56976
|
-
function
|
|
56166
|
+
function nextWholeSeriesSessionStart(course) {
|
|
56977
56167
|
return [...course.sessions].filter(isValidOccurrence).map((session) => session.startsAt).sort((left, right) => left.localeCompare(right))[0] ?? null;
|
|
56978
56168
|
}
|
|
56979
56169
|
function occurrenceFromEvent(event) {
|
|
@@ -57127,7 +56317,7 @@ const OFFERINGS_PREVIEW_GRID_STYLE = {
|
|
|
57127
56317
|
function buildItemDataMap(props) {
|
|
57128
56318
|
const routeCandidates = props.routeCandidates?.routes ?? [];
|
|
57129
56319
|
const entries = OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [definition.sourceKey, eventDataFromMaybeArray(props[definition.dataKey])]);
|
|
57130
|
-
return new Map([...entries, ["course", courseDataFromMaybeArray(props.
|
|
56320
|
+
return new Map([...entries, ["course", courseDataFromMaybeArray(props.wholeSeriesOfferings, routeCandidates)]]);
|
|
57131
56321
|
}
|
|
57132
56322
|
function eventDataFromMaybeArray(events) {
|
|
57133
56323
|
return events ? {
|
|
@@ -57181,8 +56371,8 @@ function renderOfferingGroupItems(presentation, items, options) {
|
|
|
57181
56371
|
}
|
|
57182
56372
|
}
|
|
57183
56373
|
function compareCoursesByNextSession(left, right) {
|
|
57184
|
-
const leftStart =
|
|
57185
|
-
const rightStart =
|
|
56374
|
+
const leftStart = nextWholeSeriesSessionStart(left);
|
|
56375
|
+
const rightStart = nextWholeSeriesSessionStart(right);
|
|
57186
56376
|
if (leftStart === null) return rightStart === null ? 0 : 1;
|
|
57187
56377
|
if (rightStart === null) return -1;
|
|
57188
56378
|
return leftStart.localeCompare(rightStart);
|
|
@@ -58121,45 +57311,6 @@ function CheckoutSSR({ blockId, siteId, apiBaseUrl, stage, children, ...rest })
|
|
|
58121
57311
|
});
|
|
58122
57312
|
}
|
|
58123
57313
|
//#endregion
|
|
58124
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.server.tsx
|
|
58125
|
-
/**
|
|
58126
|
-
* Server-safe placeholder for course registration.
|
|
58127
|
-
* Provides a static container for island hydration without importing client hooks.
|
|
58128
|
-
*/
|
|
58129
|
-
function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children }) {
|
|
58130
|
-
const islandProps = buildCourseRegistrationInteractiveIslandProps({
|
|
58131
|
-
siteId,
|
|
58132
|
-
apiBaseUrl,
|
|
58133
|
-
portalToken,
|
|
58134
|
-
subject,
|
|
58135
|
-
courses,
|
|
58136
|
-
className,
|
|
58137
|
-
showSessions,
|
|
58138
|
-
showPrice,
|
|
58139
|
-
showCapacity,
|
|
58140
|
-
showVenue,
|
|
58141
|
-
successMessage,
|
|
58142
|
-
waitlistMessage,
|
|
58143
|
-
membershipMessage,
|
|
58144
|
-
buttonText,
|
|
58145
|
-
buttonVariant,
|
|
58146
|
-
stage
|
|
58147
|
-
});
|
|
58148
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
58149
|
-
className: `course-registration ${className ?? ""}`.trim(),
|
|
58150
|
-
"data-block": "course-registration",
|
|
58151
|
-
...getIslandRootProps("course-registration", blockId),
|
|
58152
|
-
children: [
|
|
58153
|
-
/* @__PURE__ */ jsx(IslandPropsScript, { value: islandProps }),
|
|
58154
|
-
/* @__PURE__ */ jsx("div", {
|
|
58155
|
-
className: "course-registration__summary",
|
|
58156
|
-
children: /* @__PURE__ */ jsx("strong", { children: islandProps.render.display.summaryButtonText })
|
|
58157
|
-
}),
|
|
58158
|
-
children
|
|
58159
|
-
]
|
|
58160
|
-
});
|
|
58161
|
-
}
|
|
58162
|
-
//#endregion
|
|
58163
57314
|
//#region ../blocks/src/system/runtime/nodes/gifting.server.tsx
|
|
58164
57315
|
function GiftingSSR({ blockId, ...rest }) {
|
|
58165
57316
|
const islandProps = buildGiftingInteractiveIslandProps(rest);
|
|
@@ -59645,7 +58796,6 @@ const runtimeBackedBlockServerEntries = {
|
|
|
59645
58796
|
"product-detail": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(productDetailBlockDefinition), ProductDetailSSR),
|
|
59646
58797
|
cart: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(cartBlockDefinition), CartSSR),
|
|
59647
58798
|
checkout: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(checkoutBlockDefinition), CheckoutSSR),
|
|
59648
|
-
"course-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(courseRegistrationBlockDefinition), CourseRegistrationSSR),
|
|
59649
58799
|
gifting: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(giftingBlockDefinition), GiftingSSR),
|
|
59650
58800
|
"event-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(eventRegistrationBlockDefinition), EventRegistrationSSR),
|
|
59651
58801
|
shop: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(shopBlockDefinition), ShopSSR)
|
|
@@ -59678,7 +58828,6 @@ const serverComponentRegistry = {
|
|
|
59678
58828
|
"booking-form": BookingFormSSR,
|
|
59679
58829
|
"event-details": EventDetailsSSR,
|
|
59680
58830
|
"location-map": LocationMapSSR,
|
|
59681
|
-
"course-details": CourseDetailsSSR,
|
|
59682
58831
|
"event-spotlight": EventSpotlight,
|
|
59683
58832
|
"event-combined": EventCombinedSSR,
|
|
59684
58833
|
"offerings-preview": OfferingsPreviewNode,
|
|
@@ -61126,12 +60275,46 @@ function collectConstrainedVideoMediaValues(options) {
|
|
|
61126
60275
|
*/
|
|
61127
60276
|
function hydrateManifestLinks(manifest, content, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
61128
60277
|
if (!routes || !manifest?.fields?.length) return content;
|
|
61129
|
-
return
|
|
60278
|
+
return hydrateLinks(content, routes, pagesByIdentifier, entriesByIdentifier);
|
|
60279
|
+
}
|
|
60280
|
+
/** Hydrate identifier-aware links in data loaded after manifest content. */
|
|
60281
|
+
function hydrateLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
60282
|
+
return hydrateValue(value, {
|
|
61130
60283
|
routes,
|
|
61131
60284
|
pagesByIdentifier,
|
|
61132
60285
|
entriesByIdentifier
|
|
61133
60286
|
});
|
|
61134
60287
|
}
|
|
60288
|
+
/**
|
|
60289
|
+
* Hydrate links only inside resolved booking-consent documents. Loader payloads are
|
|
60290
|
+
* otherwise opaque and may legitimately contain objects that resemble link values.
|
|
60291
|
+
*/
|
|
60292
|
+
function hydrateResolvedBookingConsentLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
60293
|
+
return hydrateResolvedBookingConsentValue(value, {
|
|
60294
|
+
routes,
|
|
60295
|
+
pagesByIdentifier,
|
|
60296
|
+
entriesByIdentifier
|
|
60297
|
+
});
|
|
60298
|
+
}
|
|
60299
|
+
function hydrateResolvedBookingConsentValue(value, context) {
|
|
60300
|
+
if (Array.isArray(value)) {
|
|
60301
|
+
const hydratedItems = value.map((item) => hydrateResolvedBookingConsentValue(item, context));
|
|
60302
|
+
return hydratedItems.every((item, index) => item === value[index]) ? value : hydratedItems;
|
|
60303
|
+
}
|
|
60304
|
+
if (!isRecord$26(value)) return value;
|
|
60305
|
+
if (isBookingConsentCarrier(value)) {
|
|
60306
|
+
const agreement = hydrateValue(value.agreement, context);
|
|
60307
|
+
return agreement === value.agreement ? value : {
|
|
60308
|
+
...value,
|
|
60309
|
+
agreement
|
|
60310
|
+
};
|
|
60311
|
+
}
|
|
60312
|
+
const hydratedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateResolvedBookingConsentValue(entry, context)]);
|
|
60313
|
+
return hydratedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(hydratedEntries);
|
|
60314
|
+
}
|
|
60315
|
+
function isBookingConsentCarrier(value) {
|
|
60316
|
+
return bookingConsentCarrierSchema.safeParse(value).success;
|
|
60317
|
+
}
|
|
61135
60318
|
function hydrateValue(value, context) {
|
|
61136
60319
|
try {
|
|
61137
60320
|
if (Array.isArray(value)) {
|
|
@@ -61200,6 +60383,13 @@ function hydrateEntryLink(link, context) {
|
|
|
61200
60383
|
};
|
|
61201
60384
|
}
|
|
61202
60385
|
//#endregion
|
|
60386
|
+
//#region ../blocks/src/system/manifest/resolveBlockData.ts
|
|
60387
|
+
function resolveBlockData$1(blockId, dataLoaders, dataContext, routes) {
|
|
60388
|
+
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
60389
|
+
if (isRecord$26(raw)) return routes ? hydrateResolvedBookingConsentLinks(raw, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : raw;
|
|
60390
|
+
return dataLoaders && typeof dataLoaders === "object" && Object.keys(dataLoaders).length > 0 ? {} : void 0;
|
|
60391
|
+
}
|
|
60392
|
+
//#endregion
|
|
61203
60393
|
//#region ../blocks/src/sdkBlockTransform.ts
|
|
61204
60394
|
/**
|
|
61205
60395
|
* Transforms an SDK custom block into a BlockManifest.
|
|
@@ -61794,8 +60984,8 @@ function generateInputCss({ themeId, theme, inputSystem }) {
|
|
|
61794
60984
|
const radioSelector = `${rootSelector} .form-radio`;
|
|
61795
60985
|
const checkableRules = [];
|
|
61796
60986
|
checkableRules.push("appearance: none");
|
|
61797
|
-
checkableRules.push("width:
|
|
61798
|
-
checkableRules.push("height:
|
|
60987
|
+
checkableRules.push("width: 1.125rem");
|
|
60988
|
+
checkableRules.push("height: 1.125rem");
|
|
61799
60989
|
checkableRules.push("flex-shrink: 0");
|
|
61800
60990
|
checkableRules.push(`border: ${borderPx} solid ${rgbColorValue(inputSystem.base.border.colorToken)}`);
|
|
61801
60991
|
if (inputSystem.base.background.type === "transparent") checkableRules.push("background-color: transparent");
|
|
@@ -64053,176 +63243,6 @@ ${root} {
|
|
|
64053
63243
|
`;
|
|
64054
63244
|
}
|
|
64055
63245
|
//#endregion
|
|
64056
|
-
//#region ../theme-core/src/blocks/vars/course-details.ts
|
|
64057
|
-
/**
|
|
64058
|
-
* Generate CSS variables for the course-details block.
|
|
64059
|
-
*
|
|
64060
|
-
* Variables defined:
|
|
64061
|
-
* - Enrollment status colors (open/closed)
|
|
64062
|
-
* - Capacity indicator colors (available/low/full)
|
|
64063
|
-
* - Price display colors (free indicator)
|
|
64064
|
-
*/
|
|
64065
|
-
function generateCourseDetailsVars({ themeId }) {
|
|
64066
|
-
return `
|
|
64067
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-details"])`} {
|
|
64068
|
-
/* Enrollment status */
|
|
64069
|
-
--cd-enrollment-open-text: rgb(var(--tb-success));
|
|
64070
|
-
--cd-enrollment-closed-text: rgb(var(--tb-mutedText));
|
|
64071
|
-
|
|
64072
|
-
/* Capacity indicator */
|
|
64073
|
-
--cd-capacity-available-text: rgb(var(--tb-success));
|
|
64074
|
-
--cd-capacity-low-text: rgb(var(--tb-warning));
|
|
64075
|
-
--cd-capacity-full-text: rgb(var(--tb-destructive, 239 68 68));
|
|
64076
|
-
|
|
64077
|
-
/* Price styling */
|
|
64078
|
-
--cd-price-free-text: rgb(var(--tb-success));
|
|
64079
|
-
}
|
|
64080
|
-
`;
|
|
64081
|
-
}
|
|
64082
|
-
//#endregion
|
|
64083
|
-
//#region ../theme-core/src/blocks/vars/course-registration.ts
|
|
64084
|
-
const EVENT_WHOLE_SERIES_VARIABLE_BRIDGE = `
|
|
64085
|
-
/* Temporary bridge while persisted Course blocks render the Event-owned
|
|
64086
|
-
whole-series registration runtime. Removed with the Course block. */
|
|
64087
|
-
--er-step-active: var(--cr-step-active);
|
|
64088
|
-
--er-step-inactive: var(--cr-step-inactive);
|
|
64089
|
-
--er-step-completed: var(--cr-step-completed);
|
|
64090
|
-
--er-step-text: var(--cr-step-text);
|
|
64091
|
-
--er-step-text-active: var(--cr-step-text-active);
|
|
64092
|
-
--er-step-connector: var(--cr-step-connector);
|
|
64093
|
-
--er-step-title-size: var(--cr-step-title-size);
|
|
64094
|
-
--er-success-bg: var(--cr-success-bg);
|
|
64095
|
-
--er-success-text: var(--cr-success-text);
|
|
64096
|
-
--er-error-bg: var(--cr-error-bg);
|
|
64097
|
-
--er-error-text: var(--cr-error-text);
|
|
64098
|
-
--er-waitlist-bg: var(--cr-waitlist-bg);
|
|
64099
|
-
--er-waitlist-text: var(--cr-waitlist-text);
|
|
64100
|
-
--er-capacity-available-bg: var(--cr-capacity-available-bg);
|
|
64101
|
-
--er-capacity-available-text: var(--cr-capacity-available-text);
|
|
64102
|
-
--er-capacity-low-bg: var(--cr-capacity-low-bg);
|
|
64103
|
-
--er-capacity-low-text: var(--cr-capacity-low-text);
|
|
64104
|
-
--er-capacity-soldout-bg: var(--cr-capacity-soldout-bg);
|
|
64105
|
-
--er-capacity-soldout-text: var(--cr-capacity-soldout-text);
|
|
64106
|
-
--er-border: var(--cr-border);
|
|
64107
|
-
--er-border-hover: var(--cr-border-hover);
|
|
64108
|
-
--er-border-selected: var(--cr-border-selected);
|
|
64109
|
-
--er-border-error: var(--cr-border-error);
|
|
64110
|
-
--er-focus-ring: var(--cr-focus-ring);
|
|
64111
|
-
--er-required: var(--cr-required);
|
|
64112
|
-
--er-payment-border: var(--cr-payment-border);
|
|
64113
|
-
--er-payment-border-hover: var(--cr-payment-border-hover);
|
|
64114
|
-
--er-payment-border-selected: var(--cr-payment-border-selected);
|
|
64115
|
-
--er-payment-bg-selected: var(--cr-payment-bg-selected);
|
|
64116
|
-
--er-check-bg: var(--cr-check-bg);
|
|
64117
|
-
--er-check-text: var(--cr-check-text);
|
|
64118
|
-
--er-summary-bg: var(--cr-summary-bg);
|
|
64119
|
-
--er-summary-border: var(--cr-summary-border);
|
|
64120
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
64121
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
64122
|
-
`;
|
|
64123
|
-
/**
|
|
64124
|
-
* Generate CSS variables for the course-registration block.
|
|
64125
|
-
*
|
|
64126
|
-
* Variables defined:
|
|
64127
|
-
* - Step indicator colors (active, inactive, completed, text, connector)
|
|
64128
|
-
* - Success/error/waitlist state backgrounds and text colors
|
|
64129
|
-
* - Capacity badge colors (available, low, sold-out)
|
|
64130
|
-
* - Border colors for various interaction states
|
|
64131
|
-
* - Input focus and required marker styling
|
|
64132
|
-
* - Payment option card styling
|
|
64133
|
-
* - Checkmark indicator colors
|
|
64134
|
-
* - Summary styling
|
|
64135
|
-
*/
|
|
64136
|
-
function generateCourseRegistrationVars({ themeId }) {
|
|
64137
|
-
return `
|
|
64138
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-registration"])`} {
|
|
64139
|
-
/* Step indicator */
|
|
64140
|
-
--cr-step-active: rgb(var(--tb-primary));
|
|
64141
|
-
--cr-step-inactive: rgb(var(--tb-mutedText));
|
|
64142
|
-
--cr-step-completed: rgb(var(--tb-success));
|
|
64143
|
-
--cr-step-text: rgb(255 255 255);
|
|
64144
|
-
--cr-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
|
|
64145
|
-
--cr-step-connector: rgba(var(--tb-border), 0.5);
|
|
64146
|
-
|
|
64147
|
-
/* Step title */
|
|
64148
|
-
--cr-step-title-size: 1.5rem;
|
|
64149
|
-
|
|
64150
|
-
/* State backgrounds with alpha */
|
|
64151
|
-
--cr-success-bg: rgba(var(--tb-success), 0.1);
|
|
64152
|
-
--cr-success-text: rgb(var(--tb-success));
|
|
64153
|
-
--cr-error-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
64154
|
-
--cr-error-text: rgb(var(--tb-destructive, 239 68 68));
|
|
64155
|
-
--cr-waitlist-bg: rgba(var(--tb-warning), 0.1);
|
|
64156
|
-
--cr-waitlist-text: rgb(var(--tb-warning));
|
|
64157
|
-
|
|
64158
|
-
/* Capacity badges */
|
|
64159
|
-
--cr-capacity-available-bg: rgba(var(--tb-success), 0.1);
|
|
64160
|
-
--cr-capacity-available-text: rgb(var(--tb-success));
|
|
64161
|
-
--cr-capacity-low-bg: rgba(var(--tb-warning), 0.1);
|
|
64162
|
-
--cr-capacity-low-text: rgb(var(--tb-warning));
|
|
64163
|
-
--cr-capacity-soldout-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
64164
|
-
--cr-capacity-soldout-text: rgb(var(--tb-destructive, 239 68 68));
|
|
64165
|
-
|
|
64166
|
-
/* Borders */
|
|
64167
|
-
--cr-border: rgb(var(--tb-border));
|
|
64168
|
-
--cr-border-hover: rgba(var(--tb-primary), 0.5);
|
|
64169
|
-
--cr-border-selected: rgb(var(--tb-primary));
|
|
64170
|
-
--cr-border-error: rgb(var(--tb-destructive, 239 68 68));
|
|
64171
|
-
|
|
64172
|
-
/* Input focus */
|
|
64173
|
-
--cr-focus-ring: rgba(var(--tb-primary), 0.3);
|
|
64174
|
-
|
|
64175
|
-
/* Required marker */
|
|
64176
|
-
--cr-required: rgb(var(--tb-destructive, 239 68 68));
|
|
64177
|
-
|
|
64178
|
-
/* Payment option cards */
|
|
64179
|
-
--cr-payment-border: rgb(var(--tb-border));
|
|
64180
|
-
--cr-payment-border-hover: rgba(var(--tb-primary), 0.5);
|
|
64181
|
-
--cr-payment-border-selected: rgb(var(--tb-primary));
|
|
64182
|
-
--cr-payment-bg-selected: rgba(var(--tb-primary), 0.08);
|
|
64183
|
-
|
|
64184
|
-
/* Checkmark indicator */
|
|
64185
|
-
--cr-check-bg: rgb(var(--tb-primary));
|
|
64186
|
-
--cr-check-text: rgb(var(--tb-primaryText, 255 255 255));
|
|
64187
|
-
|
|
64188
|
-
/* Summary */
|
|
64189
|
-
--cr-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
64190
|
-
--cr-summary-border: rgb(var(--tb-border));
|
|
64191
|
-
|
|
64192
|
-
${EVENT_WHOLE_SERIES_VARIABLE_BRIDGE}
|
|
64193
|
-
|
|
64194
|
-
/* Shared registration-surface mappings (issue 1174).
|
|
64195
|
-
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
64196
|
-
(palette tokens where no --cr-* var exists) so existing --cr-* overrides
|
|
64197
|
-
keep working unchanged. */
|
|
64198
|
-
--rb-reg-radius: var(--rb-block-radius);
|
|
64199
|
-
--rb-reg-border: var(--cr-border);
|
|
64200
|
-
--rb-reg-border-hover: var(--cr-border-hover);
|
|
64201
|
-
--rb-reg-border-selected: var(--cr-border-selected);
|
|
64202
|
-
--rb-reg-bg-selected: var(--cr-payment-bg-selected);
|
|
64203
|
-
--rb-reg-option-bg: rgb(var(--tb-background));
|
|
64204
|
-
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
64205
|
-
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
64206
|
-
--rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
64207
|
-
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
64208
|
-
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
64209
|
-
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
64210
|
-
--rb-reg-check-bg: var(--cr-check-bg);
|
|
64211
|
-
--rb-reg-check-text: var(--cr-check-text);
|
|
64212
|
-
--rb-reg-step-active: var(--cr-step-active);
|
|
64213
|
-
--rb-reg-step-completed: var(--cr-step-completed);
|
|
64214
|
-
--rb-reg-step-inactive: var(--cr-step-inactive);
|
|
64215
|
-
--rb-reg-step-text: var(--cr-step-text);
|
|
64216
|
-
--rb-reg-step-text-active: var(--cr-step-text-active);
|
|
64217
|
-
--rb-reg-step-connector: var(--cr-step-connector);
|
|
64218
|
-
--rb-reg-summary-bg: var(--cr-summary-bg);
|
|
64219
|
-
--rb-reg-summary-border: var(--cr-summary-border);
|
|
64220
|
-
--rb-reg-focus-ring: var(--cr-focus-ring);
|
|
64221
|
-
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
64222
|
-
}
|
|
64223
|
-
`;
|
|
64224
|
-
}
|
|
64225
|
-
//#endregion
|
|
64226
63246
|
//#region ../theme-core/src/blocks/registry.ts
|
|
64227
63247
|
/**
|
|
64228
63248
|
* Global registry of block var generators.
|
|
@@ -64237,8 +63257,6 @@ blockVarRegistry.set("appointment-booking", generateAppointmentBookingVars);
|
|
|
64237
63257
|
blockVarRegistry.set("form", generateFormBlockVars);
|
|
64238
63258
|
blockVarRegistry.set("customer-portal", generateCustomerPortalVars);
|
|
64239
63259
|
blockVarRegistry.set("testimonials", generateTestimonialsVars);
|
|
64240
|
-
blockVarRegistry.set("course-details", generateCourseDetailsVars);
|
|
64241
|
-
blockVarRegistry.set("course-registration", generateCourseRegistrationVars);
|
|
64242
63260
|
/**
|
|
64243
63261
|
* Generate all Tier 3 block-specific CSS variables.
|
|
64244
63262
|
*
|
|
@@ -65579,11 +64597,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources
|
|
|
65579
64597
|
try {
|
|
65580
64598
|
const routes = routeMap ?? dataContext?.routes;
|
|
65581
64599
|
const hydratedContent = routes ? hydrateManifestLinks(definition.manifest, data, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : data;
|
|
65582
|
-
const resolved = resolveBlockData$1(
|
|
65583
|
-
block,
|
|
65584
|
-
definition,
|
|
65585
|
-
dataContext
|
|
65586
|
-
});
|
|
64600
|
+
const resolved = resolveBlockData$1(block.id, definition.dataLoaders, dataContext, routes);
|
|
65587
64601
|
const hasResolvedData = !!resolved && typeof resolved === "object" && Object.keys(resolved).length > 0;
|
|
65588
64602
|
const baseProps = {
|
|
65589
64603
|
content: hydratedContent,
|
|
@@ -65673,12 +64687,6 @@ function shouldDebugCustomBlocks() {
|
|
|
65673
64687
|
return false;
|
|
65674
64688
|
}
|
|
65675
64689
|
}
|
|
65676
|
-
function resolveBlockData$1({ block, definition, dataContext }) {
|
|
65677
|
-
const blockId = block.id ?? null;
|
|
65678
|
-
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
65679
|
-
if (isObjectRecord$1(raw)) return { ...raw };
|
|
65680
|
-
return definition.dataLoaders && Object.keys(definition.dataLoaders).length > 0 ? {} : void 0;
|
|
65681
|
-
}
|
|
65682
64690
|
/**
|
|
65683
64691
|
* Resolves block content based on stage priority.
|
|
65684
64692
|
* For draft/preview: draftContent takes priority over content.
|
|
@@ -70188,7 +69196,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
70188
69196
|
* Shared: Registration Surface (issue 1174)
|
|
70189
69197
|
*
|
|
70190
69198
|
* Wizard-surface primitives shared by the event-registration,
|
|
70191
|
-
*
|
|
69199
|
+
* appointment-booking blocks: surface container,
|
|
70192
69200
|
* selectable option cards, step indicator, wizard actions row, on-surface
|
|
70193
69201
|
* text ramp, layout stacks, summary box and skeleton shell lines.
|
|
70194
69202
|
*
|
|
@@ -70231,7 +69239,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
70231
69239
|
}
|
|
70232
69240
|
|
|
70233
69241
|
/* Surface container */
|
|
70234
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69242
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
70235
69243
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
70236
69244
|
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
70237
69245
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
@@ -70261,7 +69269,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
70261
69269
|
*
|
|
70262
69270
|
* Mirrors \`contextualButtonSurfaceResetStyles()\` in theme-core/buttons; the
|
|
70263
69271
|
* pairing is pinned by registration-surface-action-reset.test.ts. */
|
|
70264
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69272
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
70265
69273
|
--rb-action-primary-base-background-color: initial;
|
|
70266
69274
|
--rb-action-primary-base-background-image: initial;
|
|
70267
69275
|
--rb-action-primary-base-color: initial;
|
|
@@ -70369,7 +69377,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
70369
69377
|
}
|
|
70370
69378
|
|
|
70371
69379
|
/* Selectable option card */
|
|
70372
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69380
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
70373
69381
|
position: relative;
|
|
70374
69382
|
display: flex;
|
|
70375
69383
|
align-items: flex-start;
|
|
@@ -70386,34 +69394,34 @@ const containerResponsiveThemeCss = `/*
|
|
|
70386
69394
|
box-shadow var(--rb-block-transition, 150ms) ease;
|
|
70387
69395
|
}
|
|
70388
69396
|
|
|
70389
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69397
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:hover:not(:disabled):not([aria-disabled="true"]) {
|
|
70390
69398
|
border-color: var(--rb-reg-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
70391
69399
|
box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08));
|
|
70392
69400
|
}
|
|
70393
69401
|
|
|
70394
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69402
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:focus-visible {
|
|
70395
69403
|
outline: 2px solid var(--rb-reg-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
|
|
70396
69404
|
outline-offset: 2px;
|
|
70397
69405
|
}
|
|
70398
69406
|
|
|
70399
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69407
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--selected {
|
|
70400
69408
|
border-color: var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
70401
69409
|
background-color: var(--rb-reg-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.08));
|
|
70402
69410
|
box-shadow: 0 0 0 1px var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
70403
69411
|
}
|
|
70404
69412
|
|
|
70405
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69413
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled {
|
|
70406
69414
|
cursor: not-allowed;
|
|
70407
69415
|
opacity: 0.7;
|
|
70408
69416
|
}
|
|
70409
69417
|
|
|
70410
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69418
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled:hover {
|
|
70411
69419
|
border-color: var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
70412
69420
|
box-shadow: none;
|
|
70413
69421
|
}
|
|
70414
69422
|
|
|
70415
69423
|
/* Check indicator */
|
|
70416
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69424
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check {
|
|
70417
69425
|
flex-shrink: 0;
|
|
70418
69426
|
width: 1.25rem;
|
|
70419
69427
|
height: 1.25rem;
|
|
@@ -70424,18 +69432,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
70424
69432
|
justify-content: center;
|
|
70425
69433
|
}
|
|
70426
69434
|
|
|
70427
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69435
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
70428
69436
|
width: 0.75rem;
|
|
70429
69437
|
height: 0.75rem;
|
|
70430
69438
|
color: var(--rb-reg-check-text, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
70431
69439
|
}
|
|
70432
69440
|
|
|
70433
69441
|
/* Step indicator */
|
|
70434
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69442
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps-nav {
|
|
70435
69443
|
margin-bottom: 1.5rem;
|
|
70436
69444
|
}
|
|
70437
69445
|
|
|
70438
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69446
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps {
|
|
70439
69447
|
display: flex;
|
|
70440
69448
|
align-items: center;
|
|
70441
69449
|
justify-content: center;
|
|
@@ -70445,13 +69453,13 @@ const containerResponsiveThemeCss = `/*
|
|
|
70445
69453
|
margin: 0;
|
|
70446
69454
|
}
|
|
70447
69455
|
|
|
70448
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69456
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step {
|
|
70449
69457
|
display: flex;
|
|
70450
69458
|
align-items: center;
|
|
70451
69459
|
gap: 0.5rem;
|
|
70452
69460
|
}
|
|
70453
69461
|
|
|
70454
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69462
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle {
|
|
70455
69463
|
width: 1.75rem;
|
|
70456
69464
|
height: 1.75rem;
|
|
70457
69465
|
border-radius: 50%;
|
|
@@ -70465,47 +69473,47 @@ const containerResponsiveThemeCss = `/*
|
|
|
70465
69473
|
transition: background-color var(--rb-block-transition, 150ms) ease;
|
|
70466
69474
|
}
|
|
70467
69475
|
|
|
70468
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69476
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
70469
69477
|
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
70470
69478
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
70471
69479
|
}
|
|
70472
69480
|
|
|
70473
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69481
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
70474
69482
|
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
70475
69483
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
70476
69484
|
}
|
|
70477
69485
|
|
|
70478
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69486
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
70479
69487
|
width: 0.75rem;
|
|
70480
69488
|
height: 0.75rem;
|
|
70481
69489
|
}
|
|
70482
69490
|
|
|
70483
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69491
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-connector {
|
|
70484
69492
|
width: 2rem;
|
|
70485
69493
|
height: 2px;
|
|
70486
69494
|
background: var(--rb-reg-step-connector, rgba(var(--tb-border, 226 232 240), 0.5));
|
|
70487
69495
|
}
|
|
70488
69496
|
|
|
70489
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69497
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
70490
69498
|
font-size: 0.75rem;
|
|
70491
69499
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
70492
69500
|
display: none;
|
|
70493
69501
|
}
|
|
70494
69502
|
|
|
70495
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69503
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label--active {
|
|
70496
69504
|
font-weight: 500;
|
|
70497
69505
|
}
|
|
70498
69506
|
|
|
70499
69507
|
@container rb-site (min-width: 640px) {
|
|
70500
69508
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
70501
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69509
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
70502
69510
|
display: inline;
|
|
70503
69511
|
}
|
|
70504
69512
|
}
|
|
70505
69513
|
}
|
|
70506
69514
|
|
|
70507
69515
|
/* Wizard actions row */
|
|
70508
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69516
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions {
|
|
70509
69517
|
display: flex;
|
|
70510
69518
|
justify-content: space-between;
|
|
70511
69519
|
align-items: center;
|
|
@@ -70514,56 +69522,56 @@ const containerResponsiveThemeCss = `/*
|
|
|
70514
69522
|
}
|
|
70515
69523
|
|
|
70516
69524
|
/* When there's only one action (no back button), push it to the right */
|
|
70517
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69525
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions > :only-child {
|
|
70518
69526
|
margin-inline-start: auto;
|
|
70519
69527
|
}
|
|
70520
69528
|
|
|
70521
69529
|
/* On-surface text ramp */
|
|
70522
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69530
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface {
|
|
70523
69531
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
70524
69532
|
}
|
|
70525
69533
|
|
|
70526
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69534
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--muted {
|
|
70527
69535
|
color: var(--rb-reg-on-surface-muted, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.7));
|
|
70528
69536
|
}
|
|
70529
69537
|
|
|
70530
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69538
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--subtle {
|
|
70531
69539
|
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
70532
69540
|
}
|
|
70533
69541
|
|
|
70534
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69542
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--faint {
|
|
70535
69543
|
color: var(--rb-reg-on-surface-faint, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.5));
|
|
70536
69544
|
}
|
|
70537
69545
|
|
|
70538
69546
|
/* Layout stacks */
|
|
70539
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69547
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack {
|
|
70540
69548
|
display: flex;
|
|
70541
69549
|
flex-direction: column;
|
|
70542
69550
|
gap: 1rem;
|
|
70543
69551
|
}
|
|
70544
69552
|
|
|
70545
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69553
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack--sm {
|
|
70546
69554
|
gap: 0.75rem;
|
|
70547
69555
|
}
|
|
70548
69556
|
|
|
70549
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69557
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row {
|
|
70550
69558
|
display: flex;
|
|
70551
69559
|
align-items: center;
|
|
70552
69560
|
gap: 1rem;
|
|
70553
69561
|
}
|
|
70554
69562
|
|
|
70555
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69563
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row--between {
|
|
70556
69564
|
justify-content: space-between;
|
|
70557
69565
|
align-items: flex-start;
|
|
70558
69566
|
}
|
|
70559
69567
|
|
|
70560
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69568
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-grid {
|
|
70561
69569
|
display: grid;
|
|
70562
69570
|
gap: 0.75rem;
|
|
70563
69571
|
}
|
|
70564
69572
|
|
|
70565
69573
|
/* Summary box */
|
|
70566
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69574
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-summary {
|
|
70567
69575
|
padding: 1rem;
|
|
70568
69576
|
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.75);
|
|
70569
69577
|
border: 1px solid var(--rb-reg-summary-border, rgb(var(--tb-border, 226 232 240)));
|
|
@@ -70571,7 +69579,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
70571
69579
|
}
|
|
70572
69580
|
|
|
70573
69581
|
/* Skeleton shell lines */
|
|
70574
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69582
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line {
|
|
70575
69583
|
height: 0.75rem;
|
|
70576
69584
|
border-radius: 9999px;
|
|
70577
69585
|
background: linear-gradient(
|
|
@@ -70582,24 +69590,24 @@ const containerResponsiveThemeCss = `/*
|
|
|
70582
69590
|
);
|
|
70583
69591
|
}
|
|
70584
69592
|
|
|
70585
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69593
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--lg {
|
|
70586
69594
|
width: min(26rem, 82%);
|
|
70587
69595
|
}
|
|
70588
69596
|
|
|
70589
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69597
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--md {
|
|
70590
69598
|
width: min(19rem, 68%);
|
|
70591
69599
|
}
|
|
70592
69600
|
|
|
70593
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69601
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--sm {
|
|
70594
69602
|
width: min(14rem, 52%);
|
|
70595
69603
|
}
|
|
70596
69604
|
|
|
70597
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69605
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--xs {
|
|
70598
69606
|
width: min(10rem, 42%);
|
|
70599
69607
|
}
|
|
70600
69608
|
|
|
70601
69609
|
/* Skeleton block (rectangular placeholder, pulses) */
|
|
70602
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69610
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
70603
69611
|
height: 2.5rem;
|
|
70604
69612
|
width: 100%;
|
|
70605
69613
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
@@ -70617,7 +69625,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
70617
69625
|
}
|
|
70618
69626
|
|
|
70619
69627
|
@media (prefers-reduced-motion: reduce) {
|
|
70620
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
69628
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
70621
69629
|
animation: none;
|
|
70622
69630
|
}
|
|
70623
69631
|
}
|
|
@@ -76999,1536 +76007,225 @@ const containerResponsiveThemeCss = `/*
|
|
|
76999
76007
|
cursor: not-allowed;
|
|
77000
76008
|
}
|
|
77001
76009
|
|
|
77002
|
-
/*
|
|
77003
|
-
*
|
|
77004
|
-
*
|
|
76010
|
+
/* =============================================================================
|
|
76011
|
+
* Block: Newsletter Signup
|
|
76012
|
+
* =============================================================================
|
|
77005
76013
|
*/
|
|
77006
76014
|
|
|
77007
|
-
|
|
77008
|
-
|
|
77009
|
-
|
|
77010
|
-
|
|
76015
|
+
/* Newsletter copy styling */
|
|
76016
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
76017
|
+
font-size: 1.5rem;
|
|
76018
|
+
font-weight: 600;
|
|
77011
76019
|
}
|
|
77012
76020
|
|
|
77013
|
-
|
|
77014
|
-
:
|
|
77015
|
-
|
|
76021
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
76022
|
+
font-size: 1rem;
|
|
76023
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
76024
|
+
opacity: 0.85;
|
|
77016
76025
|
}
|
|
77017
76026
|
|
|
77018
|
-
/*
|
|
77019
|
-
:where(.theme-scope) .
|
|
77020
|
-
|
|
77021
|
-
|
|
77022
|
-
|
|
76027
|
+
/* Newsletter form container */
|
|
76028
|
+
:where(.theme-scope) .newsletter-form {
|
|
76029
|
+
width: 100%;
|
|
76030
|
+
max-width: 32rem;
|
|
76031
|
+
margin-left: auto;
|
|
76032
|
+
margin-right: auto;
|
|
77023
76033
|
}
|
|
77024
76034
|
|
|
77025
|
-
/*
|
|
77026
|
-
:where(.theme-scope) .
|
|
77027
|
-
|
|
76035
|
+
/* Newsletter form fields container */
|
|
76036
|
+
:where(.theme-scope) .newsletter-form-fields {
|
|
76037
|
+
display: flex;
|
|
76038
|
+
flex-direction: column;
|
|
76039
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
77028
76040
|
}
|
|
77029
76041
|
|
|
77030
|
-
|
|
77031
|
-
|
|
76042
|
+
/* Individual field styling */
|
|
76043
|
+
:where(.theme-scope) .newsletter-field {
|
|
76044
|
+
display: flex;
|
|
76045
|
+
flex-direction: column;
|
|
76046
|
+
gap: 0.25rem;
|
|
77032
76047
|
}
|
|
77033
76048
|
|
|
77034
|
-
/*
|
|
77035
|
-
|
|
77036
|
-
|
|
77037
|
-
|
|
77038
|
-
*/
|
|
77039
|
-
|
|
77040
|
-
/* Block-local surface text tokens for cards/modals that sit on theme surface. */
|
|
77041
|
-
:where(.theme-scope)
|
|
77042
|
-
:where(
|
|
77043
|
-
[data-block='event-registration'],
|
|
77044
|
-
[data-block='course-registration']
|
|
77045
|
-
) {
|
|
77046
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
77047
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
76049
|
+
/* Required indicator */
|
|
76050
|
+
:where(.theme-scope) .newsletter-required {
|
|
76051
|
+
color: rgb(var(--tb-primary));
|
|
76052
|
+
margin-left: 0.125rem;
|
|
77048
76053
|
}
|
|
77049
76054
|
|
|
77050
|
-
/*
|
|
77051
|
-
|
|
77052
|
-
|
|
77053
|
-
:where(.theme-scope)
|
|
77054
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77055
|
-
.er-whole-series-container {
|
|
77056
|
-
padding: 1.5rem;
|
|
77057
|
-
margin-inline: auto;
|
|
76055
|
+
/* Submit button container */
|
|
76056
|
+
:where(.theme-scope) .newsletter-submit {
|
|
76057
|
+
margin-top: 0.5rem;
|
|
77058
76058
|
}
|
|
77059
76059
|
|
|
77060
|
-
/*
|
|
77061
|
-
:where(.theme-scope)
|
|
77062
|
-
:
|
|
77063
|
-
|
|
77064
|
-
|
|
77065
|
-
border: 1px dashed rgba(var(--tb-foreground), 0.2);
|
|
77066
|
-
padding: 2.5rem;
|
|
77067
|
-
text-align: center;
|
|
76060
|
+
/* ALTCHA widget container */
|
|
76061
|
+
:where(.theme-scope) .newsletter-altcha {
|
|
76062
|
+
margin-top: 0.75rem;
|
|
76063
|
+
display: flex;
|
|
76064
|
+
justify-content: center;
|
|
77068
76065
|
}
|
|
77069
76066
|
|
|
77070
|
-
|
|
77071
|
-
|
|
77072
|
-
|
|
77073
|
-
|
|
76067
|
+
/* Privacy note */
|
|
76068
|
+
:where(.theme-scope) .newsletter-privacy-note {
|
|
76069
|
+
margin-top: 0.75rem;
|
|
76070
|
+
font-size: 1rem;
|
|
76071
|
+
line-height: 1.6;
|
|
76072
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
76073
|
+
text-align: center;
|
|
77074
76074
|
}
|
|
77075
76075
|
|
|
77076
76076
|
/* =============================================================================
|
|
77077
|
-
*
|
|
76077
|
+
* Inline Variant - Horizontal layout
|
|
77078
76078
|
* =============================================================================
|
|
77079
76079
|
*/
|
|
77080
|
-
:where(.theme-scope)
|
|
77081
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77082
|
-
.er-whole-series-layout {
|
|
77083
|
-
display: grid;
|
|
77084
|
-
gap: 1.5rem;
|
|
77085
|
-
grid-template-columns: 1fr;
|
|
77086
|
-
}
|
|
77087
76080
|
|
|
77088
|
-
|
|
77089
|
-
|
|
77090
|
-
:
|
|
77091
|
-
|
|
77092
|
-
|
|
77093
|
-
[data-block='course-registration']
|
|
77094
|
-
)
|
|
77095
|
-
.er-whole-series-layout--with-sidebar {
|
|
77096
|
-
grid-template-columns: 1fr 280px;
|
|
77097
|
-
}
|
|
77098
|
-
}
|
|
76081
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
76082
|
+
flex-direction: row;
|
|
76083
|
+
align-items: flex-end;
|
|
76084
|
+
flex-wrap: wrap;
|
|
76085
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
77099
76086
|
}
|
|
77100
76087
|
|
|
77101
|
-
:where(.theme-scope)
|
|
77102
|
-
:
|
|
77103
|
-
|
|
77104
|
-
min-width: 0;
|
|
76088
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
76089
|
+
flex: 1 1 auto;
|
|
76090
|
+
min-width: 10rem;
|
|
77105
76091
|
}
|
|
77106
76092
|
|
|
77107
|
-
:where(.theme-scope)
|
|
77108
|
-
:
|
|
77109
|
-
|
|
77110
|
-
display: none;
|
|
76093
|
+
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
76094
|
+
margin-top: 0;
|
|
76095
|
+
flex-shrink: 0;
|
|
77111
76096
|
}
|
|
77112
76097
|
|
|
77113
|
-
|
|
76098
|
+
/* Mobile fallback for inline variant */
|
|
76099
|
+
@container rb-site (max-width: 640px) {
|
|
77114
76100
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
77115
|
-
:where(.theme-scope)
|
|
77116
|
-
:
|
|
77117
|
-
|
|
77118
|
-
|
|
77119
|
-
|
|
77120
|
-
|
|
77121
|
-
display: block;
|
|
76101
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
76102
|
+
flex-direction: column;
|
|
76103
|
+
}
|
|
76104
|
+
|
|
76105
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
76106
|
+
min-width: 100%;
|
|
77122
76107
|
}
|
|
77123
76108
|
}
|
|
77124
76109
|
}
|
|
77125
76110
|
|
|
77126
76111
|
/* =============================================================================
|
|
77127
|
-
*
|
|
76112
|
+
* Editorial Split Variant
|
|
77128
76113
|
* =============================================================================
|
|
77129
76114
|
*/
|
|
77130
|
-
:where(.theme-scope)
|
|
77131
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77132
|
-
.er-whole-series-steps {
|
|
77133
|
-
display: flex;
|
|
77134
|
-
align-items: center;
|
|
77135
|
-
gap: 0.5rem;
|
|
77136
|
-
margin-bottom: 1.5rem;
|
|
77137
|
-
}
|
|
77138
76115
|
|
|
77139
|
-
:where(.theme-scope)
|
|
77140
|
-
:
|
|
77141
|
-
|
|
77142
|
-
|
|
76116
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
76117
|
+
display: grid;
|
|
76118
|
+
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
76119
|
+
gap: clamp(2.5rem, 7vw, 7rem);
|
|
77143
76120
|
align-items: center;
|
|
77144
|
-
|
|
76121
|
+
text-align: left;
|
|
77145
76122
|
}
|
|
77146
76123
|
|
|
77147
|
-
:where(.theme-scope)
|
|
77148
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77149
|
-
.er-whole-series-step-circle {
|
|
77150
|
-
width: 1.75rem;
|
|
77151
|
-
height: 1.75rem;
|
|
77152
|
-
border-radius: 9999px;
|
|
76124
|
+
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
77153
76125
|
display: flex;
|
|
77154
|
-
|
|
77155
|
-
|
|
77156
|
-
font-size: 0.75rem;
|
|
77157
|
-
font-weight: 600;
|
|
77158
|
-
background: var(--er-step-inactive);
|
|
77159
|
-
color: var(--er-step-text);
|
|
77160
|
-
transition: background-color 0.2s ease;
|
|
76126
|
+
flex-direction: column;
|
|
76127
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
77161
76128
|
}
|
|
77162
76129
|
|
|
77163
|
-
:where(.theme-scope)
|
|
77164
|
-
:
|
|
77165
|
-
.er-whole-series-step-circle--active {
|
|
77166
|
-
background: var(--er-step-active);
|
|
77167
|
-
color: var(--er-step-text-active);
|
|
76130
|
+
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
76131
|
+
min-width: 0;
|
|
77168
76132
|
}
|
|
77169
76133
|
|
|
77170
|
-
:where(.theme-scope)
|
|
77171
|
-
:
|
|
77172
|
-
|
|
77173
|
-
background: var(--er-step-completed);
|
|
77174
|
-
color: var(--er-step-text);
|
|
76134
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
76135
|
+
max-width: none;
|
|
76136
|
+
margin-inline: 0;
|
|
77175
76137
|
}
|
|
77176
76138
|
|
|
77177
|
-
:where(.theme-scope)
|
|
77178
|
-
:
|
|
77179
|
-
.er-whole-series-step-label {
|
|
77180
|
-
font-size: 0.875rem;
|
|
76139
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
76140
|
+
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
77181
76141
|
font-weight: 500;
|
|
77182
|
-
color: rgb(var(--tb-mutedText));
|
|
77183
|
-
display: none;
|
|
77184
76142
|
}
|
|
77185
76143
|
|
|
77186
|
-
|
|
76144
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
76145
|
+
text-align: left;
|
|
76146
|
+
}
|
|
76147
|
+
|
|
76148
|
+
@container rb-site (max-width: 767px) {
|
|
77187
76149
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
77188
|
-
:where(.theme-scope)
|
|
77189
|
-
:
|
|
77190
|
-
|
|
77191
|
-
[data-block='course-registration']
|
|
77192
|
-
)
|
|
77193
|
-
.er-whole-series-step-label {
|
|
77194
|
-
display: block;
|
|
76150
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
76151
|
+
grid-template-columns: minmax(0, 1fr);
|
|
76152
|
+
gap: 2rem;
|
|
77195
76153
|
}
|
|
77196
76154
|
}
|
|
77197
76155
|
}
|
|
77198
76156
|
|
|
77199
|
-
|
|
77200
|
-
|
|
77201
|
-
|
|
77202
|
-
|
|
77203
|
-
font-weight: 600;
|
|
77204
|
-
}
|
|
77205
|
-
|
|
77206
|
-
:where(.theme-scope)
|
|
77207
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77208
|
-
.er-whole-series-step-connector {
|
|
77209
|
-
flex: 1;
|
|
77210
|
-
height: 2px;
|
|
77211
|
-
background: var(--er-step-connector);
|
|
77212
|
-
min-width: 1rem;
|
|
77213
|
-
}
|
|
76157
|
+
/* =============================================================================
|
|
76158
|
+
* Success State
|
|
76159
|
+
* =============================================================================
|
|
76160
|
+
*/
|
|
77214
76161
|
|
|
77215
|
-
:where(.theme-scope)
|
|
77216
|
-
:
|
|
77217
|
-
.er-whole-series-step-connector--completed {
|
|
77218
|
-
background: var(--er-step-completed);
|
|
76162
|
+
:where(.theme-scope) .newsletter-success {
|
|
76163
|
+
text-align: center;
|
|
77219
76164
|
}
|
|
77220
76165
|
|
|
77221
|
-
:where(.theme-scope)
|
|
77222
|
-
:
|
|
77223
|
-
|
|
77224
|
-
|
|
77225
|
-
|
|
76166
|
+
:where(.theme-scope) .newsletter-success .fb-success {
|
|
76167
|
+
padding: 1rem 1.5rem;
|
|
76168
|
+
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
76169
|
+
border-radius: var(--radius-md, 0.5rem);
|
|
76170
|
+
color: rgb(var(--tb-text));
|
|
77226
76171
|
}
|
|
77227
76172
|
|
|
77228
76173
|
/* =============================================================================
|
|
77229
|
-
*
|
|
76174
|
+
* Block: Contact + Newsletter
|
|
77230
76175
|
* =============================================================================
|
|
77231
76176
|
*/
|
|
77232
|
-
|
|
77233
|
-
|
|
77234
|
-
.er-whole-series-run-list {
|
|
76177
|
+
|
|
76178
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
77235
76179
|
display: grid;
|
|
77236
|
-
|
|
76180
|
+
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
76181
|
+
gap: clamp(2.5rem, 6vw, 4rem);
|
|
76182
|
+
align-items: start;
|
|
77237
76183
|
}
|
|
77238
76184
|
|
|
77239
|
-
|
|
77240
|
-
|
|
77241
|
-
* =============================================================================
|
|
77242
|
-
*/
|
|
77243
|
-
:where(.theme-scope)
|
|
77244
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77245
|
-
.er-whole-series-run-card {
|
|
77246
|
-
border-radius: var(--rb-block-radius);
|
|
77247
|
-
border: 1px solid var(--er-border);
|
|
77248
|
-
padding: 1rem;
|
|
77249
|
-
background: rgb(var(--tb-background));
|
|
77250
|
-
cursor: pointer;
|
|
77251
|
-
transition:
|
|
77252
|
-
border-color var(--rb-block-transition) ease,
|
|
77253
|
-
transform var(--rb-block-transition) ease;
|
|
76185
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
76186
|
+
min-width: 0;
|
|
77254
76187
|
}
|
|
77255
76188
|
|
|
77256
|
-
:where(.theme-scope)
|
|
77257
|
-
:
|
|
77258
|
-
.er-whole-series-run-card:hover {
|
|
77259
|
-
border-color: var(--er-border-hover);
|
|
77260
|
-
transform: translateY(-1px);
|
|
76189
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
76190
|
+
margin-bottom: 1.5rem;
|
|
77261
76191
|
}
|
|
77262
76192
|
|
|
77263
|
-
:where(.theme-scope)
|
|
77264
|
-
|
|
77265
|
-
|
|
77266
|
-
outline: 2px solid var(--er-focus-ring);
|
|
77267
|
-
outline-offset: 2px;
|
|
76193
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
76194
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
76195
|
+
margin: 0 0 0.75rem;
|
|
77268
76196
|
}
|
|
77269
76197
|
|
|
77270
|
-
:where(.theme-scope)
|
|
77271
|
-
|
|
77272
|
-
|
|
77273
|
-
border-color: var(--er-border-selected);
|
|
77274
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
76198
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
76199
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
76200
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
77275
76201
|
}
|
|
77276
76202
|
|
|
77277
|
-
:where(.theme-scope)
|
|
77278
|
-
:
|
|
77279
|
-
|
|
77280
|
-
|
|
77281
|
-
font-weight: 700;
|
|
77282
|
-
font-size: 1.125rem;
|
|
76203
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
76204
|
+
display: flex;
|
|
76205
|
+
flex-direction: column;
|
|
76206
|
+
align-items: flex-start;
|
|
77283
76207
|
}
|
|
77284
76208
|
|
|
77285
|
-
:where(.theme-scope)
|
|
77286
|
-
:
|
|
77287
|
-
|
|
77288
|
-
margin: 0
|
|
77289
|
-
opacity: 0.8;
|
|
76209
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
76210
|
+
max-width: none;
|
|
76211
|
+
margin-left: 0;
|
|
76212
|
+
margin-right: 0;
|
|
77290
76213
|
}
|
|
77291
76214
|
|
|
77292
|
-
:where(.theme-scope)
|
|
77293
|
-
:
|
|
77294
|
-
.er-whole-series-run-card__sessions,
|
|
77295
|
-
:where(.theme-scope)
|
|
77296
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77297
|
-
.er-whole-series-run-card__price,
|
|
77298
|
-
:where(.theme-scope)
|
|
77299
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77300
|
-
.er-whole-series-run-card__capacity,
|
|
77301
|
-
:where(.theme-scope)
|
|
77302
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77303
|
-
.er-whole-series-run-card__venue {
|
|
77304
|
-
margin: 0.25rem 0 0 0;
|
|
77305
|
-
opacity: 0.85;
|
|
76215
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
76216
|
+
text-align: left;
|
|
77306
76217
|
}
|
|
77307
76218
|
|
|
77308
|
-
|
|
77309
|
-
|
|
77310
|
-
|
|
77311
|
-
|
|
77312
|
-
:where(.theme-scope)
|
|
77313
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77314
|
-
.er-whole-series-capacity-badge {
|
|
77315
|
-
display: inline-block;
|
|
77316
|
-
padding: 0.125rem 0.5rem;
|
|
77317
|
-
border-radius: 9999px;
|
|
77318
|
-
font-size: 0.75rem;
|
|
77319
|
-
font-weight: 500;
|
|
76219
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
76220
|
+
display: flex;
|
|
76221
|
+
flex-direction: column;
|
|
76222
|
+
gap: 1rem;
|
|
77320
76223
|
}
|
|
77321
76224
|
|
|
77322
|
-
:where(.theme-scope)
|
|
77323
|
-
:
|
|
77324
|
-
|
|
77325
|
-
|
|
77326
|
-
color: var(--er-capacity-available-text);
|
|
77327
|
-
}
|
|
77328
|
-
|
|
77329
|
-
:where(.theme-scope)
|
|
77330
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77331
|
-
.er-whole-series-capacity-badge--low {
|
|
77332
|
-
background: var(--er-capacity-low-bg);
|
|
77333
|
-
color: var(--er-capacity-low-text);
|
|
77334
|
-
}
|
|
77335
|
-
|
|
77336
|
-
:where(.theme-scope)
|
|
77337
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77338
|
-
.er-whole-series-capacity-badge--soldout {
|
|
77339
|
-
background: var(--er-capacity-soldout-bg);
|
|
77340
|
-
color: var(--er-capacity-soldout-text);
|
|
77341
|
-
}
|
|
77342
|
-
|
|
77343
|
-
/* =============================================================================
|
|
77344
|
-
* Summary + Details
|
|
77345
|
-
* =============================================================================
|
|
77346
|
-
*/
|
|
77347
|
-
:where(.theme-scope)
|
|
77348
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77349
|
-
.er-whole-series-details {
|
|
77350
|
-
display: grid;
|
|
77351
|
-
gap: 1rem;
|
|
77352
|
-
}
|
|
77353
|
-
|
|
77354
|
-
:where(.theme-scope)
|
|
77355
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77356
|
-
.er-whole-series-summary {
|
|
77357
|
-
border-radius: var(--rb-block-radius);
|
|
77358
|
-
border: 1px solid var(--er-summary-border);
|
|
77359
|
-
padding: 1rem;
|
|
77360
|
-
background: var(--er-summary-bg);
|
|
77361
|
-
}
|
|
77362
|
-
|
|
77363
|
-
:where(.theme-scope)
|
|
77364
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77365
|
-
.er-whole-series-summary__title {
|
|
77366
|
-
margin: 0;
|
|
77367
|
-
font-size: 1.25rem;
|
|
77368
|
-
font-weight: 800;
|
|
77369
|
-
}
|
|
77370
|
-
|
|
77371
|
-
:where(.theme-scope)
|
|
77372
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77373
|
-
.er-whole-series-summary__sessions-title {
|
|
77374
|
-
margin: 0.75rem 0 0.5rem 0;
|
|
77375
|
-
font-weight: 700;
|
|
77376
|
-
}
|
|
77377
|
-
|
|
77378
|
-
:where(.theme-scope)
|
|
77379
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77380
|
-
.er-whole-series-summary__sessions-list {
|
|
77381
|
-
list-style: none;
|
|
77382
|
-
padding: 0;
|
|
77383
|
-
margin: 0;
|
|
77384
|
-
display: grid;
|
|
77385
|
-
gap: 0.35rem;
|
|
77386
|
-
}
|
|
77387
|
-
|
|
77388
|
-
:where(.theme-scope)
|
|
77389
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77390
|
-
.er-whole-series-summary__session {
|
|
77391
|
-
opacity: 0.9;
|
|
77392
|
-
}
|
|
77393
|
-
|
|
77394
|
-
:where(.theme-scope)
|
|
77395
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77396
|
-
.er-whole-series-summary__venue,
|
|
77397
|
-
:where(.theme-scope)
|
|
77398
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77399
|
-
.er-whole-series-summary__price,
|
|
77400
|
-
:where(.theme-scope)
|
|
77401
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77402
|
-
.er-whole-series-summary__membership {
|
|
77403
|
-
margin: 0.5rem 0 0 0;
|
|
77404
|
-
opacity: 0.9;
|
|
77405
|
-
}
|
|
77406
|
-
|
|
77407
|
-
/* =============================================================================
|
|
77408
|
-
* Form
|
|
77409
|
-
* =============================================================================
|
|
77410
|
-
*/
|
|
77411
|
-
:where(.theme-scope)
|
|
77412
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77413
|
-
.er-whole-series-form {
|
|
77414
|
-
display: grid;
|
|
77415
|
-
gap: 1rem;
|
|
77416
|
-
}
|
|
77417
|
-
|
|
77418
|
-
:where(.theme-scope)
|
|
77419
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77420
|
-
.er-whole-series-form__field {
|
|
77421
|
-
display: grid;
|
|
77422
|
-
gap: 0.35rem;
|
|
77423
|
-
}
|
|
77424
|
-
|
|
77425
|
-
:where(.theme-scope)
|
|
77426
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77427
|
-
.er-whole-series-form__label {
|
|
77428
|
-
font-size: 0.875rem;
|
|
77429
|
-
font-weight: 600;
|
|
77430
|
-
}
|
|
77431
|
-
|
|
77432
|
-
:where(.theme-scope)
|
|
77433
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77434
|
-
.er-whole-series-form__label--required::after {
|
|
77435
|
-
content: ' *';
|
|
77436
|
-
color: var(--er-required);
|
|
77437
|
-
}
|
|
77438
|
-
|
|
77439
|
-
:where(.theme-scope)
|
|
77440
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77441
|
-
.er-whole-series-form__input {
|
|
77442
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
77443
|
-
border: 1px solid var(--er-border);
|
|
77444
|
-
padding: 0.6rem 0.75rem;
|
|
77445
|
-
background: rgb(var(--tb-background));
|
|
77446
|
-
color: rgb(var(--tb-foreground));
|
|
77447
|
-
}
|
|
77448
|
-
|
|
77449
|
-
:where(.theme-scope)
|
|
77450
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77451
|
-
.er-whole-series-form__textarea {
|
|
77452
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
77453
|
-
border: 1px solid var(--er-border);
|
|
77454
|
-
padding: 0.6rem 0.75rem;
|
|
77455
|
-
background: rgb(var(--tb-background));
|
|
77456
|
-
color: rgb(var(--tb-foreground));
|
|
77457
|
-
resize: vertical;
|
|
77458
|
-
}
|
|
77459
|
-
|
|
77460
|
-
:where(.theme-scope)
|
|
77461
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77462
|
-
.er-whole-series-form__input:focus,
|
|
77463
|
-
:where(.theme-scope)
|
|
77464
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77465
|
-
.er-whole-series-form__textarea:focus {
|
|
77466
|
-
outline: 2px solid var(--er-focus-ring);
|
|
77467
|
-
outline-offset: 2px;
|
|
77468
|
-
}
|
|
77469
|
-
|
|
77470
|
-
:where(.theme-scope)
|
|
77471
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77472
|
-
.er-whole-series-form__input--error,
|
|
77473
|
-
:where(.theme-scope)
|
|
77474
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77475
|
-
.er-whole-series-form__textarea.er-whole-series-form__input--error {
|
|
77476
|
-
border-color: var(--er-border-error);
|
|
77477
|
-
}
|
|
77478
|
-
|
|
77479
|
-
:where(.theme-scope)
|
|
77480
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77481
|
-
.er-whole-series-form__error {
|
|
77482
|
-
font-size: 0.875rem;
|
|
77483
|
-
color: var(--er-error-text);
|
|
77484
|
-
}
|
|
77485
|
-
|
|
77486
|
-
:where(.theme-scope)
|
|
77487
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77488
|
-
.er-whole-series-form__hint {
|
|
77489
|
-
font-size: 0.875rem;
|
|
77490
|
-
opacity: 0.7;
|
|
77491
|
-
}
|
|
77492
|
-
|
|
77493
|
-
/* Logged-in user hint with logout link */
|
|
77494
|
-
:where(.theme-scope)
|
|
77495
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77496
|
-
.er-whole-series-logged-in-hint {
|
|
77497
|
-
font-size: 0.875rem;
|
|
77498
|
-
opacity: 0.7;
|
|
77499
|
-
margin: 0.25rem 0 0 0;
|
|
77500
|
-
}
|
|
77501
|
-
|
|
77502
|
-
:where(.theme-scope)
|
|
77503
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77504
|
-
.er-whole-series-link {
|
|
77505
|
-
background: none;
|
|
77506
|
-
border: none;
|
|
77507
|
-
padding: 0;
|
|
77508
|
-
font-size: inherit;
|
|
77509
|
-
color: rgb(var(--tb-primary));
|
|
77510
|
-
cursor: pointer;
|
|
77511
|
-
text-decoration: underline;
|
|
77512
|
-
text-underline-offset: 2px;
|
|
77513
|
-
}
|
|
77514
|
-
|
|
77515
|
-
:where(.theme-scope)
|
|
77516
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77517
|
-
.er-whole-series-link:hover {
|
|
77518
|
-
text-decoration: none;
|
|
77519
|
-
}
|
|
77520
|
-
|
|
77521
|
-
/* =============================================================================
|
|
77522
|
-
* Actions
|
|
77523
|
-
* =============================================================================
|
|
77524
|
-
*/
|
|
77525
|
-
:where(.theme-scope)
|
|
77526
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77527
|
-
.er-whole-series-actions {
|
|
77528
|
-
display: flex;
|
|
77529
|
-
align-items: center;
|
|
77530
|
-
justify-content: space-between;
|
|
77531
|
-
gap: 0.75rem;
|
|
77532
|
-
margin-top: 0.25rem;
|
|
77533
|
-
}
|
|
77534
|
-
|
|
77535
|
-
:where(.theme-scope)
|
|
77536
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77537
|
-
.er-whole-series-back-btn {
|
|
77538
|
-
border: 0;
|
|
77539
|
-
background: transparent;
|
|
77540
|
-
color: var(--er-on-surface);
|
|
77541
|
-
opacity: 0.8;
|
|
77542
|
-
padding: 0.25rem 0.25rem;
|
|
77543
|
-
cursor: pointer;
|
|
77544
|
-
}
|
|
77545
|
-
|
|
77546
|
-
:where(.theme-scope)
|
|
77547
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77548
|
-
.er-whole-series-back-btn:hover {
|
|
77549
|
-
opacity: 1;
|
|
77550
|
-
text-decoration: underline;
|
|
77551
|
-
}
|
|
77552
|
-
|
|
77553
|
-
/* =============================================================================
|
|
77554
|
-
* Payment Options
|
|
77555
|
-
* =============================================================================
|
|
77556
|
-
*/
|
|
77557
|
-
:where(.theme-scope)
|
|
77558
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77559
|
-
.er-whole-series-payment__options {
|
|
77560
|
-
display: grid;
|
|
77561
|
-
gap: 0.5rem;
|
|
77562
|
-
}
|
|
77563
|
-
|
|
77564
|
-
:where(.theme-scope)
|
|
77565
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77566
|
-
.er-whole-series-payment__option {
|
|
77567
|
-
display: flex;
|
|
77568
|
-
align-items: center;
|
|
77569
|
-
gap: 0.5rem;
|
|
77570
|
-
}
|
|
77571
|
-
|
|
77572
|
-
/* =============================================================================
|
|
77573
|
-
* Payment Tiles (Card Grid)
|
|
77574
|
-
* =============================================================================
|
|
77575
|
-
*/
|
|
77576
|
-
:where(.theme-scope)
|
|
77577
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77578
|
-
.er-whole-series-payment-tiles {
|
|
77579
|
-
display: grid;
|
|
77580
|
-
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
77581
|
-
gap: 0.75rem;
|
|
77582
|
-
}
|
|
77583
|
-
|
|
77584
|
-
:where(.theme-scope)
|
|
77585
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77586
|
-
.er-whole-series-payment-tile {
|
|
77587
|
-
border-radius: var(--rb-block-radius);
|
|
77588
|
-
border: 1px solid var(--er-payment-border);
|
|
77589
|
-
padding: 1rem;
|
|
77590
|
-
background: rgb(var(--tb-background));
|
|
77591
|
-
cursor: pointer;
|
|
77592
|
-
transition:
|
|
77593
|
-
border-color 0.15s ease,
|
|
77594
|
-
box-shadow 0.15s ease,
|
|
77595
|
-
background-color 0.15s ease;
|
|
77596
|
-
position: relative;
|
|
77597
|
-
}
|
|
77598
|
-
|
|
77599
|
-
:where(.theme-scope)
|
|
77600
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77601
|
-
.er-whole-series-payment-tile:hover {
|
|
77602
|
-
border-color: var(--er-payment-border-hover);
|
|
77603
|
-
}
|
|
77604
|
-
|
|
77605
|
-
:where(.theme-scope)
|
|
77606
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77607
|
-
.er-whole-series-payment-tile:focus-visible {
|
|
77608
|
-
outline: 2px solid var(--er-focus-ring);
|
|
77609
|
-
outline-offset: 2px;
|
|
77610
|
-
}
|
|
77611
|
-
|
|
77612
|
-
:where(.theme-scope)
|
|
77613
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77614
|
-
.er-whole-series-payment-tile--selected {
|
|
77615
|
-
border-color: var(--er-payment-border-selected);
|
|
77616
|
-
background: var(--er-payment-bg-selected);
|
|
77617
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
77618
|
-
}
|
|
77619
|
-
|
|
77620
|
-
:where(.theme-scope)
|
|
77621
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77622
|
-
.er-whole-series-payment-tile--upsell {
|
|
77623
|
-
border-style: dashed;
|
|
77624
|
-
}
|
|
77625
|
-
|
|
77626
|
-
:where(.theme-scope)
|
|
77627
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77628
|
-
.er-whole-series-payment-tile__header {
|
|
77629
|
-
display: flex;
|
|
77630
|
-
align-items: flex-start;
|
|
77631
|
-
justify-content: space-between;
|
|
77632
|
-
gap: 0.5rem;
|
|
77633
|
-
}
|
|
77634
|
-
|
|
77635
|
-
:where(.theme-scope)
|
|
77636
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77637
|
-
.er-whole-series-payment-tile__name {
|
|
77638
|
-
margin: 0;
|
|
77639
|
-
font-weight: 600;
|
|
77640
|
-
font-size: 1rem;
|
|
77641
|
-
}
|
|
77642
|
-
|
|
77643
|
-
:where(.theme-scope)
|
|
77644
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77645
|
-
.er-whole-series-payment-tile__description {
|
|
77646
|
-
margin: 0.25rem 0 0 0;
|
|
77647
|
-
font-size: 0.875rem;
|
|
77648
|
-
opacity: 0.7;
|
|
77649
|
-
}
|
|
77650
|
-
|
|
77651
|
-
:where(.theme-scope)
|
|
77652
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77653
|
-
.er-whole-series-payment-tile__price {
|
|
77654
|
-
font-weight: 600;
|
|
77655
|
-
font-size: 0.875rem;
|
|
77656
|
-
white-space: nowrap;
|
|
77657
|
-
}
|
|
77658
|
-
|
|
77659
|
-
:where(.theme-scope)
|
|
77660
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77661
|
-
.er-whole-series-payment-tile__badge {
|
|
77662
|
-
display: inline-block;
|
|
77663
|
-
padding: 0.125rem 0.5rem;
|
|
77664
|
-
border-radius: 9999px;
|
|
77665
|
-
font-size: 0.75rem;
|
|
77666
|
-
font-weight: 500;
|
|
77667
|
-
margin-top: 0.5rem;
|
|
77668
|
-
}
|
|
77669
|
-
|
|
77670
|
-
/* Checkmark indicator on selected tile */
|
|
77671
|
-
:where(.theme-scope)
|
|
77672
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77673
|
-
.er-whole-series-payment-tile__check {
|
|
77674
|
-
position: absolute;
|
|
77675
|
-
top: 0.5rem;
|
|
77676
|
-
right: 0.5rem;
|
|
77677
|
-
width: 1.25rem;
|
|
77678
|
-
height: 1.25rem;
|
|
77679
|
-
border-radius: 9999px;
|
|
77680
|
-
background: var(--er-check-bg);
|
|
77681
|
-
color: var(--er-check-text);
|
|
77682
|
-
display: flex;
|
|
77683
|
-
align-items: center;
|
|
77684
|
-
justify-content: center;
|
|
77685
|
-
opacity: 0;
|
|
77686
|
-
transition: opacity 0.15s ease;
|
|
77687
|
-
}
|
|
77688
|
-
|
|
77689
|
-
:where(.theme-scope)
|
|
77690
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77691
|
-
.er-whole-series-payment-tile--selected
|
|
77692
|
-
.er-whole-series-payment-tile__check {
|
|
77693
|
-
opacity: 1;
|
|
77694
|
-
}
|
|
77695
|
-
|
|
77696
|
-
/* =============================================================================
|
|
77697
|
-
* Booking Mode Step
|
|
77698
|
-
* =============================================================================
|
|
77699
|
-
*/
|
|
77700
|
-
:where(.theme-scope)
|
|
77701
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77702
|
-
.er-whole-series-booking-mode {
|
|
77703
|
-
display: grid;
|
|
77704
|
-
gap: 1rem;
|
|
77705
|
-
}
|
|
77706
|
-
|
|
77707
|
-
:where(.theme-scope)
|
|
77708
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77709
|
-
.er-whole-series-booking-mode__title {
|
|
77710
|
-
margin: 0;
|
|
77711
|
-
font-size: var(--er-step-title-size);
|
|
77712
|
-
font-weight: 700;
|
|
77713
|
-
}
|
|
77714
|
-
|
|
77715
|
-
:where(.theme-scope)
|
|
77716
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77717
|
-
.er-whole-series-booking-mode__subtitle {
|
|
77718
|
-
margin: 0.25rem 0 0 0;
|
|
77719
|
-
opacity: 0.7;
|
|
77720
|
-
}
|
|
77721
|
-
|
|
77722
|
-
:where(.theme-scope)
|
|
77723
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77724
|
-
.er-whole-series-booking-mode__link {
|
|
77725
|
-
margin-top: 0.5rem;
|
|
77726
|
-
font-size: 0.875rem;
|
|
77727
|
-
}
|
|
77728
|
-
|
|
77729
|
-
:where(.theme-scope)
|
|
77730
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77731
|
-
.er-whole-series-booking-mode__link
|
|
77732
|
-
a {
|
|
77733
|
-
color: rgb(var(--tb-primary));
|
|
77734
|
-
text-decoration: underline;
|
|
77735
|
-
cursor: pointer;
|
|
77736
|
-
}
|
|
77737
|
-
|
|
77738
|
-
:where(.theme-scope)
|
|
77739
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77740
|
-
.er-whole-series-booking-mode__link
|
|
77741
|
-
a:hover {
|
|
77742
|
-
text-decoration: none;
|
|
77743
|
-
}
|
|
77744
|
-
|
|
77745
|
-
/* =============================================================================
|
|
77746
|
-
* Membership Hero
|
|
77747
|
-
* =============================================================================
|
|
77748
|
-
*/
|
|
77749
|
-
:where(.theme-scope)
|
|
77750
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77751
|
-
.er-whole-series-membership-hero {
|
|
77752
|
-
border-radius: var(--rb-block-radius);
|
|
77753
|
-
background: var(--er-success-bg);
|
|
77754
|
-
border: 1px solid rgba(var(--tb-success), 0.2);
|
|
77755
|
-
padding: 1.5rem;
|
|
77756
|
-
text-align: center;
|
|
77757
|
-
}
|
|
77758
|
-
|
|
77759
|
-
:where(.theme-scope)
|
|
77760
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77761
|
-
.er-whole-series-membership-hero__icon {
|
|
77762
|
-
font-size: 2rem;
|
|
77763
|
-
margin-bottom: 0.75rem;
|
|
77764
|
-
}
|
|
77765
|
-
|
|
77766
|
-
:where(.theme-scope)
|
|
77767
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77768
|
-
.er-whole-series-membership-hero__title {
|
|
77769
|
-
margin: 0;
|
|
77770
|
-
font-size: 1.25rem;
|
|
77771
|
-
font-weight: 700;
|
|
77772
|
-
color: var(--er-success-text);
|
|
77773
|
-
}
|
|
77774
|
-
|
|
77775
|
-
:where(.theme-scope)
|
|
77776
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77777
|
-
.er-whole-series-membership-hero__subtitle {
|
|
77778
|
-
margin: 0.25rem 0 0 0;
|
|
77779
|
-
font-size: 0.875rem;
|
|
77780
|
-
opacity: 0.8;
|
|
77781
|
-
}
|
|
77782
|
-
|
|
77783
|
-
/* =============================================================================
|
|
77784
|
-
* Portal Auth Sidebar
|
|
77785
|
-
* =============================================================================
|
|
77786
|
-
*/
|
|
77787
|
-
:where(.theme-scope)
|
|
77788
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77789
|
-
.er-whole-series-portal-sidebar {
|
|
77790
|
-
border-radius: var(--rb-block-radius);
|
|
77791
|
-
border: 1px solid var(--er-border);
|
|
77792
|
-
padding: 1.25rem;
|
|
77793
|
-
background: rgb(var(--tb-surface));
|
|
77794
|
-
color: var(--er-on-surface);
|
|
77795
|
-
}
|
|
77796
|
-
|
|
77797
|
-
:where(.theme-scope)
|
|
77798
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77799
|
-
.er-whole-series-portal-sidebar__icon {
|
|
77800
|
-
font-size: 1.5rem;
|
|
77801
|
-
margin-bottom: 0.5rem;
|
|
77802
|
-
}
|
|
77803
|
-
|
|
77804
|
-
:where(.theme-scope)
|
|
77805
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77806
|
-
.er-whole-series-portal-sidebar__title {
|
|
77807
|
-
margin: 0;
|
|
77808
|
-
font-size: 1rem;
|
|
77809
|
-
font-weight: 600;
|
|
77810
|
-
}
|
|
77811
|
-
|
|
77812
|
-
:where(.theme-scope)
|
|
77813
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77814
|
-
.er-whole-series-portal-sidebar__text {
|
|
77815
|
-
margin: 0.5rem 0 0 0;
|
|
77816
|
-
font-size: 0.875rem;
|
|
77817
|
-
opacity: 0.8;
|
|
77818
|
-
}
|
|
77819
|
-
|
|
77820
|
-
:where(.theme-scope)
|
|
77821
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77822
|
-
.er-whole-series-portal-sidebar__action {
|
|
77823
|
-
margin-top: 1rem;
|
|
77824
|
-
}
|
|
77825
|
-
|
|
77826
|
-
:where(.theme-scope)
|
|
77827
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77828
|
-
.er-whole-series-portal-sidebar__link {
|
|
77829
|
-
color: rgb(var(--tb-primary));
|
|
77830
|
-
cursor: pointer;
|
|
77831
|
-
text-decoration: underline;
|
|
77832
|
-
font-size: 0.875rem;
|
|
77833
|
-
}
|
|
77834
|
-
|
|
77835
|
-
:where(.theme-scope)
|
|
77836
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77837
|
-
.er-whole-series-portal-sidebar__link:hover {
|
|
77838
|
-
text-decoration: none;
|
|
77839
|
-
}
|
|
77840
|
-
|
|
77841
|
-
/* =============================================================================
|
|
77842
|
-
* Modal (for Magic Link)
|
|
77843
|
-
* =============================================================================
|
|
77844
|
-
*/
|
|
77845
|
-
:where(.theme-scope)
|
|
77846
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77847
|
-
.er-whole-series-modal-overlay {
|
|
77848
|
-
position: fixed;
|
|
77849
|
-
inset: 0;
|
|
77850
|
-
background: rgba(var(--tb-scrim), 0.5);
|
|
77851
|
-
display: flex;
|
|
77852
|
-
align-items: center;
|
|
77853
|
-
justify-content: center;
|
|
77854
|
-
z-index: 100;
|
|
77855
|
-
animation: er-whole-series-fade-in 0.15s ease;
|
|
77856
|
-
}
|
|
77857
|
-
|
|
77858
|
-
:where(.theme-scope)
|
|
77859
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77860
|
-
.er-whole-series-modal {
|
|
77861
|
-
background: rgb(var(--tb-surface));
|
|
77862
|
-
color: var(--er-on-surface);
|
|
77863
|
-
border-radius: var(--rb-block-radius);
|
|
77864
|
-
padding: 1.5rem;
|
|
77865
|
-
max-width: 28rem;
|
|
77866
|
-
width: calc(100% - 2rem);
|
|
77867
|
-
position: relative;
|
|
77868
|
-
animation: er-whole-series-slide-up 0.2s ease;
|
|
77869
|
-
}
|
|
77870
|
-
|
|
77871
|
-
:where(.theme-scope)
|
|
77872
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77873
|
-
.er-whole-series-modal-close {
|
|
77874
|
-
position: absolute;
|
|
77875
|
-
top: 0.75rem;
|
|
77876
|
-
right: 0.75rem;
|
|
77877
|
-
background: transparent;
|
|
77878
|
-
border: 0;
|
|
77879
|
-
padding: 0.25rem;
|
|
77880
|
-
cursor: pointer;
|
|
77881
|
-
opacity: 0.6;
|
|
77882
|
-
transition: opacity 0.15s ease;
|
|
77883
|
-
}
|
|
77884
|
-
|
|
77885
|
-
:where(.theme-scope)
|
|
77886
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77887
|
-
.er-whole-series-modal-close:hover {
|
|
77888
|
-
opacity: 1;
|
|
77889
|
-
}
|
|
77890
|
-
|
|
77891
|
-
@keyframes er-whole-series-fade-in {
|
|
77892
|
-
from {
|
|
77893
|
-
opacity: 0;
|
|
77894
|
-
}
|
|
77895
|
-
to {
|
|
77896
|
-
opacity: 1;
|
|
77897
|
-
}
|
|
77898
|
-
}
|
|
77899
|
-
|
|
77900
|
-
@keyframes er-whole-series-slide-up {
|
|
77901
|
-
from {
|
|
77902
|
-
opacity: 0;
|
|
77903
|
-
transform: translateY(10px);
|
|
77904
|
-
}
|
|
77905
|
-
to {
|
|
77906
|
-
opacity: 1;
|
|
77907
|
-
transform: translateY(0);
|
|
77908
|
-
}
|
|
77909
|
-
}
|
|
77910
|
-
|
|
77911
|
-
/* Reduced motion */
|
|
77912
|
-
@media (prefers-reduced-motion: reduce) {
|
|
77913
|
-
:where(.theme-scope)
|
|
77914
|
-
:where(
|
|
77915
|
-
[data-block='event-registration'],
|
|
77916
|
-
[data-block='course-registration']
|
|
77917
|
-
)
|
|
77918
|
-
.er-whole-series-modal-overlay,
|
|
77919
|
-
:where(.theme-scope)
|
|
77920
|
-
:where(
|
|
77921
|
-
[data-block='event-registration'],
|
|
77922
|
-
[data-block='course-registration']
|
|
77923
|
-
)
|
|
77924
|
-
.er-whole-series-modal {
|
|
77925
|
-
animation: none;
|
|
77926
|
-
}
|
|
77927
|
-
}
|
|
77928
|
-
|
|
77929
|
-
/* =============================================================================
|
|
77930
|
-
* Center States
|
|
77931
|
-
* =============================================================================
|
|
77932
|
-
*/
|
|
77933
|
-
:where(.theme-scope)
|
|
77934
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77935
|
-
.er-whole-series-center {
|
|
77936
|
-
display: grid;
|
|
77937
|
-
place-items: center;
|
|
77938
|
-
gap: 0.75rem;
|
|
77939
|
-
padding: 2rem 0;
|
|
77940
|
-
}
|
|
77941
|
-
|
|
77942
|
-
/* =============================================================================
|
|
77943
|
-
* Success/Waitlist/Error States
|
|
77944
|
-
* =============================================================================
|
|
77945
|
-
*/
|
|
77946
|
-
:where(.theme-scope)
|
|
77947
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77948
|
-
.er-whole-series-success,
|
|
77949
|
-
:where(.theme-scope)
|
|
77950
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77951
|
-
.er-whole-series-waitlist,
|
|
77952
|
-
:where(.theme-scope)
|
|
77953
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77954
|
-
.er-whole-series-error,
|
|
77955
|
-
:where(.theme-scope)
|
|
77956
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77957
|
-
.er-whole-series-payment-failed {
|
|
77958
|
-
text-align: center;
|
|
77959
|
-
padding: 2rem 1rem;
|
|
77960
|
-
}
|
|
77961
|
-
|
|
77962
|
-
/* State icon color variants (layout from registration-surface.css) */
|
|
77963
|
-
:where(.theme-scope)
|
|
77964
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77965
|
-
.rb-state-icon--success {
|
|
77966
|
-
background: var(--er-success-bg);
|
|
77967
|
-
color: var(--er-success-text);
|
|
77968
|
-
}
|
|
77969
|
-
|
|
77970
|
-
:where(.theme-scope)
|
|
77971
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77972
|
-
.rb-state-icon--error {
|
|
77973
|
-
background: var(--er-error-bg);
|
|
77974
|
-
color: var(--er-error-text);
|
|
77975
|
-
}
|
|
77976
|
-
|
|
77977
|
-
:where(.theme-scope)
|
|
77978
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77979
|
-
.rb-state-icon--waitlist,
|
|
77980
|
-
:where(.theme-scope)
|
|
77981
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77982
|
-
.rb-state-icon--warning {
|
|
77983
|
-
background: var(--er-waitlist-bg);
|
|
77984
|
-
color: var(--er-waitlist-text);
|
|
77985
|
-
}
|
|
77986
|
-
|
|
77987
|
-
:where(.theme-scope)
|
|
77988
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77989
|
-
.er-whole-series-success__title,
|
|
77990
|
-
:where(.theme-scope)
|
|
77991
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77992
|
-
.er-whole-series-waitlist__title,
|
|
77993
|
-
:where(.theme-scope)
|
|
77994
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77995
|
-
.er-whole-series-error__title,
|
|
77996
|
-
:where(.theme-scope)
|
|
77997
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
77998
|
-
.er-whole-series-payment-failed__title {
|
|
77999
|
-
margin: 0.75rem 0 0.5rem 0;
|
|
78000
|
-
font-size: 1.125rem;
|
|
78001
|
-
font-weight: 700;
|
|
78002
|
-
}
|
|
78003
|
-
|
|
78004
|
-
:where(.theme-scope)
|
|
78005
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78006
|
-
.er-whole-series-success__message,
|
|
78007
|
-
:where(.theme-scope)
|
|
78008
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78009
|
-
.er-whole-series-waitlist__message,
|
|
78010
|
-
:where(.theme-scope)
|
|
78011
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78012
|
-
.er-whole-series-error__message,
|
|
78013
|
-
:where(.theme-scope)
|
|
78014
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78015
|
-
.er-whole-series-payment-failed__message {
|
|
78016
|
-
margin: 0;
|
|
78017
|
-
opacity: 0.7;
|
|
78018
|
-
}
|
|
78019
|
-
|
|
78020
|
-
:where(.theme-scope)
|
|
78021
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78022
|
-
.er-whole-series-success__membership {
|
|
78023
|
-
margin-top: 0.5rem;
|
|
78024
|
-
font-size: 0.875rem;
|
|
78025
|
-
color: var(--er-success-text);
|
|
78026
|
-
}
|
|
78027
|
-
|
|
78028
|
-
:where(.theme-scope)
|
|
78029
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78030
|
-
.er-whole-series-error__retry,
|
|
78031
|
-
:where(.theme-scope)
|
|
78032
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78033
|
-
.er-whole-series-payment-failed__retry {
|
|
78034
|
-
margin-top: 1rem;
|
|
78035
|
-
}
|
|
78036
|
-
|
|
78037
|
-
/* =============================================================================
|
|
78038
|
-
* Discount Code Section
|
|
78039
|
-
* =============================================================================
|
|
78040
|
-
*/
|
|
78041
|
-
:where(.theme-scope)
|
|
78042
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78043
|
-
.er-whole-series-discount {
|
|
78044
|
-
margin-top: 0.5rem;
|
|
78045
|
-
}
|
|
78046
|
-
|
|
78047
|
-
:where(.theme-scope)
|
|
78048
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78049
|
-
.er-whole-series-discount__form {
|
|
78050
|
-
display: grid;
|
|
78051
|
-
gap: 0.5rem;
|
|
78052
|
-
}
|
|
78053
|
-
|
|
78054
|
-
:where(.theme-scope)
|
|
78055
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78056
|
-
.er-whole-series-discount__toggle {
|
|
78057
|
-
background: transparent;
|
|
78058
|
-
border: 0;
|
|
78059
|
-
padding: 0;
|
|
78060
|
-
color: rgb(var(--tb-primary));
|
|
78061
|
-
cursor: pointer;
|
|
78062
|
-
font-size: 0.875rem;
|
|
78063
|
-
text-decoration: underline;
|
|
78064
|
-
}
|
|
78065
|
-
|
|
78066
|
-
:where(.theme-scope)
|
|
78067
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78068
|
-
.er-whole-series-discount__toggle:hover {
|
|
78069
|
-
text-decoration: none;
|
|
78070
|
-
}
|
|
78071
|
-
|
|
78072
|
-
:where(.theme-scope)
|
|
78073
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78074
|
-
.er-whole-series-discount__label {
|
|
78075
|
-
font-size: 0.875rem;
|
|
78076
|
-
font-weight: 600;
|
|
78077
|
-
}
|
|
78078
|
-
|
|
78079
|
-
:where(.theme-scope)
|
|
78080
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78081
|
-
.er-whole-series-discount__row {
|
|
78082
|
-
display: flex;
|
|
78083
|
-
gap: 0.5rem;
|
|
78084
|
-
}
|
|
78085
|
-
|
|
78086
|
-
:where(.theme-scope)
|
|
78087
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78088
|
-
.er-whole-series-discount__input {
|
|
78089
|
-
flex: 1;
|
|
78090
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
78091
|
-
border: 1px solid var(--er-border);
|
|
78092
|
-
padding: 0.5rem 0.75rem;
|
|
78093
|
-
background: rgb(var(--tb-background));
|
|
78094
|
-
color: rgb(var(--tb-foreground));
|
|
78095
|
-
font-size: 0.875rem;
|
|
78096
|
-
}
|
|
78097
|
-
|
|
78098
|
-
:where(.theme-scope)
|
|
78099
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78100
|
-
.er-whole-series-discount__input:focus {
|
|
78101
|
-
outline: 2px solid var(--er-focus-ring);
|
|
78102
|
-
outline-offset: 2px;
|
|
78103
|
-
}
|
|
78104
|
-
|
|
78105
|
-
:where(.theme-scope)
|
|
78106
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78107
|
-
.er-whole-series-discount__remove {
|
|
78108
|
-
background: transparent;
|
|
78109
|
-
border: 0;
|
|
78110
|
-
padding: 0.25rem;
|
|
78111
|
-
cursor: pointer;
|
|
78112
|
-
opacity: 0.6;
|
|
78113
|
-
}
|
|
78114
|
-
|
|
78115
|
-
:where(.theme-scope)
|
|
78116
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78117
|
-
.er-whole-series-discount__apply {
|
|
78118
|
-
background: transparent;
|
|
78119
|
-
border: 0;
|
|
78120
|
-
padding: 0.25rem;
|
|
78121
|
-
cursor: pointer;
|
|
78122
|
-
opacity: 0.8;
|
|
78123
|
-
}
|
|
78124
|
-
|
|
78125
|
-
:where(.theme-scope)
|
|
78126
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78127
|
-
.er-whole-series-discount__remove:hover {
|
|
78128
|
-
opacity: 1;
|
|
78129
|
-
}
|
|
78130
|
-
|
|
78131
|
-
:where(.theme-scope)
|
|
78132
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78133
|
-
.er-whole-series-discount__apply:hover {
|
|
78134
|
-
opacity: 1;
|
|
78135
|
-
}
|
|
78136
|
-
|
|
78137
|
-
:where(.theme-scope)
|
|
78138
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78139
|
-
.er-whole-series-discount__hint {
|
|
78140
|
-
margin: 0;
|
|
78141
|
-
font-size: 0.875rem;
|
|
78142
|
-
opacity: 0.7;
|
|
78143
|
-
}
|
|
78144
|
-
|
|
78145
|
-
:where(.theme-scope)
|
|
78146
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78147
|
-
.er-whole-series-discount__feedback {
|
|
78148
|
-
margin: 0;
|
|
78149
|
-
font-size: 0.875rem;
|
|
78150
|
-
}
|
|
78151
|
-
|
|
78152
|
-
/* =============================================================================
|
|
78153
|
-
* Altcha (Spam Protection)
|
|
78154
|
-
* =============================================================================
|
|
78155
|
-
*/
|
|
78156
|
-
:where(.theme-scope)
|
|
78157
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78158
|
-
.er-whole-series-altcha {
|
|
78159
|
-
margin-top: 1rem;
|
|
78160
|
-
}
|
|
78161
|
-
|
|
78162
|
-
/* =============================================================================
|
|
78163
|
-
* Magic Link Form
|
|
78164
|
-
* =============================================================================
|
|
78165
|
-
*/
|
|
78166
|
-
:where(.theme-scope)
|
|
78167
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78168
|
-
.er-whole-series-magic-link-form {
|
|
78169
|
-
display: flex;
|
|
78170
|
-
flex-direction: column;
|
|
78171
|
-
gap: 0.75rem;
|
|
78172
|
-
}
|
|
78173
|
-
|
|
78174
|
-
:where(.theme-scope)
|
|
78175
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78176
|
-
.er-whole-series-magic-link-title {
|
|
78177
|
-
margin: 0;
|
|
78178
|
-
font-size: 1.25rem;
|
|
78179
|
-
font-weight: 700;
|
|
78180
|
-
}
|
|
78181
|
-
|
|
78182
|
-
:where(.theme-scope)
|
|
78183
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78184
|
-
.er-whole-series-magic-link-success {
|
|
78185
|
-
display: flex;
|
|
78186
|
-
flex-direction: column;
|
|
78187
|
-
gap: 0.75rem;
|
|
78188
|
-
}
|
|
78189
|
-
|
|
78190
|
-
:where(.theme-scope)
|
|
78191
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78192
|
-
.er-whole-series-portal-auth-text {
|
|
78193
|
-
margin: 0;
|
|
78194
|
-
font-size: 0.875rem;
|
|
78195
|
-
opacity: 0.8;
|
|
78196
|
-
}
|
|
78197
|
-
|
|
78198
|
-
:where(.theme-scope)
|
|
78199
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78200
|
-
.er-whole-series-portal-auth-text--success {
|
|
78201
|
-
color: var(--er-success-text);
|
|
78202
|
-
}
|
|
78203
|
-
|
|
78204
|
-
:where(.theme-scope)
|
|
78205
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78206
|
-
.er-whole-series-portal-auth-text--error {
|
|
78207
|
-
color: var(--er-error-text);
|
|
78208
|
-
}
|
|
78209
|
-
|
|
78210
|
-
:where(.theme-scope)
|
|
78211
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78212
|
-
.er-whole-series-modal-btn {
|
|
78213
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
78214
|
-
border: 0;
|
|
78215
|
-
padding: 0.6rem 1rem;
|
|
78216
|
-
font-size: 0.875rem;
|
|
78217
|
-
font-weight: 600;
|
|
78218
|
-
cursor: pointer;
|
|
78219
|
-
transition: opacity 0.15s ease;
|
|
78220
|
-
background: rgb(var(--tb-primary));
|
|
78221
|
-
color: rgb(var(--tb-primaryText, 255 255 255));
|
|
78222
|
-
}
|
|
78223
|
-
|
|
78224
|
-
:where(.theme-scope)
|
|
78225
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78226
|
-
.er-whole-series-modal-btn:hover {
|
|
78227
|
-
opacity: 0.9;
|
|
78228
|
-
}
|
|
78229
|
-
|
|
78230
|
-
:where(.theme-scope)
|
|
78231
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78232
|
-
.er-whole-series-modal-btn:disabled {
|
|
78233
|
-
opacity: 0.5;
|
|
78234
|
-
cursor: not-allowed;
|
|
78235
|
-
}
|
|
78236
|
-
|
|
78237
|
-
:where(.theme-scope)
|
|
78238
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78239
|
-
.er-whole-series-modal-btn--secondary {
|
|
78240
|
-
background: transparent;
|
|
78241
|
-
color: var(--er-on-surface);
|
|
78242
|
-
border: 1px solid var(--er-border);
|
|
78243
|
-
}
|
|
78244
|
-
|
|
78245
|
-
:where(.theme-scope)
|
|
78246
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78247
|
-
.er-whole-series-modal-btn--secondary:hover {
|
|
78248
|
-
background: var(--er-on-surface-hover-bg);
|
|
78249
|
-
}
|
|
78250
|
-
|
|
78251
|
-
/* =============================================================================
|
|
78252
|
-
* Utility Classes
|
|
78253
|
-
* =============================================================================
|
|
78254
|
-
*/
|
|
78255
|
-
:where(.theme-scope)
|
|
78256
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78257
|
-
.er-whole-series-text--muted {
|
|
78258
|
-
opacity: 0.7;
|
|
78259
|
-
}
|
|
78260
|
-
|
|
78261
|
-
:where(.theme-scope)
|
|
78262
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78263
|
-
.er-whole-series-text--error {
|
|
78264
|
-
color: var(--er-error-text);
|
|
78265
|
-
}
|
|
78266
|
-
|
|
78267
|
-
:where(.theme-scope)
|
|
78268
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78269
|
-
.er-whole-series-text--success {
|
|
78270
|
-
color: var(--er-success-text);
|
|
78271
|
-
}
|
|
78272
|
-
|
|
78273
|
-
:where(.theme-scope)
|
|
78274
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78275
|
-
.er-whole-series-sr-only {
|
|
78276
|
-
position: absolute;
|
|
78277
|
-
width: 1px;
|
|
78278
|
-
height: 1px;
|
|
78279
|
-
padding: 0;
|
|
78280
|
-
margin: -1px;
|
|
78281
|
-
overflow: hidden;
|
|
78282
|
-
clip: rect(0, 0, 0, 0);
|
|
78283
|
-
white-space: nowrap;
|
|
78284
|
-
border-width: 0;
|
|
78285
|
-
}
|
|
78286
|
-
|
|
78287
|
-
/* Stack utility */
|
|
78288
|
-
:where(.theme-scope)
|
|
78289
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78290
|
-
.er-whole-series-stack {
|
|
78291
|
-
display: flex;
|
|
78292
|
-
flex-direction: column;
|
|
78293
|
-
}
|
|
78294
|
-
|
|
78295
|
-
:where(.theme-scope)
|
|
78296
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78297
|
-
.er-whole-series-stack--gap-sm {
|
|
78298
|
-
gap: 0.5rem;
|
|
78299
|
-
}
|
|
78300
|
-
|
|
78301
|
-
:where(.theme-scope)
|
|
78302
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78303
|
-
.er-whole-series-stack--gap-md {
|
|
78304
|
-
gap: 1rem;
|
|
78305
|
-
}
|
|
78306
|
-
|
|
78307
|
-
:where(.theme-scope)
|
|
78308
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
78309
|
-
.er-whole-series-stack--gap-lg {
|
|
78310
|
-
gap: 1.5rem;
|
|
78311
|
-
}
|
|
78312
|
-
|
|
78313
|
-
/* =============================================================================
|
|
78314
|
-
* Block: Newsletter Signup
|
|
78315
|
-
* =============================================================================
|
|
78316
|
-
*/
|
|
78317
|
-
|
|
78318
|
-
/* Newsletter copy styling */
|
|
78319
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
78320
|
-
font-size: 1.5rem;
|
|
78321
|
-
font-weight: 600;
|
|
78322
|
-
}
|
|
78323
|
-
|
|
78324
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
78325
|
-
font-size: 1rem;
|
|
78326
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
78327
|
-
opacity: 0.85;
|
|
78328
|
-
}
|
|
78329
|
-
|
|
78330
|
-
/* Newsletter form container */
|
|
78331
|
-
:where(.theme-scope) .newsletter-form {
|
|
78332
|
-
width: 100%;
|
|
78333
|
-
max-width: 32rem;
|
|
78334
|
-
margin-left: auto;
|
|
78335
|
-
margin-right: auto;
|
|
78336
|
-
}
|
|
78337
|
-
|
|
78338
|
-
/* Newsletter form fields container */
|
|
78339
|
-
:where(.theme-scope) .newsletter-form-fields {
|
|
78340
|
-
display: flex;
|
|
78341
|
-
flex-direction: column;
|
|
78342
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
78343
|
-
}
|
|
78344
|
-
|
|
78345
|
-
/* Individual field styling */
|
|
78346
|
-
:where(.theme-scope) .newsletter-field {
|
|
78347
|
-
display: flex;
|
|
78348
|
-
flex-direction: column;
|
|
78349
|
-
gap: 0.25rem;
|
|
78350
|
-
}
|
|
78351
|
-
|
|
78352
|
-
/* Required indicator */
|
|
78353
|
-
:where(.theme-scope) .newsletter-required {
|
|
78354
|
-
color: rgb(var(--tb-primary));
|
|
78355
|
-
margin-left: 0.125rem;
|
|
78356
|
-
}
|
|
78357
|
-
|
|
78358
|
-
/* Submit button container */
|
|
78359
|
-
:where(.theme-scope) .newsletter-submit {
|
|
78360
|
-
margin-top: 0.5rem;
|
|
78361
|
-
}
|
|
78362
|
-
|
|
78363
|
-
/* ALTCHA widget container */
|
|
78364
|
-
:where(.theme-scope) .newsletter-altcha {
|
|
78365
|
-
margin-top: 0.75rem;
|
|
78366
|
-
display: flex;
|
|
78367
|
-
justify-content: center;
|
|
78368
|
-
}
|
|
78369
|
-
|
|
78370
|
-
/* Privacy note */
|
|
78371
|
-
:where(.theme-scope) .newsletter-privacy-note {
|
|
78372
|
-
margin-top: 0.75rem;
|
|
78373
|
-
font-size: 1rem;
|
|
78374
|
-
line-height: 1.6;
|
|
78375
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
78376
|
-
text-align: center;
|
|
78377
|
-
}
|
|
78378
|
-
|
|
78379
|
-
/* =============================================================================
|
|
78380
|
-
* Inline Variant - Horizontal layout
|
|
78381
|
-
* =============================================================================
|
|
78382
|
-
*/
|
|
78383
|
-
|
|
78384
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
78385
|
-
flex-direction: row;
|
|
78386
|
-
align-items: flex-end;
|
|
78387
|
-
flex-wrap: wrap;
|
|
78388
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
78389
|
-
}
|
|
78390
|
-
|
|
78391
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
78392
|
-
flex: 1 1 auto;
|
|
78393
|
-
min-width: 10rem;
|
|
78394
|
-
}
|
|
78395
|
-
|
|
78396
|
-
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
78397
|
-
margin-top: 0;
|
|
78398
|
-
flex-shrink: 0;
|
|
78399
|
-
}
|
|
78400
|
-
|
|
78401
|
-
/* Mobile fallback for inline variant */
|
|
78402
|
-
@container rb-site (max-width: 640px) {
|
|
78403
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
78404
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
78405
|
-
flex-direction: column;
|
|
78406
|
-
}
|
|
78407
|
-
|
|
78408
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
78409
|
-
min-width: 100%;
|
|
78410
|
-
}
|
|
78411
|
-
}
|
|
78412
|
-
}
|
|
78413
|
-
|
|
78414
|
-
/* =============================================================================
|
|
78415
|
-
* Editorial Split Variant
|
|
78416
|
-
* =============================================================================
|
|
78417
|
-
*/
|
|
78418
|
-
|
|
78419
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
78420
|
-
display: grid;
|
|
78421
|
-
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
78422
|
-
gap: clamp(2.5rem, 7vw, 7rem);
|
|
78423
|
-
align-items: center;
|
|
78424
|
-
text-align: left;
|
|
78425
|
-
}
|
|
78426
|
-
|
|
78427
|
-
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
78428
|
-
display: flex;
|
|
78429
|
-
flex-direction: column;
|
|
78430
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
78431
|
-
}
|
|
78432
|
-
|
|
78433
|
-
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
78434
|
-
min-width: 0;
|
|
78435
|
-
}
|
|
78436
|
-
|
|
78437
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
78438
|
-
max-width: none;
|
|
78439
|
-
margin-inline: 0;
|
|
78440
|
-
}
|
|
78441
|
-
|
|
78442
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
78443
|
-
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
78444
|
-
font-weight: 500;
|
|
78445
|
-
}
|
|
78446
|
-
|
|
78447
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
78448
|
-
text-align: left;
|
|
78449
|
-
}
|
|
78450
|
-
|
|
78451
|
-
@container rb-site (max-width: 767px) {
|
|
78452
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
78453
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
78454
|
-
grid-template-columns: minmax(0, 1fr);
|
|
78455
|
-
gap: 2rem;
|
|
78456
|
-
}
|
|
78457
|
-
}
|
|
78458
|
-
}
|
|
78459
|
-
|
|
78460
|
-
/* =============================================================================
|
|
78461
|
-
* Success State
|
|
78462
|
-
* =============================================================================
|
|
78463
|
-
*/
|
|
78464
|
-
|
|
78465
|
-
:where(.theme-scope) .newsletter-success {
|
|
78466
|
-
text-align: center;
|
|
78467
|
-
}
|
|
78468
|
-
|
|
78469
|
-
:where(.theme-scope) .newsletter-success .fb-success {
|
|
78470
|
-
padding: 1rem 1.5rem;
|
|
78471
|
-
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
78472
|
-
border-radius: var(--radius-md, 0.5rem);
|
|
78473
|
-
color: rgb(var(--tb-text));
|
|
78474
|
-
}
|
|
78475
|
-
|
|
78476
|
-
/* =============================================================================
|
|
78477
|
-
* Block: Contact + Newsletter
|
|
78478
|
-
* =============================================================================
|
|
78479
|
-
*/
|
|
78480
|
-
|
|
78481
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
78482
|
-
display: grid;
|
|
78483
|
-
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
78484
|
-
gap: clamp(2.5rem, 6vw, 4rem);
|
|
78485
|
-
align-items: start;
|
|
78486
|
-
}
|
|
78487
|
-
|
|
78488
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
78489
|
-
min-width: 0;
|
|
78490
|
-
}
|
|
78491
|
-
|
|
78492
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
78493
|
-
margin-bottom: 1.5rem;
|
|
78494
|
-
}
|
|
78495
|
-
|
|
78496
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
78497
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
78498
|
-
margin: 0 0 0.75rem;
|
|
78499
|
-
}
|
|
78500
|
-
|
|
78501
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
78502
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
78503
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
78504
|
-
}
|
|
78505
|
-
|
|
78506
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
78507
|
-
display: flex;
|
|
78508
|
-
flex-direction: column;
|
|
78509
|
-
align-items: flex-start;
|
|
78510
|
-
}
|
|
78511
|
-
|
|
78512
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
78513
|
-
max-width: none;
|
|
78514
|
-
margin-left: 0;
|
|
78515
|
-
margin-right: 0;
|
|
78516
|
-
}
|
|
78517
|
-
|
|
78518
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
78519
|
-
text-align: left;
|
|
78520
|
-
}
|
|
78521
|
-
|
|
78522
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
78523
|
-
display: flex;
|
|
78524
|
-
flex-direction: column;
|
|
78525
|
-
gap: 1rem;
|
|
78526
|
-
}
|
|
78527
|
-
|
|
78528
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
78529
|
-
display: grid;
|
|
78530
|
-
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
78531
|
-
gap: 1rem;
|
|
76225
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
76226
|
+
display: grid;
|
|
76227
|
+
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
76228
|
+
gap: 1rem;
|
|
78532
76229
|
}
|
|
78533
76230
|
|
|
78534
76231
|
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-field {
|
|
@@ -82375,6 +80072,68 @@ function parsePublicProductCategorySelector(value) {
|
|
|
82375
80072
|
};
|
|
82376
80073
|
}
|
|
82377
80074
|
//#endregion
|
|
80075
|
+
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
80076
|
+
const bookingDepositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
80077
|
+
const bookingInstalmentPlanSchema = z$1.discriminatedUnion("kind", [
|
|
80078
|
+
z$1.object({
|
|
80079
|
+
kind: z$1.literal("deposit_plus_one_remainder"),
|
|
80080
|
+
depositAmountCents: z$1.number().int().nonnegative(),
|
|
80081
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
80082
|
+
remainderDueCount: z$1.number().int().positive(),
|
|
80083
|
+
intervalUnit: z$1.enum([
|
|
80084
|
+
"day",
|
|
80085
|
+
"week",
|
|
80086
|
+
"month"
|
|
80087
|
+
])
|
|
80088
|
+
}),
|
|
80089
|
+
z$1.object({
|
|
80090
|
+
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
80091
|
+
depositAmountCents: z$1.number().int().nonnegative(),
|
|
80092
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
80093
|
+
instalmentCount: z$1.number().int().positive(),
|
|
80094
|
+
intervalCount: z$1.number().int().positive(),
|
|
80095
|
+
intervalUnit: z$1.enum([
|
|
80096
|
+
"day",
|
|
80097
|
+
"week",
|
|
80098
|
+
"month"
|
|
80099
|
+
])
|
|
80100
|
+
}),
|
|
80101
|
+
z$1.object({
|
|
80102
|
+
kind: z$1.literal("equal_scheduled_instalments"),
|
|
80103
|
+
instalmentCount: z$1.number().int().positive(),
|
|
80104
|
+
intervalCount: z$1.number().int().positive(),
|
|
80105
|
+
intervalUnit: z$1.enum([
|
|
80106
|
+
"day",
|
|
80107
|
+
"week",
|
|
80108
|
+
"month"
|
|
80109
|
+
])
|
|
80110
|
+
})
|
|
80111
|
+
]);
|
|
80112
|
+
const bookingFlexibleBalanceDueDateRuleSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
80113
|
+
kind: z$1.literal("relative_to_start_date"),
|
|
80114
|
+
daysBeforeStart: z$1.number().int().positive()
|
|
80115
|
+
}), z$1.object({
|
|
80116
|
+
kind: z$1.literal("fixed_calendar_date"),
|
|
80117
|
+
dueAt: z$1.string().datetime()
|
|
80118
|
+
})]);
|
|
80119
|
+
const bookingFlexibleBalanceConfigSchema = z$1.object({
|
|
80120
|
+
upfrontAmountCents: z$1.number().int().nonnegative(),
|
|
80121
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
80122
|
+
depositRefundability: bookingDepositRefundPolicySchema
|
|
80123
|
+
});
|
|
80124
|
+
z$1.discriminatedUnion("kind", [
|
|
80125
|
+
z$1.object({ kind: z$1.literal("upfront") }),
|
|
80126
|
+
z$1.object({ kind: z$1.literal("deferred_manual") }),
|
|
80127
|
+
z$1.object({
|
|
80128
|
+
kind: z$1.literal("instalment_plan"),
|
|
80129
|
+
plan: bookingInstalmentPlanSchema
|
|
80130
|
+
}),
|
|
80131
|
+
z$1.object({
|
|
80132
|
+
kind: z$1.literal("flexible_balance"),
|
|
80133
|
+
config: bookingFlexibleBalanceConfigSchema
|
|
80134
|
+
})
|
|
80135
|
+
]);
|
|
80136
|
+
//#endregion
|
|
82378
80137
|
//#region ../api/src/navigationMenuValidation.ts
|
|
82379
80138
|
function hasChildren(item) {
|
|
82380
80139
|
return Array.isArray(item.children) && item.children.length > 0;
|
|
@@ -83942,40 +81701,6 @@ const BUILTIN_CONTENT_TYPE_SCHEMAS = {
|
|
|
83942
81701
|
plural: "Events"
|
|
83943
81702
|
}
|
|
83944
81703
|
},
|
|
83945
|
-
course: {
|
|
83946
|
-
version: 1,
|
|
83947
|
-
fields: [
|
|
83948
|
-
{
|
|
83949
|
-
id: "summary",
|
|
83950
|
-
type: "textarea",
|
|
83951
|
-
label: "Summary",
|
|
83952
|
-
description: "Short teaser shown in listings.",
|
|
83953
|
-
rows: 3
|
|
83954
|
-
},
|
|
83955
|
-
{
|
|
83956
|
-
id: "image",
|
|
83957
|
-
type: "media",
|
|
83958
|
-
label: "Listing image",
|
|
83959
|
-
description: "Optional image used for course cards and previews."
|
|
83960
|
-
},
|
|
83961
|
-
{
|
|
83962
|
-
id: "body",
|
|
83963
|
-
type: "richText",
|
|
83964
|
-
label: "Details",
|
|
83965
|
-
description: "Full course details and curriculum."
|
|
83966
|
-
}
|
|
83967
|
-
],
|
|
83968
|
-
routing: {
|
|
83969
|
-
enabled: true,
|
|
83970
|
-
pattern: "/courses/{slug}",
|
|
83971
|
-
slugField: "slug",
|
|
83972
|
-
prefix: "/courses/"
|
|
83973
|
-
},
|
|
83974
|
-
labels: {
|
|
83975
|
-
singular: "Course",
|
|
83976
|
-
plural: "Courses"
|
|
83977
|
-
}
|
|
83978
|
-
},
|
|
83979
81704
|
"team-member": {
|
|
83980
81705
|
version: 1,
|
|
83981
81706
|
fields: [
|
|
@@ -84175,7 +81900,7 @@ const BUILTIN_CONTENT_TYPE_SCHEMAS = {
|
|
|
84175
81900
|
function deriveFieldIdSet(schema) {
|
|
84176
81901
|
return new Set(schema.fields.map((f) => f.id));
|
|
84177
81902
|
}
|
|
84178
|
-
deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.post), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.event), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS
|
|
81903
|
+
deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.post), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.event), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS["team-member"]), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.product), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.testimonial), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.page), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS["product-category"]);
|
|
84179
81904
|
//#endregion
|
|
84180
81905
|
//#region ../field-primitives/src/bindings/index.ts
|
|
84181
81906
|
const BINDING_TRANSFORMS$1 = {
|
|
@@ -84258,7 +81983,6 @@ function selectBlocksForDeclaredEntrySlot(input) {
|
|
|
84258
81983
|
//#region ../content-model/src/templates/defaults.ts
|
|
84259
81984
|
const POST_EXCERPT_FALLBACK = fallbackBinding$1(fieldBinding$1("excerpt"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
84260
81985
|
const EVENT_SUBHEADLINE_FALLBACK = fallbackBinding$1(fieldBinding$1("summary"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
84261
|
-
const COURSE_SUMMARY_FALLBACK = fallbackBinding$1(fieldBinding$1("summary"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
84262
81986
|
const ENTRY_TITLE_INLINE_TEXT = transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.TEXT_INLINE_TEXT, { input: metaBinding$1("title") });
|
|
84263
81987
|
const POST_BODY_TEXT_BINDINGS = {
|
|
84264
81988
|
body: fieldBinding$1("body"),
|
|
@@ -84373,7 +82097,6 @@ const DEFAULT_TEMPLATE_DEFINITIONS = {
|
|
|
84373
82097
|
showVenue: true,
|
|
84374
82098
|
showCapacity: true,
|
|
84375
82099
|
successMessage: "Thank you for registering! Check your email for confirmation details.",
|
|
84376
|
-
waitlistMessage: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
84377
82100
|
buttonText: "Complete Registration",
|
|
84378
82101
|
buttonVariant: "primary"
|
|
84379
82102
|
},
|
|
@@ -84384,64 +82107,6 @@ const DEFAULT_TEMPLATE_DEFINITIONS = {
|
|
|
84384
82107
|
}
|
|
84385
82108
|
]
|
|
84386
82109
|
},
|
|
84387
|
-
course: {
|
|
84388
|
-
templateKey: "default",
|
|
84389
|
-
name: "Course detail",
|
|
84390
|
-
description: "Standard landing page for multi-session courses.",
|
|
84391
|
-
metadata: {},
|
|
84392
|
-
blocks: [
|
|
84393
|
-
{
|
|
84394
|
-
blockKind: "block.hero",
|
|
84395
|
-
scope: "entry",
|
|
84396
|
-
bindings: {
|
|
84397
|
-
eyebrow: literalBinding$1("Course"),
|
|
84398
|
-
headline: metaBinding$1("title"),
|
|
84399
|
-
headlineInline: ENTRY_TITLE_INLINE_TEXT,
|
|
84400
|
-
subheadline: COURSE_SUMMARY_FALLBACK
|
|
84401
|
-
}
|
|
84402
|
-
},
|
|
84403
|
-
{
|
|
84404
|
-
blockKind: "block.course-details",
|
|
84405
|
-
scope: "entry",
|
|
84406
|
-
content: {
|
|
84407
|
-
heading: "Course details",
|
|
84408
|
-
showTitle: false,
|
|
84409
|
-
showDescription: false,
|
|
84410
|
-
showSessions: true,
|
|
84411
|
-
sessionsLimit: "10",
|
|
84412
|
-
showVenue: true,
|
|
84413
|
-
showPrice: true,
|
|
84414
|
-
showCapacity: true,
|
|
84415
|
-
showEnrollmentStatus: true,
|
|
84416
|
-
showMembershipNote: true
|
|
84417
|
-
}
|
|
84418
|
-
},
|
|
84419
|
-
{
|
|
84420
|
-
blockKind: SYSTEM_ENTRY_SLOT_BLOCK_KIND,
|
|
84421
|
-
scope: "template",
|
|
84422
|
-
content: {
|
|
84423
|
-
slotKey: "main",
|
|
84424
|
-
label: "Page content"
|
|
84425
|
-
}
|
|
84426
|
-
},
|
|
84427
|
-
{
|
|
84428
|
-
blockKind: "block.course-registration",
|
|
84429
|
-
scope: "entry",
|
|
84430
|
-
content: {
|
|
84431
|
-
heading: "Enroll in this course",
|
|
84432
|
-
showSessions: true,
|
|
84433
|
-
showPrice: true,
|
|
84434
|
-
showCapacity: true,
|
|
84435
|
-
showVenue: true,
|
|
84436
|
-
successMessage: "You're enrolled! Check your email for confirmation and session details.",
|
|
84437
|
-
waitlistMessage: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
84438
|
-
membershipMessage: "Enrolled using your membership! Check your email for session details.",
|
|
84439
|
-
buttonText: "Complete Enrollment",
|
|
84440
|
-
buttonVariant: "primary"
|
|
84441
|
-
}
|
|
84442
|
-
}
|
|
84443
|
-
]
|
|
84444
|
-
},
|
|
84445
82110
|
"team-member": {
|
|
84446
82111
|
templateKey: "default",
|
|
84447
82112
|
name: "Team member profile",
|
|
@@ -87400,7 +85065,7 @@ var CircuitOpenError = class extends Error {
|
|
|
87400
85065
|
* 1. This constant
|
|
87401
85066
|
* 2. The "version" field in package.json
|
|
87402
85067
|
*/
|
|
87403
|
-
const SDK_VERSION = "0.
|
|
85068
|
+
const SDK_VERSION = "0.135.0";
|
|
87404
85069
|
//#endregion
|
|
87405
85070
|
//#region src/next/content-load-failure.ts
|
|
87406
85071
|
const SdkContentLoadError = RiverbankContentLoadError;
|