@riverbankcms/sdk 0.134.0 → 0.135.1
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 +4 -3
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-DfRhJPFQ.mjs → PreviewEditorSidebar-D4p_5TdY.mjs} +4 -4
- package/dist/{PreviewEditorUI-Dppxcr_g.mjs → PreviewEditorUI-D0cRoTX1.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-8CyGCXir.mjs → SdkPreviewModeRuntime-BKLtM3Nz.mjs} +5 -5
- package/dist/{SiteChromeCustomizeContext-DVMTMvqA.mjs → SiteChromeCustomizeContext-61X2m7QV.mjs} +4105 -8035
- package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +15 -15
- 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 -161
- 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 +5 -9
- 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/endpoints.d.ts +29 -109
- 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/participantMessaging.d.ts +2 -2
- 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 +85 -5
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +1 -1
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +9 -100
- 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 +1 -1
- package/dist/_dts/api/src/siteOperations.d.ts +2 -2
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/api/src/{courses.d.ts → wholeSeriesOfferings.d.ts} +43 -95
- package/dist/_dts/blocks/src/client.d.ts +0 -5
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +5 -94
- 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/system/blocks/event-registration.d.ts +147 -42
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +35 -10
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +3 -3
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- 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/core.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +99 -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/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/nodes/event-details/WholeSeriesPricingDisplay.d.ts +8 -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/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 +20 -5
- 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/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 +16 -6
- 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/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 +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/utils/checkoutUrls.d.ts +2 -2
- 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/metadataConfig.d.ts +0 -1
- package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -68
- 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/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 +890 -2154
- package/dist/_dts/sdk/src/bookings/index.d.ts +4 -5
- package/dist/_dts/sdk/src/bookings/types.d.ts +34 -4
- 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/blocks/vars/index.d.ts +0 -2
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- 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/client/{usePolling-UN4WKnaM.mjs → BookingConsentAgreement-Bz9znbpn.mjs} +180 -4
- package/dist/client/{DiscountCodeDisclosure-CfuPOHD0.mjs → DiscountCodeDisclosure-35Ru8yB9.mjs} +13 -27
- package/dist/client/{EventCombined.client-DB8Qfzi-.mjs → EventCombined.client-BKB0ZxRR.mjs} +3 -3
- package/dist/client/{EventListing.client-DD4X8hp4.mjs → EventListing.client-Dx8I21ok.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-QhgIBQbv.mjs → LeafletStaticMap-CEWx-Bhe.mjs} +1 -1
- package/dist/client/{accordion-DFXpLvwg.mjs → accordion-KIDsKTwS.mjs} +1 -1
- package/dist/client/{bookingForm-sI05d3lk.mjs → bookingForm-D96Rmp-5.mjs} +6 -7
- package/dist/client/bookings.mjs +913 -1906
- package/dist/client/{carousel-wjyWTZCh.mjs → carousel-YwUgyL66.mjs} +1 -1
- package/dist/client/{cart-DCwdpA4i.mjs → cart-BbwuNrUT.mjs} +3 -3
- package/dist/client/{checkout-DTDW3l0R.mjs → checkout-hp1ucmEY.mjs} +3 -3
- package/dist/client/{checkoutUrls-DQYC_Br-.mjs → checkoutUrls-BuseL0dw.mjs} +4 -2
- package/dist/client/client.mjs +5109 -9333
- package/dist/client/{context-TSK1CGx8.mjs → context-DljQn8L5.mjs} +15 -69
- package/dist/client/{eventCalendar-B0Zg-i_w.mjs → eventCalendar-DU4iNLpo.mjs} +5 -5
- package/dist/client/{eventCombined-B8Y2wizd.mjs → eventCombined-CZuupW8m.mjs} +3 -3
- package/dist/client/{eventDetails-DPDOwURJ.mjs → eventDetails-DPQWwCIi.mjs} +8 -8
- package/dist/client/{eventListing-CjBcmSLn.mjs → eventListing-C7oMidwS.mjs} +3 -3
- package/dist/client/{eventRegistration-CK30HsAq.mjs → eventRegistration-zEiunlUs.mjs} +4522 -3690
- package/dist/client/{form-CUXfsABE.mjs → form-D2KIyCVJ.mjs} +2 -2
- package/dist/client/{headerSection-N-mN3rjr.mjs → headerSection-CK5uChUK.mjs} +2 -2
- package/dist/client/hooks.mjs +459 -714
- package/dist/client/{locationMap-oiIDQMBt.mjs → locationMap-DLQNH1ln.mjs} +2 -2
- package/dist/client/{newsletterForm-CkQ2tTrM.mjs → newsletterForm-ZuhIG7fZ.mjs} +2 -2
- package/dist/client/{productDetail-CnidyrsN.mjs → productDetail-7hIcGeae.mjs} +3 -3
- package/dist/client/{productList-CttYcS_S.mjs → productList-T4Cii1ot.mjs} +3 -3
- package/dist/client/{propsDecoder-CeUMxI9a.mjs → propsDecoder-mB0aC_Fi.mjs} +4702 -4458
- package/dist/client/rendering/client.mjs +59617 -62260
- package/dist/client/rendering/islands.mjs +17 -19
- package/dist/client/rendering.mjs +5389 -9707
- package/dist/client/{scrollToBlock-lPr1oqxB.mjs → scrollToBlock-Du5mHgvL.mjs} +2 -2
- package/dist/client/{shop-DXQtMo2O.mjs → shop-B5zAcKZn.mjs} +6 -6
- package/dist/client/{shop-commerce-quDL411J.mjs → shop-commerce-BKBZB6l5.mjs} +6 -6
- package/dist/client/{shop-commerce-store-Dnu-8Iub.mjs → shop-commerce-store-Cq4qlNtQ.mjs} +1 -1
- package/dist/client/{shopShared-BWPUURvG.mjs → shopShared-DYGzEs9D.mjs} +3 -3
- package/dist/client/{useEventFilters-DRhWp2_5.mjs → useEventFilters-Bphkda8m.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-Ca5RD78X.mjs → sdk-runtime-BbIC8G4J.mjs} +2 -2
- package/dist/{separator-CMhj6BTi.mjs → separator-CadhAtI7.mjs} +1 -1
- package/dist/server/components.mjs +558 -2962
- package/dist/server/config-validation.mjs +459 -714
- package/dist/server/config.mjs +459 -714
- package/dist/server/data.mjs +459 -714
- package/dist/server/index.mjs +41 -162
- package/dist/server/next.mjs +572 -2976
- package/dist/server/page-converter.mjs +360 -582
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +569 -2879
- package/dist/server/rendering.mjs +558 -2962
- package/dist/server/routing.mjs +603 -1087
- package/dist/server/server.mjs +473 -728
- package/dist/server/theme-bridge.mjs +41 -1524
- package/dist/styles/index.css +41 -1348
- package/package.json +1 -1
- 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 -135
- 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 -46
- 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 -325
- 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/BookingConsentAgreement-BxgpGEFD.mjs +0 -160
- package/dist/client/WholeSeriesRegistrationWizard-DwtC7bCs.mjs +0 -2546
- package/dist/client/courseRegistration-A-Tg7qw_.mjs +0 -52
- package/dist/client/pricing-Caa0QWzh.mjs +0 -195
|
@@ -6659,7 +6659,7 @@ defineBlockAppearancePreset({
|
|
|
6659
6659
|
id: "schedule-details-brand-depth",
|
|
6660
6660
|
target: "events",
|
|
6661
6661
|
label: "Brand-depth schedule details",
|
|
6662
|
-
blockKinds: ["block.event-details"
|
|
6662
|
+
blockKinds: ["block.event-details"],
|
|
6663
6663
|
design: {
|
|
6664
6664
|
sectionSurface: "brand-depth-band",
|
|
6665
6665
|
contentFrame: plainFrame,
|
|
@@ -10950,14 +10950,14 @@ function publicEventPricingType(pricing) {
|
|
|
10950
10950
|
case "single_paid":
|
|
10951
10951
|
case "ticket_types":
|
|
10952
10952
|
case "sliding_scale":
|
|
10953
|
-
case "
|
|
10953
|
+
case "whole_series": return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
10954
10954
|
case "external": return "external";
|
|
10955
10955
|
}
|
|
10956
10956
|
}
|
|
10957
10957
|
function isFreePublicEventPriceDisplay(display) {
|
|
10958
10958
|
switch (display.kind) {
|
|
10959
10959
|
case "free": return true;
|
|
10960
|
-
case "
|
|
10960
|
+
case "whole_series": return display.display.kind === "free";
|
|
10961
10961
|
case "exact":
|
|
10962
10962
|
case "from":
|
|
10963
10963
|
case "range":
|
|
@@ -11198,6 +11198,25 @@ function parseNewsletterSignupDestinationProvider(value) {
|
|
|
11198
11198
|
return value === "riverbank" || value === "mailchimp" ? value : null;
|
|
11199
11199
|
}
|
|
11200
11200
|
//#endregion
|
|
11201
|
+
//#region ../core/src/planner.ts
|
|
11202
|
+
/** Default clock for production callers that do not inject time explicitly. */
|
|
11203
|
+
const systemPlanningClock = { now: () => Date.now() };
|
|
11204
|
+
/** Resolve current time as a Date from an explicit Date, injected clock, or system clock. */
|
|
11205
|
+
function resolvePlanningNowDate(input = {}) {
|
|
11206
|
+
if (input.now !== void 0) return input.now;
|
|
11207
|
+
return new Date((input.clock ?? systemPlanningClock).now());
|
|
11208
|
+
}
|
|
11209
|
+
/**
|
|
11210
|
+
* Resolve a Date-compatible planner input.
|
|
11211
|
+
*
|
|
11212
|
+
* Precedence: bare Date, `{ now }`, `{ clock }`, then `systemPlanningClock`.
|
|
11213
|
+
* Explicit Date inputs are returned by reference, not cloned.
|
|
11214
|
+
*/
|
|
11215
|
+
function resolvePlanningDateInput(input = {}) {
|
|
11216
|
+
if (input instanceof Date) return input;
|
|
11217
|
+
return resolvePlanningNowDate(input);
|
|
11218
|
+
}
|
|
11219
|
+
//#endregion
|
|
11201
11220
|
//#region ../core/src/event-series-behaviour.ts
|
|
11202
11221
|
const SURFACE_EVENT_PRESET_VALUES = [
|
|
11203
11222
|
"class",
|
|
@@ -13033,7 +13052,6 @@ const productDetail = (props, children, ...mods) => el("product-detail", props,
|
|
|
13033
13052
|
const cart = (props, children, ...mods) => el("cart", props, children, ...mods);
|
|
13034
13053
|
const checkout = (props, children, ...mods) => el("checkout", props, children, ...mods);
|
|
13035
13054
|
const gifting = (props, children, ...mods) => el("gifting", props, children, ...mods);
|
|
13036
|
-
const courseRegistration = (props, children, ...mods) => el("course-registration", props, children, ...mods);
|
|
13037
13055
|
function bind(from, options) {
|
|
13038
13056
|
return (node) => ({
|
|
13039
13057
|
...node,
|
|
@@ -21089,6 +21107,164 @@ const bookingRequirementConsentFieldSchema = z.object({
|
|
|
21089
21107
|
});
|
|
21090
21108
|
z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
21091
21109
|
//#endregion
|
|
21110
|
+
//#region ../blocks/src/system/blocks/events/whole-series/pricing.ts
|
|
21111
|
+
function isSaleWindowOpen(option, now) {
|
|
21112
|
+
if (!option.isActive) return false;
|
|
21113
|
+
if (option.saleStartsAt && new Date(option.saleStartsAt) > now) return false;
|
|
21114
|
+
if (option.saleEndsAt && new Date(option.saleEndsAt) < now) return false;
|
|
21115
|
+
return true;
|
|
21116
|
+
}
|
|
21117
|
+
function toExactOrFreeDisplay(amount, currency) {
|
|
21118
|
+
if (amount <= 0) return {
|
|
21119
|
+
kind: "free",
|
|
21120
|
+
currency
|
|
21121
|
+
};
|
|
21122
|
+
return {
|
|
21123
|
+
kind: "exact",
|
|
21124
|
+
amount,
|
|
21125
|
+
currency
|
|
21126
|
+
};
|
|
21127
|
+
}
|
|
21128
|
+
function getSelectableWholeSeriesPricingOptionsForNow(offering, now) {
|
|
21129
|
+
if (offering.pricing.pricingStrategy !== "tiered") return [];
|
|
21130
|
+
return [...offering.pricing.options].filter((option) => isSaleWindowOpen(option, now)).sort((left, right) => {
|
|
21131
|
+
if (left.sortOrder !== right.sortOrder) return left.sortOrder - right.sortOrder;
|
|
21132
|
+
if (left.priceAmount !== right.priceAmount) return left.priceAmount - right.priceAmount;
|
|
21133
|
+
return left.name.localeCompare(right.name);
|
|
21134
|
+
});
|
|
21135
|
+
}
|
|
21136
|
+
function resolveWholeSeriesPricingState(offering, selectedPricingOptionId, selectedSlidingAmountOrNowInput, nowInput = {}) {
|
|
21137
|
+
const selection = normalizePricingSelectionInput(selectedSlidingAmountOrNowInput, nowInput);
|
|
21138
|
+
const currency = offering.pricing.currency;
|
|
21139
|
+
switch (offering.pricing.pricingStrategy) {
|
|
21140
|
+
case "free": return resolveFreePricing(currency);
|
|
21141
|
+
case "single": return resolveSinglePricing(offering.pricing.singlePriceAmount ?? 0, currency);
|
|
21142
|
+
case "tiered": return resolveTieredPricing(offering, selectedPricingOptionId, selection.nowInput);
|
|
21143
|
+
case "sliding_scale": return resolveSlidingScalePricing(offering, selection.selectedSlidingAmount);
|
|
21144
|
+
}
|
|
21145
|
+
}
|
|
21146
|
+
function normalizePricingSelectionInput(selectedSlidingAmountOrNowInput, nowInput) {
|
|
21147
|
+
return typeof selectedSlidingAmountOrNowInput === "object" && selectedSlidingAmountOrNowInput !== null ? {
|
|
21148
|
+
selectedSlidingAmount: null,
|
|
21149
|
+
nowInput: selectedSlidingAmountOrNowInput
|
|
21150
|
+
} : {
|
|
21151
|
+
selectedSlidingAmount: typeof selectedSlidingAmountOrNowInput === "number" || selectedSlidingAmountOrNowInput === null ? selectedSlidingAmountOrNowInput : null,
|
|
21152
|
+
nowInput
|
|
21153
|
+
};
|
|
21154
|
+
}
|
|
21155
|
+
function resolveFreePricing(currency) {
|
|
21156
|
+
return {
|
|
21157
|
+
currency,
|
|
21158
|
+
display: {
|
|
21159
|
+
kind: "free",
|
|
21160
|
+
currency
|
|
21161
|
+
},
|
|
21162
|
+
selectableOptions: [],
|
|
21163
|
+
requiresSelection: false,
|
|
21164
|
+
selectedOption: null,
|
|
21165
|
+
slidingScale: null,
|
|
21166
|
+
selectedSlidingAmount: null,
|
|
21167
|
+
selectedPriceAmount: 0,
|
|
21168
|
+
selectedRequiresPayment: false,
|
|
21169
|
+
hasPaidSelection: false,
|
|
21170
|
+
hasFreeSelection: true
|
|
21171
|
+
};
|
|
21172
|
+
}
|
|
21173
|
+
function resolveSinglePricing(amount, currency) {
|
|
21174
|
+
return {
|
|
21175
|
+
currency,
|
|
21176
|
+
display: toExactOrFreeDisplay(amount, currency),
|
|
21177
|
+
selectableOptions: [],
|
|
21178
|
+
requiresSelection: false,
|
|
21179
|
+
selectedOption: null,
|
|
21180
|
+
slidingScale: null,
|
|
21181
|
+
selectedSlidingAmount: null,
|
|
21182
|
+
selectedPriceAmount: amount,
|
|
21183
|
+
selectedRequiresPayment: amount > 0,
|
|
21184
|
+
hasPaidSelection: amount > 0,
|
|
21185
|
+
hasFreeSelection: amount <= 0
|
|
21186
|
+
};
|
|
21187
|
+
}
|
|
21188
|
+
function resolveTieredPricing(offering, selectedPricingOptionId, nowInput) {
|
|
21189
|
+
const currency = offering.pricing.currency;
|
|
21190
|
+
const selectableOptions = getSelectableWholeSeriesPricingOptionsForNow(offering, resolvePlanningDateInput(nowInput));
|
|
21191
|
+
const selectedOption = resolveSelectedTier(selectableOptions, selectedPricingOptionId);
|
|
21192
|
+
return {
|
|
21193
|
+
currency,
|
|
21194
|
+
display: resolveTieredDisplay(selectableOptions.reduce((lowest, option) => lowest === null || option.priceAmount < lowest ? option.priceAmount : lowest, null), selectableOptions.length, currency),
|
|
21195
|
+
selectableOptions,
|
|
21196
|
+
requiresSelection: selectableOptions.length > 1,
|
|
21197
|
+
selectedOption,
|
|
21198
|
+
slidingScale: null,
|
|
21199
|
+
selectedSlidingAmount: null,
|
|
21200
|
+
selectedPriceAmount: selectedOption?.priceAmount ?? null,
|
|
21201
|
+
selectedRequiresPayment: (selectedOption?.priceAmount ?? 0) > 0,
|
|
21202
|
+
hasPaidSelection: selectableOptions.some((option) => option.priceAmount > 0),
|
|
21203
|
+
hasFreeSelection: selectableOptions.some((option) => option.priceAmount === 0)
|
|
21204
|
+
};
|
|
21205
|
+
}
|
|
21206
|
+
function resolveSelectedTier(options, selectedId) {
|
|
21207
|
+
return (selectedId ? options.find((option) => option.id === selectedId) : null) ?? (options.length === 1 ? options[0] ?? null : null);
|
|
21208
|
+
}
|
|
21209
|
+
function resolveTieredDisplay(lowestAmount, optionCount, currency) {
|
|
21210
|
+
if (lowestAmount === null) return {
|
|
21211
|
+
kind: "unavailable",
|
|
21212
|
+
currency
|
|
21213
|
+
};
|
|
21214
|
+
return optionCount > 1 && lowestAmount > 0 ? {
|
|
21215
|
+
kind: "from",
|
|
21216
|
+
amount: lowestAmount,
|
|
21217
|
+
currency
|
|
21218
|
+
} : toExactOrFreeDisplay(lowestAmount, currency);
|
|
21219
|
+
}
|
|
21220
|
+
function resolveSlidingScalePricing(offering, selectedSlidingAmount) {
|
|
21221
|
+
const currency = offering.pricing.currency;
|
|
21222
|
+
const minAmount = offering.pricing.slidingMinAmount ?? null;
|
|
21223
|
+
const maxAmount = offering.pricing.slidingMaxAmount ?? null;
|
|
21224
|
+
if (minAmount === null || maxAmount === null || minAmount < 0 || maxAmount < minAmount) return unavailableSlidingScale(currency);
|
|
21225
|
+
const selectedAmount = Number.isFinite(selectedSlidingAmount) ? selectedSlidingAmount : null;
|
|
21226
|
+
return {
|
|
21227
|
+
currency,
|
|
21228
|
+
display: {
|
|
21229
|
+
kind: "range",
|
|
21230
|
+
minAmount,
|
|
21231
|
+
maxAmount,
|
|
21232
|
+
currency
|
|
21233
|
+
},
|
|
21234
|
+
selectableOptions: [],
|
|
21235
|
+
requiresSelection: selectedAmount === null,
|
|
21236
|
+
selectedOption: null,
|
|
21237
|
+
slidingScale: {
|
|
21238
|
+
minAmount,
|
|
21239
|
+
maxAmount,
|
|
21240
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null
|
|
21241
|
+
},
|
|
21242
|
+
selectedSlidingAmount: selectedAmount,
|
|
21243
|
+
selectedPriceAmount: selectedAmount,
|
|
21244
|
+
selectedRequiresPayment: (selectedAmount ?? 0) > 0,
|
|
21245
|
+
hasPaidSelection: maxAmount > 0,
|
|
21246
|
+
hasFreeSelection: minAmount === 0
|
|
21247
|
+
};
|
|
21248
|
+
}
|
|
21249
|
+
function unavailableSlidingScale(currency) {
|
|
21250
|
+
return {
|
|
21251
|
+
currency,
|
|
21252
|
+
display: {
|
|
21253
|
+
kind: "unavailable",
|
|
21254
|
+
currency
|
|
21255
|
+
},
|
|
21256
|
+
selectableOptions: [],
|
|
21257
|
+
requiresSelection: true,
|
|
21258
|
+
selectedOption: null,
|
|
21259
|
+
slidingScale: null,
|
|
21260
|
+
selectedSlidingAmount: null,
|
|
21261
|
+
selectedPriceAmount: null,
|
|
21262
|
+
selectedRequiresPayment: false,
|
|
21263
|
+
hasPaidSelection: false,
|
|
21264
|
+
hasFreeSelection: false
|
|
21265
|
+
};
|
|
21266
|
+
}
|
|
21267
|
+
//#endregion
|
|
21092
21268
|
//#region ../blocks/src/system/blocks/events/whole-series/schemas.ts
|
|
21093
21269
|
const wholeSeriesVenueSchema = z.object({
|
|
21094
21270
|
id: z.string(),
|
|
@@ -21148,6 +21324,13 @@ const publicWholeSeriesOfferingSchema = z.object({
|
|
|
21148
21324
|
title: z.string(),
|
|
21149
21325
|
slug: z.string(),
|
|
21150
21326
|
description: z.unknown().nullable(),
|
|
21327
|
+
deliveryMode: z.enum([
|
|
21328
|
+
"in_person",
|
|
21329
|
+
"online",
|
|
21330
|
+
"hybrid"
|
|
21331
|
+
]),
|
|
21332
|
+
waitlistEnabled: z.boolean(),
|
|
21333
|
+
requireGuestDetails: z.boolean(),
|
|
21151
21334
|
teamMembers: z.array(wholeSeriesTeamMemberSummarySchema).optional(),
|
|
21152
21335
|
enrollmentOpen: z.boolean(),
|
|
21153
21336
|
pricing: wholeSeriesPricingSchema,
|
|
@@ -21263,10 +21446,11 @@ const mixedPriceDisplaySchema = z.object({
|
|
|
21263
21446
|
paidToAmount: z.number(),
|
|
21264
21447
|
currency: z.string()
|
|
21265
21448
|
});
|
|
21266
|
-
const
|
|
21449
|
+
const publicWholeSeriesPriceDisplaySchema = z.discriminatedUnion("kind", [
|
|
21267
21450
|
freePriceDisplaySchema,
|
|
21268
21451
|
exactPriceDisplaySchema,
|
|
21269
21452
|
fromPriceDisplaySchema,
|
|
21453
|
+
rangePriceDisplaySchema,
|
|
21270
21454
|
unavailablePriceDisplaySchema
|
|
21271
21455
|
]);
|
|
21272
21456
|
z.discriminatedUnion("kind", [
|
|
@@ -21281,8 +21465,8 @@ z.discriminatedUnion("kind", [
|
|
|
21281
21465
|
label: z.string()
|
|
21282
21466
|
}),
|
|
21283
21467
|
z.object({
|
|
21284
|
-
kind: z.literal("
|
|
21285
|
-
display:
|
|
21468
|
+
kind: z.literal("whole_series"),
|
|
21469
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
21286
21470
|
})
|
|
21287
21471
|
]);
|
|
21288
21472
|
const publicEventTicketTypePriceDisplaySchema = z.union([
|
|
@@ -21384,10 +21568,10 @@ const publicEventPricingSchema = z.discriminatedUnion("kind", [
|
|
|
21384
21568
|
})
|
|
21385
21569
|
}),
|
|
21386
21570
|
z.object({
|
|
21387
|
-
kind: z.literal("
|
|
21571
|
+
kind: z.literal("whole_series"),
|
|
21388
21572
|
display: z.object({
|
|
21389
|
-
kind: z.literal("
|
|
21390
|
-
display:
|
|
21573
|
+
kind: z.literal("whole_series"),
|
|
21574
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
21391
21575
|
})
|
|
21392
21576
|
}),
|
|
21393
21577
|
z.object({
|
|
@@ -21804,7 +21988,8 @@ function resolveEventRegistrationScope(context) {
|
|
|
21804
21988
|
};
|
|
21805
21989
|
return { kind: "unscoped" };
|
|
21806
21990
|
}
|
|
21807
|
-
function
|
|
21991
|
+
function resolveEventRegistrationScopedEvents(events, context) {
|
|
21992
|
+
const scope = resolveEventRegistrationScope(context);
|
|
21808
21993
|
switch (scope.kind) {
|
|
21809
21994
|
case "occurrenceSeries":
|
|
21810
21995
|
case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
|
|
@@ -21816,9 +22001,6 @@ function applyEventRegistrationScope(events, scope) {
|
|
|
21816
22001
|
case "unscoped": return [...events];
|
|
21817
22002
|
}
|
|
21818
22003
|
}
|
|
21819
|
-
function resolveEventRegistrationScopedEvents(events, context) {
|
|
21820
|
-
return applyEventRegistrationScope(events, resolveEventRegistrationScope(context));
|
|
21821
|
-
}
|
|
21822
22004
|
//#endregion
|
|
21823
22005
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationSurface.ts
|
|
21824
22006
|
function planEventRegistrationScope(input) {
|
|
@@ -21912,14 +22094,14 @@ function isRecord$4(value) {
|
|
|
21912
22094
|
}
|
|
21913
22095
|
function isPublicEventPricing(value) {
|
|
21914
22096
|
if (!isRecord$4(value) || typeof value.kind !== "string") return false;
|
|
21915
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "
|
|
22097
|
+
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";
|
|
21916
22098
|
}
|
|
21917
22099
|
function isPublicEventTicketType(value) {
|
|
21918
22100
|
return isRecord$4(value) && typeof value.id === "string";
|
|
21919
22101
|
}
|
|
21920
22102
|
function readTicketTypePriceDisplay(value, currency) {
|
|
21921
22103
|
const display = readLegacyPriceDisplay(value, currency);
|
|
21922
|
-
return display.kind === "
|
|
22104
|
+
return display.kind === "whole_series" || display.kind === "external" ? {
|
|
21923
22105
|
kind: "unavailable",
|
|
21924
22106
|
currency
|
|
21925
22107
|
} : display;
|
|
@@ -21977,11 +22159,11 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
21977
22159
|
kind: "unavailable",
|
|
21978
22160
|
currency: displayCurrency
|
|
21979
22161
|
};
|
|
21980
|
-
case "
|
|
21981
|
-
kind: "
|
|
22162
|
+
case "whole_series": return isRecord$4(value.display) ? {
|
|
22163
|
+
kind: "whole_series",
|
|
21982
22164
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
21983
22165
|
} : {
|
|
21984
|
-
kind: "
|
|
22166
|
+
kind: "whole_series",
|
|
21985
22167
|
display: {
|
|
21986
22168
|
kind: "unavailable",
|
|
21987
22169
|
currency: displayCurrency
|
|
@@ -22107,7 +22289,7 @@ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
|
22107
22289
|
//#endregion
|
|
22108
22290
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
22109
22291
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
22110
|
-
return event.
|
|
22292
|
+
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
22111
22293
|
}
|
|
22112
22294
|
function findPreSelectedEvent(input) {
|
|
22113
22295
|
const occurrenceContext = input.occurrenceContext;
|
|
@@ -22133,12 +22315,127 @@ function toRegistrationEvent(event) {
|
|
|
22133
22315
|
return {
|
|
22134
22316
|
...event,
|
|
22135
22317
|
pricing: resolveRuntimeEventPricing(event),
|
|
22136
|
-
|
|
22137
|
-
|
|
22318
|
+
selectionId: event.id,
|
|
22319
|
+
registrationSubject: {
|
|
22320
|
+
kind: "occurrence",
|
|
22321
|
+
occurrenceId: event.occurrenceId
|
|
22322
|
+
}
|
|
22138
22323
|
};
|
|
22139
22324
|
}
|
|
22140
22325
|
function toRegistrationEvents(events) {
|
|
22141
|
-
return events.map(toRegistrationEvent);
|
|
22326
|
+
return events.filter((event) => event.bookingScope === "single_occurrence").map(toRegistrationEvent);
|
|
22327
|
+
}
|
|
22328
|
+
function toWholeSeriesTicketType(option) {
|
|
22329
|
+
return {
|
|
22330
|
+
...option,
|
|
22331
|
+
capacityMode: option.capacityLimit === null ? "unlimited" : "limited",
|
|
22332
|
+
attendanceScope: option.attendanceScope ?? void 0,
|
|
22333
|
+
availability: {
|
|
22334
|
+
kind: "available",
|
|
22335
|
+
remainingCapacity: option.capacityLimit
|
|
22336
|
+
}
|
|
22337
|
+
};
|
|
22338
|
+
}
|
|
22339
|
+
function toWholeSeriesPricing(offering) {
|
|
22340
|
+
const resolved = resolveWholeSeriesPricingState(offering);
|
|
22341
|
+
switch (offering.pricing.pricingStrategy) {
|
|
22342
|
+
case "free": return {
|
|
22343
|
+
kind: "free_registration",
|
|
22344
|
+
currency: offering.currency,
|
|
22345
|
+
display: {
|
|
22346
|
+
kind: "free",
|
|
22347
|
+
currency: offering.currency
|
|
22348
|
+
}
|
|
22349
|
+
};
|
|
22350
|
+
case "single": {
|
|
22351
|
+
const amount = offering.pricing.singlePriceAmount ?? 0;
|
|
22352
|
+
return amount === 0 ? {
|
|
22353
|
+
kind: "free_registration",
|
|
22354
|
+
currency: offering.currency,
|
|
22355
|
+
display: {
|
|
22356
|
+
kind: "free",
|
|
22357
|
+
currency: offering.currency
|
|
22358
|
+
}
|
|
22359
|
+
} : {
|
|
22360
|
+
kind: "single_paid",
|
|
22361
|
+
amount,
|
|
22362
|
+
currency: offering.currency,
|
|
22363
|
+
display: {
|
|
22364
|
+
kind: "exact",
|
|
22365
|
+
amount,
|
|
22366
|
+
currency: offering.currency
|
|
22367
|
+
}
|
|
22368
|
+
};
|
|
22369
|
+
}
|
|
22370
|
+
case "tiered": return {
|
|
22371
|
+
kind: "ticket_types",
|
|
22372
|
+
currency: offering.currency,
|
|
22373
|
+
ticketTypes: resolved.selectableOptions.map((option) => toWholeSeriesTicketType(option)),
|
|
22374
|
+
display: resolved.display
|
|
22375
|
+
};
|
|
22376
|
+
case "sliding_scale": return {
|
|
22377
|
+
kind: "sliding_scale",
|
|
22378
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
22379
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
22380
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null,
|
|
22381
|
+
currency: offering.currency,
|
|
22382
|
+
display: {
|
|
22383
|
+
kind: "range",
|
|
22384
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
22385
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
22386
|
+
currency: offering.currency
|
|
22387
|
+
}
|
|
22388
|
+
};
|
|
22389
|
+
}
|
|
22390
|
+
}
|
|
22391
|
+
function toAttendanceModes(offering) {
|
|
22392
|
+
return (offering.deliveryMode === "hybrid" ? ["in_person", "online"] : [offering.deliveryMode]).map((mode) => ({
|
|
22393
|
+
mode,
|
|
22394
|
+
capacity: offering.enrollmentCapacity,
|
|
22395
|
+
registeredCount: offering.enrolledCount,
|
|
22396
|
+
availableSpots: offering.availableSpots,
|
|
22397
|
+
waitlistEnabled: offering.waitlistEnabled
|
|
22398
|
+
}));
|
|
22399
|
+
}
|
|
22400
|
+
function toWholeSeriesRegistrationEvent(offering) {
|
|
22401
|
+
const firstSession = offering.sessions[0];
|
|
22402
|
+
const lastSession = offering.sessions[offering.sessions.length - 1];
|
|
22403
|
+
return {
|
|
22404
|
+
selectionId: offering.eventSeriesId,
|
|
22405
|
+
registrationSubject: {
|
|
22406
|
+
kind: "wholeSeries",
|
|
22407
|
+
eventSeriesId: offering.eventSeriesId,
|
|
22408
|
+
sessions: offering.sessions
|
|
22409
|
+
},
|
|
22410
|
+
seriesId: offering.eventSeriesId,
|
|
22411
|
+
title: offering.title,
|
|
22412
|
+
startsAt: firstSession?.startsAt ?? "",
|
|
22413
|
+
endsAt: lastSession?.endsAt ?? firstSession?.endsAt ?? "",
|
|
22414
|
+
bookingAvailability: offering.enrollmentOpen ? { kind: "open" } : {
|
|
22415
|
+
kind: "closed",
|
|
22416
|
+
reason: "enrollment_closed"
|
|
22417
|
+
},
|
|
22418
|
+
deliveryMode: offering.deliveryMode,
|
|
22419
|
+
attendanceModes: toAttendanceModes(offering),
|
|
22420
|
+
capacity: offering.enrollmentCapacity,
|
|
22421
|
+
registeredCount: offering.enrolledCount,
|
|
22422
|
+
availableSpots: offering.availableSpots,
|
|
22423
|
+
waitlistEnabled: offering.waitlistEnabled,
|
|
22424
|
+
venue: offering.venue ? {
|
|
22425
|
+
...offering.venue,
|
|
22426
|
+
location: null
|
|
22427
|
+
} : null,
|
|
22428
|
+
eventCategory: null,
|
|
22429
|
+
teamMembers: offering.teamMembers,
|
|
22430
|
+
status: offering.status,
|
|
22431
|
+
timeZone: firstSession?.timeZone ?? "UTC",
|
|
22432
|
+
pricing: toWholeSeriesPricing(offering),
|
|
22433
|
+
paymentTerms: offering.paymentTerms,
|
|
22434
|
+
consent: offering.consent,
|
|
22435
|
+
requireGuestDetails: offering.requireGuestDetails,
|
|
22436
|
+
acceptsPasses: false,
|
|
22437
|
+
acceptsMemberships: offering.acceptsMemberships
|
|
22438
|
+
};
|
|
22142
22439
|
}
|
|
22143
22440
|
//#endregion
|
|
22144
22441
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
@@ -22164,11 +22461,7 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
22164
22461
|
maxTickets: z.string().optional(),
|
|
22165
22462
|
showVenue: z.boolean().optional(),
|
|
22166
22463
|
showCapacity: z.boolean().optional(),
|
|
22167
|
-
showSessions: z.boolean().optional(),
|
|
22168
|
-
showPrice: z.boolean().optional(),
|
|
22169
22464
|
successMessage: z.string().optional(),
|
|
22170
|
-
waitlistMessage: z.string().optional(),
|
|
22171
|
-
membershipMessage: z.string().optional(),
|
|
22172
22465
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
22173
22466
|
overlayEnabled: z.boolean().optional(),
|
|
22174
22467
|
spamProtectionEnabled: z.boolean().optional(),
|
|
@@ -22238,6 +22531,15 @@ function resolveWholeSeriesOffering(source) {
|
|
|
22238
22531
|
return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
|
|
22239
22532
|
}
|
|
22240
22533
|
function buildEventRegistrationShellStepLabels(source) {
|
|
22534
|
+
const selectedOffering = resolveWholeSeriesOffering(source);
|
|
22535
|
+
if (selectedOffering) {
|
|
22536
|
+
const selectedEvent = toWholeSeriesRegistrationEvent(selectedOffering);
|
|
22537
|
+
return getWizardStepsForContext(true, resolveEventRequiresPayment({
|
|
22538
|
+
eligibility: null,
|
|
22539
|
+
selectedTicketType: null,
|
|
22540
|
+
event: selectedEvent
|
|
22541
|
+
})).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
|
|
22542
|
+
}
|
|
22241
22543
|
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
22242
22544
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
22243
22545
|
const preSelectedEvent = findPreSelectedEvent({
|
|
@@ -22252,13 +22554,16 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
22252
22554
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
22253
22555
|
}
|
|
22254
22556
|
function scopeEventRegistrationEvents(source) {
|
|
22557
|
+
return toRegistrationEvents(scopeEventRegistrationSourceEvents(source));
|
|
22558
|
+
}
|
|
22559
|
+
function scopeEventRegistrationSourceEvents(source) {
|
|
22255
22560
|
const scope = planEventRegistrationScope({
|
|
22256
|
-
events:
|
|
22561
|
+
events: source.events ?? [],
|
|
22257
22562
|
wholeSeriesOffering: source.wholeSeriesOffering,
|
|
22258
22563
|
occurrenceContext: source.occurrenceContext,
|
|
22259
22564
|
subject: source.subject
|
|
22260
22565
|
});
|
|
22261
|
-
return scope.kind === "invalidSelectedRun" ? [] : scope.events;
|
|
22566
|
+
return scope.kind === "invalidSelectedRun" ? [] : [...scope.events];
|
|
22262
22567
|
}
|
|
22263
22568
|
function shellLabelForRegistrationStep(step, events) {
|
|
22264
22569
|
switch (step) {
|
|
@@ -22290,30 +22595,29 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
22290
22595
|
source: createZodCodec(eventRegistrationSourceSchema),
|
|
22291
22596
|
render: createZodCodec(eventRegistrationRenderSchema)
|
|
22292
22597
|
},
|
|
22293
|
-
buildRender: (source) =>
|
|
22294
|
-
|
|
22295
|
-
|
|
22296
|
-
|
|
22297
|
-
|
|
22298
|
-
|
|
22299
|
-
|
|
22300
|
-
|
|
22301
|
-
|
|
22302
|
-
|
|
22303
|
-
|
|
22304
|
-
|
|
22305
|
-
|
|
22306
|
-
|
|
22307
|
-
|
|
22308
|
-
|
|
22309
|
-
|
|
22310
|
-
|
|
22311
|
-
|
|
22312
|
-
|
|
22313
|
-
|
|
22314
|
-
|
|
22315
|
-
|
|
22316
|
-
})
|
|
22598
|
+
buildRender: (source) => {
|
|
22599
|
+
const events = source.events == null ? null : scopeEventRegistrationSourceEvents(source);
|
|
22600
|
+
return {
|
|
22601
|
+
display: buildEventRegistrationDisplay(source),
|
|
22602
|
+
hydration: {
|
|
22603
|
+
occurrenceContext: source.occurrenceContext ?? null,
|
|
22604
|
+
subject: source.subject ?? null,
|
|
22605
|
+
events,
|
|
22606
|
+
wholeSeriesOfferings: source.wholeSeriesOfferings ?? null,
|
|
22607
|
+
wholeSeriesOffering: resolveWholeSeriesOffering(source),
|
|
22608
|
+
maxTickets: source.maxTickets ?? void 0,
|
|
22609
|
+
showVenue: source.showVenue,
|
|
22610
|
+
showCapacity: source.showCapacity,
|
|
22611
|
+
successMessage: source.successMessage,
|
|
22612
|
+
buttonVariant: source.buttonVariant,
|
|
22613
|
+
overlayEnabled: source.overlayEnabled,
|
|
22614
|
+
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
22615
|
+
supportEmail: source.supportEmail,
|
|
22616
|
+
sitePasses: source.sitePasses ?? null,
|
|
22617
|
+
siteMemberships: source.siteMemberships ?? null
|
|
22618
|
+
}
|
|
22619
|
+
};
|
|
22620
|
+
}
|
|
22317
22621
|
});
|
|
22318
22622
|
function normalizeEventRegistrationEventInput(value) {
|
|
22319
22623
|
if (!isRecord$3(value)) return value;
|
|
@@ -22421,24 +22725,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
22421
22725
|
defaultValue: true,
|
|
22422
22726
|
ui: { intent: "display" }
|
|
22423
22727
|
},
|
|
22424
|
-
{
|
|
22425
|
-
id: "showSessions",
|
|
22426
|
-
type: "boolean",
|
|
22427
|
-
label: "Show complete schedule",
|
|
22428
|
-
description: "Display every session for whole-series registrations",
|
|
22429
|
-
required: false,
|
|
22430
|
-
defaultValue: true,
|
|
22431
|
-
ui: { intent: "display" }
|
|
22432
|
-
},
|
|
22433
|
-
{
|
|
22434
|
-
id: "showPrice",
|
|
22435
|
-
type: "boolean",
|
|
22436
|
-
label: "Show price",
|
|
22437
|
-
description: "Display the whole-series price",
|
|
22438
|
-
required: false,
|
|
22439
|
-
defaultValue: true,
|
|
22440
|
-
ui: { intent: "display" }
|
|
22441
|
-
},
|
|
22442
22728
|
{
|
|
22443
22729
|
id: "successMessage",
|
|
22444
22730
|
type: "text",
|
|
@@ -22449,26 +22735,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
22449
22735
|
defaultValue: "Thank you for registering! Check your email for confirmation details.",
|
|
22450
22736
|
maxLength: 500
|
|
22451
22737
|
},
|
|
22452
|
-
{
|
|
22453
|
-
id: "waitlistMessage",
|
|
22454
|
-
type: "text",
|
|
22455
|
-
label: "Waitlist message",
|
|
22456
|
-
description: "Message shown after joining a whole-series waitlist",
|
|
22457
|
-
required: false,
|
|
22458
|
-
multiline: true,
|
|
22459
|
-
defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
|
|
22460
|
-
maxLength: 500
|
|
22461
|
-
},
|
|
22462
|
-
{
|
|
22463
|
-
id: "membershipMessage",
|
|
22464
|
-
type: "text",
|
|
22465
|
-
label: "Membership registration message",
|
|
22466
|
-
description: "Message shown when a whole-series place is covered by membership",
|
|
22467
|
-
required: false,
|
|
22468
|
-
multiline: true,
|
|
22469
|
-
defaultValue: "Registered using your membership. Check your email for session details.",
|
|
22470
|
-
maxLength: 500
|
|
22471
|
-
},
|
|
22472
22738
|
{
|
|
22473
22739
|
id: "buttonText",
|
|
22474
22740
|
type: "text",
|
|
@@ -22500,11 +22766,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
22500
22766
|
} },
|
|
22501
22767
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22502
22768
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
22503
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
22504
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
22505
22769
|
successMessage: { $bind: { from: "content.successMessage" } },
|
|
22506
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
22507
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
22508
22770
|
buttonText: { $bind: {
|
|
22509
22771
|
from: "content.buttonText",
|
|
22510
22772
|
fallback: "Complete Registration"
|
|
@@ -22621,254 +22883,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
22621
22883
|
}
|
|
22622
22884
|
};
|
|
22623
22885
|
//#endregion
|
|
22624
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
22625
|
-
const courseRegistrationHydrationSchemaShape = {
|
|
22626
|
-
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
22627
|
-
courses: z.array(publicWholeSeriesOfferingSchema).nullable().optional(),
|
|
22628
|
-
showSessions: z.boolean().optional(),
|
|
22629
|
-
showPrice: z.boolean().optional(),
|
|
22630
|
-
showCapacity: z.boolean().optional(),
|
|
22631
|
-
showVenue: z.boolean().optional(),
|
|
22632
|
-
successMessage: z.string().optional(),
|
|
22633
|
-
waitlistMessage: z.string().optional(),
|
|
22634
|
-
membershipMessage: z.string().optional(),
|
|
22635
|
-
buttonVariant: registrationButtonVariantSchema.optional()
|
|
22636
|
-
};
|
|
22637
|
-
const courseRegistrationSourceSchema = z.object({
|
|
22638
|
-
siteId: z.string().optional(),
|
|
22639
|
-
apiBaseUrl: z.string().optional(),
|
|
22640
|
-
portalToken: z.string().nullable().optional(),
|
|
22641
|
-
...courseRegistrationHydrationSchemaShape,
|
|
22642
|
-
className: z.string().nullable().optional(),
|
|
22643
|
-
buttonText: z.string().nullable().optional(),
|
|
22644
|
-
stage: previewStageSchema.optional()
|
|
22645
|
-
});
|
|
22646
|
-
const courseRegistrationDisplaySchema = z.object({
|
|
22647
|
-
kind: z.literal("course-registration"),
|
|
22648
|
-
state: z.literal("shell"),
|
|
22649
|
-
className: z.string().nullable(),
|
|
22650
|
-
summaryButtonText: z.string()
|
|
22651
|
-
});
|
|
22652
|
-
const courseRegistrationHydrationSchema = z.object(courseRegistrationHydrationSchemaShape);
|
|
22653
|
-
const courseRegistrationRenderSchema = z.object({
|
|
22654
|
-
display: courseRegistrationDisplaySchema,
|
|
22655
|
-
hydration: courseRegistrationHydrationSchema
|
|
22656
|
-
});
|
|
22657
|
-
z.object({
|
|
22658
|
-
siteId: z.string().optional(),
|
|
22659
|
-
apiBaseUrl: z.string().optional(),
|
|
22660
|
-
portalToken: z.string().nullable().optional(),
|
|
22661
|
-
stage: previewStageSchema.optional()
|
|
22662
|
-
});
|
|
22663
|
-
function buildCourseRegistrationDisplay(source) {
|
|
22664
|
-
return {
|
|
22665
|
-
kind: "course-registration",
|
|
22666
|
-
state: "shell",
|
|
22667
|
-
className: source.className ?? null,
|
|
22668
|
-
summaryButtonText: source.buttonText?.trim() || "Sign up"
|
|
22669
|
-
};
|
|
22670
|
-
}
|
|
22671
|
-
const courseRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
22672
|
-
kind: "client-owned",
|
|
22673
|
-
contracts: {
|
|
22674
|
-
source: createZodCodec(courseRegistrationSourceSchema),
|
|
22675
|
-
render: createZodCodec(courseRegistrationRenderSchema)
|
|
22676
|
-
},
|
|
22677
|
-
buildRender: (source) => ({
|
|
22678
|
-
display: buildCourseRegistrationDisplay(source),
|
|
22679
|
-
hydration: {
|
|
22680
|
-
subject: source.subject ?? null,
|
|
22681
|
-
courses: source.courses ?? null,
|
|
22682
|
-
showSessions: source.showSessions,
|
|
22683
|
-
showPrice: source.showPrice,
|
|
22684
|
-
showCapacity: source.showCapacity,
|
|
22685
|
-
showVenue: source.showVenue,
|
|
22686
|
-
successMessage: source.successMessage,
|
|
22687
|
-
waitlistMessage: source.waitlistMessage,
|
|
22688
|
-
membershipMessage: source.membershipMessage,
|
|
22689
|
-
buttonVariant: source.buttonVariant
|
|
22690
|
-
}
|
|
22691
|
-
})
|
|
22692
|
-
});
|
|
22693
|
-
const courseRegistrationBlockDefinition = {
|
|
22694
|
-
manifest: createBlockManifest({
|
|
22695
|
-
id: "block.course-registration",
|
|
22696
|
-
version: "1.0.0",
|
|
22697
|
-
title: "Course Registration",
|
|
22698
|
-
titleSource: "heading",
|
|
22699
|
-
description: "Enrollment form for multi-session courses",
|
|
22700
|
-
category: "interactive",
|
|
22701
|
-
contentSource: { kind: "inline" },
|
|
22702
|
-
tags: [
|
|
22703
|
-
"courses",
|
|
22704
|
-
"enrollment",
|
|
22705
|
-
"booking",
|
|
22706
|
-
"form",
|
|
22707
|
-
"signup",
|
|
22708
|
-
"education"
|
|
22709
|
-
],
|
|
22710
|
-
icon: "GraduationCap",
|
|
22711
|
-
styleTokens: {
|
|
22712
|
-
background: "surface",
|
|
22713
|
-
typography: "body",
|
|
22714
|
-
spacing: "md"
|
|
22715
|
-
},
|
|
22716
|
-
behaviours: {
|
|
22717
|
-
supportsThemeSwitching: true,
|
|
22718
|
-
inlineEditing: false,
|
|
22719
|
-
animation: false,
|
|
22720
|
-
paletteHidden: false
|
|
22721
|
-
},
|
|
22722
|
-
additionalFields: [
|
|
22723
|
-
{
|
|
22724
|
-
id: "heading",
|
|
22725
|
-
type: "text",
|
|
22726
|
-
label: "Heading",
|
|
22727
|
-
description: "Main heading for the registration form",
|
|
22728
|
-
required: false,
|
|
22729
|
-
multiline: false,
|
|
22730
|
-
defaultValue: "Sign up"
|
|
22731
|
-
},
|
|
22732
|
-
{
|
|
22733
|
-
id: "description",
|
|
22734
|
-
type: "richText",
|
|
22735
|
-
label: "Description",
|
|
22736
|
-
description: "Optional introductory text",
|
|
22737
|
-
required: false
|
|
22738
|
-
},
|
|
22739
|
-
{
|
|
22740
|
-
id: "showSessions",
|
|
22741
|
-
type: "boolean",
|
|
22742
|
-
label: "Show sessions",
|
|
22743
|
-
description: "Display the list of course sessions",
|
|
22744
|
-
required: false,
|
|
22745
|
-
defaultValue: true,
|
|
22746
|
-
ui: { intent: "display" }
|
|
22747
|
-
},
|
|
22748
|
-
{
|
|
22749
|
-
id: "showPrice",
|
|
22750
|
-
type: "boolean",
|
|
22751
|
-
label: "Show price",
|
|
22752
|
-
description: "Display the course price",
|
|
22753
|
-
required: false,
|
|
22754
|
-
defaultValue: true,
|
|
22755
|
-
ui: { intent: "display" }
|
|
22756
|
-
},
|
|
22757
|
-
{
|
|
22758
|
-
id: "showCapacity",
|
|
22759
|
-
type: "boolean",
|
|
22760
|
-
label: "Show available spots",
|
|
22761
|
-
description: "Display remaining enrollment capacity",
|
|
22762
|
-
required: false,
|
|
22763
|
-
defaultValue: true,
|
|
22764
|
-
ui: { intent: "display" }
|
|
22765
|
-
},
|
|
22766
|
-
{
|
|
22767
|
-
id: "showVenue",
|
|
22768
|
-
type: "boolean",
|
|
22769
|
-
label: "Show venue",
|
|
22770
|
-
description: "Display venue information",
|
|
22771
|
-
required: false,
|
|
22772
|
-
defaultValue: true,
|
|
22773
|
-
ui: { intent: "display" }
|
|
22774
|
-
},
|
|
22775
|
-
{
|
|
22776
|
-
id: "successMessage",
|
|
22777
|
-
type: "text",
|
|
22778
|
-
label: "Success message",
|
|
22779
|
-
description: "Message shown after successful enrollment",
|
|
22780
|
-
required: false,
|
|
22781
|
-
multiline: true,
|
|
22782
|
-
defaultValue: "You're enrolled! Check your email for confirmation and session details.",
|
|
22783
|
-
maxLength: 500
|
|
22784
|
-
},
|
|
22785
|
-
{
|
|
22786
|
-
id: "waitlistMessage",
|
|
22787
|
-
type: "text",
|
|
22788
|
-
label: "Waitlist message",
|
|
22789
|
-
description: "Message when added to waitlist",
|
|
22790
|
-
required: false,
|
|
22791
|
-
multiline: true,
|
|
22792
|
-
defaultValue: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
22793
|
-
maxLength: 500
|
|
22794
|
-
},
|
|
22795
|
-
{
|
|
22796
|
-
id: "membershipMessage",
|
|
22797
|
-
type: "text",
|
|
22798
|
-
label: "Membership enrollment message",
|
|
22799
|
-
description: "Message when enrolled using a membership",
|
|
22800
|
-
required: false,
|
|
22801
|
-
multiline: true,
|
|
22802
|
-
defaultValue: "Enrolled using your membership! Check your email for session details.",
|
|
22803
|
-
maxLength: 500
|
|
22804
|
-
},
|
|
22805
|
-
{
|
|
22806
|
-
id: "buttonText",
|
|
22807
|
-
type: "text",
|
|
22808
|
-
label: "Submit button text",
|
|
22809
|
-
description: "Text for the enrollment submit button",
|
|
22810
|
-
required: false,
|
|
22811
|
-
multiline: false,
|
|
22812
|
-
defaultValue: "Sign up",
|
|
22813
|
-
maxLength: 40
|
|
22814
|
-
},
|
|
22815
|
-
createButtonVariantField()
|
|
22816
|
-
],
|
|
22817
|
-
layout: [styledSection({
|
|
22818
|
-
baseClass: "",
|
|
22819
|
-
spacing: "spacious",
|
|
22820
|
-
children: sectionContainer([
|
|
22821
|
-
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
22822
|
-
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
22823
|
-
courseRegistration(withApiBindings({
|
|
22824
|
-
subject: { $bind: {
|
|
22825
|
-
from: "$root.subject",
|
|
22826
|
-
fallback: null
|
|
22827
|
-
} },
|
|
22828
|
-
portalToken: { $bind: {
|
|
22829
|
-
from: "$root.portalToken",
|
|
22830
|
-
fallback: null
|
|
22831
|
-
} },
|
|
22832
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
22833
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
22834
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
22835
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22836
|
-
successMessage: { $bind: { from: "content.successMessage" } },
|
|
22837
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
22838
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
22839
|
-
buttonText: { $bind: {
|
|
22840
|
-
from: "content.buttonText",
|
|
22841
|
-
fallback: "Sign up"
|
|
22842
|
-
} },
|
|
22843
|
-
buttonVariant: { $bind: {
|
|
22844
|
-
from: "content.buttonVariant",
|
|
22845
|
-
fallback: "primary"
|
|
22846
|
-
} },
|
|
22847
|
-
courses: { $bind: { from: "data.courses" } },
|
|
22848
|
-
stage: { $bind: {
|
|
22849
|
-
from: "$root.previewStage",
|
|
22850
|
-
fallback: "published"
|
|
22851
|
-
} }
|
|
22852
|
-
}))
|
|
22853
|
-
], { gap: "lg" })
|
|
22854
|
-
})]
|
|
22855
|
-
}),
|
|
22856
|
-
runtime: courseRegistrationBlockRuntime,
|
|
22857
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
22858
|
-
dataLoaders: { courses: {
|
|
22859
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
22860
|
-
params: {
|
|
22861
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
22862
|
-
limit: "50",
|
|
22863
|
-
stage: { $bind: {
|
|
22864
|
-
from: "$root.previewStage",
|
|
22865
|
-
fallback: "published"
|
|
22866
|
-
} }
|
|
22867
|
-
},
|
|
22868
|
-
mode: "server"
|
|
22869
|
-
} }
|
|
22870
|
-
};
|
|
22871
|
-
//#endregion
|
|
22872
22886
|
//#region ../blocks/src/system/blocks/event-details.ts
|
|
22873
22887
|
/**
|
|
22874
22888
|
* Event Details Block
|
|
@@ -23115,200 +23129,6 @@ const eventDetailsBlockDefinition = {
|
|
|
23115
23129
|
mode: "server"
|
|
23116
23130
|
} }
|
|
23117
23131
|
};
|
|
23118
|
-
const courseDetailsBlockDefinition = {
|
|
23119
|
-
manifest: createBlockManifest({
|
|
23120
|
-
id: "block.course-details",
|
|
23121
|
-
version: "1.0.0",
|
|
23122
|
-
title: "Course Details",
|
|
23123
|
-
titleSource: "heading",
|
|
23124
|
-
description: "Schedule, venue, price, and enrollment status for a course",
|
|
23125
|
-
category: "content",
|
|
23126
|
-
contentSource: { kind: "entries" },
|
|
23127
|
-
tags: [
|
|
23128
|
-
"courses",
|
|
23129
|
-
"schedule",
|
|
23130
|
-
"sessions",
|
|
23131
|
-
"venue",
|
|
23132
|
-
"pricing"
|
|
23133
|
-
],
|
|
23134
|
-
icon: "GraduationCap",
|
|
23135
|
-
styleTokens: {
|
|
23136
|
-
background: "surface",
|
|
23137
|
-
typography: "body",
|
|
23138
|
-
spacing: "md"
|
|
23139
|
-
},
|
|
23140
|
-
behaviours: {
|
|
23141
|
-
supportsThemeSwitching: true,
|
|
23142
|
-
inlineEditing: false,
|
|
23143
|
-
animation: false,
|
|
23144
|
-
paletteHidden: false
|
|
23145
|
-
},
|
|
23146
|
-
additionalFields: [
|
|
23147
|
-
{
|
|
23148
|
-
id: "heading",
|
|
23149
|
-
type: "text",
|
|
23150
|
-
label: "Heading",
|
|
23151
|
-
description: "Optional heading shown above course details",
|
|
23152
|
-
required: false,
|
|
23153
|
-
multiline: false,
|
|
23154
|
-
defaultValue: "Course details"
|
|
23155
|
-
},
|
|
23156
|
-
{
|
|
23157
|
-
id: "showTitle",
|
|
23158
|
-
type: "boolean",
|
|
23159
|
-
label: "Show course title",
|
|
23160
|
-
required: false,
|
|
23161
|
-
defaultValue: false,
|
|
23162
|
-
ui: { intent: "display" }
|
|
23163
|
-
},
|
|
23164
|
-
{
|
|
23165
|
-
id: "showDescription",
|
|
23166
|
-
type: "boolean",
|
|
23167
|
-
label: "Show course description",
|
|
23168
|
-
description: "Render the course description from the bookings course record",
|
|
23169
|
-
required: false,
|
|
23170
|
-
defaultValue: false,
|
|
23171
|
-
ui: { intent: "display" }
|
|
23172
|
-
},
|
|
23173
|
-
{
|
|
23174
|
-
id: "showSessions",
|
|
23175
|
-
type: "boolean",
|
|
23176
|
-
label: "Show sessions",
|
|
23177
|
-
required: false,
|
|
23178
|
-
defaultValue: true,
|
|
23179
|
-
ui: { intent: "display" }
|
|
23180
|
-
},
|
|
23181
|
-
{
|
|
23182
|
-
id: "sessionsLimit",
|
|
23183
|
-
type: "select",
|
|
23184
|
-
label: "Sessions limit",
|
|
23185
|
-
required: false,
|
|
23186
|
-
multiple: false,
|
|
23187
|
-
defaultValue: "10",
|
|
23188
|
-
options: [
|
|
23189
|
-
{
|
|
23190
|
-
value: "3",
|
|
23191
|
-
label: "3 sessions"
|
|
23192
|
-
},
|
|
23193
|
-
{
|
|
23194
|
-
value: "5",
|
|
23195
|
-
label: "5 sessions"
|
|
23196
|
-
},
|
|
23197
|
-
{
|
|
23198
|
-
value: "10",
|
|
23199
|
-
label: "10 sessions"
|
|
23200
|
-
},
|
|
23201
|
-
{
|
|
23202
|
-
value: "all",
|
|
23203
|
-
label: "All sessions"
|
|
23204
|
-
}
|
|
23205
|
-
],
|
|
23206
|
-
ui: { intent: "display" }
|
|
23207
|
-
},
|
|
23208
|
-
{
|
|
23209
|
-
id: "showVenue",
|
|
23210
|
-
type: "boolean",
|
|
23211
|
-
label: "Show venue",
|
|
23212
|
-
required: false,
|
|
23213
|
-
defaultValue: true,
|
|
23214
|
-
ui: { intent: "display" }
|
|
23215
|
-
},
|
|
23216
|
-
{
|
|
23217
|
-
id: "showPrice",
|
|
23218
|
-
type: "boolean",
|
|
23219
|
-
label: "Show price",
|
|
23220
|
-
required: false,
|
|
23221
|
-
defaultValue: true,
|
|
23222
|
-
ui: { intent: "display" }
|
|
23223
|
-
},
|
|
23224
|
-
{
|
|
23225
|
-
id: "showCapacity",
|
|
23226
|
-
type: "boolean",
|
|
23227
|
-
label: "Show capacity",
|
|
23228
|
-
required: false,
|
|
23229
|
-
defaultValue: true,
|
|
23230
|
-
ui: { intent: "display" }
|
|
23231
|
-
},
|
|
23232
|
-
{
|
|
23233
|
-
id: "showEnrollmentStatus",
|
|
23234
|
-
type: "boolean",
|
|
23235
|
-
label: "Show enrollment status",
|
|
23236
|
-
required: false,
|
|
23237
|
-
defaultValue: true,
|
|
23238
|
-
ui: { intent: "display" }
|
|
23239
|
-
},
|
|
23240
|
-
{
|
|
23241
|
-
id: "showMembershipNote",
|
|
23242
|
-
type: "boolean",
|
|
23243
|
-
label: "Show membership note",
|
|
23244
|
-
description: "Indicate when memberships can be used for free enrollment",
|
|
23245
|
-
required: false,
|
|
23246
|
-
defaultValue: true,
|
|
23247
|
-
ui: { intent: "display" }
|
|
23248
|
-
}
|
|
23249
|
-
],
|
|
23250
|
-
layout: [styledSection({
|
|
23251
|
-
baseClass: "",
|
|
23252
|
-
spacing: "spacious",
|
|
23253
|
-
children: sectionContainer([text({ as: "h2" }, bind("content.heading"), when("content.heading")), el("course-details", {
|
|
23254
|
-
subject: { $bind: {
|
|
23255
|
-
from: "$root.subject",
|
|
23256
|
-
fallback: null
|
|
23257
|
-
} },
|
|
23258
|
-
courses: { $bind: { from: "data.courses" } },
|
|
23259
|
-
showTitle: { $bind: {
|
|
23260
|
-
from: "content.showTitle",
|
|
23261
|
-
fallback: false
|
|
23262
|
-
} },
|
|
23263
|
-
showDescription: { $bind: {
|
|
23264
|
-
from: "content.showDescription",
|
|
23265
|
-
fallback: false
|
|
23266
|
-
} },
|
|
23267
|
-
showSessions: { $bind: {
|
|
23268
|
-
from: "content.showSessions",
|
|
23269
|
-
fallback: true
|
|
23270
|
-
} },
|
|
23271
|
-
sessionsLimit: { $bind: {
|
|
23272
|
-
from: "content.sessionsLimit",
|
|
23273
|
-
fallback: "10"
|
|
23274
|
-
} },
|
|
23275
|
-
showVenue: { $bind: {
|
|
23276
|
-
from: "content.showVenue",
|
|
23277
|
-
fallback: true
|
|
23278
|
-
} },
|
|
23279
|
-
showPrice: { $bind: {
|
|
23280
|
-
from: "content.showPrice",
|
|
23281
|
-
fallback: true
|
|
23282
|
-
} },
|
|
23283
|
-
showCapacity: { $bind: {
|
|
23284
|
-
from: "content.showCapacity",
|
|
23285
|
-
fallback: true
|
|
23286
|
-
} },
|
|
23287
|
-
showEnrollmentStatus: { $bind: {
|
|
23288
|
-
from: "content.showEnrollmentStatus",
|
|
23289
|
-
fallback: true
|
|
23290
|
-
} },
|
|
23291
|
-
showMembershipNote: { $bind: {
|
|
23292
|
-
from: "content.showMembershipNote",
|
|
23293
|
-
fallback: true
|
|
23294
|
-
} }
|
|
23295
|
-
})], { gap: "lg" })
|
|
23296
|
-
})]
|
|
23297
|
-
}),
|
|
23298
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
23299
|
-
dataLoaders: { courses: {
|
|
23300
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
23301
|
-
params: {
|
|
23302
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
23303
|
-
limit: "50",
|
|
23304
|
-
stage: { $bind: {
|
|
23305
|
-
from: "$root.previewStage",
|
|
23306
|
-
fallback: "published"
|
|
23307
|
-
} }
|
|
23308
|
-
},
|
|
23309
|
-
mode: "server"
|
|
23310
|
-
} }
|
|
23311
|
-
};
|
|
23312
23132
|
const eventSpotlightBlockDefinition = {
|
|
23313
23133
|
manifest: createBlockManifest({
|
|
23314
23134
|
id: "block.event-spotlight",
|
|
@@ -25810,7 +25630,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
25810
25630
|
fallback: "published"
|
|
25811
25631
|
} },
|
|
25812
25632
|
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
25813
|
-
|
|
25633
|
+
wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
|
|
25814
25634
|
...offeringsPreviewEventDataBindings
|
|
25815
25635
|
})
|
|
25816
25636
|
], { gap: "lg" }),
|
|
@@ -25827,7 +25647,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
25827
25647
|
dataSchemas: {
|
|
25828
25648
|
...offeringsPreviewEventDataSchemas,
|
|
25829
25649
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
25830
|
-
|
|
25650
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
|
|
25831
25651
|
},
|
|
25832
25652
|
dataLoaders: {
|
|
25833
25653
|
...offeringsPreviewEventDataLoaders,
|
|
@@ -25836,7 +25656,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
25836
25656
|
params: {},
|
|
25837
25657
|
mode: "server"
|
|
25838
25658
|
},
|
|
25839
|
-
|
|
25659
|
+
wholeSeriesOfferings: {
|
|
25840
25660
|
endpoint: "listPublicWholeSeriesOfferings",
|
|
25841
25661
|
params: {
|
|
25842
25662
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
@@ -30803,22 +30623,6 @@ const systemBlockDefinitions = [
|
|
|
30803
30623
|
weight: "standard"
|
|
30804
30624
|
})]
|
|
30805
30625
|
})),
|
|
30806
|
-
withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
30807
|
-
flow: conversionFlow,
|
|
30808
|
-
layoutProfiles: [layoutProfile({
|
|
30809
|
-
variantKey: "default",
|
|
30810
|
-
family: "form",
|
|
30811
|
-
weight: "standard"
|
|
30812
|
-
})]
|
|
30813
|
-
})),
|
|
30814
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
30815
|
-
flow: offeringsFlow,
|
|
30816
|
-
layoutProfiles: [layoutProfile({
|
|
30817
|
-
variantKey: "default",
|
|
30818
|
-
family: "stack",
|
|
30819
|
-
weight: "standard"
|
|
30820
|
-
})]
|
|
30821
|
-
})),
|
|
30822
30626
|
withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
|
|
30823
30627
|
flow: offeringsFlow,
|
|
30824
30628
|
layoutProfiles: [layoutProfile({
|
|
@@ -31206,32 +31010,6 @@ let cachedBlockSummaries;
|
|
|
31206
31010
|
*/
|
|
31207
31011
|
function getBuiltInContentTypes() {
|
|
31208
31012
|
return [
|
|
31209
|
-
{
|
|
31210
|
-
key: "course",
|
|
31211
|
-
name: "Course",
|
|
31212
|
-
description: "Courses with listing content and long-form details",
|
|
31213
|
-
isRouted: true,
|
|
31214
|
-
fields: [
|
|
31215
|
-
{
|
|
31216
|
-
id: "summary",
|
|
31217
|
-
type: "text",
|
|
31218
|
-
label: "Summary",
|
|
31219
|
-
required: false
|
|
31220
|
-
},
|
|
31221
|
-
{
|
|
31222
|
-
id: "image",
|
|
31223
|
-
type: "media",
|
|
31224
|
-
label: "Listing image",
|
|
31225
|
-
required: false
|
|
31226
|
-
},
|
|
31227
|
-
{
|
|
31228
|
-
id: "body",
|
|
31229
|
-
type: "richText",
|
|
31230
|
-
label: "Details",
|
|
31231
|
-
required: false
|
|
31232
|
-
}
|
|
31233
|
-
]
|
|
31234
|
-
},
|
|
31235
31013
|
{
|
|
31236
31014
|
key: "event",
|
|
31237
31015
|
name: "Event",
|