@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
|
@@ -9495,6 +9495,11 @@ z$1.object({
|
|
|
9495
9495
|
//#endregion
|
|
9496
9496
|
//#region ../blocks/src/system/types/link.ts
|
|
9497
9497
|
const nullableString = z$1.union([z$1.string().min(1), z$1.null()]);
|
|
9498
|
+
const RESOLVED_INTERNAL_LINK_ENTITY_TYPES = [
|
|
9499
|
+
"page",
|
|
9500
|
+
"content",
|
|
9501
|
+
"pageSurface"
|
|
9502
|
+
];
|
|
9498
9503
|
const resolvedInternalLinkKeys = [
|
|
9499
9504
|
"entityId",
|
|
9500
9505
|
"entityType",
|
|
@@ -9516,7 +9521,7 @@ const internalResolvedLinkSchema = z$1.object({
|
|
|
9516
9521
|
kind: z$1.literal("internal"),
|
|
9517
9522
|
routeId: z$1.string().min(1),
|
|
9518
9523
|
entityId: z$1.string().min(1),
|
|
9519
|
-
entityType: z$1.enum(
|
|
9524
|
+
entityType: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
9520
9525
|
href: z$1.string().min(1),
|
|
9521
9526
|
title: z$1.string().min(1),
|
|
9522
9527
|
typeLabel: z$1.string().min(1),
|
|
@@ -9646,7 +9651,7 @@ function publicEventPricingType(pricing) {
|
|
|
9646
9651
|
case "single_paid":
|
|
9647
9652
|
case "ticket_types":
|
|
9648
9653
|
case "sliding_scale":
|
|
9649
|
-
case "
|
|
9654
|
+
case "whole_series": return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
9650
9655
|
case "external": return "external";
|
|
9651
9656
|
}
|
|
9652
9657
|
}
|
|
@@ -9657,14 +9662,14 @@ function publicEventPricingCurrency(pricing) {
|
|
|
9657
9662
|
case "single_paid":
|
|
9658
9663
|
case "ticket_types":
|
|
9659
9664
|
case "sliding_scale": return pricing.currency;
|
|
9660
|
-
case "
|
|
9665
|
+
case "whole_series": return pricing.display.display.currency;
|
|
9661
9666
|
case "external": return null;
|
|
9662
9667
|
}
|
|
9663
9668
|
}
|
|
9664
9669
|
function isFreePublicEventPriceDisplay(display) {
|
|
9665
9670
|
switch (display.kind) {
|
|
9666
9671
|
case "free": return true;
|
|
9667
|
-
case "
|
|
9672
|
+
case "whole_series": return display.display.kind === "free";
|
|
9668
9673
|
case "exact":
|
|
9669
9674
|
case "from":
|
|
9670
9675
|
case "range":
|
|
@@ -9700,7 +9705,7 @@ function formatBookingPriceDisplay(display, options = {}) {
|
|
|
9700
9705
|
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)}`;
|
|
9701
9706
|
case "unavailable": return "Pricing unavailable";
|
|
9702
9707
|
case "external": return display.label;
|
|
9703
|
-
case "
|
|
9708
|
+
case "whole_series": return formatCoursePriceDisplayLabel(display.display, options);
|
|
9704
9709
|
default: return assertNever$23(display);
|
|
9705
9710
|
}
|
|
9706
9711
|
}
|
|
@@ -14888,7 +14893,7 @@ defineBlockAppearancePreset({
|
|
|
14888
14893
|
id: "schedule-details-brand-depth",
|
|
14889
14894
|
target: "events",
|
|
14890
14895
|
label: "Brand-depth schedule details",
|
|
14891
|
-
blockKinds: ["block.event-details"
|
|
14896
|
+
blockKinds: ["block.event-details"],
|
|
14892
14897
|
design: {
|
|
14893
14898
|
sectionSurface: "brand-depth-band",
|
|
14894
14899
|
contentFrame: plainFrame,
|
|
@@ -21505,7 +21510,6 @@ const productDetail = (props, children, ...mods) => el("product-detail", props,
|
|
|
21505
21510
|
const cart = (props, children, ...mods) => el("cart", props, children, ...mods);
|
|
21506
21511
|
const checkout = (props, children, ...mods) => el("checkout", props, children, ...mods);
|
|
21507
21512
|
const gifting = (props, children, ...mods) => el("gifting", props, children, ...mods);
|
|
21508
|
-
const courseRegistration = (props, children, ...mods) => el("course-registration", props, children, ...mods);
|
|
21509
21513
|
function bind(from, options) {
|
|
21510
21514
|
return (node) => ({
|
|
21511
21515
|
...node,
|
|
@@ -31599,12 +31603,12 @@ const weeklySlotAvailabilityBlockDefinition = {
|
|
|
31599
31603
|
};
|
|
31600
31604
|
//#endregion
|
|
31601
31605
|
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
31602
|
-
const bookingDepositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
31603
|
-
const bookingInstalmentPlanSchema = z$1.union([
|
|
31606
|
+
const bookingDepositRefundPolicySchema$1 = z$1.enum(["refundable", "non_refundable"]);
|
|
31607
|
+
const bookingInstalmentPlanSchema$1 = z$1.union([
|
|
31604
31608
|
z$1.object({
|
|
31605
31609
|
kind: z$1.literal("deposit_plus_one_remainder"),
|
|
31606
31610
|
depositAmountCents: z$1.number().int().min(0),
|
|
31607
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
31611
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
31608
31612
|
remainderDueCount: z$1.number().int().positive(),
|
|
31609
31613
|
intervalUnit: z$1.enum([
|
|
31610
31614
|
"day",
|
|
@@ -31615,7 +31619,7 @@ const bookingInstalmentPlanSchema = z$1.union([
|
|
|
31615
31619
|
z$1.object({
|
|
31616
31620
|
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
31617
31621
|
depositAmountCents: z$1.number().int().min(0),
|
|
31618
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
31622
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
31619
31623
|
instalmentCount: z$1.number().int().positive(),
|
|
31620
31624
|
intervalCount: z$1.number().int().positive(),
|
|
31621
31625
|
intervalUnit: z$1.enum([
|
|
@@ -31635,31 +31639,47 @@ const bookingInstalmentPlanSchema = z$1.union([
|
|
|
31635
31639
|
])
|
|
31636
31640
|
})
|
|
31637
31641
|
]);
|
|
31638
|
-
const bookingFlexibleBalanceDueDateRuleSchema = z$1.union([z$1.object({
|
|
31642
|
+
const bookingFlexibleBalanceDueDateRuleSchema$1 = z$1.union([z$1.object({
|
|
31639
31643
|
kind: z$1.literal("relative_to_start_date"),
|
|
31640
31644
|
daysBeforeStart: z$1.number().int().positive()
|
|
31641
31645
|
}), z$1.object({
|
|
31642
31646
|
kind: z$1.literal("fixed_calendar_date"),
|
|
31643
31647
|
dueAt: z$1.string().datetime()
|
|
31644
31648
|
})]);
|
|
31645
|
-
const bookingFlexibleBalanceConfigSchema = z$1.object({
|
|
31649
|
+
const bookingFlexibleBalanceConfigSchema$1 = z$1.object({
|
|
31646
31650
|
upfrontAmountCents: z$1.number().int().min(0),
|
|
31647
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
31648
|
-
depositRefundability: bookingDepositRefundPolicySchema
|
|
31651
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
|
|
31652
|
+
depositRefundability: bookingDepositRefundPolicySchema$1
|
|
31649
31653
|
});
|
|
31650
31654
|
const blockBookingPaymentCollectionOptionSchema = z$1.union([
|
|
31651
31655
|
z$1.object({ kind: z$1.literal("upfront") }),
|
|
31652
31656
|
z$1.object({ kind: z$1.literal("deferred_manual") }),
|
|
31653
31657
|
z$1.object({
|
|
31654
31658
|
kind: z$1.literal("instalment_plan"),
|
|
31655
|
-
plan: bookingInstalmentPlanSchema
|
|
31659
|
+
plan: bookingInstalmentPlanSchema$1
|
|
31656
31660
|
}),
|
|
31657
31661
|
z$1.object({
|
|
31658
31662
|
kind: z$1.literal("flexible_balance"),
|
|
31659
|
-
config: bookingFlexibleBalanceConfigSchema
|
|
31663
|
+
config: bookingFlexibleBalanceConfigSchema$1
|
|
31660
31664
|
})
|
|
31661
31665
|
]);
|
|
31662
31666
|
const blockBookingPaymentTermsSchema = z$1.object({ allowedOptions: z$1.array(blockBookingPaymentCollectionOptionSchema).min(1) });
|
|
31667
|
+
const blockBookingConsentSchema = z$1.object({
|
|
31668
|
+
requirementId: z$1.string(),
|
|
31669
|
+
title: z$1.string(),
|
|
31670
|
+
agreement: RichTextDocSchema,
|
|
31671
|
+
checkboxLabel: z$1.string()
|
|
31672
|
+
});
|
|
31673
|
+
const bookingRequirementConsentFieldSchema = z$1.object({
|
|
31674
|
+
id: z$1.string(),
|
|
31675
|
+
label: z$1.string(),
|
|
31676
|
+
type: z$1.literal("booking_requirement_consent"),
|
|
31677
|
+
required: z$1.literal(true),
|
|
31678
|
+
agreement: RichTextDocSchema,
|
|
31679
|
+
checkboxLabel: z$1.string().min(1)
|
|
31680
|
+
});
|
|
31681
|
+
/** The two live public carriers for consent copy: Event data and appointment fields. */
|
|
31682
|
+
const bookingConsentCarrierSchema = z$1.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
31663
31683
|
//#endregion
|
|
31664
31684
|
//#region ../blocks/src/system/blocks/events/whole-series/pricing.ts
|
|
31665
31685
|
function isSaleWindowOpen(option, now) {
|
|
@@ -31894,11 +31914,19 @@ const publicWholeSeriesOfferingSchema = z$1.object({
|
|
|
31894
31914
|
title: z$1.string(),
|
|
31895
31915
|
slug: z$1.string(),
|
|
31896
31916
|
description: z$1.unknown().nullable(),
|
|
31917
|
+
deliveryMode: z$1.enum([
|
|
31918
|
+
"in_person",
|
|
31919
|
+
"online",
|
|
31920
|
+
"hybrid"
|
|
31921
|
+
]),
|
|
31922
|
+
waitlistEnabled: z$1.boolean(),
|
|
31923
|
+
requireGuestDetails: z$1.boolean(),
|
|
31897
31924
|
teamMembers: z$1.array(wholeSeriesTeamMemberSummarySchema).optional(),
|
|
31898
31925
|
enrollmentOpen: z$1.boolean(),
|
|
31899
31926
|
pricing: wholeSeriesPricingSchema,
|
|
31900
31927
|
currency: z$1.string(),
|
|
31901
31928
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
31929
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
31902
31930
|
enrollmentCapacity: z$1.number().nullable(),
|
|
31903
31931
|
acceptsMemberships: z$1.boolean(),
|
|
31904
31932
|
status: z$1.enum([
|
|
@@ -32008,7 +32036,7 @@ const mixedPriceDisplaySchema = z$1.object({
|
|
|
32008
32036
|
paidToAmount: z$1.number(),
|
|
32009
32037
|
currency: z$1.string()
|
|
32010
32038
|
});
|
|
32011
|
-
const
|
|
32039
|
+
const publicWholeSeriesPriceDisplaySchema = z$1.discriminatedUnion("kind", [
|
|
32012
32040
|
freePriceDisplaySchema,
|
|
32013
32041
|
exactPriceDisplaySchema,
|
|
32014
32042
|
fromPriceDisplaySchema,
|
|
@@ -32026,8 +32054,8 @@ z$1.discriminatedUnion("kind", [
|
|
|
32026
32054
|
label: z$1.string()
|
|
32027
32055
|
}),
|
|
32028
32056
|
z$1.object({
|
|
32029
|
-
kind: z$1.literal("
|
|
32030
|
-
display:
|
|
32057
|
+
kind: z$1.literal("whole_series"),
|
|
32058
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
32031
32059
|
})
|
|
32032
32060
|
]);
|
|
32033
32061
|
const publicEventTicketTypePriceDisplaySchema = z$1.union([
|
|
@@ -32129,10 +32157,10 @@ const publicEventPricingSchema = z$1.discriminatedUnion("kind", [
|
|
|
32129
32157
|
})
|
|
32130
32158
|
}),
|
|
32131
32159
|
z$1.object({
|
|
32132
|
-
kind: z$1.literal("
|
|
32160
|
+
kind: z$1.literal("whole_series"),
|
|
32133
32161
|
display: z$1.object({
|
|
32134
|
-
kind: z$1.literal("
|
|
32135
|
-
display:
|
|
32162
|
+
kind: z$1.literal("whole_series"),
|
|
32163
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
32136
32164
|
})
|
|
32137
32165
|
}),
|
|
32138
32166
|
z$1.object({
|
|
@@ -32216,6 +32244,7 @@ const publicEventSchema = z$1.object({
|
|
|
32216
32244
|
timeZone: z$1.string(),
|
|
32217
32245
|
pricing: publicEventPricingSchema,
|
|
32218
32246
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
32247
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
32219
32248
|
accessRestriction: accessRestrictionSchema,
|
|
32220
32249
|
allowedCategoryIds: z$1.array(z$1.string()),
|
|
32221
32250
|
requireGuestDetails: z$1.boolean().optional(),
|
|
@@ -32574,7 +32603,8 @@ function resolveEventRegistrationScope(context) {
|
|
|
32574
32603
|
};
|
|
32575
32604
|
return { kind: "unscoped" };
|
|
32576
32605
|
}
|
|
32577
|
-
function
|
|
32606
|
+
function resolveEventRegistrationScopedEvents(events, context) {
|
|
32607
|
+
const scope = resolveEventRegistrationScope(context);
|
|
32578
32608
|
switch (scope.kind) {
|
|
32579
32609
|
case "occurrenceSeries":
|
|
32580
32610
|
case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
|
|
@@ -32586,8 +32616,24 @@ function applyEventRegistrationScope(events, scope) {
|
|
|
32586
32616
|
case "unscoped": return [...events];
|
|
32587
32617
|
}
|
|
32588
32618
|
}
|
|
32589
|
-
|
|
32590
|
-
|
|
32619
|
+
//#endregion
|
|
32620
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationSurface.ts
|
|
32621
|
+
function planEventRegistrationScope(input) {
|
|
32622
|
+
const subject = input.subject;
|
|
32623
|
+
const selectedRunOffering = input.wholeSeriesOffering;
|
|
32624
|
+
if (subject?.kind !== "eventOffering" || !selectedRunOffering) return {
|
|
32625
|
+
kind: "context",
|
|
32626
|
+
events: resolveEventRegistrationScopedEvents(input.events, {
|
|
32627
|
+
occurrenceContext: input.occurrenceContext,
|
|
32628
|
+
subject
|
|
32629
|
+
})
|
|
32630
|
+
};
|
|
32631
|
+
if (!(selectedRunOffering.eventOfferingId === subject.eventOfferingId && subject.availableEventSeriesIds.some((seriesId) => seriesId === selectedRunOffering.eventSeriesId))) return { kind: "invalidSelectedRun" };
|
|
32632
|
+
return {
|
|
32633
|
+
kind: "selectedRun",
|
|
32634
|
+
events: input.events.filter((event) => event.seriesId === selectedRunOffering.eventSeriesId),
|
|
32635
|
+
offering: selectedRunOffering
|
|
32636
|
+
};
|
|
32591
32637
|
}
|
|
32592
32638
|
//#endregion
|
|
32593
32639
|
//#region ../blocks/src/system/runtime/nodes/events/shared/destination.ts
|
|
@@ -32663,14 +32709,14 @@ function isRecord$23(value) {
|
|
|
32663
32709
|
}
|
|
32664
32710
|
function isPublicEventPricing(value) {
|
|
32665
32711
|
if (!isRecord$23(value) || typeof value.kind !== "string") return false;
|
|
32666
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "
|
|
32712
|
+
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";
|
|
32667
32713
|
}
|
|
32668
32714
|
function isPublicEventTicketType(value) {
|
|
32669
32715
|
return isRecord$23(value) && typeof value.id === "string";
|
|
32670
32716
|
}
|
|
32671
32717
|
function readTicketTypePriceDisplay(value, currency) {
|
|
32672
32718
|
const display = readLegacyPriceDisplay(value, currency);
|
|
32673
|
-
return display.kind === "
|
|
32719
|
+
return display.kind === "whole_series" || display.kind === "external" ? {
|
|
32674
32720
|
kind: "unavailable",
|
|
32675
32721
|
currency
|
|
32676
32722
|
} : display;
|
|
@@ -32728,11 +32774,11 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
32728
32774
|
kind: "unavailable",
|
|
32729
32775
|
currency: displayCurrency
|
|
32730
32776
|
};
|
|
32731
|
-
case "
|
|
32732
|
-
kind: "
|
|
32777
|
+
case "whole_series": return isRecord$23(value.display) ? {
|
|
32778
|
+
kind: "whole_series",
|
|
32733
32779
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
32734
32780
|
} : {
|
|
32735
|
-
kind: "
|
|
32781
|
+
kind: "whole_series",
|
|
32736
32782
|
display: {
|
|
32737
32783
|
kind: "unavailable",
|
|
32738
32784
|
currency: displayCurrency
|
|
@@ -32855,7 +32901,7 @@ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
|
32855
32901
|
//#endregion
|
|
32856
32902
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
32857
32903
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
32858
|
-
return event.
|
|
32904
|
+
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
32859
32905
|
}
|
|
32860
32906
|
function findPreSelectedEvent(input) {
|
|
32861
32907
|
const occurrenceContext = input.occurrenceContext;
|
|
@@ -32881,12 +32927,127 @@ function toRegistrationEvent(event) {
|
|
|
32881
32927
|
return {
|
|
32882
32928
|
...event,
|
|
32883
32929
|
pricing: resolveRuntimeEventPricing(event),
|
|
32884
|
-
|
|
32885
|
-
|
|
32930
|
+
selectionId: event.id,
|
|
32931
|
+
registrationSubject: {
|
|
32932
|
+
kind: "occurrence",
|
|
32933
|
+
occurrenceId: event.occurrenceId
|
|
32934
|
+
}
|
|
32886
32935
|
};
|
|
32887
32936
|
}
|
|
32888
32937
|
function toRegistrationEvents(events) {
|
|
32889
|
-
return events.map(toRegistrationEvent);
|
|
32938
|
+
return events.filter((event) => event.bookingScope === "single_occurrence").map(toRegistrationEvent);
|
|
32939
|
+
}
|
|
32940
|
+
function toWholeSeriesTicketType(option) {
|
|
32941
|
+
return {
|
|
32942
|
+
...option,
|
|
32943
|
+
capacityMode: option.capacityLimit === null ? "unlimited" : "limited",
|
|
32944
|
+
attendanceScope: option.attendanceScope ?? void 0,
|
|
32945
|
+
availability: {
|
|
32946
|
+
kind: "available",
|
|
32947
|
+
remainingCapacity: option.capacityLimit
|
|
32948
|
+
}
|
|
32949
|
+
};
|
|
32950
|
+
}
|
|
32951
|
+
function toWholeSeriesPricing(offering) {
|
|
32952
|
+
const resolved = resolveWholeSeriesPricingState(offering);
|
|
32953
|
+
switch (offering.pricing.pricingStrategy) {
|
|
32954
|
+
case "free": return {
|
|
32955
|
+
kind: "free_registration",
|
|
32956
|
+
currency: offering.currency,
|
|
32957
|
+
display: {
|
|
32958
|
+
kind: "free",
|
|
32959
|
+
currency: offering.currency
|
|
32960
|
+
}
|
|
32961
|
+
};
|
|
32962
|
+
case "single": {
|
|
32963
|
+
const amount = offering.pricing.singlePriceAmount ?? 0;
|
|
32964
|
+
return amount === 0 ? {
|
|
32965
|
+
kind: "free_registration",
|
|
32966
|
+
currency: offering.currency,
|
|
32967
|
+
display: {
|
|
32968
|
+
kind: "free",
|
|
32969
|
+
currency: offering.currency
|
|
32970
|
+
}
|
|
32971
|
+
} : {
|
|
32972
|
+
kind: "single_paid",
|
|
32973
|
+
amount,
|
|
32974
|
+
currency: offering.currency,
|
|
32975
|
+
display: {
|
|
32976
|
+
kind: "exact",
|
|
32977
|
+
amount,
|
|
32978
|
+
currency: offering.currency
|
|
32979
|
+
}
|
|
32980
|
+
};
|
|
32981
|
+
}
|
|
32982
|
+
case "tiered": return {
|
|
32983
|
+
kind: "ticket_types",
|
|
32984
|
+
currency: offering.currency,
|
|
32985
|
+
ticketTypes: resolved.selectableOptions.map((option) => toWholeSeriesTicketType(option)),
|
|
32986
|
+
display: resolved.display
|
|
32987
|
+
};
|
|
32988
|
+
case "sliding_scale": return {
|
|
32989
|
+
kind: "sliding_scale",
|
|
32990
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
32991
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
32992
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null,
|
|
32993
|
+
currency: offering.currency,
|
|
32994
|
+
display: {
|
|
32995
|
+
kind: "range",
|
|
32996
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
32997
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
32998
|
+
currency: offering.currency
|
|
32999
|
+
}
|
|
33000
|
+
};
|
|
33001
|
+
}
|
|
33002
|
+
}
|
|
33003
|
+
function toAttendanceModes(offering) {
|
|
33004
|
+
return (offering.deliveryMode === "hybrid" ? ["in_person", "online"] : [offering.deliveryMode]).map((mode) => ({
|
|
33005
|
+
mode,
|
|
33006
|
+
capacity: offering.enrollmentCapacity,
|
|
33007
|
+
registeredCount: offering.enrolledCount,
|
|
33008
|
+
availableSpots: offering.availableSpots,
|
|
33009
|
+
waitlistEnabled: offering.waitlistEnabled
|
|
33010
|
+
}));
|
|
33011
|
+
}
|
|
33012
|
+
function toWholeSeriesRegistrationEvent(offering) {
|
|
33013
|
+
const firstSession = offering.sessions[0];
|
|
33014
|
+
const lastSession = offering.sessions[offering.sessions.length - 1];
|
|
33015
|
+
return {
|
|
33016
|
+
selectionId: offering.eventSeriesId,
|
|
33017
|
+
registrationSubject: {
|
|
33018
|
+
kind: "wholeSeries",
|
|
33019
|
+
eventSeriesId: offering.eventSeriesId,
|
|
33020
|
+
sessions: offering.sessions
|
|
33021
|
+
},
|
|
33022
|
+
seriesId: offering.eventSeriesId,
|
|
33023
|
+
title: offering.title,
|
|
33024
|
+
startsAt: firstSession?.startsAt ?? "",
|
|
33025
|
+
endsAt: lastSession?.endsAt ?? firstSession?.endsAt ?? "",
|
|
33026
|
+
bookingAvailability: offering.enrollmentOpen ? { kind: "open" } : {
|
|
33027
|
+
kind: "closed",
|
|
33028
|
+
reason: "enrollment_closed"
|
|
33029
|
+
},
|
|
33030
|
+
deliveryMode: offering.deliveryMode,
|
|
33031
|
+
attendanceModes: toAttendanceModes(offering),
|
|
33032
|
+
capacity: offering.enrollmentCapacity,
|
|
33033
|
+
registeredCount: offering.enrolledCount,
|
|
33034
|
+
availableSpots: offering.availableSpots,
|
|
33035
|
+
waitlistEnabled: offering.waitlistEnabled,
|
|
33036
|
+
venue: offering.venue ? {
|
|
33037
|
+
...offering.venue,
|
|
33038
|
+
location: null
|
|
33039
|
+
} : null,
|
|
33040
|
+
eventCategory: null,
|
|
33041
|
+
teamMembers: offering.teamMembers,
|
|
33042
|
+
status: offering.status,
|
|
33043
|
+
timeZone: firstSession?.timeZone ?? "UTC",
|
|
33044
|
+
pricing: toWholeSeriesPricing(offering),
|
|
33045
|
+
paymentTerms: offering.paymentTerms,
|
|
33046
|
+
consent: offering.consent,
|
|
33047
|
+
requireGuestDetails: offering.requireGuestDetails,
|
|
33048
|
+
acceptsPasses: false,
|
|
33049
|
+
acceptsMemberships: offering.acceptsMemberships
|
|
33050
|
+
};
|
|
32890
33051
|
}
|
|
32891
33052
|
//#endregion
|
|
32892
33053
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
@@ -32912,11 +33073,7 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
32912
33073
|
maxTickets: z$1.string().optional(),
|
|
32913
33074
|
showVenue: z$1.boolean().optional(),
|
|
32914
33075
|
showCapacity: z$1.boolean().optional(),
|
|
32915
|
-
showSessions: z$1.boolean().optional(),
|
|
32916
|
-
showPrice: z$1.boolean().optional(),
|
|
32917
33076
|
successMessage: z$1.string().optional(),
|
|
32918
|
-
waitlistMessage: z$1.string().optional(),
|
|
32919
|
-
membershipMessage: z$1.string().optional(),
|
|
32920
33077
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
32921
33078
|
overlayEnabled: z$1.boolean().optional(),
|
|
32922
33079
|
spamProtectionEnabled: z$1.boolean().optional(),
|
|
@@ -32986,6 +33143,15 @@ function resolveWholeSeriesOffering(source) {
|
|
|
32986
33143
|
return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
|
|
32987
33144
|
}
|
|
32988
33145
|
function buildEventRegistrationShellStepLabels(source) {
|
|
33146
|
+
const selectedOffering = resolveWholeSeriesOffering(source);
|
|
33147
|
+
if (selectedOffering) {
|
|
33148
|
+
const selectedEvent = toWholeSeriesRegistrationEvent(selectedOffering);
|
|
33149
|
+
return getWizardStepsForContext(true, resolveEventRequiresPayment({
|
|
33150
|
+
eligibility: null,
|
|
33151
|
+
selectedTicketType: null,
|
|
33152
|
+
event: selectedEvent
|
|
33153
|
+
})).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
|
|
33154
|
+
}
|
|
32989
33155
|
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
32990
33156
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
32991
33157
|
const preSelectedEvent = findPreSelectedEvent({
|
|
@@ -33000,10 +33166,13 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
33000
33166
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
33001
33167
|
}
|
|
33002
33168
|
function scopeEventRegistrationEvents(source) {
|
|
33003
|
-
|
|
33169
|
+
const scope = planEventRegistrationScope({
|
|
33170
|
+
events: toRegistrationEvents(source.events ?? []),
|
|
33171
|
+
wholeSeriesOffering: source.wholeSeriesOffering,
|
|
33004
33172
|
occurrenceContext: source.occurrenceContext,
|
|
33005
33173
|
subject: source.subject
|
|
33006
33174
|
});
|
|
33175
|
+
return scope.kind === "invalidSelectedRun" ? [] : scope.events;
|
|
33007
33176
|
}
|
|
33008
33177
|
function shellLabelForRegistrationStep(step, events) {
|
|
33009
33178
|
switch (step) {
|
|
@@ -33046,11 +33215,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
33046
33215
|
maxTickets: source.maxTickets ?? void 0,
|
|
33047
33216
|
showVenue: source.showVenue,
|
|
33048
33217
|
showCapacity: source.showCapacity,
|
|
33049
|
-
showSessions: source.showSessions,
|
|
33050
|
-
showPrice: source.showPrice,
|
|
33051
33218
|
successMessage: source.successMessage,
|
|
33052
|
-
waitlistMessage: source.waitlistMessage,
|
|
33053
|
-
membershipMessage: source.membershipMessage,
|
|
33054
33219
|
buttonVariant: source.buttonVariant,
|
|
33055
33220
|
overlayEnabled: source.overlayEnabled,
|
|
33056
33221
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
@@ -33180,24 +33345,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
33180
33345
|
defaultValue: true,
|
|
33181
33346
|
ui: { intent: "display" }
|
|
33182
33347
|
},
|
|
33183
|
-
{
|
|
33184
|
-
id: "showSessions",
|
|
33185
|
-
type: "boolean",
|
|
33186
|
-
label: "Show complete schedule",
|
|
33187
|
-
description: "Display every session for whole-series registrations",
|
|
33188
|
-
required: false,
|
|
33189
|
-
defaultValue: true,
|
|
33190
|
-
ui: { intent: "display" }
|
|
33191
|
-
},
|
|
33192
|
-
{
|
|
33193
|
-
id: "showPrice",
|
|
33194
|
-
type: "boolean",
|
|
33195
|
-
label: "Show price",
|
|
33196
|
-
description: "Display the whole-series price",
|
|
33197
|
-
required: false,
|
|
33198
|
-
defaultValue: true,
|
|
33199
|
-
ui: { intent: "display" }
|
|
33200
|
-
},
|
|
33201
33348
|
{
|
|
33202
33349
|
id: "successMessage",
|
|
33203
33350
|
type: "text",
|
|
@@ -33208,26 +33355,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
33208
33355
|
defaultValue: "Thank you for registering! Check your email for confirmation details.",
|
|
33209
33356
|
maxLength: 500
|
|
33210
33357
|
},
|
|
33211
|
-
{
|
|
33212
|
-
id: "waitlistMessage",
|
|
33213
|
-
type: "text",
|
|
33214
|
-
label: "Waitlist message",
|
|
33215
|
-
description: "Message shown after joining a whole-series waitlist",
|
|
33216
|
-
required: false,
|
|
33217
|
-
multiline: true,
|
|
33218
|
-
defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
|
|
33219
|
-
maxLength: 500
|
|
33220
|
-
},
|
|
33221
|
-
{
|
|
33222
|
-
id: "membershipMessage",
|
|
33223
|
-
type: "text",
|
|
33224
|
-
label: "Membership registration message",
|
|
33225
|
-
description: "Message shown when a whole-series place is covered by membership",
|
|
33226
|
-
required: false,
|
|
33227
|
-
multiline: true,
|
|
33228
|
-
defaultValue: "Registered using your membership. Check your email for session details.",
|
|
33229
|
-
maxLength: 500
|
|
33230
|
-
},
|
|
33231
33358
|
{
|
|
33232
33359
|
id: "buttonText",
|
|
33233
33360
|
type: "text",
|
|
@@ -33259,11 +33386,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
33259
33386
|
} },
|
|
33260
33387
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
33261
33388
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
33262
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
33263
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
33264
33389
|
successMessage: { $bind: { from: "content.successMessage" } },
|
|
33265
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
33266
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
33267
33390
|
buttonText: { $bind: {
|
|
33268
33391
|
from: "content.buttonText",
|
|
33269
33392
|
fallback: "Complete Registration"
|
|
@@ -33380,267 +33503,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
33380
33503
|
}
|
|
33381
33504
|
};
|
|
33382
33505
|
//#endregion
|
|
33383
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
33384
|
-
const courseRegistrationHydrationSchemaShape = {
|
|
33385
|
-
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
33386
|
-
courses: z$1.array(publicWholeSeriesOfferingSchema).nullable().optional(),
|
|
33387
|
-
showSessions: z$1.boolean().optional(),
|
|
33388
|
-
showPrice: z$1.boolean().optional(),
|
|
33389
|
-
showCapacity: z$1.boolean().optional(),
|
|
33390
|
-
showVenue: z$1.boolean().optional(),
|
|
33391
|
-
successMessage: z$1.string().optional(),
|
|
33392
|
-
waitlistMessage: z$1.string().optional(),
|
|
33393
|
-
membershipMessage: z$1.string().optional(),
|
|
33394
|
-
buttonVariant: registrationButtonVariantSchema.optional()
|
|
33395
|
-
};
|
|
33396
|
-
const courseRegistrationSourceSchema = z$1.object({
|
|
33397
|
-
siteId: z$1.string().optional(),
|
|
33398
|
-
apiBaseUrl: z$1.string().optional(),
|
|
33399
|
-
portalToken: z$1.string().nullable().optional(),
|
|
33400
|
-
...courseRegistrationHydrationSchemaShape,
|
|
33401
|
-
className: z$1.string().nullable().optional(),
|
|
33402
|
-
buttonText: z$1.string().nullable().optional(),
|
|
33403
|
-
stage: previewStageSchema.optional()
|
|
33404
|
-
});
|
|
33405
|
-
const courseRegistrationDisplaySchema = z$1.object({
|
|
33406
|
-
kind: z$1.literal("course-registration"),
|
|
33407
|
-
state: z$1.literal("shell"),
|
|
33408
|
-
className: z$1.string().nullable(),
|
|
33409
|
-
summaryButtonText: z$1.string()
|
|
33410
|
-
});
|
|
33411
|
-
const courseRegistrationHydrationSchema = z$1.object(courseRegistrationHydrationSchemaShape);
|
|
33412
|
-
const courseRegistrationRenderSchema = z$1.object({
|
|
33413
|
-
display: courseRegistrationDisplaySchema,
|
|
33414
|
-
hydration: courseRegistrationHydrationSchema
|
|
33415
|
-
});
|
|
33416
|
-
z$1.object({
|
|
33417
|
-
siteId: z$1.string().optional(),
|
|
33418
|
-
apiBaseUrl: z$1.string().optional(),
|
|
33419
|
-
portalToken: z$1.string().nullable().optional(),
|
|
33420
|
-
stage: previewStageSchema.optional()
|
|
33421
|
-
});
|
|
33422
|
-
function buildCourseRegistrationDisplay(source) {
|
|
33423
|
-
return {
|
|
33424
|
-
kind: "course-registration",
|
|
33425
|
-
state: "shell",
|
|
33426
|
-
className: source.className ?? null,
|
|
33427
|
-
summaryButtonText: source.buttonText?.trim() || "Sign up"
|
|
33428
|
-
};
|
|
33429
|
-
}
|
|
33430
|
-
const courseRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
33431
|
-
kind: "client-owned",
|
|
33432
|
-
contracts: {
|
|
33433
|
-
source: createZodCodec(courseRegistrationSourceSchema),
|
|
33434
|
-
render: createZodCodec(courseRegistrationRenderSchema)
|
|
33435
|
-
},
|
|
33436
|
-
buildRender: (source) => ({
|
|
33437
|
-
display: buildCourseRegistrationDisplay(source),
|
|
33438
|
-
hydration: {
|
|
33439
|
-
subject: source.subject ?? null,
|
|
33440
|
-
courses: source.courses ?? null,
|
|
33441
|
-
showSessions: source.showSessions,
|
|
33442
|
-
showPrice: source.showPrice,
|
|
33443
|
-
showCapacity: source.showCapacity,
|
|
33444
|
-
showVenue: source.showVenue,
|
|
33445
|
-
successMessage: source.successMessage,
|
|
33446
|
-
waitlistMessage: source.waitlistMessage,
|
|
33447
|
-
membershipMessage: source.membershipMessage,
|
|
33448
|
-
buttonVariant: source.buttonVariant
|
|
33449
|
-
}
|
|
33450
|
-
})
|
|
33451
|
-
});
|
|
33452
|
-
function buildCourseRegistrationInteractiveIslandProps(props) {
|
|
33453
|
-
return buildInteractiveIslandProps({
|
|
33454
|
-
runtime: courseRegistrationBlockRuntime,
|
|
33455
|
-
mode: "course-registration",
|
|
33456
|
-
meta: {
|
|
33457
|
-
siteId: props.siteId,
|
|
33458
|
-
apiBaseUrl: props.apiBaseUrl,
|
|
33459
|
-
portalToken: props.portalToken,
|
|
33460
|
-
stage: props.stage
|
|
33461
|
-
},
|
|
33462
|
-
source: props
|
|
33463
|
-
});
|
|
33464
|
-
}
|
|
33465
|
-
const courseRegistrationBlockDefinition = {
|
|
33466
|
-
manifest: createBlockManifest({
|
|
33467
|
-
id: "block.course-registration",
|
|
33468
|
-
version: "1.0.0",
|
|
33469
|
-
title: "Course Registration",
|
|
33470
|
-
titleSource: "heading",
|
|
33471
|
-
description: "Enrollment form for multi-session courses",
|
|
33472
|
-
category: "interactive",
|
|
33473
|
-
contentSource: { kind: "inline" },
|
|
33474
|
-
tags: [
|
|
33475
|
-
"courses",
|
|
33476
|
-
"enrollment",
|
|
33477
|
-
"booking",
|
|
33478
|
-
"form",
|
|
33479
|
-
"signup",
|
|
33480
|
-
"education"
|
|
33481
|
-
],
|
|
33482
|
-
icon: "GraduationCap",
|
|
33483
|
-
styleTokens: {
|
|
33484
|
-
background: "surface",
|
|
33485
|
-
typography: "body",
|
|
33486
|
-
spacing: "md"
|
|
33487
|
-
},
|
|
33488
|
-
behaviours: {
|
|
33489
|
-
supportsThemeSwitching: true,
|
|
33490
|
-
inlineEditing: false,
|
|
33491
|
-
animation: false,
|
|
33492
|
-
paletteHidden: false
|
|
33493
|
-
},
|
|
33494
|
-
additionalFields: [
|
|
33495
|
-
{
|
|
33496
|
-
id: "heading",
|
|
33497
|
-
type: "text",
|
|
33498
|
-
label: "Heading",
|
|
33499
|
-
description: "Main heading for the registration form",
|
|
33500
|
-
required: false,
|
|
33501
|
-
multiline: false,
|
|
33502
|
-
defaultValue: "Sign up"
|
|
33503
|
-
},
|
|
33504
|
-
{
|
|
33505
|
-
id: "description",
|
|
33506
|
-
type: "richText",
|
|
33507
|
-
label: "Description",
|
|
33508
|
-
description: "Optional introductory text",
|
|
33509
|
-
required: false
|
|
33510
|
-
},
|
|
33511
|
-
{
|
|
33512
|
-
id: "showSessions",
|
|
33513
|
-
type: "boolean",
|
|
33514
|
-
label: "Show sessions",
|
|
33515
|
-
description: "Display the list of course sessions",
|
|
33516
|
-
required: false,
|
|
33517
|
-
defaultValue: true,
|
|
33518
|
-
ui: { intent: "display" }
|
|
33519
|
-
},
|
|
33520
|
-
{
|
|
33521
|
-
id: "showPrice",
|
|
33522
|
-
type: "boolean",
|
|
33523
|
-
label: "Show price",
|
|
33524
|
-
description: "Display the course price",
|
|
33525
|
-
required: false,
|
|
33526
|
-
defaultValue: true,
|
|
33527
|
-
ui: { intent: "display" }
|
|
33528
|
-
},
|
|
33529
|
-
{
|
|
33530
|
-
id: "showCapacity",
|
|
33531
|
-
type: "boolean",
|
|
33532
|
-
label: "Show available spots",
|
|
33533
|
-
description: "Display remaining enrollment capacity",
|
|
33534
|
-
required: false,
|
|
33535
|
-
defaultValue: true,
|
|
33536
|
-
ui: { intent: "display" }
|
|
33537
|
-
},
|
|
33538
|
-
{
|
|
33539
|
-
id: "showVenue",
|
|
33540
|
-
type: "boolean",
|
|
33541
|
-
label: "Show venue",
|
|
33542
|
-
description: "Display venue information",
|
|
33543
|
-
required: false,
|
|
33544
|
-
defaultValue: true,
|
|
33545
|
-
ui: { intent: "display" }
|
|
33546
|
-
},
|
|
33547
|
-
{
|
|
33548
|
-
id: "successMessage",
|
|
33549
|
-
type: "text",
|
|
33550
|
-
label: "Success message",
|
|
33551
|
-
description: "Message shown after successful enrollment",
|
|
33552
|
-
required: false,
|
|
33553
|
-
multiline: true,
|
|
33554
|
-
defaultValue: "You're enrolled! Check your email for confirmation and session details.",
|
|
33555
|
-
maxLength: 500
|
|
33556
|
-
},
|
|
33557
|
-
{
|
|
33558
|
-
id: "waitlistMessage",
|
|
33559
|
-
type: "text",
|
|
33560
|
-
label: "Waitlist message",
|
|
33561
|
-
description: "Message when added to waitlist",
|
|
33562
|
-
required: false,
|
|
33563
|
-
multiline: true,
|
|
33564
|
-
defaultValue: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
33565
|
-
maxLength: 500
|
|
33566
|
-
},
|
|
33567
|
-
{
|
|
33568
|
-
id: "membershipMessage",
|
|
33569
|
-
type: "text",
|
|
33570
|
-
label: "Membership enrollment message",
|
|
33571
|
-
description: "Message when enrolled using a membership",
|
|
33572
|
-
required: false,
|
|
33573
|
-
multiline: true,
|
|
33574
|
-
defaultValue: "Enrolled using your membership! Check your email for session details.",
|
|
33575
|
-
maxLength: 500
|
|
33576
|
-
},
|
|
33577
|
-
{
|
|
33578
|
-
id: "buttonText",
|
|
33579
|
-
type: "text",
|
|
33580
|
-
label: "Submit button text",
|
|
33581
|
-
description: "Text for the enrollment submit button",
|
|
33582
|
-
required: false,
|
|
33583
|
-
multiline: false,
|
|
33584
|
-
defaultValue: "Sign up",
|
|
33585
|
-
maxLength: 40
|
|
33586
|
-
},
|
|
33587
|
-
createButtonVariantField()
|
|
33588
|
-
],
|
|
33589
|
-
layout: [styledSection({
|
|
33590
|
-
baseClass: "",
|
|
33591
|
-
spacing: "spacious",
|
|
33592
|
-
children: sectionContainer([
|
|
33593
|
-
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
33594
|
-
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
33595
|
-
courseRegistration(withApiBindings({
|
|
33596
|
-
subject: { $bind: {
|
|
33597
|
-
from: "$root.subject",
|
|
33598
|
-
fallback: null
|
|
33599
|
-
} },
|
|
33600
|
-
portalToken: { $bind: {
|
|
33601
|
-
from: "$root.portalToken",
|
|
33602
|
-
fallback: null
|
|
33603
|
-
} },
|
|
33604
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
33605
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
33606
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
33607
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
33608
|
-
successMessage: { $bind: { from: "content.successMessage" } },
|
|
33609
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
33610
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
33611
|
-
buttonText: { $bind: {
|
|
33612
|
-
from: "content.buttonText",
|
|
33613
|
-
fallback: "Sign up"
|
|
33614
|
-
} },
|
|
33615
|
-
buttonVariant: { $bind: {
|
|
33616
|
-
from: "content.buttonVariant",
|
|
33617
|
-
fallback: "primary"
|
|
33618
|
-
} },
|
|
33619
|
-
courses: { $bind: { from: "data.courses" } },
|
|
33620
|
-
stage: { $bind: {
|
|
33621
|
-
from: "$root.previewStage",
|
|
33622
|
-
fallback: "published"
|
|
33623
|
-
} }
|
|
33624
|
-
}))
|
|
33625
|
-
], { gap: "lg" })
|
|
33626
|
-
})]
|
|
33627
|
-
}),
|
|
33628
|
-
runtime: courseRegistrationBlockRuntime,
|
|
33629
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
33630
|
-
dataLoaders: { courses: {
|
|
33631
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
33632
|
-
params: {
|
|
33633
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
33634
|
-
limit: "50",
|
|
33635
|
-
stage: { $bind: {
|
|
33636
|
-
from: "$root.previewStage",
|
|
33637
|
-
fallback: "published"
|
|
33638
|
-
} }
|
|
33639
|
-
},
|
|
33640
|
-
mode: "server"
|
|
33641
|
-
} }
|
|
33642
|
-
};
|
|
33643
|
-
//#endregion
|
|
33644
33506
|
//#region ../blocks/src/system/blocks/event-details.ts
|
|
33645
33507
|
/**
|
|
33646
33508
|
* Event Details Block
|
|
@@ -33887,200 +33749,6 @@ const eventDetailsBlockDefinition = {
|
|
|
33887
33749
|
mode: "server"
|
|
33888
33750
|
} }
|
|
33889
33751
|
};
|
|
33890
|
-
const courseDetailsBlockDefinition = {
|
|
33891
|
-
manifest: createBlockManifest({
|
|
33892
|
-
id: "block.course-details",
|
|
33893
|
-
version: "1.0.0",
|
|
33894
|
-
title: "Course Details",
|
|
33895
|
-
titleSource: "heading",
|
|
33896
|
-
description: "Schedule, venue, price, and enrollment status for a course",
|
|
33897
|
-
category: "content",
|
|
33898
|
-
contentSource: { kind: "entries" },
|
|
33899
|
-
tags: [
|
|
33900
|
-
"courses",
|
|
33901
|
-
"schedule",
|
|
33902
|
-
"sessions",
|
|
33903
|
-
"venue",
|
|
33904
|
-
"pricing"
|
|
33905
|
-
],
|
|
33906
|
-
icon: "GraduationCap",
|
|
33907
|
-
styleTokens: {
|
|
33908
|
-
background: "surface",
|
|
33909
|
-
typography: "body",
|
|
33910
|
-
spacing: "md"
|
|
33911
|
-
},
|
|
33912
|
-
behaviours: {
|
|
33913
|
-
supportsThemeSwitching: true,
|
|
33914
|
-
inlineEditing: false,
|
|
33915
|
-
animation: false,
|
|
33916
|
-
paletteHidden: false
|
|
33917
|
-
},
|
|
33918
|
-
additionalFields: [
|
|
33919
|
-
{
|
|
33920
|
-
id: "heading",
|
|
33921
|
-
type: "text",
|
|
33922
|
-
label: "Heading",
|
|
33923
|
-
description: "Optional heading shown above course details",
|
|
33924
|
-
required: false,
|
|
33925
|
-
multiline: false,
|
|
33926
|
-
defaultValue: "Course details"
|
|
33927
|
-
},
|
|
33928
|
-
{
|
|
33929
|
-
id: "showTitle",
|
|
33930
|
-
type: "boolean",
|
|
33931
|
-
label: "Show course title",
|
|
33932
|
-
required: false,
|
|
33933
|
-
defaultValue: false,
|
|
33934
|
-
ui: { intent: "display" }
|
|
33935
|
-
},
|
|
33936
|
-
{
|
|
33937
|
-
id: "showDescription",
|
|
33938
|
-
type: "boolean",
|
|
33939
|
-
label: "Show course description",
|
|
33940
|
-
description: "Render the course description from the bookings course record",
|
|
33941
|
-
required: false,
|
|
33942
|
-
defaultValue: false,
|
|
33943
|
-
ui: { intent: "display" }
|
|
33944
|
-
},
|
|
33945
|
-
{
|
|
33946
|
-
id: "showSessions",
|
|
33947
|
-
type: "boolean",
|
|
33948
|
-
label: "Show sessions",
|
|
33949
|
-
required: false,
|
|
33950
|
-
defaultValue: true,
|
|
33951
|
-
ui: { intent: "display" }
|
|
33952
|
-
},
|
|
33953
|
-
{
|
|
33954
|
-
id: "sessionsLimit",
|
|
33955
|
-
type: "select",
|
|
33956
|
-
label: "Sessions limit",
|
|
33957
|
-
required: false,
|
|
33958
|
-
multiple: false,
|
|
33959
|
-
defaultValue: "10",
|
|
33960
|
-
options: [
|
|
33961
|
-
{
|
|
33962
|
-
value: "3",
|
|
33963
|
-
label: "3 sessions"
|
|
33964
|
-
},
|
|
33965
|
-
{
|
|
33966
|
-
value: "5",
|
|
33967
|
-
label: "5 sessions"
|
|
33968
|
-
},
|
|
33969
|
-
{
|
|
33970
|
-
value: "10",
|
|
33971
|
-
label: "10 sessions"
|
|
33972
|
-
},
|
|
33973
|
-
{
|
|
33974
|
-
value: "all",
|
|
33975
|
-
label: "All sessions"
|
|
33976
|
-
}
|
|
33977
|
-
],
|
|
33978
|
-
ui: { intent: "display" }
|
|
33979
|
-
},
|
|
33980
|
-
{
|
|
33981
|
-
id: "showVenue",
|
|
33982
|
-
type: "boolean",
|
|
33983
|
-
label: "Show venue",
|
|
33984
|
-
required: false,
|
|
33985
|
-
defaultValue: true,
|
|
33986
|
-
ui: { intent: "display" }
|
|
33987
|
-
},
|
|
33988
|
-
{
|
|
33989
|
-
id: "showPrice",
|
|
33990
|
-
type: "boolean",
|
|
33991
|
-
label: "Show price",
|
|
33992
|
-
required: false,
|
|
33993
|
-
defaultValue: true,
|
|
33994
|
-
ui: { intent: "display" }
|
|
33995
|
-
},
|
|
33996
|
-
{
|
|
33997
|
-
id: "showCapacity",
|
|
33998
|
-
type: "boolean",
|
|
33999
|
-
label: "Show capacity",
|
|
34000
|
-
required: false,
|
|
34001
|
-
defaultValue: true,
|
|
34002
|
-
ui: { intent: "display" }
|
|
34003
|
-
},
|
|
34004
|
-
{
|
|
34005
|
-
id: "showEnrollmentStatus",
|
|
34006
|
-
type: "boolean",
|
|
34007
|
-
label: "Show enrollment status",
|
|
34008
|
-
required: false,
|
|
34009
|
-
defaultValue: true,
|
|
34010
|
-
ui: { intent: "display" }
|
|
34011
|
-
},
|
|
34012
|
-
{
|
|
34013
|
-
id: "showMembershipNote",
|
|
34014
|
-
type: "boolean",
|
|
34015
|
-
label: "Show membership note",
|
|
34016
|
-
description: "Indicate when memberships can be used for free enrollment",
|
|
34017
|
-
required: false,
|
|
34018
|
-
defaultValue: true,
|
|
34019
|
-
ui: { intent: "display" }
|
|
34020
|
-
}
|
|
34021
|
-
],
|
|
34022
|
-
layout: [styledSection({
|
|
34023
|
-
baseClass: "",
|
|
34024
|
-
spacing: "spacious",
|
|
34025
|
-
children: sectionContainer([text({ as: "h2" }, bind("content.heading"), when("content.heading")), el("course-details", {
|
|
34026
|
-
subject: { $bind: {
|
|
34027
|
-
from: "$root.subject",
|
|
34028
|
-
fallback: null
|
|
34029
|
-
} },
|
|
34030
|
-
courses: { $bind: { from: "data.courses" } },
|
|
34031
|
-
showTitle: { $bind: {
|
|
34032
|
-
from: "content.showTitle",
|
|
34033
|
-
fallback: false
|
|
34034
|
-
} },
|
|
34035
|
-
showDescription: { $bind: {
|
|
34036
|
-
from: "content.showDescription",
|
|
34037
|
-
fallback: false
|
|
34038
|
-
} },
|
|
34039
|
-
showSessions: { $bind: {
|
|
34040
|
-
from: "content.showSessions",
|
|
34041
|
-
fallback: true
|
|
34042
|
-
} },
|
|
34043
|
-
sessionsLimit: { $bind: {
|
|
34044
|
-
from: "content.sessionsLimit",
|
|
34045
|
-
fallback: "10"
|
|
34046
|
-
} },
|
|
34047
|
-
showVenue: { $bind: {
|
|
34048
|
-
from: "content.showVenue",
|
|
34049
|
-
fallback: true
|
|
34050
|
-
} },
|
|
34051
|
-
showPrice: { $bind: {
|
|
34052
|
-
from: "content.showPrice",
|
|
34053
|
-
fallback: true
|
|
34054
|
-
} },
|
|
34055
|
-
showCapacity: { $bind: {
|
|
34056
|
-
from: "content.showCapacity",
|
|
34057
|
-
fallback: true
|
|
34058
|
-
} },
|
|
34059
|
-
showEnrollmentStatus: { $bind: {
|
|
34060
|
-
from: "content.showEnrollmentStatus",
|
|
34061
|
-
fallback: true
|
|
34062
|
-
} },
|
|
34063
|
-
showMembershipNote: { $bind: {
|
|
34064
|
-
from: "content.showMembershipNote",
|
|
34065
|
-
fallback: true
|
|
34066
|
-
} }
|
|
34067
|
-
})], { gap: "lg" })
|
|
34068
|
-
})]
|
|
34069
|
-
}),
|
|
34070
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
34071
|
-
dataLoaders: { courses: {
|
|
34072
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
34073
|
-
params: {
|
|
34074
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
34075
|
-
limit: "50",
|
|
34076
|
-
stage: { $bind: {
|
|
34077
|
-
from: "$root.previewStage",
|
|
34078
|
-
fallback: "published"
|
|
34079
|
-
} }
|
|
34080
|
-
},
|
|
34081
|
-
mode: "server"
|
|
34082
|
-
} }
|
|
34083
|
-
};
|
|
34084
33752
|
const eventSpotlightBlockDefinition = {
|
|
34085
33753
|
manifest: createBlockManifest({
|
|
34086
33754
|
id: "block.event-spotlight",
|
|
@@ -36635,7 +36303,7 @@ const EmptyState = ({ message = "No upcoming events scheduled.", className, hasA
|
|
|
36635
36303
|
//#region ../blocks/src/system/runtime/nodes/events/shared/DateTimeTile.tsx
|
|
36636
36304
|
/**
|
|
36637
36305
|
* Shared tile content for displaying date and time range.
|
|
36638
|
-
* Used by event-details "Other dates"
|
|
36306
|
+
* Used by event-details "Other dates".
|
|
36639
36307
|
*/
|
|
36640
36308
|
function DateTimeTile({ startsAt, endsAt, timeZone }) {
|
|
36641
36309
|
const { date, timeRange } = formatEventDateParts({
|
|
@@ -38836,6 +38504,7 @@ function normalizeGroupPresentation(value) {
|
|
|
38836
38504
|
function resolveAutoCtaPath(source, routes) {
|
|
38837
38505
|
const routeByNormalizedPath = /* @__PURE__ */ new Map();
|
|
38838
38506
|
for (const route of routes ?? []) {
|
|
38507
|
+
if (route.kind === "pageSurface") continue;
|
|
38839
38508
|
const normalized = normalizeRoutePath(route.path);
|
|
38840
38509
|
if (normalized && !routeByNormalizedPath.has(normalized)) routeByNormalizedPath.set(normalized, route.path);
|
|
38841
38510
|
}
|
|
@@ -38886,7 +38555,7 @@ const publicRouteCandidatesSchema = z$1.object({ routes: z$1.array(z$1.object({
|
|
|
38886
38555
|
entityId: z$1.string(),
|
|
38887
38556
|
path: z$1.string(),
|
|
38888
38557
|
title: z$1.string(),
|
|
38889
|
-
kind: z$1.enum(
|
|
38558
|
+
kind: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
38890
38559
|
contentTypeKey: z$1.string().nullable().optional()
|
|
38891
38560
|
})) });
|
|
38892
38561
|
const groupOverrideFields = [
|
|
@@ -39163,7 +38832,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
39163
38832
|
fallback: "published"
|
|
39164
38833
|
} },
|
|
39165
38834
|
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
39166
|
-
|
|
38835
|
+
wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
|
|
39167
38836
|
...offeringsPreviewEventDataBindings
|
|
39168
38837
|
})
|
|
39169
38838
|
], { gap: "lg" }),
|
|
@@ -39180,7 +38849,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
39180
38849
|
dataSchemas: {
|
|
39181
38850
|
...offeringsPreviewEventDataSchemas,
|
|
39182
38851
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
39183
|
-
|
|
38852
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
|
|
39184
38853
|
},
|
|
39185
38854
|
dataLoaders: {
|
|
39186
38855
|
...offeringsPreviewEventDataLoaders,
|
|
@@ -39189,7 +38858,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
39189
38858
|
params: {},
|
|
39190
38859
|
mode: "server"
|
|
39191
38860
|
},
|
|
39192
|
-
|
|
38861
|
+
wholeSeriesOfferings: {
|
|
39193
38862
|
endpoint: "listPublicWholeSeriesOfferings",
|
|
39194
38863
|
params: {
|
|
39195
38864
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
@@ -44271,22 +43940,6 @@ const systemBlockDefinitions = [
|
|
|
44271
43940
|
weight: "standard"
|
|
44272
43941
|
})]
|
|
44273
43942
|
})),
|
|
44274
|
-
withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
44275
|
-
flow: conversionFlow,
|
|
44276
|
-
layoutProfiles: [layoutProfile({
|
|
44277
|
-
variantKey: "default",
|
|
44278
|
-
family: "form",
|
|
44279
|
-
weight: "standard"
|
|
44280
|
-
})]
|
|
44281
|
-
})),
|
|
44282
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
44283
|
-
flow: offeringsFlow,
|
|
44284
|
-
layoutProfiles: [layoutProfile({
|
|
44285
|
-
variantKey: "default",
|
|
44286
|
-
family: "stack",
|
|
44287
|
-
weight: "standard"
|
|
44288
|
-
})]
|
|
44289
|
-
})),
|
|
44290
43943
|
withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
|
|
44291
43944
|
flow: offeringsFlow,
|
|
44292
43945
|
layoutProfiles: [layoutProfile({
|
|
@@ -45214,7 +44867,7 @@ function normalizeRel(target, rel) {
|
|
|
45214
44867
|
tokens.add("noreferrer");
|
|
45215
44868
|
return Array.from(tokens).join(" ");
|
|
45216
44869
|
}
|
|
45217
|
-
function renderMarks(text, marks, key) {
|
|
44870
|
+
function renderMarks(text, marks, key, linkTarget) {
|
|
45218
44871
|
if (!marks || marks.length === 0) return text;
|
|
45219
44872
|
return marks.reduce((acc, mark) => {
|
|
45220
44873
|
switch (mark.type) {
|
|
@@ -45227,7 +44880,8 @@ function renderMarks(text, marks, key) {
|
|
|
45227
44880
|
const attrs = mark.attrs ?? {};
|
|
45228
44881
|
const href = sanitizeHref(attrs.href);
|
|
45229
44882
|
if (!href) return acc;
|
|
45230
|
-
const
|
|
44883
|
+
const storedTarget = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
|
|
44884
|
+
const target = linkTarget === "new-tab" ? "_blank" : storedTarget;
|
|
45231
44885
|
return /* @__PURE__ */ jsx("a", {
|
|
45232
44886
|
href,
|
|
45233
44887
|
target,
|
|
@@ -45239,14 +44893,14 @@ function renderMarks(text, marks, key) {
|
|
|
45239
44893
|
}
|
|
45240
44894
|
}, text);
|
|
45241
44895
|
}
|
|
45242
|
-
function renderDoc(node, key, imageResolveContext) {
|
|
44896
|
+
function renderDoc(node, key, imageResolveContext, linkTarget) {
|
|
45243
44897
|
if (!node || !node.type) return null;
|
|
45244
|
-
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext));
|
|
44898
|
+
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext, linkTarget));
|
|
45245
44899
|
switch (node.type) {
|
|
45246
44900
|
case "doc": return /* @__PURE__ */ jsx(Fragment, { children });
|
|
45247
44901
|
case "paragraph":
|
|
45248
44902
|
if (!children && !node.text) return /* @__PURE__ */ jsx("p", {}, key);
|
|
45249
|
-
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
|
|
44903
|
+
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key, linkTarget) }, key);
|
|
45250
44904
|
case "heading": {
|
|
45251
44905
|
const headingTag = `h${Math.min(Math.max(node.attrs?.level ?? 2, 1), 6)}`;
|
|
45252
44906
|
return React.createElement(headingTag, { key }, children);
|
|
@@ -45288,14 +44942,14 @@ function renderDoc(node, key, imageResolveContext) {
|
|
|
45288
44942
|
decoding: "async"
|
|
45289
44943
|
}, key);
|
|
45290
44944
|
}
|
|
45291
|
-
case "text": return renderMarks(node.text ?? "", node.marks, key);
|
|
44945
|
+
case "text": return renderMarks(node.text ?? "", node.marks, key, linkTarget);
|
|
45292
44946
|
default: return null;
|
|
45293
44947
|
}
|
|
45294
44948
|
}
|
|
45295
44949
|
const DEFAULT_RICH_TEXT_CLASS = "rb-prose rb-max-w-none";
|
|
45296
|
-
function RichText$2({ as: Comp = "div", className, doc, path }) {
|
|
44950
|
+
function RichText$2({ as: Comp = "div", className, doc, path, linkTarget = "stored" }) {
|
|
45297
44951
|
const imageResolveContext = getCurrentResolveImageUrlContext() ?? null;
|
|
45298
|
-
const content = doc ? renderDoc(doc, "doc", imageResolveContext) : null;
|
|
44952
|
+
const content = doc ? renderDoc(doc, "doc", imageResolveContext, linkTarget) : null;
|
|
45299
44953
|
const dataAttributes = path ? { "data-builder-richtext": path } : void 0;
|
|
45300
44954
|
return /* @__PURE__ */ jsx(Comp, {
|
|
45301
44955
|
className: className?.trim() || DEFAULT_RICH_TEXT_CLASS,
|
|
@@ -46651,7 +46305,6 @@ function readBookingFieldType(value) {
|
|
|
46651
46305
|
case "select":
|
|
46652
46306
|
case "radio":
|
|
46653
46307
|
case "checkbox":
|
|
46654
|
-
case "booking_requirement_consent":
|
|
46655
46308
|
case "tel":
|
|
46656
46309
|
case "url":
|
|
46657
46310
|
case "number":
|
|
@@ -46686,7 +46339,7 @@ function normalizeBookingSettings(value) {
|
|
|
46686
46339
|
};
|
|
46687
46340
|
}
|
|
46688
46341
|
function isBookingFormService(value) {
|
|
46689
|
-
return isRecord$13(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
46342
|
+
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);
|
|
46690
46343
|
}
|
|
46691
46344
|
function readNonEmptyString(value) {
|
|
46692
46345
|
if (typeof value !== "string") return null;
|
|
@@ -46711,6 +46364,15 @@ const bookingFieldOptionSchema = z$1.object({
|
|
|
46711
46364
|
value: z$1.string(),
|
|
46712
46365
|
label: z$1.string()
|
|
46713
46366
|
});
|
|
46367
|
+
const standardBookingFieldRules = {
|
|
46368
|
+
options: z$1.array(bookingFieldOptionSchema).optional(),
|
|
46369
|
+
multiple: z$1.boolean().optional(),
|
|
46370
|
+
minLength: z$1.number().optional(),
|
|
46371
|
+
maxLength: z$1.number().optional(),
|
|
46372
|
+
pattern: z$1.string().optional(),
|
|
46373
|
+
min: z$1.number().optional(),
|
|
46374
|
+
max: z$1.number().optional()
|
|
46375
|
+
};
|
|
46714
46376
|
const bookingFieldSchema = z$1.object({
|
|
46715
46377
|
id: z$1.string(),
|
|
46716
46378
|
label: z$1.string(),
|
|
@@ -46721,7 +46383,6 @@ const bookingFieldSchema = z$1.object({
|
|
|
46721
46383
|
"select",
|
|
46722
46384
|
"radio",
|
|
46723
46385
|
"checkbox",
|
|
46724
|
-
"booking_requirement_consent",
|
|
46725
46386
|
"tel",
|
|
46726
46387
|
"url",
|
|
46727
46388
|
"number",
|
|
@@ -46731,13 +46392,7 @@ const bookingFieldSchema = z$1.object({
|
|
|
46731
46392
|
required: z$1.boolean().optional(),
|
|
46732
46393
|
placeholder: z$1.string().optional(),
|
|
46733
46394
|
helpText: z$1.string().optional(),
|
|
46734
|
-
|
|
46735
|
-
multiple: z$1.boolean().optional(),
|
|
46736
|
-
minLength: z$1.number().optional(),
|
|
46737
|
-
maxLength: z$1.number().optional(),
|
|
46738
|
-
pattern: z$1.string().optional(),
|
|
46739
|
-
min: z$1.number().optional(),
|
|
46740
|
-
max: z$1.number().optional()
|
|
46395
|
+
...standardBookingFieldRules
|
|
46741
46396
|
});
|
|
46742
46397
|
const bookingSettingsSchema = z$1.object({
|
|
46743
46398
|
type: z$1.literal("booking"),
|
|
@@ -46780,7 +46435,8 @@ const bookingServiceSchema = z$1.object({
|
|
|
46780
46435
|
priceAmount: z$1.number().nullable().optional(),
|
|
46781
46436
|
priceCurrency: z$1.string().nullable().optional(),
|
|
46782
46437
|
paymentTerms: blockBookingPaymentTermsSchema.optional(),
|
|
46783
|
-
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
|
|
46438
|
+
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional(),
|
|
46439
|
+
consent: blockBookingConsentSchema.optional()
|
|
46784
46440
|
});
|
|
46785
46441
|
const bookingServicesSourceSchema = z$1.union([
|
|
46786
46442
|
z$1.array(bookingServiceSchema),
|
|
@@ -47046,7 +46702,7 @@ function emptySelection(timeZone) {
|
|
|
47046
46702
|
timeZone
|
|
47047
46703
|
};
|
|
47048
46704
|
}
|
|
47049
|
-
function parseLimit
|
|
46705
|
+
function parseLimit(value, fallback) {
|
|
47050
46706
|
if (value === "all") return Number.MAX_SAFE_INTEGER;
|
|
47051
46707
|
const n = typeof value === "string" ? parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
47052
46708
|
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
@@ -47129,7 +46785,7 @@ function selectEventDetails(args) {
|
|
|
47129
46785
|
subject: args.subject
|
|
47130
46786
|
}));
|
|
47131
46787
|
const occurrenceContext = args.occurrenceContext ?? null;
|
|
47132
|
-
const otherLimit = parseLimit
|
|
46788
|
+
const otherLimit = parseLimit(args.otherDatesLimit, 5);
|
|
47133
46789
|
const candidate = selectEventCandidate(all, occurrenceContext, args.nowIso);
|
|
47134
46790
|
const timeZone = toBookingTimeZone(candidate?.event.timeZone ?? all[0]?.timeZone ?? null);
|
|
47135
46791
|
if (!candidate) return emptySelection(timeZone);
|
|
@@ -47205,8 +46861,8 @@ function resolveEventDetailsPresentation(input) {
|
|
|
47205
46861
|
};
|
|
47206
46862
|
}
|
|
47207
46863
|
//#endregion
|
|
47208
|
-
//#region ../blocks/src/system/runtime/nodes/event-details/
|
|
47209
|
-
function
|
|
46864
|
+
//#region ../blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.tsx
|
|
46865
|
+
function WholeSeriesPricingDisplay({ pricing, acceptedItems }) {
|
|
47210
46866
|
return /* @__PURE__ */ jsxs("div", {
|
|
47211
46867
|
className: "rb-mt-6",
|
|
47212
46868
|
children: [
|
|
@@ -47218,7 +46874,8 @@ function CoursePricingDisplay({ pricing, acceptedItems }) {
|
|
|
47218
46874
|
className: "rb-flex rb-flex-col rb-gap-2",
|
|
47219
46875
|
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
47220
46876
|
option.name,
|
|
47221
|
-
":
|
|
46877
|
+
":",
|
|
46878
|
+
" ",
|
|
47222
46879
|
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
47223
46880
|
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
47224
46881
|
className: "rb-caption status-muted",
|
|
@@ -47239,7 +46896,7 @@ function formatAutoApplyDiscountLine(preview, currency) {
|
|
|
47239
46896
|
const label = preview.publicLabel.trim() || "Discount";
|
|
47240
46897
|
return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} — ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} — ${rate} applied automatically`;
|
|
47241
46898
|
}
|
|
47242
|
-
function TeamMemberName
|
|
46899
|
+
function TeamMemberName({ name, profilePath }) {
|
|
47243
46900
|
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
47244
46901
|
href: profilePath,
|
|
47245
46902
|
className: "rb-hover-opacity-80",
|
|
@@ -47276,7 +46933,7 @@ function EventPricingDetails({ isDropIn, coursePricing, acceptedItems, eventCost
|
|
|
47276
46933
|
children: "No registration required - just show up"
|
|
47277
46934
|
})]
|
|
47278
46935
|
});
|
|
47279
|
-
if (coursePricing) return /* @__PURE__ */ jsx(
|
|
46936
|
+
if (coursePricing) return /* @__PURE__ */ jsx(WholeSeriesPricingDisplay, {
|
|
47280
46937
|
pricing: coursePricing,
|
|
47281
46938
|
acceptedItems: [...acceptedItems]
|
|
47282
46939
|
});
|
|
@@ -47351,7 +47008,7 @@ function EventFacts({ selection, selected, venue, teamMembers, pricing, showCapa
|
|
|
47351
47008
|
children: "With"
|
|
47352
47009
|
}), /* @__PURE__ */ jsx("div", {
|
|
47353
47010
|
className: "rb-flex rb-flex-col rb-gap-3",
|
|
47354
|
-
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName
|
|
47011
|
+
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
47355
47012
|
name: member.name,
|
|
47356
47013
|
profilePath: member.profilePath
|
|
47357
47014
|
}) }), member.summary ? /* @__PURE__ */ jsx("p", {
|
|
@@ -47630,352 +47287,6 @@ function LocationMapSSR(props) {
|
|
|
47630
47287
|
});
|
|
47631
47288
|
}
|
|
47632
47289
|
//#endregion
|
|
47633
|
-
//#region ../blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.ts
|
|
47634
|
-
/**
|
|
47635
|
-
* Resolves native run-page ownership without falling back to entry or slug
|
|
47636
|
-
* coincidence when a page-surface subject is present but invalid.
|
|
47637
|
-
*/
|
|
47638
|
-
function resolveWholeSeriesPageSurfaceScope(runs, subjectValue) {
|
|
47639
|
-
if (subjectValue === null || subjectValue === void 0) return { kind: "absent" };
|
|
47640
|
-
const parsed = parseEventPageSurfaceSubject(subjectValue);
|
|
47641
|
-
if (!parsed.ok) return {
|
|
47642
|
-
kind: "unsupported",
|
|
47643
|
-
reason: parsed.error.kind
|
|
47644
|
-
};
|
|
47645
|
-
const seriesIds = eventSeriesIdsForSubject(parsed.value);
|
|
47646
|
-
const allowedSeriesIds = new Set(seriesIds);
|
|
47647
|
-
return {
|
|
47648
|
-
kind: "scoped",
|
|
47649
|
-
subject: parsed.value,
|
|
47650
|
-
runs: runs.filter((run) => allowedSeriesIds.has(run.eventSeriesId))
|
|
47651
|
-
};
|
|
47652
|
-
}
|
|
47653
|
-
function eventSeriesIdsForSubject(subject) {
|
|
47654
|
-
switch (subject.kind) {
|
|
47655
|
-
case "eventSeries": return [subject.eventSeriesId];
|
|
47656
|
-
case "eventOffering": return subject.availableEventSeriesIds;
|
|
47657
|
-
default: return assertNever$23(subject);
|
|
47658
|
-
}
|
|
47659
|
-
}
|
|
47660
|
-
//#endregion
|
|
47661
|
-
//#region ../blocks/src/system/runtime/nodes/course-page-surface-scope.ts
|
|
47662
|
-
/** Temporary Course-block adapter over canonical Event run scoping. */
|
|
47663
|
-
function resolveCoursePageSurfaceScope(courses, subjectValue) {
|
|
47664
|
-
const scope = resolveWholeSeriesPageSurfaceScope(courses, subjectValue);
|
|
47665
|
-
return scope.kind === "scoped" ? {
|
|
47666
|
-
kind: "scoped",
|
|
47667
|
-
subject: scope.subject,
|
|
47668
|
-
courses: scope.runs
|
|
47669
|
-
} : scope;
|
|
47670
|
-
}
|
|
47671
|
-
//#endregion
|
|
47672
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/logic.ts
|
|
47673
|
-
function selectCourseDetails(args) {
|
|
47674
|
-
const pageSurfaceScope = resolveCoursePageSurfaceScope((args.courses ?? []).filter(Boolean), args.subject);
|
|
47675
|
-
if (pageSurfaceScope.kind === "unsupported") return {
|
|
47676
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
47677
|
-
selected: null,
|
|
47678
|
-
scoped: []
|
|
47679
|
-
};
|
|
47680
|
-
if (pageSurfaceScope.kind === "scoped") {
|
|
47681
|
-
const scoped = [...pageSurfaceScope.courses];
|
|
47682
|
-
return {
|
|
47683
|
-
mode: "pageSurfaceSubject",
|
|
47684
|
-
selected: scoped.length === 1 ? scoped[0] ?? null : null,
|
|
47685
|
-
scoped
|
|
47686
|
-
};
|
|
47687
|
-
}
|
|
47688
|
-
return {
|
|
47689
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
47690
|
-
selected: null,
|
|
47691
|
-
scoped: []
|
|
47692
|
-
};
|
|
47693
|
-
}
|
|
47694
|
-
//#endregion
|
|
47695
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/runs.ts
|
|
47696
|
-
function toValidDate(value) {
|
|
47697
|
-
if (!value) return null;
|
|
47698
|
-
const date = new Date(value);
|
|
47699
|
-
return Number.isNaN(date.getTime()) ? null : date;
|
|
47700
|
-
}
|
|
47701
|
-
function getCourseDateRange(course) {
|
|
47702
|
-
const datedSessions = (course.sessions ?? []).map((session) => ({
|
|
47703
|
-
session,
|
|
47704
|
-
start: toValidDate(session.startsAt),
|
|
47705
|
-
end: toValidDate(session.endsAt)
|
|
47706
|
-
})).filter((value) => value.start !== null || value.end !== null);
|
|
47707
|
-
if (datedSessions.length === 0) return {
|
|
47708
|
-
start: null,
|
|
47709
|
-
end: null,
|
|
47710
|
-
startIso: null,
|
|
47711
|
-
endIso: null,
|
|
47712
|
-
timeZone: null
|
|
47713
|
-
};
|
|
47714
|
-
const startSession = datedSessions.filter((value) => value.start !== null).reduce((earliest, current) => earliest === null || current.start.getTime() < earliest.start.getTime() ? current : earliest, null);
|
|
47715
|
-
const endSession = datedSessions.filter((value) => value.end !== null).reduce((latest, current) => latest === null || current.end.getTime() > latest.end.getTime() ? current : latest, null);
|
|
47716
|
-
return {
|
|
47717
|
-
start: startSession?.start ?? null,
|
|
47718
|
-
end: endSession?.end ?? null,
|
|
47719
|
-
startIso: startSession?.session.startsAt ?? null,
|
|
47720
|
-
endIso: endSession?.session.endsAt ?? null,
|
|
47721
|
-
timeZone: startSession?.session.timeZone ?? endSession?.session.timeZone ?? null
|
|
47722
|
-
};
|
|
47723
|
-
}
|
|
47724
|
-
function formatCourseDateRange(range) {
|
|
47725
|
-
const { startIso, endIso, timeZone } = range;
|
|
47726
|
-
const dateFormat = {
|
|
47727
|
-
month: "numeric",
|
|
47728
|
-
day: "numeric",
|
|
47729
|
-
year: "numeric"
|
|
47730
|
-
};
|
|
47731
|
-
const effectiveTimeZone = toBookingTimeZone(timeZone);
|
|
47732
|
-
const formatSingleDate = (iso) => formatBookingDate(toScheduledBookingDateTime({
|
|
47733
|
-
startsAt: iso,
|
|
47734
|
-
timeZone: effectiveTimeZone
|
|
47735
|
-
}), dateFormat);
|
|
47736
|
-
const formatRangeDateOnly = (startsAt, endsAt) => {
|
|
47737
|
-
const startText = formatSingleDate(startsAt);
|
|
47738
|
-
const endText = formatSingleDate(endsAt);
|
|
47739
|
-
return startText === endText ? startText : `${startText} – ${endText}`;
|
|
47740
|
-
};
|
|
47741
|
-
if (!startIso && !endIso) return "Dates TBD";
|
|
47742
|
-
if (startIso && !endIso) return formatSingleDate(startIso);
|
|
47743
|
-
if (!startIso && endIso) return formatSingleDate(endIso);
|
|
47744
|
-
if (!startIso || !endIso) return "Dates TBD";
|
|
47745
|
-
return formatRangeDateOnly(startIso, endIso);
|
|
47746
|
-
}
|
|
47747
|
-
//#endregion
|
|
47748
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/view.tsx
|
|
47749
|
-
function TeamMemberName({ name, profilePath }) {
|
|
47750
|
-
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
47751
|
-
href: profilePath,
|
|
47752
|
-
className: "rb-hover-opacity-80",
|
|
47753
|
-
children: /* @__PURE__ */ jsx("strong", { children: name })
|
|
47754
|
-
}) : /* @__PURE__ */ jsx("strong", { children: name });
|
|
47755
|
-
}
|
|
47756
|
-
function parseLimit(value, fallback) {
|
|
47757
|
-
if (value === "all") return "all";
|
|
47758
|
-
const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
47759
|
-
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
47760
|
-
}
|
|
47761
|
-
function CourseDetailsView(props) {
|
|
47762
|
-
const { course, showTitle = false, showDescription = false, showSessions = true, sessionsLimit, showVenue = true, showPrice = true, showCapacity = true, showEnrollmentStatus = true, showMembershipNote = true, emptyMessage = "Course details unavailable." } = props;
|
|
47763
|
-
if (!course) return /* @__PURE__ */ jsx("p", {
|
|
47764
|
-
className: "rb-caption status-muted",
|
|
47765
|
-
children: emptyMessage
|
|
47766
|
-
});
|
|
47767
|
-
const pricing = resolveWholeSeriesPricingState(course);
|
|
47768
|
-
const sessionLimit = parseLimit(sessionsLimit, 10);
|
|
47769
|
-
const sortedSessions = [...course.sessions ?? []].sort((a, b) => Date.parse(a.startsAt) - Date.parse(b.startsAt));
|
|
47770
|
-
const visibleSessions = sessionLimit === "all" ? sortedSessions : sortedSessions.slice(0, sessionLimit);
|
|
47771
|
-
const hasMoreSessions = sessionLimit !== "all" && sortedSessions.length > sessionLimit;
|
|
47772
|
-
const descriptionDoc = showDescription ? coerceRichTextDoc(course.description, "block-runtime:course-details:description") : null;
|
|
47773
|
-
const teamMembers = course.teamMembers ?? [];
|
|
47774
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
47775
|
-
className: "rb-flex rb-flex-col rb-gap-6",
|
|
47776
|
-
children: [
|
|
47777
|
-
showTitle && /* @__PURE__ */ jsx("h3", { children: course.title }),
|
|
47778
|
-
/* @__PURE__ */ jsxs("div", {
|
|
47779
|
-
className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2",
|
|
47780
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
47781
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
47782
|
-
children: [
|
|
47783
|
-
showPrice && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47784
|
-
className: "rb-label rb-mb-2",
|
|
47785
|
-
children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price"
|
|
47786
|
-
}), pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx("div", {
|
|
47787
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
47788
|
-
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
47789
|
-
option.name,
|
|
47790
|
-
": ",
|
|
47791
|
-
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
47792
|
-
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
47793
|
-
className: "rb-caption status-muted",
|
|
47794
|
-
children: option.description
|
|
47795
|
-
}) : null] }, option.id))
|
|
47796
|
-
}) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: formatWholeSeriesPriceDisplay(pricing.display) }) })] }),
|
|
47797
|
-
showCapacity && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47798
|
-
className: "rb-label rb-mb-2",
|
|
47799
|
-
children: "Spots"
|
|
47800
|
-
}), /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })] }),
|
|
47801
|
-
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47802
|
-
className: "rb-label rb-mb-2",
|
|
47803
|
-
children: "Membership"
|
|
47804
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
47805
|
-
className: "rb-caption status-muted",
|
|
47806
|
-
children: "Eligible memberships can be used for free enrollment"
|
|
47807
|
-
})] }),
|
|
47808
|
-
teamMembers.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47809
|
-
className: "rb-label rb-mb-2",
|
|
47810
|
-
children: "With"
|
|
47811
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
47812
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
47813
|
-
children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
47814
|
-
name: teamMember.name,
|
|
47815
|
-
profilePath: teamMember.profilePath
|
|
47816
|
-
}) }), teamMember.summary && /* @__PURE__ */ jsx("p", {
|
|
47817
|
-
className: "rb-caption status-muted",
|
|
47818
|
-
children: teamMember.summary
|
|
47819
|
-
})] }, teamMember.id))
|
|
47820
|
-
})] })
|
|
47821
|
-
]
|
|
47822
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
47823
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
47824
|
-
children: [showVenue && course.venue && /* @__PURE__ */ jsxs("div", { children: [
|
|
47825
|
-
/* @__PURE__ */ jsx("div", {
|
|
47826
|
-
className: "rb-label rb-mb-2",
|
|
47827
|
-
children: "Venue"
|
|
47828
|
-
}),
|
|
47829
|
-
/* @__PURE__ */ jsx("h3", { children: course.venue.name }),
|
|
47830
|
-
course.venue.address && /* @__PURE__ */ jsx("p", {
|
|
47831
|
-
className: "rb-caption status-muted",
|
|
47832
|
-
children: course.venue.address
|
|
47833
|
-
})
|
|
47834
|
-
] }), showEnrollmentStatus && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47835
|
-
className: "rb-label rb-mb-2",
|
|
47836
|
-
children: "Enrollment"
|
|
47837
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
47838
|
-
className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed",
|
|
47839
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentOpen ? "Open" : "Closed" })
|
|
47840
|
-
})] })]
|
|
47841
|
-
})]
|
|
47842
|
-
}),
|
|
47843
|
-
descriptionDoc && /* @__PURE__ */ jsx("div", {
|
|
47844
|
-
className: "cd-description",
|
|
47845
|
-
children: /* @__PURE__ */ jsx(RichText$2, { doc: descriptionDoc })
|
|
47846
|
-
}),
|
|
47847
|
-
showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
47848
|
-
/* @__PURE__ */ jsx("div", {
|
|
47849
|
-
className: "rb-label",
|
|
47850
|
-
children: "Sessions"
|
|
47851
|
-
}),
|
|
47852
|
-
/* @__PURE__ */ jsx("div", {
|
|
47853
|
-
className: "rb-mt-2 rb-tiles-grid",
|
|
47854
|
-
children: visibleSessions.map((s) => /* @__PURE__ */ jsx("div", {
|
|
47855
|
-
className: "rb-tile",
|
|
47856
|
-
children: /* @__PURE__ */ jsx(DateTimeTile, {
|
|
47857
|
-
startsAt: s.startsAt,
|
|
47858
|
-
endsAt: s.endsAt
|
|
47859
|
-
})
|
|
47860
|
-
}, s.id))
|
|
47861
|
-
}),
|
|
47862
|
-
hasMoreSessions && /* @__PURE__ */ jsxs("p", {
|
|
47863
|
-
className: "cd-sessions__more",
|
|
47864
|
-
children: [
|
|
47865
|
-
"Showing ",
|
|
47866
|
-
visibleSessions.length,
|
|
47867
|
-
" of ",
|
|
47868
|
-
sortedSessions.length,
|
|
47869
|
-
" sessions."
|
|
47870
|
-
]
|
|
47871
|
-
})
|
|
47872
|
-
] })
|
|
47873
|
-
]
|
|
47874
|
-
});
|
|
47875
|
-
}
|
|
47876
|
-
//#endregion
|
|
47877
|
-
//#region ../blocks/src/system/runtime/nodes/course-details.server.tsx
|
|
47878
|
-
function CourseDetailsSSR({ courses, subject, showTitle, showDescription, showSessions, sessionsLimit, showVenue, showPrice, showCapacity, showEnrollmentStatus, showMembershipNote, className, children }) {
|
|
47879
|
-
const selection = selectCourseDetails({
|
|
47880
|
-
courses: courses ?? null,
|
|
47881
|
-
subject
|
|
47882
|
-
});
|
|
47883
|
-
const parsedSubject = parseEventPageSurfaceSubject(subject);
|
|
47884
|
-
const awaitingOfferingRuns = parsedSubject.ok && parsedSubject.value.kind === "eventOffering" && parsedSubject.value.availableEventSeriesIds.length === 0;
|
|
47885
|
-
const now = /* @__PURE__ */ new Date();
|
|
47886
|
-
const scopedWithRange = selection.scoped.map((c) => ({
|
|
47887
|
-
course: c,
|
|
47888
|
-
range: getCourseDateRange(c)
|
|
47889
|
-
}));
|
|
47890
|
-
const scopedSorted = [...scopedWithRange].sort((a, b) => {
|
|
47891
|
-
return (a.range.start?.getTime() ?? 0) - (b.range.start?.getTime() ?? 0);
|
|
47892
|
-
});
|
|
47893
|
-
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;
|
|
47894
|
-
const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
|
|
47895
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
47896
|
-
className: `course-details ${className ?? ""}`.trim(),
|
|
47897
|
-
"data-block": "course-details",
|
|
47898
|
-
children: [selection.selected ? /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
47899
|
-
course: selection.selected,
|
|
47900
|
-
showTitle,
|
|
47901
|
-
showDescription,
|
|
47902
|
-
showSessions,
|
|
47903
|
-
sessionsLimit,
|
|
47904
|
-
showVenue,
|
|
47905
|
-
showPrice,
|
|
47906
|
-
showCapacity,
|
|
47907
|
-
showEnrollmentStatus,
|
|
47908
|
-
showMembershipNote
|
|
47909
|
-
}) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs("div", {
|
|
47910
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
47911
|
-
children: [
|
|
47912
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47913
|
-
className: "rb-label rb-mb-2",
|
|
47914
|
-
children: "Upcoming runs"
|
|
47915
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
47916
|
-
className: "rb-caption status-muted",
|
|
47917
|
-
children: "Choose a run to see sessions and details."
|
|
47918
|
-
})] }),
|
|
47919
|
-
nonPastRuns.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
47920
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
47921
|
-
children: nonPastRuns.map(({ course, range }) => {
|
|
47922
|
-
const start = range.start;
|
|
47923
|
-
const end = range.end;
|
|
47924
|
-
const isInProgress = Boolean(start && end && start <= now && end > now);
|
|
47925
|
-
return /* @__PURE__ */ jsx("li", {
|
|
47926
|
-
className: "rb-rounded-md rb-border rb-p-3",
|
|
47927
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
47928
|
-
className: "rb-flex rb-flex-col rb-gap-1",
|
|
47929
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
47930
|
-
className: "rb-flex rb-items-center rb-justify-between rb-gap-3",
|
|
47931
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
47932
|
-
className: "rb-min-w-0",
|
|
47933
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
47934
|
-
className: "rb-truncate",
|
|
47935
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.title })
|
|
47936
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
47937
|
-
className: "rb-caption status-muted",
|
|
47938
|
-
children: formatCourseDateRange(range)
|
|
47939
|
-
})]
|
|
47940
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
47941
|
-
className: "rb-caption status-muted rb-shrink-0",
|
|
47942
|
-
children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed"
|
|
47943
|
-
})]
|
|
47944
|
-
})
|
|
47945
|
-
})
|
|
47946
|
-
}, course.eventSeriesId);
|
|
47947
|
-
})
|
|
47948
|
-
}) : /* @__PURE__ */ jsx("p", {
|
|
47949
|
-
className: "rb-caption status-muted",
|
|
47950
|
-
children: "No upcoming runs."
|
|
47951
|
-
}),
|
|
47952
|
-
lastPastRun ? /* @__PURE__ */ jsxs("div", {
|
|
47953
|
-
className: "rb-caption status-muted",
|
|
47954
|
-
children: [
|
|
47955
|
-
"Last run: ",
|
|
47956
|
-
/* @__PURE__ */ jsx("strong", { children: lastPastRun.course.title }),
|
|
47957
|
-
" (",
|
|
47958
|
-
formatCourseDateRange(lastPastRun.range),
|
|
47959
|
-
")"
|
|
47960
|
-
]
|
|
47961
|
-
}) : null
|
|
47962
|
-
]
|
|
47963
|
-
}) : /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
47964
|
-
course: null,
|
|
47965
|
-
emptyMessage: awaitingOfferingRuns ? "New dates are coming soon." : "Course details unavailable.",
|
|
47966
|
-
showTitle,
|
|
47967
|
-
showDescription,
|
|
47968
|
-
showSessions,
|
|
47969
|
-
sessionsLimit,
|
|
47970
|
-
showVenue,
|
|
47971
|
-
showPrice,
|
|
47972
|
-
showCapacity,
|
|
47973
|
-
showEnrollmentStatus,
|
|
47974
|
-
showMembershipNote
|
|
47975
|
-
}), children]
|
|
47976
|
-
});
|
|
47977
|
-
}
|
|
47978
|
-
//#endregion
|
|
47979
47290
|
//#region ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
|
|
47980
47291
|
/**
|
|
47981
47292
|
* EventSpotlight Component
|
|
@@ -48179,7 +47490,7 @@ function deriveCourseScheduleSummary(course) {
|
|
|
48179
47490
|
sessionCount: sessions.length
|
|
48180
47491
|
};
|
|
48181
47492
|
}
|
|
48182
|
-
function
|
|
47493
|
+
function nextWholeSeriesSessionStart(course) {
|
|
48183
47494
|
return [...course.sessions].filter(isValidOccurrence).map((session) => session.startsAt).sort((left, right) => left.localeCompare(right))[0] ?? null;
|
|
48184
47495
|
}
|
|
48185
47496
|
function occurrenceFromEvent(event) {
|
|
@@ -48333,7 +47644,7 @@ const OFFERINGS_PREVIEW_GRID_STYLE = {
|
|
|
48333
47644
|
function buildItemDataMap(props) {
|
|
48334
47645
|
const routeCandidates = props.routeCandidates?.routes ?? [];
|
|
48335
47646
|
const entries = OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [definition.sourceKey, eventDataFromMaybeArray(props[definition.dataKey])]);
|
|
48336
|
-
return new Map([...entries, ["course", courseDataFromMaybeArray(props.
|
|
47647
|
+
return new Map([...entries, ["course", courseDataFromMaybeArray(props.wholeSeriesOfferings, routeCandidates)]]);
|
|
48337
47648
|
}
|
|
48338
47649
|
function eventDataFromMaybeArray(events) {
|
|
48339
47650
|
return events ? {
|
|
@@ -48387,8 +47698,8 @@ function renderOfferingGroupItems(presentation, items, options) {
|
|
|
48387
47698
|
}
|
|
48388
47699
|
}
|
|
48389
47700
|
function compareCoursesByNextSession(left, right) {
|
|
48390
|
-
const leftStart =
|
|
48391
|
-
const rightStart =
|
|
47701
|
+
const leftStart = nextWholeSeriesSessionStart(left);
|
|
47702
|
+
const rightStart = nextWholeSeriesSessionStart(right);
|
|
48392
47703
|
if (leftStart === null) return rightStart === null ? 0 : 1;
|
|
48393
47704
|
if (rightStart === null) return -1;
|
|
48394
47705
|
return leftStart.localeCompare(rightStart);
|
|
@@ -49327,45 +48638,6 @@ function CheckoutSSR({ blockId, siteId, apiBaseUrl, stage, children, ...rest })
|
|
|
49327
48638
|
});
|
|
49328
48639
|
}
|
|
49329
48640
|
//#endregion
|
|
49330
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.server.tsx
|
|
49331
|
-
/**
|
|
49332
|
-
* Server-safe placeholder for course registration.
|
|
49333
|
-
* Provides a static container for island hydration without importing client hooks.
|
|
49334
|
-
*/
|
|
49335
|
-
function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children }) {
|
|
49336
|
-
const islandProps = buildCourseRegistrationInteractiveIslandProps({
|
|
49337
|
-
siteId,
|
|
49338
|
-
apiBaseUrl,
|
|
49339
|
-
portalToken,
|
|
49340
|
-
subject,
|
|
49341
|
-
courses,
|
|
49342
|
-
className,
|
|
49343
|
-
showSessions,
|
|
49344
|
-
showPrice,
|
|
49345
|
-
showCapacity,
|
|
49346
|
-
showVenue,
|
|
49347
|
-
successMessage,
|
|
49348
|
-
waitlistMessage,
|
|
49349
|
-
membershipMessage,
|
|
49350
|
-
buttonText,
|
|
49351
|
-
buttonVariant,
|
|
49352
|
-
stage
|
|
49353
|
-
});
|
|
49354
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
49355
|
-
className: `course-registration ${className ?? ""}`.trim(),
|
|
49356
|
-
"data-block": "course-registration",
|
|
49357
|
-
...getIslandRootProps("course-registration", blockId),
|
|
49358
|
-
children: [
|
|
49359
|
-
/* @__PURE__ */ jsx(IslandPropsScript, { value: islandProps }),
|
|
49360
|
-
/* @__PURE__ */ jsx("div", {
|
|
49361
|
-
className: "course-registration__summary",
|
|
49362
|
-
children: /* @__PURE__ */ jsx("strong", { children: islandProps.render.display.summaryButtonText })
|
|
49363
|
-
}),
|
|
49364
|
-
children
|
|
49365
|
-
]
|
|
49366
|
-
});
|
|
49367
|
-
}
|
|
49368
|
-
//#endregion
|
|
49369
48641
|
//#region ../blocks/src/system/runtime/nodes/gifting.server.tsx
|
|
49370
48642
|
function GiftingSSR({ blockId, ...rest }) {
|
|
49371
48643
|
const islandProps = buildGiftingInteractiveIslandProps(rest);
|
|
@@ -50851,7 +50123,6 @@ const runtimeBackedBlockServerEntries = {
|
|
|
50851
50123
|
"product-detail": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(productDetailBlockDefinition), ProductDetailSSR),
|
|
50852
50124
|
cart: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(cartBlockDefinition), CartSSR),
|
|
50853
50125
|
checkout: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(checkoutBlockDefinition), CheckoutSSR),
|
|
50854
|
-
"course-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(courseRegistrationBlockDefinition), CourseRegistrationSSR),
|
|
50855
50126
|
gifting: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(giftingBlockDefinition), GiftingSSR),
|
|
50856
50127
|
"event-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(eventRegistrationBlockDefinition), EventRegistrationSSR),
|
|
50857
50128
|
shop: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(shopBlockDefinition), ShopSSR)
|
|
@@ -50884,7 +50155,6 @@ const serverComponentRegistry = {
|
|
|
50884
50155
|
"booking-form": BookingFormSSR,
|
|
50885
50156
|
"event-details": EventDetailsSSR,
|
|
50886
50157
|
"location-map": LocationMapSSR,
|
|
50887
|
-
"course-details": CourseDetailsSSR,
|
|
50888
50158
|
"event-spotlight": EventSpotlight,
|
|
50889
50159
|
"event-combined": EventCombinedSSR,
|
|
50890
50160
|
"offerings-preview": OfferingsPreviewNode,
|
|
@@ -52371,12 +51641,46 @@ function collectConstrainedVideoMediaValues(options) {
|
|
|
52371
51641
|
*/
|
|
52372
51642
|
function hydrateManifestLinks(manifest, content, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
52373
51643
|
if (!routes || !manifest?.fields?.length) return content;
|
|
52374
|
-
return
|
|
51644
|
+
return hydrateLinks(content, routes, pagesByIdentifier, entriesByIdentifier);
|
|
51645
|
+
}
|
|
51646
|
+
/** Hydrate identifier-aware links in data loaded after manifest content. */
|
|
51647
|
+
function hydrateLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
51648
|
+
return hydrateValue(value, {
|
|
51649
|
+
routes,
|
|
51650
|
+
pagesByIdentifier,
|
|
51651
|
+
entriesByIdentifier
|
|
51652
|
+
});
|
|
51653
|
+
}
|
|
51654
|
+
/**
|
|
51655
|
+
* Hydrate links only inside resolved booking-consent documents. Loader payloads are
|
|
51656
|
+
* otherwise opaque and may legitimately contain objects that resemble link values.
|
|
51657
|
+
*/
|
|
51658
|
+
function hydrateResolvedBookingConsentLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
51659
|
+
return hydrateResolvedBookingConsentValue(value, {
|
|
52375
51660
|
routes,
|
|
52376
51661
|
pagesByIdentifier,
|
|
52377
51662
|
entriesByIdentifier
|
|
52378
51663
|
});
|
|
52379
51664
|
}
|
|
51665
|
+
function hydrateResolvedBookingConsentValue(value, context) {
|
|
51666
|
+
if (Array.isArray(value)) {
|
|
51667
|
+
const hydratedItems = value.map((item) => hydrateResolvedBookingConsentValue(item, context));
|
|
51668
|
+
return hydratedItems.every((item, index) => item === value[index]) ? value : hydratedItems;
|
|
51669
|
+
}
|
|
51670
|
+
if (!isRecord$27(value)) return value;
|
|
51671
|
+
if (isBookingConsentCarrier(value)) {
|
|
51672
|
+
const agreement = hydrateValue(value.agreement, context);
|
|
51673
|
+
return agreement === value.agreement ? value : {
|
|
51674
|
+
...value,
|
|
51675
|
+
agreement
|
|
51676
|
+
};
|
|
51677
|
+
}
|
|
51678
|
+
const hydratedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateResolvedBookingConsentValue(entry, context)]);
|
|
51679
|
+
return hydratedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(hydratedEntries);
|
|
51680
|
+
}
|
|
51681
|
+
function isBookingConsentCarrier(value) {
|
|
51682
|
+
return bookingConsentCarrierSchema.safeParse(value).success;
|
|
51683
|
+
}
|
|
52380
51684
|
function hydrateValue(value, context) {
|
|
52381
51685
|
try {
|
|
52382
51686
|
if (Array.isArray(value)) {
|
|
@@ -52445,6 +51749,13 @@ function hydrateEntryLink(link, context) {
|
|
|
52445
51749
|
};
|
|
52446
51750
|
}
|
|
52447
51751
|
//#endregion
|
|
51752
|
+
//#region ../blocks/src/system/manifest/resolveBlockData.ts
|
|
51753
|
+
function resolveBlockData$1(blockId, dataLoaders, dataContext, routes) {
|
|
51754
|
+
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
51755
|
+
if (isRecord$27(raw)) return routes ? hydrateResolvedBookingConsentLinks(raw, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : raw;
|
|
51756
|
+
return dataLoaders && typeof dataLoaders === "object" && Object.keys(dataLoaders).length > 0 ? {} : void 0;
|
|
51757
|
+
}
|
|
51758
|
+
//#endregion
|
|
52448
51759
|
//#region ../blocks/src/sdkBlockTransform.ts
|
|
52449
51760
|
/**
|
|
52450
51761
|
* Transforms an SDK custom block into a BlockManifest.
|
|
@@ -53039,8 +52350,8 @@ function generateInputCss({ themeId, theme, inputSystem }) {
|
|
|
53039
52350
|
const radioSelector = `${rootSelector} .form-radio`;
|
|
53040
52351
|
const checkableRules = [];
|
|
53041
52352
|
checkableRules.push("appearance: none");
|
|
53042
|
-
checkableRules.push("width:
|
|
53043
|
-
checkableRules.push("height:
|
|
52353
|
+
checkableRules.push("width: 1.125rem");
|
|
52354
|
+
checkableRules.push("height: 1.125rem");
|
|
53044
52355
|
checkableRules.push("flex-shrink: 0");
|
|
53045
52356
|
checkableRules.push(`border: ${borderPx} solid ${rgbColorValue(inputSystem.base.border.colorToken)}`);
|
|
53046
52357
|
if (inputSystem.base.background.type === "transparent") checkableRules.push("background-color: transparent");
|
|
@@ -55298,176 +54609,6 @@ ${root} {
|
|
|
55298
54609
|
`;
|
|
55299
54610
|
}
|
|
55300
54611
|
//#endregion
|
|
55301
|
-
//#region ../theme-core/src/blocks/vars/course-details.ts
|
|
55302
|
-
/**
|
|
55303
|
-
* Generate CSS variables for the course-details block.
|
|
55304
|
-
*
|
|
55305
|
-
* Variables defined:
|
|
55306
|
-
* - Enrollment status colors (open/closed)
|
|
55307
|
-
* - Capacity indicator colors (available/low/full)
|
|
55308
|
-
* - Price display colors (free indicator)
|
|
55309
|
-
*/
|
|
55310
|
-
function generateCourseDetailsVars({ themeId }) {
|
|
55311
|
-
return `
|
|
55312
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-details"])`} {
|
|
55313
|
-
/* Enrollment status */
|
|
55314
|
-
--cd-enrollment-open-text: rgb(var(--tb-success));
|
|
55315
|
-
--cd-enrollment-closed-text: rgb(var(--tb-mutedText));
|
|
55316
|
-
|
|
55317
|
-
/* Capacity indicator */
|
|
55318
|
-
--cd-capacity-available-text: rgb(var(--tb-success));
|
|
55319
|
-
--cd-capacity-low-text: rgb(var(--tb-warning));
|
|
55320
|
-
--cd-capacity-full-text: rgb(var(--tb-destructive, 239 68 68));
|
|
55321
|
-
|
|
55322
|
-
/* Price styling */
|
|
55323
|
-
--cd-price-free-text: rgb(var(--tb-success));
|
|
55324
|
-
}
|
|
55325
|
-
`;
|
|
55326
|
-
}
|
|
55327
|
-
//#endregion
|
|
55328
|
-
//#region ../theme-core/src/blocks/vars/course-registration.ts
|
|
55329
|
-
const EVENT_WHOLE_SERIES_VARIABLE_BRIDGE = `
|
|
55330
|
-
/* Temporary bridge while persisted Course blocks render the Event-owned
|
|
55331
|
-
whole-series registration runtime. Removed with the Course block. */
|
|
55332
|
-
--er-step-active: var(--cr-step-active);
|
|
55333
|
-
--er-step-inactive: var(--cr-step-inactive);
|
|
55334
|
-
--er-step-completed: var(--cr-step-completed);
|
|
55335
|
-
--er-step-text: var(--cr-step-text);
|
|
55336
|
-
--er-step-text-active: var(--cr-step-text-active);
|
|
55337
|
-
--er-step-connector: var(--cr-step-connector);
|
|
55338
|
-
--er-step-title-size: var(--cr-step-title-size);
|
|
55339
|
-
--er-success-bg: var(--cr-success-bg);
|
|
55340
|
-
--er-success-text: var(--cr-success-text);
|
|
55341
|
-
--er-error-bg: var(--cr-error-bg);
|
|
55342
|
-
--er-error-text: var(--cr-error-text);
|
|
55343
|
-
--er-waitlist-bg: var(--cr-waitlist-bg);
|
|
55344
|
-
--er-waitlist-text: var(--cr-waitlist-text);
|
|
55345
|
-
--er-capacity-available-bg: var(--cr-capacity-available-bg);
|
|
55346
|
-
--er-capacity-available-text: var(--cr-capacity-available-text);
|
|
55347
|
-
--er-capacity-low-bg: var(--cr-capacity-low-bg);
|
|
55348
|
-
--er-capacity-low-text: var(--cr-capacity-low-text);
|
|
55349
|
-
--er-capacity-soldout-bg: var(--cr-capacity-soldout-bg);
|
|
55350
|
-
--er-capacity-soldout-text: var(--cr-capacity-soldout-text);
|
|
55351
|
-
--er-border: var(--cr-border);
|
|
55352
|
-
--er-border-hover: var(--cr-border-hover);
|
|
55353
|
-
--er-border-selected: var(--cr-border-selected);
|
|
55354
|
-
--er-border-error: var(--cr-border-error);
|
|
55355
|
-
--er-focus-ring: var(--cr-focus-ring);
|
|
55356
|
-
--er-required: var(--cr-required);
|
|
55357
|
-
--er-payment-border: var(--cr-payment-border);
|
|
55358
|
-
--er-payment-border-hover: var(--cr-payment-border-hover);
|
|
55359
|
-
--er-payment-border-selected: var(--cr-payment-border-selected);
|
|
55360
|
-
--er-payment-bg-selected: var(--cr-payment-bg-selected);
|
|
55361
|
-
--er-check-bg: var(--cr-check-bg);
|
|
55362
|
-
--er-check-text: var(--cr-check-text);
|
|
55363
|
-
--er-summary-bg: var(--cr-summary-bg);
|
|
55364
|
-
--er-summary-border: var(--cr-summary-border);
|
|
55365
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
55366
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
55367
|
-
`;
|
|
55368
|
-
/**
|
|
55369
|
-
* Generate CSS variables for the course-registration block.
|
|
55370
|
-
*
|
|
55371
|
-
* Variables defined:
|
|
55372
|
-
* - Step indicator colors (active, inactive, completed, text, connector)
|
|
55373
|
-
* - Success/error/waitlist state backgrounds and text colors
|
|
55374
|
-
* - Capacity badge colors (available, low, sold-out)
|
|
55375
|
-
* - Border colors for various interaction states
|
|
55376
|
-
* - Input focus and required marker styling
|
|
55377
|
-
* - Payment option card styling
|
|
55378
|
-
* - Checkmark indicator colors
|
|
55379
|
-
* - Summary styling
|
|
55380
|
-
*/
|
|
55381
|
-
function generateCourseRegistrationVars({ themeId }) {
|
|
55382
|
-
return `
|
|
55383
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-registration"])`} {
|
|
55384
|
-
/* Step indicator */
|
|
55385
|
-
--cr-step-active: rgb(var(--tb-primary));
|
|
55386
|
-
--cr-step-inactive: rgb(var(--tb-mutedText));
|
|
55387
|
-
--cr-step-completed: rgb(var(--tb-success));
|
|
55388
|
-
--cr-step-text: rgb(255 255 255);
|
|
55389
|
-
--cr-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
|
|
55390
|
-
--cr-step-connector: rgba(var(--tb-border), 0.5);
|
|
55391
|
-
|
|
55392
|
-
/* Step title */
|
|
55393
|
-
--cr-step-title-size: 1.5rem;
|
|
55394
|
-
|
|
55395
|
-
/* State backgrounds with alpha */
|
|
55396
|
-
--cr-success-bg: rgba(var(--tb-success), 0.1);
|
|
55397
|
-
--cr-success-text: rgb(var(--tb-success));
|
|
55398
|
-
--cr-error-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
55399
|
-
--cr-error-text: rgb(var(--tb-destructive, 239 68 68));
|
|
55400
|
-
--cr-waitlist-bg: rgba(var(--tb-warning), 0.1);
|
|
55401
|
-
--cr-waitlist-text: rgb(var(--tb-warning));
|
|
55402
|
-
|
|
55403
|
-
/* Capacity badges */
|
|
55404
|
-
--cr-capacity-available-bg: rgba(var(--tb-success), 0.1);
|
|
55405
|
-
--cr-capacity-available-text: rgb(var(--tb-success));
|
|
55406
|
-
--cr-capacity-low-bg: rgba(var(--tb-warning), 0.1);
|
|
55407
|
-
--cr-capacity-low-text: rgb(var(--tb-warning));
|
|
55408
|
-
--cr-capacity-soldout-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
55409
|
-
--cr-capacity-soldout-text: rgb(var(--tb-destructive, 239 68 68));
|
|
55410
|
-
|
|
55411
|
-
/* Borders */
|
|
55412
|
-
--cr-border: rgb(var(--tb-border));
|
|
55413
|
-
--cr-border-hover: rgba(var(--tb-primary), 0.5);
|
|
55414
|
-
--cr-border-selected: rgb(var(--tb-primary));
|
|
55415
|
-
--cr-border-error: rgb(var(--tb-destructive, 239 68 68));
|
|
55416
|
-
|
|
55417
|
-
/* Input focus */
|
|
55418
|
-
--cr-focus-ring: rgba(var(--tb-primary), 0.3);
|
|
55419
|
-
|
|
55420
|
-
/* Required marker */
|
|
55421
|
-
--cr-required: rgb(var(--tb-destructive, 239 68 68));
|
|
55422
|
-
|
|
55423
|
-
/* Payment option cards */
|
|
55424
|
-
--cr-payment-border: rgb(var(--tb-border));
|
|
55425
|
-
--cr-payment-border-hover: rgba(var(--tb-primary), 0.5);
|
|
55426
|
-
--cr-payment-border-selected: rgb(var(--tb-primary));
|
|
55427
|
-
--cr-payment-bg-selected: rgba(var(--tb-primary), 0.08);
|
|
55428
|
-
|
|
55429
|
-
/* Checkmark indicator */
|
|
55430
|
-
--cr-check-bg: rgb(var(--tb-primary));
|
|
55431
|
-
--cr-check-text: rgb(var(--tb-primaryText, 255 255 255));
|
|
55432
|
-
|
|
55433
|
-
/* Summary */
|
|
55434
|
-
--cr-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
55435
|
-
--cr-summary-border: rgb(var(--tb-border));
|
|
55436
|
-
|
|
55437
|
-
${EVENT_WHOLE_SERIES_VARIABLE_BRIDGE}
|
|
55438
|
-
|
|
55439
|
-
/* Shared registration-surface mappings (issue 1174).
|
|
55440
|
-
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
55441
|
-
(palette tokens where no --cr-* var exists) so existing --cr-* overrides
|
|
55442
|
-
keep working unchanged. */
|
|
55443
|
-
--rb-reg-radius: var(--rb-block-radius);
|
|
55444
|
-
--rb-reg-border: var(--cr-border);
|
|
55445
|
-
--rb-reg-border-hover: var(--cr-border-hover);
|
|
55446
|
-
--rb-reg-border-selected: var(--cr-border-selected);
|
|
55447
|
-
--rb-reg-bg-selected: var(--cr-payment-bg-selected);
|
|
55448
|
-
--rb-reg-option-bg: rgb(var(--tb-background));
|
|
55449
|
-
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
55450
|
-
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
55451
|
-
--rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
55452
|
-
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
55453
|
-
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
55454
|
-
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
55455
|
-
--rb-reg-check-bg: var(--cr-check-bg);
|
|
55456
|
-
--rb-reg-check-text: var(--cr-check-text);
|
|
55457
|
-
--rb-reg-step-active: var(--cr-step-active);
|
|
55458
|
-
--rb-reg-step-completed: var(--cr-step-completed);
|
|
55459
|
-
--rb-reg-step-inactive: var(--cr-step-inactive);
|
|
55460
|
-
--rb-reg-step-text: var(--cr-step-text);
|
|
55461
|
-
--rb-reg-step-text-active: var(--cr-step-text-active);
|
|
55462
|
-
--rb-reg-step-connector: var(--cr-step-connector);
|
|
55463
|
-
--rb-reg-summary-bg: var(--cr-summary-bg);
|
|
55464
|
-
--rb-reg-summary-border: var(--cr-summary-border);
|
|
55465
|
-
--rb-reg-focus-ring: var(--cr-focus-ring);
|
|
55466
|
-
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
55467
|
-
}
|
|
55468
|
-
`;
|
|
55469
|
-
}
|
|
55470
|
-
//#endregion
|
|
55471
54612
|
//#region ../theme-core/src/blocks/registry.ts
|
|
55472
54613
|
/**
|
|
55473
54614
|
* Global registry of block var generators.
|
|
@@ -55482,8 +54623,6 @@ blockVarRegistry.set("appointment-booking", generateAppointmentBookingVars);
|
|
|
55482
54623
|
blockVarRegistry.set("form", generateFormBlockVars);
|
|
55483
54624
|
blockVarRegistry.set("customer-portal", generateCustomerPortalVars);
|
|
55484
54625
|
blockVarRegistry.set("testimonials", generateTestimonialsVars);
|
|
55485
|
-
blockVarRegistry.set("course-details", generateCourseDetailsVars);
|
|
55486
|
-
blockVarRegistry.set("course-registration", generateCourseRegistrationVars);
|
|
55487
54626
|
/**
|
|
55488
54627
|
* Generate all Tier 3 block-specific CSS variables.
|
|
55489
54628
|
*
|
|
@@ -56824,11 +55963,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources
|
|
|
56824
55963
|
try {
|
|
56825
55964
|
const routes = routeMap ?? dataContext?.routes;
|
|
56826
55965
|
const hydratedContent = routes ? hydrateManifestLinks(definition.manifest, data, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : data;
|
|
56827
|
-
const resolved = resolveBlockData$1(
|
|
56828
|
-
block,
|
|
56829
|
-
definition,
|
|
56830
|
-
dataContext
|
|
56831
|
-
});
|
|
55966
|
+
const resolved = resolveBlockData$1(block.id, definition.dataLoaders, dataContext, routes);
|
|
56832
55967
|
const hasResolvedData = !!resolved && typeof resolved === "object" && Object.keys(resolved).length > 0;
|
|
56833
55968
|
const baseProps = {
|
|
56834
55969
|
content: hydratedContent,
|
|
@@ -56918,12 +56053,6 @@ function shouldDebugCustomBlocks() {
|
|
|
56918
56053
|
return false;
|
|
56919
56054
|
}
|
|
56920
56055
|
}
|
|
56921
|
-
function resolveBlockData$1({ block, definition, dataContext }) {
|
|
56922
|
-
const blockId = block.id ?? null;
|
|
56923
|
-
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
56924
|
-
if (isObjectRecord$1(raw)) return { ...raw };
|
|
56925
|
-
return definition.dataLoaders && Object.keys(definition.dataLoaders).length > 0 ? {} : void 0;
|
|
56926
|
-
}
|
|
56927
56056
|
/**
|
|
56928
56057
|
* Resolves block content based on stage priority.
|
|
56929
56058
|
* For draft/preview: draftContent takes priority over content.
|
|
@@ -60385,7 +59514,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60385
59514
|
* Shared: Registration Surface (issue 1174)
|
|
60386
59515
|
*
|
|
60387
59516
|
* Wizard-surface primitives shared by the event-registration,
|
|
60388
|
-
*
|
|
59517
|
+
* appointment-booking blocks: surface container,
|
|
60389
59518
|
* selectable option cards, step indicator, wizard actions row, on-surface
|
|
60390
59519
|
* text ramp, layout stacks, summary box and skeleton shell lines.
|
|
60391
59520
|
*
|
|
@@ -60428,7 +59557,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60428
59557
|
}
|
|
60429
59558
|
|
|
60430
59559
|
/* Surface container */
|
|
60431
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59560
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
60432
59561
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
60433
59562
|
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
60434
59563
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
@@ -60458,7 +59587,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60458
59587
|
*
|
|
60459
59588
|
* Mirrors \`contextualButtonSurfaceResetStyles()\` in theme-core/buttons; the
|
|
60460
59589
|
* pairing is pinned by registration-surface-action-reset.test.ts. */
|
|
60461
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59590
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
60462
59591
|
--rb-action-primary-base-background-color: initial;
|
|
60463
59592
|
--rb-action-primary-base-background-image: initial;
|
|
60464
59593
|
--rb-action-primary-base-color: initial;
|
|
@@ -60566,7 +59695,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60566
59695
|
}
|
|
60567
59696
|
|
|
60568
59697
|
/* Selectable option card */
|
|
60569
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59698
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
60570
59699
|
position: relative;
|
|
60571
59700
|
display: flex;
|
|
60572
59701
|
align-items: flex-start;
|
|
@@ -60583,34 +59712,34 @@ const containerResponsiveThemeCss = `/*
|
|
|
60583
59712
|
box-shadow var(--rb-block-transition, 150ms) ease;
|
|
60584
59713
|
}
|
|
60585
59714
|
|
|
60586
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59715
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:hover:not(:disabled):not([aria-disabled="true"]) {
|
|
60587
59716
|
border-color: var(--rb-reg-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
60588
59717
|
box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08));
|
|
60589
59718
|
}
|
|
60590
59719
|
|
|
60591
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59720
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:focus-visible {
|
|
60592
59721
|
outline: 2px solid var(--rb-reg-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
|
|
60593
59722
|
outline-offset: 2px;
|
|
60594
59723
|
}
|
|
60595
59724
|
|
|
60596
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59725
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--selected {
|
|
60597
59726
|
border-color: var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
60598
59727
|
background-color: var(--rb-reg-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.08));
|
|
60599
59728
|
box-shadow: 0 0 0 1px var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
60600
59729
|
}
|
|
60601
59730
|
|
|
60602
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59731
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled {
|
|
60603
59732
|
cursor: not-allowed;
|
|
60604
59733
|
opacity: 0.7;
|
|
60605
59734
|
}
|
|
60606
59735
|
|
|
60607
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59736
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled:hover {
|
|
60608
59737
|
border-color: var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
60609
59738
|
box-shadow: none;
|
|
60610
59739
|
}
|
|
60611
59740
|
|
|
60612
59741
|
/* Check indicator */
|
|
60613
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59742
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check {
|
|
60614
59743
|
flex-shrink: 0;
|
|
60615
59744
|
width: 1.25rem;
|
|
60616
59745
|
height: 1.25rem;
|
|
@@ -60621,18 +59750,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
60621
59750
|
justify-content: center;
|
|
60622
59751
|
}
|
|
60623
59752
|
|
|
60624
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59753
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
60625
59754
|
width: 0.75rem;
|
|
60626
59755
|
height: 0.75rem;
|
|
60627
59756
|
color: var(--rb-reg-check-text, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
60628
59757
|
}
|
|
60629
59758
|
|
|
60630
59759
|
/* Step indicator */
|
|
60631
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59760
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps-nav {
|
|
60632
59761
|
margin-bottom: 1.5rem;
|
|
60633
59762
|
}
|
|
60634
59763
|
|
|
60635
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59764
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps {
|
|
60636
59765
|
display: flex;
|
|
60637
59766
|
align-items: center;
|
|
60638
59767
|
justify-content: center;
|
|
@@ -60642,13 +59771,13 @@ const containerResponsiveThemeCss = `/*
|
|
|
60642
59771
|
margin: 0;
|
|
60643
59772
|
}
|
|
60644
59773
|
|
|
60645
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59774
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step {
|
|
60646
59775
|
display: flex;
|
|
60647
59776
|
align-items: center;
|
|
60648
59777
|
gap: 0.5rem;
|
|
60649
59778
|
}
|
|
60650
59779
|
|
|
60651
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59780
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle {
|
|
60652
59781
|
width: 1.75rem;
|
|
60653
59782
|
height: 1.75rem;
|
|
60654
59783
|
border-radius: 50%;
|
|
@@ -60662,47 +59791,47 @@ const containerResponsiveThemeCss = `/*
|
|
|
60662
59791
|
transition: background-color var(--rb-block-transition, 150ms) ease;
|
|
60663
59792
|
}
|
|
60664
59793
|
|
|
60665
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59794
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
60666
59795
|
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
60667
59796
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
60668
59797
|
}
|
|
60669
59798
|
|
|
60670
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59799
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
60671
59800
|
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
60672
59801
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
60673
59802
|
}
|
|
60674
59803
|
|
|
60675
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59804
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
60676
59805
|
width: 0.75rem;
|
|
60677
59806
|
height: 0.75rem;
|
|
60678
59807
|
}
|
|
60679
59808
|
|
|
60680
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59809
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-connector {
|
|
60681
59810
|
width: 2rem;
|
|
60682
59811
|
height: 2px;
|
|
60683
59812
|
background: var(--rb-reg-step-connector, rgba(var(--tb-border, 226 232 240), 0.5));
|
|
60684
59813
|
}
|
|
60685
59814
|
|
|
60686
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59815
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
60687
59816
|
font-size: 0.75rem;
|
|
60688
59817
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
60689
59818
|
display: none;
|
|
60690
59819
|
}
|
|
60691
59820
|
|
|
60692
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59821
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label--active {
|
|
60693
59822
|
font-weight: 500;
|
|
60694
59823
|
}
|
|
60695
59824
|
|
|
60696
59825
|
@container rb-site (min-width: 640px) {
|
|
60697
59826
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
60698
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59827
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
60699
59828
|
display: inline;
|
|
60700
59829
|
}
|
|
60701
59830
|
}
|
|
60702
59831
|
}
|
|
60703
59832
|
|
|
60704
59833
|
/* Wizard actions row */
|
|
60705
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59834
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions {
|
|
60706
59835
|
display: flex;
|
|
60707
59836
|
justify-content: space-between;
|
|
60708
59837
|
align-items: center;
|
|
@@ -60711,56 +59840,56 @@ const containerResponsiveThemeCss = `/*
|
|
|
60711
59840
|
}
|
|
60712
59841
|
|
|
60713
59842
|
/* When there's only one action (no back button), push it to the right */
|
|
60714
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59843
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions > :only-child {
|
|
60715
59844
|
margin-inline-start: auto;
|
|
60716
59845
|
}
|
|
60717
59846
|
|
|
60718
59847
|
/* On-surface text ramp */
|
|
60719
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59848
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface {
|
|
60720
59849
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
60721
59850
|
}
|
|
60722
59851
|
|
|
60723
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59852
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--muted {
|
|
60724
59853
|
color: var(--rb-reg-on-surface-muted, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.7));
|
|
60725
59854
|
}
|
|
60726
59855
|
|
|
60727
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59856
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--subtle {
|
|
60728
59857
|
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
60729
59858
|
}
|
|
60730
59859
|
|
|
60731
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59860
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--faint {
|
|
60732
59861
|
color: var(--rb-reg-on-surface-faint, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.5));
|
|
60733
59862
|
}
|
|
60734
59863
|
|
|
60735
59864
|
/* Layout stacks */
|
|
60736
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59865
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack {
|
|
60737
59866
|
display: flex;
|
|
60738
59867
|
flex-direction: column;
|
|
60739
59868
|
gap: 1rem;
|
|
60740
59869
|
}
|
|
60741
59870
|
|
|
60742
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59871
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack--sm {
|
|
60743
59872
|
gap: 0.75rem;
|
|
60744
59873
|
}
|
|
60745
59874
|
|
|
60746
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59875
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row {
|
|
60747
59876
|
display: flex;
|
|
60748
59877
|
align-items: center;
|
|
60749
59878
|
gap: 1rem;
|
|
60750
59879
|
}
|
|
60751
59880
|
|
|
60752
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59881
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row--between {
|
|
60753
59882
|
justify-content: space-between;
|
|
60754
59883
|
align-items: flex-start;
|
|
60755
59884
|
}
|
|
60756
59885
|
|
|
60757
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59886
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-grid {
|
|
60758
59887
|
display: grid;
|
|
60759
59888
|
gap: 0.75rem;
|
|
60760
59889
|
}
|
|
60761
59890
|
|
|
60762
59891
|
/* Summary box */
|
|
60763
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59892
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-summary {
|
|
60764
59893
|
padding: 1rem;
|
|
60765
59894
|
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.75);
|
|
60766
59895
|
border: 1px solid var(--rb-reg-summary-border, rgb(var(--tb-border, 226 232 240)));
|
|
@@ -60768,7 +59897,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60768
59897
|
}
|
|
60769
59898
|
|
|
60770
59899
|
/* Skeleton shell lines */
|
|
60771
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59900
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line {
|
|
60772
59901
|
height: 0.75rem;
|
|
60773
59902
|
border-radius: 9999px;
|
|
60774
59903
|
background: linear-gradient(
|
|
@@ -60779,24 +59908,24 @@ const containerResponsiveThemeCss = `/*
|
|
|
60779
59908
|
);
|
|
60780
59909
|
}
|
|
60781
59910
|
|
|
60782
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59911
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--lg {
|
|
60783
59912
|
width: min(26rem, 82%);
|
|
60784
59913
|
}
|
|
60785
59914
|
|
|
60786
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59915
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--md {
|
|
60787
59916
|
width: min(19rem, 68%);
|
|
60788
59917
|
}
|
|
60789
59918
|
|
|
60790
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59919
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--sm {
|
|
60791
59920
|
width: min(14rem, 52%);
|
|
60792
59921
|
}
|
|
60793
59922
|
|
|
60794
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59923
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--xs {
|
|
60795
59924
|
width: min(10rem, 42%);
|
|
60796
59925
|
}
|
|
60797
59926
|
|
|
60798
59927
|
/* Skeleton block (rectangular placeholder, pulses) */
|
|
60799
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59928
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
60800
59929
|
height: 2.5rem;
|
|
60801
59930
|
width: 100%;
|
|
60802
59931
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
@@ -60814,7 +59943,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60814
59943
|
}
|
|
60815
59944
|
|
|
60816
59945
|
@media (prefers-reduced-motion: reduce) {
|
|
60817
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59946
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
60818
59947
|
animation: none;
|
|
60819
59948
|
}
|
|
60820
59949
|
}
|
|
@@ -67196,1648 +66325,337 @@ const containerResponsiveThemeCss = `/*
|
|
|
67196
66325
|
cursor: not-allowed;
|
|
67197
66326
|
}
|
|
67198
66327
|
|
|
67199
|
-
/*
|
|
67200
|
-
*
|
|
67201
|
-
*
|
|
66328
|
+
/* =============================================================================
|
|
66329
|
+
* Block: Newsletter Signup
|
|
66330
|
+
* =============================================================================
|
|
67202
66331
|
*/
|
|
67203
66332
|
|
|
67204
|
-
|
|
67205
|
-
|
|
67206
|
-
|
|
67207
|
-
|
|
66333
|
+
/* Newsletter copy styling */
|
|
66334
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
66335
|
+
font-size: 1.5rem;
|
|
66336
|
+
font-weight: 600;
|
|
67208
66337
|
}
|
|
67209
66338
|
|
|
67210
|
-
|
|
67211
|
-
:
|
|
67212
|
-
|
|
66339
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
66340
|
+
font-size: 1rem;
|
|
66341
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
66342
|
+
opacity: 0.85;
|
|
67213
66343
|
}
|
|
67214
66344
|
|
|
67215
|
-
/*
|
|
67216
|
-
:where(.theme-scope) .
|
|
67217
|
-
|
|
67218
|
-
|
|
67219
|
-
|
|
66345
|
+
/* Newsletter form container */
|
|
66346
|
+
:where(.theme-scope) .newsletter-form {
|
|
66347
|
+
width: 100%;
|
|
66348
|
+
max-width: 32rem;
|
|
66349
|
+
margin-left: auto;
|
|
66350
|
+
margin-right: auto;
|
|
67220
66351
|
}
|
|
67221
66352
|
|
|
67222
|
-
/*
|
|
67223
|
-
:where(.theme-scope) .
|
|
67224
|
-
|
|
66353
|
+
/* Newsletter form fields container */
|
|
66354
|
+
:where(.theme-scope) .newsletter-form-fields {
|
|
66355
|
+
display: flex;
|
|
66356
|
+
flex-direction: column;
|
|
66357
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
67225
66358
|
}
|
|
67226
66359
|
|
|
67227
|
-
|
|
67228
|
-
|
|
66360
|
+
/* Individual field styling */
|
|
66361
|
+
:where(.theme-scope) .newsletter-field {
|
|
66362
|
+
display: flex;
|
|
66363
|
+
flex-direction: column;
|
|
66364
|
+
gap: 0.25rem;
|
|
67229
66365
|
}
|
|
67230
66366
|
|
|
67231
|
-
/*
|
|
67232
|
-
|
|
67233
|
-
|
|
67234
|
-
|
|
67235
|
-
*/
|
|
67236
|
-
|
|
67237
|
-
/* Block-local surface text tokens for cards/modals that sit on theme surface. */
|
|
67238
|
-
:where(.theme-scope)
|
|
67239
|
-
:where(
|
|
67240
|
-
[data-block='event-registration'],
|
|
67241
|
-
[data-block='course-registration']
|
|
67242
|
-
) {
|
|
67243
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
67244
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
66367
|
+
/* Required indicator */
|
|
66368
|
+
:where(.theme-scope) .newsletter-required {
|
|
66369
|
+
color: rgb(var(--tb-primary));
|
|
66370
|
+
margin-left: 0.125rem;
|
|
67245
66371
|
}
|
|
67246
66372
|
|
|
67247
|
-
/*
|
|
67248
|
-
|
|
67249
|
-
|
|
67250
|
-
:where(.theme-scope)
|
|
67251
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67252
|
-
.er-whole-series-container {
|
|
67253
|
-
padding: 1.5rem;
|
|
67254
|
-
margin-inline: auto;
|
|
66373
|
+
/* Submit button container */
|
|
66374
|
+
:where(.theme-scope) .newsletter-submit {
|
|
66375
|
+
margin-top: 0.5rem;
|
|
67255
66376
|
}
|
|
67256
66377
|
|
|
67257
|
-
/*
|
|
67258
|
-
:where(.theme-scope)
|
|
67259
|
-
:
|
|
67260
|
-
|
|
67261
|
-
|
|
67262
|
-
border: 1px dashed rgba(var(--tb-foreground), 0.2);
|
|
67263
|
-
padding: 2.5rem;
|
|
67264
|
-
text-align: center;
|
|
66378
|
+
/* ALTCHA widget container */
|
|
66379
|
+
:where(.theme-scope) .newsletter-altcha {
|
|
66380
|
+
margin-top: 0.75rem;
|
|
66381
|
+
display: flex;
|
|
66382
|
+
justify-content: center;
|
|
67265
66383
|
}
|
|
67266
66384
|
|
|
67267
|
-
|
|
67268
|
-
|
|
67269
|
-
|
|
67270
|
-
|
|
66385
|
+
/* Privacy note */
|
|
66386
|
+
:where(.theme-scope) .newsletter-privacy-note {
|
|
66387
|
+
margin-top: 0.75rem;
|
|
66388
|
+
font-size: 1rem;
|
|
66389
|
+
line-height: 1.6;
|
|
66390
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
66391
|
+
text-align: center;
|
|
67271
66392
|
}
|
|
67272
66393
|
|
|
67273
66394
|
/* =============================================================================
|
|
67274
|
-
*
|
|
66395
|
+
* Inline Variant - Horizontal layout
|
|
67275
66396
|
* =============================================================================
|
|
67276
66397
|
*/
|
|
67277
|
-
:where(.theme-scope)
|
|
67278
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67279
|
-
.er-whole-series-layout {
|
|
67280
|
-
display: grid;
|
|
67281
|
-
gap: 1.5rem;
|
|
67282
|
-
grid-template-columns: 1fr;
|
|
67283
|
-
}
|
|
67284
66398
|
|
|
67285
|
-
|
|
67286
|
-
|
|
67287
|
-
:
|
|
67288
|
-
|
|
67289
|
-
|
|
67290
|
-
[data-block='course-registration']
|
|
67291
|
-
)
|
|
67292
|
-
.er-whole-series-layout--with-sidebar {
|
|
67293
|
-
grid-template-columns: 1fr 280px;
|
|
67294
|
-
}
|
|
67295
|
-
}
|
|
66399
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
66400
|
+
flex-direction: row;
|
|
66401
|
+
align-items: flex-end;
|
|
66402
|
+
flex-wrap: wrap;
|
|
66403
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
67296
66404
|
}
|
|
67297
66405
|
|
|
67298
|
-
:where(.theme-scope)
|
|
67299
|
-
:
|
|
67300
|
-
|
|
67301
|
-
min-width: 0;
|
|
66406
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
66407
|
+
flex: 1 1 auto;
|
|
66408
|
+
min-width: 10rem;
|
|
67302
66409
|
}
|
|
67303
66410
|
|
|
67304
|
-
:where(.theme-scope)
|
|
67305
|
-
:
|
|
67306
|
-
|
|
67307
|
-
display: none;
|
|
66411
|
+
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
66412
|
+
margin-top: 0;
|
|
66413
|
+
flex-shrink: 0;
|
|
67308
66414
|
}
|
|
67309
66415
|
|
|
67310
|
-
|
|
66416
|
+
/* Mobile fallback for inline variant */
|
|
66417
|
+
@container rb-site (max-width: 640px) {
|
|
67311
66418
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
67312
|
-
:where(.theme-scope)
|
|
67313
|
-
:
|
|
67314
|
-
|
|
67315
|
-
|
|
67316
|
-
|
|
67317
|
-
|
|
67318
|
-
display: block;
|
|
66419
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
66420
|
+
flex-direction: column;
|
|
66421
|
+
}
|
|
66422
|
+
|
|
66423
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
66424
|
+
min-width: 100%;
|
|
67319
66425
|
}
|
|
67320
66426
|
}
|
|
67321
66427
|
}
|
|
67322
66428
|
|
|
67323
66429
|
/* =============================================================================
|
|
67324
|
-
*
|
|
66430
|
+
* Editorial Split Variant
|
|
67325
66431
|
* =============================================================================
|
|
67326
66432
|
*/
|
|
67327
|
-
:where(.theme-scope)
|
|
67328
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67329
|
-
.er-whole-series-steps {
|
|
67330
|
-
display: flex;
|
|
67331
|
-
align-items: center;
|
|
67332
|
-
gap: 0.5rem;
|
|
67333
|
-
margin-bottom: 1.5rem;
|
|
67334
|
-
}
|
|
67335
66433
|
|
|
67336
|
-
:where(.theme-scope)
|
|
67337
|
-
:
|
|
67338
|
-
|
|
67339
|
-
|
|
66434
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
66435
|
+
display: grid;
|
|
66436
|
+
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
66437
|
+
gap: clamp(2.5rem, 7vw, 7rem);
|
|
67340
66438
|
align-items: center;
|
|
67341
|
-
|
|
66439
|
+
text-align: left;
|
|
67342
66440
|
}
|
|
67343
66441
|
|
|
67344
|
-
:where(.theme-scope)
|
|
67345
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67346
|
-
.er-whole-series-step-circle {
|
|
67347
|
-
width: 1.75rem;
|
|
67348
|
-
height: 1.75rem;
|
|
67349
|
-
border-radius: 9999px;
|
|
66442
|
+
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
67350
66443
|
display: flex;
|
|
67351
|
-
|
|
67352
|
-
|
|
67353
|
-
font-size: 0.75rem;
|
|
67354
|
-
font-weight: 600;
|
|
67355
|
-
background: var(--er-step-inactive);
|
|
67356
|
-
color: var(--er-step-text);
|
|
67357
|
-
transition: background-color 0.2s ease;
|
|
66444
|
+
flex-direction: column;
|
|
66445
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
67358
66446
|
}
|
|
67359
66447
|
|
|
67360
|
-
:where(.theme-scope)
|
|
67361
|
-
:
|
|
67362
|
-
.er-whole-series-step-circle--active {
|
|
67363
|
-
background: var(--er-step-active);
|
|
67364
|
-
color: var(--er-step-text-active);
|
|
66448
|
+
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
66449
|
+
min-width: 0;
|
|
67365
66450
|
}
|
|
67366
66451
|
|
|
67367
|
-
:where(.theme-scope)
|
|
67368
|
-
:
|
|
67369
|
-
|
|
67370
|
-
background: var(--er-step-completed);
|
|
67371
|
-
color: var(--er-step-text);
|
|
66452
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
66453
|
+
max-width: none;
|
|
66454
|
+
margin-inline: 0;
|
|
67372
66455
|
}
|
|
67373
66456
|
|
|
67374
|
-
:where(.theme-scope)
|
|
67375
|
-
:
|
|
67376
|
-
.er-whole-series-step-label {
|
|
67377
|
-
font-size: 0.875rem;
|
|
66457
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
66458
|
+
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
67378
66459
|
font-weight: 500;
|
|
67379
|
-
color: rgb(var(--tb-mutedText));
|
|
67380
|
-
display: none;
|
|
67381
66460
|
}
|
|
67382
66461
|
|
|
67383
|
-
|
|
66462
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
66463
|
+
text-align: left;
|
|
66464
|
+
}
|
|
66465
|
+
|
|
66466
|
+
@container rb-site (max-width: 767px) {
|
|
67384
66467
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
67385
|
-
:where(.theme-scope)
|
|
67386
|
-
:
|
|
67387
|
-
|
|
67388
|
-
[data-block='course-registration']
|
|
67389
|
-
)
|
|
67390
|
-
.er-whole-series-step-label {
|
|
67391
|
-
display: block;
|
|
66468
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
66469
|
+
grid-template-columns: minmax(0, 1fr);
|
|
66470
|
+
gap: 2rem;
|
|
67392
66471
|
}
|
|
67393
66472
|
}
|
|
67394
66473
|
}
|
|
67395
66474
|
|
|
67396
|
-
|
|
67397
|
-
|
|
67398
|
-
|
|
67399
|
-
|
|
67400
|
-
font-weight: 600;
|
|
67401
|
-
}
|
|
67402
|
-
|
|
67403
|
-
:where(.theme-scope)
|
|
67404
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67405
|
-
.er-whole-series-step-connector {
|
|
67406
|
-
flex: 1;
|
|
67407
|
-
height: 2px;
|
|
67408
|
-
background: var(--er-step-connector);
|
|
67409
|
-
min-width: 1rem;
|
|
67410
|
-
}
|
|
66475
|
+
/* =============================================================================
|
|
66476
|
+
* Success State
|
|
66477
|
+
* =============================================================================
|
|
66478
|
+
*/
|
|
67411
66479
|
|
|
67412
|
-
:where(.theme-scope)
|
|
67413
|
-
:
|
|
67414
|
-
.er-whole-series-step-connector--completed {
|
|
67415
|
-
background: var(--er-step-completed);
|
|
66480
|
+
:where(.theme-scope) .newsletter-success {
|
|
66481
|
+
text-align: center;
|
|
67416
66482
|
}
|
|
67417
66483
|
|
|
67418
|
-
:where(.theme-scope)
|
|
67419
|
-
:
|
|
67420
|
-
|
|
67421
|
-
|
|
67422
|
-
|
|
66484
|
+
:where(.theme-scope) .newsletter-success .fb-success {
|
|
66485
|
+
padding: 1rem 1.5rem;
|
|
66486
|
+
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
66487
|
+
border-radius: var(--radius-md, 0.5rem);
|
|
66488
|
+
color: rgb(var(--tb-text));
|
|
67423
66489
|
}
|
|
67424
66490
|
|
|
67425
66491
|
/* =============================================================================
|
|
67426
|
-
*
|
|
66492
|
+
* Block: Contact + Newsletter
|
|
67427
66493
|
* =============================================================================
|
|
67428
66494
|
*/
|
|
67429
|
-
|
|
67430
|
-
|
|
67431
|
-
.er-whole-series-run-list {
|
|
66495
|
+
|
|
66496
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
67432
66497
|
display: grid;
|
|
67433
|
-
|
|
66498
|
+
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
66499
|
+
gap: clamp(2.5rem, 6vw, 4rem);
|
|
66500
|
+
align-items: start;
|
|
67434
66501
|
}
|
|
67435
66502
|
|
|
67436
|
-
|
|
67437
|
-
|
|
67438
|
-
* =============================================================================
|
|
67439
|
-
*/
|
|
67440
|
-
:where(.theme-scope)
|
|
67441
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67442
|
-
.er-whole-series-run-card {
|
|
67443
|
-
border-radius: var(--rb-block-radius);
|
|
67444
|
-
border: 1px solid var(--er-border);
|
|
67445
|
-
padding: 1rem;
|
|
67446
|
-
background: rgb(var(--tb-background));
|
|
67447
|
-
cursor: pointer;
|
|
67448
|
-
transition:
|
|
67449
|
-
border-color var(--rb-block-transition) ease,
|
|
67450
|
-
transform var(--rb-block-transition) ease;
|
|
66503
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
66504
|
+
min-width: 0;
|
|
67451
66505
|
}
|
|
67452
66506
|
|
|
67453
|
-
:where(.theme-scope)
|
|
67454
|
-
:
|
|
67455
|
-
.er-whole-series-run-card:hover {
|
|
67456
|
-
border-color: var(--er-border-hover);
|
|
67457
|
-
transform: translateY(-1px);
|
|
66507
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
66508
|
+
margin-bottom: 1.5rem;
|
|
67458
66509
|
}
|
|
67459
66510
|
|
|
67460
|
-
:where(.theme-scope)
|
|
67461
|
-
|
|
67462
|
-
|
|
67463
|
-
outline: 2px solid var(--er-focus-ring);
|
|
67464
|
-
outline-offset: 2px;
|
|
66511
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
66512
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
66513
|
+
margin: 0 0 0.75rem;
|
|
67465
66514
|
}
|
|
67466
66515
|
|
|
67467
|
-
:where(.theme-scope)
|
|
67468
|
-
|
|
67469
|
-
|
|
67470
|
-
border-color: var(--er-border-selected);
|
|
67471
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
66516
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
66517
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
66518
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
67472
66519
|
}
|
|
67473
66520
|
|
|
67474
|
-
:where(.theme-scope)
|
|
67475
|
-
:
|
|
67476
|
-
|
|
67477
|
-
|
|
67478
|
-
font-weight: 700;
|
|
67479
|
-
font-size: 1.125rem;
|
|
66521
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
66522
|
+
display: flex;
|
|
66523
|
+
flex-direction: column;
|
|
66524
|
+
align-items: flex-start;
|
|
67480
66525
|
}
|
|
67481
66526
|
|
|
67482
|
-
:where(.theme-scope)
|
|
67483
|
-
:
|
|
67484
|
-
|
|
67485
|
-
margin: 0
|
|
67486
|
-
opacity: 0.8;
|
|
66527
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
66528
|
+
max-width: none;
|
|
66529
|
+
margin-left: 0;
|
|
66530
|
+
margin-right: 0;
|
|
67487
66531
|
}
|
|
67488
66532
|
|
|
67489
|
-
:where(.theme-scope)
|
|
67490
|
-
:
|
|
67491
|
-
.er-whole-series-run-card__sessions,
|
|
67492
|
-
:where(.theme-scope)
|
|
67493
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67494
|
-
.er-whole-series-run-card__price,
|
|
67495
|
-
:where(.theme-scope)
|
|
67496
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67497
|
-
.er-whole-series-run-card__capacity,
|
|
67498
|
-
:where(.theme-scope)
|
|
67499
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67500
|
-
.er-whole-series-run-card__venue {
|
|
67501
|
-
margin: 0.25rem 0 0 0;
|
|
67502
|
-
opacity: 0.85;
|
|
66533
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
66534
|
+
text-align: left;
|
|
67503
66535
|
}
|
|
67504
66536
|
|
|
67505
|
-
|
|
67506
|
-
|
|
67507
|
-
|
|
67508
|
-
|
|
67509
|
-
:where(.theme-scope)
|
|
67510
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67511
|
-
.er-whole-series-capacity-badge {
|
|
67512
|
-
display: inline-block;
|
|
67513
|
-
padding: 0.125rem 0.5rem;
|
|
67514
|
-
border-radius: 9999px;
|
|
67515
|
-
font-size: 0.75rem;
|
|
67516
|
-
font-weight: 500;
|
|
66537
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
66538
|
+
display: flex;
|
|
66539
|
+
flex-direction: column;
|
|
66540
|
+
gap: 1rem;
|
|
67517
66541
|
}
|
|
67518
66542
|
|
|
67519
|
-
:where(.theme-scope)
|
|
67520
|
-
:
|
|
67521
|
-
|
|
67522
|
-
|
|
67523
|
-
color: var(--er-capacity-available-text);
|
|
66543
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
66544
|
+
display: grid;
|
|
66545
|
+
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
66546
|
+
gap: 1rem;
|
|
67524
66547
|
}
|
|
67525
66548
|
|
|
67526
|
-
:where(.theme-scope)
|
|
67527
|
-
:
|
|
67528
|
-
|
|
67529
|
-
|
|
67530
|
-
color: var(--er-capacity-low-text);
|
|
66549
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-field {
|
|
66550
|
+
display: flex;
|
|
66551
|
+
flex-direction: column;
|
|
66552
|
+
gap: 0.25rem;
|
|
67531
66553
|
}
|
|
67532
66554
|
|
|
67533
|
-
:where(.theme-scope)
|
|
67534
|
-
:
|
|
67535
|
-
|
|
67536
|
-
|
|
67537
|
-
|
|
66555
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-fieldset {
|
|
66556
|
+
display: flex;
|
|
66557
|
+
flex-direction: column;
|
|
66558
|
+
gap: 0.5rem;
|
|
66559
|
+
border: none;
|
|
66560
|
+
padding: 0;
|
|
66561
|
+
margin: 0;
|
|
67538
66562
|
}
|
|
67539
66563
|
|
|
67540
|
-
|
|
67541
|
-
|
|
67542
|
-
|
|
67543
|
-
|
|
67544
|
-
:where(.theme-scope)
|
|
67545
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67546
|
-
.er-whole-series-details {
|
|
67547
|
-
display: grid;
|
|
67548
|
-
gap: 1rem;
|
|
66564
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
|
|
66565
|
+
display: flex;
|
|
66566
|
+
align-items: center;
|
|
66567
|
+
gap: 0.5rem;
|
|
67549
66568
|
}
|
|
67550
66569
|
|
|
67551
|
-
:where(.theme-scope)
|
|
67552
|
-
|
|
67553
|
-
|
|
66570
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
|
|
66571
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
|
|
66572
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
67554
66573
|
border-radius: var(--rb-block-radius);
|
|
67555
|
-
border: 1px solid var(--er-summary-border);
|
|
67556
66574
|
padding: 1rem;
|
|
67557
|
-
|
|
67558
|
-
}
|
|
67559
|
-
|
|
67560
|
-
:where(.theme-scope)
|
|
67561
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67562
|
-
.er-whole-series-summary__title {
|
|
67563
|
-
margin: 0;
|
|
67564
|
-
font-size: 1.25rem;
|
|
67565
|
-
font-weight: 800;
|
|
66575
|
+
font-size: 0.875rem;
|
|
67566
66576
|
}
|
|
67567
66577
|
|
|
67568
|
-
:where(.theme-scope)
|
|
67569
|
-
:
|
|
67570
|
-
|
|
67571
|
-
|
|
67572
|
-
font-weight: 700;
|
|
66578
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success {
|
|
66579
|
+
background-color: var(--fb-success-bg);
|
|
66580
|
+
color: var(--fb-success-text);
|
|
66581
|
+
border: 1px solid var(--fb-success-border);
|
|
67573
66582
|
}
|
|
67574
66583
|
|
|
67575
|
-
:where(.theme-scope)
|
|
67576
|
-
:
|
|
67577
|
-
|
|
67578
|
-
|
|
67579
|
-
padding: 0;
|
|
67580
|
-
margin: 0;
|
|
67581
|
-
display: grid;
|
|
67582
|
-
gap: 0.35rem;
|
|
66584
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error {
|
|
66585
|
+
background-color: var(--fb-error-bg);
|
|
66586
|
+
color: var(--fb-error-text);
|
|
66587
|
+
border: 1px solid var(--fb-error-border);
|
|
67583
66588
|
}
|
|
67584
66589
|
|
|
67585
|
-
:where(.theme-scope)
|
|
67586
|
-
:
|
|
67587
|
-
|
|
67588
|
-
|
|
66590
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
66591
|
+
background-color: var(--fb-empty-bg);
|
|
66592
|
+
color: var(--fb-empty-text);
|
|
66593
|
+
border: 1px dashed var(--fb-empty-border);
|
|
66594
|
+
text-align: center;
|
|
67589
66595
|
}
|
|
67590
66596
|
|
|
67591
|
-
:where(.theme-scope)
|
|
67592
|
-
:
|
|
67593
|
-
.er-whole-series-summary__venue,
|
|
67594
|
-
:where(.theme-scope)
|
|
67595
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67596
|
-
.er-whole-series-summary__price,
|
|
67597
|
-
:where(.theme-scope)
|
|
67598
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67599
|
-
.er-whole-series-summary__membership {
|
|
67600
|
-
margin: 0.5rem 0 0 0;
|
|
67601
|
-
opacity: 0.9;
|
|
66597
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-actions {
|
|
66598
|
+
margin-top: 0.5rem;
|
|
67602
66599
|
}
|
|
67603
66600
|
|
|
67604
66601
|
/* =============================================================================
|
|
67605
|
-
*
|
|
66602
|
+
* Block: Team Members
|
|
67606
66603
|
* =============================================================================
|
|
66604
|
+
*
|
|
66605
|
+
* Site/theme authors sometimes need different thumbnail shapes/sizes without
|
|
66606
|
+
* changing global fragment defaults. We expose these controls on the block and
|
|
66607
|
+
* style them via data attributes on the \`.rb-team-members\` wrapper.
|
|
67607
66608
|
*/
|
|
67608
|
-
:where(.theme-scope)
|
|
67609
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67610
|
-
.er-whole-series-form {
|
|
67611
|
-
display: grid;
|
|
67612
|
-
gap: 1rem;
|
|
67613
|
-
}
|
|
67614
66609
|
|
|
67615
|
-
|
|
67616
|
-
|
|
67617
|
-
|
|
67618
|
-
display: grid;
|
|
67619
|
-
gap: 0.35rem;
|
|
66610
|
+
/* Scope all block-static CSS to ThemeScope to avoid leaking into host apps/dashboard. */
|
|
66611
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) {
|
|
66612
|
+
text-align: left;
|
|
67620
66613
|
}
|
|
67621
66614
|
|
|
67622
|
-
:where(.theme-scope)
|
|
67623
|
-
:
|
|
67624
|
-
|
|
67625
|
-
font-size: 0.875rem;
|
|
67626
|
-
font-weight: 600;
|
|
66615
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) :where(.rb-team-member) {
|
|
66616
|
+
align-items: flex-start;
|
|
66617
|
+
text-align: left;
|
|
67627
66618
|
}
|
|
67628
66619
|
|
|
67629
|
-
|
|
67630
|
-
|
|
67631
|
-
|
|
67632
|
-
|
|
67633
|
-
|
|
66620
|
+
@container rb-site (min-width: 1024px) {
|
|
66621
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
66622
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-width="lg-3-4-left"]) {
|
|
66623
|
+
width: 75%;
|
|
66624
|
+
margin-left: 0;
|
|
66625
|
+
margin-right: auto;
|
|
66626
|
+
}
|
|
66627
|
+
}
|
|
67634
66628
|
}
|
|
67635
66629
|
|
|
67636
|
-
:where(.theme-scope)
|
|
67637
|
-
:
|
|
67638
|
-
|
|
67639
|
-
|
|
67640
|
-
border: 1px solid var(--er-border);
|
|
67641
|
-
padding: 0.6rem 0.75rem;
|
|
67642
|
-
background: rgb(var(--tb-background));
|
|
67643
|
-
color: rgb(var(--tb-foreground));
|
|
66630
|
+
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-photo {
|
|
66631
|
+
display: block;
|
|
66632
|
+
width: 100%;
|
|
66633
|
+
height: auto;
|
|
67644
66634
|
}
|
|
67645
66635
|
|
|
67646
|
-
:where(.theme-scope)
|
|
67647
|
-
:
|
|
67648
|
-
.er-whole-series-form__textarea {
|
|
67649
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
67650
|
-
border: 1px solid var(--er-border);
|
|
67651
|
-
padding: 0.6rem 0.75rem;
|
|
67652
|
-
background: rgb(var(--tb-background));
|
|
67653
|
-
color: rgb(var(--tb-foreground));
|
|
67654
|
-
resize: vertical;
|
|
66636
|
+
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-role {
|
|
66637
|
+
font-weight: 600;
|
|
67655
66638
|
}
|
|
67656
66639
|
|
|
67657
|
-
:
|
|
67658
|
-
|
|
67659
|
-
|
|
67660
|
-
:
|
|
67661
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67662
|
-
.er-whole-series-form__textarea:focus {
|
|
67663
|
-
outline: 2px solid var(--er-focus-ring);
|
|
67664
|
-
outline-offset: 2px;
|
|
66640
|
+
/* Thumbnail sizing: map \`data-image-col-size\` to a sensible max thumbnail width. */
|
|
66641
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members) {
|
|
66642
|
+
--rb-team-thumb-max: 11.25rem; /* ~180px default */
|
|
66643
|
+
--rb-team-image-basis: 33.333%;
|
|
67665
66644
|
}
|
|
67666
66645
|
|
|
67667
|
-
:where(.theme-scope)
|
|
67668
|
-
|
|
67669
|
-
|
|
67670
|
-
:where(.theme-scope)
|
|
67671
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67672
|
-
.er-whole-series-form__textarea.er-whole-series-form__input--error {
|
|
67673
|
-
border-color: var(--er-border-error);
|
|
66646
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/4"]) {
|
|
66647
|
+
--rb-team-thumb-max: 8.75rem; /* ~140px */
|
|
66648
|
+
--rb-team-image-basis: 25%;
|
|
67674
66649
|
}
|
|
67675
66650
|
|
|
67676
|
-
:where(.theme-scope)
|
|
67677
|
-
|
|
67678
|
-
|
|
67679
|
-
font-size: 0.875rem;
|
|
67680
|
-
color: var(--er-error-text);
|
|
66651
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/3"]) {
|
|
66652
|
+
--rb-team-thumb-max: 11.25rem; /* ~180px */
|
|
66653
|
+
--rb-team-image-basis: 33.333%;
|
|
67681
66654
|
}
|
|
67682
66655
|
|
|
67683
|
-
:where(.theme-scope)
|
|
67684
|
-
|
|
67685
|
-
|
|
67686
|
-
font-size: 0.875rem;
|
|
67687
|
-
opacity: 0.7;
|
|
67688
|
-
}
|
|
67689
|
-
|
|
67690
|
-
/* Logged-in user hint with logout link */
|
|
67691
|
-
:where(.theme-scope)
|
|
67692
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67693
|
-
.er-whole-series-logged-in-hint {
|
|
67694
|
-
font-size: 0.875rem;
|
|
67695
|
-
opacity: 0.7;
|
|
67696
|
-
margin: 0.25rem 0 0 0;
|
|
67697
|
-
}
|
|
67698
|
-
|
|
67699
|
-
:where(.theme-scope)
|
|
67700
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67701
|
-
.er-whole-series-link {
|
|
67702
|
-
background: none;
|
|
67703
|
-
border: none;
|
|
67704
|
-
padding: 0;
|
|
67705
|
-
font-size: inherit;
|
|
67706
|
-
color: rgb(var(--tb-primary));
|
|
67707
|
-
cursor: pointer;
|
|
67708
|
-
text-decoration: underline;
|
|
67709
|
-
text-underline-offset: 2px;
|
|
67710
|
-
}
|
|
67711
|
-
|
|
67712
|
-
:where(.theme-scope)
|
|
67713
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67714
|
-
.er-whole-series-link:hover {
|
|
67715
|
-
text-decoration: none;
|
|
67716
|
-
}
|
|
67717
|
-
|
|
67718
|
-
/* =============================================================================
|
|
67719
|
-
* Actions
|
|
67720
|
-
* =============================================================================
|
|
67721
|
-
*/
|
|
67722
|
-
:where(.theme-scope)
|
|
67723
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67724
|
-
.er-whole-series-actions {
|
|
67725
|
-
display: flex;
|
|
67726
|
-
align-items: center;
|
|
67727
|
-
justify-content: space-between;
|
|
67728
|
-
gap: 0.75rem;
|
|
67729
|
-
margin-top: 0.25rem;
|
|
67730
|
-
}
|
|
67731
|
-
|
|
67732
|
-
:where(.theme-scope)
|
|
67733
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67734
|
-
.er-whole-series-back-btn {
|
|
67735
|
-
border: 0;
|
|
67736
|
-
background: transparent;
|
|
67737
|
-
color: var(--er-on-surface);
|
|
67738
|
-
opacity: 0.8;
|
|
67739
|
-
padding: 0.25rem 0.25rem;
|
|
67740
|
-
cursor: pointer;
|
|
67741
|
-
}
|
|
67742
|
-
|
|
67743
|
-
:where(.theme-scope)
|
|
67744
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67745
|
-
.er-whole-series-back-btn:hover {
|
|
67746
|
-
opacity: 1;
|
|
67747
|
-
text-decoration: underline;
|
|
67748
|
-
}
|
|
67749
|
-
|
|
67750
|
-
/* =============================================================================
|
|
67751
|
-
* Payment Options
|
|
67752
|
-
* =============================================================================
|
|
67753
|
-
*/
|
|
67754
|
-
:where(.theme-scope)
|
|
67755
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67756
|
-
.er-whole-series-payment__options {
|
|
67757
|
-
display: grid;
|
|
67758
|
-
gap: 0.5rem;
|
|
67759
|
-
}
|
|
67760
|
-
|
|
67761
|
-
:where(.theme-scope)
|
|
67762
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67763
|
-
.er-whole-series-payment__option {
|
|
67764
|
-
display: flex;
|
|
67765
|
-
align-items: center;
|
|
67766
|
-
gap: 0.5rem;
|
|
67767
|
-
}
|
|
67768
|
-
|
|
67769
|
-
/* =============================================================================
|
|
67770
|
-
* Payment Tiles (Card Grid)
|
|
67771
|
-
* =============================================================================
|
|
67772
|
-
*/
|
|
67773
|
-
:where(.theme-scope)
|
|
67774
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67775
|
-
.er-whole-series-payment-tiles {
|
|
67776
|
-
display: grid;
|
|
67777
|
-
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
67778
|
-
gap: 0.75rem;
|
|
67779
|
-
}
|
|
67780
|
-
|
|
67781
|
-
:where(.theme-scope)
|
|
67782
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67783
|
-
.er-whole-series-payment-tile {
|
|
67784
|
-
border-radius: var(--rb-block-radius);
|
|
67785
|
-
border: 1px solid var(--er-payment-border);
|
|
67786
|
-
padding: 1rem;
|
|
67787
|
-
background: rgb(var(--tb-background));
|
|
67788
|
-
cursor: pointer;
|
|
67789
|
-
transition:
|
|
67790
|
-
border-color 0.15s ease,
|
|
67791
|
-
box-shadow 0.15s ease,
|
|
67792
|
-
background-color 0.15s ease;
|
|
67793
|
-
position: relative;
|
|
67794
|
-
}
|
|
67795
|
-
|
|
67796
|
-
:where(.theme-scope)
|
|
67797
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67798
|
-
.er-whole-series-payment-tile:hover {
|
|
67799
|
-
border-color: var(--er-payment-border-hover);
|
|
67800
|
-
}
|
|
67801
|
-
|
|
67802
|
-
:where(.theme-scope)
|
|
67803
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67804
|
-
.er-whole-series-payment-tile:focus-visible {
|
|
67805
|
-
outline: 2px solid var(--er-focus-ring);
|
|
67806
|
-
outline-offset: 2px;
|
|
67807
|
-
}
|
|
67808
|
-
|
|
67809
|
-
:where(.theme-scope)
|
|
67810
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67811
|
-
.er-whole-series-payment-tile--selected {
|
|
67812
|
-
border-color: var(--er-payment-border-selected);
|
|
67813
|
-
background: var(--er-payment-bg-selected);
|
|
67814
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
67815
|
-
}
|
|
67816
|
-
|
|
67817
|
-
:where(.theme-scope)
|
|
67818
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67819
|
-
.er-whole-series-payment-tile--upsell {
|
|
67820
|
-
border-style: dashed;
|
|
67821
|
-
}
|
|
67822
|
-
|
|
67823
|
-
:where(.theme-scope)
|
|
67824
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67825
|
-
.er-whole-series-payment-tile__header {
|
|
67826
|
-
display: flex;
|
|
67827
|
-
align-items: flex-start;
|
|
67828
|
-
justify-content: space-between;
|
|
67829
|
-
gap: 0.5rem;
|
|
67830
|
-
}
|
|
67831
|
-
|
|
67832
|
-
:where(.theme-scope)
|
|
67833
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67834
|
-
.er-whole-series-payment-tile__name {
|
|
67835
|
-
margin: 0;
|
|
67836
|
-
font-weight: 600;
|
|
67837
|
-
font-size: 1rem;
|
|
67838
|
-
}
|
|
67839
|
-
|
|
67840
|
-
:where(.theme-scope)
|
|
67841
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67842
|
-
.er-whole-series-payment-tile__description {
|
|
67843
|
-
margin: 0.25rem 0 0 0;
|
|
67844
|
-
font-size: 0.875rem;
|
|
67845
|
-
opacity: 0.7;
|
|
67846
|
-
}
|
|
67847
|
-
|
|
67848
|
-
:where(.theme-scope)
|
|
67849
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67850
|
-
.er-whole-series-payment-tile__price {
|
|
67851
|
-
font-weight: 600;
|
|
67852
|
-
font-size: 0.875rem;
|
|
67853
|
-
white-space: nowrap;
|
|
67854
|
-
}
|
|
67855
|
-
|
|
67856
|
-
:where(.theme-scope)
|
|
67857
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67858
|
-
.er-whole-series-payment-tile__badge {
|
|
67859
|
-
display: inline-block;
|
|
67860
|
-
padding: 0.125rem 0.5rem;
|
|
67861
|
-
border-radius: 9999px;
|
|
67862
|
-
font-size: 0.75rem;
|
|
67863
|
-
font-weight: 500;
|
|
67864
|
-
margin-top: 0.5rem;
|
|
67865
|
-
}
|
|
67866
|
-
|
|
67867
|
-
/* Checkmark indicator on selected tile */
|
|
67868
|
-
:where(.theme-scope)
|
|
67869
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67870
|
-
.er-whole-series-payment-tile__check {
|
|
67871
|
-
position: absolute;
|
|
67872
|
-
top: 0.5rem;
|
|
67873
|
-
right: 0.5rem;
|
|
67874
|
-
width: 1.25rem;
|
|
67875
|
-
height: 1.25rem;
|
|
67876
|
-
border-radius: 9999px;
|
|
67877
|
-
background: var(--er-check-bg);
|
|
67878
|
-
color: var(--er-check-text);
|
|
67879
|
-
display: flex;
|
|
67880
|
-
align-items: center;
|
|
67881
|
-
justify-content: center;
|
|
67882
|
-
opacity: 0;
|
|
67883
|
-
transition: opacity 0.15s ease;
|
|
67884
|
-
}
|
|
67885
|
-
|
|
67886
|
-
:where(.theme-scope)
|
|
67887
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67888
|
-
.er-whole-series-payment-tile--selected
|
|
67889
|
-
.er-whole-series-payment-tile__check {
|
|
67890
|
-
opacity: 1;
|
|
67891
|
-
}
|
|
67892
|
-
|
|
67893
|
-
/* =============================================================================
|
|
67894
|
-
* Booking Mode Step
|
|
67895
|
-
* =============================================================================
|
|
67896
|
-
*/
|
|
67897
|
-
:where(.theme-scope)
|
|
67898
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67899
|
-
.er-whole-series-booking-mode {
|
|
67900
|
-
display: grid;
|
|
67901
|
-
gap: 1rem;
|
|
67902
|
-
}
|
|
67903
|
-
|
|
67904
|
-
:where(.theme-scope)
|
|
67905
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67906
|
-
.er-whole-series-booking-mode__title {
|
|
67907
|
-
margin: 0;
|
|
67908
|
-
font-size: var(--er-step-title-size);
|
|
67909
|
-
font-weight: 700;
|
|
67910
|
-
}
|
|
67911
|
-
|
|
67912
|
-
:where(.theme-scope)
|
|
67913
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67914
|
-
.er-whole-series-booking-mode__subtitle {
|
|
67915
|
-
margin: 0.25rem 0 0 0;
|
|
67916
|
-
opacity: 0.7;
|
|
67917
|
-
}
|
|
67918
|
-
|
|
67919
|
-
:where(.theme-scope)
|
|
67920
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67921
|
-
.er-whole-series-booking-mode__link {
|
|
67922
|
-
margin-top: 0.5rem;
|
|
67923
|
-
font-size: 0.875rem;
|
|
67924
|
-
}
|
|
67925
|
-
|
|
67926
|
-
:where(.theme-scope)
|
|
67927
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67928
|
-
.er-whole-series-booking-mode__link
|
|
67929
|
-
a {
|
|
67930
|
-
color: rgb(var(--tb-primary));
|
|
67931
|
-
text-decoration: underline;
|
|
67932
|
-
cursor: pointer;
|
|
67933
|
-
}
|
|
67934
|
-
|
|
67935
|
-
:where(.theme-scope)
|
|
67936
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67937
|
-
.er-whole-series-booking-mode__link
|
|
67938
|
-
a:hover {
|
|
67939
|
-
text-decoration: none;
|
|
67940
|
-
}
|
|
67941
|
-
|
|
67942
|
-
/* =============================================================================
|
|
67943
|
-
* Membership Hero
|
|
67944
|
-
* =============================================================================
|
|
67945
|
-
*/
|
|
67946
|
-
:where(.theme-scope)
|
|
67947
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67948
|
-
.er-whole-series-membership-hero {
|
|
67949
|
-
border-radius: var(--rb-block-radius);
|
|
67950
|
-
background: var(--er-success-bg);
|
|
67951
|
-
border: 1px solid rgba(var(--tb-success), 0.2);
|
|
67952
|
-
padding: 1.5rem;
|
|
67953
|
-
text-align: center;
|
|
67954
|
-
}
|
|
67955
|
-
|
|
67956
|
-
:where(.theme-scope)
|
|
67957
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67958
|
-
.er-whole-series-membership-hero__icon {
|
|
67959
|
-
font-size: 2rem;
|
|
67960
|
-
margin-bottom: 0.75rem;
|
|
67961
|
-
}
|
|
67962
|
-
|
|
67963
|
-
:where(.theme-scope)
|
|
67964
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67965
|
-
.er-whole-series-membership-hero__title {
|
|
67966
|
-
margin: 0;
|
|
67967
|
-
font-size: 1.25rem;
|
|
67968
|
-
font-weight: 700;
|
|
67969
|
-
color: var(--er-success-text);
|
|
67970
|
-
}
|
|
67971
|
-
|
|
67972
|
-
:where(.theme-scope)
|
|
67973
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67974
|
-
.er-whole-series-membership-hero__subtitle {
|
|
67975
|
-
margin: 0.25rem 0 0 0;
|
|
67976
|
-
font-size: 0.875rem;
|
|
67977
|
-
opacity: 0.8;
|
|
67978
|
-
}
|
|
67979
|
-
|
|
67980
|
-
/* =============================================================================
|
|
67981
|
-
* Portal Auth Sidebar
|
|
67982
|
-
* =============================================================================
|
|
67983
|
-
*/
|
|
67984
|
-
:where(.theme-scope)
|
|
67985
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67986
|
-
.er-whole-series-portal-sidebar {
|
|
67987
|
-
border-radius: var(--rb-block-radius);
|
|
67988
|
-
border: 1px solid var(--er-border);
|
|
67989
|
-
padding: 1.25rem;
|
|
67990
|
-
background: rgb(var(--tb-surface));
|
|
67991
|
-
color: var(--er-on-surface);
|
|
67992
|
-
}
|
|
67993
|
-
|
|
67994
|
-
:where(.theme-scope)
|
|
67995
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67996
|
-
.er-whole-series-portal-sidebar__icon {
|
|
67997
|
-
font-size: 1.5rem;
|
|
67998
|
-
margin-bottom: 0.5rem;
|
|
67999
|
-
}
|
|
68000
|
-
|
|
68001
|
-
:where(.theme-scope)
|
|
68002
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68003
|
-
.er-whole-series-portal-sidebar__title {
|
|
68004
|
-
margin: 0;
|
|
68005
|
-
font-size: 1rem;
|
|
68006
|
-
font-weight: 600;
|
|
68007
|
-
}
|
|
68008
|
-
|
|
68009
|
-
:where(.theme-scope)
|
|
68010
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68011
|
-
.er-whole-series-portal-sidebar__text {
|
|
68012
|
-
margin: 0.5rem 0 0 0;
|
|
68013
|
-
font-size: 0.875rem;
|
|
68014
|
-
opacity: 0.8;
|
|
68015
|
-
}
|
|
68016
|
-
|
|
68017
|
-
:where(.theme-scope)
|
|
68018
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68019
|
-
.er-whole-series-portal-sidebar__action {
|
|
68020
|
-
margin-top: 1rem;
|
|
68021
|
-
}
|
|
68022
|
-
|
|
68023
|
-
:where(.theme-scope)
|
|
68024
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68025
|
-
.er-whole-series-portal-sidebar__link {
|
|
68026
|
-
color: rgb(var(--tb-primary));
|
|
68027
|
-
cursor: pointer;
|
|
68028
|
-
text-decoration: underline;
|
|
68029
|
-
font-size: 0.875rem;
|
|
68030
|
-
}
|
|
68031
|
-
|
|
68032
|
-
:where(.theme-scope)
|
|
68033
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68034
|
-
.er-whole-series-portal-sidebar__link:hover {
|
|
68035
|
-
text-decoration: none;
|
|
68036
|
-
}
|
|
68037
|
-
|
|
68038
|
-
/* =============================================================================
|
|
68039
|
-
* Modal (for Magic Link)
|
|
68040
|
-
* =============================================================================
|
|
68041
|
-
*/
|
|
68042
|
-
:where(.theme-scope)
|
|
68043
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68044
|
-
.er-whole-series-modal-overlay {
|
|
68045
|
-
position: fixed;
|
|
68046
|
-
inset: 0;
|
|
68047
|
-
background: rgba(var(--tb-scrim), 0.5);
|
|
68048
|
-
display: flex;
|
|
68049
|
-
align-items: center;
|
|
68050
|
-
justify-content: center;
|
|
68051
|
-
z-index: 100;
|
|
68052
|
-
animation: er-whole-series-fade-in 0.15s ease;
|
|
68053
|
-
}
|
|
68054
|
-
|
|
68055
|
-
:where(.theme-scope)
|
|
68056
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68057
|
-
.er-whole-series-modal {
|
|
68058
|
-
background: rgb(var(--tb-surface));
|
|
68059
|
-
color: var(--er-on-surface);
|
|
68060
|
-
border-radius: var(--rb-block-radius);
|
|
68061
|
-
padding: 1.5rem;
|
|
68062
|
-
max-width: 28rem;
|
|
68063
|
-
width: calc(100% - 2rem);
|
|
68064
|
-
position: relative;
|
|
68065
|
-
animation: er-whole-series-slide-up 0.2s ease;
|
|
68066
|
-
}
|
|
68067
|
-
|
|
68068
|
-
:where(.theme-scope)
|
|
68069
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68070
|
-
.er-whole-series-modal-close {
|
|
68071
|
-
position: absolute;
|
|
68072
|
-
top: 0.75rem;
|
|
68073
|
-
right: 0.75rem;
|
|
68074
|
-
background: transparent;
|
|
68075
|
-
border: 0;
|
|
68076
|
-
padding: 0.25rem;
|
|
68077
|
-
cursor: pointer;
|
|
68078
|
-
opacity: 0.6;
|
|
68079
|
-
transition: opacity 0.15s ease;
|
|
68080
|
-
}
|
|
68081
|
-
|
|
68082
|
-
:where(.theme-scope)
|
|
68083
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68084
|
-
.er-whole-series-modal-close:hover {
|
|
68085
|
-
opacity: 1;
|
|
68086
|
-
}
|
|
68087
|
-
|
|
68088
|
-
@keyframes er-whole-series-fade-in {
|
|
68089
|
-
from {
|
|
68090
|
-
opacity: 0;
|
|
68091
|
-
}
|
|
68092
|
-
to {
|
|
68093
|
-
opacity: 1;
|
|
68094
|
-
}
|
|
68095
|
-
}
|
|
68096
|
-
|
|
68097
|
-
@keyframes er-whole-series-slide-up {
|
|
68098
|
-
from {
|
|
68099
|
-
opacity: 0;
|
|
68100
|
-
transform: translateY(10px);
|
|
68101
|
-
}
|
|
68102
|
-
to {
|
|
68103
|
-
opacity: 1;
|
|
68104
|
-
transform: translateY(0);
|
|
68105
|
-
}
|
|
68106
|
-
}
|
|
68107
|
-
|
|
68108
|
-
/* Reduced motion */
|
|
68109
|
-
@media (prefers-reduced-motion: reduce) {
|
|
68110
|
-
:where(.theme-scope)
|
|
68111
|
-
:where(
|
|
68112
|
-
[data-block='event-registration'],
|
|
68113
|
-
[data-block='course-registration']
|
|
68114
|
-
)
|
|
68115
|
-
.er-whole-series-modal-overlay,
|
|
68116
|
-
:where(.theme-scope)
|
|
68117
|
-
:where(
|
|
68118
|
-
[data-block='event-registration'],
|
|
68119
|
-
[data-block='course-registration']
|
|
68120
|
-
)
|
|
68121
|
-
.er-whole-series-modal {
|
|
68122
|
-
animation: none;
|
|
68123
|
-
}
|
|
68124
|
-
}
|
|
68125
|
-
|
|
68126
|
-
/* =============================================================================
|
|
68127
|
-
* Center States
|
|
68128
|
-
* =============================================================================
|
|
68129
|
-
*/
|
|
68130
|
-
:where(.theme-scope)
|
|
68131
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68132
|
-
.er-whole-series-center {
|
|
68133
|
-
display: grid;
|
|
68134
|
-
place-items: center;
|
|
68135
|
-
gap: 0.75rem;
|
|
68136
|
-
padding: 2rem 0;
|
|
68137
|
-
}
|
|
68138
|
-
|
|
68139
|
-
/* =============================================================================
|
|
68140
|
-
* Success/Waitlist/Error States
|
|
68141
|
-
* =============================================================================
|
|
68142
|
-
*/
|
|
68143
|
-
:where(.theme-scope)
|
|
68144
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68145
|
-
.er-whole-series-success,
|
|
68146
|
-
:where(.theme-scope)
|
|
68147
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68148
|
-
.er-whole-series-waitlist,
|
|
68149
|
-
:where(.theme-scope)
|
|
68150
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68151
|
-
.er-whole-series-error,
|
|
68152
|
-
:where(.theme-scope)
|
|
68153
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68154
|
-
.er-whole-series-payment-failed {
|
|
68155
|
-
text-align: center;
|
|
68156
|
-
padding: 2rem 1rem;
|
|
68157
|
-
}
|
|
68158
|
-
|
|
68159
|
-
/* State icon color variants (layout from registration-surface.css) */
|
|
68160
|
-
:where(.theme-scope)
|
|
68161
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68162
|
-
.rb-state-icon--success {
|
|
68163
|
-
background: var(--er-success-bg);
|
|
68164
|
-
color: var(--er-success-text);
|
|
68165
|
-
}
|
|
68166
|
-
|
|
68167
|
-
:where(.theme-scope)
|
|
68168
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68169
|
-
.rb-state-icon--error {
|
|
68170
|
-
background: var(--er-error-bg);
|
|
68171
|
-
color: var(--er-error-text);
|
|
68172
|
-
}
|
|
68173
|
-
|
|
68174
|
-
:where(.theme-scope)
|
|
68175
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68176
|
-
.rb-state-icon--waitlist,
|
|
68177
|
-
:where(.theme-scope)
|
|
68178
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68179
|
-
.rb-state-icon--warning {
|
|
68180
|
-
background: var(--er-waitlist-bg);
|
|
68181
|
-
color: var(--er-waitlist-text);
|
|
68182
|
-
}
|
|
68183
|
-
|
|
68184
|
-
:where(.theme-scope)
|
|
68185
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68186
|
-
.er-whole-series-success__title,
|
|
68187
|
-
:where(.theme-scope)
|
|
68188
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68189
|
-
.er-whole-series-waitlist__title,
|
|
68190
|
-
:where(.theme-scope)
|
|
68191
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68192
|
-
.er-whole-series-error__title,
|
|
68193
|
-
:where(.theme-scope)
|
|
68194
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68195
|
-
.er-whole-series-payment-failed__title {
|
|
68196
|
-
margin: 0.75rem 0 0.5rem 0;
|
|
68197
|
-
font-size: 1.125rem;
|
|
68198
|
-
font-weight: 700;
|
|
68199
|
-
}
|
|
68200
|
-
|
|
68201
|
-
:where(.theme-scope)
|
|
68202
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68203
|
-
.er-whole-series-success__message,
|
|
68204
|
-
:where(.theme-scope)
|
|
68205
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68206
|
-
.er-whole-series-waitlist__message,
|
|
68207
|
-
:where(.theme-scope)
|
|
68208
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68209
|
-
.er-whole-series-error__message,
|
|
68210
|
-
:where(.theme-scope)
|
|
68211
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68212
|
-
.er-whole-series-payment-failed__message {
|
|
68213
|
-
margin: 0;
|
|
68214
|
-
opacity: 0.7;
|
|
68215
|
-
}
|
|
68216
|
-
|
|
68217
|
-
:where(.theme-scope)
|
|
68218
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68219
|
-
.er-whole-series-success__membership {
|
|
68220
|
-
margin-top: 0.5rem;
|
|
68221
|
-
font-size: 0.875rem;
|
|
68222
|
-
color: var(--er-success-text);
|
|
68223
|
-
}
|
|
68224
|
-
|
|
68225
|
-
:where(.theme-scope)
|
|
68226
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68227
|
-
.er-whole-series-error__retry,
|
|
68228
|
-
:where(.theme-scope)
|
|
68229
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68230
|
-
.er-whole-series-payment-failed__retry {
|
|
68231
|
-
margin-top: 1rem;
|
|
68232
|
-
}
|
|
68233
|
-
|
|
68234
|
-
/* =============================================================================
|
|
68235
|
-
* Discount Code Section
|
|
68236
|
-
* =============================================================================
|
|
68237
|
-
*/
|
|
68238
|
-
:where(.theme-scope)
|
|
68239
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68240
|
-
.er-whole-series-discount {
|
|
68241
|
-
margin-top: 0.5rem;
|
|
68242
|
-
}
|
|
68243
|
-
|
|
68244
|
-
:where(.theme-scope)
|
|
68245
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68246
|
-
.er-whole-series-discount__form {
|
|
68247
|
-
display: grid;
|
|
68248
|
-
gap: 0.5rem;
|
|
68249
|
-
}
|
|
68250
|
-
|
|
68251
|
-
:where(.theme-scope)
|
|
68252
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68253
|
-
.er-whole-series-discount__toggle {
|
|
68254
|
-
background: transparent;
|
|
68255
|
-
border: 0;
|
|
68256
|
-
padding: 0;
|
|
68257
|
-
color: rgb(var(--tb-primary));
|
|
68258
|
-
cursor: pointer;
|
|
68259
|
-
font-size: 0.875rem;
|
|
68260
|
-
text-decoration: underline;
|
|
68261
|
-
}
|
|
68262
|
-
|
|
68263
|
-
:where(.theme-scope)
|
|
68264
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68265
|
-
.er-whole-series-discount__toggle:hover {
|
|
68266
|
-
text-decoration: none;
|
|
68267
|
-
}
|
|
68268
|
-
|
|
68269
|
-
:where(.theme-scope)
|
|
68270
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68271
|
-
.er-whole-series-discount__label {
|
|
68272
|
-
font-size: 0.875rem;
|
|
68273
|
-
font-weight: 600;
|
|
68274
|
-
}
|
|
68275
|
-
|
|
68276
|
-
:where(.theme-scope)
|
|
68277
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68278
|
-
.er-whole-series-discount__row {
|
|
68279
|
-
display: flex;
|
|
68280
|
-
gap: 0.5rem;
|
|
68281
|
-
}
|
|
68282
|
-
|
|
68283
|
-
:where(.theme-scope)
|
|
68284
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68285
|
-
.er-whole-series-discount__input {
|
|
68286
|
-
flex: 1;
|
|
68287
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
68288
|
-
border: 1px solid var(--er-border);
|
|
68289
|
-
padding: 0.5rem 0.75rem;
|
|
68290
|
-
background: rgb(var(--tb-background));
|
|
68291
|
-
color: rgb(var(--tb-foreground));
|
|
68292
|
-
font-size: 0.875rem;
|
|
68293
|
-
}
|
|
68294
|
-
|
|
68295
|
-
:where(.theme-scope)
|
|
68296
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68297
|
-
.er-whole-series-discount__input:focus {
|
|
68298
|
-
outline: 2px solid var(--er-focus-ring);
|
|
68299
|
-
outline-offset: 2px;
|
|
68300
|
-
}
|
|
68301
|
-
|
|
68302
|
-
:where(.theme-scope)
|
|
68303
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68304
|
-
.er-whole-series-discount__remove {
|
|
68305
|
-
background: transparent;
|
|
68306
|
-
border: 0;
|
|
68307
|
-
padding: 0.25rem;
|
|
68308
|
-
cursor: pointer;
|
|
68309
|
-
opacity: 0.6;
|
|
68310
|
-
}
|
|
68311
|
-
|
|
68312
|
-
:where(.theme-scope)
|
|
68313
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68314
|
-
.er-whole-series-discount__apply {
|
|
68315
|
-
background: transparent;
|
|
68316
|
-
border: 0;
|
|
68317
|
-
padding: 0.25rem;
|
|
68318
|
-
cursor: pointer;
|
|
68319
|
-
opacity: 0.8;
|
|
68320
|
-
}
|
|
68321
|
-
|
|
68322
|
-
:where(.theme-scope)
|
|
68323
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68324
|
-
.er-whole-series-discount__remove:hover {
|
|
68325
|
-
opacity: 1;
|
|
68326
|
-
}
|
|
68327
|
-
|
|
68328
|
-
:where(.theme-scope)
|
|
68329
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68330
|
-
.er-whole-series-discount__apply:hover {
|
|
68331
|
-
opacity: 1;
|
|
68332
|
-
}
|
|
68333
|
-
|
|
68334
|
-
:where(.theme-scope)
|
|
68335
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68336
|
-
.er-whole-series-discount__hint {
|
|
68337
|
-
margin: 0;
|
|
68338
|
-
font-size: 0.875rem;
|
|
68339
|
-
opacity: 0.7;
|
|
68340
|
-
}
|
|
68341
|
-
|
|
68342
|
-
:where(.theme-scope)
|
|
68343
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68344
|
-
.er-whole-series-discount__feedback {
|
|
68345
|
-
margin: 0;
|
|
68346
|
-
font-size: 0.875rem;
|
|
68347
|
-
}
|
|
68348
|
-
|
|
68349
|
-
/* =============================================================================
|
|
68350
|
-
* Altcha (Spam Protection)
|
|
68351
|
-
* =============================================================================
|
|
68352
|
-
*/
|
|
68353
|
-
:where(.theme-scope)
|
|
68354
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68355
|
-
.er-whole-series-altcha {
|
|
68356
|
-
margin-top: 1rem;
|
|
68357
|
-
}
|
|
68358
|
-
|
|
68359
|
-
/* =============================================================================
|
|
68360
|
-
* Magic Link Form
|
|
68361
|
-
* =============================================================================
|
|
68362
|
-
*/
|
|
68363
|
-
:where(.theme-scope)
|
|
68364
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68365
|
-
.er-whole-series-magic-link-form {
|
|
68366
|
-
display: flex;
|
|
68367
|
-
flex-direction: column;
|
|
68368
|
-
gap: 0.75rem;
|
|
68369
|
-
}
|
|
68370
|
-
|
|
68371
|
-
:where(.theme-scope)
|
|
68372
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68373
|
-
.er-whole-series-magic-link-title {
|
|
68374
|
-
margin: 0;
|
|
68375
|
-
font-size: 1.25rem;
|
|
68376
|
-
font-weight: 700;
|
|
68377
|
-
}
|
|
68378
|
-
|
|
68379
|
-
:where(.theme-scope)
|
|
68380
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68381
|
-
.er-whole-series-magic-link-success {
|
|
68382
|
-
display: flex;
|
|
68383
|
-
flex-direction: column;
|
|
68384
|
-
gap: 0.75rem;
|
|
68385
|
-
}
|
|
68386
|
-
|
|
68387
|
-
:where(.theme-scope)
|
|
68388
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68389
|
-
.er-whole-series-portal-auth-text {
|
|
68390
|
-
margin: 0;
|
|
68391
|
-
font-size: 0.875rem;
|
|
68392
|
-
opacity: 0.8;
|
|
68393
|
-
}
|
|
68394
|
-
|
|
68395
|
-
:where(.theme-scope)
|
|
68396
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68397
|
-
.er-whole-series-portal-auth-text--success {
|
|
68398
|
-
color: var(--er-success-text);
|
|
68399
|
-
}
|
|
68400
|
-
|
|
68401
|
-
:where(.theme-scope)
|
|
68402
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68403
|
-
.er-whole-series-portal-auth-text--error {
|
|
68404
|
-
color: var(--er-error-text);
|
|
68405
|
-
}
|
|
68406
|
-
|
|
68407
|
-
:where(.theme-scope)
|
|
68408
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68409
|
-
.er-whole-series-modal-btn {
|
|
68410
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
68411
|
-
border: 0;
|
|
68412
|
-
padding: 0.6rem 1rem;
|
|
68413
|
-
font-size: 0.875rem;
|
|
68414
|
-
font-weight: 600;
|
|
68415
|
-
cursor: pointer;
|
|
68416
|
-
transition: opacity 0.15s ease;
|
|
68417
|
-
background: rgb(var(--tb-primary));
|
|
68418
|
-
color: rgb(var(--tb-primaryText, 255 255 255));
|
|
68419
|
-
}
|
|
68420
|
-
|
|
68421
|
-
:where(.theme-scope)
|
|
68422
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68423
|
-
.er-whole-series-modal-btn:hover {
|
|
68424
|
-
opacity: 0.9;
|
|
68425
|
-
}
|
|
68426
|
-
|
|
68427
|
-
:where(.theme-scope)
|
|
68428
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68429
|
-
.er-whole-series-modal-btn:disabled {
|
|
68430
|
-
opacity: 0.5;
|
|
68431
|
-
cursor: not-allowed;
|
|
68432
|
-
}
|
|
68433
|
-
|
|
68434
|
-
:where(.theme-scope)
|
|
68435
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68436
|
-
.er-whole-series-modal-btn--secondary {
|
|
68437
|
-
background: transparent;
|
|
68438
|
-
color: var(--er-on-surface);
|
|
68439
|
-
border: 1px solid var(--er-border);
|
|
68440
|
-
}
|
|
68441
|
-
|
|
68442
|
-
:where(.theme-scope)
|
|
68443
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68444
|
-
.er-whole-series-modal-btn--secondary:hover {
|
|
68445
|
-
background: var(--er-on-surface-hover-bg);
|
|
68446
|
-
}
|
|
68447
|
-
|
|
68448
|
-
/* =============================================================================
|
|
68449
|
-
* Utility Classes
|
|
68450
|
-
* =============================================================================
|
|
68451
|
-
*/
|
|
68452
|
-
:where(.theme-scope)
|
|
68453
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68454
|
-
.er-whole-series-text--muted {
|
|
68455
|
-
opacity: 0.7;
|
|
68456
|
-
}
|
|
68457
|
-
|
|
68458
|
-
:where(.theme-scope)
|
|
68459
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68460
|
-
.er-whole-series-text--error {
|
|
68461
|
-
color: var(--er-error-text);
|
|
68462
|
-
}
|
|
68463
|
-
|
|
68464
|
-
:where(.theme-scope)
|
|
68465
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68466
|
-
.er-whole-series-text--success {
|
|
68467
|
-
color: var(--er-success-text);
|
|
68468
|
-
}
|
|
68469
|
-
|
|
68470
|
-
:where(.theme-scope)
|
|
68471
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68472
|
-
.er-whole-series-sr-only {
|
|
68473
|
-
position: absolute;
|
|
68474
|
-
width: 1px;
|
|
68475
|
-
height: 1px;
|
|
68476
|
-
padding: 0;
|
|
68477
|
-
margin: -1px;
|
|
68478
|
-
overflow: hidden;
|
|
68479
|
-
clip: rect(0, 0, 0, 0);
|
|
68480
|
-
white-space: nowrap;
|
|
68481
|
-
border-width: 0;
|
|
68482
|
-
}
|
|
68483
|
-
|
|
68484
|
-
/* Stack utility */
|
|
68485
|
-
:where(.theme-scope)
|
|
68486
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68487
|
-
.er-whole-series-stack {
|
|
68488
|
-
display: flex;
|
|
68489
|
-
flex-direction: column;
|
|
68490
|
-
}
|
|
68491
|
-
|
|
68492
|
-
:where(.theme-scope)
|
|
68493
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68494
|
-
.er-whole-series-stack--gap-sm {
|
|
68495
|
-
gap: 0.5rem;
|
|
68496
|
-
}
|
|
68497
|
-
|
|
68498
|
-
:where(.theme-scope)
|
|
68499
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68500
|
-
.er-whole-series-stack--gap-md {
|
|
68501
|
-
gap: 1rem;
|
|
68502
|
-
}
|
|
68503
|
-
|
|
68504
|
-
:where(.theme-scope)
|
|
68505
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68506
|
-
.er-whole-series-stack--gap-lg {
|
|
68507
|
-
gap: 1.5rem;
|
|
68508
|
-
}
|
|
68509
|
-
|
|
68510
|
-
/* =============================================================================
|
|
68511
|
-
* Block: Newsletter Signup
|
|
68512
|
-
* =============================================================================
|
|
68513
|
-
*/
|
|
68514
|
-
|
|
68515
|
-
/* Newsletter copy styling */
|
|
68516
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
68517
|
-
font-size: 1.5rem;
|
|
68518
|
-
font-weight: 600;
|
|
68519
|
-
}
|
|
68520
|
-
|
|
68521
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
68522
|
-
font-size: 1rem;
|
|
68523
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
68524
|
-
opacity: 0.85;
|
|
68525
|
-
}
|
|
68526
|
-
|
|
68527
|
-
/* Newsletter form container */
|
|
68528
|
-
:where(.theme-scope) .newsletter-form {
|
|
68529
|
-
width: 100%;
|
|
68530
|
-
max-width: 32rem;
|
|
68531
|
-
margin-left: auto;
|
|
68532
|
-
margin-right: auto;
|
|
68533
|
-
}
|
|
68534
|
-
|
|
68535
|
-
/* Newsletter form fields container */
|
|
68536
|
-
:where(.theme-scope) .newsletter-form-fields {
|
|
68537
|
-
display: flex;
|
|
68538
|
-
flex-direction: column;
|
|
68539
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
68540
|
-
}
|
|
68541
|
-
|
|
68542
|
-
/* Individual field styling */
|
|
68543
|
-
:where(.theme-scope) .newsletter-field {
|
|
68544
|
-
display: flex;
|
|
68545
|
-
flex-direction: column;
|
|
68546
|
-
gap: 0.25rem;
|
|
68547
|
-
}
|
|
68548
|
-
|
|
68549
|
-
/* Required indicator */
|
|
68550
|
-
:where(.theme-scope) .newsletter-required {
|
|
68551
|
-
color: rgb(var(--tb-primary));
|
|
68552
|
-
margin-left: 0.125rem;
|
|
68553
|
-
}
|
|
68554
|
-
|
|
68555
|
-
/* Submit button container */
|
|
68556
|
-
:where(.theme-scope) .newsletter-submit {
|
|
68557
|
-
margin-top: 0.5rem;
|
|
68558
|
-
}
|
|
68559
|
-
|
|
68560
|
-
/* ALTCHA widget container */
|
|
68561
|
-
:where(.theme-scope) .newsletter-altcha {
|
|
68562
|
-
margin-top: 0.75rem;
|
|
68563
|
-
display: flex;
|
|
68564
|
-
justify-content: center;
|
|
68565
|
-
}
|
|
68566
|
-
|
|
68567
|
-
/* Privacy note */
|
|
68568
|
-
:where(.theme-scope) .newsletter-privacy-note {
|
|
68569
|
-
margin-top: 0.75rem;
|
|
68570
|
-
font-size: 1rem;
|
|
68571
|
-
line-height: 1.6;
|
|
68572
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
68573
|
-
text-align: center;
|
|
68574
|
-
}
|
|
68575
|
-
|
|
68576
|
-
/* =============================================================================
|
|
68577
|
-
* Inline Variant - Horizontal layout
|
|
68578
|
-
* =============================================================================
|
|
68579
|
-
*/
|
|
68580
|
-
|
|
68581
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
68582
|
-
flex-direction: row;
|
|
68583
|
-
align-items: flex-end;
|
|
68584
|
-
flex-wrap: wrap;
|
|
68585
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
68586
|
-
}
|
|
68587
|
-
|
|
68588
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
68589
|
-
flex: 1 1 auto;
|
|
68590
|
-
min-width: 10rem;
|
|
68591
|
-
}
|
|
68592
|
-
|
|
68593
|
-
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
68594
|
-
margin-top: 0;
|
|
68595
|
-
flex-shrink: 0;
|
|
68596
|
-
}
|
|
68597
|
-
|
|
68598
|
-
/* Mobile fallback for inline variant */
|
|
68599
|
-
@container rb-site (max-width: 640px) {
|
|
68600
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
68601
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
68602
|
-
flex-direction: column;
|
|
68603
|
-
}
|
|
68604
|
-
|
|
68605
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
68606
|
-
min-width: 100%;
|
|
68607
|
-
}
|
|
68608
|
-
}
|
|
68609
|
-
}
|
|
68610
|
-
|
|
68611
|
-
/* =============================================================================
|
|
68612
|
-
* Editorial Split Variant
|
|
68613
|
-
* =============================================================================
|
|
68614
|
-
*/
|
|
68615
|
-
|
|
68616
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
68617
|
-
display: grid;
|
|
68618
|
-
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
68619
|
-
gap: clamp(2.5rem, 7vw, 7rem);
|
|
68620
|
-
align-items: center;
|
|
68621
|
-
text-align: left;
|
|
68622
|
-
}
|
|
68623
|
-
|
|
68624
|
-
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
68625
|
-
display: flex;
|
|
68626
|
-
flex-direction: column;
|
|
68627
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
68628
|
-
}
|
|
68629
|
-
|
|
68630
|
-
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
68631
|
-
min-width: 0;
|
|
68632
|
-
}
|
|
68633
|
-
|
|
68634
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
68635
|
-
max-width: none;
|
|
68636
|
-
margin-inline: 0;
|
|
68637
|
-
}
|
|
68638
|
-
|
|
68639
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
68640
|
-
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
68641
|
-
font-weight: 500;
|
|
68642
|
-
}
|
|
68643
|
-
|
|
68644
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
68645
|
-
text-align: left;
|
|
68646
|
-
}
|
|
68647
|
-
|
|
68648
|
-
@container rb-site (max-width: 767px) {
|
|
68649
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
68650
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
68651
|
-
grid-template-columns: minmax(0, 1fr);
|
|
68652
|
-
gap: 2rem;
|
|
68653
|
-
}
|
|
68654
|
-
}
|
|
68655
|
-
}
|
|
68656
|
-
|
|
68657
|
-
/* =============================================================================
|
|
68658
|
-
* Success State
|
|
68659
|
-
* =============================================================================
|
|
68660
|
-
*/
|
|
68661
|
-
|
|
68662
|
-
:where(.theme-scope) .newsletter-success {
|
|
68663
|
-
text-align: center;
|
|
68664
|
-
}
|
|
68665
|
-
|
|
68666
|
-
:where(.theme-scope) .newsletter-success .fb-success {
|
|
68667
|
-
padding: 1rem 1.5rem;
|
|
68668
|
-
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
68669
|
-
border-radius: var(--radius-md, 0.5rem);
|
|
68670
|
-
color: rgb(var(--tb-text));
|
|
68671
|
-
}
|
|
68672
|
-
|
|
68673
|
-
/* =============================================================================
|
|
68674
|
-
* Block: Contact + Newsletter
|
|
68675
|
-
* =============================================================================
|
|
68676
|
-
*/
|
|
68677
|
-
|
|
68678
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
68679
|
-
display: grid;
|
|
68680
|
-
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
68681
|
-
gap: clamp(2.5rem, 6vw, 4rem);
|
|
68682
|
-
align-items: start;
|
|
68683
|
-
}
|
|
68684
|
-
|
|
68685
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
68686
|
-
min-width: 0;
|
|
68687
|
-
}
|
|
68688
|
-
|
|
68689
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
68690
|
-
margin-bottom: 1.5rem;
|
|
68691
|
-
}
|
|
68692
|
-
|
|
68693
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
68694
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
68695
|
-
margin: 0 0 0.75rem;
|
|
68696
|
-
}
|
|
68697
|
-
|
|
68698
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
68699
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
68700
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
68701
|
-
}
|
|
68702
|
-
|
|
68703
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
68704
|
-
display: flex;
|
|
68705
|
-
flex-direction: column;
|
|
68706
|
-
align-items: flex-start;
|
|
68707
|
-
}
|
|
68708
|
-
|
|
68709
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
68710
|
-
max-width: none;
|
|
68711
|
-
margin-left: 0;
|
|
68712
|
-
margin-right: 0;
|
|
68713
|
-
}
|
|
68714
|
-
|
|
68715
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
68716
|
-
text-align: left;
|
|
68717
|
-
}
|
|
68718
|
-
|
|
68719
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
68720
|
-
display: flex;
|
|
68721
|
-
flex-direction: column;
|
|
68722
|
-
gap: 1rem;
|
|
68723
|
-
}
|
|
68724
|
-
|
|
68725
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
68726
|
-
display: grid;
|
|
68727
|
-
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
68728
|
-
gap: 1rem;
|
|
68729
|
-
}
|
|
68730
|
-
|
|
68731
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-field {
|
|
68732
|
-
display: flex;
|
|
68733
|
-
flex-direction: column;
|
|
68734
|
-
gap: 0.25rem;
|
|
68735
|
-
}
|
|
68736
|
-
|
|
68737
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-fieldset {
|
|
68738
|
-
display: flex;
|
|
68739
|
-
flex-direction: column;
|
|
68740
|
-
gap: 0.5rem;
|
|
68741
|
-
border: none;
|
|
68742
|
-
padding: 0;
|
|
68743
|
-
margin: 0;
|
|
68744
|
-
}
|
|
68745
|
-
|
|
68746
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
|
|
68747
|
-
display: flex;
|
|
68748
|
-
align-items: center;
|
|
68749
|
-
gap: 0.5rem;
|
|
68750
|
-
}
|
|
68751
|
-
|
|
68752
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
|
|
68753
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
|
|
68754
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
68755
|
-
border-radius: var(--rb-block-radius);
|
|
68756
|
-
padding: 1rem;
|
|
68757
|
-
font-size: 0.875rem;
|
|
68758
|
-
}
|
|
68759
|
-
|
|
68760
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success {
|
|
68761
|
-
background-color: var(--fb-success-bg);
|
|
68762
|
-
color: var(--fb-success-text);
|
|
68763
|
-
border: 1px solid var(--fb-success-border);
|
|
68764
|
-
}
|
|
68765
|
-
|
|
68766
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error {
|
|
68767
|
-
background-color: var(--fb-error-bg);
|
|
68768
|
-
color: var(--fb-error-text);
|
|
68769
|
-
border: 1px solid var(--fb-error-border);
|
|
68770
|
-
}
|
|
68771
|
-
|
|
68772
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
68773
|
-
background-color: var(--fb-empty-bg);
|
|
68774
|
-
color: var(--fb-empty-text);
|
|
68775
|
-
border: 1px dashed var(--fb-empty-border);
|
|
68776
|
-
text-align: center;
|
|
68777
|
-
}
|
|
68778
|
-
|
|
68779
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-actions {
|
|
68780
|
-
margin-top: 0.5rem;
|
|
68781
|
-
}
|
|
68782
|
-
|
|
68783
|
-
/* =============================================================================
|
|
68784
|
-
* Block: Team Members
|
|
68785
|
-
* =============================================================================
|
|
68786
|
-
*
|
|
68787
|
-
* Site/theme authors sometimes need different thumbnail shapes/sizes without
|
|
68788
|
-
* changing global fragment defaults. We expose these controls on the block and
|
|
68789
|
-
* style them via data attributes on the \`.rb-team-members\` wrapper.
|
|
68790
|
-
*/
|
|
68791
|
-
|
|
68792
|
-
/* Scope all block-static CSS to ThemeScope to avoid leaking into host apps/dashboard. */
|
|
68793
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) {
|
|
68794
|
-
text-align: left;
|
|
68795
|
-
}
|
|
68796
|
-
|
|
68797
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) :where(.rb-team-member) {
|
|
68798
|
-
align-items: flex-start;
|
|
68799
|
-
text-align: left;
|
|
68800
|
-
}
|
|
68801
|
-
|
|
68802
|
-
@container rb-site (min-width: 1024px) {
|
|
68803
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
68804
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-width="lg-3-4-left"]) {
|
|
68805
|
-
width: 75%;
|
|
68806
|
-
margin-left: 0;
|
|
68807
|
-
margin-right: auto;
|
|
68808
|
-
}
|
|
68809
|
-
}
|
|
68810
|
-
}
|
|
68811
|
-
|
|
68812
|
-
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-photo {
|
|
68813
|
-
display: block;
|
|
68814
|
-
width: 100%;
|
|
68815
|
-
height: auto;
|
|
68816
|
-
}
|
|
68817
|
-
|
|
68818
|
-
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-role {
|
|
68819
|
-
font-weight: 600;
|
|
68820
|
-
}
|
|
68821
|
-
|
|
68822
|
-
/* Thumbnail sizing: map \`data-image-col-size\` to a sensible max thumbnail width. */
|
|
68823
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members) {
|
|
68824
|
-
--rb-team-thumb-max: 11.25rem; /* ~180px default */
|
|
68825
|
-
--rb-team-image-basis: 33.333%;
|
|
68826
|
-
}
|
|
68827
|
-
|
|
68828
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/4"]) {
|
|
68829
|
-
--rb-team-thumb-max: 8.75rem; /* ~140px */
|
|
68830
|
-
--rb-team-image-basis: 25%;
|
|
68831
|
-
}
|
|
68832
|
-
|
|
68833
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/3"]) {
|
|
68834
|
-
--rb-team-thumb-max: 11.25rem; /* ~180px */
|
|
68835
|
-
--rb-team-image-basis: 33.333%;
|
|
68836
|
-
}
|
|
68837
|
-
|
|
68838
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="2/5"]) {
|
|
68839
|
-
--rb-team-thumb-max: 13.75rem; /* ~220px */
|
|
68840
|
-
--rb-team-image-basis: 40%;
|
|
66656
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="2/5"]) {
|
|
66657
|
+
--rb-team-thumb-max: 13.75rem; /* ~220px */
|
|
66658
|
+
--rb-team-image-basis: 40%;
|
|
68841
66659
|
}
|
|
68842
66660
|
|
|
68843
66661
|
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/2"]) {
|
|
@@ -73865,69 +71683,8 @@ const ACCOUNT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
73865
71683
|
}
|
|
73866
71684
|
});
|
|
73867
71685
|
//#endregion
|
|
73868
|
-
//#region ../api/src/
|
|
73869
|
-
const
|
|
73870
|
-
listCourses: {
|
|
73871
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
73872
|
-
method: "GET",
|
|
73873
|
-
auth: "user",
|
|
73874
|
-
responseKind: "json"
|
|
73875
|
-
},
|
|
73876
|
-
exportCoursesCsv: {
|
|
73877
|
-
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
73878
|
-
method: "GET",
|
|
73879
|
-
tags: [
|
|
73880
|
-
"site-{siteId}",
|
|
73881
|
-
"bookings",
|
|
73882
|
-
"courses-{siteId}"
|
|
73883
|
-
],
|
|
73884
|
-
errors: [],
|
|
73885
|
-
auth: "user",
|
|
73886
|
-
responseKind: "blob"
|
|
73887
|
-
},
|
|
73888
|
-
createCourse: {
|
|
73889
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
73890
|
-
method: "POST",
|
|
73891
|
-
auth: "user",
|
|
73892
|
-
responseKind: "json",
|
|
73893
|
-
errors: [
|
|
73894
|
-
"validation:invalid_input",
|
|
73895
|
-
"resource:not_found",
|
|
73896
|
-
"resource:already_exists",
|
|
73897
|
-
"resource:conflict",
|
|
73898
|
-
"server:internal_error"
|
|
73899
|
-
]
|
|
73900
|
-
},
|
|
73901
|
-
getCourse: {
|
|
73902
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
73903
|
-
method: "GET",
|
|
73904
|
-
auth: "user",
|
|
73905
|
-
responseKind: "json"
|
|
73906
|
-
},
|
|
73907
|
-
updateCourse: {
|
|
73908
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
73909
|
-
method: "PATCH",
|
|
73910
|
-
auth: "user",
|
|
73911
|
-
responseKind: "json",
|
|
73912
|
-
errors: [
|
|
73913
|
-
"validation:invalid_input",
|
|
73914
|
-
"resource:not_found",
|
|
73915
|
-
"resource:conflict",
|
|
73916
|
-
"server:internal_error"
|
|
73917
|
-
]
|
|
73918
|
-
},
|
|
73919
|
-
deleteCourse: {
|
|
73920
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
73921
|
-
method: "DELETE",
|
|
73922
|
-
auth: "user",
|
|
73923
|
-
responseKind: "json",
|
|
73924
|
-
errors: [
|
|
73925
|
-
"validation:invalid_input",
|
|
73926
|
-
"resource:not_found",
|
|
73927
|
-
"resource:conflict",
|
|
73928
|
-
"server:internal_error"
|
|
73929
|
-
]
|
|
73930
|
-
},
|
|
71686
|
+
//#region ../api/src/eventSeriesRegistrationEndpointDefinitions.ts
|
|
71687
|
+
const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
73931
71688
|
deleteEventOffering: {
|
|
73932
71689
|
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}",
|
|
73933
71690
|
method: "DELETE",
|
|
@@ -73940,20 +71697,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
73940
71697
|
"server:internal_error"
|
|
73941
71698
|
]
|
|
73942
71699
|
},
|
|
73943
|
-
|
|
73944
|
-
path: "/sites/{siteId}/bookings/
|
|
73945
|
-
method: "POST",
|
|
73946
|
-
auth: "user",
|
|
73947
|
-
responseKind: "json",
|
|
73948
|
-
errors: [
|
|
73949
|
-
"validation:invalid_input",
|
|
73950
|
-
"resource:not_found",
|
|
73951
|
-
"resource:already_exists",
|
|
73952
|
-
"server:internal_error"
|
|
73953
|
-
]
|
|
73954
|
-
},
|
|
73955
|
-
changeCourseContentOwnership: {
|
|
73956
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/content-ownership",
|
|
71700
|
+
changeEventSeriesContentOwnership: {
|
|
71701
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/content-ownership",
|
|
73957
71702
|
method: "POST",
|
|
73958
71703
|
auth: "user",
|
|
73959
71704
|
responseKind: "json",
|
|
@@ -73964,8 +71709,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
73964
71709
|
"server:internal_error"
|
|
73965
71710
|
]
|
|
73966
71711
|
},
|
|
73967
|
-
|
|
73968
|
-
path: "/sites/{siteId}/bookings/
|
|
71712
|
+
addEventSeriesRegistration: {
|
|
71713
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
73969
71714
|
method: "POST",
|
|
73970
71715
|
auth: "user",
|
|
73971
71716
|
responseKind: "json",
|
|
@@ -73976,33 +71721,21 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
73976
71721
|
"server:internal_error"
|
|
73977
71722
|
]
|
|
73978
71723
|
},
|
|
73979
|
-
|
|
73980
|
-
path: "/sites/{siteId}/bookings/
|
|
71724
|
+
listEventSeriesRegistrations: {
|
|
71725
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
73981
71726
|
method: "GET",
|
|
73982
71727
|
auth: "user",
|
|
73983
71728
|
responseKind: "json"
|
|
73984
71729
|
},
|
|
73985
|
-
|
|
73986
|
-
path: "/sites/{siteId}/bookings/
|
|
71730
|
+
exportEventSeriesRegistrationsCsv: {
|
|
71731
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/export.csv",
|
|
73987
71732
|
method: "GET",
|
|
73988
71733
|
auth: "user",
|
|
73989
71734
|
errors: [],
|
|
73990
71735
|
responseKind: "blob"
|
|
73991
71736
|
},
|
|
73992
|
-
|
|
73993
|
-
path: "/sites/{siteId}/bookings/
|
|
73994
|
-
method: "GET",
|
|
73995
|
-
tags: [
|
|
73996
|
-
"site-{siteId}",
|
|
73997
|
-
"bookings",
|
|
73998
|
-
"courses-{courseId}"
|
|
73999
|
-
],
|
|
74000
|
-
auth: "user",
|
|
74001
|
-
responseKind: "blob",
|
|
74002
|
-
errors: []
|
|
74003
|
-
},
|
|
74004
|
-
updateCourseEnrollment: {
|
|
74005
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
71737
|
+
updateEventSeriesRegistration: {
|
|
71738
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
|
|
74006
71739
|
method: "PATCH",
|
|
74007
71740
|
auth: "user",
|
|
74008
71741
|
responseKind: "json",
|
|
@@ -74390,71 +72123,35 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
74390
72123
|
errors: ["resource:not_found", "server:internal_error"],
|
|
74391
72124
|
auth: "public",
|
|
74392
72125
|
responseKind: "json"
|
|
74393
|
-
}
|
|
74394
|
-
|
|
74395
|
-
|
|
74396
|
-
|
|
74397
|
-
|
|
74398
|
-
|
|
74399
|
-
|
|
74400
|
-
"auth:forbidden",
|
|
74401
|
-
"validation:invalid_input",
|
|
74402
|
-
"resource:not_found",
|
|
74403
|
-
"resource:conflict",
|
|
74404
|
-
"resource:already_exists",
|
|
74405
|
-
"server:internal_error"
|
|
74406
|
-
],
|
|
74407
|
-
auth: "public",
|
|
74408
|
-
responseKind: "json"
|
|
74409
|
-
},
|
|
74410
|
-
checkWholeSeriesEligibility: {
|
|
74411
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/check-eligibility",
|
|
74412
|
-
method: "POST",
|
|
74413
|
-
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
|
|
74414
|
-
errors: [
|
|
74415
|
-
"auth:unauthenticated",
|
|
74416
|
-
"resource:not_found",
|
|
74417
|
-
"resource:conflict",
|
|
74418
|
-
"server:internal_error"
|
|
74419
|
-
],
|
|
74420
|
-
auth: "public",
|
|
74421
|
-
responseKind: "json"
|
|
74422
|
-
},
|
|
74423
|
-
createWholeSeriesCheckout: {
|
|
74424
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/checkout",
|
|
72126
|
+
}
|
|
72127
|
+
});
|
|
72128
|
+
//#endregion
|
|
72129
|
+
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
72130
|
+
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
72131
|
+
getPublicEventRegistrationOptions: {
|
|
72132
|
+
path: "/public/sites/{siteId}/events/registration-options",
|
|
74425
72133
|
method: "POST",
|
|
74426
|
-
tags: [TAG_TEMPLATES.
|
|
72134
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration-options"],
|
|
74427
72135
|
auth: "public",
|
|
74428
72136
|
responseKind: "json",
|
|
74429
72137
|
errors: [
|
|
74430
|
-
"auth:unauthenticated",
|
|
74431
72138
|
"validation:invalid_input",
|
|
74432
72139
|
"resource:not_found",
|
|
74433
72140
|
"resource:conflict",
|
|
74434
72141
|
"server:internal_error"
|
|
74435
72142
|
]
|
|
74436
72143
|
},
|
|
74437
|
-
|
|
74438
|
-
path: "/public/sites/{siteId}/
|
|
72144
|
+
resolveEventSubroute: {
|
|
72145
|
+
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
74439
72146
|
method: "GET",
|
|
74440
|
-
|
|
74441
|
-
|
|
72147
|
+
revalidate: 60,
|
|
72148
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
74442
72149
|
auth: "public",
|
|
74443
|
-
responseKind: "json"
|
|
72150
|
+
responseKind: "json",
|
|
72151
|
+
errors: []
|
|
74444
72152
|
}
|
|
74445
72153
|
});
|
|
74446
72154
|
//#endregion
|
|
74447
|
-
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
74448
|
-
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ resolveEventSubroute: {
|
|
74449
|
-
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
74450
|
-
method: "GET",
|
|
74451
|
-
revalidate: 60,
|
|
74452
|
-
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
74453
|
-
auth: "public",
|
|
74454
|
-
responseKind: "json",
|
|
74455
|
-
errors: []
|
|
74456
|
-
} });
|
|
74457
|
-
//#endregion
|
|
74458
72155
|
//#region ../api/src/siteApiKeyEndpointDefinitions.ts
|
|
74459
72156
|
const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
74460
72157
|
listSiteApiKeys: {
|
|
@@ -74822,7 +72519,7 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
74822
72519
|
}), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
|
|
74823
72520
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
74824
72521
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
74825
|
-
...
|
|
72522
|
+
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
74826
72523
|
}, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, { ...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicWholeSeriesOfferings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
|
|
74827
72524
|
z$1.object({ refreshToken: z$1.string().min(1).max(4096) }).strict();
|
|
74828
72525
|
z$1.object({
|
|
@@ -74944,7 +72641,7 @@ const internalLinkPayloadSchema = z$1.object({
|
|
|
74944
72641
|
kind: z$1.literal("internal"),
|
|
74945
72642
|
routeId: z$1.string().uuid(),
|
|
74946
72643
|
entityId: z$1.string().uuid(),
|
|
74947
|
-
entityType: z$1.enum(
|
|
72644
|
+
entityType: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
74948
72645
|
href: z$1.string().min(1),
|
|
74949
72646
|
title: z$1.string().min(1),
|
|
74950
72647
|
typeLabel: z$1.string().min(1),
|
|
@@ -75968,6 +73665,68 @@ function stableSerialize(value) {
|
|
|
75968
73665
|
return JSON.stringify(value);
|
|
75969
73666
|
}
|
|
75970
73667
|
//#endregion
|
|
73668
|
+
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
73669
|
+
const bookingDepositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
73670
|
+
const bookingInstalmentPlanSchema = z$1.discriminatedUnion("kind", [
|
|
73671
|
+
z$1.object({
|
|
73672
|
+
kind: z$1.literal("deposit_plus_one_remainder"),
|
|
73673
|
+
depositAmountCents: z$1.number().int().nonnegative(),
|
|
73674
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
73675
|
+
remainderDueCount: z$1.number().int().positive(),
|
|
73676
|
+
intervalUnit: z$1.enum([
|
|
73677
|
+
"day",
|
|
73678
|
+
"week",
|
|
73679
|
+
"month"
|
|
73680
|
+
])
|
|
73681
|
+
}),
|
|
73682
|
+
z$1.object({
|
|
73683
|
+
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
73684
|
+
depositAmountCents: z$1.number().int().nonnegative(),
|
|
73685
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
73686
|
+
instalmentCount: z$1.number().int().positive(),
|
|
73687
|
+
intervalCount: z$1.number().int().positive(),
|
|
73688
|
+
intervalUnit: z$1.enum([
|
|
73689
|
+
"day",
|
|
73690
|
+
"week",
|
|
73691
|
+
"month"
|
|
73692
|
+
])
|
|
73693
|
+
}),
|
|
73694
|
+
z$1.object({
|
|
73695
|
+
kind: z$1.literal("equal_scheduled_instalments"),
|
|
73696
|
+
instalmentCount: z$1.number().int().positive(),
|
|
73697
|
+
intervalCount: z$1.number().int().positive(),
|
|
73698
|
+
intervalUnit: z$1.enum([
|
|
73699
|
+
"day",
|
|
73700
|
+
"week",
|
|
73701
|
+
"month"
|
|
73702
|
+
])
|
|
73703
|
+
})
|
|
73704
|
+
]);
|
|
73705
|
+
const bookingFlexibleBalanceDueDateRuleSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
73706
|
+
kind: z$1.literal("relative_to_start_date"),
|
|
73707
|
+
daysBeforeStart: z$1.number().int().positive()
|
|
73708
|
+
}), z$1.object({
|
|
73709
|
+
kind: z$1.literal("fixed_calendar_date"),
|
|
73710
|
+
dueAt: z$1.string().datetime()
|
|
73711
|
+
})]);
|
|
73712
|
+
const bookingFlexibleBalanceConfigSchema = z$1.object({
|
|
73713
|
+
upfrontAmountCents: z$1.number().int().nonnegative(),
|
|
73714
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
73715
|
+
depositRefundability: bookingDepositRefundPolicySchema
|
|
73716
|
+
});
|
|
73717
|
+
z$1.discriminatedUnion("kind", [
|
|
73718
|
+
z$1.object({ kind: z$1.literal("upfront") }),
|
|
73719
|
+
z$1.object({ kind: z$1.literal("deferred_manual") }),
|
|
73720
|
+
z$1.object({
|
|
73721
|
+
kind: z$1.literal("instalment_plan"),
|
|
73722
|
+
plan: bookingInstalmentPlanSchema
|
|
73723
|
+
}),
|
|
73724
|
+
z$1.object({
|
|
73725
|
+
kind: z$1.literal("flexible_balance"),
|
|
73726
|
+
config: bookingFlexibleBalanceConfigSchema
|
|
73727
|
+
})
|
|
73728
|
+
]);
|
|
73729
|
+
//#endregion
|
|
75971
73730
|
//#region ../api/src/navigationMenuValidation.ts
|
|
75972
73731
|
function hasChildren(item) {
|
|
75973
73732
|
return Array.isArray(item.children) && item.children.length > 0;
|
|
@@ -77064,40 +74823,6 @@ const BUILTIN_CONTENT_TYPE_SCHEMAS = {
|
|
|
77064
74823
|
plural: "Events"
|
|
77065
74824
|
}
|
|
77066
74825
|
},
|
|
77067
|
-
course: {
|
|
77068
|
-
version: 1,
|
|
77069
|
-
fields: [
|
|
77070
|
-
{
|
|
77071
|
-
id: "summary",
|
|
77072
|
-
type: "textarea",
|
|
77073
|
-
label: "Summary",
|
|
77074
|
-
description: "Short teaser shown in listings.",
|
|
77075
|
-
rows: 3
|
|
77076
|
-
},
|
|
77077
|
-
{
|
|
77078
|
-
id: "image",
|
|
77079
|
-
type: "media",
|
|
77080
|
-
label: "Listing image",
|
|
77081
|
-
description: "Optional image used for course cards and previews."
|
|
77082
|
-
},
|
|
77083
|
-
{
|
|
77084
|
-
id: "body",
|
|
77085
|
-
type: "richText",
|
|
77086
|
-
label: "Details",
|
|
77087
|
-
description: "Full course details and curriculum."
|
|
77088
|
-
}
|
|
77089
|
-
],
|
|
77090
|
-
routing: {
|
|
77091
|
-
enabled: true,
|
|
77092
|
-
pattern: "/courses/{slug}",
|
|
77093
|
-
slugField: "slug",
|
|
77094
|
-
prefix: "/courses/"
|
|
77095
|
-
},
|
|
77096
|
-
labels: {
|
|
77097
|
-
singular: "Course",
|
|
77098
|
-
plural: "Courses"
|
|
77099
|
-
}
|
|
77100
|
-
},
|
|
77101
74826
|
"team-member": {
|
|
77102
74827
|
version: 1,
|
|
77103
74828
|
fields: [
|
|
@@ -77297,7 +75022,7 @@ const BUILTIN_CONTENT_TYPE_SCHEMAS = {
|
|
|
77297
75022
|
function deriveFieldIdSet(schema) {
|
|
77298
75023
|
return new Set(schema.fields.map((f) => f.id));
|
|
77299
75024
|
}
|
|
77300
|
-
deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.post), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.event), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS
|
|
75025
|
+
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"]);
|
|
77301
75026
|
//#endregion
|
|
77302
75027
|
//#region ../field-primitives/src/bindings/index.ts
|
|
77303
75028
|
const BINDING_TRANSFORMS$1 = {
|
|
@@ -77349,7 +75074,6 @@ const SYSTEM_ENTRY_SLOT_BLOCK_KIND = "system.entry-slot";
|
|
|
77349
75074
|
//#region ../content-model/src/templates/defaults.ts
|
|
77350
75075
|
const POST_EXCERPT_FALLBACK = fallbackBinding$1(fieldBinding$1("excerpt"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
77351
75076
|
const EVENT_SUBHEADLINE_FALLBACK = fallbackBinding$1(fieldBinding$1("summary"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
77352
|
-
const COURSE_SUMMARY_FALLBACK = fallbackBinding$1(fieldBinding$1("summary"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
77353
75077
|
const ENTRY_TITLE_INLINE_TEXT = transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.TEXT_INLINE_TEXT, { input: metaBinding$1("title") });
|
|
77354
75078
|
const POST_BODY_TEXT_BINDINGS = {
|
|
77355
75079
|
body: fieldBinding$1("body"),
|
|
@@ -77464,7 +75188,6 @@ const DEFAULT_TEMPLATE_DEFINITIONS = {
|
|
|
77464
75188
|
showVenue: true,
|
|
77465
75189
|
showCapacity: true,
|
|
77466
75190
|
successMessage: "Thank you for registering! Check your email for confirmation details.",
|
|
77467
|
-
waitlistMessage: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
77468
75191
|
buttonText: "Complete Registration",
|
|
77469
75192
|
buttonVariant: "primary"
|
|
77470
75193
|
},
|
|
@@ -77475,64 +75198,6 @@ const DEFAULT_TEMPLATE_DEFINITIONS = {
|
|
|
77475
75198
|
}
|
|
77476
75199
|
]
|
|
77477
75200
|
},
|
|
77478
|
-
course: {
|
|
77479
|
-
templateKey: "default",
|
|
77480
|
-
name: "Course detail",
|
|
77481
|
-
description: "Standard landing page for multi-session courses.",
|
|
77482
|
-
metadata: {},
|
|
77483
|
-
blocks: [
|
|
77484
|
-
{
|
|
77485
|
-
blockKind: "block.hero",
|
|
77486
|
-
scope: "entry",
|
|
77487
|
-
bindings: {
|
|
77488
|
-
eyebrow: literalBinding$1("Course"),
|
|
77489
|
-
headline: metaBinding$1("title"),
|
|
77490
|
-
headlineInline: ENTRY_TITLE_INLINE_TEXT,
|
|
77491
|
-
subheadline: COURSE_SUMMARY_FALLBACK
|
|
77492
|
-
}
|
|
77493
|
-
},
|
|
77494
|
-
{
|
|
77495
|
-
blockKind: "block.course-details",
|
|
77496
|
-
scope: "entry",
|
|
77497
|
-
content: {
|
|
77498
|
-
heading: "Course details",
|
|
77499
|
-
showTitle: false,
|
|
77500
|
-
showDescription: false,
|
|
77501
|
-
showSessions: true,
|
|
77502
|
-
sessionsLimit: "10",
|
|
77503
|
-
showVenue: true,
|
|
77504
|
-
showPrice: true,
|
|
77505
|
-
showCapacity: true,
|
|
77506
|
-
showEnrollmentStatus: true,
|
|
77507
|
-
showMembershipNote: true
|
|
77508
|
-
}
|
|
77509
|
-
},
|
|
77510
|
-
{
|
|
77511
|
-
blockKind: SYSTEM_ENTRY_SLOT_BLOCK_KIND,
|
|
77512
|
-
scope: "template",
|
|
77513
|
-
content: {
|
|
77514
|
-
slotKey: "main",
|
|
77515
|
-
label: "Page content"
|
|
77516
|
-
}
|
|
77517
|
-
},
|
|
77518
|
-
{
|
|
77519
|
-
blockKind: "block.course-registration",
|
|
77520
|
-
scope: "entry",
|
|
77521
|
-
content: {
|
|
77522
|
-
heading: "Enroll in this course",
|
|
77523
|
-
showSessions: true,
|
|
77524
|
-
showPrice: true,
|
|
77525
|
-
showCapacity: true,
|
|
77526
|
-
showVenue: true,
|
|
77527
|
-
successMessage: "You're enrolled! Check your email for confirmation and session details.",
|
|
77528
|
-
waitlistMessage: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
77529
|
-
membershipMessage: "Enrolled using your membership! Check your email for session details.",
|
|
77530
|
-
buttonText: "Complete Enrollment",
|
|
77531
|
-
buttonVariant: "primary"
|
|
77532
|
-
}
|
|
77533
|
-
}
|
|
77534
|
-
]
|
|
77535
|
-
},
|
|
77536
75201
|
"team-member": {
|
|
77537
75202
|
templateKey: "default",
|
|
77538
75203
|
name: "Team member profile",
|