@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
|
@@ -9497,6 +9497,11 @@ z.object({
|
|
|
9497
9497
|
//#endregion
|
|
9498
9498
|
//#region ../blocks/src/system/types/link.ts
|
|
9499
9499
|
const nullableString = z.union([z.string().min(1), z.null()]);
|
|
9500
|
+
const RESOLVED_INTERNAL_LINK_ENTITY_TYPES = [
|
|
9501
|
+
"page",
|
|
9502
|
+
"content",
|
|
9503
|
+
"pageSurface"
|
|
9504
|
+
];
|
|
9500
9505
|
const resolvedInternalLinkKeys = [
|
|
9501
9506
|
"entityId",
|
|
9502
9507
|
"entityType",
|
|
@@ -9518,7 +9523,7 @@ const internalResolvedLinkSchema = z.object({
|
|
|
9518
9523
|
kind: z.literal("internal"),
|
|
9519
9524
|
routeId: z.string().min(1),
|
|
9520
9525
|
entityId: z.string().min(1),
|
|
9521
|
-
entityType: z.enum(
|
|
9526
|
+
entityType: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
9522
9527
|
href: z.string().min(1),
|
|
9523
9528
|
title: z.string().min(1),
|
|
9524
9529
|
typeLabel: z.string().min(1),
|
|
@@ -9651,7 +9656,7 @@ function publicEventPricingType(pricing) {
|
|
|
9651
9656
|
case "single_paid":
|
|
9652
9657
|
case "ticket_types":
|
|
9653
9658
|
case "sliding_scale":
|
|
9654
|
-
case "
|
|
9659
|
+
case "whole_series": return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
9655
9660
|
case "external": return "external";
|
|
9656
9661
|
}
|
|
9657
9662
|
}
|
|
@@ -9662,14 +9667,14 @@ function publicEventPricingCurrency(pricing) {
|
|
|
9662
9667
|
case "single_paid":
|
|
9663
9668
|
case "ticket_types":
|
|
9664
9669
|
case "sliding_scale": return pricing.currency;
|
|
9665
|
-
case "
|
|
9670
|
+
case "whole_series": return pricing.display.display.currency;
|
|
9666
9671
|
case "external": return null;
|
|
9667
9672
|
}
|
|
9668
9673
|
}
|
|
9669
9674
|
function isFreePublicEventPriceDisplay(display) {
|
|
9670
9675
|
switch (display.kind) {
|
|
9671
9676
|
case "free": return true;
|
|
9672
|
-
case "
|
|
9677
|
+
case "whole_series": return display.display.kind === "free";
|
|
9673
9678
|
case "exact":
|
|
9674
9679
|
case "from":
|
|
9675
9680
|
case "range":
|
|
@@ -9705,7 +9710,7 @@ function formatBookingPriceDisplay(display, options = {}) {
|
|
|
9705
9710
|
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)}`;
|
|
9706
9711
|
case "unavailable": return "Pricing unavailable";
|
|
9707
9712
|
case "external": return display.label;
|
|
9708
|
-
case "
|
|
9713
|
+
case "whole_series": return formatCoursePriceDisplayLabel(display.display, options);
|
|
9709
9714
|
default: return assertNever$3(display);
|
|
9710
9715
|
}
|
|
9711
9716
|
}
|
|
@@ -14220,7 +14225,7 @@ defineBlockAppearancePreset({
|
|
|
14220
14225
|
id: "schedule-details-brand-depth",
|
|
14221
14226
|
target: "events",
|
|
14222
14227
|
label: "Brand-depth schedule details",
|
|
14223
|
-
blockKinds: ["block.event-details"
|
|
14228
|
+
blockKinds: ["block.event-details"],
|
|
14224
14229
|
design: {
|
|
14225
14230
|
sectionSurface: "brand-depth-band",
|
|
14226
14231
|
contentFrame: plainFrame,
|
|
@@ -20770,7 +20775,6 @@ const productDetail = (props, children, ...mods) => el("product-detail", props,
|
|
|
20770
20775
|
const cart = (props, children, ...mods) => el("cart", props, children, ...mods);
|
|
20771
20776
|
const checkout = (props, children, ...mods) => el("checkout", props, children, ...mods);
|
|
20772
20777
|
const gifting = (props, children, ...mods) => el("gifting", props, children, ...mods);
|
|
20773
|
-
const courseRegistration = (props, children, ...mods) => el("course-registration", props, children, ...mods);
|
|
20774
20778
|
function bind(from, options) {
|
|
20775
20779
|
return (node) => ({
|
|
20776
20780
|
...node,
|
|
@@ -30678,12 +30682,12 @@ const weeklySlotAvailabilityBlockDefinition = {
|
|
|
30678
30682
|
};
|
|
30679
30683
|
//#endregion
|
|
30680
30684
|
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
30681
|
-
const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
30682
|
-
const bookingInstalmentPlanSchema = z.union([
|
|
30685
|
+
const bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
|
|
30686
|
+
const bookingInstalmentPlanSchema$1 = z.union([
|
|
30683
30687
|
z.object({
|
|
30684
30688
|
kind: z.literal("deposit_plus_one_remainder"),
|
|
30685
30689
|
depositAmountCents: z.number().int().min(0),
|
|
30686
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
30690
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
30687
30691
|
remainderDueCount: z.number().int().positive(),
|
|
30688
30692
|
intervalUnit: z.enum([
|
|
30689
30693
|
"day",
|
|
@@ -30694,7 +30698,7 @@ const bookingInstalmentPlanSchema = z.union([
|
|
|
30694
30698
|
z.object({
|
|
30695
30699
|
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
30696
30700
|
depositAmountCents: z.number().int().min(0),
|
|
30697
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
30701
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
30698
30702
|
instalmentCount: z.number().int().positive(),
|
|
30699
30703
|
intervalCount: z.number().int().positive(),
|
|
30700
30704
|
intervalUnit: z.enum([
|
|
@@ -30714,32 +30718,50 @@ const bookingInstalmentPlanSchema = z.union([
|
|
|
30714
30718
|
])
|
|
30715
30719
|
})
|
|
30716
30720
|
]);
|
|
30717
|
-
const bookingFlexibleBalanceDueDateRuleSchema = z.union([z.object({
|
|
30721
|
+
const bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
|
|
30718
30722
|
kind: z.literal("relative_to_start_date"),
|
|
30719
30723
|
daysBeforeStart: z.number().int().positive()
|
|
30720
30724
|
}), z.object({
|
|
30721
30725
|
kind: z.literal("fixed_calendar_date"),
|
|
30722
30726
|
dueAt: z.string().datetime()
|
|
30723
30727
|
})]);
|
|
30724
|
-
const bookingFlexibleBalanceConfigSchema = z.object({
|
|
30728
|
+
const bookingFlexibleBalanceConfigSchema$1 = z.object({
|
|
30725
30729
|
upfrontAmountCents: z.number().int().min(0),
|
|
30726
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
30727
|
-
depositRefundability: bookingDepositRefundPolicySchema
|
|
30730
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
|
|
30731
|
+
depositRefundability: bookingDepositRefundPolicySchema$1
|
|
30728
30732
|
});
|
|
30729
30733
|
const blockBookingPaymentCollectionOptionSchema = z.union([
|
|
30730
30734
|
z.object({ kind: z.literal("upfront") }),
|
|
30731
30735
|
z.object({ kind: z.literal("deferred_manual") }),
|
|
30732
30736
|
z.object({
|
|
30733
30737
|
kind: z.literal("instalment_plan"),
|
|
30734
|
-
plan: bookingInstalmentPlanSchema
|
|
30738
|
+
plan: bookingInstalmentPlanSchema$1
|
|
30735
30739
|
}),
|
|
30736
30740
|
z.object({
|
|
30737
30741
|
kind: z.literal("flexible_balance"),
|
|
30738
|
-
config: bookingFlexibleBalanceConfigSchema
|
|
30742
|
+
config: bookingFlexibleBalanceConfigSchema$1
|
|
30739
30743
|
})
|
|
30740
30744
|
]);
|
|
30741
30745
|
const blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
|
|
30742
30746
|
//#endregion
|
|
30747
|
+
//#region ../blocks/src/system/blocks/shared/bookingConsent.ts
|
|
30748
|
+
const blockBookingConsentSchema = z.object({
|
|
30749
|
+
requirementId: z.string(),
|
|
30750
|
+
title: z.string(),
|
|
30751
|
+
agreement: RichTextDocSchema,
|
|
30752
|
+
checkboxLabel: z.string()
|
|
30753
|
+
});
|
|
30754
|
+
const bookingRequirementConsentFieldSchema = z.object({
|
|
30755
|
+
id: z.string(),
|
|
30756
|
+
label: z.string(),
|
|
30757
|
+
type: z.literal("booking_requirement_consent"),
|
|
30758
|
+
required: z.literal(true),
|
|
30759
|
+
agreement: RichTextDocSchema,
|
|
30760
|
+
checkboxLabel: z.string().min(1)
|
|
30761
|
+
});
|
|
30762
|
+
/** The two live public carriers for consent copy: Event data and appointment fields. */
|
|
30763
|
+
const bookingConsentCarrierSchema = z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
30764
|
+
//#endregion
|
|
30743
30765
|
//#region ../blocks/src/system/blocks/events/whole-series/pricing.ts
|
|
30744
30766
|
function isSaleWindowOpen(option, now) {
|
|
30745
30767
|
if (!option.isActive) return false;
|
|
@@ -30973,11 +30995,19 @@ const publicWholeSeriesOfferingSchema = z.object({
|
|
|
30973
30995
|
title: z.string(),
|
|
30974
30996
|
slug: z.string(),
|
|
30975
30997
|
description: z.unknown().nullable(),
|
|
30998
|
+
deliveryMode: z.enum([
|
|
30999
|
+
"in_person",
|
|
31000
|
+
"online",
|
|
31001
|
+
"hybrid"
|
|
31002
|
+
]),
|
|
31003
|
+
waitlistEnabled: z.boolean(),
|
|
31004
|
+
requireGuestDetails: z.boolean(),
|
|
30976
31005
|
teamMembers: z.array(wholeSeriesTeamMemberSummarySchema).optional(),
|
|
30977
31006
|
enrollmentOpen: z.boolean(),
|
|
30978
31007
|
pricing: wholeSeriesPricingSchema,
|
|
30979
31008
|
currency: z.string(),
|
|
30980
31009
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
31010
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
30981
31011
|
enrollmentCapacity: z.number().nullable(),
|
|
30982
31012
|
acceptsMemberships: z.boolean(),
|
|
30983
31013
|
status: z.enum([
|
|
@@ -31087,7 +31117,7 @@ const mixedPriceDisplaySchema = z.object({
|
|
|
31087
31117
|
paidToAmount: z.number(),
|
|
31088
31118
|
currency: z.string()
|
|
31089
31119
|
});
|
|
31090
|
-
const
|
|
31120
|
+
const publicWholeSeriesPriceDisplaySchema = z.discriminatedUnion("kind", [
|
|
31091
31121
|
freePriceDisplaySchema,
|
|
31092
31122
|
exactPriceDisplaySchema,
|
|
31093
31123
|
fromPriceDisplaySchema,
|
|
@@ -31105,8 +31135,8 @@ z.discriminatedUnion("kind", [
|
|
|
31105
31135
|
label: z.string()
|
|
31106
31136
|
}),
|
|
31107
31137
|
z.object({
|
|
31108
|
-
kind: z.literal("
|
|
31109
|
-
display:
|
|
31138
|
+
kind: z.literal("whole_series"),
|
|
31139
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
31110
31140
|
})
|
|
31111
31141
|
]);
|
|
31112
31142
|
const publicEventTicketTypePriceDisplaySchema = z.union([
|
|
@@ -31208,10 +31238,10 @@ const publicEventPricingSchema = z.discriminatedUnion("kind", [
|
|
|
31208
31238
|
})
|
|
31209
31239
|
}),
|
|
31210
31240
|
z.object({
|
|
31211
|
-
kind: z.literal("
|
|
31241
|
+
kind: z.literal("whole_series"),
|
|
31212
31242
|
display: z.object({
|
|
31213
|
-
kind: z.literal("
|
|
31214
|
-
display:
|
|
31243
|
+
kind: z.literal("whole_series"),
|
|
31244
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
31215
31245
|
})
|
|
31216
31246
|
}),
|
|
31217
31247
|
z.object({
|
|
@@ -31295,6 +31325,7 @@ const publicEventSchema = z.object({
|
|
|
31295
31325
|
timeZone: z.string(),
|
|
31296
31326
|
pricing: publicEventPricingSchema,
|
|
31297
31327
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
31328
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
31298
31329
|
accessRestriction: accessRestrictionSchema,
|
|
31299
31330
|
allowedCategoryIds: z.array(z.string()),
|
|
31300
31331
|
requireGuestDetails: z.boolean().optional(),
|
|
@@ -31653,7 +31684,8 @@ function resolveEventRegistrationScope(context) {
|
|
|
31653
31684
|
};
|
|
31654
31685
|
return { kind: "unscoped" };
|
|
31655
31686
|
}
|
|
31656
|
-
function
|
|
31687
|
+
function resolveEventRegistrationScopedEvents(events, context) {
|
|
31688
|
+
const scope = resolveEventRegistrationScope(context);
|
|
31657
31689
|
switch (scope.kind) {
|
|
31658
31690
|
case "occurrenceSeries":
|
|
31659
31691
|
case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
|
|
@@ -31665,8 +31697,24 @@ function applyEventRegistrationScope(events, scope) {
|
|
|
31665
31697
|
case "unscoped": return [...events];
|
|
31666
31698
|
}
|
|
31667
31699
|
}
|
|
31668
|
-
|
|
31669
|
-
|
|
31700
|
+
//#endregion
|
|
31701
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationSurface.ts
|
|
31702
|
+
function planEventRegistrationScope(input) {
|
|
31703
|
+
const subject = input.subject;
|
|
31704
|
+
const selectedRunOffering = input.wholeSeriesOffering;
|
|
31705
|
+
if (subject?.kind !== "eventOffering" || !selectedRunOffering) return {
|
|
31706
|
+
kind: "context",
|
|
31707
|
+
events: resolveEventRegistrationScopedEvents(input.events, {
|
|
31708
|
+
occurrenceContext: input.occurrenceContext,
|
|
31709
|
+
subject
|
|
31710
|
+
})
|
|
31711
|
+
};
|
|
31712
|
+
if (!(selectedRunOffering.eventOfferingId === subject.eventOfferingId && subject.availableEventSeriesIds.some((seriesId) => seriesId === selectedRunOffering.eventSeriesId))) return { kind: "invalidSelectedRun" };
|
|
31713
|
+
return {
|
|
31714
|
+
kind: "selectedRun",
|
|
31715
|
+
events: input.events.filter((event) => event.seriesId === selectedRunOffering.eventSeriesId),
|
|
31716
|
+
offering: selectedRunOffering
|
|
31717
|
+
};
|
|
31670
31718
|
}
|
|
31671
31719
|
//#endregion
|
|
31672
31720
|
//#region ../blocks/src/system/runtime/nodes/events/shared/destination.ts
|
|
@@ -31742,14 +31790,14 @@ function isRecord$11(value) {
|
|
|
31742
31790
|
}
|
|
31743
31791
|
function isPublicEventPricing(value) {
|
|
31744
31792
|
if (!isRecord$11(value) || typeof value.kind !== "string") return false;
|
|
31745
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "
|
|
31793
|
+
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";
|
|
31746
31794
|
}
|
|
31747
31795
|
function isPublicEventTicketType(value) {
|
|
31748
31796
|
return isRecord$11(value) && typeof value.id === "string";
|
|
31749
31797
|
}
|
|
31750
31798
|
function readTicketTypePriceDisplay(value, currency) {
|
|
31751
31799
|
const display = readLegacyPriceDisplay(value, currency);
|
|
31752
|
-
return display.kind === "
|
|
31800
|
+
return display.kind === "whole_series" || display.kind === "external" ? {
|
|
31753
31801
|
kind: "unavailable",
|
|
31754
31802
|
currency
|
|
31755
31803
|
} : display;
|
|
@@ -31807,11 +31855,11 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
31807
31855
|
kind: "unavailable",
|
|
31808
31856
|
currency: displayCurrency
|
|
31809
31857
|
};
|
|
31810
|
-
case "
|
|
31811
|
-
kind: "
|
|
31858
|
+
case "whole_series": return isRecord$11(value.display) ? {
|
|
31859
|
+
kind: "whole_series",
|
|
31812
31860
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
31813
31861
|
} : {
|
|
31814
|
-
kind: "
|
|
31862
|
+
kind: "whole_series",
|
|
31815
31863
|
display: {
|
|
31816
31864
|
kind: "unavailable",
|
|
31817
31865
|
currency: displayCurrency
|
|
@@ -31937,7 +31985,7 @@ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
|
31937
31985
|
//#endregion
|
|
31938
31986
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
31939
31987
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
31940
|
-
return event.
|
|
31988
|
+
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
31941
31989
|
}
|
|
31942
31990
|
function findPreSelectedEvent(input) {
|
|
31943
31991
|
const occurrenceContext = input.occurrenceContext;
|
|
@@ -31963,12 +32011,127 @@ function toRegistrationEvent(event) {
|
|
|
31963
32011
|
return {
|
|
31964
32012
|
...event,
|
|
31965
32013
|
pricing: resolveRuntimeEventPricing(event),
|
|
31966
|
-
|
|
31967
|
-
|
|
32014
|
+
selectionId: event.id,
|
|
32015
|
+
registrationSubject: {
|
|
32016
|
+
kind: "occurrence",
|
|
32017
|
+
occurrenceId: event.occurrenceId
|
|
32018
|
+
}
|
|
31968
32019
|
};
|
|
31969
32020
|
}
|
|
31970
32021
|
function toRegistrationEvents(events) {
|
|
31971
|
-
return events.map(toRegistrationEvent);
|
|
32022
|
+
return events.filter((event) => event.bookingScope === "single_occurrence").map(toRegistrationEvent);
|
|
32023
|
+
}
|
|
32024
|
+
function toWholeSeriesTicketType(option) {
|
|
32025
|
+
return {
|
|
32026
|
+
...option,
|
|
32027
|
+
capacityMode: option.capacityLimit === null ? "unlimited" : "limited",
|
|
32028
|
+
attendanceScope: option.attendanceScope ?? void 0,
|
|
32029
|
+
availability: {
|
|
32030
|
+
kind: "available",
|
|
32031
|
+
remainingCapacity: option.capacityLimit
|
|
32032
|
+
}
|
|
32033
|
+
};
|
|
32034
|
+
}
|
|
32035
|
+
function toWholeSeriesPricing(offering) {
|
|
32036
|
+
const resolved = resolveWholeSeriesPricingState(offering);
|
|
32037
|
+
switch (offering.pricing.pricingStrategy) {
|
|
32038
|
+
case "free": return {
|
|
32039
|
+
kind: "free_registration",
|
|
32040
|
+
currency: offering.currency,
|
|
32041
|
+
display: {
|
|
32042
|
+
kind: "free",
|
|
32043
|
+
currency: offering.currency
|
|
32044
|
+
}
|
|
32045
|
+
};
|
|
32046
|
+
case "single": {
|
|
32047
|
+
const amount = offering.pricing.singlePriceAmount ?? 0;
|
|
32048
|
+
return amount === 0 ? {
|
|
32049
|
+
kind: "free_registration",
|
|
32050
|
+
currency: offering.currency,
|
|
32051
|
+
display: {
|
|
32052
|
+
kind: "free",
|
|
32053
|
+
currency: offering.currency
|
|
32054
|
+
}
|
|
32055
|
+
} : {
|
|
32056
|
+
kind: "single_paid",
|
|
32057
|
+
amount,
|
|
32058
|
+
currency: offering.currency,
|
|
32059
|
+
display: {
|
|
32060
|
+
kind: "exact",
|
|
32061
|
+
amount,
|
|
32062
|
+
currency: offering.currency
|
|
32063
|
+
}
|
|
32064
|
+
};
|
|
32065
|
+
}
|
|
32066
|
+
case "tiered": return {
|
|
32067
|
+
kind: "ticket_types",
|
|
32068
|
+
currency: offering.currency,
|
|
32069
|
+
ticketTypes: resolved.selectableOptions.map((option) => toWholeSeriesTicketType(option)),
|
|
32070
|
+
display: resolved.display
|
|
32071
|
+
};
|
|
32072
|
+
case "sliding_scale": return {
|
|
32073
|
+
kind: "sliding_scale",
|
|
32074
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
32075
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
32076
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null,
|
|
32077
|
+
currency: offering.currency,
|
|
32078
|
+
display: {
|
|
32079
|
+
kind: "range",
|
|
32080
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
32081
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
32082
|
+
currency: offering.currency
|
|
32083
|
+
}
|
|
32084
|
+
};
|
|
32085
|
+
}
|
|
32086
|
+
}
|
|
32087
|
+
function toAttendanceModes(offering) {
|
|
32088
|
+
return (offering.deliveryMode === "hybrid" ? ["in_person", "online"] : [offering.deliveryMode]).map((mode) => ({
|
|
32089
|
+
mode,
|
|
32090
|
+
capacity: offering.enrollmentCapacity,
|
|
32091
|
+
registeredCount: offering.enrolledCount,
|
|
32092
|
+
availableSpots: offering.availableSpots,
|
|
32093
|
+
waitlistEnabled: offering.waitlistEnabled
|
|
32094
|
+
}));
|
|
32095
|
+
}
|
|
32096
|
+
function toWholeSeriesRegistrationEvent(offering) {
|
|
32097
|
+
const firstSession = offering.sessions[0];
|
|
32098
|
+
const lastSession = offering.sessions[offering.sessions.length - 1];
|
|
32099
|
+
return {
|
|
32100
|
+
selectionId: offering.eventSeriesId,
|
|
32101
|
+
registrationSubject: {
|
|
32102
|
+
kind: "wholeSeries",
|
|
32103
|
+
eventSeriesId: offering.eventSeriesId,
|
|
32104
|
+
sessions: offering.sessions
|
|
32105
|
+
},
|
|
32106
|
+
seriesId: offering.eventSeriesId,
|
|
32107
|
+
title: offering.title,
|
|
32108
|
+
startsAt: firstSession?.startsAt ?? "",
|
|
32109
|
+
endsAt: lastSession?.endsAt ?? firstSession?.endsAt ?? "",
|
|
32110
|
+
bookingAvailability: offering.enrollmentOpen ? { kind: "open" } : {
|
|
32111
|
+
kind: "closed",
|
|
32112
|
+
reason: "enrollment_closed"
|
|
32113
|
+
},
|
|
32114
|
+
deliveryMode: offering.deliveryMode,
|
|
32115
|
+
attendanceModes: toAttendanceModes(offering),
|
|
32116
|
+
capacity: offering.enrollmentCapacity,
|
|
32117
|
+
registeredCount: offering.enrolledCount,
|
|
32118
|
+
availableSpots: offering.availableSpots,
|
|
32119
|
+
waitlistEnabled: offering.waitlistEnabled,
|
|
32120
|
+
venue: offering.venue ? {
|
|
32121
|
+
...offering.venue,
|
|
32122
|
+
location: null
|
|
32123
|
+
} : null,
|
|
32124
|
+
eventCategory: null,
|
|
32125
|
+
teamMembers: offering.teamMembers,
|
|
32126
|
+
status: offering.status,
|
|
32127
|
+
timeZone: firstSession?.timeZone ?? "UTC",
|
|
32128
|
+
pricing: toWholeSeriesPricing(offering),
|
|
32129
|
+
paymentTerms: offering.paymentTerms,
|
|
32130
|
+
consent: offering.consent,
|
|
32131
|
+
requireGuestDetails: offering.requireGuestDetails,
|
|
32132
|
+
acceptsPasses: false,
|
|
32133
|
+
acceptsMemberships: offering.acceptsMemberships
|
|
32134
|
+
};
|
|
31972
32135
|
}
|
|
31973
32136
|
//#endregion
|
|
31974
32137
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
@@ -31994,11 +32157,7 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
31994
32157
|
maxTickets: z.string().optional(),
|
|
31995
32158
|
showVenue: z.boolean().optional(),
|
|
31996
32159
|
showCapacity: z.boolean().optional(),
|
|
31997
|
-
showSessions: z.boolean().optional(),
|
|
31998
|
-
showPrice: z.boolean().optional(),
|
|
31999
32160
|
successMessage: z.string().optional(),
|
|
32000
|
-
waitlistMessage: z.string().optional(),
|
|
32001
|
-
membershipMessage: z.string().optional(),
|
|
32002
32161
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
32003
32162
|
overlayEnabled: z.boolean().optional(),
|
|
32004
32163
|
spamProtectionEnabled: z.boolean().optional(),
|
|
@@ -32068,6 +32227,15 @@ function resolveWholeSeriesOffering(source) {
|
|
|
32068
32227
|
return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
|
|
32069
32228
|
}
|
|
32070
32229
|
function buildEventRegistrationShellStepLabels(source) {
|
|
32230
|
+
const selectedOffering = resolveWholeSeriesOffering(source);
|
|
32231
|
+
if (selectedOffering) {
|
|
32232
|
+
const selectedEvent = toWholeSeriesRegistrationEvent(selectedOffering);
|
|
32233
|
+
return getWizardStepsForContext(true, resolveEventRequiresPayment({
|
|
32234
|
+
eligibility: null,
|
|
32235
|
+
selectedTicketType: null,
|
|
32236
|
+
event: selectedEvent
|
|
32237
|
+
})).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
|
|
32238
|
+
}
|
|
32071
32239
|
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
32072
32240
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
32073
32241
|
const preSelectedEvent = findPreSelectedEvent({
|
|
@@ -32082,10 +32250,13 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
32082
32250
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
32083
32251
|
}
|
|
32084
32252
|
function scopeEventRegistrationEvents(source) {
|
|
32085
|
-
|
|
32253
|
+
const scope = planEventRegistrationScope({
|
|
32254
|
+
events: toRegistrationEvents(source.events ?? []),
|
|
32255
|
+
wholeSeriesOffering: source.wholeSeriesOffering,
|
|
32086
32256
|
occurrenceContext: source.occurrenceContext,
|
|
32087
32257
|
subject: source.subject
|
|
32088
32258
|
});
|
|
32259
|
+
return scope.kind === "invalidSelectedRun" ? [] : scope.events;
|
|
32089
32260
|
}
|
|
32090
32261
|
function shellLabelForRegistrationStep(step, events) {
|
|
32091
32262
|
switch (step) {
|
|
@@ -32128,11 +32299,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
32128
32299
|
maxTickets: source.maxTickets ?? void 0,
|
|
32129
32300
|
showVenue: source.showVenue,
|
|
32130
32301
|
showCapacity: source.showCapacity,
|
|
32131
|
-
showSessions: source.showSessions,
|
|
32132
|
-
showPrice: source.showPrice,
|
|
32133
32302
|
successMessage: source.successMessage,
|
|
32134
|
-
waitlistMessage: source.waitlistMessage,
|
|
32135
|
-
membershipMessage: source.membershipMessage,
|
|
32136
32303
|
buttonVariant: source.buttonVariant,
|
|
32137
32304
|
overlayEnabled: source.overlayEnabled,
|
|
32138
32305
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
@@ -32262,24 +32429,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
32262
32429
|
defaultValue: true,
|
|
32263
32430
|
ui: { intent: "display" }
|
|
32264
32431
|
},
|
|
32265
|
-
{
|
|
32266
|
-
id: "showSessions",
|
|
32267
|
-
type: "boolean",
|
|
32268
|
-
label: "Show complete schedule",
|
|
32269
|
-
description: "Display every session for whole-series registrations",
|
|
32270
|
-
required: false,
|
|
32271
|
-
defaultValue: true,
|
|
32272
|
-
ui: { intent: "display" }
|
|
32273
|
-
},
|
|
32274
|
-
{
|
|
32275
|
-
id: "showPrice",
|
|
32276
|
-
type: "boolean",
|
|
32277
|
-
label: "Show price",
|
|
32278
|
-
description: "Display the whole-series price",
|
|
32279
|
-
required: false,
|
|
32280
|
-
defaultValue: true,
|
|
32281
|
-
ui: { intent: "display" }
|
|
32282
|
-
},
|
|
32283
32432
|
{
|
|
32284
32433
|
id: "successMessage",
|
|
32285
32434
|
type: "text",
|
|
@@ -32290,26 +32439,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
32290
32439
|
defaultValue: "Thank you for registering! Check your email for confirmation details.",
|
|
32291
32440
|
maxLength: 500
|
|
32292
32441
|
},
|
|
32293
|
-
{
|
|
32294
|
-
id: "waitlistMessage",
|
|
32295
|
-
type: "text",
|
|
32296
|
-
label: "Waitlist message",
|
|
32297
|
-
description: "Message shown after joining a whole-series waitlist",
|
|
32298
|
-
required: false,
|
|
32299
|
-
multiline: true,
|
|
32300
|
-
defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
|
|
32301
|
-
maxLength: 500
|
|
32302
|
-
},
|
|
32303
|
-
{
|
|
32304
|
-
id: "membershipMessage",
|
|
32305
|
-
type: "text",
|
|
32306
|
-
label: "Membership registration message",
|
|
32307
|
-
description: "Message shown when a whole-series place is covered by membership",
|
|
32308
|
-
required: false,
|
|
32309
|
-
multiline: true,
|
|
32310
|
-
defaultValue: "Registered using your membership. Check your email for session details.",
|
|
32311
|
-
maxLength: 500
|
|
32312
|
-
},
|
|
32313
32442
|
{
|
|
32314
32443
|
id: "buttonText",
|
|
32315
32444
|
type: "text",
|
|
@@ -32341,11 +32470,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
32341
32470
|
} },
|
|
32342
32471
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
32343
32472
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
32344
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
32345
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
32346
32473
|
successMessage: { $bind: { from: "content.successMessage" } },
|
|
32347
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
32348
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
32349
32474
|
buttonText: { $bind: {
|
|
32350
32475
|
from: "content.buttonText",
|
|
32351
32476
|
fallback: "Complete Registration"
|
|
@@ -32462,267 +32587,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
32462
32587
|
}
|
|
32463
32588
|
};
|
|
32464
32589
|
//#endregion
|
|
32465
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
32466
|
-
const courseRegistrationHydrationSchemaShape = {
|
|
32467
|
-
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
32468
|
-
courses: z.array(publicWholeSeriesOfferingSchema).nullable().optional(),
|
|
32469
|
-
showSessions: z.boolean().optional(),
|
|
32470
|
-
showPrice: z.boolean().optional(),
|
|
32471
|
-
showCapacity: z.boolean().optional(),
|
|
32472
|
-
showVenue: z.boolean().optional(),
|
|
32473
|
-
successMessage: z.string().optional(),
|
|
32474
|
-
waitlistMessage: z.string().optional(),
|
|
32475
|
-
membershipMessage: z.string().optional(),
|
|
32476
|
-
buttonVariant: registrationButtonVariantSchema.optional()
|
|
32477
|
-
};
|
|
32478
|
-
const courseRegistrationSourceSchema = z.object({
|
|
32479
|
-
siteId: z.string().optional(),
|
|
32480
|
-
apiBaseUrl: z.string().optional(),
|
|
32481
|
-
portalToken: z.string().nullable().optional(),
|
|
32482
|
-
...courseRegistrationHydrationSchemaShape,
|
|
32483
|
-
className: z.string().nullable().optional(),
|
|
32484
|
-
buttonText: z.string().nullable().optional(),
|
|
32485
|
-
stage: previewStageSchema.optional()
|
|
32486
|
-
});
|
|
32487
|
-
const courseRegistrationDisplaySchema = z.object({
|
|
32488
|
-
kind: z.literal("course-registration"),
|
|
32489
|
-
state: z.literal("shell"),
|
|
32490
|
-
className: z.string().nullable(),
|
|
32491
|
-
summaryButtonText: z.string()
|
|
32492
|
-
});
|
|
32493
|
-
const courseRegistrationHydrationSchema = z.object(courseRegistrationHydrationSchemaShape);
|
|
32494
|
-
const courseRegistrationRenderSchema = z.object({
|
|
32495
|
-
display: courseRegistrationDisplaySchema,
|
|
32496
|
-
hydration: courseRegistrationHydrationSchema
|
|
32497
|
-
});
|
|
32498
|
-
z.object({
|
|
32499
|
-
siteId: z.string().optional(),
|
|
32500
|
-
apiBaseUrl: z.string().optional(),
|
|
32501
|
-
portalToken: z.string().nullable().optional(),
|
|
32502
|
-
stage: previewStageSchema.optional()
|
|
32503
|
-
});
|
|
32504
|
-
function buildCourseRegistrationDisplay(source) {
|
|
32505
|
-
return {
|
|
32506
|
-
kind: "course-registration",
|
|
32507
|
-
state: "shell",
|
|
32508
|
-
className: source.className ?? null,
|
|
32509
|
-
summaryButtonText: source.buttonText?.trim() || "Sign up"
|
|
32510
|
-
};
|
|
32511
|
-
}
|
|
32512
|
-
const courseRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
32513
|
-
kind: "client-owned",
|
|
32514
|
-
contracts: {
|
|
32515
|
-
source: createZodCodec(courseRegistrationSourceSchema),
|
|
32516
|
-
render: createZodCodec(courseRegistrationRenderSchema)
|
|
32517
|
-
},
|
|
32518
|
-
buildRender: (source) => ({
|
|
32519
|
-
display: buildCourseRegistrationDisplay(source),
|
|
32520
|
-
hydration: {
|
|
32521
|
-
subject: source.subject ?? null,
|
|
32522
|
-
courses: source.courses ?? null,
|
|
32523
|
-
showSessions: source.showSessions,
|
|
32524
|
-
showPrice: source.showPrice,
|
|
32525
|
-
showCapacity: source.showCapacity,
|
|
32526
|
-
showVenue: source.showVenue,
|
|
32527
|
-
successMessage: source.successMessage,
|
|
32528
|
-
waitlistMessage: source.waitlistMessage,
|
|
32529
|
-
membershipMessage: source.membershipMessage,
|
|
32530
|
-
buttonVariant: source.buttonVariant
|
|
32531
|
-
}
|
|
32532
|
-
})
|
|
32533
|
-
});
|
|
32534
|
-
function buildCourseRegistrationInteractiveIslandProps(props) {
|
|
32535
|
-
return buildInteractiveIslandProps({
|
|
32536
|
-
runtime: courseRegistrationBlockRuntime,
|
|
32537
|
-
mode: "course-registration",
|
|
32538
|
-
meta: {
|
|
32539
|
-
siteId: props.siteId,
|
|
32540
|
-
apiBaseUrl: props.apiBaseUrl,
|
|
32541
|
-
portalToken: props.portalToken,
|
|
32542
|
-
stage: props.stage
|
|
32543
|
-
},
|
|
32544
|
-
source: props
|
|
32545
|
-
});
|
|
32546
|
-
}
|
|
32547
|
-
const courseRegistrationBlockDefinition = {
|
|
32548
|
-
manifest: createBlockManifest({
|
|
32549
|
-
id: "block.course-registration",
|
|
32550
|
-
version: "1.0.0",
|
|
32551
|
-
title: "Course Registration",
|
|
32552
|
-
titleSource: "heading",
|
|
32553
|
-
description: "Enrollment form for multi-session courses",
|
|
32554
|
-
category: "interactive",
|
|
32555
|
-
contentSource: { kind: "inline" },
|
|
32556
|
-
tags: [
|
|
32557
|
-
"courses",
|
|
32558
|
-
"enrollment",
|
|
32559
|
-
"booking",
|
|
32560
|
-
"form",
|
|
32561
|
-
"signup",
|
|
32562
|
-
"education"
|
|
32563
|
-
],
|
|
32564
|
-
icon: "GraduationCap",
|
|
32565
|
-
styleTokens: {
|
|
32566
|
-
background: "surface",
|
|
32567
|
-
typography: "body",
|
|
32568
|
-
spacing: "md"
|
|
32569
|
-
},
|
|
32570
|
-
behaviours: {
|
|
32571
|
-
supportsThemeSwitching: true,
|
|
32572
|
-
inlineEditing: false,
|
|
32573
|
-
animation: false,
|
|
32574
|
-
paletteHidden: false
|
|
32575
|
-
},
|
|
32576
|
-
additionalFields: [
|
|
32577
|
-
{
|
|
32578
|
-
id: "heading",
|
|
32579
|
-
type: "text",
|
|
32580
|
-
label: "Heading",
|
|
32581
|
-
description: "Main heading for the registration form",
|
|
32582
|
-
required: false,
|
|
32583
|
-
multiline: false,
|
|
32584
|
-
defaultValue: "Sign up"
|
|
32585
|
-
},
|
|
32586
|
-
{
|
|
32587
|
-
id: "description",
|
|
32588
|
-
type: "richText",
|
|
32589
|
-
label: "Description",
|
|
32590
|
-
description: "Optional introductory text",
|
|
32591
|
-
required: false
|
|
32592
|
-
},
|
|
32593
|
-
{
|
|
32594
|
-
id: "showSessions",
|
|
32595
|
-
type: "boolean",
|
|
32596
|
-
label: "Show sessions",
|
|
32597
|
-
description: "Display the list of course sessions",
|
|
32598
|
-
required: false,
|
|
32599
|
-
defaultValue: true,
|
|
32600
|
-
ui: { intent: "display" }
|
|
32601
|
-
},
|
|
32602
|
-
{
|
|
32603
|
-
id: "showPrice",
|
|
32604
|
-
type: "boolean",
|
|
32605
|
-
label: "Show price",
|
|
32606
|
-
description: "Display the course price",
|
|
32607
|
-
required: false,
|
|
32608
|
-
defaultValue: true,
|
|
32609
|
-
ui: { intent: "display" }
|
|
32610
|
-
},
|
|
32611
|
-
{
|
|
32612
|
-
id: "showCapacity",
|
|
32613
|
-
type: "boolean",
|
|
32614
|
-
label: "Show available spots",
|
|
32615
|
-
description: "Display remaining enrollment capacity",
|
|
32616
|
-
required: false,
|
|
32617
|
-
defaultValue: true,
|
|
32618
|
-
ui: { intent: "display" }
|
|
32619
|
-
},
|
|
32620
|
-
{
|
|
32621
|
-
id: "showVenue",
|
|
32622
|
-
type: "boolean",
|
|
32623
|
-
label: "Show venue",
|
|
32624
|
-
description: "Display venue information",
|
|
32625
|
-
required: false,
|
|
32626
|
-
defaultValue: true,
|
|
32627
|
-
ui: { intent: "display" }
|
|
32628
|
-
},
|
|
32629
|
-
{
|
|
32630
|
-
id: "successMessage",
|
|
32631
|
-
type: "text",
|
|
32632
|
-
label: "Success message",
|
|
32633
|
-
description: "Message shown after successful enrollment",
|
|
32634
|
-
required: false,
|
|
32635
|
-
multiline: true,
|
|
32636
|
-
defaultValue: "You're enrolled! Check your email for confirmation and session details.",
|
|
32637
|
-
maxLength: 500
|
|
32638
|
-
},
|
|
32639
|
-
{
|
|
32640
|
-
id: "waitlistMessage",
|
|
32641
|
-
type: "text",
|
|
32642
|
-
label: "Waitlist message",
|
|
32643
|
-
description: "Message when added to waitlist",
|
|
32644
|
-
required: false,
|
|
32645
|
-
multiline: true,
|
|
32646
|
-
defaultValue: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
32647
|
-
maxLength: 500
|
|
32648
|
-
},
|
|
32649
|
-
{
|
|
32650
|
-
id: "membershipMessage",
|
|
32651
|
-
type: "text",
|
|
32652
|
-
label: "Membership enrollment message",
|
|
32653
|
-
description: "Message when enrolled using a membership",
|
|
32654
|
-
required: false,
|
|
32655
|
-
multiline: true,
|
|
32656
|
-
defaultValue: "Enrolled using your membership! Check your email for session details.",
|
|
32657
|
-
maxLength: 500
|
|
32658
|
-
},
|
|
32659
|
-
{
|
|
32660
|
-
id: "buttonText",
|
|
32661
|
-
type: "text",
|
|
32662
|
-
label: "Submit button text",
|
|
32663
|
-
description: "Text for the enrollment submit button",
|
|
32664
|
-
required: false,
|
|
32665
|
-
multiline: false,
|
|
32666
|
-
defaultValue: "Sign up",
|
|
32667
|
-
maxLength: 40
|
|
32668
|
-
},
|
|
32669
|
-
createButtonVariantField()
|
|
32670
|
-
],
|
|
32671
|
-
layout: [styledSection({
|
|
32672
|
-
baseClass: "",
|
|
32673
|
-
spacing: "spacious",
|
|
32674
|
-
children: sectionContainer([
|
|
32675
|
-
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
32676
|
-
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
32677
|
-
courseRegistration(withApiBindings({
|
|
32678
|
-
subject: { $bind: {
|
|
32679
|
-
from: "$root.subject",
|
|
32680
|
-
fallback: null
|
|
32681
|
-
} },
|
|
32682
|
-
portalToken: { $bind: {
|
|
32683
|
-
from: "$root.portalToken",
|
|
32684
|
-
fallback: null
|
|
32685
|
-
} },
|
|
32686
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
32687
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
32688
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
32689
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
32690
|
-
successMessage: { $bind: { from: "content.successMessage" } },
|
|
32691
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
32692
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
32693
|
-
buttonText: { $bind: {
|
|
32694
|
-
from: "content.buttonText",
|
|
32695
|
-
fallback: "Sign up"
|
|
32696
|
-
} },
|
|
32697
|
-
buttonVariant: { $bind: {
|
|
32698
|
-
from: "content.buttonVariant",
|
|
32699
|
-
fallback: "primary"
|
|
32700
|
-
} },
|
|
32701
|
-
courses: { $bind: { from: "data.courses" } },
|
|
32702
|
-
stage: { $bind: {
|
|
32703
|
-
from: "$root.previewStage",
|
|
32704
|
-
fallback: "published"
|
|
32705
|
-
} }
|
|
32706
|
-
}))
|
|
32707
|
-
], { gap: "lg" })
|
|
32708
|
-
})]
|
|
32709
|
-
}),
|
|
32710
|
-
runtime: courseRegistrationBlockRuntime,
|
|
32711
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
32712
|
-
dataLoaders: { courses: {
|
|
32713
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
32714
|
-
params: {
|
|
32715
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
32716
|
-
limit: "50",
|
|
32717
|
-
stage: { $bind: {
|
|
32718
|
-
from: "$root.previewStage",
|
|
32719
|
-
fallback: "published"
|
|
32720
|
-
} }
|
|
32721
|
-
},
|
|
32722
|
-
mode: "server"
|
|
32723
|
-
} }
|
|
32724
|
-
};
|
|
32725
|
-
//#endregion
|
|
32726
32590
|
//#region ../blocks/src/system/blocks/event-details.ts
|
|
32727
32591
|
/**
|
|
32728
32592
|
* Event Details Block
|
|
@@ -32969,200 +32833,6 @@ const eventDetailsBlockDefinition = {
|
|
|
32969
32833
|
mode: "server"
|
|
32970
32834
|
} }
|
|
32971
32835
|
};
|
|
32972
|
-
const courseDetailsBlockDefinition = {
|
|
32973
|
-
manifest: createBlockManifest({
|
|
32974
|
-
id: "block.course-details",
|
|
32975
|
-
version: "1.0.0",
|
|
32976
|
-
title: "Course Details",
|
|
32977
|
-
titleSource: "heading",
|
|
32978
|
-
description: "Schedule, venue, price, and enrollment status for a course",
|
|
32979
|
-
category: "content",
|
|
32980
|
-
contentSource: { kind: "entries" },
|
|
32981
|
-
tags: [
|
|
32982
|
-
"courses",
|
|
32983
|
-
"schedule",
|
|
32984
|
-
"sessions",
|
|
32985
|
-
"venue",
|
|
32986
|
-
"pricing"
|
|
32987
|
-
],
|
|
32988
|
-
icon: "GraduationCap",
|
|
32989
|
-
styleTokens: {
|
|
32990
|
-
background: "surface",
|
|
32991
|
-
typography: "body",
|
|
32992
|
-
spacing: "md"
|
|
32993
|
-
},
|
|
32994
|
-
behaviours: {
|
|
32995
|
-
supportsThemeSwitching: true,
|
|
32996
|
-
inlineEditing: false,
|
|
32997
|
-
animation: false,
|
|
32998
|
-
paletteHidden: false
|
|
32999
|
-
},
|
|
33000
|
-
additionalFields: [
|
|
33001
|
-
{
|
|
33002
|
-
id: "heading",
|
|
33003
|
-
type: "text",
|
|
33004
|
-
label: "Heading",
|
|
33005
|
-
description: "Optional heading shown above course details",
|
|
33006
|
-
required: false,
|
|
33007
|
-
multiline: false,
|
|
33008
|
-
defaultValue: "Course details"
|
|
33009
|
-
},
|
|
33010
|
-
{
|
|
33011
|
-
id: "showTitle",
|
|
33012
|
-
type: "boolean",
|
|
33013
|
-
label: "Show course title",
|
|
33014
|
-
required: false,
|
|
33015
|
-
defaultValue: false,
|
|
33016
|
-
ui: { intent: "display" }
|
|
33017
|
-
},
|
|
33018
|
-
{
|
|
33019
|
-
id: "showDescription",
|
|
33020
|
-
type: "boolean",
|
|
33021
|
-
label: "Show course description",
|
|
33022
|
-
description: "Render the course description from the bookings course record",
|
|
33023
|
-
required: false,
|
|
33024
|
-
defaultValue: false,
|
|
33025
|
-
ui: { intent: "display" }
|
|
33026
|
-
},
|
|
33027
|
-
{
|
|
33028
|
-
id: "showSessions",
|
|
33029
|
-
type: "boolean",
|
|
33030
|
-
label: "Show sessions",
|
|
33031
|
-
required: false,
|
|
33032
|
-
defaultValue: true,
|
|
33033
|
-
ui: { intent: "display" }
|
|
33034
|
-
},
|
|
33035
|
-
{
|
|
33036
|
-
id: "sessionsLimit",
|
|
33037
|
-
type: "select",
|
|
33038
|
-
label: "Sessions limit",
|
|
33039
|
-
required: false,
|
|
33040
|
-
multiple: false,
|
|
33041
|
-
defaultValue: "10",
|
|
33042
|
-
options: [
|
|
33043
|
-
{
|
|
33044
|
-
value: "3",
|
|
33045
|
-
label: "3 sessions"
|
|
33046
|
-
},
|
|
33047
|
-
{
|
|
33048
|
-
value: "5",
|
|
33049
|
-
label: "5 sessions"
|
|
33050
|
-
},
|
|
33051
|
-
{
|
|
33052
|
-
value: "10",
|
|
33053
|
-
label: "10 sessions"
|
|
33054
|
-
},
|
|
33055
|
-
{
|
|
33056
|
-
value: "all",
|
|
33057
|
-
label: "All sessions"
|
|
33058
|
-
}
|
|
33059
|
-
],
|
|
33060
|
-
ui: { intent: "display" }
|
|
33061
|
-
},
|
|
33062
|
-
{
|
|
33063
|
-
id: "showVenue",
|
|
33064
|
-
type: "boolean",
|
|
33065
|
-
label: "Show venue",
|
|
33066
|
-
required: false,
|
|
33067
|
-
defaultValue: true,
|
|
33068
|
-
ui: { intent: "display" }
|
|
33069
|
-
},
|
|
33070
|
-
{
|
|
33071
|
-
id: "showPrice",
|
|
33072
|
-
type: "boolean",
|
|
33073
|
-
label: "Show price",
|
|
33074
|
-
required: false,
|
|
33075
|
-
defaultValue: true,
|
|
33076
|
-
ui: { intent: "display" }
|
|
33077
|
-
},
|
|
33078
|
-
{
|
|
33079
|
-
id: "showCapacity",
|
|
33080
|
-
type: "boolean",
|
|
33081
|
-
label: "Show capacity",
|
|
33082
|
-
required: false,
|
|
33083
|
-
defaultValue: true,
|
|
33084
|
-
ui: { intent: "display" }
|
|
33085
|
-
},
|
|
33086
|
-
{
|
|
33087
|
-
id: "showEnrollmentStatus",
|
|
33088
|
-
type: "boolean",
|
|
33089
|
-
label: "Show enrollment status",
|
|
33090
|
-
required: false,
|
|
33091
|
-
defaultValue: true,
|
|
33092
|
-
ui: { intent: "display" }
|
|
33093
|
-
},
|
|
33094
|
-
{
|
|
33095
|
-
id: "showMembershipNote",
|
|
33096
|
-
type: "boolean",
|
|
33097
|
-
label: "Show membership note",
|
|
33098
|
-
description: "Indicate when memberships can be used for free enrollment",
|
|
33099
|
-
required: false,
|
|
33100
|
-
defaultValue: true,
|
|
33101
|
-
ui: { intent: "display" }
|
|
33102
|
-
}
|
|
33103
|
-
],
|
|
33104
|
-
layout: [styledSection({
|
|
33105
|
-
baseClass: "",
|
|
33106
|
-
spacing: "spacious",
|
|
33107
|
-
children: sectionContainer([text({ as: "h2" }, bind("content.heading"), when("content.heading")), el("course-details", {
|
|
33108
|
-
subject: { $bind: {
|
|
33109
|
-
from: "$root.subject",
|
|
33110
|
-
fallback: null
|
|
33111
|
-
} },
|
|
33112
|
-
courses: { $bind: { from: "data.courses" } },
|
|
33113
|
-
showTitle: { $bind: {
|
|
33114
|
-
from: "content.showTitle",
|
|
33115
|
-
fallback: false
|
|
33116
|
-
} },
|
|
33117
|
-
showDescription: { $bind: {
|
|
33118
|
-
from: "content.showDescription",
|
|
33119
|
-
fallback: false
|
|
33120
|
-
} },
|
|
33121
|
-
showSessions: { $bind: {
|
|
33122
|
-
from: "content.showSessions",
|
|
33123
|
-
fallback: true
|
|
33124
|
-
} },
|
|
33125
|
-
sessionsLimit: { $bind: {
|
|
33126
|
-
from: "content.sessionsLimit",
|
|
33127
|
-
fallback: "10"
|
|
33128
|
-
} },
|
|
33129
|
-
showVenue: { $bind: {
|
|
33130
|
-
from: "content.showVenue",
|
|
33131
|
-
fallback: true
|
|
33132
|
-
} },
|
|
33133
|
-
showPrice: { $bind: {
|
|
33134
|
-
from: "content.showPrice",
|
|
33135
|
-
fallback: true
|
|
33136
|
-
} },
|
|
33137
|
-
showCapacity: { $bind: {
|
|
33138
|
-
from: "content.showCapacity",
|
|
33139
|
-
fallback: true
|
|
33140
|
-
} },
|
|
33141
|
-
showEnrollmentStatus: { $bind: {
|
|
33142
|
-
from: "content.showEnrollmentStatus",
|
|
33143
|
-
fallback: true
|
|
33144
|
-
} },
|
|
33145
|
-
showMembershipNote: { $bind: {
|
|
33146
|
-
from: "content.showMembershipNote",
|
|
33147
|
-
fallback: true
|
|
33148
|
-
} }
|
|
33149
|
-
})], { gap: "lg" })
|
|
33150
|
-
})]
|
|
33151
|
-
}),
|
|
33152
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
33153
|
-
dataLoaders: { courses: {
|
|
33154
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
33155
|
-
params: {
|
|
33156
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
33157
|
-
limit: "50",
|
|
33158
|
-
stage: { $bind: {
|
|
33159
|
-
from: "$root.previewStage",
|
|
33160
|
-
fallback: "published"
|
|
33161
|
-
} }
|
|
33162
|
-
},
|
|
33163
|
-
mode: "server"
|
|
33164
|
-
} }
|
|
33165
|
-
};
|
|
33166
32836
|
const eventSpotlightBlockDefinition = {
|
|
33167
32837
|
manifest: createBlockManifest({
|
|
33168
32838
|
id: "block.event-spotlight",
|
|
@@ -38086,6 +37756,7 @@ function normalizeGroupPresentation(value) {
|
|
|
38086
37756
|
function resolveAutoCtaPath(source, routes) {
|
|
38087
37757
|
const routeByNormalizedPath = /* @__PURE__ */ new Map();
|
|
38088
37758
|
for (const route of routes ?? []) {
|
|
37759
|
+
if (route.kind === "pageSurface") continue;
|
|
38089
37760
|
const normalized = normalizeRoutePath(route.path);
|
|
38090
37761
|
if (normalized && !routeByNormalizedPath.has(normalized)) routeByNormalizedPath.set(normalized, route.path);
|
|
38091
37762
|
}
|
|
@@ -38136,7 +37807,7 @@ const publicRouteCandidatesSchema = z.object({ routes: z.array(z.object({
|
|
|
38136
37807
|
entityId: z.string(),
|
|
38137
37808
|
path: z.string(),
|
|
38138
37809
|
title: z.string(),
|
|
38139
|
-
kind: z.enum(
|
|
37810
|
+
kind: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
38140
37811
|
contentTypeKey: z.string().nullable().optional()
|
|
38141
37812
|
})) });
|
|
38142
37813
|
const groupOverrideFields = [
|
|
@@ -38413,7 +38084,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
38413
38084
|
fallback: "published"
|
|
38414
38085
|
} },
|
|
38415
38086
|
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
38416
|
-
|
|
38087
|
+
wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
|
|
38417
38088
|
...offeringsPreviewEventDataBindings
|
|
38418
38089
|
})
|
|
38419
38090
|
], { gap: "lg" }),
|
|
@@ -38430,7 +38101,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
38430
38101
|
dataSchemas: {
|
|
38431
38102
|
...offeringsPreviewEventDataSchemas,
|
|
38432
38103
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
38433
|
-
|
|
38104
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
|
|
38434
38105
|
},
|
|
38435
38106
|
dataLoaders: {
|
|
38436
38107
|
...offeringsPreviewEventDataLoaders,
|
|
@@ -38439,7 +38110,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
38439
38110
|
params: {},
|
|
38440
38111
|
mode: "server"
|
|
38441
38112
|
},
|
|
38442
|
-
|
|
38113
|
+
wholeSeriesOfferings: {
|
|
38443
38114
|
endpoint: "listPublicWholeSeriesOfferings",
|
|
38444
38115
|
params: {
|
|
38445
38116
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
@@ -43523,22 +43194,6 @@ const systemBlockDefinitions = [
|
|
|
43523
43194
|
weight: "standard"
|
|
43524
43195
|
})]
|
|
43525
43196
|
})),
|
|
43526
|
-
withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
43527
|
-
flow: conversionFlow,
|
|
43528
|
-
layoutProfiles: [layoutProfile({
|
|
43529
|
-
variantKey: "default",
|
|
43530
|
-
family: "form",
|
|
43531
|
-
weight: "standard"
|
|
43532
|
-
})]
|
|
43533
|
-
})),
|
|
43534
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
43535
|
-
flow: offeringsFlow,
|
|
43536
|
-
layoutProfiles: [layoutProfile({
|
|
43537
|
-
variantKey: "default",
|
|
43538
|
-
family: "stack",
|
|
43539
|
-
weight: "standard"
|
|
43540
|
-
})]
|
|
43541
|
-
})),
|
|
43542
43197
|
withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
|
|
43543
43198
|
flow: offeringsFlow,
|
|
43544
43199
|
layoutProfiles: [layoutProfile({
|
|
@@ -44605,7 +44260,7 @@ function normalizeRel(target, rel) {
|
|
|
44605
44260
|
tokens.add("noreferrer");
|
|
44606
44261
|
return Array.from(tokens).join(" ");
|
|
44607
44262
|
}
|
|
44608
|
-
function renderMarks(text, marks, key) {
|
|
44263
|
+
function renderMarks(text, marks, key, linkTarget) {
|
|
44609
44264
|
if (!marks || marks.length === 0) return text;
|
|
44610
44265
|
return marks.reduce((acc, mark) => {
|
|
44611
44266
|
switch (mark.type) {
|
|
@@ -44618,7 +44273,8 @@ function renderMarks(text, marks, key) {
|
|
|
44618
44273
|
const attrs = mark.attrs ?? {};
|
|
44619
44274
|
const href = sanitizeHref(attrs.href);
|
|
44620
44275
|
if (!href) return acc;
|
|
44621
|
-
const
|
|
44276
|
+
const storedTarget = typeof attrs.target === "string" && attrs.target.trim().length > 0 ? attrs.target.trim() : void 0;
|
|
44277
|
+
const target = linkTarget === "new-tab" ? "_blank" : storedTarget;
|
|
44622
44278
|
return /* @__PURE__ */ jsx("a", {
|
|
44623
44279
|
href,
|
|
44624
44280
|
target,
|
|
@@ -44630,14 +44286,14 @@ function renderMarks(text, marks, key) {
|
|
|
44630
44286
|
}
|
|
44631
44287
|
}, text);
|
|
44632
44288
|
}
|
|
44633
|
-
function renderDoc(node, key, imageResolveContext) {
|
|
44289
|
+
function renderDoc(node, key, imageResolveContext, linkTarget) {
|
|
44634
44290
|
if (!node || !node.type) return null;
|
|
44635
|
-
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext));
|
|
44291
|
+
const children = node.content?.map((child, index) => renderDoc(child, `${key}-${index}`, imageResolveContext, linkTarget));
|
|
44636
44292
|
switch (node.type) {
|
|
44637
44293
|
case "doc": return /* @__PURE__ */ jsx(Fragment, { children });
|
|
44638
44294
|
case "paragraph":
|
|
44639
44295
|
if (!children && !node.text) return /* @__PURE__ */ jsx("p", {}, key);
|
|
44640
|
-
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key) }, key);
|
|
44296
|
+
return /* @__PURE__ */ jsx("p", { children: children ?? renderMarks(node.text ?? "", node.marks, key, linkTarget) }, key);
|
|
44641
44297
|
case "heading": {
|
|
44642
44298
|
const headingTag = `h${Math.min(Math.max(node.attrs?.level ?? 2, 1), 6)}`;
|
|
44643
44299
|
return React.createElement(headingTag, { key }, children);
|
|
@@ -44679,14 +44335,14 @@ function renderDoc(node, key, imageResolveContext) {
|
|
|
44679
44335
|
decoding: "async"
|
|
44680
44336
|
}, key);
|
|
44681
44337
|
}
|
|
44682
|
-
case "text": return renderMarks(node.text ?? "", node.marks, key);
|
|
44338
|
+
case "text": return renderMarks(node.text ?? "", node.marks, key, linkTarget);
|
|
44683
44339
|
default: return null;
|
|
44684
44340
|
}
|
|
44685
44341
|
}
|
|
44686
44342
|
const DEFAULT_RICH_TEXT_CLASS = "rb-prose rb-max-w-none";
|
|
44687
|
-
function RichText({ as: Comp = "div", className, doc, path }) {
|
|
44343
|
+
function RichText({ as: Comp = "div", className, doc, path, linkTarget = "stored" }) {
|
|
44688
44344
|
const imageResolveContext = getCurrentResolveImageUrlContext() ?? null;
|
|
44689
|
-
const content = doc ? renderDoc(doc, "doc", imageResolveContext) : null;
|
|
44345
|
+
const content = doc ? renderDoc(doc, "doc", imageResolveContext, linkTarget) : null;
|
|
44690
44346
|
const dataAttributes = path ? { "data-builder-richtext": path } : void 0;
|
|
44691
44347
|
return /* @__PURE__ */ jsx(Comp, {
|
|
44692
44348
|
className: className?.trim() || DEFAULT_RICH_TEXT_CLASS,
|
|
@@ -46024,7 +45680,6 @@ function readBookingFieldType(value) {
|
|
|
46024
45680
|
case "select":
|
|
46025
45681
|
case "radio":
|
|
46026
45682
|
case "checkbox":
|
|
46027
|
-
case "booking_requirement_consent":
|
|
46028
45683
|
case "tel":
|
|
46029
45684
|
case "url":
|
|
46030
45685
|
case "number":
|
|
@@ -46059,7 +45714,7 @@ function normalizeBookingSettings(value) {
|
|
|
46059
45714
|
};
|
|
46060
45715
|
}
|
|
46061
45716
|
function isBookingFormService(value) {
|
|
46062
|
-
return isRecord$5(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string";
|
|
45717
|
+
return isRecord$5(value) && typeof value.id === "string" && typeof value.siteId === "string" && typeof value.title === "string" && (value.consent === void 0 || blockBookingConsentSchema.safeParse(value.consent).success);
|
|
46063
45718
|
}
|
|
46064
45719
|
function readNonEmptyString(value) {
|
|
46065
45720
|
if (typeof value !== "string") return null;
|
|
@@ -46086,6 +45741,15 @@ const bookingFieldOptionSchema = z.object({
|
|
|
46086
45741
|
value: z.string(),
|
|
46087
45742
|
label: z.string()
|
|
46088
45743
|
});
|
|
45744
|
+
const standardBookingFieldRules = {
|
|
45745
|
+
options: z.array(bookingFieldOptionSchema).optional(),
|
|
45746
|
+
multiple: z.boolean().optional(),
|
|
45747
|
+
minLength: z.number().optional(),
|
|
45748
|
+
maxLength: z.number().optional(),
|
|
45749
|
+
pattern: z.string().optional(),
|
|
45750
|
+
min: z.number().optional(),
|
|
45751
|
+
max: z.number().optional()
|
|
45752
|
+
};
|
|
46089
45753
|
const bookingFieldSchema = z.object({
|
|
46090
45754
|
id: z.string(),
|
|
46091
45755
|
label: z.string(),
|
|
@@ -46096,7 +45760,6 @@ const bookingFieldSchema = z.object({
|
|
|
46096
45760
|
"select",
|
|
46097
45761
|
"radio",
|
|
46098
45762
|
"checkbox",
|
|
46099
|
-
"booking_requirement_consent",
|
|
46100
45763
|
"tel",
|
|
46101
45764
|
"url",
|
|
46102
45765
|
"number",
|
|
@@ -46106,13 +45769,7 @@ const bookingFieldSchema = z.object({
|
|
|
46106
45769
|
required: z.boolean().optional(),
|
|
46107
45770
|
placeholder: z.string().optional(),
|
|
46108
45771
|
helpText: z.string().optional(),
|
|
46109
|
-
|
|
46110
|
-
multiple: z.boolean().optional(),
|
|
46111
|
-
minLength: z.number().optional(),
|
|
46112
|
-
maxLength: z.number().optional(),
|
|
46113
|
-
pattern: z.string().optional(),
|
|
46114
|
-
min: z.number().optional(),
|
|
46115
|
-
max: z.number().optional()
|
|
45772
|
+
...standardBookingFieldRules
|
|
46116
45773
|
});
|
|
46117
45774
|
const bookingSettingsSchema = z.object({
|
|
46118
45775
|
type: z.literal("booking"),
|
|
@@ -46155,7 +45812,8 @@ const bookingServiceSchema = z.object({
|
|
|
46155
45812
|
priceAmount: z.number().nullable().optional(),
|
|
46156
45813
|
priceCurrency: z.string().nullable().optional(),
|
|
46157
45814
|
paymentTerms: blockBookingPaymentTermsSchema.optional(),
|
|
46158
|
-
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
|
|
45815
|
+
paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional(),
|
|
45816
|
+
consent: blockBookingConsentSchema.optional()
|
|
46159
45817
|
});
|
|
46160
45818
|
const bookingServicesSourceSchema = z.union([
|
|
46161
45819
|
z.array(bookingServiceSchema),
|
|
@@ -46421,7 +46079,7 @@ function emptySelection(timeZone) {
|
|
|
46421
46079
|
timeZone
|
|
46422
46080
|
};
|
|
46423
46081
|
}
|
|
46424
|
-
function parseLimit
|
|
46082
|
+
function parseLimit(value, fallback) {
|
|
46425
46083
|
if (value === "all") return Number.MAX_SAFE_INTEGER;
|
|
46426
46084
|
const n = typeof value === "string" ? parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
46427
46085
|
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
@@ -46504,7 +46162,7 @@ function selectEventDetails(args) {
|
|
|
46504
46162
|
subject: args.subject
|
|
46505
46163
|
}));
|
|
46506
46164
|
const occurrenceContext = args.occurrenceContext ?? null;
|
|
46507
|
-
const otherLimit = parseLimit
|
|
46165
|
+
const otherLimit = parseLimit(args.otherDatesLimit, 5);
|
|
46508
46166
|
const candidate = selectEventCandidate(all, occurrenceContext, args.nowIso);
|
|
46509
46167
|
const timeZone = toBookingTimeZone(candidate?.event.timeZone ?? all[0]?.timeZone ?? null);
|
|
46510
46168
|
if (!candidate) return emptySelection(timeZone);
|
|
@@ -46583,7 +46241,7 @@ function resolveEventDetailsPresentation(input) {
|
|
|
46583
46241
|
//#region ../blocks/src/system/runtime/nodes/events/shared/DateTimeTile.tsx
|
|
46584
46242
|
/**
|
|
46585
46243
|
* Shared tile content for displaying date and time range.
|
|
46586
|
-
* Used by event-details "Other dates"
|
|
46244
|
+
* Used by event-details "Other dates".
|
|
46587
46245
|
*/
|
|
46588
46246
|
function DateTimeTile({ startsAt, endsAt, timeZone }) {
|
|
46589
46247
|
const { date, timeRange } = formatEventDateParts({
|
|
@@ -46603,8 +46261,8 @@ function DateTimeTile({ startsAt, endsAt, timeZone }) {
|
|
|
46603
46261
|
});
|
|
46604
46262
|
}
|
|
46605
46263
|
//#endregion
|
|
46606
|
-
//#region ../blocks/src/system/runtime/nodes/event-details/
|
|
46607
|
-
function
|
|
46264
|
+
//#region ../blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.tsx
|
|
46265
|
+
function WholeSeriesPricingDisplay({ pricing, acceptedItems }) {
|
|
46608
46266
|
return /* @__PURE__ */ jsxs("div", {
|
|
46609
46267
|
className: "rb-mt-6",
|
|
46610
46268
|
children: [
|
|
@@ -46616,7 +46274,8 @@ function CoursePricingDisplay({ pricing, acceptedItems }) {
|
|
|
46616
46274
|
className: "rb-flex rb-flex-col rb-gap-2",
|
|
46617
46275
|
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
46618
46276
|
option.name,
|
|
46619
|
-
":
|
|
46277
|
+
":",
|
|
46278
|
+
" ",
|
|
46620
46279
|
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
46621
46280
|
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
46622
46281
|
className: "rb-caption status-muted",
|
|
@@ -46637,7 +46296,7 @@ function formatAutoApplyDiscountLine(preview, currency) {
|
|
|
46637
46296
|
const label = preview.publicLabel.trim() || "Discount";
|
|
46638
46297
|
return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} — ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} — ${rate} applied automatically`;
|
|
46639
46298
|
}
|
|
46640
|
-
function TeamMemberName
|
|
46299
|
+
function TeamMemberName({ name, profilePath }) {
|
|
46641
46300
|
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
46642
46301
|
href: profilePath,
|
|
46643
46302
|
className: "rb-hover-opacity-80",
|
|
@@ -46674,7 +46333,7 @@ function EventPricingDetails({ isDropIn, coursePricing, acceptedItems, eventCost
|
|
|
46674
46333
|
children: "No registration required - just show up"
|
|
46675
46334
|
})]
|
|
46676
46335
|
});
|
|
46677
|
-
if (coursePricing) return /* @__PURE__ */ jsx(
|
|
46336
|
+
if (coursePricing) return /* @__PURE__ */ jsx(WholeSeriesPricingDisplay, {
|
|
46678
46337
|
pricing: coursePricing,
|
|
46679
46338
|
acceptedItems: [...acceptedItems]
|
|
46680
46339
|
});
|
|
@@ -46749,7 +46408,7 @@ function EventFacts({ selection, selected, venue, teamMembers, pricing, showCapa
|
|
|
46749
46408
|
children: "With"
|
|
46750
46409
|
}), /* @__PURE__ */ jsx("div", {
|
|
46751
46410
|
className: "rb-flex rb-flex-col rb-gap-3",
|
|
46752
|
-
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName
|
|
46411
|
+
children: teamMembers.map((member) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
46753
46412
|
name: member.name,
|
|
46754
46413
|
profilePath: member.profilePath
|
|
46755
46414
|
}) }), member.summary ? /* @__PURE__ */ jsx("p", {
|
|
@@ -47028,352 +46687,6 @@ function LocationMapSSR(props) {
|
|
|
47028
46687
|
});
|
|
47029
46688
|
}
|
|
47030
46689
|
//#endregion
|
|
47031
|
-
//#region ../blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.ts
|
|
47032
|
-
/**
|
|
47033
|
-
* Resolves native run-page ownership without falling back to entry or slug
|
|
47034
|
-
* coincidence when a page-surface subject is present but invalid.
|
|
47035
|
-
*/
|
|
47036
|
-
function resolveWholeSeriesPageSurfaceScope(runs, subjectValue) {
|
|
47037
|
-
if (subjectValue === null || subjectValue === void 0) return { kind: "absent" };
|
|
47038
|
-
const parsed = parseEventPageSurfaceSubject(subjectValue);
|
|
47039
|
-
if (!parsed.ok) return {
|
|
47040
|
-
kind: "unsupported",
|
|
47041
|
-
reason: parsed.error.kind
|
|
47042
|
-
};
|
|
47043
|
-
const seriesIds = eventSeriesIdsForSubject(parsed.value);
|
|
47044
|
-
const allowedSeriesIds = new Set(seriesIds);
|
|
47045
|
-
return {
|
|
47046
|
-
kind: "scoped",
|
|
47047
|
-
subject: parsed.value,
|
|
47048
|
-
runs: runs.filter((run) => allowedSeriesIds.has(run.eventSeriesId))
|
|
47049
|
-
};
|
|
47050
|
-
}
|
|
47051
|
-
function eventSeriesIdsForSubject(subject) {
|
|
47052
|
-
switch (subject.kind) {
|
|
47053
|
-
case "eventSeries": return [subject.eventSeriesId];
|
|
47054
|
-
case "eventOffering": return subject.availableEventSeriesIds;
|
|
47055
|
-
default: return assertNever$3(subject);
|
|
47056
|
-
}
|
|
47057
|
-
}
|
|
47058
|
-
//#endregion
|
|
47059
|
-
//#region ../blocks/src/system/runtime/nodes/course-page-surface-scope.ts
|
|
47060
|
-
/** Temporary Course-block adapter over canonical Event run scoping. */
|
|
47061
|
-
function resolveCoursePageSurfaceScope(courses, subjectValue) {
|
|
47062
|
-
const scope = resolveWholeSeriesPageSurfaceScope(courses, subjectValue);
|
|
47063
|
-
return scope.kind === "scoped" ? {
|
|
47064
|
-
kind: "scoped",
|
|
47065
|
-
subject: scope.subject,
|
|
47066
|
-
courses: scope.runs
|
|
47067
|
-
} : scope;
|
|
47068
|
-
}
|
|
47069
|
-
//#endregion
|
|
47070
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/logic.ts
|
|
47071
|
-
function selectCourseDetails(args) {
|
|
47072
|
-
const pageSurfaceScope = resolveCoursePageSurfaceScope((args.courses ?? []).filter(Boolean), args.subject);
|
|
47073
|
-
if (pageSurfaceScope.kind === "unsupported") return {
|
|
47074
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
47075
|
-
selected: null,
|
|
47076
|
-
scoped: []
|
|
47077
|
-
};
|
|
47078
|
-
if (pageSurfaceScope.kind === "scoped") {
|
|
47079
|
-
const scoped = [...pageSurfaceScope.courses];
|
|
47080
|
-
return {
|
|
47081
|
-
mode: "pageSurfaceSubject",
|
|
47082
|
-
selected: scoped.length === 1 ? scoped[0] ?? null : null,
|
|
47083
|
-
scoped
|
|
47084
|
-
};
|
|
47085
|
-
}
|
|
47086
|
-
return {
|
|
47087
|
-
mode: "unsupportedPageSurfaceSubject",
|
|
47088
|
-
selected: null,
|
|
47089
|
-
scoped: []
|
|
47090
|
-
};
|
|
47091
|
-
}
|
|
47092
|
-
//#endregion
|
|
47093
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/runs.ts
|
|
47094
|
-
function toValidDate(value) {
|
|
47095
|
-
if (!value) return null;
|
|
47096
|
-
const date = new Date(value);
|
|
47097
|
-
return Number.isNaN(date.getTime()) ? null : date;
|
|
47098
|
-
}
|
|
47099
|
-
function getCourseDateRange(course) {
|
|
47100
|
-
const datedSessions = (course.sessions ?? []).map((session) => ({
|
|
47101
|
-
session,
|
|
47102
|
-
start: toValidDate(session.startsAt),
|
|
47103
|
-
end: toValidDate(session.endsAt)
|
|
47104
|
-
})).filter((value) => value.start !== null || value.end !== null);
|
|
47105
|
-
if (datedSessions.length === 0) return {
|
|
47106
|
-
start: null,
|
|
47107
|
-
end: null,
|
|
47108
|
-
startIso: null,
|
|
47109
|
-
endIso: null,
|
|
47110
|
-
timeZone: null
|
|
47111
|
-
};
|
|
47112
|
-
const startSession = datedSessions.filter((value) => value.start !== null).reduce((earliest, current) => earliest === null || current.start.getTime() < earliest.start.getTime() ? current : earliest, null);
|
|
47113
|
-
const endSession = datedSessions.filter((value) => value.end !== null).reduce((latest, current) => latest === null || current.end.getTime() > latest.end.getTime() ? current : latest, null);
|
|
47114
|
-
return {
|
|
47115
|
-
start: startSession?.start ?? null,
|
|
47116
|
-
end: endSession?.end ?? null,
|
|
47117
|
-
startIso: startSession?.session.startsAt ?? null,
|
|
47118
|
-
endIso: endSession?.session.endsAt ?? null,
|
|
47119
|
-
timeZone: startSession?.session.timeZone ?? endSession?.session.timeZone ?? null
|
|
47120
|
-
};
|
|
47121
|
-
}
|
|
47122
|
-
function formatCourseDateRange(range) {
|
|
47123
|
-
const { startIso, endIso, timeZone } = range;
|
|
47124
|
-
const dateFormat = {
|
|
47125
|
-
month: "numeric",
|
|
47126
|
-
day: "numeric",
|
|
47127
|
-
year: "numeric"
|
|
47128
|
-
};
|
|
47129
|
-
const effectiveTimeZone = toBookingTimeZone(timeZone);
|
|
47130
|
-
const formatSingleDate = (iso) => formatBookingDate(toScheduledBookingDateTime({
|
|
47131
|
-
startsAt: iso,
|
|
47132
|
-
timeZone: effectiveTimeZone
|
|
47133
|
-
}), dateFormat);
|
|
47134
|
-
const formatRangeDateOnly = (startsAt, endsAt) => {
|
|
47135
|
-
const startText = formatSingleDate(startsAt);
|
|
47136
|
-
const endText = formatSingleDate(endsAt);
|
|
47137
|
-
return startText === endText ? startText : `${startText} – ${endText}`;
|
|
47138
|
-
};
|
|
47139
|
-
if (!startIso && !endIso) return "Dates TBD";
|
|
47140
|
-
if (startIso && !endIso) return formatSingleDate(startIso);
|
|
47141
|
-
if (!startIso && endIso) return formatSingleDate(endIso);
|
|
47142
|
-
if (!startIso || !endIso) return "Dates TBD";
|
|
47143
|
-
return formatRangeDateOnly(startIso, endIso);
|
|
47144
|
-
}
|
|
47145
|
-
//#endregion
|
|
47146
|
-
//#region ../blocks/src/system/runtime/nodes/course-details/view.tsx
|
|
47147
|
-
function TeamMemberName({ name, profilePath }) {
|
|
47148
|
-
return profilePath ? /* @__PURE__ */ jsx("a", {
|
|
47149
|
-
href: profilePath,
|
|
47150
|
-
className: "rb-hover-opacity-80",
|
|
47151
|
-
children: /* @__PURE__ */ jsx("strong", { children: name })
|
|
47152
|
-
}) : /* @__PURE__ */ jsx("strong", { children: name });
|
|
47153
|
-
}
|
|
47154
|
-
function parseLimit(value, fallback) {
|
|
47155
|
-
if (value === "all") return "all";
|
|
47156
|
-
const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
|
|
47157
|
-
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
47158
|
-
}
|
|
47159
|
-
function CourseDetailsView(props) {
|
|
47160
|
-
const { course, showTitle = false, showDescription = false, showSessions = true, sessionsLimit, showVenue = true, showPrice = true, showCapacity = true, showEnrollmentStatus = true, showMembershipNote = true, emptyMessage = "Course details unavailable." } = props;
|
|
47161
|
-
if (!course) return /* @__PURE__ */ jsx("p", {
|
|
47162
|
-
className: "rb-caption status-muted",
|
|
47163
|
-
children: emptyMessage
|
|
47164
|
-
});
|
|
47165
|
-
const pricing = resolveWholeSeriesPricingState(course);
|
|
47166
|
-
const sessionLimit = parseLimit(sessionsLimit, 10);
|
|
47167
|
-
const sortedSessions = [...course.sessions ?? []].sort((a, b) => Date.parse(a.startsAt) - Date.parse(b.startsAt));
|
|
47168
|
-
const visibleSessions = sessionLimit === "all" ? sortedSessions : sortedSessions.slice(0, sessionLimit);
|
|
47169
|
-
const hasMoreSessions = sessionLimit !== "all" && sortedSessions.length > sessionLimit;
|
|
47170
|
-
const descriptionDoc = showDescription ? coerceRichTextDoc(course.description, "block-runtime:course-details:description") : null;
|
|
47171
|
-
const teamMembers = course.teamMembers ?? [];
|
|
47172
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
47173
|
-
className: "rb-flex rb-flex-col rb-gap-6",
|
|
47174
|
-
children: [
|
|
47175
|
-
showTitle && /* @__PURE__ */ jsx("h3", { children: course.title }),
|
|
47176
|
-
/* @__PURE__ */ jsxs("div", {
|
|
47177
|
-
className: "rb-grid rb-grid-cols-1 rb-gap-6 rb-items-start rb-sm-grid-cols-2",
|
|
47178
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
47179
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
47180
|
-
children: [
|
|
47181
|
-
showPrice && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47182
|
-
className: "rb-label rb-mb-2",
|
|
47183
|
-
children: pricing.selectableOptions.length > 0 ? "Pricing" : "Price"
|
|
47184
|
-
}), pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx("div", {
|
|
47185
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
47186
|
-
children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
|
|
47187
|
-
option.name,
|
|
47188
|
-
": ",
|
|
47189
|
-
formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
|
|
47190
|
-
] }), option.description ? /* @__PURE__ */ jsx("p", {
|
|
47191
|
-
className: "rb-caption status-muted",
|
|
47192
|
-
children: option.description
|
|
47193
|
-
}) : null] }, option.id))
|
|
47194
|
-
}) : /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: formatWholeSeriesPriceDisplay(pricing.display) }) })] }),
|
|
47195
|
-
showCapacity && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47196
|
-
className: "rb-label rb-mb-2",
|
|
47197
|
-
children: "Spots"
|
|
47198
|
-
}), /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentCapacity === null ? "Unlimited" : `${course.availableSpots ?? Math.max(0, course.enrollmentCapacity - course.enrolledCount)} left` }) })] }),
|
|
47199
|
-
showMembershipNote && course.acceptsMemberships && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47200
|
-
className: "rb-label rb-mb-2",
|
|
47201
|
-
children: "Membership"
|
|
47202
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
47203
|
-
className: "rb-caption status-muted",
|
|
47204
|
-
children: "Eligible memberships can be used for free enrollment"
|
|
47205
|
-
})] }),
|
|
47206
|
-
teamMembers.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47207
|
-
className: "rb-label rb-mb-2",
|
|
47208
|
-
children: "With"
|
|
47209
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
47210
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
47211
|
-
children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(TeamMemberName, {
|
|
47212
|
-
name: teamMember.name,
|
|
47213
|
-
profilePath: teamMember.profilePath
|
|
47214
|
-
}) }), teamMember.summary && /* @__PURE__ */ jsx("p", {
|
|
47215
|
-
className: "rb-caption status-muted",
|
|
47216
|
-
children: teamMember.summary
|
|
47217
|
-
})] }, teamMember.id))
|
|
47218
|
-
})] })
|
|
47219
|
-
]
|
|
47220
|
-
}), /* @__PURE__ */ jsxs("div", {
|
|
47221
|
-
className: "rb-flex rb-flex-col rb-gap-4",
|
|
47222
|
-
children: [showVenue && course.venue && /* @__PURE__ */ jsxs("div", { children: [
|
|
47223
|
-
/* @__PURE__ */ jsx("div", {
|
|
47224
|
-
className: "rb-label rb-mb-2",
|
|
47225
|
-
children: "Venue"
|
|
47226
|
-
}),
|
|
47227
|
-
/* @__PURE__ */ jsx("h3", { children: course.venue.name }),
|
|
47228
|
-
course.venue.address && /* @__PURE__ */ jsx("p", {
|
|
47229
|
-
className: "rb-caption status-muted",
|
|
47230
|
-
children: course.venue.address
|
|
47231
|
-
})
|
|
47232
|
-
] }), showEnrollmentStatus && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47233
|
-
className: "rb-label rb-mb-2",
|
|
47234
|
-
children: "Enrollment"
|
|
47235
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
47236
|
-
className: course.enrollmentOpen ? "cd-enrollment--open" : "cd-enrollment--closed",
|
|
47237
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.enrollmentOpen ? "Open" : "Closed" })
|
|
47238
|
-
})] })]
|
|
47239
|
-
})]
|
|
47240
|
-
}),
|
|
47241
|
-
descriptionDoc && /* @__PURE__ */ jsx("div", {
|
|
47242
|
-
className: "cd-description",
|
|
47243
|
-
children: /* @__PURE__ */ jsx(RichText, { doc: descriptionDoc })
|
|
47244
|
-
}),
|
|
47245
|
-
showSessions && visibleSessions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
47246
|
-
/* @__PURE__ */ jsx("div", {
|
|
47247
|
-
className: "rb-label",
|
|
47248
|
-
children: "Sessions"
|
|
47249
|
-
}),
|
|
47250
|
-
/* @__PURE__ */ jsx("div", {
|
|
47251
|
-
className: "rb-mt-2 rb-tiles-grid",
|
|
47252
|
-
children: visibleSessions.map((s) => /* @__PURE__ */ jsx("div", {
|
|
47253
|
-
className: "rb-tile",
|
|
47254
|
-
children: /* @__PURE__ */ jsx(DateTimeTile, {
|
|
47255
|
-
startsAt: s.startsAt,
|
|
47256
|
-
endsAt: s.endsAt
|
|
47257
|
-
})
|
|
47258
|
-
}, s.id))
|
|
47259
|
-
}),
|
|
47260
|
-
hasMoreSessions && /* @__PURE__ */ jsxs("p", {
|
|
47261
|
-
className: "cd-sessions__more",
|
|
47262
|
-
children: [
|
|
47263
|
-
"Showing ",
|
|
47264
|
-
visibleSessions.length,
|
|
47265
|
-
" of ",
|
|
47266
|
-
sortedSessions.length,
|
|
47267
|
-
" sessions."
|
|
47268
|
-
]
|
|
47269
|
-
})
|
|
47270
|
-
] })
|
|
47271
|
-
]
|
|
47272
|
-
});
|
|
47273
|
-
}
|
|
47274
|
-
//#endregion
|
|
47275
|
-
//#region ../blocks/src/system/runtime/nodes/course-details.server.tsx
|
|
47276
|
-
function CourseDetailsSSR({ courses, subject, showTitle, showDescription, showSessions, sessionsLimit, showVenue, showPrice, showCapacity, showEnrollmentStatus, showMembershipNote, className, children }) {
|
|
47277
|
-
const selection = selectCourseDetails({
|
|
47278
|
-
courses: courses ?? null,
|
|
47279
|
-
subject
|
|
47280
|
-
});
|
|
47281
|
-
const parsedSubject = parseEventPageSurfaceSubject(subject);
|
|
47282
|
-
const awaitingOfferingRuns = parsedSubject.ok && parsedSubject.value.kind === "eventOffering" && parsedSubject.value.availableEventSeriesIds.length === 0;
|
|
47283
|
-
const now = /* @__PURE__ */ new Date();
|
|
47284
|
-
const scopedWithRange = selection.scoped.map((c) => ({
|
|
47285
|
-
course: c,
|
|
47286
|
-
range: getCourseDateRange(c)
|
|
47287
|
-
}));
|
|
47288
|
-
const scopedSorted = [...scopedWithRange].sort((a, b) => {
|
|
47289
|
-
return (a.range.start?.getTime() ?? 0) - (b.range.start?.getTime() ?? 0);
|
|
47290
|
-
});
|
|
47291
|
-
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;
|
|
47292
|
-
const nonPastRuns = scopedSorted.filter(({ range }) => !(range.end && range.end <= now));
|
|
47293
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
47294
|
-
className: `course-details ${className ?? ""}`.trim(),
|
|
47295
|
-
"data-block": "course-details",
|
|
47296
|
-
children: [selection.selected ? /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
47297
|
-
course: selection.selected,
|
|
47298
|
-
showTitle,
|
|
47299
|
-
showDescription,
|
|
47300
|
-
showSessions,
|
|
47301
|
-
sessionsLimit,
|
|
47302
|
-
showVenue,
|
|
47303
|
-
showPrice,
|
|
47304
|
-
showCapacity,
|
|
47305
|
-
showEnrollmentStatus,
|
|
47306
|
-
showMembershipNote
|
|
47307
|
-
}) : selection.scoped.length > 0 ? /* @__PURE__ */ jsxs("div", {
|
|
47308
|
-
className: "rb-flex rb-flex-col rb-gap-3",
|
|
47309
|
-
children: [
|
|
47310
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
47311
|
-
className: "rb-label rb-mb-2",
|
|
47312
|
-
children: "Upcoming runs"
|
|
47313
|
-
}), /* @__PURE__ */ jsx("p", {
|
|
47314
|
-
className: "rb-caption status-muted",
|
|
47315
|
-
children: "Choose a run to see sessions and details."
|
|
47316
|
-
})] }),
|
|
47317
|
-
nonPastRuns.length > 0 ? /* @__PURE__ */ jsx("ul", {
|
|
47318
|
-
className: "rb-flex rb-flex-col rb-gap-2",
|
|
47319
|
-
children: nonPastRuns.map(({ course, range }) => {
|
|
47320
|
-
const start = range.start;
|
|
47321
|
-
const end = range.end;
|
|
47322
|
-
const isInProgress = Boolean(start && end && start <= now && end > now);
|
|
47323
|
-
return /* @__PURE__ */ jsx("li", {
|
|
47324
|
-
className: "rb-rounded-md rb-border rb-p-3",
|
|
47325
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
47326
|
-
className: "rb-flex rb-flex-col rb-gap-1",
|
|
47327
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
47328
|
-
className: "rb-flex rb-items-center rb-justify-between rb-gap-3",
|
|
47329
|
-
children: [/* @__PURE__ */ jsxs("div", {
|
|
47330
|
-
className: "rb-min-w-0",
|
|
47331
|
-
children: [/* @__PURE__ */ jsx("div", {
|
|
47332
|
-
className: "rb-truncate",
|
|
47333
|
-
children: /* @__PURE__ */ jsx("strong", { children: course.title })
|
|
47334
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
47335
|
-
className: "rb-caption status-muted",
|
|
47336
|
-
children: formatCourseDateRange(range)
|
|
47337
|
-
})]
|
|
47338
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
47339
|
-
className: "rb-caption status-muted rb-shrink-0",
|
|
47340
|
-
children: course.enrollmentOpen ? "Enrollment open" : isInProgress ? "Currently in progress" : "Enrollment closed"
|
|
47341
|
-
})]
|
|
47342
|
-
})
|
|
47343
|
-
})
|
|
47344
|
-
}, course.eventSeriesId);
|
|
47345
|
-
})
|
|
47346
|
-
}) : /* @__PURE__ */ jsx("p", {
|
|
47347
|
-
className: "rb-caption status-muted",
|
|
47348
|
-
children: "No upcoming runs."
|
|
47349
|
-
}),
|
|
47350
|
-
lastPastRun ? /* @__PURE__ */ jsxs("div", {
|
|
47351
|
-
className: "rb-caption status-muted",
|
|
47352
|
-
children: [
|
|
47353
|
-
"Last run: ",
|
|
47354
|
-
/* @__PURE__ */ jsx("strong", { children: lastPastRun.course.title }),
|
|
47355
|
-
" (",
|
|
47356
|
-
formatCourseDateRange(lastPastRun.range),
|
|
47357
|
-
")"
|
|
47358
|
-
]
|
|
47359
|
-
}) : null
|
|
47360
|
-
]
|
|
47361
|
-
}) : /* @__PURE__ */ jsx(CourseDetailsView, {
|
|
47362
|
-
course: null,
|
|
47363
|
-
emptyMessage: awaitingOfferingRuns ? "New dates are coming soon." : "Course details unavailable.",
|
|
47364
|
-
showTitle,
|
|
47365
|
-
showDescription,
|
|
47366
|
-
showSessions,
|
|
47367
|
-
sessionsLimit,
|
|
47368
|
-
showVenue,
|
|
47369
|
-
showPrice,
|
|
47370
|
-
showCapacity,
|
|
47371
|
-
showEnrollmentStatus,
|
|
47372
|
-
showMembershipNote
|
|
47373
|
-
}), children]
|
|
47374
|
-
});
|
|
47375
|
-
}
|
|
47376
|
-
//#endregion
|
|
47377
46690
|
//#region ../blocks/src/system/runtime/nodes/events/EventSpotlight.tsx
|
|
47378
46691
|
/**
|
|
47379
46692
|
* EventSpotlight Component
|
|
@@ -47577,7 +46890,7 @@ function deriveCourseScheduleSummary(course) {
|
|
|
47577
46890
|
sessionCount: sessions.length
|
|
47578
46891
|
};
|
|
47579
46892
|
}
|
|
47580
|
-
function
|
|
46893
|
+
function nextWholeSeriesSessionStart(course) {
|
|
47581
46894
|
return [...course.sessions].filter(isValidOccurrence).map((session) => session.startsAt).sort((left, right) => left.localeCompare(right))[0] ?? null;
|
|
47582
46895
|
}
|
|
47583
46896
|
function occurrenceFromEvent(event) {
|
|
@@ -47731,7 +47044,7 @@ const OFFERINGS_PREVIEW_GRID_STYLE = {
|
|
|
47731
47044
|
function buildItemDataMap(props) {
|
|
47732
47045
|
const routeCandidates = props.routeCandidates?.routes ?? [];
|
|
47733
47046
|
const entries = OFFERINGS_PREVIEW_EVENT_PRESET_DEFINITIONS.map((definition) => [definition.sourceKey, eventDataFromMaybeArray(props[definition.dataKey])]);
|
|
47734
|
-
return new Map([...entries, ["course", courseDataFromMaybeArray(props.
|
|
47047
|
+
return new Map([...entries, ["course", courseDataFromMaybeArray(props.wholeSeriesOfferings, routeCandidates)]]);
|
|
47735
47048
|
}
|
|
47736
47049
|
function eventDataFromMaybeArray(events) {
|
|
47737
47050
|
return events ? {
|
|
@@ -47785,8 +47098,8 @@ function renderOfferingGroupItems(presentation, items, options) {
|
|
|
47785
47098
|
}
|
|
47786
47099
|
}
|
|
47787
47100
|
function compareCoursesByNextSession(left, right) {
|
|
47788
|
-
const leftStart =
|
|
47789
|
-
const rightStart =
|
|
47101
|
+
const leftStart = nextWholeSeriesSessionStart(left);
|
|
47102
|
+
const rightStart = nextWholeSeriesSessionStart(right);
|
|
47790
47103
|
if (leftStart === null) return rightStart === null ? 0 : 1;
|
|
47791
47104
|
if (rightStart === null) return -1;
|
|
47792
47105
|
return leftStart.localeCompare(rightStart);
|
|
@@ -48725,45 +48038,6 @@ function CheckoutSSR({ blockId, siteId, apiBaseUrl, stage, children, ...rest })
|
|
|
48725
48038
|
});
|
|
48726
48039
|
}
|
|
48727
48040
|
//#endregion
|
|
48728
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.server.tsx
|
|
48729
|
-
/**
|
|
48730
|
-
* Server-safe placeholder for course registration.
|
|
48731
|
-
* Provides a static container for island hydration without importing client hooks.
|
|
48732
|
-
*/
|
|
48733
|
-
function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children }) {
|
|
48734
|
-
const islandProps = buildCourseRegistrationInteractiveIslandProps({
|
|
48735
|
-
siteId,
|
|
48736
|
-
apiBaseUrl,
|
|
48737
|
-
portalToken,
|
|
48738
|
-
subject,
|
|
48739
|
-
courses,
|
|
48740
|
-
className,
|
|
48741
|
-
showSessions,
|
|
48742
|
-
showPrice,
|
|
48743
|
-
showCapacity,
|
|
48744
|
-
showVenue,
|
|
48745
|
-
successMessage,
|
|
48746
|
-
waitlistMessage,
|
|
48747
|
-
membershipMessage,
|
|
48748
|
-
buttonText,
|
|
48749
|
-
buttonVariant,
|
|
48750
|
-
stage
|
|
48751
|
-
});
|
|
48752
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
48753
|
-
className: `course-registration ${className ?? ""}`.trim(),
|
|
48754
|
-
"data-block": "course-registration",
|
|
48755
|
-
...getIslandRootProps("course-registration", blockId),
|
|
48756
|
-
children: [
|
|
48757
|
-
/* @__PURE__ */ jsx(IslandPropsScript, { value: islandProps }),
|
|
48758
|
-
/* @__PURE__ */ jsx("div", {
|
|
48759
|
-
className: "course-registration__summary",
|
|
48760
|
-
children: /* @__PURE__ */ jsx("strong", { children: islandProps.render.display.summaryButtonText })
|
|
48761
|
-
}),
|
|
48762
|
-
children
|
|
48763
|
-
]
|
|
48764
|
-
});
|
|
48765
|
-
}
|
|
48766
|
-
//#endregion
|
|
48767
48041
|
//#region ../blocks/src/system/runtime/nodes/gifting.server.tsx
|
|
48768
48042
|
function GiftingSSR({ blockId, ...rest }) {
|
|
48769
48043
|
const islandProps = buildGiftingInteractiveIslandProps(rest);
|
|
@@ -50251,7 +49525,6 @@ const runtimeBackedBlockServerEntries = {
|
|
|
50251
49525
|
"product-detail": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(productDetailBlockDefinition), ProductDetailSSR),
|
|
50252
49526
|
cart: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(cartBlockDefinition), CartSSR),
|
|
50253
49527
|
checkout: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(checkoutBlockDefinition), CheckoutSSR),
|
|
50254
|
-
"course-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(courseRegistrationBlockDefinition), CourseRegistrationSSR),
|
|
50255
49528
|
gifting: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(giftingBlockDefinition), GiftingSSR),
|
|
50256
49529
|
"event-registration": defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(eventRegistrationBlockDefinition), EventRegistrationSSR),
|
|
50257
49530
|
shop: defineRuntimeBackedBlockEntry(requireRuntimeBackedBlockDefinition(shopBlockDefinition), ShopSSR)
|
|
@@ -50284,7 +49557,6 @@ const serverComponentRegistry = {
|
|
|
50284
49557
|
"booking-form": BookingFormSSR,
|
|
50285
49558
|
"event-details": EventDetailsSSR,
|
|
50286
49559
|
"location-map": LocationMapSSR,
|
|
50287
|
-
"course-details": CourseDetailsSSR,
|
|
50288
49560
|
"event-spotlight": EventSpotlight,
|
|
50289
49561
|
"event-combined": EventCombinedSSR,
|
|
50290
49562
|
"offerings-preview": OfferingsPreviewNode,
|
|
@@ -51686,12 +50958,46 @@ function renderBlock(manifest, content, options = {}) {
|
|
|
51686
50958
|
*/
|
|
51687
50959
|
function hydrateManifestLinks(manifest, content, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
51688
50960
|
if (!routes || !manifest?.fields?.length) return content;
|
|
51689
|
-
return
|
|
50961
|
+
return hydrateLinks(content, routes, pagesByIdentifier, entriesByIdentifier);
|
|
50962
|
+
}
|
|
50963
|
+
/** Hydrate identifier-aware links in data loaded after manifest content. */
|
|
50964
|
+
function hydrateLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
50965
|
+
return hydrateValue(value, {
|
|
50966
|
+
routes,
|
|
50967
|
+
pagesByIdentifier,
|
|
50968
|
+
entriesByIdentifier
|
|
50969
|
+
});
|
|
50970
|
+
}
|
|
50971
|
+
/**
|
|
50972
|
+
* Hydrate links only inside resolved booking-consent documents. Loader payloads are
|
|
50973
|
+
* otherwise opaque and may legitimately contain objects that resemble link values.
|
|
50974
|
+
*/
|
|
50975
|
+
function hydrateResolvedBookingConsentLinks(value, routes, pagesByIdentifier, entriesByIdentifier) {
|
|
50976
|
+
return hydrateResolvedBookingConsentValue(value, {
|
|
51690
50977
|
routes,
|
|
51691
50978
|
pagesByIdentifier,
|
|
51692
50979
|
entriesByIdentifier
|
|
51693
50980
|
});
|
|
51694
50981
|
}
|
|
50982
|
+
function hydrateResolvedBookingConsentValue(value, context) {
|
|
50983
|
+
if (Array.isArray(value)) {
|
|
50984
|
+
const hydratedItems = value.map((item) => hydrateResolvedBookingConsentValue(item, context));
|
|
50985
|
+
return hydratedItems.every((item, index) => item === value[index]) ? value : hydratedItems;
|
|
50986
|
+
}
|
|
50987
|
+
if (!isRecord$13(value)) return value;
|
|
50988
|
+
if (isBookingConsentCarrier(value)) {
|
|
50989
|
+
const agreement = hydrateValue(value.agreement, context);
|
|
50990
|
+
return agreement === value.agreement ? value : {
|
|
50991
|
+
...value,
|
|
50992
|
+
agreement
|
|
50993
|
+
};
|
|
50994
|
+
}
|
|
50995
|
+
const hydratedEntries = Object.entries(value).map(([key, entry]) => [key, hydrateResolvedBookingConsentValue(entry, context)]);
|
|
50996
|
+
return hydratedEntries.every(([key, entry]) => entry === value[key]) ? value : Object.fromEntries(hydratedEntries);
|
|
50997
|
+
}
|
|
50998
|
+
function isBookingConsentCarrier(value) {
|
|
50999
|
+
return bookingConsentCarrierSchema.safeParse(value).success;
|
|
51000
|
+
}
|
|
51695
51001
|
function hydrateValue(value, context) {
|
|
51696
51002
|
try {
|
|
51697
51003
|
if (Array.isArray(value)) {
|
|
@@ -51760,6 +51066,13 @@ function hydrateEntryLink(link, context) {
|
|
|
51760
51066
|
};
|
|
51761
51067
|
}
|
|
51762
51068
|
//#endregion
|
|
51069
|
+
//#region ../blocks/src/system/manifest/resolveBlockData.ts
|
|
51070
|
+
function resolveBlockData(blockId, dataLoaders, dataContext, routes) {
|
|
51071
|
+
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
51072
|
+
if (isRecord$13(raw)) return routes ? hydrateResolvedBookingConsentLinks(raw, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : raw;
|
|
51073
|
+
return dataLoaders && typeof dataLoaders === "object" && Object.keys(dataLoaders).length > 0 ? {} : void 0;
|
|
51074
|
+
}
|
|
51075
|
+
//#endregion
|
|
51763
51076
|
//#region ../blocks/src/sdkBlockTransform.ts
|
|
51764
51077
|
/**
|
|
51765
51078
|
* Transforms an SDK custom block into a BlockManifest.
|
|
@@ -52354,8 +51667,8 @@ function generateInputCss({ themeId, theme, inputSystem }) {
|
|
|
52354
51667
|
const radioSelector = `${rootSelector} .form-radio`;
|
|
52355
51668
|
const checkableRules = [];
|
|
52356
51669
|
checkableRules.push("appearance: none");
|
|
52357
|
-
checkableRules.push("width:
|
|
52358
|
-
checkableRules.push("height:
|
|
51670
|
+
checkableRules.push("width: 1.125rem");
|
|
51671
|
+
checkableRules.push("height: 1.125rem");
|
|
52359
51672
|
checkableRules.push("flex-shrink: 0");
|
|
52360
51673
|
checkableRules.push(`border: ${borderPx} solid ${rgbColorValue(inputSystem.base.border.colorToken)}`);
|
|
52361
51674
|
if (inputSystem.base.background.type === "transparent") checkableRules.push("background-color: transparent");
|
|
@@ -54613,176 +53926,6 @@ ${root} {
|
|
|
54613
53926
|
`;
|
|
54614
53927
|
}
|
|
54615
53928
|
//#endregion
|
|
54616
|
-
//#region ../theme-core/src/blocks/vars/course-details.ts
|
|
54617
|
-
/**
|
|
54618
|
-
* Generate CSS variables for the course-details block.
|
|
54619
|
-
*
|
|
54620
|
-
* Variables defined:
|
|
54621
|
-
* - Enrollment status colors (open/closed)
|
|
54622
|
-
* - Capacity indicator colors (available/low/full)
|
|
54623
|
-
* - Price display colors (free indicator)
|
|
54624
|
-
*/
|
|
54625
|
-
function generateCourseDetailsVars({ themeId }) {
|
|
54626
|
-
return `
|
|
54627
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-details"])`} {
|
|
54628
|
-
/* Enrollment status */
|
|
54629
|
-
--cd-enrollment-open-text: rgb(var(--tb-success));
|
|
54630
|
-
--cd-enrollment-closed-text: rgb(var(--tb-mutedText));
|
|
54631
|
-
|
|
54632
|
-
/* Capacity indicator */
|
|
54633
|
-
--cd-capacity-available-text: rgb(var(--tb-success));
|
|
54634
|
-
--cd-capacity-low-text: rgb(var(--tb-warning));
|
|
54635
|
-
--cd-capacity-full-text: rgb(var(--tb-destructive, 239 68 68));
|
|
54636
|
-
|
|
54637
|
-
/* Price styling */
|
|
54638
|
-
--cd-price-free-text: rgb(var(--tb-success));
|
|
54639
|
-
}
|
|
54640
|
-
`;
|
|
54641
|
-
}
|
|
54642
|
-
//#endregion
|
|
54643
|
-
//#region ../theme-core/src/blocks/vars/course-registration.ts
|
|
54644
|
-
const EVENT_WHOLE_SERIES_VARIABLE_BRIDGE = `
|
|
54645
|
-
/* Temporary bridge while persisted Course blocks render the Event-owned
|
|
54646
|
-
whole-series registration runtime. Removed with the Course block. */
|
|
54647
|
-
--er-step-active: var(--cr-step-active);
|
|
54648
|
-
--er-step-inactive: var(--cr-step-inactive);
|
|
54649
|
-
--er-step-completed: var(--cr-step-completed);
|
|
54650
|
-
--er-step-text: var(--cr-step-text);
|
|
54651
|
-
--er-step-text-active: var(--cr-step-text-active);
|
|
54652
|
-
--er-step-connector: var(--cr-step-connector);
|
|
54653
|
-
--er-step-title-size: var(--cr-step-title-size);
|
|
54654
|
-
--er-success-bg: var(--cr-success-bg);
|
|
54655
|
-
--er-success-text: var(--cr-success-text);
|
|
54656
|
-
--er-error-bg: var(--cr-error-bg);
|
|
54657
|
-
--er-error-text: var(--cr-error-text);
|
|
54658
|
-
--er-waitlist-bg: var(--cr-waitlist-bg);
|
|
54659
|
-
--er-waitlist-text: var(--cr-waitlist-text);
|
|
54660
|
-
--er-capacity-available-bg: var(--cr-capacity-available-bg);
|
|
54661
|
-
--er-capacity-available-text: var(--cr-capacity-available-text);
|
|
54662
|
-
--er-capacity-low-bg: var(--cr-capacity-low-bg);
|
|
54663
|
-
--er-capacity-low-text: var(--cr-capacity-low-text);
|
|
54664
|
-
--er-capacity-soldout-bg: var(--cr-capacity-soldout-bg);
|
|
54665
|
-
--er-capacity-soldout-text: var(--cr-capacity-soldout-text);
|
|
54666
|
-
--er-border: var(--cr-border);
|
|
54667
|
-
--er-border-hover: var(--cr-border-hover);
|
|
54668
|
-
--er-border-selected: var(--cr-border-selected);
|
|
54669
|
-
--er-border-error: var(--cr-border-error);
|
|
54670
|
-
--er-focus-ring: var(--cr-focus-ring);
|
|
54671
|
-
--er-required: var(--cr-required);
|
|
54672
|
-
--er-payment-border: var(--cr-payment-border);
|
|
54673
|
-
--er-payment-border-hover: var(--cr-payment-border-hover);
|
|
54674
|
-
--er-payment-border-selected: var(--cr-payment-border-selected);
|
|
54675
|
-
--er-payment-bg-selected: var(--cr-payment-bg-selected);
|
|
54676
|
-
--er-check-bg: var(--cr-check-bg);
|
|
54677
|
-
--er-check-text: var(--cr-check-text);
|
|
54678
|
-
--er-summary-bg: var(--cr-summary-bg);
|
|
54679
|
-
--er-summary-border: var(--cr-summary-border);
|
|
54680
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
54681
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
54682
|
-
`;
|
|
54683
|
-
/**
|
|
54684
|
-
* Generate CSS variables for the course-registration block.
|
|
54685
|
-
*
|
|
54686
|
-
* Variables defined:
|
|
54687
|
-
* - Step indicator colors (active, inactive, completed, text, connector)
|
|
54688
|
-
* - Success/error/waitlist state backgrounds and text colors
|
|
54689
|
-
* - Capacity badge colors (available, low, sold-out)
|
|
54690
|
-
* - Border colors for various interaction states
|
|
54691
|
-
* - Input focus and required marker styling
|
|
54692
|
-
* - Payment option card styling
|
|
54693
|
-
* - Checkmark indicator colors
|
|
54694
|
-
* - Summary styling
|
|
54695
|
-
*/
|
|
54696
|
-
function generateCourseRegistrationVars({ themeId }) {
|
|
54697
|
-
return `
|
|
54698
|
-
${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-registration"])`} {
|
|
54699
|
-
/* Step indicator */
|
|
54700
|
-
--cr-step-active: rgb(var(--tb-primary));
|
|
54701
|
-
--cr-step-inactive: rgb(var(--tb-mutedText));
|
|
54702
|
-
--cr-step-completed: rgb(var(--tb-success));
|
|
54703
|
-
--cr-step-text: rgb(255 255 255);
|
|
54704
|
-
--cr-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
|
|
54705
|
-
--cr-step-connector: rgba(var(--tb-border), 0.5);
|
|
54706
|
-
|
|
54707
|
-
/* Step title */
|
|
54708
|
-
--cr-step-title-size: 1.5rem;
|
|
54709
|
-
|
|
54710
|
-
/* State backgrounds with alpha */
|
|
54711
|
-
--cr-success-bg: rgba(var(--tb-success), 0.1);
|
|
54712
|
-
--cr-success-text: rgb(var(--tb-success));
|
|
54713
|
-
--cr-error-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
54714
|
-
--cr-error-text: rgb(var(--tb-destructive, 239 68 68));
|
|
54715
|
-
--cr-waitlist-bg: rgba(var(--tb-warning), 0.1);
|
|
54716
|
-
--cr-waitlist-text: rgb(var(--tb-warning));
|
|
54717
|
-
|
|
54718
|
-
/* Capacity badges */
|
|
54719
|
-
--cr-capacity-available-bg: rgba(var(--tb-success), 0.1);
|
|
54720
|
-
--cr-capacity-available-text: rgb(var(--tb-success));
|
|
54721
|
-
--cr-capacity-low-bg: rgba(var(--tb-warning), 0.1);
|
|
54722
|
-
--cr-capacity-low-text: rgb(var(--tb-warning));
|
|
54723
|
-
--cr-capacity-soldout-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
|
|
54724
|
-
--cr-capacity-soldout-text: rgb(var(--tb-destructive, 239 68 68));
|
|
54725
|
-
|
|
54726
|
-
/* Borders */
|
|
54727
|
-
--cr-border: rgb(var(--tb-border));
|
|
54728
|
-
--cr-border-hover: rgba(var(--tb-primary), 0.5);
|
|
54729
|
-
--cr-border-selected: rgb(var(--tb-primary));
|
|
54730
|
-
--cr-border-error: rgb(var(--tb-destructive, 239 68 68));
|
|
54731
|
-
|
|
54732
|
-
/* Input focus */
|
|
54733
|
-
--cr-focus-ring: rgba(var(--tb-primary), 0.3);
|
|
54734
|
-
|
|
54735
|
-
/* Required marker */
|
|
54736
|
-
--cr-required: rgb(var(--tb-destructive, 239 68 68));
|
|
54737
|
-
|
|
54738
|
-
/* Payment option cards */
|
|
54739
|
-
--cr-payment-border: rgb(var(--tb-border));
|
|
54740
|
-
--cr-payment-border-hover: rgba(var(--tb-primary), 0.5);
|
|
54741
|
-
--cr-payment-border-selected: rgb(var(--tb-primary));
|
|
54742
|
-
--cr-payment-bg-selected: rgba(var(--tb-primary), 0.08);
|
|
54743
|
-
|
|
54744
|
-
/* Checkmark indicator */
|
|
54745
|
-
--cr-check-bg: rgb(var(--tb-primary));
|
|
54746
|
-
--cr-check-text: rgb(var(--tb-primaryText, 255 255 255));
|
|
54747
|
-
|
|
54748
|
-
/* Summary */
|
|
54749
|
-
--cr-summary-bg: rgba(var(--tb-primary), 0.1);
|
|
54750
|
-
--cr-summary-border: rgb(var(--tb-border));
|
|
54751
|
-
|
|
54752
|
-
${EVENT_WHOLE_SERIES_VARIABLE_BRIDGE}
|
|
54753
|
-
|
|
54754
|
-
/* Shared registration-surface mappings (issue 1174).
|
|
54755
|
-
Route the shared --rb-reg-* contract through this block's Tier 3 vars
|
|
54756
|
-
(palette tokens where no --cr-* var exists) so existing --cr-* overrides
|
|
54757
|
-
keep working unchanged. */
|
|
54758
|
-
--rb-reg-radius: var(--rb-block-radius);
|
|
54759
|
-
--rb-reg-border: var(--cr-border);
|
|
54760
|
-
--rb-reg-border-hover: var(--cr-border-hover);
|
|
54761
|
-
--rb-reg-border-selected: var(--cr-border-selected);
|
|
54762
|
-
--rb-reg-bg-selected: var(--cr-payment-bg-selected);
|
|
54763
|
-
--rb-reg-option-bg: rgb(var(--tb-background));
|
|
54764
|
-
--rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
|
|
54765
|
-
--rb-reg-surface-bg: rgb(var(--tb-surface));
|
|
54766
|
-
--rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
54767
|
-
--rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
|
|
54768
|
-
--rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
|
|
54769
|
-
--rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
|
|
54770
|
-
--rb-reg-check-bg: var(--cr-check-bg);
|
|
54771
|
-
--rb-reg-check-text: var(--cr-check-text);
|
|
54772
|
-
--rb-reg-step-active: var(--cr-step-active);
|
|
54773
|
-
--rb-reg-step-completed: var(--cr-step-completed);
|
|
54774
|
-
--rb-reg-step-inactive: var(--cr-step-inactive);
|
|
54775
|
-
--rb-reg-step-text: var(--cr-step-text);
|
|
54776
|
-
--rb-reg-step-text-active: var(--cr-step-text-active);
|
|
54777
|
-
--rb-reg-step-connector: var(--cr-step-connector);
|
|
54778
|
-
--rb-reg-summary-bg: var(--cr-summary-bg);
|
|
54779
|
-
--rb-reg-summary-border: var(--cr-summary-border);
|
|
54780
|
-
--rb-reg-focus-ring: var(--cr-focus-ring);
|
|
54781
|
-
--rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
|
|
54782
|
-
}
|
|
54783
|
-
`;
|
|
54784
|
-
}
|
|
54785
|
-
//#endregion
|
|
54786
53929
|
//#region ../theme-core/src/blocks/registry.ts
|
|
54787
53930
|
/**
|
|
54788
53931
|
* Global registry of block var generators.
|
|
@@ -54797,8 +53940,6 @@ blockVarRegistry.set("appointment-booking", generateAppointmentBookingVars);
|
|
|
54797
53940
|
blockVarRegistry.set("form", generateFormBlockVars);
|
|
54798
53941
|
blockVarRegistry.set("customer-portal", generateCustomerPortalVars);
|
|
54799
53942
|
blockVarRegistry.set("testimonials", generateTestimonialsVars);
|
|
54800
|
-
blockVarRegistry.set("course-details", generateCourseDetailsVars);
|
|
54801
|
-
blockVarRegistry.set("course-registration", generateCourseRegistrationVars);
|
|
54802
53943
|
/**
|
|
54803
53944
|
* Generate all Tier 3 block-specific CSS variables.
|
|
54804
53945
|
*
|
|
@@ -56139,11 +55280,7 @@ const MemoBlockSection = React$1.memo(function MemoBlockSection({ themeResources
|
|
|
56139
55280
|
try {
|
|
56140
55281
|
const routes = routeMap ?? dataContext?.routes;
|
|
56141
55282
|
const hydratedContent = routes ? hydrateManifestLinks(definition.manifest, data, routes, dataContext?.pagesByIdentifier, dataContext?.entriesByIdentifier) : data;
|
|
56142
|
-
const resolved = resolveBlockData(
|
|
56143
|
-
block,
|
|
56144
|
-
definition,
|
|
56145
|
-
dataContext
|
|
56146
|
-
});
|
|
55283
|
+
const resolved = resolveBlockData(block.id, definition.dataLoaders, dataContext, routes);
|
|
56147
55284
|
const hasResolvedData = !!resolved && typeof resolved === "object" && Object.keys(resolved).length > 0;
|
|
56148
55285
|
const baseProps = {
|
|
56149
55286
|
content: hydratedContent,
|
|
@@ -56233,12 +55370,6 @@ function shouldDebugCustomBlocks() {
|
|
|
56233
55370
|
return false;
|
|
56234
55371
|
}
|
|
56235
55372
|
}
|
|
56236
|
-
function resolveBlockData({ block, definition, dataContext }) {
|
|
56237
|
-
const blockId = block.id ?? null;
|
|
56238
|
-
const raw = blockId ? dataContext?.resolvedData?.[blockId] : void 0;
|
|
56239
|
-
if (isObjectRecord$1(raw)) return { ...raw };
|
|
56240
|
-
return definition.dataLoaders && Object.keys(definition.dataLoaders).length > 0 ? {} : void 0;
|
|
56241
|
-
}
|
|
56242
55373
|
/**
|
|
56243
55374
|
* Resolves block content based on stage priority.
|
|
56244
55375
|
* For draft/preview: draftContent takes priority over content.
|
|
@@ -59737,7 +58868,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
59737
58868
|
* Shared: Registration Surface (issue 1174)
|
|
59738
58869
|
*
|
|
59739
58870
|
* Wizard-surface primitives shared by the event-registration,
|
|
59740
|
-
*
|
|
58871
|
+
* appointment-booking blocks: surface container,
|
|
59741
58872
|
* selectable option cards, step indicator, wizard actions row, on-surface
|
|
59742
58873
|
* text ramp, layout stacks, summary box and skeleton shell lines.
|
|
59743
58874
|
*
|
|
@@ -59780,7 +58911,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
59780
58911
|
}
|
|
59781
58912
|
|
|
59782
58913
|
/* Surface container */
|
|
59783
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
58914
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
59784
58915
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
59785
58916
|
border: 1px solid var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
59786
58917
|
padding: clamp(1rem, 2vw, 1.5rem);
|
|
@@ -59810,7 +58941,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
59810
58941
|
*
|
|
59811
58942
|
* Mirrors \`contextualButtonSurfaceResetStyles()\` in theme-core/buttons; the
|
|
59812
58943
|
* pairing is pinned by registration-surface-action-reset.test.ts. */
|
|
59813
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
58944
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
|
|
59814
58945
|
--rb-action-primary-base-background-color: initial;
|
|
59815
58946
|
--rb-action-primary-base-background-image: initial;
|
|
59816
58947
|
--rb-action-primary-base-color: initial;
|
|
@@ -59918,7 +59049,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
59918
59049
|
}
|
|
59919
59050
|
|
|
59920
59051
|
/* Selectable option card */
|
|
59921
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59052
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card {
|
|
59922
59053
|
position: relative;
|
|
59923
59054
|
display: flex;
|
|
59924
59055
|
align-items: flex-start;
|
|
@@ -59935,34 +59066,34 @@ const containerResponsiveThemeCss = `/*
|
|
|
59935
59066
|
box-shadow var(--rb-block-transition, 150ms) ease;
|
|
59936
59067
|
}
|
|
59937
59068
|
|
|
59938
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59069
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:hover:not(:disabled):not([aria-disabled="true"]) {
|
|
59939
59070
|
border-color: var(--rb-reg-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
|
|
59940
59071
|
box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08));
|
|
59941
59072
|
}
|
|
59942
59073
|
|
|
59943
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59074
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:focus-visible {
|
|
59944
59075
|
outline: 2px solid var(--rb-reg-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
|
|
59945
59076
|
outline-offset: 2px;
|
|
59946
59077
|
}
|
|
59947
59078
|
|
|
59948
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59079
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--selected {
|
|
59949
59080
|
border-color: var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
59950
59081
|
background-color: var(--rb-reg-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.08));
|
|
59951
59082
|
box-shadow: 0 0 0 1px var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
|
|
59952
59083
|
}
|
|
59953
59084
|
|
|
59954
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59085
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled {
|
|
59955
59086
|
cursor: not-allowed;
|
|
59956
59087
|
opacity: 0.7;
|
|
59957
59088
|
}
|
|
59958
59089
|
|
|
59959
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59090
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--disabled:hover {
|
|
59960
59091
|
border-color: var(--rb-reg-border, rgb(var(--tb-border, 226 232 240)));
|
|
59961
59092
|
box-shadow: none;
|
|
59962
59093
|
}
|
|
59963
59094
|
|
|
59964
59095
|
/* Check indicator */
|
|
59965
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59096
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check {
|
|
59966
59097
|
flex-shrink: 0;
|
|
59967
59098
|
width: 1.25rem;
|
|
59968
59099
|
height: 1.25rem;
|
|
@@ -59973,18 +59104,18 @@ const containerResponsiveThemeCss = `/*
|
|
|
59973
59104
|
justify-content: center;
|
|
59974
59105
|
}
|
|
59975
59106
|
|
|
59976
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59107
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-check svg {
|
|
59977
59108
|
width: 0.75rem;
|
|
59978
59109
|
height: 0.75rem;
|
|
59979
59110
|
color: var(--rb-reg-check-text, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
59980
59111
|
}
|
|
59981
59112
|
|
|
59982
59113
|
/* Step indicator */
|
|
59983
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59114
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps-nav {
|
|
59984
59115
|
margin-bottom: 1.5rem;
|
|
59985
59116
|
}
|
|
59986
59117
|
|
|
59987
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59118
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps {
|
|
59988
59119
|
display: flex;
|
|
59989
59120
|
align-items: center;
|
|
59990
59121
|
justify-content: center;
|
|
@@ -59994,13 +59125,13 @@ const containerResponsiveThemeCss = `/*
|
|
|
59994
59125
|
margin: 0;
|
|
59995
59126
|
}
|
|
59996
59127
|
|
|
59997
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59128
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step {
|
|
59998
59129
|
display: flex;
|
|
59999
59130
|
align-items: center;
|
|
60000
59131
|
gap: 0.5rem;
|
|
60001
59132
|
}
|
|
60002
59133
|
|
|
60003
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59134
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle {
|
|
60004
59135
|
width: 1.75rem;
|
|
60005
59136
|
height: 1.75rem;
|
|
60006
59137
|
border-radius: 50%;
|
|
@@ -60014,47 +59145,47 @@ const containerResponsiveThemeCss = `/*
|
|
|
60014
59145
|
transition: background-color var(--rb-block-transition, 150ms) ease;
|
|
60015
59146
|
}
|
|
60016
59147
|
|
|
60017
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59148
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
|
|
60018
59149
|
background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
|
|
60019
59150
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
60020
59151
|
}
|
|
60021
59152
|
|
|
60022
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59153
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
|
|
60023
59154
|
background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
|
|
60024
59155
|
color: var(--rb-reg-step-text-active, rgb(var(--tb-primaryText, var(--tb-primaryForeground, 255 255 255))));
|
|
60025
59156
|
}
|
|
60026
59157
|
|
|
60027
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59158
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-check {
|
|
60028
59159
|
width: 0.75rem;
|
|
60029
59160
|
height: 0.75rem;
|
|
60030
59161
|
}
|
|
60031
59162
|
|
|
60032
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59163
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-connector {
|
|
60033
59164
|
width: 2rem;
|
|
60034
59165
|
height: 2px;
|
|
60035
59166
|
background: var(--rb-reg-step-connector, rgba(var(--tb-border, 226 232 240), 0.5));
|
|
60036
59167
|
}
|
|
60037
59168
|
|
|
60038
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59169
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
60039
59170
|
font-size: 0.75rem;
|
|
60040
59171
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
60041
59172
|
display: none;
|
|
60042
59173
|
}
|
|
60043
59174
|
|
|
60044
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59175
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label--active {
|
|
60045
59176
|
font-weight: 500;
|
|
60046
59177
|
}
|
|
60047
59178
|
|
|
60048
59179
|
@container rb-site (min-width: 640px) {
|
|
60049
59180
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
60050
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59181
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
|
|
60051
59182
|
display: inline;
|
|
60052
59183
|
}
|
|
60053
59184
|
}
|
|
60054
59185
|
}
|
|
60055
59186
|
|
|
60056
59187
|
/* Wizard actions row */
|
|
60057
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59188
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions {
|
|
60058
59189
|
display: flex;
|
|
60059
59190
|
justify-content: space-between;
|
|
60060
59191
|
align-items: center;
|
|
@@ -60063,56 +59194,56 @@ const containerResponsiveThemeCss = `/*
|
|
|
60063
59194
|
}
|
|
60064
59195
|
|
|
60065
59196
|
/* When there's only one action (no back button), push it to the right */
|
|
60066
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59197
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions > :only-child {
|
|
60067
59198
|
margin-inline-start: auto;
|
|
60068
59199
|
}
|
|
60069
59200
|
|
|
60070
59201
|
/* On-surface text ramp */
|
|
60071
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59202
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface {
|
|
60072
59203
|
color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
|
|
60073
59204
|
}
|
|
60074
59205
|
|
|
60075
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59206
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--muted {
|
|
60076
59207
|
color: var(--rb-reg-on-surface-muted, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.7));
|
|
60077
59208
|
}
|
|
60078
59209
|
|
|
60079
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59210
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--subtle {
|
|
60080
59211
|
color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
|
|
60081
59212
|
}
|
|
60082
59213
|
|
|
60083
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59214
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--faint {
|
|
60084
59215
|
color: var(--rb-reg-on-surface-faint, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.5));
|
|
60085
59216
|
}
|
|
60086
59217
|
|
|
60087
59218
|
/* Layout stacks */
|
|
60088
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59219
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack {
|
|
60089
59220
|
display: flex;
|
|
60090
59221
|
flex-direction: column;
|
|
60091
59222
|
gap: 1rem;
|
|
60092
59223
|
}
|
|
60093
59224
|
|
|
60094
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59225
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-stack--sm {
|
|
60095
59226
|
gap: 0.75rem;
|
|
60096
59227
|
}
|
|
60097
59228
|
|
|
60098
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59229
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row {
|
|
60099
59230
|
display: flex;
|
|
60100
59231
|
align-items: center;
|
|
60101
59232
|
gap: 1rem;
|
|
60102
59233
|
}
|
|
60103
59234
|
|
|
60104
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59235
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-row--between {
|
|
60105
59236
|
justify-content: space-between;
|
|
60106
59237
|
align-items: flex-start;
|
|
60107
59238
|
}
|
|
60108
59239
|
|
|
60109
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59240
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-grid {
|
|
60110
59241
|
display: grid;
|
|
60111
59242
|
gap: 0.75rem;
|
|
60112
59243
|
}
|
|
60113
59244
|
|
|
60114
59245
|
/* Summary box */
|
|
60115
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59246
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-summary {
|
|
60116
59247
|
padding: 1rem;
|
|
60117
59248
|
border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.75);
|
|
60118
59249
|
border: 1px solid var(--rb-reg-summary-border, rgb(var(--tb-border, 226 232 240)));
|
|
@@ -60120,7 +59251,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60120
59251
|
}
|
|
60121
59252
|
|
|
60122
59253
|
/* Skeleton shell lines */
|
|
60123
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59254
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line {
|
|
60124
59255
|
height: 0.75rem;
|
|
60125
59256
|
border-radius: 9999px;
|
|
60126
59257
|
background: linear-gradient(
|
|
@@ -60131,24 +59262,24 @@ const containerResponsiveThemeCss = `/*
|
|
|
60131
59262
|
);
|
|
60132
59263
|
}
|
|
60133
59264
|
|
|
60134
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59265
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--lg {
|
|
60135
59266
|
width: min(26rem, 82%);
|
|
60136
59267
|
}
|
|
60137
59268
|
|
|
60138
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59269
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--md {
|
|
60139
59270
|
width: min(19rem, 68%);
|
|
60140
59271
|
}
|
|
60141
59272
|
|
|
60142
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59273
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--sm {
|
|
60143
59274
|
width: min(14rem, 52%);
|
|
60144
59275
|
}
|
|
60145
59276
|
|
|
60146
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59277
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-line--xs {
|
|
60147
59278
|
width: min(10rem, 42%);
|
|
60148
59279
|
}
|
|
60149
59280
|
|
|
60150
59281
|
/* Skeleton block (rectangular placeholder, pulses) */
|
|
60151
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59282
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
60152
59283
|
height: 2.5rem;
|
|
60153
59284
|
width: 100%;
|
|
60154
59285
|
border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
|
|
@@ -60166,7 +59297,7 @@ const containerResponsiveThemeCss = `/*
|
|
|
60166
59297
|
}
|
|
60167
59298
|
|
|
60168
59299
|
@media (prefers-reduced-motion: reduce) {
|
|
60169
|
-
:where(.theme-scope) :where([data-block="event-registration"], [data-block="
|
|
59300
|
+
:where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-shell-block {
|
|
60170
59301
|
animation: none;
|
|
60171
59302
|
}
|
|
60172
59303
|
}
|
|
@@ -66548,1648 +65679,337 @@ const containerResponsiveThemeCss = `/*
|
|
|
66548
65679
|
cursor: not-allowed;
|
|
66549
65680
|
}
|
|
66550
65681
|
|
|
66551
|
-
/*
|
|
66552
|
-
*
|
|
66553
|
-
*
|
|
65682
|
+
/* =============================================================================
|
|
65683
|
+
* Block: Newsletter Signup
|
|
65684
|
+
* =============================================================================
|
|
66554
65685
|
*/
|
|
66555
65686
|
|
|
66556
|
-
|
|
66557
|
-
|
|
66558
|
-
|
|
66559
|
-
|
|
65687
|
+
/* Newsletter copy styling */
|
|
65688
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
65689
|
+
font-size: 1.5rem;
|
|
65690
|
+
font-weight: 600;
|
|
66560
65691
|
}
|
|
66561
65692
|
|
|
66562
|
-
|
|
66563
|
-
:
|
|
66564
|
-
|
|
65693
|
+
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
65694
|
+
font-size: 1rem;
|
|
65695
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
65696
|
+
opacity: 0.85;
|
|
66565
65697
|
}
|
|
66566
65698
|
|
|
66567
|
-
/*
|
|
66568
|
-
:where(.theme-scope) .
|
|
66569
|
-
|
|
66570
|
-
|
|
66571
|
-
|
|
65699
|
+
/* Newsletter form container */
|
|
65700
|
+
:where(.theme-scope) .newsletter-form {
|
|
65701
|
+
width: 100%;
|
|
65702
|
+
max-width: 32rem;
|
|
65703
|
+
margin-left: auto;
|
|
65704
|
+
margin-right: auto;
|
|
66572
65705
|
}
|
|
66573
65706
|
|
|
66574
|
-
/*
|
|
66575
|
-
:where(.theme-scope) .
|
|
66576
|
-
|
|
65707
|
+
/* Newsletter form fields container */
|
|
65708
|
+
:where(.theme-scope) .newsletter-form-fields {
|
|
65709
|
+
display: flex;
|
|
65710
|
+
flex-direction: column;
|
|
65711
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
66577
65712
|
}
|
|
66578
65713
|
|
|
66579
|
-
|
|
66580
|
-
|
|
65714
|
+
/* Individual field styling */
|
|
65715
|
+
:where(.theme-scope) .newsletter-field {
|
|
65716
|
+
display: flex;
|
|
65717
|
+
flex-direction: column;
|
|
65718
|
+
gap: 0.25rem;
|
|
66581
65719
|
}
|
|
66582
65720
|
|
|
66583
|
-
/*
|
|
66584
|
-
|
|
66585
|
-
|
|
66586
|
-
|
|
66587
|
-
*/
|
|
66588
|
-
|
|
66589
|
-
/* Block-local surface text tokens for cards/modals that sit on theme surface. */
|
|
66590
|
-
:where(.theme-scope)
|
|
66591
|
-
:where(
|
|
66592
|
-
[data-block='event-registration'],
|
|
66593
|
-
[data-block='course-registration']
|
|
66594
|
-
) {
|
|
66595
|
-
--er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
|
|
66596
|
-
--er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
|
|
65721
|
+
/* Required indicator */
|
|
65722
|
+
:where(.theme-scope) .newsletter-required {
|
|
65723
|
+
color: rgb(var(--tb-primary));
|
|
65724
|
+
margin-left: 0.125rem;
|
|
66597
65725
|
}
|
|
66598
65726
|
|
|
66599
|
-
/*
|
|
66600
|
-
|
|
66601
|
-
|
|
66602
|
-
:where(.theme-scope)
|
|
66603
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66604
|
-
.er-whole-series-container {
|
|
66605
|
-
padding: 1.5rem;
|
|
66606
|
-
margin-inline: auto;
|
|
65727
|
+
/* Submit button container */
|
|
65728
|
+
:where(.theme-scope) .newsletter-submit {
|
|
65729
|
+
margin-top: 0.5rem;
|
|
66607
65730
|
}
|
|
66608
65731
|
|
|
66609
|
-
/*
|
|
66610
|
-
:where(.theme-scope)
|
|
66611
|
-
:
|
|
66612
|
-
|
|
66613
|
-
|
|
66614
|
-
border: 1px dashed rgba(var(--tb-foreground), 0.2);
|
|
66615
|
-
padding: 2.5rem;
|
|
66616
|
-
text-align: center;
|
|
65732
|
+
/* ALTCHA widget container */
|
|
65733
|
+
:where(.theme-scope) .newsletter-altcha {
|
|
65734
|
+
margin-top: 0.75rem;
|
|
65735
|
+
display: flex;
|
|
65736
|
+
justify-content: center;
|
|
66617
65737
|
}
|
|
66618
65738
|
|
|
66619
|
-
|
|
66620
|
-
|
|
66621
|
-
|
|
66622
|
-
|
|
65739
|
+
/* Privacy note */
|
|
65740
|
+
:where(.theme-scope) .newsletter-privacy-note {
|
|
65741
|
+
margin-top: 0.75rem;
|
|
65742
|
+
font-size: 1rem;
|
|
65743
|
+
line-height: 1.6;
|
|
65744
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
65745
|
+
text-align: center;
|
|
66623
65746
|
}
|
|
66624
65747
|
|
|
66625
65748
|
/* =============================================================================
|
|
66626
|
-
*
|
|
65749
|
+
* Inline Variant - Horizontal layout
|
|
66627
65750
|
* =============================================================================
|
|
66628
65751
|
*/
|
|
66629
|
-
:where(.theme-scope)
|
|
66630
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66631
|
-
.er-whole-series-layout {
|
|
66632
|
-
display: grid;
|
|
66633
|
-
gap: 1.5rem;
|
|
66634
|
-
grid-template-columns: 1fr;
|
|
66635
|
-
}
|
|
66636
65752
|
|
|
66637
|
-
|
|
66638
|
-
|
|
66639
|
-
:
|
|
66640
|
-
|
|
66641
|
-
|
|
66642
|
-
[data-block='course-registration']
|
|
66643
|
-
)
|
|
66644
|
-
.er-whole-series-layout--with-sidebar {
|
|
66645
|
-
grid-template-columns: 1fr 280px;
|
|
66646
|
-
}
|
|
66647
|
-
}
|
|
65753
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
65754
|
+
flex-direction: row;
|
|
65755
|
+
align-items: flex-end;
|
|
65756
|
+
flex-wrap: wrap;
|
|
65757
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
66648
65758
|
}
|
|
66649
65759
|
|
|
66650
|
-
:where(.theme-scope)
|
|
66651
|
-
:
|
|
66652
|
-
|
|
66653
|
-
min-width: 0;
|
|
65760
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
65761
|
+
flex: 1 1 auto;
|
|
65762
|
+
min-width: 10rem;
|
|
66654
65763
|
}
|
|
66655
65764
|
|
|
66656
|
-
:where(.theme-scope)
|
|
66657
|
-
:
|
|
66658
|
-
|
|
66659
|
-
display: none;
|
|
65765
|
+
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
65766
|
+
margin-top: 0;
|
|
65767
|
+
flex-shrink: 0;
|
|
66660
65768
|
}
|
|
66661
65769
|
|
|
66662
|
-
|
|
65770
|
+
/* Mobile fallback for inline variant */
|
|
65771
|
+
@container rb-site (max-width: 640px) {
|
|
66663
65772
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
66664
|
-
:where(.theme-scope)
|
|
66665
|
-
:
|
|
66666
|
-
|
|
66667
|
-
|
|
66668
|
-
|
|
66669
|
-
|
|
66670
|
-
display: block;
|
|
65773
|
+
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
65774
|
+
flex-direction: column;
|
|
65775
|
+
}
|
|
65776
|
+
|
|
65777
|
+
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
65778
|
+
min-width: 100%;
|
|
66671
65779
|
}
|
|
66672
65780
|
}
|
|
66673
65781
|
}
|
|
66674
65782
|
|
|
66675
65783
|
/* =============================================================================
|
|
66676
|
-
*
|
|
65784
|
+
* Editorial Split Variant
|
|
66677
65785
|
* =============================================================================
|
|
66678
65786
|
*/
|
|
66679
|
-
:where(.theme-scope)
|
|
66680
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66681
|
-
.er-whole-series-steps {
|
|
66682
|
-
display: flex;
|
|
66683
|
-
align-items: center;
|
|
66684
|
-
gap: 0.5rem;
|
|
66685
|
-
margin-bottom: 1.5rem;
|
|
66686
|
-
}
|
|
66687
65787
|
|
|
66688
|
-
:where(.theme-scope)
|
|
66689
|
-
:
|
|
66690
|
-
|
|
66691
|
-
|
|
65788
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
65789
|
+
display: grid;
|
|
65790
|
+
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
65791
|
+
gap: clamp(2.5rem, 7vw, 7rem);
|
|
66692
65792
|
align-items: center;
|
|
66693
|
-
|
|
65793
|
+
text-align: left;
|
|
66694
65794
|
}
|
|
66695
65795
|
|
|
66696
|
-
:where(.theme-scope)
|
|
66697
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66698
|
-
.er-whole-series-step-circle {
|
|
66699
|
-
width: 1.75rem;
|
|
66700
|
-
height: 1.75rem;
|
|
66701
|
-
border-radius: 9999px;
|
|
65796
|
+
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
66702
65797
|
display: flex;
|
|
66703
|
-
|
|
66704
|
-
|
|
66705
|
-
font-size: 0.75rem;
|
|
66706
|
-
font-weight: 600;
|
|
66707
|
-
background: var(--er-step-inactive);
|
|
66708
|
-
color: var(--er-step-text);
|
|
66709
|
-
transition: background-color 0.2s ease;
|
|
65798
|
+
flex-direction: column;
|
|
65799
|
+
gap: var(--rb-gap-sm, 0.75rem);
|
|
66710
65800
|
}
|
|
66711
65801
|
|
|
66712
|
-
:where(.theme-scope)
|
|
66713
|
-
:
|
|
66714
|
-
.er-whole-series-step-circle--active {
|
|
66715
|
-
background: var(--er-step-active);
|
|
66716
|
-
color: var(--er-step-text-active);
|
|
65802
|
+
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
65803
|
+
min-width: 0;
|
|
66717
65804
|
}
|
|
66718
65805
|
|
|
66719
|
-
:where(.theme-scope)
|
|
66720
|
-
:
|
|
66721
|
-
|
|
66722
|
-
background: var(--er-step-completed);
|
|
66723
|
-
color: var(--er-step-text);
|
|
65806
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
65807
|
+
max-width: none;
|
|
65808
|
+
margin-inline: 0;
|
|
66724
65809
|
}
|
|
66725
65810
|
|
|
66726
|
-
:where(.theme-scope)
|
|
66727
|
-
:
|
|
66728
|
-
.er-whole-series-step-label {
|
|
66729
|
-
font-size: 0.875rem;
|
|
65811
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
65812
|
+
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
66730
65813
|
font-weight: 500;
|
|
66731
|
-
color: rgb(var(--tb-mutedText));
|
|
66732
|
-
display: none;
|
|
66733
65814
|
}
|
|
66734
65815
|
|
|
66735
|
-
|
|
65816
|
+
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
65817
|
+
text-align: left;
|
|
65818
|
+
}
|
|
65819
|
+
|
|
65820
|
+
@container rb-site (max-width: 767px) {
|
|
66736
65821
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
66737
|
-
:where(.theme-scope)
|
|
66738
|
-
:
|
|
66739
|
-
|
|
66740
|
-
[data-block='course-registration']
|
|
66741
|
-
)
|
|
66742
|
-
.er-whole-series-step-label {
|
|
66743
|
-
display: block;
|
|
65822
|
+
:where(.theme-scope) .newsletter-editorial-split {
|
|
65823
|
+
grid-template-columns: minmax(0, 1fr);
|
|
65824
|
+
gap: 2rem;
|
|
66744
65825
|
}
|
|
66745
65826
|
}
|
|
66746
65827
|
}
|
|
66747
65828
|
|
|
66748
|
-
|
|
66749
|
-
|
|
66750
|
-
|
|
66751
|
-
|
|
66752
|
-
font-weight: 600;
|
|
66753
|
-
}
|
|
66754
|
-
|
|
66755
|
-
:where(.theme-scope)
|
|
66756
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66757
|
-
.er-whole-series-step-connector {
|
|
66758
|
-
flex: 1;
|
|
66759
|
-
height: 2px;
|
|
66760
|
-
background: var(--er-step-connector);
|
|
66761
|
-
min-width: 1rem;
|
|
66762
|
-
}
|
|
65829
|
+
/* =============================================================================
|
|
65830
|
+
* Success State
|
|
65831
|
+
* =============================================================================
|
|
65832
|
+
*/
|
|
66763
65833
|
|
|
66764
|
-
:where(.theme-scope)
|
|
66765
|
-
:
|
|
66766
|
-
.er-whole-series-step-connector--completed {
|
|
66767
|
-
background: var(--er-step-completed);
|
|
65834
|
+
:where(.theme-scope) .newsletter-success {
|
|
65835
|
+
text-align: center;
|
|
66768
65836
|
}
|
|
66769
65837
|
|
|
66770
|
-
:where(.theme-scope)
|
|
66771
|
-
:
|
|
66772
|
-
|
|
66773
|
-
|
|
66774
|
-
|
|
65838
|
+
:where(.theme-scope) .newsletter-success .fb-success {
|
|
65839
|
+
padding: 1rem 1.5rem;
|
|
65840
|
+
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
65841
|
+
border-radius: var(--radius-md, 0.5rem);
|
|
65842
|
+
color: rgb(var(--tb-text));
|
|
66775
65843
|
}
|
|
66776
65844
|
|
|
66777
65845
|
/* =============================================================================
|
|
66778
|
-
*
|
|
65846
|
+
* Block: Contact + Newsletter
|
|
66779
65847
|
* =============================================================================
|
|
66780
65848
|
*/
|
|
66781
|
-
|
|
66782
|
-
|
|
66783
|
-
.er-whole-series-run-list {
|
|
65849
|
+
|
|
65850
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
66784
65851
|
display: grid;
|
|
66785
|
-
|
|
65852
|
+
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
65853
|
+
gap: clamp(2.5rem, 6vw, 4rem);
|
|
65854
|
+
align-items: start;
|
|
66786
65855
|
}
|
|
66787
65856
|
|
|
66788
|
-
|
|
66789
|
-
|
|
66790
|
-
* =============================================================================
|
|
66791
|
-
*/
|
|
66792
|
-
:where(.theme-scope)
|
|
66793
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66794
|
-
.er-whole-series-run-card {
|
|
66795
|
-
border-radius: var(--rb-block-radius);
|
|
66796
|
-
border: 1px solid var(--er-border);
|
|
66797
|
-
padding: 1rem;
|
|
66798
|
-
background: rgb(var(--tb-background));
|
|
66799
|
-
cursor: pointer;
|
|
66800
|
-
transition:
|
|
66801
|
-
border-color var(--rb-block-transition) ease,
|
|
66802
|
-
transform var(--rb-block-transition) ease;
|
|
65857
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
65858
|
+
min-width: 0;
|
|
66803
65859
|
}
|
|
66804
65860
|
|
|
66805
|
-
:where(.theme-scope)
|
|
66806
|
-
:
|
|
66807
|
-
.er-whole-series-run-card:hover {
|
|
66808
|
-
border-color: var(--er-border-hover);
|
|
66809
|
-
transform: translateY(-1px);
|
|
65861
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
65862
|
+
margin-bottom: 1.5rem;
|
|
66810
65863
|
}
|
|
66811
65864
|
|
|
66812
|
-
:where(.theme-scope)
|
|
66813
|
-
|
|
66814
|
-
|
|
66815
|
-
outline: 2px solid var(--er-focus-ring);
|
|
66816
|
-
outline-offset: 2px;
|
|
65865
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
65866
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
65867
|
+
margin: 0 0 0.75rem;
|
|
66817
65868
|
}
|
|
66818
65869
|
|
|
66819
|
-
:where(.theme-scope)
|
|
66820
|
-
|
|
66821
|
-
|
|
66822
|
-
border-color: var(--er-border-selected);
|
|
66823
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
65870
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
65871
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
65872
|
+
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
66824
65873
|
}
|
|
66825
65874
|
|
|
66826
|
-
:where(.theme-scope)
|
|
66827
|
-
:
|
|
66828
|
-
|
|
66829
|
-
|
|
66830
|
-
font-weight: 700;
|
|
66831
|
-
font-size: 1.125rem;
|
|
65875
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
65876
|
+
display: flex;
|
|
65877
|
+
flex-direction: column;
|
|
65878
|
+
align-items: flex-start;
|
|
66832
65879
|
}
|
|
66833
65880
|
|
|
66834
|
-
:where(.theme-scope)
|
|
66835
|
-
:
|
|
66836
|
-
|
|
66837
|
-
margin: 0
|
|
66838
|
-
opacity: 0.8;
|
|
65881
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
65882
|
+
max-width: none;
|
|
65883
|
+
margin-left: 0;
|
|
65884
|
+
margin-right: 0;
|
|
66839
65885
|
}
|
|
66840
65886
|
|
|
66841
|
-
:where(.theme-scope)
|
|
66842
|
-
:
|
|
66843
|
-
.er-whole-series-run-card__sessions,
|
|
66844
|
-
:where(.theme-scope)
|
|
66845
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66846
|
-
.er-whole-series-run-card__price,
|
|
66847
|
-
:where(.theme-scope)
|
|
66848
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66849
|
-
.er-whole-series-run-card__capacity,
|
|
66850
|
-
:where(.theme-scope)
|
|
66851
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66852
|
-
.er-whole-series-run-card__venue {
|
|
66853
|
-
margin: 0.25rem 0 0 0;
|
|
66854
|
-
opacity: 0.85;
|
|
65887
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
65888
|
+
text-align: left;
|
|
66855
65889
|
}
|
|
66856
65890
|
|
|
66857
|
-
|
|
66858
|
-
|
|
66859
|
-
|
|
66860
|
-
|
|
66861
|
-
:where(.theme-scope)
|
|
66862
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66863
|
-
.er-whole-series-capacity-badge {
|
|
66864
|
-
display: inline-block;
|
|
66865
|
-
padding: 0.125rem 0.5rem;
|
|
66866
|
-
border-radius: 9999px;
|
|
66867
|
-
font-size: 0.75rem;
|
|
66868
|
-
font-weight: 500;
|
|
65891
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
65892
|
+
display: flex;
|
|
65893
|
+
flex-direction: column;
|
|
65894
|
+
gap: 1rem;
|
|
66869
65895
|
}
|
|
66870
65896
|
|
|
66871
|
-
:where(.theme-scope)
|
|
66872
|
-
:
|
|
66873
|
-
|
|
66874
|
-
|
|
66875
|
-
color: var(--er-capacity-available-text);
|
|
65897
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
65898
|
+
display: grid;
|
|
65899
|
+
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
65900
|
+
gap: 1rem;
|
|
66876
65901
|
}
|
|
66877
65902
|
|
|
66878
|
-
:where(.theme-scope)
|
|
66879
|
-
:
|
|
66880
|
-
|
|
66881
|
-
|
|
66882
|
-
color: var(--er-capacity-low-text);
|
|
65903
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-field {
|
|
65904
|
+
display: flex;
|
|
65905
|
+
flex-direction: column;
|
|
65906
|
+
gap: 0.25rem;
|
|
66883
65907
|
}
|
|
66884
65908
|
|
|
66885
|
-
:where(.theme-scope)
|
|
66886
|
-
:
|
|
66887
|
-
|
|
66888
|
-
|
|
66889
|
-
|
|
65909
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-fieldset {
|
|
65910
|
+
display: flex;
|
|
65911
|
+
flex-direction: column;
|
|
65912
|
+
gap: 0.5rem;
|
|
65913
|
+
border: none;
|
|
65914
|
+
padding: 0;
|
|
65915
|
+
margin: 0;
|
|
66890
65916
|
}
|
|
66891
65917
|
|
|
66892
|
-
|
|
66893
|
-
|
|
66894
|
-
|
|
66895
|
-
|
|
66896
|
-
:where(.theme-scope)
|
|
66897
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66898
|
-
.er-whole-series-details {
|
|
66899
|
-
display: grid;
|
|
66900
|
-
gap: 1rem;
|
|
65918
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
|
|
65919
|
+
display: flex;
|
|
65920
|
+
align-items: center;
|
|
65921
|
+
gap: 0.5rem;
|
|
66901
65922
|
}
|
|
66902
65923
|
|
|
66903
|
-
:where(.theme-scope)
|
|
66904
|
-
|
|
66905
|
-
|
|
65924
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
|
|
65925
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
|
|
65926
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
66906
65927
|
border-radius: var(--rb-block-radius);
|
|
66907
|
-
border: 1px solid var(--er-summary-border);
|
|
66908
65928
|
padding: 1rem;
|
|
66909
|
-
|
|
66910
|
-
}
|
|
66911
|
-
|
|
66912
|
-
:where(.theme-scope)
|
|
66913
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66914
|
-
.er-whole-series-summary__title {
|
|
66915
|
-
margin: 0;
|
|
66916
|
-
font-size: 1.25rem;
|
|
66917
|
-
font-weight: 800;
|
|
65929
|
+
font-size: 0.875rem;
|
|
66918
65930
|
}
|
|
66919
65931
|
|
|
66920
|
-
:where(.theme-scope)
|
|
66921
|
-
:
|
|
66922
|
-
|
|
66923
|
-
|
|
66924
|
-
font-weight: 700;
|
|
65932
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success {
|
|
65933
|
+
background-color: var(--fb-success-bg);
|
|
65934
|
+
color: var(--fb-success-text);
|
|
65935
|
+
border: 1px solid var(--fb-success-border);
|
|
66925
65936
|
}
|
|
66926
65937
|
|
|
66927
|
-
:where(.theme-scope)
|
|
66928
|
-
:
|
|
66929
|
-
|
|
66930
|
-
|
|
66931
|
-
padding: 0;
|
|
66932
|
-
margin: 0;
|
|
66933
|
-
display: grid;
|
|
66934
|
-
gap: 0.35rem;
|
|
65938
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error {
|
|
65939
|
+
background-color: var(--fb-error-bg);
|
|
65940
|
+
color: var(--fb-error-text);
|
|
65941
|
+
border: 1px solid var(--fb-error-border);
|
|
66935
65942
|
}
|
|
66936
65943
|
|
|
66937
|
-
:where(.theme-scope)
|
|
66938
|
-
:
|
|
66939
|
-
|
|
66940
|
-
|
|
65944
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
65945
|
+
background-color: var(--fb-empty-bg);
|
|
65946
|
+
color: var(--fb-empty-text);
|
|
65947
|
+
border: 1px dashed var(--fb-empty-border);
|
|
65948
|
+
text-align: center;
|
|
66941
65949
|
}
|
|
66942
65950
|
|
|
66943
|
-
:where(.theme-scope)
|
|
66944
|
-
:
|
|
66945
|
-
.er-whole-series-summary__venue,
|
|
66946
|
-
:where(.theme-scope)
|
|
66947
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66948
|
-
.er-whole-series-summary__price,
|
|
66949
|
-
:where(.theme-scope)
|
|
66950
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66951
|
-
.er-whole-series-summary__membership {
|
|
66952
|
-
margin: 0.5rem 0 0 0;
|
|
66953
|
-
opacity: 0.9;
|
|
65951
|
+
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-actions {
|
|
65952
|
+
margin-top: 0.5rem;
|
|
66954
65953
|
}
|
|
66955
65954
|
|
|
66956
65955
|
/* =============================================================================
|
|
66957
|
-
*
|
|
65956
|
+
* Block: Team Members
|
|
66958
65957
|
* =============================================================================
|
|
65958
|
+
*
|
|
65959
|
+
* Site/theme authors sometimes need different thumbnail shapes/sizes without
|
|
65960
|
+
* changing global fragment defaults. We expose these controls on the block and
|
|
65961
|
+
* style them via data attributes on the \`.rb-team-members\` wrapper.
|
|
66959
65962
|
*/
|
|
66960
|
-
:where(.theme-scope)
|
|
66961
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
66962
|
-
.er-whole-series-form {
|
|
66963
|
-
display: grid;
|
|
66964
|
-
gap: 1rem;
|
|
66965
|
-
}
|
|
66966
65963
|
|
|
66967
|
-
|
|
66968
|
-
|
|
66969
|
-
|
|
66970
|
-
display: grid;
|
|
66971
|
-
gap: 0.35rem;
|
|
65964
|
+
/* Scope all block-static CSS to ThemeScope to avoid leaking into host apps/dashboard. */
|
|
65965
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) {
|
|
65966
|
+
text-align: left;
|
|
66972
65967
|
}
|
|
66973
65968
|
|
|
66974
|
-
:where(.theme-scope)
|
|
66975
|
-
:
|
|
66976
|
-
|
|
66977
|
-
font-size: 0.875rem;
|
|
66978
|
-
font-weight: 600;
|
|
65969
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) :where(.rb-team-member) {
|
|
65970
|
+
align-items: flex-start;
|
|
65971
|
+
text-align: left;
|
|
66979
65972
|
}
|
|
66980
65973
|
|
|
66981
|
-
|
|
66982
|
-
|
|
66983
|
-
|
|
66984
|
-
|
|
66985
|
-
|
|
65974
|
+
@container rb-site (min-width: 1024px) {
|
|
65975
|
+
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
65976
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-width="lg-3-4-left"]) {
|
|
65977
|
+
width: 75%;
|
|
65978
|
+
margin-left: 0;
|
|
65979
|
+
margin-right: auto;
|
|
65980
|
+
}
|
|
65981
|
+
}
|
|
66986
65982
|
}
|
|
66987
65983
|
|
|
66988
|
-
:where(.theme-scope)
|
|
66989
|
-
:
|
|
66990
|
-
|
|
66991
|
-
|
|
66992
|
-
border: 1px solid var(--er-border);
|
|
66993
|
-
padding: 0.6rem 0.75rem;
|
|
66994
|
-
background: rgb(var(--tb-background));
|
|
66995
|
-
color: rgb(var(--tb-foreground));
|
|
65984
|
+
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-photo {
|
|
65985
|
+
display: block;
|
|
65986
|
+
width: 100%;
|
|
65987
|
+
height: auto;
|
|
66996
65988
|
}
|
|
66997
65989
|
|
|
66998
|
-
:where(.theme-scope)
|
|
66999
|
-
:
|
|
67000
|
-
.er-whole-series-form__textarea {
|
|
67001
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
67002
|
-
border: 1px solid var(--er-border);
|
|
67003
|
-
padding: 0.6rem 0.75rem;
|
|
67004
|
-
background: rgb(var(--tb-background));
|
|
67005
|
-
color: rgb(var(--tb-foreground));
|
|
67006
|
-
resize: vertical;
|
|
65990
|
+
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-role {
|
|
65991
|
+
font-weight: 600;
|
|
67007
65992
|
}
|
|
67008
65993
|
|
|
67009
|
-
:
|
|
67010
|
-
|
|
67011
|
-
|
|
67012
|
-
:
|
|
67013
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67014
|
-
.er-whole-series-form__textarea:focus {
|
|
67015
|
-
outline: 2px solid var(--er-focus-ring);
|
|
67016
|
-
outline-offset: 2px;
|
|
65994
|
+
/* Thumbnail sizing: map \`data-image-col-size\` to a sensible max thumbnail width. */
|
|
65995
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members) {
|
|
65996
|
+
--rb-team-thumb-max: 11.25rem; /* ~180px default */
|
|
65997
|
+
--rb-team-image-basis: 33.333%;
|
|
67017
65998
|
}
|
|
67018
65999
|
|
|
67019
|
-
:where(.theme-scope)
|
|
67020
|
-
|
|
67021
|
-
|
|
67022
|
-
:where(.theme-scope)
|
|
67023
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67024
|
-
.er-whole-series-form__textarea.er-whole-series-form__input--error {
|
|
67025
|
-
border-color: var(--er-border-error);
|
|
66000
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/4"]) {
|
|
66001
|
+
--rb-team-thumb-max: 8.75rem; /* ~140px */
|
|
66002
|
+
--rb-team-image-basis: 25%;
|
|
67026
66003
|
}
|
|
67027
66004
|
|
|
67028
|
-
:where(.theme-scope)
|
|
67029
|
-
|
|
67030
|
-
|
|
67031
|
-
font-size: 0.875rem;
|
|
67032
|
-
color: var(--er-error-text);
|
|
66005
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/3"]) {
|
|
66006
|
+
--rb-team-thumb-max: 11.25rem; /* ~180px */
|
|
66007
|
+
--rb-team-image-basis: 33.333%;
|
|
67033
66008
|
}
|
|
67034
66009
|
|
|
67035
|
-
:where(.theme-scope)
|
|
67036
|
-
|
|
67037
|
-
|
|
67038
|
-
font-size: 0.875rem;
|
|
67039
|
-
opacity: 0.7;
|
|
67040
|
-
}
|
|
67041
|
-
|
|
67042
|
-
/* Logged-in user hint with logout link */
|
|
67043
|
-
:where(.theme-scope)
|
|
67044
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67045
|
-
.er-whole-series-logged-in-hint {
|
|
67046
|
-
font-size: 0.875rem;
|
|
67047
|
-
opacity: 0.7;
|
|
67048
|
-
margin: 0.25rem 0 0 0;
|
|
67049
|
-
}
|
|
67050
|
-
|
|
67051
|
-
:where(.theme-scope)
|
|
67052
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67053
|
-
.er-whole-series-link {
|
|
67054
|
-
background: none;
|
|
67055
|
-
border: none;
|
|
67056
|
-
padding: 0;
|
|
67057
|
-
font-size: inherit;
|
|
67058
|
-
color: rgb(var(--tb-primary));
|
|
67059
|
-
cursor: pointer;
|
|
67060
|
-
text-decoration: underline;
|
|
67061
|
-
text-underline-offset: 2px;
|
|
67062
|
-
}
|
|
67063
|
-
|
|
67064
|
-
:where(.theme-scope)
|
|
67065
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67066
|
-
.er-whole-series-link:hover {
|
|
67067
|
-
text-decoration: none;
|
|
67068
|
-
}
|
|
67069
|
-
|
|
67070
|
-
/* =============================================================================
|
|
67071
|
-
* Actions
|
|
67072
|
-
* =============================================================================
|
|
67073
|
-
*/
|
|
67074
|
-
:where(.theme-scope)
|
|
67075
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67076
|
-
.er-whole-series-actions {
|
|
67077
|
-
display: flex;
|
|
67078
|
-
align-items: center;
|
|
67079
|
-
justify-content: space-between;
|
|
67080
|
-
gap: 0.75rem;
|
|
67081
|
-
margin-top: 0.25rem;
|
|
67082
|
-
}
|
|
67083
|
-
|
|
67084
|
-
:where(.theme-scope)
|
|
67085
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67086
|
-
.er-whole-series-back-btn {
|
|
67087
|
-
border: 0;
|
|
67088
|
-
background: transparent;
|
|
67089
|
-
color: var(--er-on-surface);
|
|
67090
|
-
opacity: 0.8;
|
|
67091
|
-
padding: 0.25rem 0.25rem;
|
|
67092
|
-
cursor: pointer;
|
|
67093
|
-
}
|
|
67094
|
-
|
|
67095
|
-
:where(.theme-scope)
|
|
67096
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67097
|
-
.er-whole-series-back-btn:hover {
|
|
67098
|
-
opacity: 1;
|
|
67099
|
-
text-decoration: underline;
|
|
67100
|
-
}
|
|
67101
|
-
|
|
67102
|
-
/* =============================================================================
|
|
67103
|
-
* Payment Options
|
|
67104
|
-
* =============================================================================
|
|
67105
|
-
*/
|
|
67106
|
-
:where(.theme-scope)
|
|
67107
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67108
|
-
.er-whole-series-payment__options {
|
|
67109
|
-
display: grid;
|
|
67110
|
-
gap: 0.5rem;
|
|
67111
|
-
}
|
|
67112
|
-
|
|
67113
|
-
:where(.theme-scope)
|
|
67114
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67115
|
-
.er-whole-series-payment__option {
|
|
67116
|
-
display: flex;
|
|
67117
|
-
align-items: center;
|
|
67118
|
-
gap: 0.5rem;
|
|
67119
|
-
}
|
|
67120
|
-
|
|
67121
|
-
/* =============================================================================
|
|
67122
|
-
* Payment Tiles (Card Grid)
|
|
67123
|
-
* =============================================================================
|
|
67124
|
-
*/
|
|
67125
|
-
:where(.theme-scope)
|
|
67126
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67127
|
-
.er-whole-series-payment-tiles {
|
|
67128
|
-
display: grid;
|
|
67129
|
-
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
67130
|
-
gap: 0.75rem;
|
|
67131
|
-
}
|
|
67132
|
-
|
|
67133
|
-
:where(.theme-scope)
|
|
67134
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67135
|
-
.er-whole-series-payment-tile {
|
|
67136
|
-
border-radius: var(--rb-block-radius);
|
|
67137
|
-
border: 1px solid var(--er-payment-border);
|
|
67138
|
-
padding: 1rem;
|
|
67139
|
-
background: rgb(var(--tb-background));
|
|
67140
|
-
cursor: pointer;
|
|
67141
|
-
transition:
|
|
67142
|
-
border-color 0.15s ease,
|
|
67143
|
-
box-shadow 0.15s ease,
|
|
67144
|
-
background-color 0.15s ease;
|
|
67145
|
-
position: relative;
|
|
67146
|
-
}
|
|
67147
|
-
|
|
67148
|
-
:where(.theme-scope)
|
|
67149
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67150
|
-
.er-whole-series-payment-tile:hover {
|
|
67151
|
-
border-color: var(--er-payment-border-hover);
|
|
67152
|
-
}
|
|
67153
|
-
|
|
67154
|
-
:where(.theme-scope)
|
|
67155
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67156
|
-
.er-whole-series-payment-tile:focus-visible {
|
|
67157
|
-
outline: 2px solid var(--er-focus-ring);
|
|
67158
|
-
outline-offset: 2px;
|
|
67159
|
-
}
|
|
67160
|
-
|
|
67161
|
-
:where(.theme-scope)
|
|
67162
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67163
|
-
.er-whole-series-payment-tile--selected {
|
|
67164
|
-
border-color: var(--er-payment-border-selected);
|
|
67165
|
-
background: var(--er-payment-bg-selected);
|
|
67166
|
-
box-shadow: 0 0 0 3px var(--er-focus-ring);
|
|
67167
|
-
}
|
|
67168
|
-
|
|
67169
|
-
:where(.theme-scope)
|
|
67170
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67171
|
-
.er-whole-series-payment-tile--upsell {
|
|
67172
|
-
border-style: dashed;
|
|
67173
|
-
}
|
|
67174
|
-
|
|
67175
|
-
:where(.theme-scope)
|
|
67176
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67177
|
-
.er-whole-series-payment-tile__header {
|
|
67178
|
-
display: flex;
|
|
67179
|
-
align-items: flex-start;
|
|
67180
|
-
justify-content: space-between;
|
|
67181
|
-
gap: 0.5rem;
|
|
67182
|
-
}
|
|
67183
|
-
|
|
67184
|
-
:where(.theme-scope)
|
|
67185
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67186
|
-
.er-whole-series-payment-tile__name {
|
|
67187
|
-
margin: 0;
|
|
67188
|
-
font-weight: 600;
|
|
67189
|
-
font-size: 1rem;
|
|
67190
|
-
}
|
|
67191
|
-
|
|
67192
|
-
:where(.theme-scope)
|
|
67193
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67194
|
-
.er-whole-series-payment-tile__description {
|
|
67195
|
-
margin: 0.25rem 0 0 0;
|
|
67196
|
-
font-size: 0.875rem;
|
|
67197
|
-
opacity: 0.7;
|
|
67198
|
-
}
|
|
67199
|
-
|
|
67200
|
-
:where(.theme-scope)
|
|
67201
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67202
|
-
.er-whole-series-payment-tile__price {
|
|
67203
|
-
font-weight: 600;
|
|
67204
|
-
font-size: 0.875rem;
|
|
67205
|
-
white-space: nowrap;
|
|
67206
|
-
}
|
|
67207
|
-
|
|
67208
|
-
:where(.theme-scope)
|
|
67209
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67210
|
-
.er-whole-series-payment-tile__badge {
|
|
67211
|
-
display: inline-block;
|
|
67212
|
-
padding: 0.125rem 0.5rem;
|
|
67213
|
-
border-radius: 9999px;
|
|
67214
|
-
font-size: 0.75rem;
|
|
67215
|
-
font-weight: 500;
|
|
67216
|
-
margin-top: 0.5rem;
|
|
67217
|
-
}
|
|
67218
|
-
|
|
67219
|
-
/* Checkmark indicator on selected tile */
|
|
67220
|
-
:where(.theme-scope)
|
|
67221
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67222
|
-
.er-whole-series-payment-tile__check {
|
|
67223
|
-
position: absolute;
|
|
67224
|
-
top: 0.5rem;
|
|
67225
|
-
right: 0.5rem;
|
|
67226
|
-
width: 1.25rem;
|
|
67227
|
-
height: 1.25rem;
|
|
67228
|
-
border-radius: 9999px;
|
|
67229
|
-
background: var(--er-check-bg);
|
|
67230
|
-
color: var(--er-check-text);
|
|
67231
|
-
display: flex;
|
|
67232
|
-
align-items: center;
|
|
67233
|
-
justify-content: center;
|
|
67234
|
-
opacity: 0;
|
|
67235
|
-
transition: opacity 0.15s ease;
|
|
67236
|
-
}
|
|
67237
|
-
|
|
67238
|
-
:where(.theme-scope)
|
|
67239
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67240
|
-
.er-whole-series-payment-tile--selected
|
|
67241
|
-
.er-whole-series-payment-tile__check {
|
|
67242
|
-
opacity: 1;
|
|
67243
|
-
}
|
|
67244
|
-
|
|
67245
|
-
/* =============================================================================
|
|
67246
|
-
* Booking Mode Step
|
|
67247
|
-
* =============================================================================
|
|
67248
|
-
*/
|
|
67249
|
-
:where(.theme-scope)
|
|
67250
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67251
|
-
.er-whole-series-booking-mode {
|
|
67252
|
-
display: grid;
|
|
67253
|
-
gap: 1rem;
|
|
67254
|
-
}
|
|
67255
|
-
|
|
67256
|
-
:where(.theme-scope)
|
|
67257
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67258
|
-
.er-whole-series-booking-mode__title {
|
|
67259
|
-
margin: 0;
|
|
67260
|
-
font-size: var(--er-step-title-size);
|
|
67261
|
-
font-weight: 700;
|
|
67262
|
-
}
|
|
67263
|
-
|
|
67264
|
-
:where(.theme-scope)
|
|
67265
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67266
|
-
.er-whole-series-booking-mode__subtitle {
|
|
67267
|
-
margin: 0.25rem 0 0 0;
|
|
67268
|
-
opacity: 0.7;
|
|
67269
|
-
}
|
|
67270
|
-
|
|
67271
|
-
:where(.theme-scope)
|
|
67272
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67273
|
-
.er-whole-series-booking-mode__link {
|
|
67274
|
-
margin-top: 0.5rem;
|
|
67275
|
-
font-size: 0.875rem;
|
|
67276
|
-
}
|
|
67277
|
-
|
|
67278
|
-
:where(.theme-scope)
|
|
67279
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67280
|
-
.er-whole-series-booking-mode__link
|
|
67281
|
-
a {
|
|
67282
|
-
color: rgb(var(--tb-primary));
|
|
67283
|
-
text-decoration: underline;
|
|
67284
|
-
cursor: pointer;
|
|
67285
|
-
}
|
|
67286
|
-
|
|
67287
|
-
:where(.theme-scope)
|
|
67288
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67289
|
-
.er-whole-series-booking-mode__link
|
|
67290
|
-
a:hover {
|
|
67291
|
-
text-decoration: none;
|
|
67292
|
-
}
|
|
67293
|
-
|
|
67294
|
-
/* =============================================================================
|
|
67295
|
-
* Membership Hero
|
|
67296
|
-
* =============================================================================
|
|
67297
|
-
*/
|
|
67298
|
-
:where(.theme-scope)
|
|
67299
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67300
|
-
.er-whole-series-membership-hero {
|
|
67301
|
-
border-radius: var(--rb-block-radius);
|
|
67302
|
-
background: var(--er-success-bg);
|
|
67303
|
-
border: 1px solid rgba(var(--tb-success), 0.2);
|
|
67304
|
-
padding: 1.5rem;
|
|
67305
|
-
text-align: center;
|
|
67306
|
-
}
|
|
67307
|
-
|
|
67308
|
-
:where(.theme-scope)
|
|
67309
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67310
|
-
.er-whole-series-membership-hero__icon {
|
|
67311
|
-
font-size: 2rem;
|
|
67312
|
-
margin-bottom: 0.75rem;
|
|
67313
|
-
}
|
|
67314
|
-
|
|
67315
|
-
:where(.theme-scope)
|
|
67316
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67317
|
-
.er-whole-series-membership-hero__title {
|
|
67318
|
-
margin: 0;
|
|
67319
|
-
font-size: 1.25rem;
|
|
67320
|
-
font-weight: 700;
|
|
67321
|
-
color: var(--er-success-text);
|
|
67322
|
-
}
|
|
67323
|
-
|
|
67324
|
-
:where(.theme-scope)
|
|
67325
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67326
|
-
.er-whole-series-membership-hero__subtitle {
|
|
67327
|
-
margin: 0.25rem 0 0 0;
|
|
67328
|
-
font-size: 0.875rem;
|
|
67329
|
-
opacity: 0.8;
|
|
67330
|
-
}
|
|
67331
|
-
|
|
67332
|
-
/* =============================================================================
|
|
67333
|
-
* Portal Auth Sidebar
|
|
67334
|
-
* =============================================================================
|
|
67335
|
-
*/
|
|
67336
|
-
:where(.theme-scope)
|
|
67337
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67338
|
-
.er-whole-series-portal-sidebar {
|
|
67339
|
-
border-radius: var(--rb-block-radius);
|
|
67340
|
-
border: 1px solid var(--er-border);
|
|
67341
|
-
padding: 1.25rem;
|
|
67342
|
-
background: rgb(var(--tb-surface));
|
|
67343
|
-
color: var(--er-on-surface);
|
|
67344
|
-
}
|
|
67345
|
-
|
|
67346
|
-
:where(.theme-scope)
|
|
67347
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67348
|
-
.er-whole-series-portal-sidebar__icon {
|
|
67349
|
-
font-size: 1.5rem;
|
|
67350
|
-
margin-bottom: 0.5rem;
|
|
67351
|
-
}
|
|
67352
|
-
|
|
67353
|
-
:where(.theme-scope)
|
|
67354
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67355
|
-
.er-whole-series-portal-sidebar__title {
|
|
67356
|
-
margin: 0;
|
|
67357
|
-
font-size: 1rem;
|
|
67358
|
-
font-weight: 600;
|
|
67359
|
-
}
|
|
67360
|
-
|
|
67361
|
-
:where(.theme-scope)
|
|
67362
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67363
|
-
.er-whole-series-portal-sidebar__text {
|
|
67364
|
-
margin: 0.5rem 0 0 0;
|
|
67365
|
-
font-size: 0.875rem;
|
|
67366
|
-
opacity: 0.8;
|
|
67367
|
-
}
|
|
67368
|
-
|
|
67369
|
-
:where(.theme-scope)
|
|
67370
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67371
|
-
.er-whole-series-portal-sidebar__action {
|
|
67372
|
-
margin-top: 1rem;
|
|
67373
|
-
}
|
|
67374
|
-
|
|
67375
|
-
:where(.theme-scope)
|
|
67376
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67377
|
-
.er-whole-series-portal-sidebar__link {
|
|
67378
|
-
color: rgb(var(--tb-primary));
|
|
67379
|
-
cursor: pointer;
|
|
67380
|
-
text-decoration: underline;
|
|
67381
|
-
font-size: 0.875rem;
|
|
67382
|
-
}
|
|
67383
|
-
|
|
67384
|
-
:where(.theme-scope)
|
|
67385
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67386
|
-
.er-whole-series-portal-sidebar__link:hover {
|
|
67387
|
-
text-decoration: none;
|
|
67388
|
-
}
|
|
67389
|
-
|
|
67390
|
-
/* =============================================================================
|
|
67391
|
-
* Modal (for Magic Link)
|
|
67392
|
-
* =============================================================================
|
|
67393
|
-
*/
|
|
67394
|
-
:where(.theme-scope)
|
|
67395
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67396
|
-
.er-whole-series-modal-overlay {
|
|
67397
|
-
position: fixed;
|
|
67398
|
-
inset: 0;
|
|
67399
|
-
background: rgba(var(--tb-scrim), 0.5);
|
|
67400
|
-
display: flex;
|
|
67401
|
-
align-items: center;
|
|
67402
|
-
justify-content: center;
|
|
67403
|
-
z-index: 100;
|
|
67404
|
-
animation: er-whole-series-fade-in 0.15s ease;
|
|
67405
|
-
}
|
|
67406
|
-
|
|
67407
|
-
:where(.theme-scope)
|
|
67408
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67409
|
-
.er-whole-series-modal {
|
|
67410
|
-
background: rgb(var(--tb-surface));
|
|
67411
|
-
color: var(--er-on-surface);
|
|
67412
|
-
border-radius: var(--rb-block-radius);
|
|
67413
|
-
padding: 1.5rem;
|
|
67414
|
-
max-width: 28rem;
|
|
67415
|
-
width: calc(100% - 2rem);
|
|
67416
|
-
position: relative;
|
|
67417
|
-
animation: er-whole-series-slide-up 0.2s ease;
|
|
67418
|
-
}
|
|
67419
|
-
|
|
67420
|
-
:where(.theme-scope)
|
|
67421
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67422
|
-
.er-whole-series-modal-close {
|
|
67423
|
-
position: absolute;
|
|
67424
|
-
top: 0.75rem;
|
|
67425
|
-
right: 0.75rem;
|
|
67426
|
-
background: transparent;
|
|
67427
|
-
border: 0;
|
|
67428
|
-
padding: 0.25rem;
|
|
67429
|
-
cursor: pointer;
|
|
67430
|
-
opacity: 0.6;
|
|
67431
|
-
transition: opacity 0.15s ease;
|
|
67432
|
-
}
|
|
67433
|
-
|
|
67434
|
-
:where(.theme-scope)
|
|
67435
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67436
|
-
.er-whole-series-modal-close:hover {
|
|
67437
|
-
opacity: 1;
|
|
67438
|
-
}
|
|
67439
|
-
|
|
67440
|
-
@keyframes er-whole-series-fade-in {
|
|
67441
|
-
from {
|
|
67442
|
-
opacity: 0;
|
|
67443
|
-
}
|
|
67444
|
-
to {
|
|
67445
|
-
opacity: 1;
|
|
67446
|
-
}
|
|
67447
|
-
}
|
|
67448
|
-
|
|
67449
|
-
@keyframes er-whole-series-slide-up {
|
|
67450
|
-
from {
|
|
67451
|
-
opacity: 0;
|
|
67452
|
-
transform: translateY(10px);
|
|
67453
|
-
}
|
|
67454
|
-
to {
|
|
67455
|
-
opacity: 1;
|
|
67456
|
-
transform: translateY(0);
|
|
67457
|
-
}
|
|
67458
|
-
}
|
|
67459
|
-
|
|
67460
|
-
/* Reduced motion */
|
|
67461
|
-
@media (prefers-reduced-motion: reduce) {
|
|
67462
|
-
:where(.theme-scope)
|
|
67463
|
-
:where(
|
|
67464
|
-
[data-block='event-registration'],
|
|
67465
|
-
[data-block='course-registration']
|
|
67466
|
-
)
|
|
67467
|
-
.er-whole-series-modal-overlay,
|
|
67468
|
-
:where(.theme-scope)
|
|
67469
|
-
:where(
|
|
67470
|
-
[data-block='event-registration'],
|
|
67471
|
-
[data-block='course-registration']
|
|
67472
|
-
)
|
|
67473
|
-
.er-whole-series-modal {
|
|
67474
|
-
animation: none;
|
|
67475
|
-
}
|
|
67476
|
-
}
|
|
67477
|
-
|
|
67478
|
-
/* =============================================================================
|
|
67479
|
-
* Center States
|
|
67480
|
-
* =============================================================================
|
|
67481
|
-
*/
|
|
67482
|
-
:where(.theme-scope)
|
|
67483
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67484
|
-
.er-whole-series-center {
|
|
67485
|
-
display: grid;
|
|
67486
|
-
place-items: center;
|
|
67487
|
-
gap: 0.75rem;
|
|
67488
|
-
padding: 2rem 0;
|
|
67489
|
-
}
|
|
67490
|
-
|
|
67491
|
-
/* =============================================================================
|
|
67492
|
-
* Success/Waitlist/Error States
|
|
67493
|
-
* =============================================================================
|
|
67494
|
-
*/
|
|
67495
|
-
:where(.theme-scope)
|
|
67496
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67497
|
-
.er-whole-series-success,
|
|
67498
|
-
:where(.theme-scope)
|
|
67499
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67500
|
-
.er-whole-series-waitlist,
|
|
67501
|
-
:where(.theme-scope)
|
|
67502
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67503
|
-
.er-whole-series-error,
|
|
67504
|
-
:where(.theme-scope)
|
|
67505
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67506
|
-
.er-whole-series-payment-failed {
|
|
67507
|
-
text-align: center;
|
|
67508
|
-
padding: 2rem 1rem;
|
|
67509
|
-
}
|
|
67510
|
-
|
|
67511
|
-
/* State icon color variants (layout from registration-surface.css) */
|
|
67512
|
-
:where(.theme-scope)
|
|
67513
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67514
|
-
.rb-state-icon--success {
|
|
67515
|
-
background: var(--er-success-bg);
|
|
67516
|
-
color: var(--er-success-text);
|
|
67517
|
-
}
|
|
67518
|
-
|
|
67519
|
-
:where(.theme-scope)
|
|
67520
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67521
|
-
.rb-state-icon--error {
|
|
67522
|
-
background: var(--er-error-bg);
|
|
67523
|
-
color: var(--er-error-text);
|
|
67524
|
-
}
|
|
67525
|
-
|
|
67526
|
-
:where(.theme-scope)
|
|
67527
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67528
|
-
.rb-state-icon--waitlist,
|
|
67529
|
-
:where(.theme-scope)
|
|
67530
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67531
|
-
.rb-state-icon--warning {
|
|
67532
|
-
background: var(--er-waitlist-bg);
|
|
67533
|
-
color: var(--er-waitlist-text);
|
|
67534
|
-
}
|
|
67535
|
-
|
|
67536
|
-
:where(.theme-scope)
|
|
67537
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67538
|
-
.er-whole-series-success__title,
|
|
67539
|
-
:where(.theme-scope)
|
|
67540
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67541
|
-
.er-whole-series-waitlist__title,
|
|
67542
|
-
:where(.theme-scope)
|
|
67543
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67544
|
-
.er-whole-series-error__title,
|
|
67545
|
-
:where(.theme-scope)
|
|
67546
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67547
|
-
.er-whole-series-payment-failed__title {
|
|
67548
|
-
margin: 0.75rem 0 0.5rem 0;
|
|
67549
|
-
font-size: 1.125rem;
|
|
67550
|
-
font-weight: 700;
|
|
67551
|
-
}
|
|
67552
|
-
|
|
67553
|
-
:where(.theme-scope)
|
|
67554
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67555
|
-
.er-whole-series-success__message,
|
|
67556
|
-
:where(.theme-scope)
|
|
67557
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67558
|
-
.er-whole-series-waitlist__message,
|
|
67559
|
-
:where(.theme-scope)
|
|
67560
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67561
|
-
.er-whole-series-error__message,
|
|
67562
|
-
:where(.theme-scope)
|
|
67563
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67564
|
-
.er-whole-series-payment-failed__message {
|
|
67565
|
-
margin: 0;
|
|
67566
|
-
opacity: 0.7;
|
|
67567
|
-
}
|
|
67568
|
-
|
|
67569
|
-
:where(.theme-scope)
|
|
67570
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67571
|
-
.er-whole-series-success__membership {
|
|
67572
|
-
margin-top: 0.5rem;
|
|
67573
|
-
font-size: 0.875rem;
|
|
67574
|
-
color: var(--er-success-text);
|
|
67575
|
-
}
|
|
67576
|
-
|
|
67577
|
-
:where(.theme-scope)
|
|
67578
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67579
|
-
.er-whole-series-error__retry,
|
|
67580
|
-
:where(.theme-scope)
|
|
67581
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67582
|
-
.er-whole-series-payment-failed__retry {
|
|
67583
|
-
margin-top: 1rem;
|
|
67584
|
-
}
|
|
67585
|
-
|
|
67586
|
-
/* =============================================================================
|
|
67587
|
-
* Discount Code Section
|
|
67588
|
-
* =============================================================================
|
|
67589
|
-
*/
|
|
67590
|
-
:where(.theme-scope)
|
|
67591
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67592
|
-
.er-whole-series-discount {
|
|
67593
|
-
margin-top: 0.5rem;
|
|
67594
|
-
}
|
|
67595
|
-
|
|
67596
|
-
:where(.theme-scope)
|
|
67597
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67598
|
-
.er-whole-series-discount__form {
|
|
67599
|
-
display: grid;
|
|
67600
|
-
gap: 0.5rem;
|
|
67601
|
-
}
|
|
67602
|
-
|
|
67603
|
-
:where(.theme-scope)
|
|
67604
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67605
|
-
.er-whole-series-discount__toggle {
|
|
67606
|
-
background: transparent;
|
|
67607
|
-
border: 0;
|
|
67608
|
-
padding: 0;
|
|
67609
|
-
color: rgb(var(--tb-primary));
|
|
67610
|
-
cursor: pointer;
|
|
67611
|
-
font-size: 0.875rem;
|
|
67612
|
-
text-decoration: underline;
|
|
67613
|
-
}
|
|
67614
|
-
|
|
67615
|
-
:where(.theme-scope)
|
|
67616
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67617
|
-
.er-whole-series-discount__toggle:hover {
|
|
67618
|
-
text-decoration: none;
|
|
67619
|
-
}
|
|
67620
|
-
|
|
67621
|
-
:where(.theme-scope)
|
|
67622
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67623
|
-
.er-whole-series-discount__label {
|
|
67624
|
-
font-size: 0.875rem;
|
|
67625
|
-
font-weight: 600;
|
|
67626
|
-
}
|
|
67627
|
-
|
|
67628
|
-
:where(.theme-scope)
|
|
67629
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67630
|
-
.er-whole-series-discount__row {
|
|
67631
|
-
display: flex;
|
|
67632
|
-
gap: 0.5rem;
|
|
67633
|
-
}
|
|
67634
|
-
|
|
67635
|
-
:where(.theme-scope)
|
|
67636
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67637
|
-
.er-whole-series-discount__input {
|
|
67638
|
-
flex: 1;
|
|
67639
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
67640
|
-
border: 1px solid var(--er-border);
|
|
67641
|
-
padding: 0.5rem 0.75rem;
|
|
67642
|
-
background: rgb(var(--tb-background));
|
|
67643
|
-
color: rgb(var(--tb-foreground));
|
|
67644
|
-
font-size: 0.875rem;
|
|
67645
|
-
}
|
|
67646
|
-
|
|
67647
|
-
:where(.theme-scope)
|
|
67648
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67649
|
-
.er-whole-series-discount__input:focus {
|
|
67650
|
-
outline: 2px solid var(--er-focus-ring);
|
|
67651
|
-
outline-offset: 2px;
|
|
67652
|
-
}
|
|
67653
|
-
|
|
67654
|
-
:where(.theme-scope)
|
|
67655
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67656
|
-
.er-whole-series-discount__remove {
|
|
67657
|
-
background: transparent;
|
|
67658
|
-
border: 0;
|
|
67659
|
-
padding: 0.25rem;
|
|
67660
|
-
cursor: pointer;
|
|
67661
|
-
opacity: 0.6;
|
|
67662
|
-
}
|
|
67663
|
-
|
|
67664
|
-
:where(.theme-scope)
|
|
67665
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67666
|
-
.er-whole-series-discount__apply {
|
|
67667
|
-
background: transparent;
|
|
67668
|
-
border: 0;
|
|
67669
|
-
padding: 0.25rem;
|
|
67670
|
-
cursor: pointer;
|
|
67671
|
-
opacity: 0.8;
|
|
67672
|
-
}
|
|
67673
|
-
|
|
67674
|
-
:where(.theme-scope)
|
|
67675
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67676
|
-
.er-whole-series-discount__remove:hover {
|
|
67677
|
-
opacity: 1;
|
|
67678
|
-
}
|
|
67679
|
-
|
|
67680
|
-
:where(.theme-scope)
|
|
67681
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67682
|
-
.er-whole-series-discount__apply:hover {
|
|
67683
|
-
opacity: 1;
|
|
67684
|
-
}
|
|
67685
|
-
|
|
67686
|
-
:where(.theme-scope)
|
|
67687
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67688
|
-
.er-whole-series-discount__hint {
|
|
67689
|
-
margin: 0;
|
|
67690
|
-
font-size: 0.875rem;
|
|
67691
|
-
opacity: 0.7;
|
|
67692
|
-
}
|
|
67693
|
-
|
|
67694
|
-
:where(.theme-scope)
|
|
67695
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67696
|
-
.er-whole-series-discount__feedback {
|
|
67697
|
-
margin: 0;
|
|
67698
|
-
font-size: 0.875rem;
|
|
67699
|
-
}
|
|
67700
|
-
|
|
67701
|
-
/* =============================================================================
|
|
67702
|
-
* Altcha (Spam Protection)
|
|
67703
|
-
* =============================================================================
|
|
67704
|
-
*/
|
|
67705
|
-
:where(.theme-scope)
|
|
67706
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67707
|
-
.er-whole-series-altcha {
|
|
67708
|
-
margin-top: 1rem;
|
|
67709
|
-
}
|
|
67710
|
-
|
|
67711
|
-
/* =============================================================================
|
|
67712
|
-
* Magic Link Form
|
|
67713
|
-
* =============================================================================
|
|
67714
|
-
*/
|
|
67715
|
-
:where(.theme-scope)
|
|
67716
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67717
|
-
.er-whole-series-magic-link-form {
|
|
67718
|
-
display: flex;
|
|
67719
|
-
flex-direction: column;
|
|
67720
|
-
gap: 0.75rem;
|
|
67721
|
-
}
|
|
67722
|
-
|
|
67723
|
-
:where(.theme-scope)
|
|
67724
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67725
|
-
.er-whole-series-magic-link-title {
|
|
67726
|
-
margin: 0;
|
|
67727
|
-
font-size: 1.25rem;
|
|
67728
|
-
font-weight: 700;
|
|
67729
|
-
}
|
|
67730
|
-
|
|
67731
|
-
:where(.theme-scope)
|
|
67732
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67733
|
-
.er-whole-series-magic-link-success {
|
|
67734
|
-
display: flex;
|
|
67735
|
-
flex-direction: column;
|
|
67736
|
-
gap: 0.75rem;
|
|
67737
|
-
}
|
|
67738
|
-
|
|
67739
|
-
:where(.theme-scope)
|
|
67740
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67741
|
-
.er-whole-series-portal-auth-text {
|
|
67742
|
-
margin: 0;
|
|
67743
|
-
font-size: 0.875rem;
|
|
67744
|
-
opacity: 0.8;
|
|
67745
|
-
}
|
|
67746
|
-
|
|
67747
|
-
:where(.theme-scope)
|
|
67748
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67749
|
-
.er-whole-series-portal-auth-text--success {
|
|
67750
|
-
color: var(--er-success-text);
|
|
67751
|
-
}
|
|
67752
|
-
|
|
67753
|
-
:where(.theme-scope)
|
|
67754
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67755
|
-
.er-whole-series-portal-auth-text--error {
|
|
67756
|
-
color: var(--er-error-text);
|
|
67757
|
-
}
|
|
67758
|
-
|
|
67759
|
-
:where(.theme-scope)
|
|
67760
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67761
|
-
.er-whole-series-modal-btn {
|
|
67762
|
-
border-radius: calc(var(--rb-block-radius) * 0.6);
|
|
67763
|
-
border: 0;
|
|
67764
|
-
padding: 0.6rem 1rem;
|
|
67765
|
-
font-size: 0.875rem;
|
|
67766
|
-
font-weight: 600;
|
|
67767
|
-
cursor: pointer;
|
|
67768
|
-
transition: opacity 0.15s ease;
|
|
67769
|
-
background: rgb(var(--tb-primary));
|
|
67770
|
-
color: rgb(var(--tb-primaryText, 255 255 255));
|
|
67771
|
-
}
|
|
67772
|
-
|
|
67773
|
-
:where(.theme-scope)
|
|
67774
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67775
|
-
.er-whole-series-modal-btn:hover {
|
|
67776
|
-
opacity: 0.9;
|
|
67777
|
-
}
|
|
67778
|
-
|
|
67779
|
-
:where(.theme-scope)
|
|
67780
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67781
|
-
.er-whole-series-modal-btn:disabled {
|
|
67782
|
-
opacity: 0.5;
|
|
67783
|
-
cursor: not-allowed;
|
|
67784
|
-
}
|
|
67785
|
-
|
|
67786
|
-
:where(.theme-scope)
|
|
67787
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67788
|
-
.er-whole-series-modal-btn--secondary {
|
|
67789
|
-
background: transparent;
|
|
67790
|
-
color: var(--er-on-surface);
|
|
67791
|
-
border: 1px solid var(--er-border);
|
|
67792
|
-
}
|
|
67793
|
-
|
|
67794
|
-
:where(.theme-scope)
|
|
67795
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67796
|
-
.er-whole-series-modal-btn--secondary:hover {
|
|
67797
|
-
background: var(--er-on-surface-hover-bg);
|
|
67798
|
-
}
|
|
67799
|
-
|
|
67800
|
-
/* =============================================================================
|
|
67801
|
-
* Utility Classes
|
|
67802
|
-
* =============================================================================
|
|
67803
|
-
*/
|
|
67804
|
-
:where(.theme-scope)
|
|
67805
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67806
|
-
.er-whole-series-text--muted {
|
|
67807
|
-
opacity: 0.7;
|
|
67808
|
-
}
|
|
67809
|
-
|
|
67810
|
-
:where(.theme-scope)
|
|
67811
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67812
|
-
.er-whole-series-text--error {
|
|
67813
|
-
color: var(--er-error-text);
|
|
67814
|
-
}
|
|
67815
|
-
|
|
67816
|
-
:where(.theme-scope)
|
|
67817
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67818
|
-
.er-whole-series-text--success {
|
|
67819
|
-
color: var(--er-success-text);
|
|
67820
|
-
}
|
|
67821
|
-
|
|
67822
|
-
:where(.theme-scope)
|
|
67823
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67824
|
-
.er-whole-series-sr-only {
|
|
67825
|
-
position: absolute;
|
|
67826
|
-
width: 1px;
|
|
67827
|
-
height: 1px;
|
|
67828
|
-
padding: 0;
|
|
67829
|
-
margin: -1px;
|
|
67830
|
-
overflow: hidden;
|
|
67831
|
-
clip: rect(0, 0, 0, 0);
|
|
67832
|
-
white-space: nowrap;
|
|
67833
|
-
border-width: 0;
|
|
67834
|
-
}
|
|
67835
|
-
|
|
67836
|
-
/* Stack utility */
|
|
67837
|
-
:where(.theme-scope)
|
|
67838
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67839
|
-
.er-whole-series-stack {
|
|
67840
|
-
display: flex;
|
|
67841
|
-
flex-direction: column;
|
|
67842
|
-
}
|
|
67843
|
-
|
|
67844
|
-
:where(.theme-scope)
|
|
67845
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67846
|
-
.er-whole-series-stack--gap-sm {
|
|
67847
|
-
gap: 0.5rem;
|
|
67848
|
-
}
|
|
67849
|
-
|
|
67850
|
-
:where(.theme-scope)
|
|
67851
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67852
|
-
.er-whole-series-stack--gap-md {
|
|
67853
|
-
gap: 1rem;
|
|
67854
|
-
}
|
|
67855
|
-
|
|
67856
|
-
:where(.theme-scope)
|
|
67857
|
-
:where([data-block='event-registration'], [data-block='course-registration'])
|
|
67858
|
-
.er-whole-series-stack--gap-lg {
|
|
67859
|
-
gap: 1.5rem;
|
|
67860
|
-
}
|
|
67861
|
-
|
|
67862
|
-
/* =============================================================================
|
|
67863
|
-
* Block: Newsletter Signup
|
|
67864
|
-
* =============================================================================
|
|
67865
|
-
*/
|
|
67866
|
-
|
|
67867
|
-
/* Newsletter copy styling */
|
|
67868
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-title {
|
|
67869
|
-
font-size: 1.5rem;
|
|
67870
|
-
font-weight: 600;
|
|
67871
|
-
}
|
|
67872
|
-
|
|
67873
|
-
:where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
|
|
67874
|
-
font-size: 1rem;
|
|
67875
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
67876
|
-
opacity: 0.85;
|
|
67877
|
-
}
|
|
67878
|
-
|
|
67879
|
-
/* Newsletter form container */
|
|
67880
|
-
:where(.theme-scope) .newsletter-form {
|
|
67881
|
-
width: 100%;
|
|
67882
|
-
max-width: 32rem;
|
|
67883
|
-
margin-left: auto;
|
|
67884
|
-
margin-right: auto;
|
|
67885
|
-
}
|
|
67886
|
-
|
|
67887
|
-
/* Newsletter form fields container */
|
|
67888
|
-
:where(.theme-scope) .newsletter-form-fields {
|
|
67889
|
-
display: flex;
|
|
67890
|
-
flex-direction: column;
|
|
67891
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
67892
|
-
}
|
|
67893
|
-
|
|
67894
|
-
/* Individual field styling */
|
|
67895
|
-
:where(.theme-scope) .newsletter-field {
|
|
67896
|
-
display: flex;
|
|
67897
|
-
flex-direction: column;
|
|
67898
|
-
gap: 0.25rem;
|
|
67899
|
-
}
|
|
67900
|
-
|
|
67901
|
-
/* Required indicator */
|
|
67902
|
-
:where(.theme-scope) .newsletter-required {
|
|
67903
|
-
color: rgb(var(--tb-primary));
|
|
67904
|
-
margin-left: 0.125rem;
|
|
67905
|
-
}
|
|
67906
|
-
|
|
67907
|
-
/* Submit button container */
|
|
67908
|
-
:where(.theme-scope) .newsletter-submit {
|
|
67909
|
-
margin-top: 0.5rem;
|
|
67910
|
-
}
|
|
67911
|
-
|
|
67912
|
-
/* ALTCHA widget container */
|
|
67913
|
-
:where(.theme-scope) .newsletter-altcha {
|
|
67914
|
-
margin-top: 0.75rem;
|
|
67915
|
-
display: flex;
|
|
67916
|
-
justify-content: center;
|
|
67917
|
-
}
|
|
67918
|
-
|
|
67919
|
-
/* Privacy note */
|
|
67920
|
-
:where(.theme-scope) .newsletter-privacy-note {
|
|
67921
|
-
margin-top: 0.75rem;
|
|
67922
|
-
font-size: 1rem;
|
|
67923
|
-
line-height: 1.6;
|
|
67924
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
67925
|
-
text-align: center;
|
|
67926
|
-
}
|
|
67927
|
-
|
|
67928
|
-
/* =============================================================================
|
|
67929
|
-
* Inline Variant - Horizontal layout
|
|
67930
|
-
* =============================================================================
|
|
67931
|
-
*/
|
|
67932
|
-
|
|
67933
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
67934
|
-
flex-direction: row;
|
|
67935
|
-
align-items: flex-end;
|
|
67936
|
-
flex-wrap: wrap;
|
|
67937
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
67938
|
-
}
|
|
67939
|
-
|
|
67940
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
67941
|
-
flex: 1 1 auto;
|
|
67942
|
-
min-width: 10rem;
|
|
67943
|
-
}
|
|
67944
|
-
|
|
67945
|
-
:where(.theme-scope) .newsletter-inline .newsletter-submit {
|
|
67946
|
-
margin-top: 0;
|
|
67947
|
-
flex-shrink: 0;
|
|
67948
|
-
}
|
|
67949
|
-
|
|
67950
|
-
/* Mobile fallback for inline variant */
|
|
67951
|
-
@container rb-site (max-width: 640px) {
|
|
67952
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
67953
|
-
:where(.theme-scope) .newsletter-inline .newsletter-form-fields {
|
|
67954
|
-
flex-direction: column;
|
|
67955
|
-
}
|
|
67956
|
-
|
|
67957
|
-
:where(.theme-scope) .newsletter-inline .newsletter-field {
|
|
67958
|
-
min-width: 100%;
|
|
67959
|
-
}
|
|
67960
|
-
}
|
|
67961
|
-
}
|
|
67962
|
-
|
|
67963
|
-
/* =============================================================================
|
|
67964
|
-
* Editorial Split Variant
|
|
67965
|
-
* =============================================================================
|
|
67966
|
-
*/
|
|
67967
|
-
|
|
67968
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
67969
|
-
display: grid;
|
|
67970
|
-
grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1.1fr);
|
|
67971
|
-
gap: clamp(2.5rem, 7vw, 7rem);
|
|
67972
|
-
align-items: center;
|
|
67973
|
-
text-align: left;
|
|
67974
|
-
}
|
|
67975
|
-
|
|
67976
|
-
:where(.theme-scope) .newsletter-editorial-split-copy {
|
|
67977
|
-
display: flex;
|
|
67978
|
-
flex-direction: column;
|
|
67979
|
-
gap: var(--rb-gap-sm, 0.75rem);
|
|
67980
|
-
}
|
|
67981
|
-
|
|
67982
|
-
:where(.theme-scope) .newsletter-editorial-split-form {
|
|
67983
|
-
min-width: 0;
|
|
67984
|
-
}
|
|
67985
|
-
|
|
67986
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-form {
|
|
67987
|
-
max-width: none;
|
|
67988
|
-
margin-inline: 0;
|
|
67989
|
-
}
|
|
67990
|
-
|
|
67991
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-copy-title {
|
|
67992
|
-
font-size: clamp(2rem, 4vw, 3.5rem);
|
|
67993
|
-
font-weight: 500;
|
|
67994
|
-
}
|
|
67995
|
-
|
|
67996
|
-
:where(.theme-scope) .newsletter-editorial-split .newsletter-privacy-note {
|
|
67997
|
-
text-align: left;
|
|
67998
|
-
}
|
|
67999
|
-
|
|
68000
|
-
@container rb-site (max-width: 767px) {
|
|
68001
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
68002
|
-
:where(.theme-scope) .newsletter-editorial-split {
|
|
68003
|
-
grid-template-columns: minmax(0, 1fr);
|
|
68004
|
-
gap: 2rem;
|
|
68005
|
-
}
|
|
68006
|
-
}
|
|
68007
|
-
}
|
|
68008
|
-
|
|
68009
|
-
/* =============================================================================
|
|
68010
|
-
* Success State
|
|
68011
|
-
* =============================================================================
|
|
68012
|
-
*/
|
|
68013
|
-
|
|
68014
|
-
:where(.theme-scope) .newsletter-success {
|
|
68015
|
-
text-align: center;
|
|
68016
|
-
}
|
|
68017
|
-
|
|
68018
|
-
:where(.theme-scope) .newsletter-success .fb-success {
|
|
68019
|
-
padding: 1rem 1.5rem;
|
|
68020
|
-
background-color: rgba(var(--tb-success, 34 197 94), 0.1);
|
|
68021
|
-
border-radius: var(--radius-md, 0.5rem);
|
|
68022
|
-
color: rgb(var(--tb-text));
|
|
68023
|
-
}
|
|
68024
|
-
|
|
68025
|
-
/* =============================================================================
|
|
68026
|
-
* Block: Contact + Newsletter
|
|
68027
|
-
* =============================================================================
|
|
68028
|
-
*/
|
|
68029
|
-
|
|
68030
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-grid {
|
|
68031
|
-
display: grid;
|
|
68032
|
-
grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
|
|
68033
|
-
gap: clamp(2.5rem, 6vw, 4rem);
|
|
68034
|
-
align-items: start;
|
|
68035
|
-
}
|
|
68036
|
-
|
|
68037
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-column {
|
|
68038
|
-
min-width: 0;
|
|
68039
|
-
}
|
|
68040
|
-
|
|
68041
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-copy {
|
|
68042
|
-
margin-bottom: 1.5rem;
|
|
68043
|
-
}
|
|
68044
|
-
|
|
68045
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-title,
|
|
68046
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-title {
|
|
68047
|
-
margin: 0 0 0.75rem;
|
|
68048
|
-
}
|
|
68049
|
-
|
|
68050
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .form-copy-intro,
|
|
68051
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-copy-subtitle {
|
|
68052
|
-
color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
|
|
68053
|
-
}
|
|
68054
|
-
|
|
68055
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .contact-newsletter-info {
|
|
68056
|
-
display: flex;
|
|
68057
|
-
flex-direction: column;
|
|
68058
|
-
align-items: flex-start;
|
|
68059
|
-
}
|
|
68060
|
-
|
|
68061
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-form {
|
|
68062
|
-
max-width: none;
|
|
68063
|
-
margin-left: 0;
|
|
68064
|
-
margin-right: 0;
|
|
68065
|
-
}
|
|
68066
|
-
|
|
68067
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .newsletter-privacy-note {
|
|
68068
|
-
text-align: left;
|
|
68069
|
-
}
|
|
68070
|
-
|
|
68071
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-form {
|
|
68072
|
-
display: flex;
|
|
68073
|
-
flex-direction: column;
|
|
68074
|
-
gap: 1rem;
|
|
68075
|
-
}
|
|
68076
|
-
|
|
68077
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-row-2 {
|
|
68078
|
-
display: grid;
|
|
68079
|
-
grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
|
|
68080
|
-
gap: 1rem;
|
|
68081
|
-
}
|
|
68082
|
-
|
|
68083
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-field {
|
|
68084
|
-
display: flex;
|
|
68085
|
-
flex-direction: column;
|
|
68086
|
-
gap: 0.25rem;
|
|
68087
|
-
}
|
|
68088
|
-
|
|
68089
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-fieldset {
|
|
68090
|
-
display: flex;
|
|
68091
|
-
flex-direction: column;
|
|
68092
|
-
gap: 0.5rem;
|
|
68093
|
-
border: none;
|
|
68094
|
-
padding: 0;
|
|
68095
|
-
margin: 0;
|
|
68096
|
-
}
|
|
68097
|
-
|
|
68098
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-inline {
|
|
68099
|
-
display: flex;
|
|
68100
|
-
align-items: center;
|
|
68101
|
-
gap: 0.5rem;
|
|
68102
|
-
}
|
|
68103
|
-
|
|
68104
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success,
|
|
68105
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error,
|
|
68106
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
68107
|
-
border-radius: var(--rb-block-radius);
|
|
68108
|
-
padding: 1rem;
|
|
68109
|
-
font-size: 0.875rem;
|
|
68110
|
-
}
|
|
68111
|
-
|
|
68112
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-success {
|
|
68113
|
-
background-color: var(--fb-success-bg);
|
|
68114
|
-
color: var(--fb-success-text);
|
|
68115
|
-
border: 1px solid var(--fb-success-border);
|
|
68116
|
-
}
|
|
68117
|
-
|
|
68118
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-error {
|
|
68119
|
-
background-color: var(--fb-error-bg);
|
|
68120
|
-
color: var(--fb-error-text);
|
|
68121
|
-
border: 1px solid var(--fb-error-border);
|
|
68122
|
-
}
|
|
68123
|
-
|
|
68124
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-empty {
|
|
68125
|
-
background-color: var(--fb-empty-bg);
|
|
68126
|
-
color: var(--fb-empty-text);
|
|
68127
|
-
border: 1px dashed var(--fb-empty-border);
|
|
68128
|
-
text-align: center;
|
|
68129
|
-
}
|
|
68130
|
-
|
|
68131
|
-
:where(.theme-scope) :where([data-block="contact-newsletter"]) .fb-actions {
|
|
68132
|
-
margin-top: 0.5rem;
|
|
68133
|
-
}
|
|
68134
|
-
|
|
68135
|
-
/* =============================================================================
|
|
68136
|
-
* Block: Team Members
|
|
68137
|
-
* =============================================================================
|
|
68138
|
-
*
|
|
68139
|
-
* Site/theme authors sometimes need different thumbnail shapes/sizes without
|
|
68140
|
-
* changing global fragment defaults. We expose these controls on the block and
|
|
68141
|
-
* style them via data attributes on the \`.rb-team-members\` wrapper.
|
|
68142
|
-
*/
|
|
68143
|
-
|
|
68144
|
-
/* Scope all block-static CSS to ThemeScope to avoid leaking into host apps/dashboard. */
|
|
68145
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) {
|
|
68146
|
-
text-align: left;
|
|
68147
|
-
}
|
|
68148
|
-
|
|
68149
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-align="left"]) :where(.rb-team-member) {
|
|
68150
|
-
align-items: flex-start;
|
|
68151
|
-
text-align: left;
|
|
68152
|
-
}
|
|
68153
|
-
|
|
68154
|
-
@container rb-site (min-width: 1024px) {
|
|
68155
|
-
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
68156
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-layout-width="lg-3-4-left"]) {
|
|
68157
|
-
width: 75%;
|
|
68158
|
-
margin-left: 0;
|
|
68159
|
-
margin-right: auto;
|
|
68160
|
-
}
|
|
68161
|
-
}
|
|
68162
|
-
}
|
|
68163
|
-
|
|
68164
|
-
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-photo {
|
|
68165
|
-
display: block;
|
|
68166
|
-
width: 100%;
|
|
68167
|
-
height: auto;
|
|
68168
|
-
}
|
|
68169
|
-
|
|
68170
|
-
:where(.theme-scope) :where([data-block="team-members"]) .rb-team-member-role {
|
|
68171
|
-
font-weight: 600;
|
|
68172
|
-
}
|
|
68173
|
-
|
|
68174
|
-
/* Thumbnail sizing: map \`data-image-col-size\` to a sensible max thumbnail width. */
|
|
68175
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members) {
|
|
68176
|
-
--rb-team-thumb-max: 11.25rem; /* ~180px default */
|
|
68177
|
-
--rb-team-image-basis: 33.333%;
|
|
68178
|
-
}
|
|
68179
|
-
|
|
68180
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/4"]) {
|
|
68181
|
-
--rb-team-thumb-max: 8.75rem; /* ~140px */
|
|
68182
|
-
--rb-team-image-basis: 25%;
|
|
68183
|
-
}
|
|
68184
|
-
|
|
68185
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/3"]) {
|
|
68186
|
-
--rb-team-thumb-max: 11.25rem; /* ~180px */
|
|
68187
|
-
--rb-team-image-basis: 33.333%;
|
|
68188
|
-
}
|
|
68189
|
-
|
|
68190
|
-
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="2/5"]) {
|
|
68191
|
-
--rb-team-thumb-max: 13.75rem; /* ~220px */
|
|
68192
|
-
--rb-team-image-basis: 40%;
|
|
66010
|
+
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="2/5"]) {
|
|
66011
|
+
--rb-team-thumb-max: 13.75rem; /* ~220px */
|
|
66012
|
+
--rb-team-image-basis: 40%;
|
|
68193
66013
|
}
|
|
68194
66014
|
|
|
68195
66015
|
:where(.theme-scope) :where([data-block="team-members"]) :where(.rb-team-members[data-image-col-size="1/2"]) {
|
|
@@ -72248,69 +70068,8 @@ const ACCOUNT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
72248
70068
|
}
|
|
72249
70069
|
});
|
|
72250
70070
|
//#endregion
|
|
72251
|
-
//#region ../api/src/
|
|
72252
|
-
const
|
|
72253
|
-
listCourses: {
|
|
72254
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
72255
|
-
method: "GET",
|
|
72256
|
-
auth: "user",
|
|
72257
|
-
responseKind: "json"
|
|
72258
|
-
},
|
|
72259
|
-
exportCoursesCsv: {
|
|
72260
|
-
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
72261
|
-
method: "GET",
|
|
72262
|
-
tags: [
|
|
72263
|
-
"site-{siteId}",
|
|
72264
|
-
"bookings",
|
|
72265
|
-
"courses-{siteId}"
|
|
72266
|
-
],
|
|
72267
|
-
errors: [],
|
|
72268
|
-
auth: "user",
|
|
72269
|
-
responseKind: "blob"
|
|
72270
|
-
},
|
|
72271
|
-
createCourse: {
|
|
72272
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
72273
|
-
method: "POST",
|
|
72274
|
-
auth: "user",
|
|
72275
|
-
responseKind: "json",
|
|
72276
|
-
errors: [
|
|
72277
|
-
"validation:invalid_input",
|
|
72278
|
-
"resource:not_found",
|
|
72279
|
-
"resource:already_exists",
|
|
72280
|
-
"resource:conflict",
|
|
72281
|
-
"server:internal_error"
|
|
72282
|
-
]
|
|
72283
|
-
},
|
|
72284
|
-
getCourse: {
|
|
72285
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
72286
|
-
method: "GET",
|
|
72287
|
-
auth: "user",
|
|
72288
|
-
responseKind: "json"
|
|
72289
|
-
},
|
|
72290
|
-
updateCourse: {
|
|
72291
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
72292
|
-
method: "PATCH",
|
|
72293
|
-
auth: "user",
|
|
72294
|
-
responseKind: "json",
|
|
72295
|
-
errors: [
|
|
72296
|
-
"validation:invalid_input",
|
|
72297
|
-
"resource:not_found",
|
|
72298
|
-
"resource:conflict",
|
|
72299
|
-
"server:internal_error"
|
|
72300
|
-
]
|
|
72301
|
-
},
|
|
72302
|
-
deleteCourse: {
|
|
72303
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
72304
|
-
method: "DELETE",
|
|
72305
|
-
auth: "user",
|
|
72306
|
-
responseKind: "json",
|
|
72307
|
-
errors: [
|
|
72308
|
-
"validation:invalid_input",
|
|
72309
|
-
"resource:not_found",
|
|
72310
|
-
"resource:conflict",
|
|
72311
|
-
"server:internal_error"
|
|
72312
|
-
]
|
|
72313
|
-
},
|
|
70071
|
+
//#region ../api/src/eventSeriesRegistrationEndpointDefinitions.ts
|
|
70072
|
+
const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
72314
70073
|
deleteEventOffering: {
|
|
72315
70074
|
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}",
|
|
72316
70075
|
method: "DELETE",
|
|
@@ -72323,20 +70082,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
72323
70082
|
"server:internal_error"
|
|
72324
70083
|
]
|
|
72325
70084
|
},
|
|
72326
|
-
|
|
72327
|
-
path: "/sites/{siteId}/bookings/
|
|
72328
|
-
method: "POST",
|
|
72329
|
-
auth: "user",
|
|
72330
|
-
responseKind: "json",
|
|
72331
|
-
errors: [
|
|
72332
|
-
"validation:invalid_input",
|
|
72333
|
-
"resource:not_found",
|
|
72334
|
-
"resource:already_exists",
|
|
72335
|
-
"server:internal_error"
|
|
72336
|
-
]
|
|
72337
|
-
},
|
|
72338
|
-
changeCourseContentOwnership: {
|
|
72339
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/content-ownership",
|
|
70085
|
+
changeEventSeriesContentOwnership: {
|
|
70086
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/content-ownership",
|
|
72340
70087
|
method: "POST",
|
|
72341
70088
|
auth: "user",
|
|
72342
70089
|
responseKind: "json",
|
|
@@ -72347,8 +70094,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
72347
70094
|
"server:internal_error"
|
|
72348
70095
|
]
|
|
72349
70096
|
},
|
|
72350
|
-
|
|
72351
|
-
path: "/sites/{siteId}/bookings/
|
|
70097
|
+
addEventSeriesRegistration: {
|
|
70098
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
72352
70099
|
method: "POST",
|
|
72353
70100
|
auth: "user",
|
|
72354
70101
|
responseKind: "json",
|
|
@@ -72359,33 +70106,21 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
72359
70106
|
"server:internal_error"
|
|
72360
70107
|
]
|
|
72361
70108
|
},
|
|
72362
|
-
|
|
72363
|
-
path: "/sites/{siteId}/bookings/
|
|
70109
|
+
listEventSeriesRegistrations: {
|
|
70110
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
72364
70111
|
method: "GET",
|
|
72365
70112
|
auth: "user",
|
|
72366
70113
|
responseKind: "json"
|
|
72367
70114
|
},
|
|
72368
|
-
|
|
72369
|
-
path: "/sites/{siteId}/bookings/
|
|
70115
|
+
exportEventSeriesRegistrationsCsv: {
|
|
70116
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/export.csv",
|
|
72370
70117
|
method: "GET",
|
|
72371
70118
|
auth: "user",
|
|
72372
70119
|
errors: [],
|
|
72373
70120
|
responseKind: "blob"
|
|
72374
70121
|
},
|
|
72375
|
-
|
|
72376
|
-
path: "/sites/{siteId}/bookings/
|
|
72377
|
-
method: "GET",
|
|
72378
|
-
tags: [
|
|
72379
|
-
"site-{siteId}",
|
|
72380
|
-
"bookings",
|
|
72381
|
-
"courses-{courseId}"
|
|
72382
|
-
],
|
|
72383
|
-
auth: "user",
|
|
72384
|
-
responseKind: "blob",
|
|
72385
|
-
errors: []
|
|
72386
|
-
},
|
|
72387
|
-
updateCourseEnrollment: {
|
|
72388
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
70122
|
+
updateEventSeriesRegistration: {
|
|
70123
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
|
|
72389
70124
|
method: "PATCH",
|
|
72390
70125
|
auth: "user",
|
|
72391
70126
|
responseKind: "json",
|
|
@@ -72773,71 +70508,35 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
72773
70508
|
errors: ["resource:not_found", "server:internal_error"],
|
|
72774
70509
|
auth: "public",
|
|
72775
70510
|
responseKind: "json"
|
|
72776
|
-
}
|
|
72777
|
-
|
|
72778
|
-
|
|
72779
|
-
|
|
72780
|
-
|
|
72781
|
-
|
|
72782
|
-
|
|
72783
|
-
"auth:forbidden",
|
|
72784
|
-
"validation:invalid_input",
|
|
72785
|
-
"resource:not_found",
|
|
72786
|
-
"resource:conflict",
|
|
72787
|
-
"resource:already_exists",
|
|
72788
|
-
"server:internal_error"
|
|
72789
|
-
],
|
|
72790
|
-
auth: "public",
|
|
72791
|
-
responseKind: "json"
|
|
72792
|
-
},
|
|
72793
|
-
checkWholeSeriesEligibility: {
|
|
72794
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/check-eligibility",
|
|
72795
|
-
method: "POST",
|
|
72796
|
-
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
|
|
72797
|
-
errors: [
|
|
72798
|
-
"auth:unauthenticated",
|
|
72799
|
-
"resource:not_found",
|
|
72800
|
-
"resource:conflict",
|
|
72801
|
-
"server:internal_error"
|
|
72802
|
-
],
|
|
72803
|
-
auth: "public",
|
|
72804
|
-
responseKind: "json"
|
|
72805
|
-
},
|
|
72806
|
-
createWholeSeriesCheckout: {
|
|
72807
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/checkout",
|
|
70511
|
+
}
|
|
70512
|
+
});
|
|
70513
|
+
//#endregion
|
|
70514
|
+
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
70515
|
+
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
70516
|
+
getPublicEventRegistrationOptions: {
|
|
70517
|
+
path: "/public/sites/{siteId}/events/registration-options",
|
|
72808
70518
|
method: "POST",
|
|
72809
|
-
tags: [TAG_TEMPLATES.
|
|
70519
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration-options"],
|
|
72810
70520
|
auth: "public",
|
|
72811
70521
|
responseKind: "json",
|
|
72812
70522
|
errors: [
|
|
72813
|
-
"auth:unauthenticated",
|
|
72814
70523
|
"validation:invalid_input",
|
|
72815
70524
|
"resource:not_found",
|
|
72816
70525
|
"resource:conflict",
|
|
72817
70526
|
"server:internal_error"
|
|
72818
70527
|
]
|
|
72819
70528
|
},
|
|
72820
|
-
|
|
72821
|
-
path: "/public/sites/{siteId}/
|
|
70529
|
+
resolveEventSubroute: {
|
|
70530
|
+
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
72822
70531
|
method: "GET",
|
|
72823
|
-
|
|
72824
|
-
|
|
70532
|
+
revalidate: 60,
|
|
70533
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
72825
70534
|
auth: "public",
|
|
72826
|
-
responseKind: "json"
|
|
70535
|
+
responseKind: "json",
|
|
70536
|
+
errors: []
|
|
72827
70537
|
}
|
|
72828
70538
|
});
|
|
72829
70539
|
//#endregion
|
|
72830
|
-
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
72831
|
-
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ resolveEventSubroute: {
|
|
72832
|
-
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
72833
|
-
method: "GET",
|
|
72834
|
-
revalidate: 60,
|
|
72835
|
-
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
72836
|
-
auth: "public",
|
|
72837
|
-
responseKind: "json",
|
|
72838
|
-
errors: []
|
|
72839
|
-
} });
|
|
72840
|
-
//#endregion
|
|
72841
70540
|
//#region ../api/src/siteApiKeyEndpointDefinitions.ts
|
|
72842
70541
|
const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
72843
70542
|
listSiteApiKeys: {
|
|
@@ -73205,7 +70904,7 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
73205
70904
|
}), 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, {
|
|
73206
70905
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
73207
70906
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
73208
|
-
...
|
|
70907
|
+
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
|
|
73209
70908
|
}, 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 };
|
|
73210
70909
|
z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
|
|
73211
70910
|
z.object({
|
|
@@ -73327,7 +71026,7 @@ const internalLinkPayloadSchema = z.object({
|
|
|
73327
71026
|
kind: z.literal("internal"),
|
|
73328
71027
|
routeId: z.string().uuid(),
|
|
73329
71028
|
entityId: z.string().uuid(),
|
|
73330
|
-
entityType: z.enum(
|
|
71029
|
+
entityType: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
73331
71030
|
href: z.string().min(1),
|
|
73332
71031
|
title: z.string().min(1),
|
|
73333
71032
|
typeLabel: z.string().min(1),
|
|
@@ -74246,6 +71945,68 @@ function parsePublicProductCategorySelector(value) {
|
|
|
74246
71945
|
};
|
|
74247
71946
|
}
|
|
74248
71947
|
//#endregion
|
|
71948
|
+
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
71949
|
+
const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
71950
|
+
const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
|
|
71951
|
+
z.object({
|
|
71952
|
+
kind: z.literal("deposit_plus_one_remainder"),
|
|
71953
|
+
depositAmountCents: z.number().int().nonnegative(),
|
|
71954
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
71955
|
+
remainderDueCount: z.number().int().positive(),
|
|
71956
|
+
intervalUnit: z.enum([
|
|
71957
|
+
"day",
|
|
71958
|
+
"week",
|
|
71959
|
+
"month"
|
|
71960
|
+
])
|
|
71961
|
+
}),
|
|
71962
|
+
z.object({
|
|
71963
|
+
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
71964
|
+
depositAmountCents: z.number().int().nonnegative(),
|
|
71965
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
71966
|
+
instalmentCount: z.number().int().positive(),
|
|
71967
|
+
intervalCount: z.number().int().positive(),
|
|
71968
|
+
intervalUnit: z.enum([
|
|
71969
|
+
"day",
|
|
71970
|
+
"week",
|
|
71971
|
+
"month"
|
|
71972
|
+
])
|
|
71973
|
+
}),
|
|
71974
|
+
z.object({
|
|
71975
|
+
kind: z.literal("equal_scheduled_instalments"),
|
|
71976
|
+
instalmentCount: z.number().int().positive(),
|
|
71977
|
+
intervalCount: z.number().int().positive(),
|
|
71978
|
+
intervalUnit: z.enum([
|
|
71979
|
+
"day",
|
|
71980
|
+
"week",
|
|
71981
|
+
"month"
|
|
71982
|
+
])
|
|
71983
|
+
})
|
|
71984
|
+
]);
|
|
71985
|
+
const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
|
|
71986
|
+
kind: z.literal("relative_to_start_date"),
|
|
71987
|
+
daysBeforeStart: z.number().int().positive()
|
|
71988
|
+
}), z.object({
|
|
71989
|
+
kind: z.literal("fixed_calendar_date"),
|
|
71990
|
+
dueAt: z.string().datetime()
|
|
71991
|
+
})]);
|
|
71992
|
+
const bookingFlexibleBalanceConfigSchema = z.object({
|
|
71993
|
+
upfrontAmountCents: z.number().int().nonnegative(),
|
|
71994
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
71995
|
+
depositRefundability: bookingDepositRefundPolicySchema
|
|
71996
|
+
});
|
|
71997
|
+
z.discriminatedUnion("kind", [
|
|
71998
|
+
z.object({ kind: z.literal("upfront") }),
|
|
71999
|
+
z.object({ kind: z.literal("deferred_manual") }),
|
|
72000
|
+
z.object({
|
|
72001
|
+
kind: z.literal("instalment_plan"),
|
|
72002
|
+
plan: bookingInstalmentPlanSchema
|
|
72003
|
+
}),
|
|
72004
|
+
z.object({
|
|
72005
|
+
kind: z.literal("flexible_balance"),
|
|
72006
|
+
config: bookingFlexibleBalanceConfigSchema
|
|
72007
|
+
})
|
|
72008
|
+
]);
|
|
72009
|
+
//#endregion
|
|
74249
72010
|
//#region ../api/src/aiPlayground.ts
|
|
74250
72011
|
/**
|
|
74251
72012
|
* RFC-6902 JSON Patch Operations
|