@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({
|
|
@@ -39059,6 +38727,7 @@ function normalizeGroupPresentation(value) {
|
|
|
39059
38727
|
function resolveAutoCtaPath(source, routes) {
|
|
39060
38728
|
const routeByNormalizedPath = /* @__PURE__ */ new Map();
|
|
39061
38729
|
for (const route of routes ?? []) {
|
|
38730
|
+
if (route.kind === "pageSurface") continue;
|
|
39062
38731
|
const normalized = normalizeRoutePath(route.path);
|
|
39063
38732
|
if (normalized && !routeByNormalizedPath.has(normalized)) routeByNormalizedPath.set(normalized, route.path);
|
|
39064
38733
|
}
|
|
@@ -39109,7 +38778,7 @@ const publicRouteCandidatesSchema = z$1.object({ routes: z$1.array(z$1.object({
|
|
|
39109
38778
|
entityId: z$1.string(),
|
|
39110
38779
|
path: z$1.string(),
|
|
39111
38780
|
title: z$1.string(),
|
|
39112
|
-
kind: z$1.enum(
|
|
38781
|
+
kind: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
39113
38782
|
contentTypeKey: z$1.string().nullable().optional()
|
|
39114
38783
|
})) });
|
|
39115
38784
|
const groupOverrideFields = [
|
|
@@ -39386,7 +39055,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
39386
39055
|
fallback: "published"
|
|
39387
39056
|
} },
|
|
39388
39057
|
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
39389
|
-
|
|
39058
|
+
wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
|
|
39390
39059
|
...offeringsPreviewEventDataBindings
|
|
39391
39060
|
})
|
|
39392
39061
|
], { gap: "lg" }),
|
|
@@ -39403,7 +39072,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
39403
39072
|
dataSchemas: {
|
|
39404
39073
|
...offeringsPreviewEventDataSchemas,
|
|
39405
39074
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
39406
|
-
|
|
39075
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
|
|
39407
39076
|
},
|
|
39408
39077
|
dataLoaders: {
|
|
39409
39078
|
...offeringsPreviewEventDataLoaders,
|
|
@@ -39412,7 +39081,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
39412
39081
|
params: {},
|
|
39413
39082
|
mode: "server"
|
|
39414
39083
|
},
|
|
39415
|
-
|
|
39084
|
+
wholeSeriesOfferings: {
|
|
39416
39085
|
endpoint: "listPublicWholeSeriesOfferings",
|
|
39417
39086
|
params: {
|
|
39418
39087
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
@@ -44514,22 +44183,6 @@ const systemBlockDefinitions = [
|
|
|
44514
44183
|
weight: "standard"
|
|
44515
44184
|
})]
|
|
44516
44185
|
})),
|
|
44517
|
-
withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
44518
|
-
flow: conversionFlow,
|
|
44519
|
-
layoutProfiles: [layoutProfile({
|
|
44520
|
-
variantKey: "default",
|
|
44521
|
-
family: "form",
|
|
44522
|
-
weight: "standard"
|
|
44523
|
-
})]
|
|
44524
|
-
})),
|
|
44525
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
44526
|
-
flow: offeringsFlow,
|
|
44527
|
-
layoutProfiles: [layoutProfile({
|
|
44528
|
-
variantKey: "default",
|
|
44529
|
-
family: "stack",
|
|
44530
|
-
weight: "standard"
|
|
44531
|
-
})]
|
|
44532
|
-
})),
|
|
44533
44186
|
withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
|
|
44534
44187
|
flow: offeringsFlow,
|
|
44535
44188
|
layoutProfiles: [layoutProfile({
|
|
@@ -45594,7 +45247,7 @@ function normalizeRel(target, rel) {
|
|
|
45594
45247
|
tokens.add("noreferrer");
|
|
45595
45248
|
return Array.from(tokens).join(" ");
|
|
45596
45249
|
}
|
|
45597
|
-
function renderMarks(text, marks, key) {
|
|
45250
|
+
function renderMarks(text, marks, key, linkTarget) {
|
|
45598
45251
|
if (!marks || marks.length === 0) return text;
|
|
45599
45252
|
return marks.reduce((acc, mark) => {
|
|
45600
45253
|
switch (mark.type) {
|
|
@@ -45607,7 +45260,8 @@ function renderMarks(text, marks, key) {
|
|
|
45607
45260
|
const attrs = mark.attrs ?? {};
|
|
45608
45261
|
const href = sanitizeHref(attrs.href);
|
|
45609
45262
|
if (!href) return acc;
|
|
45610
|
-
const
|
|
45263
|
+
const storedTarget = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
|
|
45264
|
+
const target = linkTarget === "new-tab" ? "_blank" : storedTarget;
|
|
45611
45265
|
return /* @__PURE__ */ jsx("a", {
|
|
45612
45266
|
href,
|
|
45613
45267
|
target,
|
|
@@ -45619,14 +45273,14 @@ function renderMarks(text, marks, key) {
|
|
|
45619
45273
|
}
|
|
45620
45274
|
}, text);
|
|
45621
45275
|
}
|
|
45622
|
-
function renderDoc(node, key, imageResolveContext) {
|
|
45276
|
+
function renderDoc(node, key, imageResolveContext, linkTarget) {
|
|
45623
45277
|
if (!node || !node.type) return null;
|
|
45624
|
-
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext));
|
|
45278
|
+
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext, linkTarget));
|
|
45625
45279
|
switch (node.type) {
|
|
45626
45280
|
case "doc": return /* @__PURE__ */ jsx(Fragment, { children });
|
|
45627
45281
|
case "paragraph":
|
|
45628
45282
|
if (!children && !node.text) return /* @__PURE__ */ jsx("p", {}, key);
|
|
45629
|
-
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
|
|
45283
|
+
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key, linkTarget) }, key);
|
|
45630
45284
|
case "heading": {
|
|
45631
45285
|
const headingTag = `h${Math.min(Math.max(node.attrs?.level ?? 2, 1), 6)}`;
|
|
45632
45286
|
return React.createElement(headingTag, { key }, children);
|
|
@@ -45668,14 +45322,14 @@ function renderDoc(node, key, imageResolveContext) {
|
|
|
45668
45322
|
decoding: "async"
|
|
45669
45323
|
}, key);
|
|
45670
45324
|
}
|
|
45671
|
-
case "text": return renderMarks(node.text ?? "", node.marks, key);
|
|
45325
|
+
case "text": return renderMarks(node.text ?? "", node.marks, key, linkTarget);
|
|
45672
45326
|
default: return null;
|
|
45673
45327
|
}
|
|
45674
45328
|
}
|
|
45675
45329
|
const DEFAULT_RICH_TEXT_CLASS = "rb-prose rb-max-w-none";
|
|
45676
|
-
function RichText$2({ as: Comp = "div", className, doc, path }) {
|
|
45330
|
+
function RichText$2({ as: Comp = "div", className, doc, path, linkTarget = "stored" }) {
|
|
45677
45331
|
const imageResolveContext = getCurrentResolveImageUrlContext() ?? null;
|
|
45678
|
-
const content = doc ? renderDoc(doc, "doc", imageResolveContext) : null;
|
|
45332
|
+
const content = doc ? renderDoc(doc, "doc", imageResolveContext, linkTarget) : null;
|
|
45679
45333
|
const dataAttributes = path ? { "data-builder-richtext": path } : void 0;
|
|
45680
45334
|
return /* @__PURE__ */ jsx(Comp, {
|
|
45681
45335
|
className: className?.trim() || DEFAULT_RICH_TEXT_CLASS,
|
|
@@ -47031,7 +46685,6 @@ function readBookingFieldType(value) {
|
|
|
47031
46685
|
case "select":
|
|
47032
46686
|
case "radio":
|
|
47033
46687
|
case "checkbox":
|
|
47034
|
-
case "booking_requirement_consent":
|
|
47035
46688
|
case "tel":
|
|
47036
46689
|
case "url":
|
|
47037
46690
|
case "number":
|
|
@@ -47066,7 +46719,7 @@ function normalizeBookingSettings(value) {
|
|
|
47066
46719
|
};
|
|
47067
46720
|
}
|
|
47068
46721
|
function isBookingFormService(value) {
|
|
47069
|
-
return isRecord$13(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
46722
|
+
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);
|
|
47070
46723
|
}
|
|
47071
46724
|
function readNonEmptyString(value) {
|
|
47072
46725
|
if (typeof value !== "string") return null;
|
|
@@ -47091,6 +46744,15 @@ const bookingFieldOptionSchema = z$1.object({
|
|
|
47091
46744
|
value: z$1.string(),
|
|
47092
46745
|
label: z$1.string()
|
|
47093
46746
|
});
|
|
46747
|
+
const standardBookingFieldRules = {
|
|
46748
|
+
options: z$1.array(bookingFieldOptionSchema).optional(),
|
|
46749
|
+
multiple: z$1.boolean().optional(),
|
|
46750
|
+
minLength: z$1.number().optional(),
|
|
46751
|
+
maxLength: z$1.number().optional(),
|
|
46752
|
+
pattern: z$1.string().optional(),
|
|
46753
|
+
min: z$1.number().optional(),
|
|
46754
|
+
max: z$1.number().optional()
|
|
46755
|
+
};
|
|
47094
46756
|
const bookingFieldSchema = z$1.object({
|
|
47095
46757
|
id: z$1.string(),
|
|
47096
46758
|
label: z$1.string(),
|
|
@@ -47101,7 +46763,6 @@ const bookingFieldSchema = z$1.object({
|
|
|
47101
46763
|
"select",
|
|
47102
46764
|
"radio",
|
|
47103
46765
|
"checkbox",
|
|
47104
|
-
"booking_requirement_consent",
|
|
47105
46766
|
"tel",
|
|
47106
46767
|
"url",
|
|
47107
46768
|
"number",
|
|
@@ -47111,13 +46772,7 @@ const bookingFieldSchema = z$1.object({
|
|
|
47111
46772
|
required: z$1.boolean().optional(),
|
|
47112
46773
|
placeholder: z$1.string().optional(),
|
|
47113
46774
|
helpText: z$1.string().optional(),
|
|
47114
|
-
|
|
47115
|
-
multiple: z$1.boolean().optional(),
|
|
47116
|
-
minLength: z$1.number().optional(),
|
|
47117
|
-
maxLength: z$1.number().optional(),
|
|
47118
|
-
pattern: z$1.string().optional(),
|
|
47119
|
-
min: z$1.number().optional(),
|
|
47120
|
-
max: z$1.number().optional()
|
|
46775
|
+
...standardBookingFieldRules
|
|
47121
46776
|
});
|
|
47122
46777
|
const bookingSettingsSchema = z$1.object({
|
|
47123
46778
|
type: z$1.literal("booking"),
|
|
@@ -47160,7 +46815,8 @@ const bookingServiceSchema = z$1.object({
|
|
|
47160
46815
|
priceAmount: z$1.number().nullable().optional(),
|
|
47161
46816
|
priceCurrency: z$1.string().nullable().optional(),
|
|
47162
46817
|
paymentTerms: blockBookingPaymentTermsSchema.optional(),
|
|
47163
|
-
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
|
|
46818
|
+
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional(),
|
|
46819
|
+
consent: blockBookingConsentSchema.optional()
|
|
47164
46820
|
});
|
|
47165
46821
|
const bookingServicesSourceSchema = z$1.union([
|
|
47166
46822
|
z$1.array(bookingServiceSchema),
|
|
@@ -47426,7 +47082,7 @@ function emptySelection(timeZone) {
|
|
|
47426
47082
|
timeZone
|
|
47427
47083
|
};
|
|
47428
47084
|
}
|
|
47429
|
-
function parseLimit
|
|
47085
|
+
function parseLimit(value, fallback) {
|
|
47430
47086
|
if (value === "all") return Number.MAX_SAFE_INTEGER;
|
|
47431
47087
|
const n = typeof value === "string" ? parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
47432
47088
|
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
@@ -47509,7 +47165,7 @@ function selectEventDetails(args) {
|
|
|
47509
47165
|
subject: args.subject
|
|
47510
47166
|
}));
|
|
47511
47167
|
const occurrenceContext = args.occurrenceContext ?? null;
|
|
47512
|
-
const otherLimit = parseLimit
|
|
47168
|
+
const otherLimit = parseLimit(args.otherDatesLimit, 5);
|
|
47513
47169
|
const candidate = selectEventCandidate(all, occurrenceContext, args.nowIso);
|
|
47514
47170
|
const timeZone = toBookingTimeZone(candidate?.event.timeZone ?? all[0]?.timeZone ?? null);
|
|
47515
47171
|
if (!candidate) return emptySelection(timeZone);
|
|
@@ -47585,8 +47241,8 @@ function resolveEventDetailsPresentation(input) {
|
|
|
47585
47241
|
};
|
|
47586
47242
|
}
|
|
47587
47243
|
//#endregion
|
|
47588
|
-
//#region ../blocks/src/system/runtime/nodes/event-details/
|
|
47589
|
-
function
|
|
47244
|
+
//#region ../blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.tsx
|
|
47245
|
+
function WholeSeriesPricingDisplay({ pricing, acceptedItems }) {
|
|
47590
47246
|
return /* @__PURE__ */ jsxs("div", {
|
|
47591
47247
|
className: "rb-mt-6",
|
|
47592
47248
|
children: [
|
|
@@ -47598,7 +47254,8 @@ function CoursePricingDisplay({ pricing, acceptedItems }) {
|
|
|
47598
47254
|
className: "rb-flex rb-flex-col rb-gap-2",
|
|
47599
47255
|
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
47600
47256
|
option.name,
|
|
47601
|
-
":
|
|
47257
|
+
":",
|
|
47258
|
+
" ",
|
|
47602
47259
|
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
47603
47260
|
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
47604
47261
|
className: "rb-caption status-muted",
|
|
@@ -47619,7 +47276,7 @@ function formatAutoApplyDiscountLine(preview, currency) {
|
|
|
47619
47276
|
const label = preview.publicLabel.trim() || "Discount";
|
|
47620
47277
|
return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} — ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} — ${rate} applied automatically`;
|
|
47621
47278
|
}
|
|
47622
|
-
function TeamMemberName
|
|
47279
|
+
function TeamMemberName({ name, profilePath }) {
|
|
47623
47280
|
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
47624
47281
|
href: profilePath,
|
|
47625
47282
|
className: "rb-hover-opacity-80",
|
|
@@ -47656,7 +47313,7 @@ function EventPricingDetails({ isDropIn, coursePricing, acceptedItems, eventCost
|
|
|
47656
47313
|
children: "No registration required - just show up"
|
|
47657
47314
|
})]
|
|
47658
47315
|
});
|
|
47659
|
-
if (coursePricing) return /* @__PURE__ */ jsx(
|
|
47316
|
+
if (coursePricing) return /* @__PURE__ */ jsx(WholeSeriesPricingDisplay, {
|
|
47660
47317
|
pricing: coursePricing,
|
|
47661
47318
|
acceptedItems: [...acceptedItems]
|
|
47662
47319
|
});
|
|
@@ -47731,7 +47388,7 @@ function EventFacts({ selection, selected, venue, teamMembers, pricing, showCapa
|
|
|
47731
47388
|
children: "With"
|
|
47732
47389
|
}), /* @__PURE__ */ jsx("div", {
|
|
47733
47390
|
className: "rb-flex rb-flex-col rb-gap-3",
|
|
47734
|
-
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName
|
|
47391
|
+
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
47735
47392
|
name: member.name,
|
|
47736
47393
|
profilePath: member.profilePath
|
|
47737
47394
|
}) }), member.summary ? /* @__PURE__ */ jsx("p", {
|
|
@@ -48010,352 +47667,6 @@ function LocationMapSSR(props) {
|
|
|
48010
47667
|
});
|
|
48011
47668
|
}
|
|
48012
47669
|
//#endregion
|
|
48013
|
-
//#region ../blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.ts
|
|
48014
|
-
/**
|
|
48015
|
-
* Resolves native run-page ownership without falling back to entry or slug
|
|
48016
|
-
* coincidence when a page-surface subject is present but invalid.
|
|
48017
|
-
*/
|
|
48018
|
-
function resolveWholeSeriesPageSurfaceScope(runs, subjectValue) {
|
|
48019
|
-
if (subjectValue === null || subjectValue === void 0) return { kind: "absent" };
|
|
48020
|
-
const parsed = parseEventPageSurfaceSubject(subjectValue);
|
|
48021
|
-
if (!parsed.ok) return {
|
|
48022
|
-
kind: "unsupported",
|
|
48023
|
-
reason: parsed.error.kind
|
|
48024
|
-
};
|
|
48025
|
-
const seriesIds = eventSeriesIdsForSubject(parsed.value);
|
|
48026
|
-
const allowedSeriesIds = new Set(seriesIds);
|
|
48027
|
-
return {
|
|
48028
|
-
kind: "scoped",
|
|
48029
|
-
subject: parsed.value,
|
|
48030
|
-
runs: runs.filter((run) => allowedSeriesIds.has(run.eventSeriesId))
|
|
48031
|
-
};
|
|
48032
|
-
}
|
|
48033
|
-
function eventSeriesIdsForSubject(subject) {
|
|
48034
|
-
switch (subject.kind) {
|
|
48035
|
-
case "eventSeries": return [subject.eventSeriesId];
|
|
48036
|
-
case "eventOffering": return subject.availableEventSeriesIds;
|
|
48037
|
-
default: return assertNever$23(subject);
|
|
48038
|
-
}
|
|
48039
|
-
}
|
|
48040
|
-
//#endregion
|
|
48041
|
-
//#region ../blocks/src/system/runtime/nodes/course-page-surface-scope.ts
|
|
48042
|
-
/** Temporary Course-block adapter over canonical Event run scoping. */
|
|
48043
|
-
function resolveCoursePageSurfaceScope(courses, subjectValue) {
|
|
48044
|
-
const scope = resolveWholeSeriesPageSurfaceScope(courses, subjectValue);
|
|
48045
|
-
return scope.kind === "scoped" ? {
|
|
48046
|
-
kind: "scoped",
|
|
48047
|
-
subject: scope.subject,
|
|
48048
|
-
courses: scope.runs
|
|
48049
|
-
} : scope;
|
|
48050
|
-
}
|
|
48051
|
-
//#endregion
|
|
48052
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/logic.ts
|
|
48053
|
-
function selectCourseDetails(args) {
|
|
48054
|
-
const pageSurfaceScope = resolveCoursePageSurfaceScope((args.courses ?? []).filter(Boolean), args.subject);
|
|
48055
|
-
if (pageSurfaceScope.kind === "unsupported") return {
|
|
48056
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
48057
|
-
selected: null,
|
|
48058
|
-
scoped: []
|
|
48059
|
-
};
|
|
48060
|
-
if (pageSurfaceScope.kind === "scoped") {
|
|
48061
|
-
const scoped = [...pageSurfaceScope.courses];
|
|
48062
|
-
return {
|
|
48063
|
-
mode: "pageSurfaceSubject",
|
|
48064
|
-
selected: scoped.length === 1 ? scoped[0] ?? null : null,
|
|
48065
|
-
scoped
|
|
48066
|
-
};
|
|
48067
|
-
}
|
|
48068
|
-
return {
|
|
48069
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
48070
|
-
selected: null,
|
|
48071
|
-
scoped: []
|
|
48072
|
-
};
|
|
48073
|
-
}
|
|
48074
|
-
//#endregion
|
|
48075
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/runs.ts
|
|
48076
|
-
function toValidDate(value) {
|
|
48077
|
-
if (!value) return null;
|
|
48078
|
-
const date = new Date(value);
|
|
48079
|
-
return Number.isNaN(date.getTime()) ? null : date;
|
|
48080
|
-
}
|
|
48081
|
-
function getCourseDateRange(course) {
|
|
48082
|
-
const datedSessions = (course.sessions ?? []).map((session) => ({
|
|
48083
|
-
session,
|
|
48084
|
-
start: toValidDate(session.startsAt),
|
|
48085
|
-
end: toValidDate(session.endsAt)
|
|
48086
|
-
})).filter((value) => value.start !== null || value.end !== null);
|
|
48087
|
-
if (datedSessions.length === 0) return {
|
|
48088
|
-
start: null,
|
|
48089
|
-
end: null,
|
|
48090
|
-
startIso: null,
|
|
48091
|
-
endIso: null,
|
|
48092
|
-
timeZone: null
|
|
48093
|
-
};
|
|
48094
|
-
const startSession = datedSessions.filter((value) => value.start !== null).reduce((earliest, current) => earliest === null || current.start.getTime() < earliest.start.getTime() ? current : earliest, null);
|
|
48095
|
-
const endSession = datedSessions.filter((value) => value.end !== null).reduce((latest, current) => latest === null || current.end.getTime() > latest.end.getTime() ? current : latest, null);
|
|
48096
|
-
return {
|
|
48097
|
-
start: startSession?.start ?? null,
|
|
48098
|
-
end: endSession?.end ?? null,
|
|
48099
|
-
startIso: startSession?.session.startsAt ?? null,
|
|
48100
|
-
endIso: endSession?.session.endsAt ?? null,
|
|
48101
|
-
timeZone: startSession?.session.timeZone ?? endSession?.session.timeZone ?? null
|
|
48102
|
-
};
|
|
48103
|
-
}
|
|
48104
|
-
function formatCourseDateRange(range) {
|
|
48105
|
-
const { startIso, endIso, timeZone } = range;
|
|
48106
|
-
const dateFormat = {
|
|
48107
|
-
month: "numeric",
|
|
48108
|
-
day: "numeric",
|
|
48109
|
-
year: "numeric"
|
|
48110
|
-
};
|
|
48111
|
-
const effectiveTimeZone = toBookingTimeZone(timeZone);
|
|
48112
|
-
const formatSingleDate = (iso) => formatBookingDate(toScheduledBookingDateTime({
|
|
48113
|
-
startsAt: iso,
|
|
48114
|
-
timeZone: effectiveTimeZone
|
|
48115
|
-
}), dateFormat);
|
|
48116
|
-
const formatRangeDateOnly = (startsAt, endsAt) => {
|
|
48117
|
-
const startText = formatSingleDate(startsAt);
|
|
48118
|
-
const endText = formatSingleDate(endsAt);
|
|
48119
|
-
return startText === endText ? startText : `${startText} – ${endText}`;
|
|
48120
|
-
};
|
|
48121
|
-
if (!startIso && !endIso) return "Dates TBD";
|
|
48122
|
-
if (startIso && !endIso) return formatSingleDate(startIso);
|
|
48123
|
-
if (!startIso && endIso) return formatSingleDate(endIso);
|
|
48124
|
-
if (!startIso || !endIso) return "Dates TBD";
|
|
48125
|
-
return formatRangeDateOnly(startIso, endIso);
|
|
48126
|
-
}
|
|
48127
|
-
//#endregion
|
|
48128
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/view.tsx
|
|
48129
|
-
function TeamMemberName({ name, profilePath }) {
|
|
48130
|
-
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
48131
|
-
href: profilePath,
|
|
48132
|
-
className: "rb-hover-opacity-80",
|
|
48133
|
-
children: /* @__PURE__ */ jsx("strong", { children: name })
|
|
48134
|
-
}) : /* @__PURE__ */ jsx("strong", { children: name });
|
|
48135
|
-
}
|
|
48136
|
-
function parseLimit(value, fallback) {
|
|
48137
|
-
if (value === "all") return "all";
|
|
48138
|
-
const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
48139
|
-
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
48140
|
-
}
|
|
48141
|
-
function CourseDetailsView(props) {
|
|
48142
|
-
const { course, showTitle = false, showDescription = false, showSessions = true, sessionsLimit, showVenue = true, showPrice = true, showCapacity = true, showEnrollmentStatus = true, showMembershipNote = true, emptyMessage = "Course details unavailable." } = props;
|
|
48143
|
-
if (!course) return /* @__PURE__ */ jsx("p", {
|
|
48144
|
-
className: "rb-caption status-muted",
|
|
48145
|
-
children: emptyMessage
|
|
48146
|
-
});
|
|
48147
|
-
const pricing = resolveWholeSeriesPricingState(course);
|
|
48148
|
-
const sessionLimit = parseLimit(sessionsLimit, 10);
|
|
48149
|
-
const sortedSessions = [...course.sessions ?? []].sort((a, b) => Date.parse(a.startsAt) - Date.parse(b.startsAt));
|
|
48150
|
-
const visibleSessions = sessionLimit === "all" ? sortedSessions : sortedSessions.slice(0, sessionLimit);
|
|
48151
|
-
const hasMoreSessions = sessionLimit !== "all" && sortedSessions.length > sessionLimit;
|
|
48152
|
-
const descriptionDoc = showDescription ? coerceRichTextDoc(course.description, "block-runtime:course-details:description") : null;
|
|
48153
|
-
const teamMembers = course.teamMembers ?? [];
|
|
48154
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
48155
|
-
className: "rb-flex rb-flex-col rb-gap-6",
|
|
48156
|
-
children: [
|
|
48157
|
-
showTitle && /* @__PURE__ */ jsx("h3", { children: course.title }),
|
|
48158
|
-
/* @__PURE__ */ jsxs("div", {
|
|
48159
|
-
className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2",
|
|
48160
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
48161
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
48162
|
-
children: [
|
|
48163
|
-
showPrice && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
48164
|
-
className: "rb-label rb-mb-2",
|
|
48165
|
-
children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price"
|
|
48166
|
-
}), pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx("div", {
|
|
48167
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
48168
|
-
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
48169
|
-
option.name,
|
|
48170
|
-
": ",
|
|
48171
|
-
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
48172
|
-
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
48173
|
-
className: "rb-caption status-muted",
|
|
48174
|
-
children: option.description
|
|
48175
|
-
}) : null] }, option.id))
|
|
48176
|
-
}) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: formatWholeSeriesPriceDisplay(pricing.display) }) })] }),
|
|
48177
|
-
showCapacity && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
48178
|
-
className: "rb-label rb-mb-2",
|
|
48179
|
-
children: "Spots"
|
|
48180
|
-
}), /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })] }),
|
|
48181
|
-
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
48182
|
-
className: "rb-label rb-mb-2",
|
|
48183
|
-
children: "Membership"
|
|
48184
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
48185
|
-
className: "rb-caption status-muted",
|
|
48186
|
-
children: "Eligible memberships can be used for free enrollment"
|
|
48187
|
-
})] }),
|
|
48188
|
-
teamMembers.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
48189
|
-
className: "rb-label rb-mb-2",
|
|
48190
|
-
children: "With"
|
|
48191
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
48192
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
48193
|
-
children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
48194
|
-
name: teamMember.name,
|
|
48195
|
-
profilePath: teamMember.profilePath
|
|
48196
|
-
}) }), teamMember.summary && /* @__PURE__ */ jsx("p", {
|
|
48197
|
-
className: "rb-caption status-muted",
|
|
48198
|
-
children: teamMember.summary
|
|
48199
|
-
})] }, teamMember.id))
|
|
48200
|
-
})] })
|
|
48201
|
-
]
|
|
48202
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
48203
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
48204
|
-
children: [showVenue && course.venue && /* @__PURE__ */ jsxs("div", { children: [
|
|
48205
|
-
/* @__PURE__ */ jsx("div", {
|
|
48206
|
-
className: "rb-label rb-mb-2",
|
|
48207
|
-
children: "Venue"
|
|
48208
|
-
}),
|
|
48209
|
-
/* @__PURE__ */ jsx("h3", { children: course.venue.name }),
|
|
48210
|
-
course.venue.address && /* @__PURE__ */ jsx("p", {
|
|
48211
|
-
className: "rb-caption status-muted",
|
|
48212
|
-
children: course.venue.address
|
|
48213
|
-
})
|
|
48214
|
-
] }), showEnrollmentStatus && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
48215
|
-
className: "rb-label rb-mb-2",
|
|
48216
|
-
children: "Enrollment"
|
|
48217
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
48218
|
-
className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed",
|
|
48219
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentOpen ? "Open" : "Closed" })
|
|
48220
|
-
})] })]
|
|
48221
|
-
})]
|
|
48222
|
-
}),
|
|
48223
|
-
descriptionDoc && /* @__PURE__ */ jsx("div", {
|
|
48224
|
-
className: "cd-description",
|
|
48225
|
-
children: /* @__PURE__ */ jsx(RichText$2, { doc: descriptionDoc })
|
|
48226
|
-
}),
|
|
48227
|
-
showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
48228
|
-
/* @__PURE__ */ jsx("div", {
|
|
48229
|
-
className: "rb-label",
|
|
48230
|
-
children: "Sessions"
|
|
48231
|
-
}),
|
|
48232
|
-
/* @__PURE__ */ jsx("div", {
|
|
48233
|
-
className: "rb-mt-2 rb-tiles-grid",
|
|
48234
|
-
children: visibleSessions.map((s) => /* @__PURE__ */ jsx("div", {
|
|
48235
|
-
className: "rb-tile",
|
|
48236
|
-
children: /* @__PURE__ */ jsx(DateTimeTile, {
|
|
48237
|
-
startsAt: s.startsAt,
|
|
48238
|
-
endsAt: s.endsAt
|
|
48239
|
-
})
|
|
48240
|
-
}, s.id))
|
|
48241
|
-
}),
|
|
48242
|
-
hasMoreSessions && /* @__PURE__ */ jsxs("p", {
|
|
48243
|
-
className: "cd-sessions__more",
|
|
48244
|
-
children: [
|
|
48245
|
-
"Showing ",
|
|
48246
|
-
visibleSessions.length,
|
|
48247
|
-
" of ",
|
|
48248
|
-
sortedSessions.length,
|
|
48249
|
-
" sessions."
|
|
48250
|
-
]
|
|
48251
|
-
})
|
|
48252
|
-
] })
|
|
48253
|
-
]
|
|
48254
|
-
});
|
|
48255
|
-
}
|
|
48256
|
-
//#endregion
|
|
48257
|
-
//#region ../blocks/src/system/runtime/nodes/course-details.server.tsx
|
|
48258
|
-
function CourseDetailsSSR({ courses, subject, showTitle, showDescription, showSessions, sessionsLimit, showVenue, showPrice, showCapacity, showEnrollmentStatus, showMembershipNote, className, children }) {
|
|
48259
|
-
const selection = selectCourseDetails({
|
|
48260
|
-
courses: courses ?? null,
|
|
48261
|
-
subject
|
|
48262
|
-
});
|
|
48263
|
-
const parsedSubject = parseEventPageSurfaceSubject(subject);
|
|
48264
|
-
const awaitingOfferingRuns = parsedSubject.ok && parsedSubject.value.kind === "eventOffering" && parsedSubject.value.availableEventSeriesIds.length === 0;
|
|
48265
|
-
const now = /* @__PURE__ */ new Date();
|
|
48266
|
-
const scopedWithRange = selection.scoped.map((c) => ({
|
|
48267
|
-
course: c,
|
|
48268
|
-
range: getCourseDateRange(c)
|
|
48269
|
-
}));
|
|
48270
|
-
const scopedSorted = [...scopedWithRange].sort((a, b) => {
|
|
48271
|
-
return (a.range.start?.getTime() ?? 0) - (b.range.start?.getTime() ?? 0);
|
|
48272
|
-
});
|
|
48273
|
-
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;
|
|
48274
|
-
const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
|
|
48275
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
48276
|
-
className: `course-details ${className ?? ""}`.trim(),
|
|
48277
|
-
"data-block": "course-details",
|
|
48278
|
-
children: [selection.selected ? /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
48279
|
-
course: selection.selected,
|
|
48280
|
-
showTitle,
|
|
48281
|
-
showDescription,
|
|
48282
|
-
showSessions,
|
|
48283
|
-
sessionsLimit,
|
|
48284
|
-
showVenue,
|
|
48285
|
-
showPrice,
|
|
48286
|
-
showCapacity,
|
|
48287
|
-
showEnrollmentStatus,
|
|
48288
|
-
showMembershipNote
|
|
48289
|
-
}) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs("div", {
|
|
48290
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
48291
|
-
children: [
|
|
48292
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
48293
|
-
className: "rb-label rb-mb-2",
|
|
48294
|
-
children: "Upcoming runs"
|
|
48295
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
48296
|
-
className: "rb-caption status-muted",
|
|
48297
|
-
children: "Choose a run to see sessions and details."
|
|
48298
|
-
})] }),
|
|
48299
|
-
nonPastRuns.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
48300
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
48301
|
-
children: nonPastRuns.map(({ course, range }) => {
|
|
48302
|
-
const start = range.start;
|
|
48303
|
-
const end = range.end;
|
|
48304
|
-
const isInProgress = Boolean(start && end && start <= now && end > now);
|
|
48305
|
-
return /* @__PURE__ */ jsx("li", {
|
|
48306
|
-
className: "rb-rounded-md rb-border rb-p-3",
|
|
48307
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
48308
|
-
className: "rb-flex rb-flex-col rb-gap-1",
|
|
48309
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
48310
|
-
className: "rb-flex rb-items-center rb-justify-between rb-gap-3",
|
|
48311
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
48312
|
-
className: "rb-min-w-0",
|
|
48313
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
48314
|
-
className: "rb-truncate",
|
|
48315
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.title })
|
|
48316
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
48317
|
-
className: "rb-caption status-muted",
|
|
48318
|
-
children: formatCourseDateRange(range)
|
|
48319
|
-
})]
|
|
48320
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
48321
|
-
className: "rb-caption status-muted rb-shrink-0",
|
|
48322
|
-
children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed"
|
|
48323
|
-
})]
|
|
48324
|
-
})
|
|
48325
|
-
})
|
|
48326
|
-
}, course.eventSeriesId);
|
|
48327
|
-
})
|
|
48328
|
-
}) : /* @__PURE__ */ jsx("p", {
|
|
48329
|
-
className: "rb-caption status-muted",
|
|
48330
|
-
children: "No upcoming runs."
|
|
48331
|
-
}),
|
|
48332
|
-
lastPastRun ? /* @__PURE__ */ jsxs("div", {
|
|
48333
|
-
className: "rb-caption status-muted",
|
|
48334
|
-
children: [
|
|
48335
|
-
"Last run: ",
|
|
48336
|
-
/* @__PURE__ */ jsx("strong", { children: lastPastRun.course.title }),
|
|
48337
|
-
" (",
|
|
48338
|
-
formatCourseDateRange(lastPastRun.range),
|
|
48339
|
-
")"
|
|
48340
|
-
]
|
|
48341
|
-
}) : null
|
|
48342
|
-
]
|
|
48343
|
-
}) : /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
48344
|
-
course: null,
|
|
48345
|
-
emptyMessage: awaitingOfferingRuns ? "New dates are coming soon." : "Course details unavailable.",
|
|
48346
|
-
showTitle,
|
|
48347
|
-
showDescription,
|
|
48348
|
-
showSessions,
|
|
48349
|
-
sessionsLimit,
|
|
48350
|
-
showVenue,
|
|
48351
|
-
showPrice,
|
|
48352
|
-
showCapacity,
|
|
48353
|
-
showEnrollmentStatus,
|
|
48354
|
-
showMembershipNote
|
|
48355
|
-
}), children]
|
|
48356
|
-
});
|
|
48357
|
-
}
|
|
48358
|
-
//#endregion
|
|
48359
47670
|
//#region ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
|
|
48360
47671
|
/**
|
|
48361
47672
|
* EventSpotlight Component
|
|
@@ -48559,7 +47870,7 @@ function deriveCourseScheduleSummary(course) {
|
|
|
48559
47870
|
sessionCount: sessions.length
|
|
48560
47871
|
};
|
|
48561
47872
|
}
|
|
48562
|
-
function
|
|
47873
|
+
function nextWholeSeriesSessionStart(course) {
|
|
48563
47874
|
return [...course.sessions].filter(isValidOccurrence).map((session) => session.startsAt).sort((left, right) => left.localeCompare(right))[0] ?? null;
|
|
48564
47875
|
}
|
|
48565
47876
|
function occurrenceFromEvent(event) {
|
|
@@ -48713,7 +48024,7 @@ const OFFERINGS_PREVIEW_GRID_STYLE = {
|
|
|
48713
48024
|
function buildItemDataMap(props) {
|
|
48714
48025
|
const routeCandidates = props.routeCandidates?.routes ?? [];
|
|
48715
48026
|
const entries = OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [definition.sourceKey, eventDataFromMaybeArray(props[definition.dataKey])]);
|
|
48716
|
-
return new Map([...entries, ["course", courseDataFromMaybeArray(props.
|
|
48027
|
+
return new Map([...entries, ["course", courseDataFromMaybeArray(props.wholeSeriesOfferings, routeCandidates)]]);
|
|
48717
48028
|
}
|
|
48718
48029
|
function eventDataFromMaybeArray(events) {
|
|
48719
48030
|
return events ? {
|
|
@@ -48767,8 +48078,8 @@ function renderOfferingGroupItems(presentation, items, options) {
|
|
|
48767
48078
|
}
|
|
48768
48079
|
}
|
|
48769
48080
|
function compareCoursesByNextSession(left, right) {
|
|
48770
|
-
const leftStart =
|
|
48771
|
-
const rightStart =
|
|
48081
|
+
const leftStart = nextWholeSeriesSessionStart(left);
|
|
48082
|
+
const rightStart = nextWholeSeriesSessionStart(right);
|
|
48772
48083
|
if (leftStart === null) return rightStart === null ? 0 : 1;
|
|
48773
48084
|
if (rightStart === null) return -1;
|
|
48774
48085
|
return leftStart.localeCompare(rightStart);
|
|
@@ -49707,45 +49018,6 @@ function CheckoutSSR({ blockId, siteId, apiBaseUrl, stage, children, ...rest })
|
|
|
49707
49018
|
});
|
|
49708
49019
|
}
|
|
49709
49020
|
//#endregion
|
|
49710
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.server.tsx
|
|
49711
|
-
/**
|
|
49712
|
-
* Server-safe placeholder for course registration.
|
|
49713
|
-
* Provides a static container for island hydration without importing client hooks.
|
|
49714
|
-
*/
|
|
49715
|
-
function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children }) {
|
|
49716
|
-
const islandProps = buildCourseRegistrationInteractiveIslandProps({
|
|
49717
|
-
siteId,
|
|
49718
|
-
apiBaseUrl,
|
|
49719
|
-
portalToken,
|
|
49720
|
-
subject,
|
|
49721
|
-
courses,
|
|
49722
|
-
className,
|
|
49723
|
-
showSessions,
|
|
49724
|
-
showPrice,
|
|
49725
|
-
showCapacity,
|
|
49726
|
-
showVenue,
|
|
49727
|
-
successMessage,
|
|
49728
|
-
waitlistMessage,
|
|
49729
|
-
membershipMessage,
|
|
49730
|
-
buttonText,
|
|
49731
|
-
buttonVariant,
|
|
49732
|
-
stage
|
|
49733
|
-
});
|
|
49734
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
49735
|
-
className: `course-registration ${className ?? ""}`.trim(),
|
|
49736
|
-
"data-block": "course-registration",
|
|
49737
|
-
...getIslandRootProps("course-registration", blockId),
|
|
49738
|
-
children: [
|
|
49739
|
-
/* @__PURE__ */ jsx(IslandPropsScript, { value: islandProps }),
|
|
49740
|
-
/* @__PURE__ */ jsx("div", {
|
|
49741
|
-
className: "course-registration__summary",
|
|
49742
|
-
children: /* @__PURE__ */ jsx("strong", { children: islandProps.render.display.summaryButtonText })
|
|
49743
|
-
}),
|
|
49744
|
-
children
|
|
49745
|
-
]
|
|
49746
|
-
});
|
|
49747
|
-
}
|
|
49748
|
-
//#endregion
|
|
49749
49021
|
//#region ../blocks/src/system/runtime/nodes/gifting.server.tsx
|
|
49750
49022
|
function GiftingSSR({ blockId, ...rest }) {
|
|
49751
49023
|
const islandProps = buildGiftingInteractiveIslandProps(rest);
|
|
@@ -51231,7 +50503,6 @@ const runtimeBackedBlockServerEntries = {
|
|
|
51231
50503
|
"product-detail": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(productDetailBlockDefinition), ProductDetailSSR),
|
|
51232
50504
|
cart: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(cartBlockDefinition), CartSSR),
|
|
51233
50505
|
checkout: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(checkoutBlockDefinition), CheckoutSSR),
|
|
51234
|
-
"course-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(courseRegistrationBlockDefinition), CourseRegistrationSSR),
|
|
51235
50506
|
gifting: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(giftingBlockDefinition), GiftingSSR),
|
|
51236
50507
|
"event-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(eventRegistrationBlockDefinition), EventRegistrationSSR),
|
|
51237
50508
|
shop: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(shopBlockDefinition), ShopSSR)
|
|
@@ -51264,7 +50535,6 @@ const serverComponentRegistry = {
|
|
|
51264
50535
|
"booking-form": BookingFormSSR,
|
|
51265
50536
|
"event-details": EventDetailsSSR,
|
|
51266
50537
|
"location-map": LocationMapSSR,
|
|
51267
|
-
"course-details": CourseDetailsSSR,
|
|
51268
50538
|
"event-spotlight": EventSpotlight,
|
|
51269
50539
|
"event-combined": EventCombinedSSR,
|
|
51270
50540
|
"offerings-preview": OfferingsPreviewNode,
|
|
@@ -52751,12 +52021,46 @@ function collectConstrainedVideoMediaValues(options) {
|
|
|
52751
52021
|
*/
|
|
52752
52022
|
function hydrateManifestLinks(manifest, content, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
52753
52023
|
if (!routes || !manifest?.fields?.length) return content;
|
|
52754
|
-
return
|
|
52024
|
+
return hydrateLinks(content, routes, pagesByIdentifier, entriesByIdentifier);
|
|
52025
|
+
}
|
|
52026
|
+
/** Hydrate identifier-aware links in data loaded after manifest content. */
|
|
52027
|
+
function hydrateLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
52028
|
+
return hydrateValue(value, {
|
|
52029
|
+
routes,
|
|
52030
|
+
pagesByIdentifier,
|
|
52031
|
+
entriesByIdentifier
|
|
52032
|
+
});
|
|
52033
|
+
}
|
|
52034
|
+
/**
|
|
52035
|
+
* Hydrate links only inside resolved booking-consent documents. Loader payloads are
|
|
52036
|
+
* otherwise opaque and may legitimately contain objects that resemble link values.
|
|
52037
|
+
*/
|
|
52038
|
+
function hydrateResolvedBookingConsentLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
52039
|
+
return hydrateResolvedBookingConsentValue(value, {
|
|
52755
52040
|
routes,
|
|
52756
52041
|
pagesByIdentifier,
|
|
52757
52042
|
entriesByIdentifier
|
|
52758
52043
|
});
|
|
52759
52044
|
}
|
|
52045
|
+
function hydrateResolvedBookingConsentValue(value, context) {
|
|
52046
|
+
if (Array.isArray(value)) {
|
|
52047
|
+
const hydratedItems = value.map((item) => hydrateResolvedBookingConsentValue(item, context));
|
|
52048
|
+
return hydratedItems.every((item, index) => item === value[index]) ? value : hydratedItems;
|
|
52049
|
+
}
|
|
52050
|
+
if (!isRecord$27(value)) return value;
|
|
52051
|
+
if (isBookingConsentCarrier(value)) {
|
|
52052
|
+
const agreement = hydrateValue(value.agreement, context);
|
|
52053
|
+
return agreement === value.agreement ? value : {
|
|
52054
|
+
...value,
|
|
52055
|
+
agreement
|
|
52056
|
+
};
|
|
52057
|
+
}
|
|
52058
|
+
const hydratedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateResolvedBookingConsentValue(entry, context)]);
|
|
52059
|
+
return hydratedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(hydratedEntries);
|
|
52060
|
+
}
|
|
52061
|
+
function isBookingConsentCarrier(value) {
|
|
52062
|
+
return bookingConsentCarrierSchema.safeParse(value).success;
|
|
52063
|
+
}
|
|
52760
52064
|
function hydrateValue(value, context) {
|
|
52761
52065
|
try {
|
|
52762
52066
|
if (Array.isArray(value)) {
|
|
@@ -52825,6 +52129,13 @@ function hydrateEntryLink(link, context) {
|
|
|
52825
52129
|
};
|
|
52826
52130
|
}
|
|
52827
52131
|
//#endregion
|
|
52132
|
+
//#region ../blocks/src/system/manifest/resolveBlockData.ts
|
|
52133
|
+
function resolveBlockData$1(blockId, dataLoaders, dataContext, routes) {
|
|
52134
|
+
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
52135
|
+
if (isRecord$27(raw)) return routes ? hydrateResolvedBookingConsentLinks(raw, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : raw;
|
|
52136
|
+
return dataLoaders && typeof dataLoaders === "object" && Object.keys(dataLoaders).length > 0 ? {} : void 0;
|
|
52137
|
+
}
|
|
52138
|
+
//#endregion
|
|
52828
52139
|
//#region ../blocks/src/sdkBlockTransform.ts
|
|
52829
52140
|
/**
|
|
52830
52141
|
* Transforms an SDK custom block into a BlockManifest.
|
|
@@ -53419,8 +52730,8 @@ function generateInputCss({ themeId, theme, inputSystem }) {
|
|
|
53419
52730
|
const radioSelector = `${rootSelector} .form-radio`;
|
|
53420
52731
|
const checkableRules = [];
|
|
53421
52732
|
checkableRules.push("appearance: none");
|
|
53422
|
-
checkableRules.push("width:
|
|
53423
|
-
checkableRules.push("height:
|
|
52733
|
+
checkableRules.push("width: 1.125rem");
|
|
52734
|
+
checkableRules.push("height: 1.125rem");
|
|
53424
52735
|
checkableRules.push("flex-shrink: 0");
|
|
53425
52736
|
checkableRules.push(`border: ${borderPx} solid ${rgbColorValue(inputSystem.base.border.colorToken)}`);
|
|
53426
52737
|
if (inputSystem.base.background.type === "transparent") checkableRules.push("background-color: transparent");
|
|
@@ -55678,176 +54989,6 @@ ${root} {
|
|
|
55678
54989
|
`;
|
|
55679
54990
|
}
|
|
55680
54991
|
//#endregion
|
|
55681
|
-
//#region ../theme-core/src/blocks/vars/course-details.ts
|
|
55682
|
-
/**
|
|
55683
|
-
* Generate CSS variables for the course-details block.
|
|
55684
|
-
*
|
|
55685
|
-
* Variables defined:
|
|
55686
|
-
* - Enrollment status colors (open/closed)
|
|
55687
|
-
* - Capacity indicator colors (available/low/full)
|
|
55688
|
-
* - Price display colors (free indicator)
|
|
55689
|
-
*/
|
|
55690
|
-
function generateCourseDetailsVars({ themeId }) {
|
|
55691
|
-
return `
|
|
55692
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-details"])`} {
|
|
55693
|
-
/* Enrollment status */
|
|
55694
|
-
--cd-enrollment-open-text: rgb(var(--tb-success));
|
|
55695
|
-
--cd-enrollment-closed-text: rgb(var(--tb-mutedText));
|
|
55696
|
-
|
|
55697
|
-
/* Capacity indicator */
|
|
55698
|
-
--cd-capacity-available-text: rgb(var(--tb-success));
|
|
55699
|
-
--cd-capacity-low-text: rgb(var(--tb-warning));
|
|
55700
|
-
--cd-capacity-full-text: rgb(var(--tb-destructive, 239 68 68));
|
|
55701
|
-
|
|
55702
|
-
/* Price styling */
|
|
55703
|
-
--cd-price-free-text: rgb(var(--tb-success));
|
|
55704
|
-
}
|
|
55705
|
-
`;
|
|
55706
|
-
}
|
|
55707
|
-
//#endregion
|
|
55708
|
-
//#region ../theme-core/src/blocks/vars/course-registration.ts
|
|
55709
|
-
const EVENT_WHOLE_SERIES_VARIABLE_BRIDGE = `
|
|
55710
|
-
/* Temporary bridge while persisted Course blocks render the Event-owned
|
|
55711
|
-
whole-series registration runtime. Removed with the Course block. */
|
|
55712
|
-
--er-step-active: var(--cr-step-active);
|
|
55713
|
-
--er-step-inactive: var(--cr-step-inactive);
|
|
55714
|
-
--er-step-completed: var(--cr-step-completed);
|
|
55715
|
-
--er-step-text: var(--cr-step-text);
|
|
55716
|
-
--er-step-text-active: var(--cr-step-text-active);
|
|
55717
|
-
--er-step-connector: var(--cr-step-connector);
|
|
55718
|
-
--er-step-title-size: var(--cr-step-title-size);
|
|
55719
|
-
--er-success-bg: var(--cr-success-bg);
|
|
55720
|
-
--er-success-text: var(--cr-success-text);
|
|
55721
|
-
--er-error-bg: var(--cr-error-bg);
|
|
55722
|
-
--er-error-text: var(--cr-error-text);
|
|
55723
|
-
--er-waitlist-bg: var(--cr-waitlist-bg);
|
|
55724
|
-
--er-waitlist-text: var(--cr-waitlist-text);
|
|
55725
|
-
--er-capacity-available-bg: var(--cr-capacity-available-bg);
|
|
55726
|
-
--er-capacity-available-text: var(--cr-capacity-available-text);
|
|
55727
|
-
--er-capacity-low-bg: var(--cr-capacity-low-bg);
|
|
55728
|
-
--er-capacity-low-text: var(--cr-capacity-low-text);
|
|
55729
|
-
--er-capacity-soldout-bg: var(--cr-capacity-soldout-bg);
|
|
55730
|
-
--er-capacity-soldout-text: var(--cr-capacity-soldout-text);
|
|
55731
|
-
--er-border: var(--cr-border);
|
|
55732
|
-
--er-border-hover: var(--cr-border-hover);
|
|
55733
|
-
--er-border-selected: var(--cr-border-selected);
|
|
55734
|
-
--er-border-error: var(--cr-border-error);
|
|
55735
|
-
--er-focus-ring: var(--cr-focus-ring);
|
|
55736
|
-
--er-required: var(--cr-required);
|
|
55737
|
-
--er-payment-border: var(--cr-payment-border);
|
|
55738
|
-
--er-payment-border-hover: var(--cr-payment-border-hover);
|
|
55739
|
-
--er-payment-border-selected: var(--cr-payment-border-selected);
|
|
55740
|
-
--er-payment-bg-selected: var(--cr-payment-bg-selected);
|
|
55741
|
-
--er-check-bg: var(--cr-check-bg);
|
|
55742
|
-
--er-check-text: var(--cr-check-text);
|
|
55743
|
-
--er-summary-bg: var(--cr-summary-bg);
|
|
55744
|
-
--er-summary-border: var(--cr-summary-border);
|
|
55745
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
55746
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
55747
|
-
`;
|
|
55748
|
-
/**
|
|
55749
|
-
* Generate CSS variables for the course-registration block.
|
|
55750
|
-
*
|
|
55751
|
-
* Variables defined:
|
|
55752
|
-
* - Step indicator colors (active, inactive, completed, text, connector)
|
|
55753
|
-
* - Success/error/waitlist state backgrounds and text colors
|
|
55754
|
-
* - Capacity badge colors (available, low, sold-out)
|
|
55755
|
-
* - Border colors for various interaction states
|
|
55756
|
-
* - Input focus and required marker styling
|
|
55757
|
-
* - Payment option card styling
|
|
55758
|
-
* - Checkmark indicator colors
|
|
55759
|
-
* - Summary styling
|
|
55760
|
-
*/
|
|
55761
|
-
function generateCourseRegistrationVars({ themeId }) {
|
|
55762
|
-
return `
|
|
55763
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-registration"])`} {
|
|
55764
|
-
/* Step indicator */
|
|
55765
|
-
--cr-step-active: rgb(var(--tb-primary));
|
|
55766
|
-
--cr-step-inactive: rgb(var(--tb-mutedText));
|
|
55767
|
-
--cr-step-completed: rgb(var(--tb-success));
|
|
55768
|
-
--cr-step-text: rgb(255 255 255);
|
|
55769
|
-
--cr-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
|
|
55770
|
-
--cr-step-connector: rgba(var(--tb-border), 0.5);
|
|
55771
|
-
|
|
55772
|
-
/* Step title */
|
|
55773
|
-
--cr-step-title-size: 1.5rem;
|
|
55774
|
-
|
|
55775
|
-
/* State backgrounds with alpha */
|
|
55776
|
-
--cr-success-bg: rgba(var(--tb-success), 0.1);
|
|
55777
|
-
--cr-success-text: rgb(var(--tb-success));
|
|
55778
|
-
--cr-error-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
55779
|
-
--cr-error-text: rgb(var(--tb-destructive, 239 68 68));
|
|
55780
|
-
--cr-waitlist-bg: rgba(var(--tb-warning), 0.1);
|
|
55781
|
-
--cr-waitlist-text: rgb(var(--tb-warning));
|
|
55782
|
-
|
|
55783
|
-
/* Capacity badges */
|
|
55784
|
-
--cr-capacity-available-bg: rgba(var(--tb-success), 0.1);
|
|
55785
|
-
--cr-capacity-available-text: rgb(var(--tb-success));
|
|
55786
|
-
--cr-capacity-low-bg: rgba(var(--tb-warning), 0.1);
|
|
55787
|
-
--cr-capacity-low-text: rgb(var(--tb-warning));
|
|
55788
|
-
--cr-capacity-soldout-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
55789
|
-
--cr-capacity-soldout-text: rgb(var(--tb-destructive, 239 68 68));
|
|
55790
|
-
|
|
55791
|
-
/* Borders */
|
|
55792
|
-
--cr-border: rgb(var(--tb-border));
|
|
55793
|
-
--cr-border-hover: rgba(var(--tb-primary), 0.5);
|
|
55794
|
-
--cr-border-selected: rgb(var(--tb-primary));
|
|
55795
|
-
--cr-border-error: rgb(var(--tb-destructive, 239 68 68));
|
|
55796
|
-
|
|
55797
|
-
/* Input focus */
|
|
55798
|
-
--cr-focus-ring: rgba(var(--tb-primary), 0.3);
|
|
55799
|
-
|
|
55800
|
-
/* Required marker */
|
|
55801
|
-
--cr-required: rgb(var(--tb-destructive, 239 68 68));
|
|
55802
|
-
|
|
55803
|
-
/* Payment option cards */
|
|
55804
|
-
--cr-payment-border: rgb(var(--tb-border));
|
|
55805
|
-
--cr-payment-border-hover: rgba(var(--tb-primary), 0.5);
|
|
55806
|
-
--cr-payment-border-selected: rgb(var(--tb-primary));
|
|
55807
|
-
--cr-payment-bg-selected: rgba(var(--tb-primary), 0.08);
|
|
55808
|
-
|
|
55809
|
-
/* Checkmark indicator */
|
|
55810
|
-
--cr-check-bg: rgb(var(--tb-primary));
|
|
55811
|
-
--cr-check-text: rgb(var(--tb-primaryText, 255 255 255));
|
|
55812
|
-
|
|
55813
|
-
/* Summary */
|
|
55814
|
-
--cr-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
55815
|
-
--cr-summary-border: rgb(var(--tb-border));
|
|
55816
|
-
|
|
55817
|
-
${EVENT_WHOLE_SERIES_VARIABLE_BRIDGE}
|
|
55818
|
-
|
|
55819
|
-
/* Shared registration-surface mappings (issue 1174).
|
|
55820
|
-
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
55821
|
-
(palette tokens where no --cr-* var exists) so existing --cr-* overrides
|
|
55822
|
-
keep working unchanged. */
|
|
55823
|
-
--rb-reg-radius: var(--rb-block-radius);
|
|
55824
|
-
--rb-reg-border: var(--cr-border);
|
|
55825
|
-
--rb-reg-border-hover: var(--cr-border-hover);
|
|
55826
|
-
--rb-reg-border-selected: var(--cr-border-selected);
|
|
55827
|
-
--rb-reg-bg-selected: var(--cr-payment-bg-selected);
|
|
55828
|
-
--rb-reg-option-bg: rgb(var(--tb-background));
|
|
55829
|
-
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
55830
|
-
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
55831
|
-
--rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
55832
|
-
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
55833
|
-
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
55834
|
-
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
55835
|
-
--rb-reg-check-bg: var(--cr-check-bg);
|
|
55836
|
-
--rb-reg-check-text: var(--cr-check-text);
|
|
55837
|
-
--rb-reg-step-active: var(--cr-step-active);
|
|
55838
|
-
--rb-reg-step-completed: var(--cr-step-completed);
|
|
55839
|
-
--rb-reg-step-inactive: var(--cr-step-inactive);
|
|
55840
|
-
--rb-reg-step-text: var(--cr-step-text);
|
|
55841
|
-
--rb-reg-step-text-active: var(--cr-step-text-active);
|
|
55842
|
-
--rb-reg-step-connector: var(--cr-step-connector);
|
|
55843
|
-
--rb-reg-summary-bg: var(--cr-summary-bg);
|
|
55844
|
-
--rb-reg-summary-border: var(--cr-summary-border);
|
|
55845
|
-
--rb-reg-focus-ring: var(--cr-focus-ring);
|
|
55846
|
-
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
55847
|
-
}
|
|
55848
|
-
`;
|
|
55849
|
-
}
|
|
55850
|
-
//#endregion
|
|
55851
54992
|
//#region ../theme-core/src/blocks/registry.ts
|
|
55852
54993
|
/**
|
|
55853
54994
|
* Global registry of block var generators.
|
|
@@ -55862,8 +55003,6 @@ blockVarRegistry.set("appointment-booking", generateAppointmentBookingVars);
|
|
|
55862
55003
|
blockVarRegistry.set("form", generateFormBlockVars);
|
|
55863
55004
|
blockVarRegistry.set("customer-portal", generateCustomerPortalVars);
|
|
55864
55005
|
blockVarRegistry.set("testimonials", generateTestimonialsVars);
|
|
55865
|
-
blockVarRegistry.set("course-details", generateCourseDetailsVars);
|
|
55866
|
-
blockVarRegistry.set("course-registration", generateCourseRegistrationVars);
|
|
55867
55006
|
/**
|
|
55868
55007
|
* Generate all Tier 3 block-specific CSS variables.
|
|
55869
55008
|
*
|
|
@@ -57204,11 +56343,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources
|
|
|
57204
56343
|
try {
|
|
57205
56344
|
const routes = routeMap ?? dataContext?.routes;
|
|
57206
56345
|
const hydratedContent = routes ? hydrateManifestLinks(definition.manifest, data, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : data;
|
|
57207
|
-
const resolved = resolveBlockData$1(
|
|
57208
|
-
block,
|
|
57209
|
-
definition,
|
|
57210
|
-
dataContext
|
|
57211
|
-
});
|
|
56346
|
+
const resolved = resolveBlockData$1(block.id, definition.dataLoaders, dataContext, routes);
|
|
57212
56347
|
const hasResolvedData = !!resolved && typeof resolved === "object" && Object.keys(resolved).length > 0;
|
|
57213
56348
|
const baseProps = {
|
|
57214
56349
|
content: hydratedContent,
|
|
@@ -57298,12 +56433,6 @@ function shouldDebugCustomBlocks() {
|
|
|
57298
56433
|
return false;
|
|
57299
56434
|
}
|
|
57300
56435
|
}
|
|
57301
|
-
function resolveBlockData$1({ block, definition, dataContext }) {
|
|
57302
|
-
const blockId = block.id ?? null;
|
|
57303
|
-
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
57304
|
-
if (isObjectRecord$1(raw)) return { ...raw };
|
|
57305
|
-
return definition.dataLoaders && Object.keys(definition.dataLoaders).length > 0 ? {} : void 0;
|
|
57306
|
-
}
|
|
57307
56436
|
/**
|
|
57308
56437
|
* Resolves block content based on stage priority.
|
|
57309
56438
|
* For draft/preview: draftContent takes priority over content.
|
|
@@ -60765,7 +59894,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60765
59894
|
* Shared: Registration Surface (issue 1174)
|
|
60766
59895
|
*
|
|
60767
59896
|
* Wizard-surface primitives shared by the event-registration,
|
|
60768
|
-
*
|
|
59897
|
+
* appointment-booking blocks: surface container,
|
|
60769
59898
|
* selectable option cards, step indicator, wizard actions row, on-surface
|
|
60770
59899
|
* text ramp, layout stacks, summary box and skeleton shell lines.
|
|
60771
59900
|
*
|
|
@@ -60808,7 +59937,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60808
59937
|
}
|
|
60809
59938
|
|
|
60810
59939
|
/* Surface container */
|
|
60811
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59940
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
60812
59941
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
60813
59942
|
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
60814
59943
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
@@ -60838,7 +59967,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60838
59967
|
*
|
|
60839
59968
|
* Mirrors \`contextualButtonSurfaceResetStyles()\` in theme-core/buttons; the
|
|
60840
59969
|
* pairing is pinned by registration-surface-action-reset.test.ts. */
|
|
60841
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59970
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
60842
59971
|
--rb-action-primary-base-background-color: initial;
|
|
60843
59972
|
--rb-action-primary-base-background-image: initial;
|
|
60844
59973
|
--rb-action-primary-base-color: initial;
|
|
@@ -60946,7 +60075,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60946
60075
|
}
|
|
60947
60076
|
|
|
60948
60077
|
/* Selectable option card */
|
|
60949
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60078
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
60950
60079
|
position: relative;
|
|
60951
60080
|
display: flex;
|
|
60952
60081
|
align-items: flex-start;
|
|
@@ -60963,34 +60092,34 @@ const containerResponsiveThemeCss = `/*
|
|
|
60963
60092
|
box-shadow var(--rb-block-transition, 150ms) ease;
|
|
60964
60093
|
}
|
|
60965
60094
|
|
|
60966
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60095
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:hover:not(:disabled):not([aria-disabled="true"]) {
|
|
60967
60096
|
border-color: var(--rb-reg-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
60968
60097
|
box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08));
|
|
60969
60098
|
}
|
|
60970
60099
|
|
|
60971
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60100
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:focus-visible {
|
|
60972
60101
|
outline: 2px solid var(--rb-reg-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
|
|
60973
60102
|
outline-offset: 2px;
|
|
60974
60103
|
}
|
|
60975
60104
|
|
|
60976
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60105
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--selected {
|
|
60977
60106
|
border-color: var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
60978
60107
|
background-color: var(--rb-reg-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.08));
|
|
60979
60108
|
box-shadow: 0 0 0 1px var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
60980
60109
|
}
|
|
60981
60110
|
|
|
60982
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60111
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled {
|
|
60983
60112
|
cursor: not-allowed;
|
|
60984
60113
|
opacity: 0.7;
|
|
60985
60114
|
}
|
|
60986
60115
|
|
|
60987
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60116
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled:hover {
|
|
60988
60117
|
border-color: var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
60989
60118
|
box-shadow: none;
|
|
60990
60119
|
}
|
|
60991
60120
|
|
|
60992
60121
|
/* Check indicator */
|
|
60993
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60122
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check {
|
|
60994
60123
|
flex-shrink: 0;
|
|
60995
60124
|
width: 1.25rem;
|
|
60996
60125
|
height: 1.25rem;
|
|
@@ -61001,18 +60130,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
61001
60130
|
justify-content: center;
|
|
61002
60131
|
}
|
|
61003
60132
|
|
|
61004
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60133
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
61005
60134
|
width: 0.75rem;
|
|
61006
60135
|
height: 0.75rem;
|
|
61007
60136
|
color: var(--rb-reg-check-text, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
61008
60137
|
}
|
|
61009
60138
|
|
|
61010
60139
|
/* Step indicator */
|
|
61011
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60140
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps-nav {
|
|
61012
60141
|
margin-bottom: 1.5rem;
|
|
61013
60142
|
}
|
|
61014
60143
|
|
|
61015
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60144
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps {
|
|
61016
60145
|
display: flex;
|
|
61017
60146
|
align-items: center;
|
|
61018
60147
|
justify-content: center;
|
|
@@ -61022,13 +60151,13 @@ const containerResponsiveThemeCss = `/*
|
|
|
61022
60151
|
margin: 0;
|
|
61023
60152
|
}
|
|
61024
60153
|
|
|
61025
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60154
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step {
|
|
61026
60155
|
display: flex;
|
|
61027
60156
|
align-items: center;
|
|
61028
60157
|
gap: 0.5rem;
|
|
61029
60158
|
}
|
|
61030
60159
|
|
|
61031
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60160
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle {
|
|
61032
60161
|
width: 1.75rem;
|
|
61033
60162
|
height: 1.75rem;
|
|
61034
60163
|
border-radius: 50%;
|
|
@@ -61042,47 +60171,47 @@ const containerResponsiveThemeCss = `/*
|
|
|
61042
60171
|
transition: background-color var(--rb-block-transition, 150ms) ease;
|
|
61043
60172
|
}
|
|
61044
60173
|
|
|
61045
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60174
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
61046
60175
|
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
61047
60176
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
61048
60177
|
}
|
|
61049
60178
|
|
|
61050
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60179
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
61051
60180
|
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
61052
60181
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
61053
60182
|
}
|
|
61054
60183
|
|
|
61055
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60184
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
61056
60185
|
width: 0.75rem;
|
|
61057
60186
|
height: 0.75rem;
|
|
61058
60187
|
}
|
|
61059
60188
|
|
|
61060
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60189
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-connector {
|
|
61061
60190
|
width: 2rem;
|
|
61062
60191
|
height: 2px;
|
|
61063
60192
|
background: var(--rb-reg-step-connector, rgba(var(--tb-border, 226 232 240), 0.5));
|
|
61064
60193
|
}
|
|
61065
60194
|
|
|
61066
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60195
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
61067
60196
|
font-size: 0.75rem;
|
|
61068
60197
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
61069
60198
|
display: none;
|
|
61070
60199
|
}
|
|
61071
60200
|
|
|
61072
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60201
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label--active {
|
|
61073
60202
|
font-weight: 500;
|
|
61074
60203
|
}
|
|
61075
60204
|
|
|
61076
60205
|
@container rb-site (min-width: 640px) {
|
|
61077
60206
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
61078
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60207
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
61079
60208
|
display: inline;
|
|
61080
60209
|
}
|
|
61081
60210
|
}
|
|
61082
60211
|
}
|
|
61083
60212
|
|
|
61084
60213
|
/* Wizard actions row */
|
|
61085
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60214
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions {
|
|
61086
60215
|
display: flex;
|
|
61087
60216
|
justify-content: space-between;
|
|
61088
60217
|
align-items: center;
|
|
@@ -61091,56 +60220,56 @@ const containerResponsiveThemeCss = `/*
|
|
|
61091
60220
|
}
|
|
61092
60221
|
|
|
61093
60222
|
/* When there's only one action (no back button), push it to the right */
|
|
61094
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60223
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions > :only-child {
|
|
61095
60224
|
margin-inline-start: auto;
|
|
61096
60225
|
}
|
|
61097
60226
|
|
|
61098
60227
|
/* On-surface text ramp */
|
|
61099
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60228
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface {
|
|
61100
60229
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
61101
60230
|
}
|
|
61102
60231
|
|
|
61103
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60232
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--muted {
|
|
61104
60233
|
color: var(--rb-reg-on-surface-muted, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.7));
|
|
61105
60234
|
}
|
|
61106
60235
|
|
|
61107
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60236
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--subtle {
|
|
61108
60237
|
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
61109
60238
|
}
|
|
61110
60239
|
|
|
61111
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60240
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--faint {
|
|
61112
60241
|
color: var(--rb-reg-on-surface-faint, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.5));
|
|
61113
60242
|
}
|
|
61114
60243
|
|
|
61115
60244
|
/* Layout stacks */
|
|
61116
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60245
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack {
|
|
61117
60246
|
display: flex;
|
|
61118
60247
|
flex-direction: column;
|
|
61119
60248
|
gap: 1rem;
|
|
61120
60249
|
}
|
|
61121
60250
|
|
|
61122
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60251
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack--sm {
|
|
61123
60252
|
gap: 0.75rem;
|
|
61124
60253
|
}
|
|
61125
60254
|
|
|
61126
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60255
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row {
|
|
61127
60256
|
display: flex;
|
|
61128
60257
|
align-items: center;
|
|
61129
60258
|
gap: 1rem;
|
|
61130
60259
|
}
|
|
61131
60260
|
|
|
61132
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60261
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row--between {
|
|
61133
60262
|
justify-content: space-between;
|
|
61134
60263
|
align-items: flex-start;
|
|
61135
60264
|
}
|
|
61136
60265
|
|
|
61137
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60266
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-grid {
|
|
61138
60267
|
display: grid;
|
|
61139
60268
|
gap: 0.75rem;
|
|
61140
60269
|
}
|
|
61141
60270
|
|
|
61142
60271
|
/* Summary box */
|
|
61143
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60272
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-summary {
|
|
61144
60273
|
padding: 1rem;
|
|
61145
60274
|
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.75);
|
|
61146
60275
|
border: 1px solid var(--rb-reg-summary-border, rgb(var(--tb-border, 226 232 240)));
|
|
@@ -61148,7 +60277,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
61148
60277
|
}
|
|
61149
60278
|
|
|
61150
60279
|
/* Skeleton shell lines */
|
|
61151
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60280
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line {
|
|
61152
60281
|
height: 0.75rem;
|
|
61153
60282
|
border-radius: 9999px;
|
|
61154
60283
|
background: linear-gradient(
|
|
@@ -61159,24 +60288,24 @@ const containerResponsiveThemeCss = `/*
|
|
|
61159
60288
|
);
|
|
61160
60289
|
}
|
|
61161
60290
|
|
|
61162
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60291
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--lg {
|
|
61163
60292
|
width: min(26rem, 82%);
|
|
61164
60293
|
}
|
|
61165
60294
|
|
|
61166
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60295
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--md {
|
|
61167
60296
|
width: min(19rem, 68%);
|
|
61168
60297
|
}
|
|
61169
60298
|
|
|
61170
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60299
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--sm {
|
|
61171
60300
|
width: min(14rem, 52%);
|
|
61172
60301
|
}
|
|
61173
60302
|
|
|
61174
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60303
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--xs {
|
|
61175
60304
|
width: min(10rem, 42%);
|
|
61176
60305
|
}
|
|
61177
60306
|
|
|
61178
60307
|
/* Skeleton block (rectangular placeholder, pulses) */
|
|
61179
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60308
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
61180
60309
|
height: 2.5rem;
|
|
61181
60310
|
width: 100%;
|
|
61182
60311
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
@@ -61194,7 +60323,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
61194
60323
|
}
|
|
61195
60324
|
|
|
61196
60325
|
@media (prefers-reduced-motion: reduce) {
|
|
61197
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
60326
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
61198
60327
|
animation: none;
|
|
61199
60328
|
}
|
|
61200
60329
|
}
|
|
@@ -67576,1648 +66705,337 @@ const containerResponsiveThemeCss = `/*
|
|
|
67576
66705
|
cursor: not-allowed;
|
|
67577
66706
|
}
|
|
67578
66707
|
|
|
67579
|
-
/*
|
|
67580
|
-
*
|
|
67581
|
-
*
|
|
66708
|
+
/* =============================================================================
|
|
66709
|
+
* Block: Newsletter Signup
|
|
66710
|
+
* =============================================================================
|
|
67582
66711
|
*/
|
|
67583
66712
|
|
|
67584
|
-
|
|
67585
|
-
|
|
67586
|
-
|
|
67587
|
-
|
|
66713
|
+
/* Newsletter copy styling */
|
|
66714
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
66715
|
+
font-size: 1.5rem;
|
|
66716
|
+
font-weight: 600;
|
|
67588
66717
|
}
|
|
67589
66718
|
|
|
67590
|
-
|
|
67591
|
-
:
|
|
67592
|
-
|
|
66719
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
66720
|
+
font-size: 1rem;
|
|
66721
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
66722
|
+
opacity: 0.85;
|
|
67593
66723
|
}
|
|
67594
66724
|
|
|
67595
|
-
/*
|
|
67596
|
-
:where(.theme-scope) .
|
|
67597
|
-
|
|
67598
|
-
|
|
67599
|
-
|
|
66725
|
+
/* Newsletter form container */
|
|
66726
|
+
:where(.theme-scope) .newsletter-form {
|
|
66727
|
+
width: 100%;
|
|
66728
|
+
max-width: 32rem;
|
|
66729
|
+
margin-left: auto;
|
|
66730
|
+
margin-right: auto;
|
|
67600
66731
|
}
|
|
67601
66732
|
|
|
67602
|
-
/*
|
|
67603
|
-
:where(.theme-scope) .
|
|
67604
|
-
|
|
66733
|
+
/* Newsletter form fields container */
|
|
66734
|
+
:where(.theme-scope) .newsletter-form-fields {
|
|
66735
|
+
display: flex;
|
|
66736
|
+
flex-direction: column;
|
|
66737
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
67605
66738
|
}
|
|
67606
66739
|
|
|
67607
|
-
|
|
67608
|
-
|
|
66740
|
+
/* Individual field styling */
|
|
66741
|
+
:where(.theme-scope) .newsletter-field {
|
|
66742
|
+
display: flex;
|
|
66743
|
+
flex-direction: column;
|
|
66744
|
+
gap: 0.25rem;
|
|
67609
66745
|
}
|
|
67610
66746
|
|
|
67611
|
-
/*
|
|
67612
|
-
|
|
67613
|
-
|
|
67614
|
-
|
|
67615
|
-
*/
|
|
67616
|
-
|
|
67617
|
-
/* Block-local surface text tokens for cards/modals that sit on theme surface. */
|
|
67618
|
-
:where(.theme-scope)
|
|
67619
|
-
:where(
|
|
67620
|
-
[data-block='event-registration'],
|
|
67621
|
-
[data-block='course-registration']
|
|
67622
|
-
) {
|
|
67623
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
67624
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
66747
|
+
/* Required indicator */
|
|
66748
|
+
:where(.theme-scope) .newsletter-required {
|
|
66749
|
+
color: rgb(var(--tb-primary));
|
|
66750
|
+
margin-left: 0.125rem;
|
|
67625
66751
|
}
|
|
67626
66752
|
|
|
67627
|
-
/*
|
|
67628
|
-
|
|
67629
|
-
|
|
67630
|
-
:where(.theme-scope)
|
|
67631
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67632
|
-
.er-whole-series-container {
|
|
67633
|
-
padding: 1.5rem;
|
|
67634
|
-
margin-inline: auto;
|
|
66753
|
+
/* Submit button container */
|
|
66754
|
+
:where(.theme-scope) .newsletter-submit {
|
|
66755
|
+
margin-top: 0.5rem;
|
|
67635
66756
|
}
|
|
67636
66757
|
|
|
67637
|
-
/*
|
|
67638
|
-
:where(.theme-scope)
|
|
67639
|
-
:
|
|
67640
|
-
|
|
67641
|
-
|
|
67642
|
-
border: 1px dashed rgba(var(--tb-foreground), 0.2);
|
|
67643
|
-
padding: 2.5rem;
|
|
67644
|
-
text-align: center;
|
|
66758
|
+
/* ALTCHA widget container */
|
|
66759
|
+
:where(.theme-scope) .newsletter-altcha {
|
|
66760
|
+
margin-top: 0.75rem;
|
|
66761
|
+
display: flex;
|
|
66762
|
+
justify-content: center;
|
|
67645
66763
|
}
|
|
67646
66764
|
|
|
67647
|
-
|
|
67648
|
-
|
|
67649
|
-
|
|
67650
|
-
|
|
66765
|
+
/* Privacy note */
|
|
66766
|
+
:where(.theme-scope) .newsletter-privacy-note {
|
|
66767
|
+
margin-top: 0.75rem;
|
|
66768
|
+
font-size: 1rem;
|
|
66769
|
+
line-height: 1.6;
|
|
66770
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
66771
|
+
text-align: center;
|
|
67651
66772
|
}
|
|
67652
66773
|
|
|
67653
66774
|
/* =============================================================================
|
|
67654
|
-
*
|
|
66775
|
+
* Inline Variant - Horizontal layout
|
|
67655
66776
|
* =============================================================================
|
|
67656
66777
|
*/
|
|
67657
|
-
:where(.theme-scope)
|
|
67658
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67659
|
-
.er-whole-series-layout {
|
|
67660
|
-
display: grid;
|
|
67661
|
-
gap: 1.5rem;
|
|
67662
|
-
grid-template-columns: 1fr;
|
|
67663
|
-
}
|
|
67664
66778
|
|
|
67665
|
-
|
|
67666
|
-
|
|
67667
|
-
:
|
|
67668
|
-
|
|
67669
|
-
|
|
67670
|
-
[data-block='course-registration']
|
|
67671
|
-
)
|
|
67672
|
-
.er-whole-series-layout--with-sidebar {
|
|
67673
|
-
grid-template-columns: 1fr 280px;
|
|
67674
|
-
}
|
|
67675
|
-
}
|
|
66779
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
66780
|
+
flex-direction: row;
|
|
66781
|
+
align-items: flex-end;
|
|
66782
|
+
flex-wrap: wrap;
|
|
66783
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
67676
66784
|
}
|
|
67677
66785
|
|
|
67678
|
-
:where(.theme-scope)
|
|
67679
|
-
:
|
|
67680
|
-
|
|
67681
|
-
min-width: 0;
|
|
66786
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
66787
|
+
flex: 1 1 auto;
|
|
66788
|
+
min-width: 10rem;
|
|
67682
66789
|
}
|
|
67683
66790
|
|
|
67684
|
-
:where(.theme-scope)
|
|
67685
|
-
:
|
|
67686
|
-
|
|
67687
|
-
display: none;
|
|
66791
|
+
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
66792
|
+
margin-top: 0;
|
|
66793
|
+
flex-shrink: 0;
|
|
67688
66794
|
}
|
|
67689
66795
|
|
|
67690
|
-
|
|
66796
|
+
/* Mobile fallback for inline variant */
|
|
66797
|
+
@container rb-site (max-width: 640px) {
|
|
67691
66798
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
67692
|
-
:where(.theme-scope)
|
|
67693
|
-
:
|
|
67694
|
-
|
|
67695
|
-
|
|
67696
|
-
|
|
67697
|
-
|
|
67698
|
-
display: block;
|
|
66799
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
66800
|
+
flex-direction: column;
|
|
66801
|
+
}
|
|
66802
|
+
|
|
66803
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
66804
|
+
min-width: 100%;
|
|
67699
66805
|
}
|
|
67700
66806
|
}
|
|
67701
66807
|
}
|
|
67702
66808
|
|
|
67703
66809
|
/* =============================================================================
|
|
67704
|
-
*
|
|
66810
|
+
* Editorial Split Variant
|
|
67705
66811
|
* =============================================================================
|
|
67706
66812
|
*/
|
|
67707
|
-
:where(.theme-scope)
|
|
67708
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67709
|
-
.er-whole-series-steps {
|
|
67710
|
-
display: flex;
|
|
67711
|
-
align-items: center;
|
|
67712
|
-
gap: 0.5rem;
|
|
67713
|
-
margin-bottom: 1.5rem;
|
|
67714
|
-
}
|
|
67715
66813
|
|
|
67716
|
-
:where(.theme-scope)
|
|
67717
|
-
:
|
|
67718
|
-
|
|
67719
|
-
|
|
66814
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
66815
|
+
display: grid;
|
|
66816
|
+
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
66817
|
+
gap: clamp(2.5rem, 7vw, 7rem);
|
|
67720
66818
|
align-items: center;
|
|
67721
|
-
|
|
66819
|
+
text-align: left;
|
|
67722
66820
|
}
|
|
67723
66821
|
|
|
67724
|
-
:where(.theme-scope)
|
|
67725
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67726
|
-
.er-whole-series-step-circle {
|
|
67727
|
-
width: 1.75rem;
|
|
67728
|
-
height: 1.75rem;
|
|
67729
|
-
border-radius: 9999px;
|
|
66822
|
+
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
67730
66823
|
display: flex;
|
|
67731
|
-
|
|
67732
|
-
|
|
67733
|
-
font-size: 0.75rem;
|
|
67734
|
-
font-weight: 600;
|
|
67735
|
-
background: var(--er-step-inactive);
|
|
67736
|
-
color: var(--er-step-text);
|
|
67737
|
-
transition: background-color 0.2s ease;
|
|
66824
|
+
flex-direction: column;
|
|
66825
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
67738
66826
|
}
|
|
67739
66827
|
|
|
67740
|
-
:where(.theme-scope)
|
|
67741
|
-
:
|
|
67742
|
-
.er-whole-series-step-circle--active {
|
|
67743
|
-
background: var(--er-step-active);
|
|
67744
|
-
color: var(--er-step-text-active);
|
|
66828
|
+
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
66829
|
+
min-width: 0;
|
|
67745
66830
|
}
|
|
67746
66831
|
|
|
67747
|
-
:where(.theme-scope)
|
|
67748
|
-
:
|
|
67749
|
-
|
|
67750
|
-
background: var(--er-step-completed);
|
|
67751
|
-
color: var(--er-step-text);
|
|
66832
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
66833
|
+
max-width: none;
|
|
66834
|
+
margin-inline: 0;
|
|
67752
66835
|
}
|
|
67753
66836
|
|
|
67754
|
-
:where(.theme-scope)
|
|
67755
|
-
:
|
|
67756
|
-
.er-whole-series-step-label {
|
|
67757
|
-
font-size: 0.875rem;
|
|
66837
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
66838
|
+
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
67758
66839
|
font-weight: 500;
|
|
67759
|
-
color: rgb(var(--tb-mutedText));
|
|
67760
|
-
display: none;
|
|
67761
66840
|
}
|
|
67762
66841
|
|
|
67763
|
-
|
|
66842
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
66843
|
+
text-align: left;
|
|
66844
|
+
}
|
|
66845
|
+
|
|
66846
|
+
@container rb-site (max-width: 767px) {
|
|
67764
66847
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
67765
|
-
:where(.theme-scope)
|
|
67766
|
-
:
|
|
67767
|
-
|
|
67768
|
-
[data-block='course-registration']
|
|
67769
|
-
)
|
|
67770
|
-
.er-whole-series-step-label {
|
|
67771
|
-
display: block;
|
|
66848
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
66849
|
+
grid-template-columns: minmax(0, 1fr);
|
|
66850
|
+
gap: 2rem;
|
|
67772
66851
|
}
|
|
67773
66852
|
}
|
|
67774
66853
|
}
|
|
67775
66854
|
|
|
67776
|
-
|
|
67777
|
-
|
|
67778
|
-
|
|
67779
|
-
|
|
67780
|
-
font-weight: 600;
|
|
67781
|
-
}
|
|
67782
|
-
|
|
67783
|
-
:where(.theme-scope)
|
|
67784
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67785
|
-
.er-whole-series-step-connector {
|
|
67786
|
-
flex: 1;
|
|
67787
|
-
height: 2px;
|
|
67788
|
-
background: var(--er-step-connector);
|
|
67789
|
-
min-width: 1rem;
|
|
67790
|
-
}
|
|
66855
|
+
/* =============================================================================
|
|
66856
|
+
* Success State
|
|
66857
|
+
* =============================================================================
|
|
66858
|
+
*/
|
|
67791
66859
|
|
|
67792
|
-
:where(.theme-scope)
|
|
67793
|
-
:
|
|
67794
|
-
.er-whole-series-step-connector--completed {
|
|
67795
|
-
background: var(--er-step-completed);
|
|
66860
|
+
:where(.theme-scope) .newsletter-success {
|
|
66861
|
+
text-align: center;
|
|
67796
66862
|
}
|
|
67797
66863
|
|
|
67798
|
-
:where(.theme-scope)
|
|
67799
|
-
:
|
|
67800
|
-
|
|
67801
|
-
|
|
67802
|
-
|
|
66864
|
+
:where(.theme-scope) .newsletter-success .fb-success {
|
|
66865
|
+
padding: 1rem 1.5rem;
|
|
66866
|
+
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
66867
|
+
border-radius: var(--radius-md, 0.5rem);
|
|
66868
|
+
color: rgb(var(--tb-text));
|
|
67803
66869
|
}
|
|
67804
66870
|
|
|
67805
66871
|
/* =============================================================================
|
|
67806
|
-
*
|
|
66872
|
+
* Block: Contact + Newsletter
|
|
67807
66873
|
* =============================================================================
|
|
67808
66874
|
*/
|
|
67809
|
-
|
|
67810
|
-
|
|
67811
|
-
.er-whole-series-run-list {
|
|
66875
|
+
|
|
66876
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
67812
66877
|
display: grid;
|
|
67813
|
-
|
|
66878
|
+
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
66879
|
+
gap: clamp(2.5rem, 6vw, 4rem);
|
|
66880
|
+
align-items: start;
|
|
67814
66881
|
}
|
|
67815
66882
|
|
|
67816
|
-
|
|
67817
|
-
|
|
67818
|
-
* =============================================================================
|
|
67819
|
-
*/
|
|
67820
|
-
:where(.theme-scope)
|
|
67821
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67822
|
-
.er-whole-series-run-card {
|
|
67823
|
-
border-radius: var(--rb-block-radius);
|
|
67824
|
-
border: 1px solid var(--er-border);
|
|
67825
|
-
padding: 1rem;
|
|
67826
|
-
background: rgb(var(--tb-background));
|
|
67827
|
-
cursor: pointer;
|
|
67828
|
-
transition:
|
|
67829
|
-
border-color var(--rb-block-transition) ease,
|
|
67830
|
-
transform var(--rb-block-transition) ease;
|
|
66883
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
66884
|
+
min-width: 0;
|
|
67831
66885
|
}
|
|
67832
66886
|
|
|
67833
|
-
:where(.theme-scope)
|
|
67834
|
-
:
|
|
67835
|
-
.er-whole-series-run-card:hover {
|
|
67836
|
-
border-color: var(--er-border-hover);
|
|
67837
|
-
transform: translateY(-1px);
|
|
66887
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
66888
|
+
margin-bottom: 1.5rem;
|
|
67838
66889
|
}
|
|
67839
66890
|
|
|
67840
|
-
:where(.theme-scope)
|
|
67841
|
-
|
|
67842
|
-
|
|
67843
|
-
outline: 2px solid var(--er-focus-ring);
|
|
67844
|
-
outline-offset: 2px;
|
|
66891
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
66892
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
66893
|
+
margin: 0 0 0.75rem;
|
|
67845
66894
|
}
|
|
67846
66895
|
|
|
67847
|
-
:where(.theme-scope)
|
|
67848
|
-
|
|
67849
|
-
|
|
67850
|
-
border-color: var(--er-border-selected);
|
|
67851
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
66896
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
66897
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
66898
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
67852
66899
|
}
|
|
67853
66900
|
|
|
67854
|
-
:where(.theme-scope)
|
|
67855
|
-
:
|
|
67856
|
-
|
|
67857
|
-
|
|
67858
|
-
font-weight: 700;
|
|
67859
|
-
font-size: 1.125rem;
|
|
66901
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
66902
|
+
display: flex;
|
|
66903
|
+
flex-direction: column;
|
|
66904
|
+
align-items: flex-start;
|
|
67860
66905
|
}
|
|
67861
66906
|
|
|
67862
|
-
:where(.theme-scope)
|
|
67863
|
-
:
|
|
67864
|
-
|
|
67865
|
-
margin: 0
|
|
67866
|
-
opacity: 0.8;
|
|
66907
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
66908
|
+
max-width: none;
|
|
66909
|
+
margin-left: 0;
|
|
66910
|
+
margin-right: 0;
|
|
67867
66911
|
}
|
|
67868
66912
|
|
|
67869
|
-
:where(.theme-scope)
|
|
67870
|
-
:
|
|
67871
|
-
.er-whole-series-run-card__sessions,
|
|
67872
|
-
:where(.theme-scope)
|
|
67873
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67874
|
-
.er-whole-series-run-card__price,
|
|
67875
|
-
:where(.theme-scope)
|
|
67876
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67877
|
-
.er-whole-series-run-card__capacity,
|
|
67878
|
-
:where(.theme-scope)
|
|
67879
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67880
|
-
.er-whole-series-run-card__venue {
|
|
67881
|
-
margin: 0.25rem 0 0 0;
|
|
67882
|
-
opacity: 0.85;
|
|
66913
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
66914
|
+
text-align: left;
|
|
67883
66915
|
}
|
|
67884
66916
|
|
|
67885
|
-
|
|
67886
|
-
|
|
67887
|
-
|
|
67888
|
-
|
|
67889
|
-
:where(.theme-scope)
|
|
67890
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67891
|
-
.er-whole-series-capacity-badge {
|
|
67892
|
-
display: inline-block;
|
|
67893
|
-
padding: 0.125rem 0.5rem;
|
|
67894
|
-
border-radius: 9999px;
|
|
67895
|
-
font-size: 0.75rem;
|
|
67896
|
-
font-weight: 500;
|
|
66917
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
66918
|
+
display: flex;
|
|
66919
|
+
flex-direction: column;
|
|
66920
|
+
gap: 1rem;
|
|
67897
66921
|
}
|
|
67898
66922
|
|
|
67899
|
-
:where(.theme-scope)
|
|
67900
|
-
:
|
|
67901
|
-
|
|
67902
|
-
|
|
67903
|
-
color: var(--er-capacity-available-text);
|
|
66923
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
66924
|
+
display: grid;
|
|
66925
|
+
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
66926
|
+
gap: 1rem;
|
|
67904
66927
|
}
|
|
67905
66928
|
|
|
67906
|
-
:where(.theme-scope)
|
|
67907
|
-
:
|
|
67908
|
-
|
|
67909
|
-
|
|
67910
|
-
color: var(--er-capacity-low-text);
|
|
66929
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-field {
|
|
66930
|
+
display: flex;
|
|
66931
|
+
flex-direction: column;
|
|
66932
|
+
gap: 0.25rem;
|
|
67911
66933
|
}
|
|
67912
66934
|
|
|
67913
|
-
:where(.theme-scope)
|
|
67914
|
-
:
|
|
67915
|
-
|
|
67916
|
-
|
|
67917
|
-
|
|
66935
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-fieldset {
|
|
66936
|
+
display: flex;
|
|
66937
|
+
flex-direction: column;
|
|
66938
|
+
gap: 0.5rem;
|
|
66939
|
+
border: none;
|
|
66940
|
+
padding: 0;
|
|
66941
|
+
margin: 0;
|
|
67918
66942
|
}
|
|
67919
66943
|
|
|
67920
|
-
|
|
67921
|
-
|
|
67922
|
-
|
|
67923
|
-
|
|
67924
|
-
:where(.theme-scope)
|
|
67925
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67926
|
-
.er-whole-series-details {
|
|
67927
|
-
display: grid;
|
|
67928
|
-
gap: 1rem;
|
|
66944
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
|
|
66945
|
+
display: flex;
|
|
66946
|
+
align-items: center;
|
|
66947
|
+
gap: 0.5rem;
|
|
67929
66948
|
}
|
|
67930
66949
|
|
|
67931
|
-
:where(.theme-scope)
|
|
67932
|
-
|
|
67933
|
-
|
|
66950
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
|
|
66951
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
|
|
66952
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
67934
66953
|
border-radius: var(--rb-block-radius);
|
|
67935
|
-
border: 1px solid var(--er-summary-border);
|
|
67936
66954
|
padding: 1rem;
|
|
67937
|
-
|
|
67938
|
-
}
|
|
67939
|
-
|
|
67940
|
-
:where(.theme-scope)
|
|
67941
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67942
|
-
.er-whole-series-summary__title {
|
|
67943
|
-
margin: 0;
|
|
67944
|
-
font-size: 1.25rem;
|
|
67945
|
-
font-weight: 800;
|
|
66955
|
+
font-size: 0.875rem;
|
|
67946
66956
|
}
|
|
67947
66957
|
|
|
67948
|
-
:where(.theme-scope)
|
|
67949
|
-
:
|
|
67950
|
-
|
|
67951
|
-
|
|
67952
|
-
font-weight: 700;
|
|
66958
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success {
|
|
66959
|
+
background-color: var(--fb-success-bg);
|
|
66960
|
+
color: var(--fb-success-text);
|
|
66961
|
+
border: 1px solid var(--fb-success-border);
|
|
67953
66962
|
}
|
|
67954
66963
|
|
|
67955
|
-
:where(.theme-scope)
|
|
67956
|
-
:
|
|
67957
|
-
|
|
67958
|
-
|
|
67959
|
-
padding: 0;
|
|
67960
|
-
margin: 0;
|
|
67961
|
-
display: grid;
|
|
67962
|
-
gap: 0.35rem;
|
|
66964
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error {
|
|
66965
|
+
background-color: var(--fb-error-bg);
|
|
66966
|
+
color: var(--fb-error-text);
|
|
66967
|
+
border: 1px solid var(--fb-error-border);
|
|
67963
66968
|
}
|
|
67964
66969
|
|
|
67965
|
-
:where(.theme-scope)
|
|
67966
|
-
:
|
|
67967
|
-
|
|
67968
|
-
|
|
66970
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
66971
|
+
background-color: var(--fb-empty-bg);
|
|
66972
|
+
color: var(--fb-empty-text);
|
|
66973
|
+
border: 1px dashed var(--fb-empty-border);
|
|
66974
|
+
text-align: center;
|
|
67969
66975
|
}
|
|
67970
66976
|
|
|
67971
|
-
:where(.theme-scope)
|
|
67972
|
-
:
|
|
67973
|
-
.er-whole-series-summary__venue,
|
|
67974
|
-
:where(.theme-scope)
|
|
67975
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67976
|
-
.er-whole-series-summary__price,
|
|
67977
|
-
:where(.theme-scope)
|
|
67978
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67979
|
-
.er-whole-series-summary__membership {
|
|
67980
|
-
margin: 0.5rem 0 0 0;
|
|
67981
|
-
opacity: 0.9;
|
|
66977
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-actions {
|
|
66978
|
+
margin-top: 0.5rem;
|
|
67982
66979
|
}
|
|
67983
66980
|
|
|
67984
66981
|
/* =============================================================================
|
|
67985
|
-
*
|
|
66982
|
+
* Block: Team Members
|
|
67986
66983
|
* =============================================================================
|
|
66984
|
+
*
|
|
66985
|
+
* Site/theme authors sometimes need different thumbnail shapes/sizes without
|
|
66986
|
+
* changing global fragment defaults. We expose these controls on the block and
|
|
66987
|
+
* style them via data attributes on the \`.rb-team-members\` wrapper.
|
|
67987
66988
|
*/
|
|
67988
|
-
:where(.theme-scope)
|
|
67989
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67990
|
-
.er-whole-series-form {
|
|
67991
|
-
display: grid;
|
|
67992
|
-
gap: 1rem;
|
|
67993
|
-
}
|
|
67994
66989
|
|
|
67995
|
-
|
|
67996
|
-
|
|
67997
|
-
|
|
67998
|
-
display: grid;
|
|
67999
|
-
gap: 0.35rem;
|
|
66990
|
+
/* Scope all block-static CSS to ThemeScope to avoid leaking into host apps/dashboard. */
|
|
66991
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) {
|
|
66992
|
+
text-align: left;
|
|
68000
66993
|
}
|
|
68001
66994
|
|
|
68002
|
-
:where(.theme-scope)
|
|
68003
|
-
:
|
|
68004
|
-
|
|
68005
|
-
font-size: 0.875rem;
|
|
68006
|
-
font-weight: 600;
|
|
66995
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) :where(.rb-team-member) {
|
|
66996
|
+
align-items: flex-start;
|
|
66997
|
+
text-align: left;
|
|
68007
66998
|
}
|
|
68008
66999
|
|
|
68009
|
-
|
|
68010
|
-
|
|
68011
|
-
|
|
68012
|
-
|
|
68013
|
-
|
|
67000
|
+
@container rb-site (min-width: 1024px) {
|
|
67001
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
67002
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-width="lg-3-4-left"]) {
|
|
67003
|
+
width: 75%;
|
|
67004
|
+
margin-left: 0;
|
|
67005
|
+
margin-right: auto;
|
|
67006
|
+
}
|
|
67007
|
+
}
|
|
68014
67008
|
}
|
|
68015
67009
|
|
|
68016
|
-
:where(.theme-scope)
|
|
68017
|
-
:
|
|
68018
|
-
|
|
68019
|
-
|
|
68020
|
-
border: 1px solid var(--er-border);
|
|
68021
|
-
padding: 0.6rem 0.75rem;
|
|
68022
|
-
background: rgb(var(--tb-background));
|
|
68023
|
-
color: rgb(var(--tb-foreground));
|
|
67010
|
+
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-photo {
|
|
67011
|
+
display: block;
|
|
67012
|
+
width: 100%;
|
|
67013
|
+
height: auto;
|
|
68024
67014
|
}
|
|
68025
67015
|
|
|
68026
|
-
:where(.theme-scope)
|
|
68027
|
-
:
|
|
68028
|
-
.er-whole-series-form__textarea {
|
|
68029
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
68030
|
-
border: 1px solid var(--er-border);
|
|
68031
|
-
padding: 0.6rem 0.75rem;
|
|
68032
|
-
background: rgb(var(--tb-background));
|
|
68033
|
-
color: rgb(var(--tb-foreground));
|
|
68034
|
-
resize: vertical;
|
|
67016
|
+
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-role {
|
|
67017
|
+
font-weight: 600;
|
|
68035
67018
|
}
|
|
68036
67019
|
|
|
68037
|
-
:
|
|
68038
|
-
|
|
68039
|
-
|
|
68040
|
-
:
|
|
68041
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68042
|
-
.er-whole-series-form__textarea:focus {
|
|
68043
|
-
outline: 2px solid var(--er-focus-ring);
|
|
68044
|
-
outline-offset: 2px;
|
|
67020
|
+
/* Thumbnail sizing: map \`data-image-col-size\` to a sensible max thumbnail width. */
|
|
67021
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members) {
|
|
67022
|
+
--rb-team-thumb-max: 11.25rem; /* ~180px default */
|
|
67023
|
+
--rb-team-image-basis: 33.333%;
|
|
68045
67024
|
}
|
|
68046
67025
|
|
|
68047
|
-
:where(.theme-scope)
|
|
68048
|
-
|
|
68049
|
-
|
|
68050
|
-
:where(.theme-scope)
|
|
68051
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68052
|
-
.er-whole-series-form__textarea.er-whole-series-form__input--error {
|
|
68053
|
-
border-color: var(--er-border-error);
|
|
67026
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/4"]) {
|
|
67027
|
+
--rb-team-thumb-max: 8.75rem; /* ~140px */
|
|
67028
|
+
--rb-team-image-basis: 25%;
|
|
68054
67029
|
}
|
|
68055
67030
|
|
|
68056
|
-
:where(.theme-scope)
|
|
68057
|
-
|
|
68058
|
-
|
|
68059
|
-
font-size: 0.875rem;
|
|
68060
|
-
color: var(--er-error-text);
|
|
67031
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/3"]) {
|
|
67032
|
+
--rb-team-thumb-max: 11.25rem; /* ~180px */
|
|
67033
|
+
--rb-team-image-basis: 33.333%;
|
|
68061
67034
|
}
|
|
68062
67035
|
|
|
68063
|
-
:where(.theme-scope)
|
|
68064
|
-
|
|
68065
|
-
|
|
68066
|
-
font-size: 0.875rem;
|
|
68067
|
-
opacity: 0.7;
|
|
68068
|
-
}
|
|
68069
|
-
|
|
68070
|
-
/* Logged-in user hint with logout link */
|
|
68071
|
-
:where(.theme-scope)
|
|
68072
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68073
|
-
.er-whole-series-logged-in-hint {
|
|
68074
|
-
font-size: 0.875rem;
|
|
68075
|
-
opacity: 0.7;
|
|
68076
|
-
margin: 0.25rem 0 0 0;
|
|
68077
|
-
}
|
|
68078
|
-
|
|
68079
|
-
:where(.theme-scope)
|
|
68080
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68081
|
-
.er-whole-series-link {
|
|
68082
|
-
background: none;
|
|
68083
|
-
border: none;
|
|
68084
|
-
padding: 0;
|
|
68085
|
-
font-size: inherit;
|
|
68086
|
-
color: rgb(var(--tb-primary));
|
|
68087
|
-
cursor: pointer;
|
|
68088
|
-
text-decoration: underline;
|
|
68089
|
-
text-underline-offset: 2px;
|
|
68090
|
-
}
|
|
68091
|
-
|
|
68092
|
-
:where(.theme-scope)
|
|
68093
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68094
|
-
.er-whole-series-link:hover {
|
|
68095
|
-
text-decoration: none;
|
|
68096
|
-
}
|
|
68097
|
-
|
|
68098
|
-
/* =============================================================================
|
|
68099
|
-
* Actions
|
|
68100
|
-
* =============================================================================
|
|
68101
|
-
*/
|
|
68102
|
-
:where(.theme-scope)
|
|
68103
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68104
|
-
.er-whole-series-actions {
|
|
68105
|
-
display: flex;
|
|
68106
|
-
align-items: center;
|
|
68107
|
-
justify-content: space-between;
|
|
68108
|
-
gap: 0.75rem;
|
|
68109
|
-
margin-top: 0.25rem;
|
|
68110
|
-
}
|
|
68111
|
-
|
|
68112
|
-
:where(.theme-scope)
|
|
68113
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68114
|
-
.er-whole-series-back-btn {
|
|
68115
|
-
border: 0;
|
|
68116
|
-
background: transparent;
|
|
68117
|
-
color: var(--er-on-surface);
|
|
68118
|
-
opacity: 0.8;
|
|
68119
|
-
padding: 0.25rem 0.25rem;
|
|
68120
|
-
cursor: pointer;
|
|
68121
|
-
}
|
|
68122
|
-
|
|
68123
|
-
:where(.theme-scope)
|
|
68124
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68125
|
-
.er-whole-series-back-btn:hover {
|
|
68126
|
-
opacity: 1;
|
|
68127
|
-
text-decoration: underline;
|
|
68128
|
-
}
|
|
68129
|
-
|
|
68130
|
-
/* =============================================================================
|
|
68131
|
-
* Payment Options
|
|
68132
|
-
* =============================================================================
|
|
68133
|
-
*/
|
|
68134
|
-
:where(.theme-scope)
|
|
68135
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68136
|
-
.er-whole-series-payment__options {
|
|
68137
|
-
display: grid;
|
|
68138
|
-
gap: 0.5rem;
|
|
68139
|
-
}
|
|
68140
|
-
|
|
68141
|
-
:where(.theme-scope)
|
|
68142
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68143
|
-
.er-whole-series-payment__option {
|
|
68144
|
-
display: flex;
|
|
68145
|
-
align-items: center;
|
|
68146
|
-
gap: 0.5rem;
|
|
68147
|
-
}
|
|
68148
|
-
|
|
68149
|
-
/* =============================================================================
|
|
68150
|
-
* Payment Tiles (Card Grid)
|
|
68151
|
-
* =============================================================================
|
|
68152
|
-
*/
|
|
68153
|
-
:where(.theme-scope)
|
|
68154
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68155
|
-
.er-whole-series-payment-tiles {
|
|
68156
|
-
display: grid;
|
|
68157
|
-
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
68158
|
-
gap: 0.75rem;
|
|
68159
|
-
}
|
|
68160
|
-
|
|
68161
|
-
:where(.theme-scope)
|
|
68162
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68163
|
-
.er-whole-series-payment-tile {
|
|
68164
|
-
border-radius: var(--rb-block-radius);
|
|
68165
|
-
border: 1px solid var(--er-payment-border);
|
|
68166
|
-
padding: 1rem;
|
|
68167
|
-
background: rgb(var(--tb-background));
|
|
68168
|
-
cursor: pointer;
|
|
68169
|
-
transition:
|
|
68170
|
-
border-color 0.15s ease,
|
|
68171
|
-
box-shadow 0.15s ease,
|
|
68172
|
-
background-color 0.15s ease;
|
|
68173
|
-
position: relative;
|
|
68174
|
-
}
|
|
68175
|
-
|
|
68176
|
-
:where(.theme-scope)
|
|
68177
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68178
|
-
.er-whole-series-payment-tile:hover {
|
|
68179
|
-
border-color: var(--er-payment-border-hover);
|
|
68180
|
-
}
|
|
68181
|
-
|
|
68182
|
-
:where(.theme-scope)
|
|
68183
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68184
|
-
.er-whole-series-payment-tile:focus-visible {
|
|
68185
|
-
outline: 2px solid var(--er-focus-ring);
|
|
68186
|
-
outline-offset: 2px;
|
|
68187
|
-
}
|
|
68188
|
-
|
|
68189
|
-
:where(.theme-scope)
|
|
68190
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68191
|
-
.er-whole-series-payment-tile--selected {
|
|
68192
|
-
border-color: var(--er-payment-border-selected);
|
|
68193
|
-
background: var(--er-payment-bg-selected);
|
|
68194
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
68195
|
-
}
|
|
68196
|
-
|
|
68197
|
-
:where(.theme-scope)
|
|
68198
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68199
|
-
.er-whole-series-payment-tile--upsell {
|
|
68200
|
-
border-style: dashed;
|
|
68201
|
-
}
|
|
68202
|
-
|
|
68203
|
-
:where(.theme-scope)
|
|
68204
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68205
|
-
.er-whole-series-payment-tile__header {
|
|
68206
|
-
display: flex;
|
|
68207
|
-
align-items: flex-start;
|
|
68208
|
-
justify-content: space-between;
|
|
68209
|
-
gap: 0.5rem;
|
|
68210
|
-
}
|
|
68211
|
-
|
|
68212
|
-
:where(.theme-scope)
|
|
68213
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68214
|
-
.er-whole-series-payment-tile__name {
|
|
68215
|
-
margin: 0;
|
|
68216
|
-
font-weight: 600;
|
|
68217
|
-
font-size: 1rem;
|
|
68218
|
-
}
|
|
68219
|
-
|
|
68220
|
-
:where(.theme-scope)
|
|
68221
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68222
|
-
.er-whole-series-payment-tile__description {
|
|
68223
|
-
margin: 0.25rem 0 0 0;
|
|
68224
|
-
font-size: 0.875rem;
|
|
68225
|
-
opacity: 0.7;
|
|
68226
|
-
}
|
|
68227
|
-
|
|
68228
|
-
:where(.theme-scope)
|
|
68229
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68230
|
-
.er-whole-series-payment-tile__price {
|
|
68231
|
-
font-weight: 600;
|
|
68232
|
-
font-size: 0.875rem;
|
|
68233
|
-
white-space: nowrap;
|
|
68234
|
-
}
|
|
68235
|
-
|
|
68236
|
-
:where(.theme-scope)
|
|
68237
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68238
|
-
.er-whole-series-payment-tile__badge {
|
|
68239
|
-
display: inline-block;
|
|
68240
|
-
padding: 0.125rem 0.5rem;
|
|
68241
|
-
border-radius: 9999px;
|
|
68242
|
-
font-size: 0.75rem;
|
|
68243
|
-
font-weight: 500;
|
|
68244
|
-
margin-top: 0.5rem;
|
|
68245
|
-
}
|
|
68246
|
-
|
|
68247
|
-
/* Checkmark indicator on selected tile */
|
|
68248
|
-
:where(.theme-scope)
|
|
68249
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68250
|
-
.er-whole-series-payment-tile__check {
|
|
68251
|
-
position: absolute;
|
|
68252
|
-
top: 0.5rem;
|
|
68253
|
-
right: 0.5rem;
|
|
68254
|
-
width: 1.25rem;
|
|
68255
|
-
height: 1.25rem;
|
|
68256
|
-
border-radius: 9999px;
|
|
68257
|
-
background: var(--er-check-bg);
|
|
68258
|
-
color: var(--er-check-text);
|
|
68259
|
-
display: flex;
|
|
68260
|
-
align-items: center;
|
|
68261
|
-
justify-content: center;
|
|
68262
|
-
opacity: 0;
|
|
68263
|
-
transition: opacity 0.15s ease;
|
|
68264
|
-
}
|
|
68265
|
-
|
|
68266
|
-
:where(.theme-scope)
|
|
68267
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68268
|
-
.er-whole-series-payment-tile--selected
|
|
68269
|
-
.er-whole-series-payment-tile__check {
|
|
68270
|
-
opacity: 1;
|
|
68271
|
-
}
|
|
68272
|
-
|
|
68273
|
-
/* =============================================================================
|
|
68274
|
-
* Booking Mode Step
|
|
68275
|
-
* =============================================================================
|
|
68276
|
-
*/
|
|
68277
|
-
:where(.theme-scope)
|
|
68278
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68279
|
-
.er-whole-series-booking-mode {
|
|
68280
|
-
display: grid;
|
|
68281
|
-
gap: 1rem;
|
|
68282
|
-
}
|
|
68283
|
-
|
|
68284
|
-
:where(.theme-scope)
|
|
68285
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68286
|
-
.er-whole-series-booking-mode__title {
|
|
68287
|
-
margin: 0;
|
|
68288
|
-
font-size: var(--er-step-title-size);
|
|
68289
|
-
font-weight: 700;
|
|
68290
|
-
}
|
|
68291
|
-
|
|
68292
|
-
:where(.theme-scope)
|
|
68293
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68294
|
-
.er-whole-series-booking-mode__subtitle {
|
|
68295
|
-
margin: 0.25rem 0 0 0;
|
|
68296
|
-
opacity: 0.7;
|
|
68297
|
-
}
|
|
68298
|
-
|
|
68299
|
-
:where(.theme-scope)
|
|
68300
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68301
|
-
.er-whole-series-booking-mode__link {
|
|
68302
|
-
margin-top: 0.5rem;
|
|
68303
|
-
font-size: 0.875rem;
|
|
68304
|
-
}
|
|
68305
|
-
|
|
68306
|
-
:where(.theme-scope)
|
|
68307
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68308
|
-
.er-whole-series-booking-mode__link
|
|
68309
|
-
a {
|
|
68310
|
-
color: rgb(var(--tb-primary));
|
|
68311
|
-
text-decoration: underline;
|
|
68312
|
-
cursor: pointer;
|
|
68313
|
-
}
|
|
68314
|
-
|
|
68315
|
-
:where(.theme-scope)
|
|
68316
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68317
|
-
.er-whole-series-booking-mode__link
|
|
68318
|
-
a:hover {
|
|
68319
|
-
text-decoration: none;
|
|
68320
|
-
}
|
|
68321
|
-
|
|
68322
|
-
/* =============================================================================
|
|
68323
|
-
* Membership Hero
|
|
68324
|
-
* =============================================================================
|
|
68325
|
-
*/
|
|
68326
|
-
:where(.theme-scope)
|
|
68327
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68328
|
-
.er-whole-series-membership-hero {
|
|
68329
|
-
border-radius: var(--rb-block-radius);
|
|
68330
|
-
background: var(--er-success-bg);
|
|
68331
|
-
border: 1px solid rgba(var(--tb-success), 0.2);
|
|
68332
|
-
padding: 1.5rem;
|
|
68333
|
-
text-align: center;
|
|
68334
|
-
}
|
|
68335
|
-
|
|
68336
|
-
:where(.theme-scope)
|
|
68337
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68338
|
-
.er-whole-series-membership-hero__icon {
|
|
68339
|
-
font-size: 2rem;
|
|
68340
|
-
margin-bottom: 0.75rem;
|
|
68341
|
-
}
|
|
68342
|
-
|
|
68343
|
-
:where(.theme-scope)
|
|
68344
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68345
|
-
.er-whole-series-membership-hero__title {
|
|
68346
|
-
margin: 0;
|
|
68347
|
-
font-size: 1.25rem;
|
|
68348
|
-
font-weight: 700;
|
|
68349
|
-
color: var(--er-success-text);
|
|
68350
|
-
}
|
|
68351
|
-
|
|
68352
|
-
:where(.theme-scope)
|
|
68353
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68354
|
-
.er-whole-series-membership-hero__subtitle {
|
|
68355
|
-
margin: 0.25rem 0 0 0;
|
|
68356
|
-
font-size: 0.875rem;
|
|
68357
|
-
opacity: 0.8;
|
|
68358
|
-
}
|
|
68359
|
-
|
|
68360
|
-
/* =============================================================================
|
|
68361
|
-
* Portal Auth Sidebar
|
|
68362
|
-
* =============================================================================
|
|
68363
|
-
*/
|
|
68364
|
-
:where(.theme-scope)
|
|
68365
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68366
|
-
.er-whole-series-portal-sidebar {
|
|
68367
|
-
border-radius: var(--rb-block-radius);
|
|
68368
|
-
border: 1px solid var(--er-border);
|
|
68369
|
-
padding: 1.25rem;
|
|
68370
|
-
background: rgb(var(--tb-surface));
|
|
68371
|
-
color: var(--er-on-surface);
|
|
68372
|
-
}
|
|
68373
|
-
|
|
68374
|
-
:where(.theme-scope)
|
|
68375
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68376
|
-
.er-whole-series-portal-sidebar__icon {
|
|
68377
|
-
font-size: 1.5rem;
|
|
68378
|
-
margin-bottom: 0.5rem;
|
|
68379
|
-
}
|
|
68380
|
-
|
|
68381
|
-
:where(.theme-scope)
|
|
68382
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68383
|
-
.er-whole-series-portal-sidebar__title {
|
|
68384
|
-
margin: 0;
|
|
68385
|
-
font-size: 1rem;
|
|
68386
|
-
font-weight: 600;
|
|
68387
|
-
}
|
|
68388
|
-
|
|
68389
|
-
:where(.theme-scope)
|
|
68390
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68391
|
-
.er-whole-series-portal-sidebar__text {
|
|
68392
|
-
margin: 0.5rem 0 0 0;
|
|
68393
|
-
font-size: 0.875rem;
|
|
68394
|
-
opacity: 0.8;
|
|
68395
|
-
}
|
|
68396
|
-
|
|
68397
|
-
:where(.theme-scope)
|
|
68398
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68399
|
-
.er-whole-series-portal-sidebar__action {
|
|
68400
|
-
margin-top: 1rem;
|
|
68401
|
-
}
|
|
68402
|
-
|
|
68403
|
-
:where(.theme-scope)
|
|
68404
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68405
|
-
.er-whole-series-portal-sidebar__link {
|
|
68406
|
-
color: rgb(var(--tb-primary));
|
|
68407
|
-
cursor: pointer;
|
|
68408
|
-
text-decoration: underline;
|
|
68409
|
-
font-size: 0.875rem;
|
|
68410
|
-
}
|
|
68411
|
-
|
|
68412
|
-
:where(.theme-scope)
|
|
68413
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68414
|
-
.er-whole-series-portal-sidebar__link:hover {
|
|
68415
|
-
text-decoration: none;
|
|
68416
|
-
}
|
|
68417
|
-
|
|
68418
|
-
/* =============================================================================
|
|
68419
|
-
* Modal (for Magic Link)
|
|
68420
|
-
* =============================================================================
|
|
68421
|
-
*/
|
|
68422
|
-
:where(.theme-scope)
|
|
68423
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68424
|
-
.er-whole-series-modal-overlay {
|
|
68425
|
-
position: fixed;
|
|
68426
|
-
inset: 0;
|
|
68427
|
-
background: rgba(var(--tb-scrim), 0.5);
|
|
68428
|
-
display: flex;
|
|
68429
|
-
align-items: center;
|
|
68430
|
-
justify-content: center;
|
|
68431
|
-
z-index: 100;
|
|
68432
|
-
animation: er-whole-series-fade-in 0.15s ease;
|
|
68433
|
-
}
|
|
68434
|
-
|
|
68435
|
-
:where(.theme-scope)
|
|
68436
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68437
|
-
.er-whole-series-modal {
|
|
68438
|
-
background: rgb(var(--tb-surface));
|
|
68439
|
-
color: var(--er-on-surface);
|
|
68440
|
-
border-radius: var(--rb-block-radius);
|
|
68441
|
-
padding: 1.5rem;
|
|
68442
|
-
max-width: 28rem;
|
|
68443
|
-
width: calc(100% - 2rem);
|
|
68444
|
-
position: relative;
|
|
68445
|
-
animation: er-whole-series-slide-up 0.2s ease;
|
|
68446
|
-
}
|
|
68447
|
-
|
|
68448
|
-
:where(.theme-scope)
|
|
68449
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68450
|
-
.er-whole-series-modal-close {
|
|
68451
|
-
position: absolute;
|
|
68452
|
-
top: 0.75rem;
|
|
68453
|
-
right: 0.75rem;
|
|
68454
|
-
background: transparent;
|
|
68455
|
-
border: 0;
|
|
68456
|
-
padding: 0.25rem;
|
|
68457
|
-
cursor: pointer;
|
|
68458
|
-
opacity: 0.6;
|
|
68459
|
-
transition: opacity 0.15s ease;
|
|
68460
|
-
}
|
|
68461
|
-
|
|
68462
|
-
:where(.theme-scope)
|
|
68463
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68464
|
-
.er-whole-series-modal-close:hover {
|
|
68465
|
-
opacity: 1;
|
|
68466
|
-
}
|
|
68467
|
-
|
|
68468
|
-
@keyframes er-whole-series-fade-in {
|
|
68469
|
-
from {
|
|
68470
|
-
opacity: 0;
|
|
68471
|
-
}
|
|
68472
|
-
to {
|
|
68473
|
-
opacity: 1;
|
|
68474
|
-
}
|
|
68475
|
-
}
|
|
68476
|
-
|
|
68477
|
-
@keyframes er-whole-series-slide-up {
|
|
68478
|
-
from {
|
|
68479
|
-
opacity: 0;
|
|
68480
|
-
transform: translateY(10px);
|
|
68481
|
-
}
|
|
68482
|
-
to {
|
|
68483
|
-
opacity: 1;
|
|
68484
|
-
transform: translateY(0);
|
|
68485
|
-
}
|
|
68486
|
-
}
|
|
68487
|
-
|
|
68488
|
-
/* Reduced motion */
|
|
68489
|
-
@media (prefers-reduced-motion: reduce) {
|
|
68490
|
-
:where(.theme-scope)
|
|
68491
|
-
:where(
|
|
68492
|
-
[data-block='event-registration'],
|
|
68493
|
-
[data-block='course-registration']
|
|
68494
|
-
)
|
|
68495
|
-
.er-whole-series-modal-overlay,
|
|
68496
|
-
:where(.theme-scope)
|
|
68497
|
-
:where(
|
|
68498
|
-
[data-block='event-registration'],
|
|
68499
|
-
[data-block='course-registration']
|
|
68500
|
-
)
|
|
68501
|
-
.er-whole-series-modal {
|
|
68502
|
-
animation: none;
|
|
68503
|
-
}
|
|
68504
|
-
}
|
|
68505
|
-
|
|
68506
|
-
/* =============================================================================
|
|
68507
|
-
* Center States
|
|
68508
|
-
* =============================================================================
|
|
68509
|
-
*/
|
|
68510
|
-
:where(.theme-scope)
|
|
68511
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68512
|
-
.er-whole-series-center {
|
|
68513
|
-
display: grid;
|
|
68514
|
-
place-items: center;
|
|
68515
|
-
gap: 0.75rem;
|
|
68516
|
-
padding: 2rem 0;
|
|
68517
|
-
}
|
|
68518
|
-
|
|
68519
|
-
/* =============================================================================
|
|
68520
|
-
* Success/Waitlist/Error States
|
|
68521
|
-
* =============================================================================
|
|
68522
|
-
*/
|
|
68523
|
-
:where(.theme-scope)
|
|
68524
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68525
|
-
.er-whole-series-success,
|
|
68526
|
-
:where(.theme-scope)
|
|
68527
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68528
|
-
.er-whole-series-waitlist,
|
|
68529
|
-
:where(.theme-scope)
|
|
68530
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68531
|
-
.er-whole-series-error,
|
|
68532
|
-
:where(.theme-scope)
|
|
68533
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68534
|
-
.er-whole-series-payment-failed {
|
|
68535
|
-
text-align: center;
|
|
68536
|
-
padding: 2rem 1rem;
|
|
68537
|
-
}
|
|
68538
|
-
|
|
68539
|
-
/* State icon color variants (layout from registration-surface.css) */
|
|
68540
|
-
:where(.theme-scope)
|
|
68541
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68542
|
-
.rb-state-icon--success {
|
|
68543
|
-
background: var(--er-success-bg);
|
|
68544
|
-
color: var(--er-success-text);
|
|
68545
|
-
}
|
|
68546
|
-
|
|
68547
|
-
:where(.theme-scope)
|
|
68548
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68549
|
-
.rb-state-icon--error {
|
|
68550
|
-
background: var(--er-error-bg);
|
|
68551
|
-
color: var(--er-error-text);
|
|
68552
|
-
}
|
|
68553
|
-
|
|
68554
|
-
:where(.theme-scope)
|
|
68555
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68556
|
-
.rb-state-icon--waitlist,
|
|
68557
|
-
:where(.theme-scope)
|
|
68558
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68559
|
-
.rb-state-icon--warning {
|
|
68560
|
-
background: var(--er-waitlist-bg);
|
|
68561
|
-
color: var(--er-waitlist-text);
|
|
68562
|
-
}
|
|
68563
|
-
|
|
68564
|
-
:where(.theme-scope)
|
|
68565
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68566
|
-
.er-whole-series-success__title,
|
|
68567
|
-
:where(.theme-scope)
|
|
68568
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68569
|
-
.er-whole-series-waitlist__title,
|
|
68570
|
-
:where(.theme-scope)
|
|
68571
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68572
|
-
.er-whole-series-error__title,
|
|
68573
|
-
:where(.theme-scope)
|
|
68574
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68575
|
-
.er-whole-series-payment-failed__title {
|
|
68576
|
-
margin: 0.75rem 0 0.5rem 0;
|
|
68577
|
-
font-size: 1.125rem;
|
|
68578
|
-
font-weight: 700;
|
|
68579
|
-
}
|
|
68580
|
-
|
|
68581
|
-
:where(.theme-scope)
|
|
68582
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68583
|
-
.er-whole-series-success__message,
|
|
68584
|
-
:where(.theme-scope)
|
|
68585
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68586
|
-
.er-whole-series-waitlist__message,
|
|
68587
|
-
:where(.theme-scope)
|
|
68588
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68589
|
-
.er-whole-series-error__message,
|
|
68590
|
-
:where(.theme-scope)
|
|
68591
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68592
|
-
.er-whole-series-payment-failed__message {
|
|
68593
|
-
margin: 0;
|
|
68594
|
-
opacity: 0.7;
|
|
68595
|
-
}
|
|
68596
|
-
|
|
68597
|
-
:where(.theme-scope)
|
|
68598
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68599
|
-
.er-whole-series-success__membership {
|
|
68600
|
-
margin-top: 0.5rem;
|
|
68601
|
-
font-size: 0.875rem;
|
|
68602
|
-
color: var(--er-success-text);
|
|
68603
|
-
}
|
|
68604
|
-
|
|
68605
|
-
:where(.theme-scope)
|
|
68606
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68607
|
-
.er-whole-series-error__retry,
|
|
68608
|
-
:where(.theme-scope)
|
|
68609
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68610
|
-
.er-whole-series-payment-failed__retry {
|
|
68611
|
-
margin-top: 1rem;
|
|
68612
|
-
}
|
|
68613
|
-
|
|
68614
|
-
/* =============================================================================
|
|
68615
|
-
* Discount Code Section
|
|
68616
|
-
* =============================================================================
|
|
68617
|
-
*/
|
|
68618
|
-
:where(.theme-scope)
|
|
68619
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68620
|
-
.er-whole-series-discount {
|
|
68621
|
-
margin-top: 0.5rem;
|
|
68622
|
-
}
|
|
68623
|
-
|
|
68624
|
-
:where(.theme-scope)
|
|
68625
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68626
|
-
.er-whole-series-discount__form {
|
|
68627
|
-
display: grid;
|
|
68628
|
-
gap: 0.5rem;
|
|
68629
|
-
}
|
|
68630
|
-
|
|
68631
|
-
:where(.theme-scope)
|
|
68632
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68633
|
-
.er-whole-series-discount__toggle {
|
|
68634
|
-
background: transparent;
|
|
68635
|
-
border: 0;
|
|
68636
|
-
padding: 0;
|
|
68637
|
-
color: rgb(var(--tb-primary));
|
|
68638
|
-
cursor: pointer;
|
|
68639
|
-
font-size: 0.875rem;
|
|
68640
|
-
text-decoration: underline;
|
|
68641
|
-
}
|
|
68642
|
-
|
|
68643
|
-
:where(.theme-scope)
|
|
68644
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68645
|
-
.er-whole-series-discount__toggle:hover {
|
|
68646
|
-
text-decoration: none;
|
|
68647
|
-
}
|
|
68648
|
-
|
|
68649
|
-
:where(.theme-scope)
|
|
68650
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68651
|
-
.er-whole-series-discount__label {
|
|
68652
|
-
font-size: 0.875rem;
|
|
68653
|
-
font-weight: 600;
|
|
68654
|
-
}
|
|
68655
|
-
|
|
68656
|
-
:where(.theme-scope)
|
|
68657
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68658
|
-
.er-whole-series-discount__row {
|
|
68659
|
-
display: flex;
|
|
68660
|
-
gap: 0.5rem;
|
|
68661
|
-
}
|
|
68662
|
-
|
|
68663
|
-
:where(.theme-scope)
|
|
68664
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68665
|
-
.er-whole-series-discount__input {
|
|
68666
|
-
flex: 1;
|
|
68667
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
68668
|
-
border: 1px solid var(--er-border);
|
|
68669
|
-
padding: 0.5rem 0.75rem;
|
|
68670
|
-
background: rgb(var(--tb-background));
|
|
68671
|
-
color: rgb(var(--tb-foreground));
|
|
68672
|
-
font-size: 0.875rem;
|
|
68673
|
-
}
|
|
68674
|
-
|
|
68675
|
-
:where(.theme-scope)
|
|
68676
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68677
|
-
.er-whole-series-discount__input:focus {
|
|
68678
|
-
outline: 2px solid var(--er-focus-ring);
|
|
68679
|
-
outline-offset: 2px;
|
|
68680
|
-
}
|
|
68681
|
-
|
|
68682
|
-
:where(.theme-scope)
|
|
68683
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68684
|
-
.er-whole-series-discount__remove {
|
|
68685
|
-
background: transparent;
|
|
68686
|
-
border: 0;
|
|
68687
|
-
padding: 0.25rem;
|
|
68688
|
-
cursor: pointer;
|
|
68689
|
-
opacity: 0.6;
|
|
68690
|
-
}
|
|
68691
|
-
|
|
68692
|
-
:where(.theme-scope)
|
|
68693
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68694
|
-
.er-whole-series-discount__apply {
|
|
68695
|
-
background: transparent;
|
|
68696
|
-
border: 0;
|
|
68697
|
-
padding: 0.25rem;
|
|
68698
|
-
cursor: pointer;
|
|
68699
|
-
opacity: 0.8;
|
|
68700
|
-
}
|
|
68701
|
-
|
|
68702
|
-
:where(.theme-scope)
|
|
68703
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68704
|
-
.er-whole-series-discount__remove:hover {
|
|
68705
|
-
opacity: 1;
|
|
68706
|
-
}
|
|
68707
|
-
|
|
68708
|
-
:where(.theme-scope)
|
|
68709
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68710
|
-
.er-whole-series-discount__apply:hover {
|
|
68711
|
-
opacity: 1;
|
|
68712
|
-
}
|
|
68713
|
-
|
|
68714
|
-
:where(.theme-scope)
|
|
68715
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68716
|
-
.er-whole-series-discount__hint {
|
|
68717
|
-
margin: 0;
|
|
68718
|
-
font-size: 0.875rem;
|
|
68719
|
-
opacity: 0.7;
|
|
68720
|
-
}
|
|
68721
|
-
|
|
68722
|
-
:where(.theme-scope)
|
|
68723
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68724
|
-
.er-whole-series-discount__feedback {
|
|
68725
|
-
margin: 0;
|
|
68726
|
-
font-size: 0.875rem;
|
|
68727
|
-
}
|
|
68728
|
-
|
|
68729
|
-
/* =============================================================================
|
|
68730
|
-
* Altcha (Spam Protection)
|
|
68731
|
-
* =============================================================================
|
|
68732
|
-
*/
|
|
68733
|
-
:where(.theme-scope)
|
|
68734
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68735
|
-
.er-whole-series-altcha {
|
|
68736
|
-
margin-top: 1rem;
|
|
68737
|
-
}
|
|
68738
|
-
|
|
68739
|
-
/* =============================================================================
|
|
68740
|
-
* Magic Link Form
|
|
68741
|
-
* =============================================================================
|
|
68742
|
-
*/
|
|
68743
|
-
:where(.theme-scope)
|
|
68744
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68745
|
-
.er-whole-series-magic-link-form {
|
|
68746
|
-
display: flex;
|
|
68747
|
-
flex-direction: column;
|
|
68748
|
-
gap: 0.75rem;
|
|
68749
|
-
}
|
|
68750
|
-
|
|
68751
|
-
:where(.theme-scope)
|
|
68752
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68753
|
-
.er-whole-series-magic-link-title {
|
|
68754
|
-
margin: 0;
|
|
68755
|
-
font-size: 1.25rem;
|
|
68756
|
-
font-weight: 700;
|
|
68757
|
-
}
|
|
68758
|
-
|
|
68759
|
-
:where(.theme-scope)
|
|
68760
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68761
|
-
.er-whole-series-magic-link-success {
|
|
68762
|
-
display: flex;
|
|
68763
|
-
flex-direction: column;
|
|
68764
|
-
gap: 0.75rem;
|
|
68765
|
-
}
|
|
68766
|
-
|
|
68767
|
-
:where(.theme-scope)
|
|
68768
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68769
|
-
.er-whole-series-portal-auth-text {
|
|
68770
|
-
margin: 0;
|
|
68771
|
-
font-size: 0.875rem;
|
|
68772
|
-
opacity: 0.8;
|
|
68773
|
-
}
|
|
68774
|
-
|
|
68775
|
-
:where(.theme-scope)
|
|
68776
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68777
|
-
.er-whole-series-portal-auth-text--success {
|
|
68778
|
-
color: var(--er-success-text);
|
|
68779
|
-
}
|
|
68780
|
-
|
|
68781
|
-
:where(.theme-scope)
|
|
68782
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68783
|
-
.er-whole-series-portal-auth-text--error {
|
|
68784
|
-
color: var(--er-error-text);
|
|
68785
|
-
}
|
|
68786
|
-
|
|
68787
|
-
:where(.theme-scope)
|
|
68788
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68789
|
-
.er-whole-series-modal-btn {
|
|
68790
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
68791
|
-
border: 0;
|
|
68792
|
-
padding: 0.6rem 1rem;
|
|
68793
|
-
font-size: 0.875rem;
|
|
68794
|
-
font-weight: 600;
|
|
68795
|
-
cursor: pointer;
|
|
68796
|
-
transition: opacity 0.15s ease;
|
|
68797
|
-
background: rgb(var(--tb-primary));
|
|
68798
|
-
color: rgb(var(--tb-primaryText, 255 255 255));
|
|
68799
|
-
}
|
|
68800
|
-
|
|
68801
|
-
:where(.theme-scope)
|
|
68802
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68803
|
-
.er-whole-series-modal-btn:hover {
|
|
68804
|
-
opacity: 0.9;
|
|
68805
|
-
}
|
|
68806
|
-
|
|
68807
|
-
:where(.theme-scope)
|
|
68808
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68809
|
-
.er-whole-series-modal-btn:disabled {
|
|
68810
|
-
opacity: 0.5;
|
|
68811
|
-
cursor: not-allowed;
|
|
68812
|
-
}
|
|
68813
|
-
|
|
68814
|
-
:where(.theme-scope)
|
|
68815
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68816
|
-
.er-whole-series-modal-btn--secondary {
|
|
68817
|
-
background: transparent;
|
|
68818
|
-
color: var(--er-on-surface);
|
|
68819
|
-
border: 1px solid var(--er-border);
|
|
68820
|
-
}
|
|
68821
|
-
|
|
68822
|
-
:where(.theme-scope)
|
|
68823
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68824
|
-
.er-whole-series-modal-btn--secondary:hover {
|
|
68825
|
-
background: var(--er-on-surface-hover-bg);
|
|
68826
|
-
}
|
|
68827
|
-
|
|
68828
|
-
/* =============================================================================
|
|
68829
|
-
* Utility Classes
|
|
68830
|
-
* =============================================================================
|
|
68831
|
-
*/
|
|
68832
|
-
:where(.theme-scope)
|
|
68833
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68834
|
-
.er-whole-series-text--muted {
|
|
68835
|
-
opacity: 0.7;
|
|
68836
|
-
}
|
|
68837
|
-
|
|
68838
|
-
:where(.theme-scope)
|
|
68839
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68840
|
-
.er-whole-series-text--error {
|
|
68841
|
-
color: var(--er-error-text);
|
|
68842
|
-
}
|
|
68843
|
-
|
|
68844
|
-
:where(.theme-scope)
|
|
68845
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68846
|
-
.er-whole-series-text--success {
|
|
68847
|
-
color: var(--er-success-text);
|
|
68848
|
-
}
|
|
68849
|
-
|
|
68850
|
-
:where(.theme-scope)
|
|
68851
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68852
|
-
.er-whole-series-sr-only {
|
|
68853
|
-
position: absolute;
|
|
68854
|
-
width: 1px;
|
|
68855
|
-
height: 1px;
|
|
68856
|
-
padding: 0;
|
|
68857
|
-
margin: -1px;
|
|
68858
|
-
overflow: hidden;
|
|
68859
|
-
clip: rect(0, 0, 0, 0);
|
|
68860
|
-
white-space: nowrap;
|
|
68861
|
-
border-width: 0;
|
|
68862
|
-
}
|
|
68863
|
-
|
|
68864
|
-
/* Stack utility */
|
|
68865
|
-
:where(.theme-scope)
|
|
68866
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68867
|
-
.er-whole-series-stack {
|
|
68868
|
-
display: flex;
|
|
68869
|
-
flex-direction: column;
|
|
68870
|
-
}
|
|
68871
|
-
|
|
68872
|
-
:where(.theme-scope)
|
|
68873
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68874
|
-
.er-whole-series-stack--gap-sm {
|
|
68875
|
-
gap: 0.5rem;
|
|
68876
|
-
}
|
|
68877
|
-
|
|
68878
|
-
:where(.theme-scope)
|
|
68879
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68880
|
-
.er-whole-series-stack--gap-md {
|
|
68881
|
-
gap: 1rem;
|
|
68882
|
-
}
|
|
68883
|
-
|
|
68884
|
-
:where(.theme-scope)
|
|
68885
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
68886
|
-
.er-whole-series-stack--gap-lg {
|
|
68887
|
-
gap: 1.5rem;
|
|
68888
|
-
}
|
|
68889
|
-
|
|
68890
|
-
/* =============================================================================
|
|
68891
|
-
* Block: Newsletter Signup
|
|
68892
|
-
* =============================================================================
|
|
68893
|
-
*/
|
|
68894
|
-
|
|
68895
|
-
/* Newsletter copy styling */
|
|
68896
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
68897
|
-
font-size: 1.5rem;
|
|
68898
|
-
font-weight: 600;
|
|
68899
|
-
}
|
|
68900
|
-
|
|
68901
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
68902
|
-
font-size: 1rem;
|
|
68903
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
68904
|
-
opacity: 0.85;
|
|
68905
|
-
}
|
|
68906
|
-
|
|
68907
|
-
/* Newsletter form container */
|
|
68908
|
-
:where(.theme-scope) .newsletter-form {
|
|
68909
|
-
width: 100%;
|
|
68910
|
-
max-width: 32rem;
|
|
68911
|
-
margin-left: auto;
|
|
68912
|
-
margin-right: auto;
|
|
68913
|
-
}
|
|
68914
|
-
|
|
68915
|
-
/* Newsletter form fields container */
|
|
68916
|
-
:where(.theme-scope) .newsletter-form-fields {
|
|
68917
|
-
display: flex;
|
|
68918
|
-
flex-direction: column;
|
|
68919
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
68920
|
-
}
|
|
68921
|
-
|
|
68922
|
-
/* Individual field styling */
|
|
68923
|
-
:where(.theme-scope) .newsletter-field {
|
|
68924
|
-
display: flex;
|
|
68925
|
-
flex-direction: column;
|
|
68926
|
-
gap: 0.25rem;
|
|
68927
|
-
}
|
|
68928
|
-
|
|
68929
|
-
/* Required indicator */
|
|
68930
|
-
:where(.theme-scope) .newsletter-required {
|
|
68931
|
-
color: rgb(var(--tb-primary));
|
|
68932
|
-
margin-left: 0.125rem;
|
|
68933
|
-
}
|
|
68934
|
-
|
|
68935
|
-
/* Submit button container */
|
|
68936
|
-
:where(.theme-scope) .newsletter-submit {
|
|
68937
|
-
margin-top: 0.5rem;
|
|
68938
|
-
}
|
|
68939
|
-
|
|
68940
|
-
/* ALTCHA widget container */
|
|
68941
|
-
:where(.theme-scope) .newsletter-altcha {
|
|
68942
|
-
margin-top: 0.75rem;
|
|
68943
|
-
display: flex;
|
|
68944
|
-
justify-content: center;
|
|
68945
|
-
}
|
|
68946
|
-
|
|
68947
|
-
/* Privacy note */
|
|
68948
|
-
:where(.theme-scope) .newsletter-privacy-note {
|
|
68949
|
-
margin-top: 0.75rem;
|
|
68950
|
-
font-size: 1rem;
|
|
68951
|
-
line-height: 1.6;
|
|
68952
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
68953
|
-
text-align: center;
|
|
68954
|
-
}
|
|
68955
|
-
|
|
68956
|
-
/* =============================================================================
|
|
68957
|
-
* Inline Variant - Horizontal layout
|
|
68958
|
-
* =============================================================================
|
|
68959
|
-
*/
|
|
68960
|
-
|
|
68961
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
68962
|
-
flex-direction: row;
|
|
68963
|
-
align-items: flex-end;
|
|
68964
|
-
flex-wrap: wrap;
|
|
68965
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
68966
|
-
}
|
|
68967
|
-
|
|
68968
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
68969
|
-
flex: 1 1 auto;
|
|
68970
|
-
min-width: 10rem;
|
|
68971
|
-
}
|
|
68972
|
-
|
|
68973
|
-
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
68974
|
-
margin-top: 0;
|
|
68975
|
-
flex-shrink: 0;
|
|
68976
|
-
}
|
|
68977
|
-
|
|
68978
|
-
/* Mobile fallback for inline variant */
|
|
68979
|
-
@container rb-site (max-width: 640px) {
|
|
68980
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
68981
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
68982
|
-
flex-direction: column;
|
|
68983
|
-
}
|
|
68984
|
-
|
|
68985
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
68986
|
-
min-width: 100%;
|
|
68987
|
-
}
|
|
68988
|
-
}
|
|
68989
|
-
}
|
|
68990
|
-
|
|
68991
|
-
/* =============================================================================
|
|
68992
|
-
* Editorial Split Variant
|
|
68993
|
-
* =============================================================================
|
|
68994
|
-
*/
|
|
68995
|
-
|
|
68996
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
68997
|
-
display: grid;
|
|
68998
|
-
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
68999
|
-
gap: clamp(2.5rem, 7vw, 7rem);
|
|
69000
|
-
align-items: center;
|
|
69001
|
-
text-align: left;
|
|
69002
|
-
}
|
|
69003
|
-
|
|
69004
|
-
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
69005
|
-
display: flex;
|
|
69006
|
-
flex-direction: column;
|
|
69007
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
69008
|
-
}
|
|
69009
|
-
|
|
69010
|
-
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
69011
|
-
min-width: 0;
|
|
69012
|
-
}
|
|
69013
|
-
|
|
69014
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
69015
|
-
max-width: none;
|
|
69016
|
-
margin-inline: 0;
|
|
69017
|
-
}
|
|
69018
|
-
|
|
69019
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
69020
|
-
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
69021
|
-
font-weight: 500;
|
|
69022
|
-
}
|
|
69023
|
-
|
|
69024
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
69025
|
-
text-align: left;
|
|
69026
|
-
}
|
|
69027
|
-
|
|
69028
|
-
@container rb-site (max-width: 767px) {
|
|
69029
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
69030
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
69031
|
-
grid-template-columns: minmax(0, 1fr);
|
|
69032
|
-
gap: 2rem;
|
|
69033
|
-
}
|
|
69034
|
-
}
|
|
69035
|
-
}
|
|
69036
|
-
|
|
69037
|
-
/* =============================================================================
|
|
69038
|
-
* Success State
|
|
69039
|
-
* =============================================================================
|
|
69040
|
-
*/
|
|
69041
|
-
|
|
69042
|
-
:where(.theme-scope) .newsletter-success {
|
|
69043
|
-
text-align: center;
|
|
69044
|
-
}
|
|
69045
|
-
|
|
69046
|
-
:where(.theme-scope) .newsletter-success .fb-success {
|
|
69047
|
-
padding: 1rem 1.5rem;
|
|
69048
|
-
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
69049
|
-
border-radius: var(--radius-md, 0.5rem);
|
|
69050
|
-
color: rgb(var(--tb-text));
|
|
69051
|
-
}
|
|
69052
|
-
|
|
69053
|
-
/* =============================================================================
|
|
69054
|
-
* Block: Contact + Newsletter
|
|
69055
|
-
* =============================================================================
|
|
69056
|
-
*/
|
|
69057
|
-
|
|
69058
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
69059
|
-
display: grid;
|
|
69060
|
-
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
69061
|
-
gap: clamp(2.5rem, 6vw, 4rem);
|
|
69062
|
-
align-items: start;
|
|
69063
|
-
}
|
|
69064
|
-
|
|
69065
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
69066
|
-
min-width: 0;
|
|
69067
|
-
}
|
|
69068
|
-
|
|
69069
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
69070
|
-
margin-bottom: 1.5rem;
|
|
69071
|
-
}
|
|
69072
|
-
|
|
69073
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
69074
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
69075
|
-
margin: 0 0 0.75rem;
|
|
69076
|
-
}
|
|
69077
|
-
|
|
69078
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
69079
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
69080
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
69081
|
-
}
|
|
69082
|
-
|
|
69083
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
69084
|
-
display: flex;
|
|
69085
|
-
flex-direction: column;
|
|
69086
|
-
align-items: flex-start;
|
|
69087
|
-
}
|
|
69088
|
-
|
|
69089
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
69090
|
-
max-width: none;
|
|
69091
|
-
margin-left: 0;
|
|
69092
|
-
margin-right: 0;
|
|
69093
|
-
}
|
|
69094
|
-
|
|
69095
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
69096
|
-
text-align: left;
|
|
69097
|
-
}
|
|
69098
|
-
|
|
69099
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
69100
|
-
display: flex;
|
|
69101
|
-
flex-direction: column;
|
|
69102
|
-
gap: 1rem;
|
|
69103
|
-
}
|
|
69104
|
-
|
|
69105
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
69106
|
-
display: grid;
|
|
69107
|
-
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
69108
|
-
gap: 1rem;
|
|
69109
|
-
}
|
|
69110
|
-
|
|
69111
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-field {
|
|
69112
|
-
display: flex;
|
|
69113
|
-
flex-direction: column;
|
|
69114
|
-
gap: 0.25rem;
|
|
69115
|
-
}
|
|
69116
|
-
|
|
69117
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-fieldset {
|
|
69118
|
-
display: flex;
|
|
69119
|
-
flex-direction: column;
|
|
69120
|
-
gap: 0.5rem;
|
|
69121
|
-
border: none;
|
|
69122
|
-
padding: 0;
|
|
69123
|
-
margin: 0;
|
|
69124
|
-
}
|
|
69125
|
-
|
|
69126
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
|
|
69127
|
-
display: flex;
|
|
69128
|
-
align-items: center;
|
|
69129
|
-
gap: 0.5rem;
|
|
69130
|
-
}
|
|
69131
|
-
|
|
69132
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
|
|
69133
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
|
|
69134
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
69135
|
-
border-radius: var(--rb-block-radius);
|
|
69136
|
-
padding: 1rem;
|
|
69137
|
-
font-size: 0.875rem;
|
|
69138
|
-
}
|
|
69139
|
-
|
|
69140
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success {
|
|
69141
|
-
background-color: var(--fb-success-bg);
|
|
69142
|
-
color: var(--fb-success-text);
|
|
69143
|
-
border: 1px solid var(--fb-success-border);
|
|
69144
|
-
}
|
|
69145
|
-
|
|
69146
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error {
|
|
69147
|
-
background-color: var(--fb-error-bg);
|
|
69148
|
-
color: var(--fb-error-text);
|
|
69149
|
-
border: 1px solid var(--fb-error-border);
|
|
69150
|
-
}
|
|
69151
|
-
|
|
69152
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
69153
|
-
background-color: var(--fb-empty-bg);
|
|
69154
|
-
color: var(--fb-empty-text);
|
|
69155
|
-
border: 1px dashed var(--fb-empty-border);
|
|
69156
|
-
text-align: center;
|
|
69157
|
-
}
|
|
69158
|
-
|
|
69159
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-actions {
|
|
69160
|
-
margin-top: 0.5rem;
|
|
69161
|
-
}
|
|
69162
|
-
|
|
69163
|
-
/* =============================================================================
|
|
69164
|
-
* Block: Team Members
|
|
69165
|
-
* =============================================================================
|
|
69166
|
-
*
|
|
69167
|
-
* Site/theme authors sometimes need different thumbnail shapes/sizes without
|
|
69168
|
-
* changing global fragment defaults. We expose these controls on the block and
|
|
69169
|
-
* style them via data attributes on the \`.rb-team-members\` wrapper.
|
|
69170
|
-
*/
|
|
69171
|
-
|
|
69172
|
-
/* Scope all block-static CSS to ThemeScope to avoid leaking into host apps/dashboard. */
|
|
69173
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) {
|
|
69174
|
-
text-align: left;
|
|
69175
|
-
}
|
|
69176
|
-
|
|
69177
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) :where(.rb-team-member) {
|
|
69178
|
-
align-items: flex-start;
|
|
69179
|
-
text-align: left;
|
|
69180
|
-
}
|
|
69181
|
-
|
|
69182
|
-
@container rb-site (min-width: 1024px) {
|
|
69183
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
69184
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-width="lg-3-4-left"]) {
|
|
69185
|
-
width: 75%;
|
|
69186
|
-
margin-left: 0;
|
|
69187
|
-
margin-right: auto;
|
|
69188
|
-
}
|
|
69189
|
-
}
|
|
69190
|
-
}
|
|
69191
|
-
|
|
69192
|
-
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-photo {
|
|
69193
|
-
display: block;
|
|
69194
|
-
width: 100%;
|
|
69195
|
-
height: auto;
|
|
69196
|
-
}
|
|
69197
|
-
|
|
69198
|
-
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-role {
|
|
69199
|
-
font-weight: 600;
|
|
69200
|
-
}
|
|
69201
|
-
|
|
69202
|
-
/* Thumbnail sizing: map \`data-image-col-size\` to a sensible max thumbnail width. */
|
|
69203
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members) {
|
|
69204
|
-
--rb-team-thumb-max: 11.25rem; /* ~180px default */
|
|
69205
|
-
--rb-team-image-basis: 33.333%;
|
|
69206
|
-
}
|
|
69207
|
-
|
|
69208
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/4"]) {
|
|
69209
|
-
--rb-team-thumb-max: 8.75rem; /* ~140px */
|
|
69210
|
-
--rb-team-image-basis: 25%;
|
|
69211
|
-
}
|
|
69212
|
-
|
|
69213
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/3"]) {
|
|
69214
|
-
--rb-team-thumb-max: 11.25rem; /* ~180px */
|
|
69215
|
-
--rb-team-image-basis: 33.333%;
|
|
69216
|
-
}
|
|
69217
|
-
|
|
69218
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="2/5"]) {
|
|
69219
|
-
--rb-team-thumb-max: 13.75rem; /* ~220px */
|
|
69220
|
-
--rb-team-image-basis: 40%;
|
|
67036
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="2/5"]) {
|
|
67037
|
+
--rb-team-thumb-max: 13.75rem; /* ~220px */
|
|
67038
|
+
--rb-team-image-basis: 40%;
|
|
69221
67039
|
}
|
|
69222
67040
|
|
|
69223
67041
|
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/2"]) {
|
|
@@ -74467,69 +72285,8 @@ const ACCOUNT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
74467
72285
|
}
|
|
74468
72286
|
});
|
|
74469
72287
|
//#endregion
|
|
74470
|
-
//#region ../api/src/
|
|
74471
|
-
const
|
|
74472
|
-
listCourses: {
|
|
74473
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
74474
|
-
method: "GET",
|
|
74475
|
-
auth: "user",
|
|
74476
|
-
responseKind: "json"
|
|
74477
|
-
},
|
|
74478
|
-
exportCoursesCsv: {
|
|
74479
|
-
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
74480
|
-
method: "GET",
|
|
74481
|
-
tags: [
|
|
74482
|
-
"site-{siteId}",
|
|
74483
|
-
"bookings",
|
|
74484
|
-
"courses-{siteId}"
|
|
74485
|
-
],
|
|
74486
|
-
errors: [],
|
|
74487
|
-
auth: "user",
|
|
74488
|
-
responseKind: "blob"
|
|
74489
|
-
},
|
|
74490
|
-
createCourse: {
|
|
74491
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
74492
|
-
method: "POST",
|
|
74493
|
-
auth: "user",
|
|
74494
|
-
responseKind: "json",
|
|
74495
|
-
errors: [
|
|
74496
|
-
"validation:invalid_input",
|
|
74497
|
-
"resource:not_found",
|
|
74498
|
-
"resource:already_exists",
|
|
74499
|
-
"resource:conflict",
|
|
74500
|
-
"server:internal_error"
|
|
74501
|
-
]
|
|
74502
|
-
},
|
|
74503
|
-
getCourse: {
|
|
74504
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
74505
|
-
method: "GET",
|
|
74506
|
-
auth: "user",
|
|
74507
|
-
responseKind: "json"
|
|
74508
|
-
},
|
|
74509
|
-
updateCourse: {
|
|
74510
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
74511
|
-
method: "PATCH",
|
|
74512
|
-
auth: "user",
|
|
74513
|
-
responseKind: "json",
|
|
74514
|
-
errors: [
|
|
74515
|
-
"validation:invalid_input",
|
|
74516
|
-
"resource:not_found",
|
|
74517
|
-
"resource:conflict",
|
|
74518
|
-
"server:internal_error"
|
|
74519
|
-
]
|
|
74520
|
-
},
|
|
74521
|
-
deleteCourse: {
|
|
74522
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
74523
|
-
method: "DELETE",
|
|
74524
|
-
auth: "user",
|
|
74525
|
-
responseKind: "json",
|
|
74526
|
-
errors: [
|
|
74527
|
-
"validation:invalid_input",
|
|
74528
|
-
"resource:not_found",
|
|
74529
|
-
"resource:conflict",
|
|
74530
|
-
"server:internal_error"
|
|
74531
|
-
]
|
|
74532
|
-
},
|
|
72288
|
+
//#region ../api/src/eventSeriesRegistrationEndpointDefinitions.ts
|
|
72289
|
+
const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
74533
72290
|
deleteEventOffering: {
|
|
74534
72291
|
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}",
|
|
74535
72292
|
method: "DELETE",
|
|
@@ -74542,20 +72299,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
74542
72299
|
"server:internal_error"
|
|
74543
72300
|
]
|
|
74544
72301
|
},
|
|
74545
|
-
|
|
74546
|
-
path: "/sites/{siteId}/bookings/
|
|
74547
|
-
method: "POST",
|
|
74548
|
-
auth: "user",
|
|
74549
|
-
responseKind: "json",
|
|
74550
|
-
errors: [
|
|
74551
|
-
"validation:invalid_input",
|
|
74552
|
-
"resource:not_found",
|
|
74553
|
-
"resource:already_exists",
|
|
74554
|
-
"server:internal_error"
|
|
74555
|
-
]
|
|
74556
|
-
},
|
|
74557
|
-
changeCourseContentOwnership: {
|
|
74558
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/content-ownership",
|
|
72302
|
+
changeEventSeriesContentOwnership: {
|
|
72303
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/content-ownership",
|
|
74559
72304
|
method: "POST",
|
|
74560
72305
|
auth: "user",
|
|
74561
72306
|
responseKind: "json",
|
|
@@ -74566,8 +72311,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
74566
72311
|
"server:internal_error"
|
|
74567
72312
|
]
|
|
74568
72313
|
},
|
|
74569
|
-
|
|
74570
|
-
path: "/sites/{siteId}/bookings/
|
|
72314
|
+
addEventSeriesRegistration: {
|
|
72315
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
74571
72316
|
method: "POST",
|
|
74572
72317
|
auth: "user",
|
|
74573
72318
|
responseKind: "json",
|
|
@@ -74578,33 +72323,21 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
74578
72323
|
"server:internal_error"
|
|
74579
72324
|
]
|
|
74580
72325
|
},
|
|
74581
|
-
|
|
74582
|
-
path: "/sites/{siteId}/bookings/
|
|
72326
|
+
listEventSeriesRegistrations: {
|
|
72327
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
74583
72328
|
method: "GET",
|
|
74584
72329
|
auth: "user",
|
|
74585
72330
|
responseKind: "json"
|
|
74586
72331
|
},
|
|
74587
|
-
|
|
74588
|
-
path: "/sites/{siteId}/bookings/
|
|
72332
|
+
exportEventSeriesRegistrationsCsv: {
|
|
72333
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/export.csv",
|
|
74589
72334
|
method: "GET",
|
|
74590
72335
|
auth: "user",
|
|
74591
72336
|
errors: [],
|
|
74592
72337
|
responseKind: "blob"
|
|
74593
72338
|
},
|
|
74594
|
-
|
|
74595
|
-
path: "/sites/{siteId}/bookings/
|
|
74596
|
-
method: "GET",
|
|
74597
|
-
tags: [
|
|
74598
|
-
"site-{siteId}",
|
|
74599
|
-
"bookings",
|
|
74600
|
-
"courses-{courseId}"
|
|
74601
|
-
],
|
|
74602
|
-
auth: "user",
|
|
74603
|
-
responseKind: "blob",
|
|
74604
|
-
errors: []
|
|
74605
|
-
},
|
|
74606
|
-
updateCourseEnrollment: {
|
|
74607
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
72339
|
+
updateEventSeriesRegistration: {
|
|
72340
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
|
|
74608
72341
|
method: "PATCH",
|
|
74609
72342
|
auth: "user",
|
|
74610
72343
|
responseKind: "json",
|
|
@@ -74992,71 +72725,35 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
74992
72725
|
errors: ["resource:not_found", "server:internal_error"],
|
|
74993
72726
|
auth: "public",
|
|
74994
72727
|
responseKind: "json"
|
|
74995
|
-
}
|
|
74996
|
-
|
|
74997
|
-
|
|
74998
|
-
|
|
74999
|
-
|
|
75000
|
-
|
|
75001
|
-
|
|
75002
|
-
"auth:forbidden",
|
|
75003
|
-
"validation:invalid_input",
|
|
75004
|
-
"resource:not_found",
|
|
75005
|
-
"resource:conflict",
|
|
75006
|
-
"resource:already_exists",
|
|
75007
|
-
"server:internal_error"
|
|
75008
|
-
],
|
|
75009
|
-
auth: "public",
|
|
75010
|
-
responseKind: "json"
|
|
75011
|
-
},
|
|
75012
|
-
checkWholeSeriesEligibility: {
|
|
75013
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/check-eligibility",
|
|
75014
|
-
method: "POST",
|
|
75015
|
-
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
|
|
75016
|
-
errors: [
|
|
75017
|
-
"auth:unauthenticated",
|
|
75018
|
-
"resource:not_found",
|
|
75019
|
-
"resource:conflict",
|
|
75020
|
-
"server:internal_error"
|
|
75021
|
-
],
|
|
75022
|
-
auth: "public",
|
|
75023
|
-
responseKind: "json"
|
|
75024
|
-
},
|
|
75025
|
-
createWholeSeriesCheckout: {
|
|
75026
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/checkout",
|
|
72728
|
+
}
|
|
72729
|
+
});
|
|
72730
|
+
//#endregion
|
|
72731
|
+
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
72732
|
+
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
72733
|
+
getPublicEventRegistrationOptions: {
|
|
72734
|
+
path: "/public/sites/{siteId}/events/registration-options",
|
|
75027
72735
|
method: "POST",
|
|
75028
|
-
tags: [TAG_TEMPLATES.
|
|
72736
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration-options"],
|
|
75029
72737
|
auth: "public",
|
|
75030
72738
|
responseKind: "json",
|
|
75031
72739
|
errors: [
|
|
75032
|
-
"auth:unauthenticated",
|
|
75033
72740
|
"validation:invalid_input",
|
|
75034
72741
|
"resource:not_found",
|
|
75035
72742
|
"resource:conflict",
|
|
75036
72743
|
"server:internal_error"
|
|
75037
72744
|
]
|
|
75038
72745
|
},
|
|
75039
|
-
|
|
75040
|
-
path: "/public/sites/{siteId}/
|
|
72746
|
+
resolveEventSubroute: {
|
|
72747
|
+
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
75041
72748
|
method: "GET",
|
|
75042
|
-
|
|
75043
|
-
|
|
72749
|
+
revalidate: 60,
|
|
72750
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
75044
72751
|
auth: "public",
|
|
75045
|
-
responseKind: "json"
|
|
72752
|
+
responseKind: "json",
|
|
72753
|
+
errors: []
|
|
75046
72754
|
}
|
|
75047
72755
|
});
|
|
75048
72756
|
//#endregion
|
|
75049
|
-
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
75050
|
-
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ resolveEventSubroute: {
|
|
75051
|
-
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
75052
|
-
method: "GET",
|
|
75053
|
-
revalidate: 60,
|
|
75054
|
-
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
75055
|
-
auth: "public",
|
|
75056
|
-
responseKind: "json",
|
|
75057
|
-
errors: []
|
|
75058
|
-
} });
|
|
75059
|
-
//#endregion
|
|
75060
72757
|
//#region ../api/src/siteApiKeyEndpointDefinitions.ts
|
|
75061
72758
|
const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
75062
72759
|
listSiteApiKeys: {
|
|
@@ -75424,7 +73121,7 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
75424
73121
|
}), 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, {
|
|
75425
73122
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
75426
73123
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
75427
|
-
...
|
|
73124
|
+
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
75428
73125
|
}, 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 };
|
|
75429
73126
|
z$1.object({ refreshToken: z$1.string().min(1).max(4096) }).strict();
|
|
75430
73127
|
z$1.object({
|
|
@@ -75546,7 +73243,7 @@ const internalLinkPayloadSchema = z$1.object({
|
|
|
75546
73243
|
kind: z$1.literal("internal"),
|
|
75547
73244
|
routeId: z$1.string().uuid(),
|
|
75548
73245
|
entityId: z$1.string().uuid(),
|
|
75549
|
-
entityType: z$1.enum(
|
|
73246
|
+
entityType: z$1.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
75550
73247
|
href: z$1.string().min(1),
|
|
75551
73248
|
title: z$1.string().min(1),
|
|
75552
73249
|
typeLabel: z$1.string().min(1),
|
|
@@ -76597,6 +74294,68 @@ function parsePublicProductCategorySelector(value) {
|
|
|
76597
74294
|
};
|
|
76598
74295
|
}
|
|
76599
74296
|
//#endregion
|
|
74297
|
+
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
74298
|
+
const bookingDepositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
74299
|
+
const bookingInstalmentPlanSchema = z$1.discriminatedUnion("kind", [
|
|
74300
|
+
z$1.object({
|
|
74301
|
+
kind: z$1.literal("deposit_plus_one_remainder"),
|
|
74302
|
+
depositAmountCents: z$1.number().int().nonnegative(),
|
|
74303
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
74304
|
+
remainderDueCount: z$1.number().int().positive(),
|
|
74305
|
+
intervalUnit: z$1.enum([
|
|
74306
|
+
"day",
|
|
74307
|
+
"week",
|
|
74308
|
+
"month"
|
|
74309
|
+
])
|
|
74310
|
+
}),
|
|
74311
|
+
z$1.object({
|
|
74312
|
+
kind: z$1.literal("deposit_plus_scheduled_instalments"),
|
|
74313
|
+
depositAmountCents: z$1.number().int().nonnegative(),
|
|
74314
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
74315
|
+
instalmentCount: z$1.number().int().positive(),
|
|
74316
|
+
intervalCount: z$1.number().int().positive(),
|
|
74317
|
+
intervalUnit: z$1.enum([
|
|
74318
|
+
"day",
|
|
74319
|
+
"week",
|
|
74320
|
+
"month"
|
|
74321
|
+
])
|
|
74322
|
+
}),
|
|
74323
|
+
z$1.object({
|
|
74324
|
+
kind: z$1.literal("equal_scheduled_instalments"),
|
|
74325
|
+
instalmentCount: z$1.number().int().positive(),
|
|
74326
|
+
intervalCount: z$1.number().int().positive(),
|
|
74327
|
+
intervalUnit: z$1.enum([
|
|
74328
|
+
"day",
|
|
74329
|
+
"week",
|
|
74330
|
+
"month"
|
|
74331
|
+
])
|
|
74332
|
+
})
|
|
74333
|
+
]);
|
|
74334
|
+
const bookingFlexibleBalanceDueDateRuleSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
74335
|
+
kind: z$1.literal("relative_to_start_date"),
|
|
74336
|
+
daysBeforeStart: z$1.number().int().positive()
|
|
74337
|
+
}), z$1.object({
|
|
74338
|
+
kind: z$1.literal("fixed_calendar_date"),
|
|
74339
|
+
dueAt: z$1.string().datetime()
|
|
74340
|
+
})]);
|
|
74341
|
+
const bookingFlexibleBalanceConfigSchema = z$1.object({
|
|
74342
|
+
upfrontAmountCents: z$1.number().int().nonnegative(),
|
|
74343
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
74344
|
+
depositRefundability: bookingDepositRefundPolicySchema
|
|
74345
|
+
});
|
|
74346
|
+
z$1.discriminatedUnion("kind", [
|
|
74347
|
+
z$1.object({ kind: z$1.literal("upfront") }),
|
|
74348
|
+
z$1.object({ kind: z$1.literal("deferred_manual") }),
|
|
74349
|
+
z$1.object({
|
|
74350
|
+
kind: z$1.literal("instalment_plan"),
|
|
74351
|
+
plan: bookingInstalmentPlanSchema
|
|
74352
|
+
}),
|
|
74353
|
+
z$1.object({
|
|
74354
|
+
kind: z$1.literal("flexible_balance"),
|
|
74355
|
+
config: bookingFlexibleBalanceConfigSchema
|
|
74356
|
+
})
|
|
74357
|
+
]);
|
|
74358
|
+
//#endregion
|
|
76600
74359
|
//#region ../api/src/navigationMenuValidation.ts
|
|
76601
74360
|
function hasChildren(item) {
|
|
76602
74361
|
return Array.isArray(item.children) && item.children.length > 0;
|
|
@@ -78861,40 +76620,6 @@ const BUILTIN_CONTENT_TYPE_SCHEMAS = {
|
|
|
78861
76620
|
plural: "Events"
|
|
78862
76621
|
}
|
|
78863
76622
|
},
|
|
78864
|
-
course: {
|
|
78865
|
-
version: 1,
|
|
78866
|
-
fields: [
|
|
78867
|
-
{
|
|
78868
|
-
id: "summary",
|
|
78869
|
-
type: "textarea",
|
|
78870
|
-
label: "Summary",
|
|
78871
|
-
description: "Short teaser shown in listings.",
|
|
78872
|
-
rows: 3
|
|
78873
|
-
},
|
|
78874
|
-
{
|
|
78875
|
-
id: "image",
|
|
78876
|
-
type: "media",
|
|
78877
|
-
label: "Listing image",
|
|
78878
|
-
description: "Optional image used for course cards and previews."
|
|
78879
|
-
},
|
|
78880
|
-
{
|
|
78881
|
-
id: "body",
|
|
78882
|
-
type: "richText",
|
|
78883
|
-
label: "Details",
|
|
78884
|
-
description: "Full course details and curriculum."
|
|
78885
|
-
}
|
|
78886
|
-
],
|
|
78887
|
-
routing: {
|
|
78888
|
-
enabled: true,
|
|
78889
|
-
pattern: "/courses/{slug}",
|
|
78890
|
-
slugField: "slug",
|
|
78891
|
-
prefix: "/courses/"
|
|
78892
|
-
},
|
|
78893
|
-
labels: {
|
|
78894
|
-
singular: "Course",
|
|
78895
|
-
plural: "Courses"
|
|
78896
|
-
}
|
|
78897
|
-
},
|
|
78898
76623
|
"team-member": {
|
|
78899
76624
|
version: 1,
|
|
78900
76625
|
fields: [
|
|
@@ -79094,7 +76819,7 @@ const BUILTIN_CONTENT_TYPE_SCHEMAS = {
|
|
|
79094
76819
|
function deriveFieldIdSet(schema) {
|
|
79095
76820
|
return new Set(schema.fields.map((f) => f.id));
|
|
79096
76821
|
}
|
|
79097
|
-
deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.post), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS.event), deriveFieldIdSet(BUILTIN_CONTENT_TYPE_SCHEMAS
|
|
76822
|
+
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"]);
|
|
79098
76823
|
//#endregion
|
|
79099
76824
|
//#region ../field-primitives/src/bindings/index.ts
|
|
79100
76825
|
const BINDING_TRANSFORMS$1 = {
|
|
@@ -79177,7 +76902,6 @@ function selectBlocksForDeclaredEntrySlot(input) {
|
|
|
79177
76902
|
//#region ../content-model/src/templates/defaults.ts
|
|
79178
76903
|
const POST_EXCERPT_FALLBACK = fallbackBinding$1(fieldBinding$1("excerpt"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
79179
76904
|
const EVENT_SUBHEADLINE_FALLBACK = fallbackBinding$1(fieldBinding$1("summary"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
79180
|
-
const COURSE_SUMMARY_FALLBACK = fallbackBinding$1(fieldBinding$1("summary"), transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.RICHTEXT_FIRST_PARAGRAPH, { input: fieldBinding$1("body") }));
|
|
79181
76905
|
const ENTRY_TITLE_INLINE_TEXT = transformBinding$1(TEMPLATE_BINDING_TRANSFORMS.TEXT_INLINE_TEXT, { input: metaBinding$1("title") });
|
|
79182
76906
|
const POST_BODY_TEXT_BINDINGS = {
|
|
79183
76907
|
body: fieldBinding$1("body"),
|
|
@@ -79292,7 +77016,6 @@ const DEFAULT_TEMPLATE_DEFINITIONS = {
|
|
|
79292
77016
|
showVenue: true,
|
|
79293
77017
|
showCapacity: true,
|
|
79294
77018
|
successMessage: "Thank you for registering! Check your email for confirmation details.",
|
|
79295
|
-
waitlistMessage: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
79296
77019
|
buttonText: "Complete Registration",
|
|
79297
77020
|
buttonVariant: "primary"
|
|
79298
77021
|
},
|
|
@@ -79303,64 +77026,6 @@ const DEFAULT_TEMPLATE_DEFINITIONS = {
|
|
|
79303
77026
|
}
|
|
79304
77027
|
]
|
|
79305
77028
|
},
|
|
79306
|
-
course: {
|
|
79307
|
-
templateKey: "default",
|
|
79308
|
-
name: "Course detail",
|
|
79309
|
-
description: "Standard landing page for multi-session courses.",
|
|
79310
|
-
metadata: {},
|
|
79311
|
-
blocks: [
|
|
79312
|
-
{
|
|
79313
|
-
blockKind: "block.hero",
|
|
79314
|
-
scope: "entry",
|
|
79315
|
-
bindings: {
|
|
79316
|
-
eyebrow: literalBinding$1("Course"),
|
|
79317
|
-
headline: metaBinding$1("title"),
|
|
79318
|
-
headlineInline: ENTRY_TITLE_INLINE_TEXT,
|
|
79319
|
-
subheadline: COURSE_SUMMARY_FALLBACK
|
|
79320
|
-
}
|
|
79321
|
-
},
|
|
79322
|
-
{
|
|
79323
|
-
blockKind: "block.course-details",
|
|
79324
|
-
scope: "entry",
|
|
79325
|
-
content: {
|
|
79326
|
-
heading: "Course details",
|
|
79327
|
-
showTitle: false,
|
|
79328
|
-
showDescription: false,
|
|
79329
|
-
showSessions: true,
|
|
79330
|
-
sessionsLimit: "10",
|
|
79331
|
-
showVenue: true,
|
|
79332
|
-
showPrice: true,
|
|
79333
|
-
showCapacity: true,
|
|
79334
|
-
showEnrollmentStatus: true,
|
|
79335
|
-
showMembershipNote: true
|
|
79336
|
-
}
|
|
79337
|
-
},
|
|
79338
|
-
{
|
|
79339
|
-
blockKind: SYSTEM_ENTRY_SLOT_BLOCK_KIND,
|
|
79340
|
-
scope: "template",
|
|
79341
|
-
content: {
|
|
79342
|
-
slotKey: "main",
|
|
79343
|
-
label: "Page content"
|
|
79344
|
-
}
|
|
79345
|
-
},
|
|
79346
|
-
{
|
|
79347
|
-
blockKind: "block.course-registration",
|
|
79348
|
-
scope: "entry",
|
|
79349
|
-
content: {
|
|
79350
|
-
heading: "Enroll in this course",
|
|
79351
|
-
showSessions: true,
|
|
79352
|
-
showPrice: true,
|
|
79353
|
-
showCapacity: true,
|
|
79354
|
-
showVenue: true,
|
|
79355
|
-
successMessage: "You're enrolled! Check your email for confirmation and session details.",
|
|
79356
|
-
waitlistMessage: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
79357
|
-
membershipMessage: "Enrolled using your membership! Check your email for session details.",
|
|
79358
|
-
buttonText: "Complete Enrollment",
|
|
79359
|
-
buttonVariant: "primary"
|
|
79360
|
-
}
|
|
79361
|
-
}
|
|
79362
|
-
]
|
|
79363
|
-
},
|
|
79364
77029
|
"team-member": {
|
|
79365
77030
|
templateKey: "default",
|
|
79366
77031
|
name: "Team member profile",
|