@riverbankcms/sdk 0.134.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 +4 -3
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-DfRhJPFQ.mjs → PreviewEditorSidebar-roNY0GVy.mjs} +4 -4
- package/dist/{PreviewEditorUI-Dppxcr_g.mjs → PreviewEditorUI-KboDbEh_.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-8CyGCXir.mjs → SdkPreviewModeRuntime-DBrF7Caa.mjs} +5 -5
- package/dist/{SiteChromeCustomizeContext-DVMTMvqA.mjs → SiteChromeCustomizeContext-DrIEpJKn.mjs} +4070 -8011
- 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 +10 -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 +6 -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-BQqwi8Oa.mjs} +180 -4
- package/dist/client/{DiscountCodeDisclosure-CfuPOHD0.mjs → DiscountCodeDisclosure-B97aMo0V.mjs} +13 -27
- package/dist/client/{EventCombined.client-DB8Qfzi-.mjs → EventCombined.client-Bs2Iw9Q6.mjs} +3 -3
- package/dist/client/{EventListing.client-DD4X8hp4.mjs → EventListing.client-C4QUQdmg.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-QhgIBQbv.mjs → LeafletStaticMap-CwWRk69M.mjs} +1 -1
- package/dist/client/{accordion-DFXpLvwg.mjs → accordion-BA0j8Mpw.mjs} +1 -1
- package/dist/client/{bookingForm-sI05d3lk.mjs → bookingForm-Br2e41H0.mjs} +6 -7
- package/dist/client/bookings.mjs +912 -1906
- package/dist/client/{carousel-wjyWTZCh.mjs → carousel-B4dmwnpD.mjs} +1 -1
- package/dist/client/{cart-DCwdpA4i.mjs → cart-B_ckGW4b.mjs} +3 -3
- package/dist/client/{checkout-DTDW3l0R.mjs → checkout-DAyspHdf.mjs} +3 -3
- package/dist/client/{checkoutUrls-DQYC_Br-.mjs → checkoutUrls-BuseL0dw.mjs} +4 -2
- package/dist/client/client.mjs +5074 -9309
- package/dist/client/{context-TSK1CGx8.mjs → context-DljQn8L5.mjs} +15 -69
- package/dist/client/{eventCalendar-B0Zg-i_w.mjs → eventCalendar-pJu3FUod.mjs} +5 -5
- package/dist/client/{eventCombined-B8Y2wizd.mjs → eventCombined-B6Kacm9F.mjs} +3 -3
- package/dist/client/{eventDetails-DPDOwURJ.mjs → eventDetails-CaX9z1pv.mjs} +8 -8
- package/dist/client/{eventListing-CjBcmSLn.mjs → eventListing-B9aXPO-I.mjs} +3 -3
- package/dist/client/{eventRegistration-CK30HsAq.mjs → eventRegistration-CBSovBkg.mjs} +4522 -3690
- package/dist/client/{form-CUXfsABE.mjs → form-Cm0tu_7o.mjs} +2 -2
- package/dist/client/{headerSection-N-mN3rjr.mjs → headerSection-OgRtHeKS.mjs} +2 -2
- package/dist/client/hooks.mjs +430 -692
- package/dist/client/{locationMap-oiIDQMBt.mjs → locationMap-DmjcYqNM.mjs} +2 -2
- package/dist/client/{newsletterForm-CkQ2tTrM.mjs → newsletterForm-D08OZQAC.mjs} +2 -2
- package/dist/client/{productDetail-CnidyrsN.mjs → productDetail-BqZeu2P4.mjs} +3 -3
- package/dist/client/{productList-CttYcS_S.mjs → productList-mNyIF9FG.mjs} +3 -3
- package/dist/client/{propsDecoder-CeUMxI9a.mjs → propsDecoder-DwHXRm9X.mjs} +4656 -4419
- package/dist/client/rendering/client.mjs +59504 -62158
- package/dist/client/rendering/islands.mjs +17 -19
- package/dist/client/rendering.mjs +5354 -9683
- package/dist/client/{scrollToBlock-lPr1oqxB.mjs → scrollToBlock-DtmdM3v-.mjs} +2 -2
- package/dist/client/{shop-DXQtMo2O.mjs → shop-CNjZK16F.mjs} +6 -6
- package/dist/client/{shop-commerce-quDL411J.mjs → shop-commerce-DkNNao1J.mjs} +6 -6
- package/dist/client/{shop-commerce-store-Dnu-8Iub.mjs → shop-commerce-store-9WA--zuW.mjs} +1 -1
- package/dist/client/{shopShared-BWPUURvG.mjs → shopShared-CHCVfccY.mjs} +3 -3
- package/dist/client/{useEventFilters-DRhWp2_5.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-Ca5RD78X.mjs → sdk-runtime-3GhW4knb.mjs} +2 -2
- package/dist/{separator-CMhj6BTi.mjs → separator-D3bCWYYb.mjs} +1 -1
- package/dist/server/components.mjs +535 -2950
- package/dist/server/config-validation.mjs +430 -692
- package/dist/server/config.mjs +430 -692
- package/dist/server/data.mjs +430 -692
- package/dist/server/index.mjs +41 -162
- package/dist/server/next.mjs +549 -2964
- package/dist/server/page-converter.mjs +331 -560
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +534 -2855
- package/dist/server/rendering.mjs +535 -2950
- package/dist/server/routing.mjs +574 -1065
- package/dist/server/server.mjs +444 -706
- 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,7 +21446,7 @@ 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,
|
|
@@ -21281,8 +21464,8 @@ z.discriminatedUnion("kind", [
|
|
|
21281
21464
|
label: z.string()
|
|
21282
21465
|
}),
|
|
21283
21466
|
z.object({
|
|
21284
|
-
kind: z.literal("
|
|
21285
|
-
display:
|
|
21467
|
+
kind: z.literal("whole_series"),
|
|
21468
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
21286
21469
|
})
|
|
21287
21470
|
]);
|
|
21288
21471
|
const publicEventTicketTypePriceDisplaySchema = z.union([
|
|
@@ -21384,10 +21567,10 @@ const publicEventPricingSchema = z.discriminatedUnion("kind", [
|
|
|
21384
21567
|
})
|
|
21385
21568
|
}),
|
|
21386
21569
|
z.object({
|
|
21387
|
-
kind: z.literal("
|
|
21570
|
+
kind: z.literal("whole_series"),
|
|
21388
21571
|
display: z.object({
|
|
21389
|
-
kind: z.literal("
|
|
21390
|
-
display:
|
|
21572
|
+
kind: z.literal("whole_series"),
|
|
21573
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
21391
21574
|
})
|
|
21392
21575
|
}),
|
|
21393
21576
|
z.object({
|
|
@@ -21804,7 +21987,8 @@ function resolveEventRegistrationScope(context) {
|
|
|
21804
21987
|
};
|
|
21805
21988
|
return { kind: "unscoped" };
|
|
21806
21989
|
}
|
|
21807
|
-
function
|
|
21990
|
+
function resolveEventRegistrationScopedEvents(events, context) {
|
|
21991
|
+
const scope = resolveEventRegistrationScope(context);
|
|
21808
21992
|
switch (scope.kind) {
|
|
21809
21993
|
case "occurrenceSeries":
|
|
21810
21994
|
case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
|
|
@@ -21816,9 +22000,6 @@ function applyEventRegistrationScope(events, scope) {
|
|
|
21816
22000
|
case "unscoped": return [...events];
|
|
21817
22001
|
}
|
|
21818
22002
|
}
|
|
21819
|
-
function resolveEventRegistrationScopedEvents(events, context) {
|
|
21820
|
-
return applyEventRegistrationScope(events, resolveEventRegistrationScope(context));
|
|
21821
|
-
}
|
|
21822
22003
|
//#endregion
|
|
21823
22004
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationSurface.ts
|
|
21824
22005
|
function planEventRegistrationScope(input) {
|
|
@@ -21912,14 +22093,14 @@ function isRecord$4(value) {
|
|
|
21912
22093
|
}
|
|
21913
22094
|
function isPublicEventPricing(value) {
|
|
21914
22095
|
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 === "
|
|
22096
|
+
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
22097
|
}
|
|
21917
22098
|
function isPublicEventTicketType(value) {
|
|
21918
22099
|
return isRecord$4(value) && typeof value.id === "string";
|
|
21919
22100
|
}
|
|
21920
22101
|
function readTicketTypePriceDisplay(value, currency) {
|
|
21921
22102
|
const display = readLegacyPriceDisplay(value, currency);
|
|
21922
|
-
return display.kind === "
|
|
22103
|
+
return display.kind === "whole_series" || display.kind === "external" ? {
|
|
21923
22104
|
kind: "unavailable",
|
|
21924
22105
|
currency
|
|
21925
22106
|
} : display;
|
|
@@ -21977,11 +22158,11 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
21977
22158
|
kind: "unavailable",
|
|
21978
22159
|
currency: displayCurrency
|
|
21979
22160
|
};
|
|
21980
|
-
case "
|
|
21981
|
-
kind: "
|
|
22161
|
+
case "whole_series": return isRecord$4(value.display) ? {
|
|
22162
|
+
kind: "whole_series",
|
|
21982
22163
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
21983
22164
|
} : {
|
|
21984
|
-
kind: "
|
|
22165
|
+
kind: "whole_series",
|
|
21985
22166
|
display: {
|
|
21986
22167
|
kind: "unavailable",
|
|
21987
22168
|
currency: displayCurrency
|
|
@@ -22107,7 +22288,7 @@ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
|
22107
22288
|
//#endregion
|
|
22108
22289
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
22109
22290
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
22110
|
-
return event.
|
|
22291
|
+
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
22111
22292
|
}
|
|
22112
22293
|
function findPreSelectedEvent(input) {
|
|
22113
22294
|
const occurrenceContext = input.occurrenceContext;
|
|
@@ -22133,12 +22314,127 @@ function toRegistrationEvent(event) {
|
|
|
22133
22314
|
return {
|
|
22134
22315
|
...event,
|
|
22135
22316
|
pricing: resolveRuntimeEventPricing(event),
|
|
22136
|
-
|
|
22137
|
-
|
|
22317
|
+
selectionId: event.id,
|
|
22318
|
+
registrationSubject: {
|
|
22319
|
+
kind: "occurrence",
|
|
22320
|
+
occurrenceId: event.occurrenceId
|
|
22321
|
+
}
|
|
22138
22322
|
};
|
|
22139
22323
|
}
|
|
22140
22324
|
function toRegistrationEvents(events) {
|
|
22141
|
-
return events.map(toRegistrationEvent);
|
|
22325
|
+
return events.filter((event) => event.bookingScope === "single_occurrence").map(toRegistrationEvent);
|
|
22326
|
+
}
|
|
22327
|
+
function toWholeSeriesTicketType(option) {
|
|
22328
|
+
return {
|
|
22329
|
+
...option,
|
|
22330
|
+
capacityMode: option.capacityLimit === null ? "unlimited" : "limited",
|
|
22331
|
+
attendanceScope: option.attendanceScope ?? void 0,
|
|
22332
|
+
availability: {
|
|
22333
|
+
kind: "available",
|
|
22334
|
+
remainingCapacity: option.capacityLimit
|
|
22335
|
+
}
|
|
22336
|
+
};
|
|
22337
|
+
}
|
|
22338
|
+
function toWholeSeriesPricing(offering) {
|
|
22339
|
+
const resolved = resolveWholeSeriesPricingState(offering);
|
|
22340
|
+
switch (offering.pricing.pricingStrategy) {
|
|
22341
|
+
case "free": return {
|
|
22342
|
+
kind: "free_registration",
|
|
22343
|
+
currency: offering.currency,
|
|
22344
|
+
display: {
|
|
22345
|
+
kind: "free",
|
|
22346
|
+
currency: offering.currency
|
|
22347
|
+
}
|
|
22348
|
+
};
|
|
22349
|
+
case "single": {
|
|
22350
|
+
const amount = offering.pricing.singlePriceAmount ?? 0;
|
|
22351
|
+
return amount === 0 ? {
|
|
22352
|
+
kind: "free_registration",
|
|
22353
|
+
currency: offering.currency,
|
|
22354
|
+
display: {
|
|
22355
|
+
kind: "free",
|
|
22356
|
+
currency: offering.currency
|
|
22357
|
+
}
|
|
22358
|
+
} : {
|
|
22359
|
+
kind: "single_paid",
|
|
22360
|
+
amount,
|
|
22361
|
+
currency: offering.currency,
|
|
22362
|
+
display: {
|
|
22363
|
+
kind: "exact",
|
|
22364
|
+
amount,
|
|
22365
|
+
currency: offering.currency
|
|
22366
|
+
}
|
|
22367
|
+
};
|
|
22368
|
+
}
|
|
22369
|
+
case "tiered": return {
|
|
22370
|
+
kind: "ticket_types",
|
|
22371
|
+
currency: offering.currency,
|
|
22372
|
+
ticketTypes: resolved.selectableOptions.map((option) => toWholeSeriesTicketType(option)),
|
|
22373
|
+
display: resolved.display
|
|
22374
|
+
};
|
|
22375
|
+
case "sliding_scale": return {
|
|
22376
|
+
kind: "sliding_scale",
|
|
22377
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
22378
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
22379
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null,
|
|
22380
|
+
currency: offering.currency,
|
|
22381
|
+
display: {
|
|
22382
|
+
kind: "range",
|
|
22383
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
22384
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
22385
|
+
currency: offering.currency
|
|
22386
|
+
}
|
|
22387
|
+
};
|
|
22388
|
+
}
|
|
22389
|
+
}
|
|
22390
|
+
function toAttendanceModes(offering) {
|
|
22391
|
+
return (offering.deliveryMode === "hybrid" ? ["in_person", "online"] : [offering.deliveryMode]).map((mode) => ({
|
|
22392
|
+
mode,
|
|
22393
|
+
capacity: offering.enrollmentCapacity,
|
|
22394
|
+
registeredCount: offering.enrolledCount,
|
|
22395
|
+
availableSpots: offering.availableSpots,
|
|
22396
|
+
waitlistEnabled: offering.waitlistEnabled
|
|
22397
|
+
}));
|
|
22398
|
+
}
|
|
22399
|
+
function toWholeSeriesRegistrationEvent(offering) {
|
|
22400
|
+
const firstSession = offering.sessions[0];
|
|
22401
|
+
const lastSession = offering.sessions[offering.sessions.length - 1];
|
|
22402
|
+
return {
|
|
22403
|
+
selectionId: offering.eventSeriesId,
|
|
22404
|
+
registrationSubject: {
|
|
22405
|
+
kind: "wholeSeries",
|
|
22406
|
+
eventSeriesId: offering.eventSeriesId,
|
|
22407
|
+
sessions: offering.sessions
|
|
22408
|
+
},
|
|
22409
|
+
seriesId: offering.eventSeriesId,
|
|
22410
|
+
title: offering.title,
|
|
22411
|
+
startsAt: firstSession?.startsAt ?? "",
|
|
22412
|
+
endsAt: lastSession?.endsAt ?? firstSession?.endsAt ?? "",
|
|
22413
|
+
bookingAvailability: offering.enrollmentOpen ? { kind: "open" } : {
|
|
22414
|
+
kind: "closed",
|
|
22415
|
+
reason: "enrollment_closed"
|
|
22416
|
+
},
|
|
22417
|
+
deliveryMode: offering.deliveryMode,
|
|
22418
|
+
attendanceModes: toAttendanceModes(offering),
|
|
22419
|
+
capacity: offering.enrollmentCapacity,
|
|
22420
|
+
registeredCount: offering.enrolledCount,
|
|
22421
|
+
availableSpots: offering.availableSpots,
|
|
22422
|
+
waitlistEnabled: offering.waitlistEnabled,
|
|
22423
|
+
venue: offering.venue ? {
|
|
22424
|
+
...offering.venue,
|
|
22425
|
+
location: null
|
|
22426
|
+
} : null,
|
|
22427
|
+
eventCategory: null,
|
|
22428
|
+
teamMembers: offering.teamMembers,
|
|
22429
|
+
status: offering.status,
|
|
22430
|
+
timeZone: firstSession?.timeZone ?? "UTC",
|
|
22431
|
+
pricing: toWholeSeriesPricing(offering),
|
|
22432
|
+
paymentTerms: offering.paymentTerms,
|
|
22433
|
+
consent: offering.consent,
|
|
22434
|
+
requireGuestDetails: offering.requireGuestDetails,
|
|
22435
|
+
acceptsPasses: false,
|
|
22436
|
+
acceptsMemberships: offering.acceptsMemberships
|
|
22437
|
+
};
|
|
22142
22438
|
}
|
|
22143
22439
|
//#endregion
|
|
22144
22440
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
@@ -22164,11 +22460,7 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
22164
22460
|
maxTickets: z.string().optional(),
|
|
22165
22461
|
showVenue: z.boolean().optional(),
|
|
22166
22462
|
showCapacity: z.boolean().optional(),
|
|
22167
|
-
showSessions: z.boolean().optional(),
|
|
22168
|
-
showPrice: z.boolean().optional(),
|
|
22169
22463
|
successMessage: z.string().optional(),
|
|
22170
|
-
waitlistMessage: z.string().optional(),
|
|
22171
|
-
membershipMessage: z.string().optional(),
|
|
22172
22464
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
22173
22465
|
overlayEnabled: z.boolean().optional(),
|
|
22174
22466
|
spamProtectionEnabled: z.boolean().optional(),
|
|
@@ -22238,6 +22530,15 @@ function resolveWholeSeriesOffering(source) {
|
|
|
22238
22530
|
return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
|
|
22239
22531
|
}
|
|
22240
22532
|
function buildEventRegistrationShellStepLabels(source) {
|
|
22533
|
+
const selectedOffering = resolveWholeSeriesOffering(source);
|
|
22534
|
+
if (selectedOffering) {
|
|
22535
|
+
const selectedEvent = toWholeSeriesRegistrationEvent(selectedOffering);
|
|
22536
|
+
return getWizardStepsForContext(true, resolveEventRequiresPayment({
|
|
22537
|
+
eligibility: null,
|
|
22538
|
+
selectedTicketType: null,
|
|
22539
|
+
event: selectedEvent
|
|
22540
|
+
})).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
|
|
22541
|
+
}
|
|
22241
22542
|
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
22242
22543
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
22243
22544
|
const preSelectedEvent = findPreSelectedEvent({
|
|
@@ -22301,11 +22602,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
22301
22602
|
maxTickets: source.maxTickets ?? void 0,
|
|
22302
22603
|
showVenue: source.showVenue,
|
|
22303
22604
|
showCapacity: source.showCapacity,
|
|
22304
|
-
showSessions: source.showSessions,
|
|
22305
|
-
showPrice: source.showPrice,
|
|
22306
22605
|
successMessage: source.successMessage,
|
|
22307
|
-
waitlistMessage: source.waitlistMessage,
|
|
22308
|
-
membershipMessage: source.membershipMessage,
|
|
22309
22606
|
buttonVariant: source.buttonVariant,
|
|
22310
22607
|
overlayEnabled: source.overlayEnabled,
|
|
22311
22608
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
@@ -22421,24 +22718,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
22421
22718
|
defaultValue: true,
|
|
22422
22719
|
ui: { intent: "display" }
|
|
22423
22720
|
},
|
|
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
22721
|
{
|
|
22443
22722
|
id: "successMessage",
|
|
22444
22723
|
type: "text",
|
|
@@ -22449,26 +22728,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
22449
22728
|
defaultValue: "Thank you for registering! Check your email for confirmation details.",
|
|
22450
22729
|
maxLength: 500
|
|
22451
22730
|
},
|
|
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
22731
|
{
|
|
22473
22732
|
id: "buttonText",
|
|
22474
22733
|
type: "text",
|
|
@@ -22500,11 +22759,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
22500
22759
|
} },
|
|
22501
22760
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22502
22761
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
22503
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
22504
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
22505
22762
|
successMessage: { $bind: { from: "content.successMessage" } },
|
|
22506
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
22507
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
22508
22763
|
buttonText: { $bind: {
|
|
22509
22764
|
from: "content.buttonText",
|
|
22510
22765
|
fallback: "Complete Registration"
|
|
@@ -22621,254 +22876,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
22621
22876
|
}
|
|
22622
22877
|
};
|
|
22623
22878
|
//#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
22879
|
//#region ../blocks/src/system/blocks/event-details.ts
|
|
22873
22880
|
/**
|
|
22874
22881
|
* Event Details Block
|
|
@@ -23115,200 +23122,6 @@ const eventDetailsBlockDefinition = {
|
|
|
23115
23122
|
mode: "server"
|
|
23116
23123
|
} }
|
|
23117
23124
|
};
|
|
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
23125
|
const eventSpotlightBlockDefinition = {
|
|
23313
23126
|
manifest: createBlockManifest({
|
|
23314
23127
|
id: "block.event-spotlight",
|
|
@@ -25810,7 +25623,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
25810
25623
|
fallback: "published"
|
|
25811
25624
|
} },
|
|
25812
25625
|
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
25813
|
-
|
|
25626
|
+
wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
|
|
25814
25627
|
...offeringsPreviewEventDataBindings
|
|
25815
25628
|
})
|
|
25816
25629
|
], { gap: "lg" }),
|
|
@@ -25827,7 +25640,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
25827
25640
|
dataSchemas: {
|
|
25828
25641
|
...offeringsPreviewEventDataSchemas,
|
|
25829
25642
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
25830
|
-
|
|
25643
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
|
|
25831
25644
|
},
|
|
25832
25645
|
dataLoaders: {
|
|
25833
25646
|
...offeringsPreviewEventDataLoaders,
|
|
@@ -25836,7 +25649,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
25836
25649
|
params: {},
|
|
25837
25650
|
mode: "server"
|
|
25838
25651
|
},
|
|
25839
|
-
|
|
25652
|
+
wholeSeriesOfferings: {
|
|
25840
25653
|
endpoint: "listPublicWholeSeriesOfferings",
|
|
25841
25654
|
params: {
|
|
25842
25655
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
@@ -30803,22 +30616,6 @@ const systemBlockDefinitions = [
|
|
|
30803
30616
|
weight: "standard"
|
|
30804
30617
|
})]
|
|
30805
30618
|
})),
|
|
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
30619
|
withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
|
|
30823
30620
|
flow: offeringsFlow,
|
|
30824
30621
|
layoutProfiles: [layoutProfile({
|
|
@@ -31206,32 +31003,6 @@ let cachedBlockSummaries;
|
|
|
31206
31003
|
*/
|
|
31207
31004
|
function getBuiltInContentTypes() {
|
|
31208
31005
|
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
31006
|
{
|
|
31236
31007
|
key: "event",
|
|
31237
31008
|
name: "Event",
|