@riverbankcms/sdk 0.132.0 → 0.135.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -3
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-DKQ5eFK9.mjs → PreviewEditorSidebar-roNY0GVy.mjs} +4 -4
- package/dist/{PreviewEditorUI-CNTcOjCC.mjs → PreviewEditorUI-KboDbEh_.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DJu3qu33.mjs → SdkPreviewModeRuntime-DBrF7Caa.mjs} +48 -17
- package/dist/{SiteChromeCustomizeContext-2TzT3vbj.mjs → SiteChromeCustomizeContext-DrIEpJKn.mjs} +4351 -7964
- package/dist/_dts/ai/src/contracts/proposals.d.ts +549 -549
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +234 -234
- package/dist/_dts/api/src/accountApi.d.ts +5 -5
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +25 -60
- package/dist/_dts/api/src/bookingOperations.d.ts +111 -173
- package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +123 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +13 -13
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
- package/dist/_dts/api/src/bookingSessionSummaryTypes.d.ts +34 -0
- package/dist/_dts/api/src/bookings.d.ts +7 -11
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -7
- package/dist/_dts/api/src/communications.d.ts +1 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
- package/dist/_dts/api/src/endpoints.d.ts +30 -110
- package/dist/_dts/api/src/eventManagementContracts.d.ts +1 -1
- package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +43 -0
- package/dist/_dts/api/src/index.d.ts +3 -4
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/navigation/contracts.d.ts +9 -6
- package/dist/_dts/api/src/navigation/linkResolver.d.ts +6 -2
- package/dist/_dts/api/src/navigation/types.d.ts +23 -6
- package/dist/_dts/api/src/navigation.d.ts +1 -1
- package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
- package/dist/_dts/api/src/publicBookingService.d.ts +15 -0
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +32 -28
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +88 -6
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +1 -1
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +9 -98
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +7 -6
- package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -32
- package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +1 -1
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
- package/dist/_dts/api/src/sdkThemeWire.d.ts +50 -50
- package/dist/_dts/api/src/siteBanner.d.ts +4 -2
- package/dist/_dts/api/src/siteOperations.d.ts +2 -2
- package/dist/_dts/api/src/types.d.ts +2 -2
- package/dist/_dts/api/src/webhooks.d.ts +12 -12
- package/dist/_dts/api/src/{courses.d.ts → wholeSeriesOfferings.d.ts} +43 -95
- package/dist/_dts/blocks/src/client.d.ts +1 -6
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +33 -166
- package/dist/_dts/blocks/src/index.d.ts +3 -2
- package/dist/_dts/blocks/src/portal/dateFormatting.d.ts +3 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +17 -20
- package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -2
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +147 -42
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +46 -24
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +6 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +148 -148
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +5 -4
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/shared/bookingConsent.d.ts +36 -0
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/hydrateLinks.d.ts +9 -2
- package/dist/_dts/blocks/src/system/manifest/resolveBlockData.d.ts +8 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +79 -79
- package/dist/_dts/blocks/src/system/node/builder.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +9 -12
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +2 -44
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -11
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +100 -59
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +19 -16
- package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/DynamicFormFields.d.ts +3 -19
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -247
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +13 -126
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.consent.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.field-values.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.fields.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +38 -144
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -19
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +1 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +7 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +7 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +18 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +12 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +53 -45
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +10 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +24 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +5 -56
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/validation.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +20 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +6 -22
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +40 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +6 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingConsentAgreement.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +1 -13
- package/dist/_dts/blocks/src/system/runtime/shared/components/LoggedInAsUser.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/shared/utils/checkoutUrls.d.ts +2 -2
- package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
- package/dist/_dts/commerce/src/index.d.ts +16 -0
- package/dist/_dts/commerce/src/money.d.ts +122 -0
- package/dist/_dts/commerce/src/moneyContracts.d.ts +178 -0
- package/dist/_dts/commerce/src/moneyDateUtils.d.ts +22 -0
- package/dist/_dts/commerce/src/moneyPayments.d.ts +59 -0
- package/dist/_dts/commerce/src/moneyPlanningTime.d.ts +4 -0
- package/dist/_dts/commerce/src/moneyReceiptReadModel.d.ts +68 -0
- package/dist/_dts/commerce/src/moneyReport.d.ts +105 -0
- package/dist/_dts/commerce/src/moneyReportBreakdowns.d.ts +3 -0
- package/dist/_dts/commerce/src/moneyReportKindFilter.d.ts +4 -0
- package/dist/_dts/commerce/src/moneyReportPage.d.ts +132 -0
- package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +3 -3
- package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +6 -25
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -4
- package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +11 -11
- package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/types.d.ts +12 -8
- package/dist/_dts/commerce/src/shop/digitalFulfillment.d.ts +111 -0
- package/dist/_dts/commerce/src/shop/fulfillmentStatus.d.ts +10 -0
- package/dist/_dts/commerce/src/shop/inventoryRestore.d.ts +13 -0
- package/dist/_dts/commerce/src/shop/shippingAddress.d.ts +18 -0
- package/dist/_dts/commerce/src/types/json.d.ts +3 -0
- package/dist/_dts/commerce/src/utils/isPlainRecord.d.ts +1 -0
- package/dist/_dts/commerce/src/waitlists.d.ts +172 -0
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -30
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +2 -39
- package/dist/_dts/content-model/src/content-types/schema.d.ts +4 -4
- package/dist/_dts/content-model/src/metadataConfig.d.ts +0 -1
- package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -68
- package/dist/_dts/core/src/booking-consent.d.ts +8 -0
- package/dist/_dts/core/src/branded.d.ts +3 -3
- package/dist/_dts/core/src/event-pricing.d.ts +6 -6
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/participants.d.ts +17 -17
- package/dist/_dts/core/src/rectification.d.ts +1 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +899 -2157
- package/dist/_dts/db/src/schemas/forms.d.ts +21 -21
- package/dist/_dts/db/src/types/jsonb.d.ts +1 -1
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +2 -1
- package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +2 -1
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +3 -2
- package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +3 -4
- package/dist/_dts/media-core/src/usageScanner.d.ts +1 -1
- package/dist/_dts/sdk/src/bookings/index.d.ts +4 -5
- package/dist/_dts/sdk/src/bookings/types.d.ts +8 -60
- package/dist/_dts/sdk/src/config/validation.d.ts +30 -30
- package/dist/_dts/sdk/src/contracts/content.d.ts +10 -36
- package/dist/_dts/sdk/src/contracts/rendering.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +9 -9
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -19
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +4 -6
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +0 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -12
- package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -72
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/schema.d.ts +82 -82
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/client/{usePolling-M5jG675x.mjs → BookingConsentAgreement-BQqwi8Oa.mjs} +180 -4
- package/dist/client/{DiscountCodeDisclosure-DO7llLxm.mjs → DiscountCodeDisclosure-B97aMo0V.mjs} +13 -27
- package/dist/client/{EventCombined.client-xID7zN__.mjs → EventCombined.client-Bs2Iw9Q6.mjs} +3 -3
- package/dist/client/{EventListing.client-CriBslp0.mjs → EventListing.client-C4QUQdmg.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DYmHnM8g.mjs → LeafletStaticMap-CwWRk69M.mjs} +1 -1
- package/dist/client/{accordion-CgFbnnnQ.mjs → accordion-BA0j8Mpw.mjs} +1 -1
- package/dist/client/{bookingForm-dUyGpbxc.mjs → bookingForm-Br2e41H0.mjs} +72 -47
- package/dist/client/bookings.mjs +1987 -2132
- package/dist/client/{carousel-BvBwkUzx.mjs → carousel-B4dmwnpD.mjs} +1 -1
- package/dist/client/{cart-DiZENT2E.mjs → cart-B_ckGW4b.mjs} +3 -3
- package/dist/client/{checkout-Dq13KIgR.mjs → checkout-DAyspHdf.mjs} +3 -3
- package/dist/client/checkoutUrls-BuseL0dw.mjs +189 -0
- package/dist/client/client.mjs +5627 -9543
- package/dist/client/{context-B83PiNzm.mjs → context-DljQn8L5.mjs} +15 -82
- package/dist/client/{eventCalendar-BF0Jatfw.mjs → eventCalendar-pJu3FUod.mjs} +5 -5
- package/dist/client/{eventCombined-BuoCF8je.mjs → eventCombined-B6Kacm9F.mjs} +3 -3
- package/dist/client/{eventDetails-CKwh0S9s.mjs → eventDetails-CaX9z1pv.mjs} +8 -8
- package/dist/client/{eventListing-eUxaWFaB.mjs → eventListing-B9aXPO-I.mjs} +3 -3
- package/dist/client/{eventRegistration-CfkNOkPb.mjs → eventRegistration-CBSovBkg.mjs} +4550 -3671
- package/dist/client/{form-C17H1c_H.mjs → form-Cm0tu_7o.mjs} +2 -2
- package/dist/client/{headerSection-DEwUmrtt.mjs → headerSection-OgRtHeKS.mjs} +2 -2
- package/dist/client/hooks.mjs +535 -694
- package/dist/client/{locationMap-Pf2QwuvW.mjs → locationMap-DmjcYqNM.mjs} +2 -2
- package/dist/client/{newsletterForm-BWQAH5Sv.mjs → newsletterForm-D08OZQAC.mjs} +2 -2
- package/dist/client/{productDetail-BZi1Fa_G.mjs → productDetail-BqZeu2P4.mjs} +3 -3
- package/dist/client/{productList-qq-55DNk.mjs → productList-mNyIF9FG.mjs} +3 -3
- package/dist/client/{propsDecoder-BxmqPKdP.mjs → propsDecoder-DwHXRm9X.mjs} +4850 -4502
- package/dist/client/rendering/client.mjs +59921 -62298
- package/dist/client/rendering/islands.mjs +17 -19
- package/dist/client/rendering.mjs +6226 -10236
- package/dist/client/{scrollToBlock-B3CcKdtG.mjs → scrollToBlock-DtmdM3v-.mjs} +2 -2
- package/dist/client/{shop-DNWJPut5.mjs → shop-CNjZK16F.mjs} +6 -6
- package/dist/client/{shop-commerce-BhvQCosS.mjs → shop-commerce-DkNNao1J.mjs} +7 -164
- package/dist/client/{shop-commerce-store-B04sCNnW.mjs → shop-commerce-store-9WA--zuW.mjs} +1 -1
- package/dist/client/{shopShared-DNNgZlmW.mjs → shopShared-CHCVfccY.mjs} +3 -3
- package/dist/client/{useEventFilters-CUmhE24_.mjs → useEventFilters-DvuaB4ZN.mjs} +3 -3
- package/dist/preview-next/before-render.mjs +40 -161
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +40 -161
- package/dist/preview-next/middleware.mjs +40 -161
- package/dist/{previewAuthStore-BFKd4LrN.mjs → previewAuthStore-C7ksxt5b.mjs} +40 -161
- package/dist/{sdk-runtime-BEXb1wqo.mjs → sdk-runtime-3GhW4knb.mjs} +2 -2
- package/dist/{separator-DGMuip1D.mjs → separator-D3bCWYYb.mjs} +1 -1
- package/dist/server/components.mjs +634 -2969
- package/dist/server/config-validation.mjs +535 -694
- package/dist/server/config.mjs +535 -694
- package/dist/server/data.mjs +535 -694
- package/dist/server/index.mjs +41 -162
- package/dist/server/next.mjs +644 -2979
- package/dist/server/page-converter.mjs +435 -561
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +635 -2874
- package/dist/server/rendering.mjs +634 -2969
- package/dist/server/routing.mjs +706 -1138
- package/dist/server/server.mjs +549 -708
- package/dist/server/theme-bridge.mjs +152 -1635
- package/dist/styles/index.css +41 -1348
- package/package.json +2 -2
- package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +0 -99
- package/dist/_dts/blocks/src/client/course-registration.d.ts +0 -5
- package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -134
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -130
- package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
- package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +0 -2
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +0 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -133
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -28
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +0 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +0 -20
- package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +0 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -181
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +0 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/BookingModeStep.d.ts +0 -32
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/CheckIcon.d.ts +0 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/ErrorStep.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/MembershipHero.d.ts +0 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PaymentFailedStep.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PortalAuthSidebar.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +0 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/SuccessStep.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/VerifyingTimeoutStep.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WaitlistStep.d.ts +0 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts +0 -25
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +0 -45
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/index.d.ts +0 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +0 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/types.d.ts +0 -105
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesEligibility.d.ts +0 -24
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +0 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +0 -35
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts +0 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +0 -35
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +0 -185
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/utils.d.ts +0 -43
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +0 -323
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.planning.d.ts +0 -27
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +0 -17
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts +0 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wizardSteps.d.ts +0 -30
- package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +0 -3
- package/dist/_dts/theme-core/src/blocks/vars/course-details.d.ts +0 -16
- package/dist/_dts/theme-core/src/blocks/vars/course-registration.d.ts +0 -21
- package/dist/client/StepIndicator-CGixP_LW.mjs +0 -138
- package/dist/client/WholeSeriesRegistrationWizard-BEjzSiOA.mjs +0 -2496
- package/dist/client/checkoutUrls-Ct8Mxna3.mjs +0 -26
- package/dist/client/courseRegistration-CKC5NmyH.mjs +0 -52
- package/dist/client/pricing-CVdvbopJ.mjs +0 -195
package/dist/server/server.mjs
CHANGED
|
@@ -804,69 +804,8 @@ const ACCOUNT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
804
804
|
}
|
|
805
805
|
});
|
|
806
806
|
//#endregion
|
|
807
|
-
//#region ../api/src/
|
|
808
|
-
const
|
|
809
|
-
listCourses: {
|
|
810
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
811
|
-
method: "GET",
|
|
812
|
-
auth: "user",
|
|
813
|
-
responseKind: "json"
|
|
814
|
-
},
|
|
815
|
-
exportCoursesCsv: {
|
|
816
|
-
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
817
|
-
method: "GET",
|
|
818
|
-
tags: [
|
|
819
|
-
"site-{siteId}",
|
|
820
|
-
"bookings",
|
|
821
|
-
"courses-{siteId}"
|
|
822
|
-
],
|
|
823
|
-
errors: [],
|
|
824
|
-
auth: "user",
|
|
825
|
-
responseKind: "blob"
|
|
826
|
-
},
|
|
827
|
-
createCourse: {
|
|
828
|
-
path: "/sites/{siteId}/bookings/courses",
|
|
829
|
-
method: "POST",
|
|
830
|
-
auth: "user",
|
|
831
|
-
responseKind: "json",
|
|
832
|
-
errors: [
|
|
833
|
-
"validation:invalid_input",
|
|
834
|
-
"resource:not_found",
|
|
835
|
-
"resource:already_exists",
|
|
836
|
-
"resource:conflict",
|
|
837
|
-
"server:internal_error"
|
|
838
|
-
]
|
|
839
|
-
},
|
|
840
|
-
getCourse: {
|
|
841
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
842
|
-
method: "GET",
|
|
843
|
-
auth: "user",
|
|
844
|
-
responseKind: "json"
|
|
845
|
-
},
|
|
846
|
-
updateCourse: {
|
|
847
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
848
|
-
method: "PATCH",
|
|
849
|
-
auth: "user",
|
|
850
|
-
responseKind: "json",
|
|
851
|
-
errors: [
|
|
852
|
-
"validation:invalid_input",
|
|
853
|
-
"resource:not_found",
|
|
854
|
-
"resource:conflict",
|
|
855
|
-
"server:internal_error"
|
|
856
|
-
]
|
|
857
|
-
},
|
|
858
|
-
deleteCourse: {
|
|
859
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}",
|
|
860
|
-
method: "DELETE",
|
|
861
|
-
auth: "user",
|
|
862
|
-
responseKind: "json",
|
|
863
|
-
errors: [
|
|
864
|
-
"validation:invalid_input",
|
|
865
|
-
"resource:not_found",
|
|
866
|
-
"resource:conflict",
|
|
867
|
-
"server:internal_error"
|
|
868
|
-
]
|
|
869
|
-
},
|
|
807
|
+
//#region ../api/src/eventSeriesRegistrationEndpointDefinitions.ts
|
|
808
|
+
const EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
870
809
|
deleteEventOffering: {
|
|
871
810
|
path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}",
|
|
872
811
|
method: "DELETE",
|
|
@@ -879,20 +818,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
879
818
|
"server:internal_error"
|
|
880
819
|
]
|
|
881
820
|
},
|
|
882
|
-
|
|
883
|
-
path: "/sites/{siteId}/bookings/
|
|
884
|
-
method: "POST",
|
|
885
|
-
auth: "user",
|
|
886
|
-
responseKind: "json",
|
|
887
|
-
errors: [
|
|
888
|
-
"validation:invalid_input",
|
|
889
|
-
"resource:not_found",
|
|
890
|
-
"resource:already_exists",
|
|
891
|
-
"server:internal_error"
|
|
892
|
-
]
|
|
893
|
-
},
|
|
894
|
-
changeCourseContentOwnership: {
|
|
895
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/content-ownership",
|
|
821
|
+
changeEventSeriesContentOwnership: {
|
|
822
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/content-ownership",
|
|
896
823
|
method: "POST",
|
|
897
824
|
auth: "user",
|
|
898
825
|
responseKind: "json",
|
|
@@ -903,8 +830,8 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
903
830
|
"server:internal_error"
|
|
904
831
|
]
|
|
905
832
|
},
|
|
906
|
-
|
|
907
|
-
path: "/sites/{siteId}/bookings/
|
|
833
|
+
addEventSeriesRegistration: {
|
|
834
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
908
835
|
method: "POST",
|
|
909
836
|
auth: "user",
|
|
910
837
|
responseKind: "json",
|
|
@@ -915,33 +842,21 @@ const COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
915
842
|
"server:internal_error"
|
|
916
843
|
]
|
|
917
844
|
},
|
|
918
|
-
|
|
919
|
-
path: "/sites/{siteId}/bookings/
|
|
845
|
+
listEventSeriesRegistrations: {
|
|
846
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
|
|
920
847
|
method: "GET",
|
|
921
848
|
auth: "user",
|
|
922
849
|
responseKind: "json"
|
|
923
850
|
},
|
|
924
|
-
|
|
925
|
-
path: "/sites/{siteId}/bookings/
|
|
851
|
+
exportEventSeriesRegistrationsCsv: {
|
|
852
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/export.csv",
|
|
926
853
|
method: "GET",
|
|
927
854
|
auth: "user",
|
|
928
855
|
errors: [],
|
|
929
856
|
responseKind: "blob"
|
|
930
857
|
},
|
|
931
|
-
|
|
932
|
-
path: "/sites/{siteId}/bookings/
|
|
933
|
-
method: "GET",
|
|
934
|
-
tags: [
|
|
935
|
-
"site-{siteId}",
|
|
936
|
-
"bookings",
|
|
937
|
-
"courses-{courseId}"
|
|
938
|
-
],
|
|
939
|
-
auth: "user",
|
|
940
|
-
responseKind: "blob",
|
|
941
|
-
errors: []
|
|
942
|
-
},
|
|
943
|
-
updateCourseEnrollment: {
|
|
944
|
-
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
858
|
+
updateEventSeriesRegistration: {
|
|
859
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
|
|
945
860
|
method: "PATCH",
|
|
946
861
|
auth: "user",
|
|
947
862
|
responseKind: "json",
|
|
@@ -1329,71 +1244,35 @@ const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
|
1329
1244
|
errors: ["resource:not_found", "server:internal_error"],
|
|
1330
1245
|
auth: "public",
|
|
1331
1246
|
responseKind: "json"
|
|
1332
|
-
}
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
"auth:forbidden",
|
|
1340
|
-
"validation:invalid_input",
|
|
1341
|
-
"resource:not_found",
|
|
1342
|
-
"resource:conflict",
|
|
1343
|
-
"resource:already_exists",
|
|
1344
|
-
"server:internal_error"
|
|
1345
|
-
],
|
|
1346
|
-
auth: "public",
|
|
1347
|
-
responseKind: "json"
|
|
1348
|
-
},
|
|
1349
|
-
checkWholeSeriesEligibility: {
|
|
1350
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/check-eligibility",
|
|
1351
|
-
method: "POST",
|
|
1352
|
-
tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
|
|
1353
|
-
errors: [
|
|
1354
|
-
"auth:unauthenticated",
|
|
1355
|
-
"resource:not_found",
|
|
1356
|
-
"resource:conflict",
|
|
1357
|
-
"server:internal_error"
|
|
1358
|
-
],
|
|
1359
|
-
auth: "public",
|
|
1360
|
-
responseKind: "json"
|
|
1361
|
-
},
|
|
1362
|
-
createWholeSeriesCheckout: {
|
|
1363
|
-
path: "/public/sites/{siteId}/dated-offerings/whole-series/checkout",
|
|
1247
|
+
}
|
|
1248
|
+
});
|
|
1249
|
+
//#endregion
|
|
1250
|
+
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
1251
|
+
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1252
|
+
getPublicEventRegistrationOptions: {
|
|
1253
|
+
path: "/public/sites/{siteId}/events/registration-options",
|
|
1364
1254
|
method: "POST",
|
|
1365
|
-
tags: [TAG_TEMPLATES.
|
|
1255
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-registration-options"],
|
|
1366
1256
|
auth: "public",
|
|
1367
1257
|
responseKind: "json",
|
|
1368
1258
|
errors: [
|
|
1369
|
-
"auth:unauthenticated",
|
|
1370
1259
|
"validation:invalid_input",
|
|
1371
1260
|
"resource:not_found",
|
|
1372
1261
|
"resource:conflict",
|
|
1373
1262
|
"server:internal_error"
|
|
1374
1263
|
]
|
|
1375
1264
|
},
|
|
1376
|
-
|
|
1377
|
-
path: "/public/sites/{siteId}/
|
|
1265
|
+
resolveEventSubroute: {
|
|
1266
|
+
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
1378
1267
|
method: "GET",
|
|
1379
|
-
|
|
1380
|
-
|
|
1268
|
+
revalidate: 60,
|
|
1269
|
+
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
1381
1270
|
auth: "public",
|
|
1382
|
-
responseKind: "json"
|
|
1271
|
+
responseKind: "json",
|
|
1272
|
+
errors: []
|
|
1383
1273
|
}
|
|
1384
1274
|
});
|
|
1385
1275
|
//#endregion
|
|
1386
|
-
//#region ../api/src/publicEventEndpointDefinitions.ts
|
|
1387
|
-
const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ resolveEventSubroute: {
|
|
1388
|
-
path: "/public/sites/{siteId}/events/subroutes/resolve",
|
|
1389
|
-
method: "GET",
|
|
1390
|
-
revalidate: 60,
|
|
1391
|
-
tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
|
|
1392
|
-
auth: "public",
|
|
1393
|
-
responseKind: "json",
|
|
1394
|
-
errors: []
|
|
1395
|
-
} });
|
|
1396
|
-
//#endregion
|
|
1397
1276
|
//#region ../api/src/siteApiKeyEndpointDefinitions.ts
|
|
1398
1277
|
const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
|
|
1399
1278
|
listSiteApiKeys: {
|
|
@@ -2290,7 +2169,7 @@ const API_ENDPOINTS$1 = {
|
|
|
2290
2169
|
},
|
|
2291
2170
|
...NEWSLETTER_ENDPOINT_DEFINITIONS,
|
|
2292
2171
|
...APPOINTMENT_ENDPOINT_DEFINITIONS,
|
|
2293
|
-
...
|
|
2172
|
+
...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS,
|
|
2294
2173
|
getSite: {
|
|
2295
2174
|
path: "/sites",
|
|
2296
2175
|
method: "GET",
|
|
@@ -5604,13 +5483,13 @@ const API_ENDPOINTS$1 = {
|
|
|
5604
5483
|
"server:internal_error"
|
|
5605
5484
|
]
|
|
5606
5485
|
},
|
|
5607
|
-
|
|
5608
|
-
path: "/sites/{siteId}/bookings/
|
|
5486
|
+
refundEventSeriesRegistration: {
|
|
5487
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/refund",
|
|
5609
5488
|
method: "POST",
|
|
5610
5489
|
tags: [
|
|
5611
5490
|
"site-{siteId}",
|
|
5612
|
-
"
|
|
5613
|
-
"
|
|
5491
|
+
"event-series-{seriesId}",
|
|
5492
|
+
"event-series-registration-{registrationId}",
|
|
5614
5493
|
"bookings"
|
|
5615
5494
|
],
|
|
5616
5495
|
auth: "user",
|
|
@@ -5633,13 +5512,13 @@ const API_ENDPOINTS$1 = {
|
|
|
5633
5512
|
auth: "user",
|
|
5634
5513
|
responseKind: "json"
|
|
5635
5514
|
},
|
|
5636
|
-
|
|
5637
|
-
path: "/sites/{siteId}/bookings/
|
|
5515
|
+
listEventSeriesRegistrationRefunds: {
|
|
5516
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}/refunds",
|
|
5638
5517
|
method: "GET",
|
|
5639
5518
|
tags: [
|
|
5640
5519
|
"site-{siteId}",
|
|
5641
|
-
"
|
|
5642
|
-
"
|
|
5520
|
+
"event-series-{seriesId}",
|
|
5521
|
+
"event-series-registration-{registrationId}",
|
|
5643
5522
|
"bookings"
|
|
5644
5523
|
],
|
|
5645
5524
|
auth: "user",
|
|
@@ -7328,14 +7207,14 @@ const API_ENDPOINTS$1 = {
|
|
|
7328
7207
|
errors: ["server:internal_error"]
|
|
7329
7208
|
},
|
|
7330
7209
|
portalGetWholeSeriesBookingQuestions: {
|
|
7331
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7210
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions",
|
|
7332
7211
|
method: "GET",
|
|
7333
7212
|
auth: "public",
|
|
7334
7213
|
responseKind: "json",
|
|
7335
7214
|
errors: ["resource:not_found", "server:internal_error"]
|
|
7336
7215
|
},
|
|
7337
7216
|
portalUpdateWholeSeriesBookingQuestions: {
|
|
7338
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7217
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions",
|
|
7339
7218
|
method: "PUT",
|
|
7340
7219
|
auth: "public",
|
|
7341
7220
|
responseKind: "json",
|
|
@@ -7346,7 +7225,7 @@ const API_ENDPOINTS$1 = {
|
|
|
7346
7225
|
]
|
|
7347
7226
|
},
|
|
7348
7227
|
portalCreateWholeSeriesBookingQuestionsUploadUrl: {
|
|
7349
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7228
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions/upload-url",
|
|
7350
7229
|
method: "POST",
|
|
7351
7230
|
auth: "public",
|
|
7352
7231
|
responseKind: "json",
|
|
@@ -7357,7 +7236,7 @@ const API_ENDPOINTS$1 = {
|
|
|
7357
7236
|
]
|
|
7358
7237
|
},
|
|
7359
7238
|
portalFinalizeWholeSeriesBookingQuestionsUpload: {
|
|
7360
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7239
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/booking-questions/upload",
|
|
7361
7240
|
method: "POST",
|
|
7362
7241
|
auth: "public",
|
|
7363
7242
|
responseKind: "json",
|
|
@@ -7368,7 +7247,7 @@ const API_ENDPOINTS$1 = {
|
|
|
7368
7247
|
]
|
|
7369
7248
|
},
|
|
7370
7249
|
portalCancelWholeSeriesRegistration: {
|
|
7371
|
-
path: "/portal/dated-offerings/whole-series/{
|
|
7250
|
+
path: "/portal/dated-offerings/whole-series/{registrationId}/cancel",
|
|
7372
7251
|
method: "POST",
|
|
7373
7252
|
auth: "public",
|
|
7374
7253
|
responseKind: "json",
|
|
@@ -8196,7 +8075,7 @@ var SimpleCache = class {
|
|
|
8196
8075
|
* 1. This constant
|
|
8197
8076
|
* 2. The "version" field in package.json
|
|
8198
8077
|
*/
|
|
8199
|
-
const SDK_VERSION = "0.
|
|
8078
|
+
const SDK_VERSION = "0.135.0";
|
|
8200
8079
|
//#endregion
|
|
8201
8080
|
//#region src/client/error.ts
|
|
8202
8081
|
let _Symbol$for;
|
|
@@ -10795,14 +10674,14 @@ function publicEventPricingType(pricing) {
|
|
|
10795
10674
|
case "single_paid":
|
|
10796
10675
|
case "ticket_types":
|
|
10797
10676
|
case "sliding_scale":
|
|
10798
|
-
case "
|
|
10677
|
+
case "whole_series": return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
10799
10678
|
case "external": return "external";
|
|
10800
10679
|
}
|
|
10801
10680
|
}
|
|
10802
10681
|
function isFreePublicEventPriceDisplay(display) {
|
|
10803
10682
|
switch (display.kind) {
|
|
10804
10683
|
case "free": return true;
|
|
10805
|
-
case "
|
|
10684
|
+
case "whole_series": return display.display.kind === "free";
|
|
10806
10685
|
case "exact":
|
|
10807
10686
|
case "from":
|
|
10808
10687
|
case "range":
|
|
@@ -11091,6 +10970,25 @@ function parseManagementKey(raw) {
|
|
|
11091
10970
|
return ok$1(createSecretInternal("management-key", raw));
|
|
11092
10971
|
}
|
|
11093
10972
|
//#endregion
|
|
10973
|
+
//#region ../core/src/planner.ts
|
|
10974
|
+
/** Default clock for production callers that do not inject time explicitly. */
|
|
10975
|
+
const systemPlanningClock = { now: () => Date.now() };
|
|
10976
|
+
/** Resolve current time as a Date from an explicit Date, injected clock, or system clock. */
|
|
10977
|
+
function resolvePlanningNowDate(input = {}) {
|
|
10978
|
+
if (input.now !== void 0) return input.now;
|
|
10979
|
+
return new Date((input.clock ?? systemPlanningClock).now());
|
|
10980
|
+
}
|
|
10981
|
+
/**
|
|
10982
|
+
* Resolve a Date-compatible planner input.
|
|
10983
|
+
*
|
|
10984
|
+
* Precedence: bare Date, `{ now }`, `{ clock }`, then `systemPlanningClock`.
|
|
10985
|
+
* Explicit Date inputs are returned by reference, not cloned.
|
|
10986
|
+
*/
|
|
10987
|
+
function resolvePlanningDateInput(input = {}) {
|
|
10988
|
+
if (input instanceof Date) return input;
|
|
10989
|
+
return resolvePlanningNowDate(input);
|
|
10990
|
+
}
|
|
10991
|
+
//#endregion
|
|
11094
10992
|
//#region ../core/src/event-series-behaviour.ts
|
|
11095
10993
|
const SURFACE_EVENT_PRESET_VALUES = [
|
|
11096
10994
|
"class",
|
|
@@ -11393,6 +11291,68 @@ z.object({
|
|
|
11393
11291
|
monthlyCurrency: z.literal("gbp")
|
|
11394
11292
|
});
|
|
11395
11293
|
//#endregion
|
|
11294
|
+
//#region ../blocks/src/system/types/link.ts
|
|
11295
|
+
const nullableString = z.union([z.string().min(1), z.null()]);
|
|
11296
|
+
const RESOLVED_INTERNAL_LINK_ENTITY_TYPES = [
|
|
11297
|
+
"page",
|
|
11298
|
+
"content",
|
|
11299
|
+
"pageSurface"
|
|
11300
|
+
];
|
|
11301
|
+
const resolvedInternalLinkKeys = [
|
|
11302
|
+
"entityId",
|
|
11303
|
+
"entityType",
|
|
11304
|
+
"href",
|
|
11305
|
+
"title",
|
|
11306
|
+
"typeLabel"
|
|
11307
|
+
];
|
|
11308
|
+
const internalRouteOnlyLinkSchema = z.object({
|
|
11309
|
+
kind: z.literal("internal"),
|
|
11310
|
+
routeId: z.string().min(1)
|
|
11311
|
+
}).passthrough().superRefine((value, ctx) => {
|
|
11312
|
+
if (!resolvedInternalLinkKeys.some((key) => value[key] != null)) return;
|
|
11313
|
+
ctx.addIssue({
|
|
11314
|
+
code: "custom",
|
|
11315
|
+
message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
|
|
11316
|
+
});
|
|
11317
|
+
});
|
|
11318
|
+
const internalResolvedLinkSchema = z.object({
|
|
11319
|
+
kind: z.literal("internal"),
|
|
11320
|
+
routeId: z.string().min(1),
|
|
11321
|
+
entityId: z.string().min(1),
|
|
11322
|
+
entityType: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
11323
|
+
href: z.string().min(1),
|
|
11324
|
+
title: z.string().min(1),
|
|
11325
|
+
typeLabel: z.string().min(1),
|
|
11326
|
+
contentTypeKey: nullableString.optional(),
|
|
11327
|
+
contentTypeName: nullableString.optional(),
|
|
11328
|
+
updatedAt: nullableString.optional()
|
|
11329
|
+
}).passthrough();
|
|
11330
|
+
const internalLinkSchema = z.union([internalResolvedLinkSchema, internalRouteOnlyLinkSchema]);
|
|
11331
|
+
const externalLinkSchema$1 = z.object({
|
|
11332
|
+
kind: z.literal("external"),
|
|
11333
|
+
href: z.string().min(1)
|
|
11334
|
+
}).passthrough();
|
|
11335
|
+
const customLinkSchema$1 = z.object({
|
|
11336
|
+
kind: z.literal("url"),
|
|
11337
|
+
href: z.string().min(1)
|
|
11338
|
+
}).passthrough();
|
|
11339
|
+
const pageLinkSchema$1 = z.object({
|
|
11340
|
+
kind: z.literal("page"),
|
|
11341
|
+
identifier: z.string().min(1)
|
|
11342
|
+
}).passthrough();
|
|
11343
|
+
const entryLinkSchema$1 = z.object({
|
|
11344
|
+
kind: z.literal("entry"),
|
|
11345
|
+
contentType: z.string().min(1),
|
|
11346
|
+
identifier: z.string().min(1)
|
|
11347
|
+
}).passthrough();
|
|
11348
|
+
z.union([
|
|
11349
|
+
internalLinkSchema,
|
|
11350
|
+
externalLinkSchema$1,
|
|
11351
|
+
customLinkSchema$1,
|
|
11352
|
+
pageLinkSchema$1,
|
|
11353
|
+
entryLinkSchema$1
|
|
11354
|
+
]);
|
|
11355
|
+
//#endregion
|
|
11396
11356
|
//#region ../api/src/navigation/contracts.ts
|
|
11397
11357
|
/**
|
|
11398
11358
|
* Canonical navigation/link Zod contracts.
|
|
@@ -11422,7 +11382,7 @@ const internalLinkPayloadSchema = z.object({
|
|
|
11422
11382
|
kind: z.literal("internal"),
|
|
11423
11383
|
routeId: z.string().uuid(),
|
|
11424
11384
|
entityId: z.string().uuid(),
|
|
11425
|
-
entityType: z.enum(
|
|
11385
|
+
entityType: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
11426
11386
|
href: z.string().min(1),
|
|
11427
11387
|
title: z.string().min(1),
|
|
11428
11388
|
typeLabel: z.string().min(1),
|
|
@@ -19488,7 +19448,7 @@ defineBlockAppearancePreset({
|
|
|
19488
19448
|
id: "schedule-details-brand-depth",
|
|
19489
19449
|
target: "events",
|
|
19490
19450
|
label: "Brand-depth schedule details",
|
|
19491
|
-
blockKinds: ["block.event-details"
|
|
19451
|
+
blockKinds: ["block.event-details"],
|
|
19492
19452
|
design: {
|
|
19493
19453
|
sectionSurface: "brand-depth-band",
|
|
19494
19454
|
contentFrame: plainFrame,
|
|
@@ -25670,7 +25630,6 @@ const productDetail = (props, children, ...mods) => el("product-detail", props,
|
|
|
25670
25630
|
const cart = (props, children, ...mods) => el("cart", props, children, ...mods);
|
|
25671
25631
|
const checkout = (props, children, ...mods) => el("checkout", props, children, ...mods);
|
|
25672
25632
|
const gifting = (props, children, ...mods) => el("gifting", props, children, ...mods);
|
|
25673
|
-
const courseRegistration = (props, children, ...mods) => el("course-registration", props, children, ...mods);
|
|
25674
25633
|
function bind(from, options) {
|
|
25675
25634
|
return (node) => ({
|
|
25676
25635
|
...node,
|
|
@@ -35340,12 +35299,12 @@ function isRichTextDoc(value) {
|
|
|
35340
35299
|
}
|
|
35341
35300
|
//#endregion
|
|
35342
35301
|
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
35343
|
-
const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
35344
|
-
const bookingInstalmentPlanSchema = z.union([
|
|
35302
|
+
const bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
|
|
35303
|
+
const bookingInstalmentPlanSchema$1 = z.union([
|
|
35345
35304
|
z.object({
|
|
35346
35305
|
kind: z.literal("deposit_plus_one_remainder"),
|
|
35347
35306
|
depositAmountCents: z.number().int().min(0),
|
|
35348
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
35307
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
35349
35308
|
remainderDueCount: z.number().int().positive(),
|
|
35350
35309
|
intervalUnit: z.enum([
|
|
35351
35310
|
"day",
|
|
@@ -35356,7 +35315,7 @@ const bookingInstalmentPlanSchema = z.union([
|
|
|
35356
35315
|
z.object({
|
|
35357
35316
|
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
35358
35317
|
depositAmountCents: z.number().int().min(0),
|
|
35359
|
-
depositRefundability: bookingDepositRefundPolicySchema,
|
|
35318
|
+
depositRefundability: bookingDepositRefundPolicySchema$1,
|
|
35360
35319
|
instalmentCount: z.number().int().positive(),
|
|
35361
35320
|
intervalCount: z.number().int().positive(),
|
|
35362
35321
|
intervalUnit: z.enum([
|
|
@@ -35376,32 +35335,207 @@ const bookingInstalmentPlanSchema = z.union([
|
|
|
35376
35335
|
])
|
|
35377
35336
|
})
|
|
35378
35337
|
]);
|
|
35379
|
-
const bookingFlexibleBalanceDueDateRuleSchema = z.union([z.object({
|
|
35338
|
+
const bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
|
|
35380
35339
|
kind: z.literal("relative_to_start_date"),
|
|
35381
35340
|
daysBeforeStart: z.number().int().positive()
|
|
35382
35341
|
}), z.object({
|
|
35383
35342
|
kind: z.literal("fixed_calendar_date"),
|
|
35384
35343
|
dueAt: z.string().datetime()
|
|
35385
35344
|
})]);
|
|
35386
|
-
const bookingFlexibleBalanceConfigSchema = z.object({
|
|
35345
|
+
const bookingFlexibleBalanceConfigSchema$1 = z.object({
|
|
35387
35346
|
upfrontAmountCents: z.number().int().min(0),
|
|
35388
|
-
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
35389
|
-
depositRefundability: bookingDepositRefundPolicySchema
|
|
35347
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
|
|
35348
|
+
depositRefundability: bookingDepositRefundPolicySchema$1
|
|
35390
35349
|
});
|
|
35391
35350
|
const blockBookingPaymentCollectionOptionSchema = z.union([
|
|
35392
35351
|
z.object({ kind: z.literal("upfront") }),
|
|
35393
35352
|
z.object({ kind: z.literal("deferred_manual") }),
|
|
35394
35353
|
z.object({
|
|
35395
35354
|
kind: z.literal("instalment_plan"),
|
|
35396
|
-
plan: bookingInstalmentPlanSchema
|
|
35355
|
+
plan: bookingInstalmentPlanSchema$1
|
|
35397
35356
|
}),
|
|
35398
35357
|
z.object({
|
|
35399
35358
|
kind: z.literal("flexible_balance"),
|
|
35400
|
-
config: bookingFlexibleBalanceConfigSchema
|
|
35359
|
+
config: bookingFlexibleBalanceConfigSchema$1
|
|
35401
35360
|
})
|
|
35402
35361
|
]);
|
|
35403
35362
|
const blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
|
|
35404
35363
|
//#endregion
|
|
35364
|
+
//#region ../blocks/src/system/blocks/shared/bookingConsent.ts
|
|
35365
|
+
const blockBookingConsentSchema = z.object({
|
|
35366
|
+
requirementId: z.string(),
|
|
35367
|
+
title: z.string(),
|
|
35368
|
+
agreement: RichTextDocSchema,
|
|
35369
|
+
checkboxLabel: z.string()
|
|
35370
|
+
});
|
|
35371
|
+
const bookingRequirementConsentFieldSchema = z.object({
|
|
35372
|
+
id: z.string(),
|
|
35373
|
+
label: z.string(),
|
|
35374
|
+
type: z.literal("booking_requirement_consent"),
|
|
35375
|
+
required: z.literal(true),
|
|
35376
|
+
agreement: RichTextDocSchema,
|
|
35377
|
+
checkboxLabel: z.string().min(1)
|
|
35378
|
+
});
|
|
35379
|
+
z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
|
|
35380
|
+
//#endregion
|
|
35381
|
+
//#region ../blocks/src/system/blocks/events/whole-series/pricing.ts
|
|
35382
|
+
function isSaleWindowOpen(option, now) {
|
|
35383
|
+
if (!option.isActive) return false;
|
|
35384
|
+
if (option.saleStartsAt && new Date(option.saleStartsAt) > now) return false;
|
|
35385
|
+
if (option.saleEndsAt && new Date(option.saleEndsAt) < now) return false;
|
|
35386
|
+
return true;
|
|
35387
|
+
}
|
|
35388
|
+
function toExactOrFreeDisplay(amount, currency) {
|
|
35389
|
+
if (amount <= 0) return {
|
|
35390
|
+
kind: "free",
|
|
35391
|
+
currency
|
|
35392
|
+
};
|
|
35393
|
+
return {
|
|
35394
|
+
kind: "exact",
|
|
35395
|
+
amount,
|
|
35396
|
+
currency
|
|
35397
|
+
};
|
|
35398
|
+
}
|
|
35399
|
+
function getSelectableWholeSeriesPricingOptionsForNow(offering, now) {
|
|
35400
|
+
if (offering.pricing.pricingStrategy !== "tiered") return [];
|
|
35401
|
+
return [...offering.pricing.options].filter((option) => isSaleWindowOpen(option, now)).sort((left, right) => {
|
|
35402
|
+
if (left.sortOrder !== right.sortOrder) return left.sortOrder - right.sortOrder;
|
|
35403
|
+
if (left.priceAmount !== right.priceAmount) return left.priceAmount - right.priceAmount;
|
|
35404
|
+
return left.name.localeCompare(right.name);
|
|
35405
|
+
});
|
|
35406
|
+
}
|
|
35407
|
+
function resolveWholeSeriesPricingState(offering, selectedPricingOptionId, selectedSlidingAmountOrNowInput, nowInput = {}) {
|
|
35408
|
+
const selection = normalizePricingSelectionInput(selectedSlidingAmountOrNowInput, nowInput);
|
|
35409
|
+
const currency = offering.pricing.currency;
|
|
35410
|
+
switch (offering.pricing.pricingStrategy) {
|
|
35411
|
+
case "free": return resolveFreePricing(currency);
|
|
35412
|
+
case "single": return resolveSinglePricing(offering.pricing.singlePriceAmount ?? 0, currency);
|
|
35413
|
+
case "tiered": return resolveTieredPricing(offering, selectedPricingOptionId, selection.nowInput);
|
|
35414
|
+
case "sliding_scale": return resolveSlidingScalePricing(offering, selection.selectedSlidingAmount);
|
|
35415
|
+
}
|
|
35416
|
+
}
|
|
35417
|
+
function normalizePricingSelectionInput(selectedSlidingAmountOrNowInput, nowInput) {
|
|
35418
|
+
return typeof selectedSlidingAmountOrNowInput === "object" && selectedSlidingAmountOrNowInput !== null ? {
|
|
35419
|
+
selectedSlidingAmount: null,
|
|
35420
|
+
nowInput: selectedSlidingAmountOrNowInput
|
|
35421
|
+
} : {
|
|
35422
|
+
selectedSlidingAmount: typeof selectedSlidingAmountOrNowInput === "number" || selectedSlidingAmountOrNowInput === null ? selectedSlidingAmountOrNowInput : null,
|
|
35423
|
+
nowInput
|
|
35424
|
+
};
|
|
35425
|
+
}
|
|
35426
|
+
function resolveFreePricing(currency) {
|
|
35427
|
+
return {
|
|
35428
|
+
currency,
|
|
35429
|
+
display: {
|
|
35430
|
+
kind: "free",
|
|
35431
|
+
currency
|
|
35432
|
+
},
|
|
35433
|
+
selectableOptions: [],
|
|
35434
|
+
requiresSelection: false,
|
|
35435
|
+
selectedOption: null,
|
|
35436
|
+
slidingScale: null,
|
|
35437
|
+
selectedSlidingAmount: null,
|
|
35438
|
+
selectedPriceAmount: 0,
|
|
35439
|
+
selectedRequiresPayment: false,
|
|
35440
|
+
hasPaidSelection: false,
|
|
35441
|
+
hasFreeSelection: true
|
|
35442
|
+
};
|
|
35443
|
+
}
|
|
35444
|
+
function resolveSinglePricing(amount, currency) {
|
|
35445
|
+
return {
|
|
35446
|
+
currency,
|
|
35447
|
+
display: toExactOrFreeDisplay(amount, currency),
|
|
35448
|
+
selectableOptions: [],
|
|
35449
|
+
requiresSelection: false,
|
|
35450
|
+
selectedOption: null,
|
|
35451
|
+
slidingScale: null,
|
|
35452
|
+
selectedSlidingAmount: null,
|
|
35453
|
+
selectedPriceAmount: amount,
|
|
35454
|
+
selectedRequiresPayment: amount > 0,
|
|
35455
|
+
hasPaidSelection: amount > 0,
|
|
35456
|
+
hasFreeSelection: amount <= 0
|
|
35457
|
+
};
|
|
35458
|
+
}
|
|
35459
|
+
function resolveTieredPricing(offering, selectedPricingOptionId, nowInput) {
|
|
35460
|
+
const currency = offering.pricing.currency;
|
|
35461
|
+
const selectableOptions = getSelectableWholeSeriesPricingOptionsForNow(offering, resolvePlanningDateInput(nowInput));
|
|
35462
|
+
const selectedOption = resolveSelectedTier(selectableOptions, selectedPricingOptionId);
|
|
35463
|
+
return {
|
|
35464
|
+
currency,
|
|
35465
|
+
display: resolveTieredDisplay(selectableOptions.reduce((lowest, option) => lowest === null || option.priceAmount < lowest ? option.priceAmount : lowest, null), selectableOptions.length, currency),
|
|
35466
|
+
selectableOptions,
|
|
35467
|
+
requiresSelection: selectableOptions.length > 1,
|
|
35468
|
+
selectedOption,
|
|
35469
|
+
slidingScale: null,
|
|
35470
|
+
selectedSlidingAmount: null,
|
|
35471
|
+
selectedPriceAmount: selectedOption?.priceAmount ?? null,
|
|
35472
|
+
selectedRequiresPayment: (selectedOption?.priceAmount ?? 0) > 0,
|
|
35473
|
+
hasPaidSelection: selectableOptions.some((option) => option.priceAmount > 0),
|
|
35474
|
+
hasFreeSelection: selectableOptions.some((option) => option.priceAmount === 0)
|
|
35475
|
+
};
|
|
35476
|
+
}
|
|
35477
|
+
function resolveSelectedTier(options, selectedId) {
|
|
35478
|
+
return (selectedId ? options.find((option) => option.id === selectedId) : null) ?? (options.length === 1 ? options[0] ?? null : null);
|
|
35479
|
+
}
|
|
35480
|
+
function resolveTieredDisplay(lowestAmount, optionCount, currency) {
|
|
35481
|
+
if (lowestAmount === null) return {
|
|
35482
|
+
kind: "unavailable",
|
|
35483
|
+
currency
|
|
35484
|
+
};
|
|
35485
|
+
return optionCount > 1 && lowestAmount > 0 ? {
|
|
35486
|
+
kind: "from",
|
|
35487
|
+
amount: lowestAmount,
|
|
35488
|
+
currency
|
|
35489
|
+
} : toExactOrFreeDisplay(lowestAmount, currency);
|
|
35490
|
+
}
|
|
35491
|
+
function resolveSlidingScalePricing(offering, selectedSlidingAmount) {
|
|
35492
|
+
const currency = offering.pricing.currency;
|
|
35493
|
+
const minAmount = offering.pricing.slidingMinAmount ?? null;
|
|
35494
|
+
const maxAmount = offering.pricing.slidingMaxAmount ?? null;
|
|
35495
|
+
if (minAmount === null || maxAmount === null || minAmount < 0 || maxAmount < minAmount) return unavailableSlidingScale(currency);
|
|
35496
|
+
const selectedAmount = Number.isFinite(selectedSlidingAmount) ? selectedSlidingAmount : null;
|
|
35497
|
+
return {
|
|
35498
|
+
currency,
|
|
35499
|
+
display: {
|
|
35500
|
+
kind: "range",
|
|
35501
|
+
minAmount,
|
|
35502
|
+
maxAmount,
|
|
35503
|
+
currency
|
|
35504
|
+
},
|
|
35505
|
+
selectableOptions: [],
|
|
35506
|
+
requiresSelection: selectedAmount === null,
|
|
35507
|
+
selectedOption: null,
|
|
35508
|
+
slidingScale: {
|
|
35509
|
+
minAmount,
|
|
35510
|
+
maxAmount,
|
|
35511
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null
|
|
35512
|
+
},
|
|
35513
|
+
selectedSlidingAmount: selectedAmount,
|
|
35514
|
+
selectedPriceAmount: selectedAmount,
|
|
35515
|
+
selectedRequiresPayment: (selectedAmount ?? 0) > 0,
|
|
35516
|
+
hasPaidSelection: maxAmount > 0,
|
|
35517
|
+
hasFreeSelection: minAmount === 0
|
|
35518
|
+
};
|
|
35519
|
+
}
|
|
35520
|
+
function unavailableSlidingScale(currency) {
|
|
35521
|
+
return {
|
|
35522
|
+
currency,
|
|
35523
|
+
display: {
|
|
35524
|
+
kind: "unavailable",
|
|
35525
|
+
currency
|
|
35526
|
+
},
|
|
35527
|
+
selectableOptions: [],
|
|
35528
|
+
requiresSelection: true,
|
|
35529
|
+
selectedOption: null,
|
|
35530
|
+
slidingScale: null,
|
|
35531
|
+
selectedSlidingAmount: null,
|
|
35532
|
+
selectedPriceAmount: null,
|
|
35533
|
+
selectedRequiresPayment: false,
|
|
35534
|
+
hasPaidSelection: false,
|
|
35535
|
+
hasFreeSelection: false
|
|
35536
|
+
};
|
|
35537
|
+
}
|
|
35538
|
+
//#endregion
|
|
35405
35539
|
//#region ../blocks/src/system/blocks/events/whole-series/schemas.ts
|
|
35406
35540
|
const wholeSeriesVenueSchema = z.object({
|
|
35407
35541
|
id: z.string(),
|
|
@@ -35461,11 +35595,19 @@ const publicWholeSeriesOfferingSchema = z.object({
|
|
|
35461
35595
|
title: z.string(),
|
|
35462
35596
|
slug: z.string(),
|
|
35463
35597
|
description: z.unknown().nullable(),
|
|
35598
|
+
deliveryMode: z.enum([
|
|
35599
|
+
"in_person",
|
|
35600
|
+
"online",
|
|
35601
|
+
"hybrid"
|
|
35602
|
+
]),
|
|
35603
|
+
waitlistEnabled: z.boolean(),
|
|
35604
|
+
requireGuestDetails: z.boolean(),
|
|
35464
35605
|
teamMembers: z.array(wholeSeriesTeamMemberSummarySchema).optional(),
|
|
35465
35606
|
enrollmentOpen: z.boolean(),
|
|
35466
35607
|
pricing: wholeSeriesPricingSchema,
|
|
35467
35608
|
currency: z.string(),
|
|
35468
35609
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
35610
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
35469
35611
|
enrollmentCapacity: z.number().nullable(),
|
|
35470
35612
|
acceptsMemberships: z.boolean(),
|
|
35471
35613
|
status: z.enum([
|
|
@@ -35575,7 +35717,7 @@ const mixedPriceDisplaySchema = z.object({
|
|
|
35575
35717
|
paidToAmount: z.number(),
|
|
35576
35718
|
currency: z.string()
|
|
35577
35719
|
});
|
|
35578
|
-
const
|
|
35720
|
+
const publicWholeSeriesPriceDisplaySchema = z.discriminatedUnion("kind", [
|
|
35579
35721
|
freePriceDisplaySchema,
|
|
35580
35722
|
exactPriceDisplaySchema,
|
|
35581
35723
|
fromPriceDisplaySchema,
|
|
@@ -35593,8 +35735,8 @@ z.discriminatedUnion("kind", [
|
|
|
35593
35735
|
label: z.string()
|
|
35594
35736
|
}),
|
|
35595
35737
|
z.object({
|
|
35596
|
-
kind: z.literal("
|
|
35597
|
-
display:
|
|
35738
|
+
kind: z.literal("whole_series"),
|
|
35739
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
35598
35740
|
})
|
|
35599
35741
|
]);
|
|
35600
35742
|
const publicEventTicketTypePriceDisplaySchema = z.union([
|
|
@@ -35696,10 +35838,10 @@ const publicEventPricingSchema = z.discriminatedUnion("kind", [
|
|
|
35696
35838
|
})
|
|
35697
35839
|
}),
|
|
35698
35840
|
z.object({
|
|
35699
|
-
kind: z.literal("
|
|
35841
|
+
kind: z.literal("whole_series"),
|
|
35700
35842
|
display: z.object({
|
|
35701
|
-
kind: z.literal("
|
|
35702
|
-
display:
|
|
35843
|
+
kind: z.literal("whole_series"),
|
|
35844
|
+
display: publicWholeSeriesPriceDisplaySchema
|
|
35703
35845
|
})
|
|
35704
35846
|
}),
|
|
35705
35847
|
z.object({
|
|
@@ -35783,6 +35925,7 @@ const publicEventSchema = z.object({
|
|
|
35783
35925
|
timeZone: z.string(),
|
|
35784
35926
|
pricing: publicEventPricingSchema,
|
|
35785
35927
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
35928
|
+
consent: blockBookingConsentSchema.nullable(),
|
|
35786
35929
|
accessRestriction: accessRestrictionSchema,
|
|
35787
35930
|
allowedCategoryIds: z.array(z.string()),
|
|
35788
35931
|
requireGuestDetails: z.boolean().optional(),
|
|
@@ -36115,7 +36258,8 @@ function resolveEventRegistrationScope(context) {
|
|
|
36115
36258
|
};
|
|
36116
36259
|
return { kind: "unscoped" };
|
|
36117
36260
|
}
|
|
36118
|
-
function
|
|
36261
|
+
function resolveEventRegistrationScopedEvents(events, context) {
|
|
36262
|
+
const scope = resolveEventRegistrationScope(context);
|
|
36119
36263
|
switch (scope.kind) {
|
|
36120
36264
|
case "occurrenceSeries":
|
|
36121
36265
|
case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
|
|
@@ -36127,8 +36271,24 @@ function applyEventRegistrationScope(events, scope) {
|
|
|
36127
36271
|
case "unscoped": return [...events];
|
|
36128
36272
|
}
|
|
36129
36273
|
}
|
|
36130
|
-
|
|
36131
|
-
|
|
36274
|
+
//#endregion
|
|
36275
|
+
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationSurface.ts
|
|
36276
|
+
function planEventRegistrationScope(input) {
|
|
36277
|
+
const subject = input.subject;
|
|
36278
|
+
const selectedRunOffering = input.wholeSeriesOffering;
|
|
36279
|
+
if (subject?.kind !== "eventOffering" || !selectedRunOffering) return {
|
|
36280
|
+
kind: "context",
|
|
36281
|
+
events: resolveEventRegistrationScopedEvents(input.events, {
|
|
36282
|
+
occurrenceContext: input.occurrenceContext,
|
|
36283
|
+
subject
|
|
36284
|
+
})
|
|
36285
|
+
};
|
|
36286
|
+
if (!(selectedRunOffering.eventOfferingId === subject.eventOfferingId && subject.availableEventSeriesIds.some((seriesId) => seriesId === selectedRunOffering.eventSeriesId))) return { kind: "invalidSelectedRun" };
|
|
36287
|
+
return {
|
|
36288
|
+
kind: "selectedRun",
|
|
36289
|
+
events: input.events.filter((event) => event.seriesId === selectedRunOffering.eventSeriesId),
|
|
36290
|
+
offering: selectedRunOffering
|
|
36291
|
+
};
|
|
36132
36292
|
}
|
|
36133
36293
|
//#endregion
|
|
36134
36294
|
//#region ../blocks/src/system/runtime/nodes/events/shared/destination.ts
|
|
@@ -36204,14 +36364,14 @@ function isRecord$9(value) {
|
|
|
36204
36364
|
}
|
|
36205
36365
|
function isPublicEventPricing(value) {
|
|
36206
36366
|
if (!isRecord$9(value) || typeof value.kind !== "string") return false;
|
|
36207
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "
|
|
36367
|
+
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";
|
|
36208
36368
|
}
|
|
36209
36369
|
function isPublicEventTicketType(value) {
|
|
36210
36370
|
return isRecord$9(value) && typeof value.id === "string";
|
|
36211
36371
|
}
|
|
36212
36372
|
function readTicketTypePriceDisplay(value, currency) {
|
|
36213
36373
|
const display = readLegacyPriceDisplay(value, currency);
|
|
36214
|
-
return display.kind === "
|
|
36374
|
+
return display.kind === "whole_series" || display.kind === "external" ? {
|
|
36215
36375
|
kind: "unavailable",
|
|
36216
36376
|
currency
|
|
36217
36377
|
} : display;
|
|
@@ -36269,11 +36429,11 @@ function readLegacyPriceDisplay(value, currency) {
|
|
|
36269
36429
|
kind: "unavailable",
|
|
36270
36430
|
currency: displayCurrency
|
|
36271
36431
|
};
|
|
36272
|
-
case "
|
|
36273
|
-
kind: "
|
|
36432
|
+
case "whole_series": return isRecord$9(value.display) ? {
|
|
36433
|
+
kind: "whole_series",
|
|
36274
36434
|
display: readCoursePriceDisplay(value.display, displayCurrency)
|
|
36275
36435
|
} : {
|
|
36276
|
-
kind: "
|
|
36436
|
+
kind: "whole_series",
|
|
36277
36437
|
display: {
|
|
36278
36438
|
kind: "unavailable",
|
|
36279
36439
|
currency: displayCurrency
|
|
@@ -36399,7 +36559,7 @@ function getWizardStepsForContext(hasPreSelectedContext, needsPaymentStep) {
|
|
|
36399
36559
|
//#endregion
|
|
36400
36560
|
//#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
|
|
36401
36561
|
function eventMatchesOccurrenceId(event, occurrenceId) {
|
|
36402
|
-
return event.
|
|
36562
|
+
return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
|
|
36403
36563
|
}
|
|
36404
36564
|
function findPreSelectedEvent(input) {
|
|
36405
36565
|
const occurrenceContext = input.occurrenceContext;
|
|
@@ -36425,12 +36585,127 @@ function toRegistrationEvent(event) {
|
|
|
36425
36585
|
return {
|
|
36426
36586
|
...event,
|
|
36427
36587
|
pricing: resolveRuntimeEventPricing(event),
|
|
36428
|
-
|
|
36429
|
-
|
|
36588
|
+
selectionId: event.id,
|
|
36589
|
+
registrationSubject: {
|
|
36590
|
+
kind: "occurrence",
|
|
36591
|
+
occurrenceId: event.occurrenceId
|
|
36592
|
+
}
|
|
36430
36593
|
};
|
|
36431
36594
|
}
|
|
36432
36595
|
function toRegistrationEvents(events) {
|
|
36433
|
-
return events.map(toRegistrationEvent);
|
|
36596
|
+
return events.filter((event) => event.bookingScope === "single_occurrence").map(toRegistrationEvent);
|
|
36597
|
+
}
|
|
36598
|
+
function toWholeSeriesTicketType(option) {
|
|
36599
|
+
return {
|
|
36600
|
+
...option,
|
|
36601
|
+
capacityMode: option.capacityLimit === null ? "unlimited" : "limited",
|
|
36602
|
+
attendanceScope: option.attendanceScope ?? void 0,
|
|
36603
|
+
availability: {
|
|
36604
|
+
kind: "available",
|
|
36605
|
+
remainingCapacity: option.capacityLimit
|
|
36606
|
+
}
|
|
36607
|
+
};
|
|
36608
|
+
}
|
|
36609
|
+
function toWholeSeriesPricing(offering) {
|
|
36610
|
+
const resolved = resolveWholeSeriesPricingState(offering);
|
|
36611
|
+
switch (offering.pricing.pricingStrategy) {
|
|
36612
|
+
case "free": return {
|
|
36613
|
+
kind: "free_registration",
|
|
36614
|
+
currency: offering.currency,
|
|
36615
|
+
display: {
|
|
36616
|
+
kind: "free",
|
|
36617
|
+
currency: offering.currency
|
|
36618
|
+
}
|
|
36619
|
+
};
|
|
36620
|
+
case "single": {
|
|
36621
|
+
const amount = offering.pricing.singlePriceAmount ?? 0;
|
|
36622
|
+
return amount === 0 ? {
|
|
36623
|
+
kind: "free_registration",
|
|
36624
|
+
currency: offering.currency,
|
|
36625
|
+
display: {
|
|
36626
|
+
kind: "free",
|
|
36627
|
+
currency: offering.currency
|
|
36628
|
+
}
|
|
36629
|
+
} : {
|
|
36630
|
+
kind: "single_paid",
|
|
36631
|
+
amount,
|
|
36632
|
+
currency: offering.currency,
|
|
36633
|
+
display: {
|
|
36634
|
+
kind: "exact",
|
|
36635
|
+
amount,
|
|
36636
|
+
currency: offering.currency
|
|
36637
|
+
}
|
|
36638
|
+
};
|
|
36639
|
+
}
|
|
36640
|
+
case "tiered": return {
|
|
36641
|
+
kind: "ticket_types",
|
|
36642
|
+
currency: offering.currency,
|
|
36643
|
+
ticketTypes: resolved.selectableOptions.map((option) => toWholeSeriesTicketType(option)),
|
|
36644
|
+
display: resolved.display
|
|
36645
|
+
};
|
|
36646
|
+
case "sliding_scale": return {
|
|
36647
|
+
kind: "sliding_scale",
|
|
36648
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
36649
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
36650
|
+
suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null,
|
|
36651
|
+
currency: offering.currency,
|
|
36652
|
+
display: {
|
|
36653
|
+
kind: "range",
|
|
36654
|
+
minAmount: offering.pricing.slidingMinAmount ?? 0,
|
|
36655
|
+
maxAmount: offering.pricing.slidingMaxAmount ?? 0,
|
|
36656
|
+
currency: offering.currency
|
|
36657
|
+
}
|
|
36658
|
+
};
|
|
36659
|
+
}
|
|
36660
|
+
}
|
|
36661
|
+
function toAttendanceModes(offering) {
|
|
36662
|
+
return (offering.deliveryMode === "hybrid" ? ["in_person", "online"] : [offering.deliveryMode]).map((mode) => ({
|
|
36663
|
+
mode,
|
|
36664
|
+
capacity: offering.enrollmentCapacity,
|
|
36665
|
+
registeredCount: offering.enrolledCount,
|
|
36666
|
+
availableSpots: offering.availableSpots,
|
|
36667
|
+
waitlistEnabled: offering.waitlistEnabled
|
|
36668
|
+
}));
|
|
36669
|
+
}
|
|
36670
|
+
function toWholeSeriesRegistrationEvent(offering) {
|
|
36671
|
+
const firstSession = offering.sessions[0];
|
|
36672
|
+
const lastSession = offering.sessions[offering.sessions.length - 1];
|
|
36673
|
+
return {
|
|
36674
|
+
selectionId: offering.eventSeriesId,
|
|
36675
|
+
registrationSubject: {
|
|
36676
|
+
kind: "wholeSeries",
|
|
36677
|
+
eventSeriesId: offering.eventSeriesId,
|
|
36678
|
+
sessions: offering.sessions
|
|
36679
|
+
},
|
|
36680
|
+
seriesId: offering.eventSeriesId,
|
|
36681
|
+
title: offering.title,
|
|
36682
|
+
startsAt: firstSession?.startsAt ?? "",
|
|
36683
|
+
endsAt: lastSession?.endsAt ?? firstSession?.endsAt ?? "",
|
|
36684
|
+
bookingAvailability: offering.enrollmentOpen ? { kind: "open" } : {
|
|
36685
|
+
kind: "closed",
|
|
36686
|
+
reason: "enrollment_closed"
|
|
36687
|
+
},
|
|
36688
|
+
deliveryMode: offering.deliveryMode,
|
|
36689
|
+
attendanceModes: toAttendanceModes(offering),
|
|
36690
|
+
capacity: offering.enrollmentCapacity,
|
|
36691
|
+
registeredCount: offering.enrolledCount,
|
|
36692
|
+
availableSpots: offering.availableSpots,
|
|
36693
|
+
waitlistEnabled: offering.waitlistEnabled,
|
|
36694
|
+
venue: offering.venue ? {
|
|
36695
|
+
...offering.venue,
|
|
36696
|
+
location: null
|
|
36697
|
+
} : null,
|
|
36698
|
+
eventCategory: null,
|
|
36699
|
+
teamMembers: offering.teamMembers,
|
|
36700
|
+
status: offering.status,
|
|
36701
|
+
timeZone: firstSession?.timeZone ?? "UTC",
|
|
36702
|
+
pricing: toWholeSeriesPricing(offering),
|
|
36703
|
+
paymentTerms: offering.paymentTerms,
|
|
36704
|
+
consent: offering.consent,
|
|
36705
|
+
requireGuestDetails: offering.requireGuestDetails,
|
|
36706
|
+
acceptsPasses: false,
|
|
36707
|
+
acceptsMemberships: offering.acceptsMemberships
|
|
36708
|
+
};
|
|
36434
36709
|
}
|
|
36435
36710
|
//#endregion
|
|
36436
36711
|
//#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
|
|
@@ -36456,11 +36731,7 @@ const eventRegistrationHydrationSchemaShape = {
|
|
|
36456
36731
|
maxTickets: z.string().optional(),
|
|
36457
36732
|
showVenue: z.boolean().optional(),
|
|
36458
36733
|
showCapacity: z.boolean().optional(),
|
|
36459
|
-
showSessions: z.boolean().optional(),
|
|
36460
|
-
showPrice: z.boolean().optional(),
|
|
36461
36734
|
successMessage: z.string().optional(),
|
|
36462
|
-
waitlistMessage: z.string().optional(),
|
|
36463
|
-
membershipMessage: z.string().optional(),
|
|
36464
36735
|
buttonVariant: registrationButtonVariantSchema.optional(),
|
|
36465
36736
|
overlayEnabled: z.boolean().optional(),
|
|
36466
36737
|
spamProtectionEnabled: z.boolean().optional(),
|
|
@@ -36530,6 +36801,15 @@ function resolveWholeSeriesOffering(source) {
|
|
|
36530
36801
|
return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
|
|
36531
36802
|
}
|
|
36532
36803
|
function buildEventRegistrationShellStepLabels(source) {
|
|
36804
|
+
const selectedOffering = resolveWholeSeriesOffering(source);
|
|
36805
|
+
if (selectedOffering) {
|
|
36806
|
+
const selectedEvent = toWholeSeriesRegistrationEvent(selectedOffering);
|
|
36807
|
+
return getWizardStepsForContext(true, resolveEventRequiresPayment({
|
|
36808
|
+
eligibility: null,
|
|
36809
|
+
selectedTicketType: null,
|
|
36810
|
+
event: selectedEvent
|
|
36811
|
+
})).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
|
|
36812
|
+
}
|
|
36533
36813
|
const scopedEvents = scopeEventRegistrationEvents(source);
|
|
36534
36814
|
if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
36535
36815
|
const preSelectedEvent = findPreSelectedEvent({
|
|
@@ -36544,10 +36824,13 @@ function buildEventRegistrationShellStepLabels(source) {
|
|
|
36544
36824
|
}) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
|
|
36545
36825
|
}
|
|
36546
36826
|
function scopeEventRegistrationEvents(source) {
|
|
36547
|
-
|
|
36827
|
+
const scope = planEventRegistrationScope({
|
|
36828
|
+
events: toRegistrationEvents(source.events ?? []),
|
|
36829
|
+
wholeSeriesOffering: source.wholeSeriesOffering,
|
|
36548
36830
|
occurrenceContext: source.occurrenceContext,
|
|
36549
36831
|
subject: source.subject
|
|
36550
36832
|
});
|
|
36833
|
+
return scope.kind === "invalidSelectedRun" ? [] : scope.events;
|
|
36551
36834
|
}
|
|
36552
36835
|
function shellLabelForRegistrationStep(step, events) {
|
|
36553
36836
|
switch (step) {
|
|
@@ -36590,11 +36873,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
|
36590
36873
|
maxTickets: source.maxTickets ?? void 0,
|
|
36591
36874
|
showVenue: source.showVenue,
|
|
36592
36875
|
showCapacity: source.showCapacity,
|
|
36593
|
-
showSessions: source.showSessions,
|
|
36594
|
-
showPrice: source.showPrice,
|
|
36595
36876
|
successMessage: source.successMessage,
|
|
36596
|
-
waitlistMessage: source.waitlistMessage,
|
|
36597
|
-
membershipMessage: source.membershipMessage,
|
|
36598
36877
|
buttonVariant: source.buttonVariant,
|
|
36599
36878
|
overlayEnabled: source.overlayEnabled,
|
|
36600
36879
|
spamProtectionEnabled: source.spamProtectionEnabled,
|
|
@@ -36710,24 +36989,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
36710
36989
|
defaultValue: true,
|
|
36711
36990
|
ui: { intent: "display" }
|
|
36712
36991
|
},
|
|
36713
|
-
{
|
|
36714
|
-
id: "showSessions",
|
|
36715
|
-
type: "boolean",
|
|
36716
|
-
label: "Show complete schedule",
|
|
36717
|
-
description: "Display every session for whole-series registrations",
|
|
36718
|
-
required: false,
|
|
36719
|
-
defaultValue: true,
|
|
36720
|
-
ui: { intent: "display" }
|
|
36721
|
-
},
|
|
36722
|
-
{
|
|
36723
|
-
id: "showPrice",
|
|
36724
|
-
type: "boolean",
|
|
36725
|
-
label: "Show price",
|
|
36726
|
-
description: "Display the whole-series price",
|
|
36727
|
-
required: false,
|
|
36728
|
-
defaultValue: true,
|
|
36729
|
-
ui: { intent: "display" }
|
|
36730
|
-
},
|
|
36731
36992
|
{
|
|
36732
36993
|
id: "successMessage",
|
|
36733
36994
|
type: "text",
|
|
@@ -36738,26 +36999,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
36738
36999
|
defaultValue: "Thank you for registering! Check your email for confirmation details.",
|
|
36739
37000
|
maxLength: 500
|
|
36740
37001
|
},
|
|
36741
|
-
{
|
|
36742
|
-
id: "waitlistMessage",
|
|
36743
|
-
type: "text",
|
|
36744
|
-
label: "Waitlist message",
|
|
36745
|
-
description: "Message shown after joining a whole-series waitlist",
|
|
36746
|
-
required: false,
|
|
36747
|
-
multiline: true,
|
|
36748
|
-
defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
|
|
36749
|
-
maxLength: 500
|
|
36750
|
-
},
|
|
36751
|
-
{
|
|
36752
|
-
id: "membershipMessage",
|
|
36753
|
-
type: "text",
|
|
36754
|
-
label: "Membership registration message",
|
|
36755
|
-
description: "Message shown when a whole-series place is covered by membership",
|
|
36756
|
-
required: false,
|
|
36757
|
-
multiline: true,
|
|
36758
|
-
defaultValue: "Registered using your membership. Check your email for session details.",
|
|
36759
|
-
maxLength: 500
|
|
36760
|
-
},
|
|
36761
37002
|
{
|
|
36762
37003
|
id: "buttonText",
|
|
36763
37004
|
type: "text",
|
|
@@ -36789,11 +37030,7 @@ const eventRegistrationBlockDefinition = {
|
|
|
36789
37030
|
} },
|
|
36790
37031
|
showVenue: { $bind: { from: "content.showVenue" } },
|
|
36791
37032
|
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
36792
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
36793
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
36794
37033
|
successMessage: { $bind: { from: "content.successMessage" } },
|
|
36795
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
36796
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
36797
37034
|
buttonText: { $bind: {
|
|
36798
37035
|
from: "content.buttonText",
|
|
36799
37036
|
fallback: "Complete Registration"
|
|
@@ -36910,254 +37147,6 @@ const eventRegistrationBlockDefinition = {
|
|
|
36910
37147
|
}
|
|
36911
37148
|
};
|
|
36912
37149
|
//#endregion
|
|
36913
|
-
//#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
|
|
36914
|
-
const courseRegistrationHydrationSchemaShape = {
|
|
36915
|
-
subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
|
|
36916
|
-
courses: z.array(publicWholeSeriesOfferingSchema).nullable().optional(),
|
|
36917
|
-
showSessions: z.boolean().optional(),
|
|
36918
|
-
showPrice: z.boolean().optional(),
|
|
36919
|
-
showCapacity: z.boolean().optional(),
|
|
36920
|
-
showVenue: z.boolean().optional(),
|
|
36921
|
-
successMessage: z.string().optional(),
|
|
36922
|
-
waitlistMessage: z.string().optional(),
|
|
36923
|
-
membershipMessage: z.string().optional(),
|
|
36924
|
-
buttonVariant: registrationButtonVariantSchema.optional()
|
|
36925
|
-
};
|
|
36926
|
-
const courseRegistrationSourceSchema = z.object({
|
|
36927
|
-
siteId: z.string().optional(),
|
|
36928
|
-
apiBaseUrl: z.string().optional(),
|
|
36929
|
-
portalToken: z.string().nullable().optional(),
|
|
36930
|
-
...courseRegistrationHydrationSchemaShape,
|
|
36931
|
-
className: z.string().nullable().optional(),
|
|
36932
|
-
buttonText: z.string().nullable().optional(),
|
|
36933
|
-
stage: previewStageSchema.optional()
|
|
36934
|
-
});
|
|
36935
|
-
const courseRegistrationDisplaySchema = z.object({
|
|
36936
|
-
kind: z.literal("course-registration"),
|
|
36937
|
-
state: z.literal("shell"),
|
|
36938
|
-
className: z.string().nullable(),
|
|
36939
|
-
summaryButtonText: z.string()
|
|
36940
|
-
});
|
|
36941
|
-
const courseRegistrationHydrationSchema = z.object(courseRegistrationHydrationSchemaShape);
|
|
36942
|
-
const courseRegistrationRenderSchema = z.object({
|
|
36943
|
-
display: courseRegistrationDisplaySchema,
|
|
36944
|
-
hydration: courseRegistrationHydrationSchema
|
|
36945
|
-
});
|
|
36946
|
-
z.object({
|
|
36947
|
-
siteId: z.string().optional(),
|
|
36948
|
-
apiBaseUrl: z.string().optional(),
|
|
36949
|
-
portalToken: z.string().nullable().optional(),
|
|
36950
|
-
stage: previewStageSchema.optional()
|
|
36951
|
-
});
|
|
36952
|
-
function buildCourseRegistrationDisplay(source) {
|
|
36953
|
-
return {
|
|
36954
|
-
kind: "course-registration",
|
|
36955
|
-
state: "shell",
|
|
36956
|
-
className: source.className ?? null,
|
|
36957
|
-
summaryButtonText: source.buttonText?.trim() || "Sign up"
|
|
36958
|
-
};
|
|
36959
|
-
}
|
|
36960
|
-
const courseRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
|
|
36961
|
-
kind: "client-owned",
|
|
36962
|
-
contracts: {
|
|
36963
|
-
source: createZodCodec(courseRegistrationSourceSchema),
|
|
36964
|
-
render: createZodCodec(courseRegistrationRenderSchema)
|
|
36965
|
-
},
|
|
36966
|
-
buildRender: (source) => ({
|
|
36967
|
-
display: buildCourseRegistrationDisplay(source),
|
|
36968
|
-
hydration: {
|
|
36969
|
-
subject: source.subject ?? null,
|
|
36970
|
-
courses: source.courses ?? null,
|
|
36971
|
-
showSessions: source.showSessions,
|
|
36972
|
-
showPrice: source.showPrice,
|
|
36973
|
-
showCapacity: source.showCapacity,
|
|
36974
|
-
showVenue: source.showVenue,
|
|
36975
|
-
successMessage: source.successMessage,
|
|
36976
|
-
waitlistMessage: source.waitlistMessage,
|
|
36977
|
-
membershipMessage: source.membershipMessage,
|
|
36978
|
-
buttonVariant: source.buttonVariant
|
|
36979
|
-
}
|
|
36980
|
-
})
|
|
36981
|
-
});
|
|
36982
|
-
const courseRegistrationBlockDefinition = {
|
|
36983
|
-
manifest: createBlockManifest({
|
|
36984
|
-
id: "block.course-registration",
|
|
36985
|
-
version: "1.0.0",
|
|
36986
|
-
title: "Course Registration",
|
|
36987
|
-
titleSource: "heading",
|
|
36988
|
-
description: "Enrollment form for multi-session courses",
|
|
36989
|
-
category: "interactive",
|
|
36990
|
-
contentSource: { kind: "inline" },
|
|
36991
|
-
tags: [
|
|
36992
|
-
"courses",
|
|
36993
|
-
"enrollment",
|
|
36994
|
-
"booking",
|
|
36995
|
-
"form",
|
|
36996
|
-
"signup",
|
|
36997
|
-
"education"
|
|
36998
|
-
],
|
|
36999
|
-
icon: "GraduationCap",
|
|
37000
|
-
styleTokens: {
|
|
37001
|
-
background: "surface",
|
|
37002
|
-
typography: "body",
|
|
37003
|
-
spacing: "md"
|
|
37004
|
-
},
|
|
37005
|
-
behaviours: {
|
|
37006
|
-
supportsThemeSwitching: true,
|
|
37007
|
-
inlineEditing: false,
|
|
37008
|
-
animation: false,
|
|
37009
|
-
paletteHidden: false
|
|
37010
|
-
},
|
|
37011
|
-
additionalFields: [
|
|
37012
|
-
{
|
|
37013
|
-
id: "heading",
|
|
37014
|
-
type: "text",
|
|
37015
|
-
label: "Heading",
|
|
37016
|
-
description: "Main heading for the registration form",
|
|
37017
|
-
required: false,
|
|
37018
|
-
multiline: false,
|
|
37019
|
-
defaultValue: "Sign up"
|
|
37020
|
-
},
|
|
37021
|
-
{
|
|
37022
|
-
id: "description",
|
|
37023
|
-
type: "richText",
|
|
37024
|
-
label: "Description",
|
|
37025
|
-
description: "Optional introductory text",
|
|
37026
|
-
required: false
|
|
37027
|
-
},
|
|
37028
|
-
{
|
|
37029
|
-
id: "showSessions",
|
|
37030
|
-
type: "boolean",
|
|
37031
|
-
label: "Show sessions",
|
|
37032
|
-
description: "Display the list of course sessions",
|
|
37033
|
-
required: false,
|
|
37034
|
-
defaultValue: true,
|
|
37035
|
-
ui: { intent: "display" }
|
|
37036
|
-
},
|
|
37037
|
-
{
|
|
37038
|
-
id: "showPrice",
|
|
37039
|
-
type: "boolean",
|
|
37040
|
-
label: "Show price",
|
|
37041
|
-
description: "Display the course price",
|
|
37042
|
-
required: false,
|
|
37043
|
-
defaultValue: true,
|
|
37044
|
-
ui: { intent: "display" }
|
|
37045
|
-
},
|
|
37046
|
-
{
|
|
37047
|
-
id: "showCapacity",
|
|
37048
|
-
type: "boolean",
|
|
37049
|
-
label: "Show available spots",
|
|
37050
|
-
description: "Display remaining enrollment capacity",
|
|
37051
|
-
required: false,
|
|
37052
|
-
defaultValue: true,
|
|
37053
|
-
ui: { intent: "display" }
|
|
37054
|
-
},
|
|
37055
|
-
{
|
|
37056
|
-
id: "showVenue",
|
|
37057
|
-
type: "boolean",
|
|
37058
|
-
label: "Show venue",
|
|
37059
|
-
description: "Display venue information",
|
|
37060
|
-
required: false,
|
|
37061
|
-
defaultValue: true,
|
|
37062
|
-
ui: { intent: "display" }
|
|
37063
|
-
},
|
|
37064
|
-
{
|
|
37065
|
-
id: "successMessage",
|
|
37066
|
-
type: "text",
|
|
37067
|
-
label: "Success message",
|
|
37068
|
-
description: "Message shown after successful enrollment",
|
|
37069
|
-
required: false,
|
|
37070
|
-
multiline: true,
|
|
37071
|
-
defaultValue: "You're enrolled! Check your email for confirmation and session details.",
|
|
37072
|
-
maxLength: 500
|
|
37073
|
-
},
|
|
37074
|
-
{
|
|
37075
|
-
id: "waitlistMessage",
|
|
37076
|
-
type: "text",
|
|
37077
|
-
label: "Waitlist message",
|
|
37078
|
-
description: "Message when added to waitlist",
|
|
37079
|
-
required: false,
|
|
37080
|
-
multiline: true,
|
|
37081
|
-
defaultValue: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
|
|
37082
|
-
maxLength: 500
|
|
37083
|
-
},
|
|
37084
|
-
{
|
|
37085
|
-
id: "membershipMessage",
|
|
37086
|
-
type: "text",
|
|
37087
|
-
label: "Membership enrollment message",
|
|
37088
|
-
description: "Message when enrolled using a membership",
|
|
37089
|
-
required: false,
|
|
37090
|
-
multiline: true,
|
|
37091
|
-
defaultValue: "Enrolled using your membership! Check your email for session details.",
|
|
37092
|
-
maxLength: 500
|
|
37093
|
-
},
|
|
37094
|
-
{
|
|
37095
|
-
id: "buttonText",
|
|
37096
|
-
type: "text",
|
|
37097
|
-
label: "Submit button text",
|
|
37098
|
-
description: "Text for the enrollment submit button",
|
|
37099
|
-
required: false,
|
|
37100
|
-
multiline: false,
|
|
37101
|
-
defaultValue: "Sign up",
|
|
37102
|
-
maxLength: 40
|
|
37103
|
-
},
|
|
37104
|
-
createButtonVariantField()
|
|
37105
|
-
],
|
|
37106
|
-
layout: [styledSection({
|
|
37107
|
-
baseClass: "",
|
|
37108
|
-
spacing: "spacious",
|
|
37109
|
-
children: sectionContainer([
|
|
37110
|
-
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
37111
|
-
richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
|
|
37112
|
-
courseRegistration(withApiBindings({
|
|
37113
|
-
subject: { $bind: {
|
|
37114
|
-
from: "$root.subject",
|
|
37115
|
-
fallback: null
|
|
37116
|
-
} },
|
|
37117
|
-
portalToken: { $bind: {
|
|
37118
|
-
from: "$root.portalToken",
|
|
37119
|
-
fallback: null
|
|
37120
|
-
} },
|
|
37121
|
-
showSessions: { $bind: { from: "content.showSessions" } },
|
|
37122
|
-
showPrice: { $bind: { from: "content.showPrice" } },
|
|
37123
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
37124
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
37125
|
-
successMessage: { $bind: { from: "content.successMessage" } },
|
|
37126
|
-
waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
|
|
37127
|
-
membershipMessage: { $bind: { from: "content.membershipMessage" } },
|
|
37128
|
-
buttonText: { $bind: {
|
|
37129
|
-
from: "content.buttonText",
|
|
37130
|
-
fallback: "Sign up"
|
|
37131
|
-
} },
|
|
37132
|
-
buttonVariant: { $bind: {
|
|
37133
|
-
from: "content.buttonVariant",
|
|
37134
|
-
fallback: "primary"
|
|
37135
|
-
} },
|
|
37136
|
-
courses: { $bind: { from: "data.courses" } },
|
|
37137
|
-
stage: { $bind: {
|
|
37138
|
-
from: "$root.previewStage",
|
|
37139
|
-
fallback: "published"
|
|
37140
|
-
} }
|
|
37141
|
-
}))
|
|
37142
|
-
], { gap: "lg" })
|
|
37143
|
-
})]
|
|
37144
|
-
}),
|
|
37145
|
-
runtime: courseRegistrationBlockRuntime,
|
|
37146
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
37147
|
-
dataLoaders: { courses: {
|
|
37148
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
37149
|
-
params: {
|
|
37150
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
37151
|
-
limit: "50",
|
|
37152
|
-
stage: { $bind: {
|
|
37153
|
-
from: "$root.previewStage",
|
|
37154
|
-
fallback: "published"
|
|
37155
|
-
} }
|
|
37156
|
-
},
|
|
37157
|
-
mode: "server"
|
|
37158
|
-
} }
|
|
37159
|
-
};
|
|
37160
|
-
//#endregion
|
|
37161
37150
|
//#region ../blocks/src/system/blocks/event-details.ts
|
|
37162
37151
|
/**
|
|
37163
37152
|
* Event Details Block
|
|
@@ -37404,200 +37393,6 @@ const eventDetailsBlockDefinition = {
|
|
|
37404
37393
|
mode: "server"
|
|
37405
37394
|
} }
|
|
37406
37395
|
};
|
|
37407
|
-
const courseDetailsBlockDefinition = {
|
|
37408
|
-
manifest: createBlockManifest({
|
|
37409
|
-
id: "block.course-details",
|
|
37410
|
-
version: "1.0.0",
|
|
37411
|
-
title: "Course Details",
|
|
37412
|
-
titleSource: "heading",
|
|
37413
|
-
description: "Schedule, venue, price, and enrollment status for a course",
|
|
37414
|
-
category: "content",
|
|
37415
|
-
contentSource: { kind: "entries" },
|
|
37416
|
-
tags: [
|
|
37417
|
-
"courses",
|
|
37418
|
-
"schedule",
|
|
37419
|
-
"sessions",
|
|
37420
|
-
"venue",
|
|
37421
|
-
"pricing"
|
|
37422
|
-
],
|
|
37423
|
-
icon: "GraduationCap",
|
|
37424
|
-
styleTokens: {
|
|
37425
|
-
background: "surface",
|
|
37426
|
-
typography: "body",
|
|
37427
|
-
spacing: "md"
|
|
37428
|
-
},
|
|
37429
|
-
behaviours: {
|
|
37430
|
-
supportsThemeSwitching: true,
|
|
37431
|
-
inlineEditing: false,
|
|
37432
|
-
animation: false,
|
|
37433
|
-
paletteHidden: false
|
|
37434
|
-
},
|
|
37435
|
-
additionalFields: [
|
|
37436
|
-
{
|
|
37437
|
-
id: "heading",
|
|
37438
|
-
type: "text",
|
|
37439
|
-
label: "Heading",
|
|
37440
|
-
description: "Optional heading shown above course details",
|
|
37441
|
-
required: false,
|
|
37442
|
-
multiline: false,
|
|
37443
|
-
defaultValue: "Course details"
|
|
37444
|
-
},
|
|
37445
|
-
{
|
|
37446
|
-
id: "showTitle",
|
|
37447
|
-
type: "boolean",
|
|
37448
|
-
label: "Show course title",
|
|
37449
|
-
required: false,
|
|
37450
|
-
defaultValue: false,
|
|
37451
|
-
ui: { intent: "display" }
|
|
37452
|
-
},
|
|
37453
|
-
{
|
|
37454
|
-
id: "showDescription",
|
|
37455
|
-
type: "boolean",
|
|
37456
|
-
label: "Show course description",
|
|
37457
|
-
description: "Render the course description from the bookings course record",
|
|
37458
|
-
required: false,
|
|
37459
|
-
defaultValue: false,
|
|
37460
|
-
ui: { intent: "display" }
|
|
37461
|
-
},
|
|
37462
|
-
{
|
|
37463
|
-
id: "showSessions",
|
|
37464
|
-
type: "boolean",
|
|
37465
|
-
label: "Show sessions",
|
|
37466
|
-
required: false,
|
|
37467
|
-
defaultValue: true,
|
|
37468
|
-
ui: { intent: "display" }
|
|
37469
|
-
},
|
|
37470
|
-
{
|
|
37471
|
-
id: "sessionsLimit",
|
|
37472
|
-
type: "select",
|
|
37473
|
-
label: "Sessions limit",
|
|
37474
|
-
required: false,
|
|
37475
|
-
multiple: false,
|
|
37476
|
-
defaultValue: "10",
|
|
37477
|
-
options: [
|
|
37478
|
-
{
|
|
37479
|
-
value: "3",
|
|
37480
|
-
label: "3 sessions"
|
|
37481
|
-
},
|
|
37482
|
-
{
|
|
37483
|
-
value: "5",
|
|
37484
|
-
label: "5 sessions"
|
|
37485
|
-
},
|
|
37486
|
-
{
|
|
37487
|
-
value: "10",
|
|
37488
|
-
label: "10 sessions"
|
|
37489
|
-
},
|
|
37490
|
-
{
|
|
37491
|
-
value: "all",
|
|
37492
|
-
label: "All sessions"
|
|
37493
|
-
}
|
|
37494
|
-
],
|
|
37495
|
-
ui: { intent: "display" }
|
|
37496
|
-
},
|
|
37497
|
-
{
|
|
37498
|
-
id: "showVenue",
|
|
37499
|
-
type: "boolean",
|
|
37500
|
-
label: "Show venue",
|
|
37501
|
-
required: false,
|
|
37502
|
-
defaultValue: true,
|
|
37503
|
-
ui: { intent: "display" }
|
|
37504
|
-
},
|
|
37505
|
-
{
|
|
37506
|
-
id: "showPrice",
|
|
37507
|
-
type: "boolean",
|
|
37508
|
-
label: "Show price",
|
|
37509
|
-
required: false,
|
|
37510
|
-
defaultValue: true,
|
|
37511
|
-
ui: { intent: "display" }
|
|
37512
|
-
},
|
|
37513
|
-
{
|
|
37514
|
-
id: "showCapacity",
|
|
37515
|
-
type: "boolean",
|
|
37516
|
-
label: "Show capacity",
|
|
37517
|
-
required: false,
|
|
37518
|
-
defaultValue: true,
|
|
37519
|
-
ui: { intent: "display" }
|
|
37520
|
-
},
|
|
37521
|
-
{
|
|
37522
|
-
id: "showEnrollmentStatus",
|
|
37523
|
-
type: "boolean",
|
|
37524
|
-
label: "Show enrollment status",
|
|
37525
|
-
required: false,
|
|
37526
|
-
defaultValue: true,
|
|
37527
|
-
ui: { intent: "display" }
|
|
37528
|
-
},
|
|
37529
|
-
{
|
|
37530
|
-
id: "showMembershipNote",
|
|
37531
|
-
type: "boolean",
|
|
37532
|
-
label: "Show membership note",
|
|
37533
|
-
description: "Indicate when memberships can be used for free enrollment",
|
|
37534
|
-
required: false,
|
|
37535
|
-
defaultValue: true,
|
|
37536
|
-
ui: { intent: "display" }
|
|
37537
|
-
}
|
|
37538
|
-
],
|
|
37539
|
-
layout: [styledSection({
|
|
37540
|
-
baseClass: "",
|
|
37541
|
-
spacing: "spacious",
|
|
37542
|
-
children: sectionContainer([text({ as: "h2" }, bind("content.heading"), when("content.heading")), el("course-details", {
|
|
37543
|
-
subject: { $bind: {
|
|
37544
|
-
from: "$root.subject",
|
|
37545
|
-
fallback: null
|
|
37546
|
-
} },
|
|
37547
|
-
courses: { $bind: { from: "data.courses" } },
|
|
37548
|
-
showTitle: { $bind: {
|
|
37549
|
-
from: "content.showTitle",
|
|
37550
|
-
fallback: false
|
|
37551
|
-
} },
|
|
37552
|
-
showDescription: { $bind: {
|
|
37553
|
-
from: "content.showDescription",
|
|
37554
|
-
fallback: false
|
|
37555
|
-
} },
|
|
37556
|
-
showSessions: { $bind: {
|
|
37557
|
-
from: "content.showSessions",
|
|
37558
|
-
fallback: true
|
|
37559
|
-
} },
|
|
37560
|
-
sessionsLimit: { $bind: {
|
|
37561
|
-
from: "content.sessionsLimit",
|
|
37562
|
-
fallback: "10"
|
|
37563
|
-
} },
|
|
37564
|
-
showVenue: { $bind: {
|
|
37565
|
-
from: "content.showVenue",
|
|
37566
|
-
fallback: true
|
|
37567
|
-
} },
|
|
37568
|
-
showPrice: { $bind: {
|
|
37569
|
-
from: "content.showPrice",
|
|
37570
|
-
fallback: true
|
|
37571
|
-
} },
|
|
37572
|
-
showCapacity: { $bind: {
|
|
37573
|
-
from: "content.showCapacity",
|
|
37574
|
-
fallback: true
|
|
37575
|
-
} },
|
|
37576
|
-
showEnrollmentStatus: { $bind: {
|
|
37577
|
-
from: "content.showEnrollmentStatus",
|
|
37578
|
-
fallback: true
|
|
37579
|
-
} },
|
|
37580
|
-
showMembershipNote: { $bind: {
|
|
37581
|
-
from: "content.showMembershipNote",
|
|
37582
|
-
fallback: true
|
|
37583
|
-
} }
|
|
37584
|
-
})], { gap: "lg" })
|
|
37585
|
-
})]
|
|
37586
|
-
}),
|
|
37587
|
-
dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
|
|
37588
|
-
dataLoaders: { courses: {
|
|
37589
|
-
endpoint: "listPublicWholeSeriesOfferings",
|
|
37590
|
-
params: {
|
|
37591
|
-
siteId: { $bind: { from: "$root.siteId" } },
|
|
37592
|
-
limit: "50",
|
|
37593
|
-
stage: { $bind: {
|
|
37594
|
-
from: "$root.previewStage",
|
|
37595
|
-
fallback: "published"
|
|
37596
|
-
} }
|
|
37597
|
-
},
|
|
37598
|
-
mode: "server"
|
|
37599
|
-
} }
|
|
37600
|
-
};
|
|
37601
37396
|
const eventSpotlightBlockDefinition = {
|
|
37602
37397
|
manifest: createBlockManifest({
|
|
37603
37398
|
id: "block.event-spotlight",
|
|
@@ -39984,7 +39779,7 @@ const publicRouteCandidatesSchema = z.object({ routes: z.array(z.object({
|
|
|
39984
39779
|
entityId: z.string(),
|
|
39985
39780
|
path: z.string(),
|
|
39986
39781
|
title: z.string(),
|
|
39987
|
-
kind: z.enum(
|
|
39782
|
+
kind: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
|
|
39988
39783
|
contentTypeKey: z.string().nullable().optional()
|
|
39989
39784
|
})) });
|
|
39990
39785
|
const groupOverrideFields = [
|
|
@@ -40261,7 +40056,7 @@ const offeringsPreviewManifest = createBlockManifest({
|
|
|
40261
40056
|
fallback: "published"
|
|
40262
40057
|
} },
|
|
40263
40058
|
routeCandidates: { $bind: { from: "data.routeCandidates" } },
|
|
40264
|
-
|
|
40059
|
+
wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
|
|
40265
40060
|
...offeringsPreviewEventDataBindings
|
|
40266
40061
|
})
|
|
40267
40062
|
], { gap: "lg" }),
|
|
@@ -40278,7 +40073,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
40278
40073
|
dataSchemas: {
|
|
40279
40074
|
...offeringsPreviewEventDataSchemas,
|
|
40280
40075
|
routeCandidates: publicRouteCandidatesSchema.optional(),
|
|
40281
|
-
|
|
40076
|
+
wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
|
|
40282
40077
|
},
|
|
40283
40078
|
dataLoaders: {
|
|
40284
40079
|
...offeringsPreviewEventDataLoaders,
|
|
@@ -40287,7 +40082,7 @@ const offeringsPreviewBlockDefinition = {
|
|
|
40287
40082
|
params: {},
|
|
40288
40083
|
mode: "server"
|
|
40289
40084
|
},
|
|
40290
|
-
|
|
40085
|
+
wholeSeriesOfferings: {
|
|
40291
40086
|
endpoint: "listPublicWholeSeriesOfferings",
|
|
40292
40087
|
params: {
|
|
40293
40088
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
@@ -45274,22 +45069,6 @@ const systemBlockDefinitions = [
|
|
|
45274
45069
|
weight: "standard"
|
|
45275
45070
|
})]
|
|
45276
45071
|
})),
|
|
45277
|
-
withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
45278
|
-
flow: conversionFlow,
|
|
45279
|
-
layoutProfiles: [layoutProfile({
|
|
45280
|
-
variantKey: "default",
|
|
45281
|
-
family: "form",
|
|
45282
|
-
weight: "standard"
|
|
45283
|
-
})]
|
|
45284
|
-
})),
|
|
45285
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
45286
|
-
flow: offeringsFlow,
|
|
45287
|
-
layoutProfiles: [layoutProfile({
|
|
45288
|
-
variantKey: "default",
|
|
45289
|
-
family: "stack",
|
|
45290
|
-
weight: "standard"
|
|
45291
|
-
})]
|
|
45292
|
-
})),
|
|
45293
45072
|
withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
|
|
45294
45073
|
flow: offeringsFlow,
|
|
45295
45074
|
layoutProfiles: [layoutProfile({
|
|
@@ -47316,6 +47095,68 @@ function collectText(node) {
|
|
|
47316
47095
|
return (node.content ?? []).map(collectText).join("");
|
|
47317
47096
|
}
|
|
47318
47097
|
//#endregion
|
|
47098
|
+
//#region ../api/src/bookingPaymentTermSchemas.ts
|
|
47099
|
+
const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
|
|
47100
|
+
const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
|
|
47101
|
+
z.object({
|
|
47102
|
+
kind: z.literal("deposit_plus_one_remainder"),
|
|
47103
|
+
depositAmountCents: z.number().int().nonnegative(),
|
|
47104
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
47105
|
+
remainderDueCount: z.number().int().positive(),
|
|
47106
|
+
intervalUnit: z.enum([
|
|
47107
|
+
"day",
|
|
47108
|
+
"week",
|
|
47109
|
+
"month"
|
|
47110
|
+
])
|
|
47111
|
+
}),
|
|
47112
|
+
z.object({
|
|
47113
|
+
kind: z.literal("deposit_plus_scheduled_instalments"),
|
|
47114
|
+
depositAmountCents: z.number().int().nonnegative(),
|
|
47115
|
+
depositRefundability: bookingDepositRefundPolicySchema,
|
|
47116
|
+
instalmentCount: z.number().int().positive(),
|
|
47117
|
+
intervalCount: z.number().int().positive(),
|
|
47118
|
+
intervalUnit: z.enum([
|
|
47119
|
+
"day",
|
|
47120
|
+
"week",
|
|
47121
|
+
"month"
|
|
47122
|
+
])
|
|
47123
|
+
}),
|
|
47124
|
+
z.object({
|
|
47125
|
+
kind: z.literal("equal_scheduled_instalments"),
|
|
47126
|
+
instalmentCount: z.number().int().positive(),
|
|
47127
|
+
intervalCount: z.number().int().positive(),
|
|
47128
|
+
intervalUnit: z.enum([
|
|
47129
|
+
"day",
|
|
47130
|
+
"week",
|
|
47131
|
+
"month"
|
|
47132
|
+
])
|
|
47133
|
+
})
|
|
47134
|
+
]);
|
|
47135
|
+
const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
|
|
47136
|
+
kind: z.literal("relative_to_start_date"),
|
|
47137
|
+
daysBeforeStart: z.number().int().positive()
|
|
47138
|
+
}), z.object({
|
|
47139
|
+
kind: z.literal("fixed_calendar_date"),
|
|
47140
|
+
dueAt: z.string().datetime()
|
|
47141
|
+
})]);
|
|
47142
|
+
const bookingFlexibleBalanceConfigSchema = z.object({
|
|
47143
|
+
upfrontAmountCents: z.number().int().nonnegative(),
|
|
47144
|
+
dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
|
|
47145
|
+
depositRefundability: bookingDepositRefundPolicySchema
|
|
47146
|
+
});
|
|
47147
|
+
z.discriminatedUnion("kind", [
|
|
47148
|
+
z.object({ kind: z.literal("upfront") }),
|
|
47149
|
+
z.object({ kind: z.literal("deferred_manual") }),
|
|
47150
|
+
z.object({
|
|
47151
|
+
kind: z.literal("instalment_plan"),
|
|
47152
|
+
plan: bookingInstalmentPlanSchema
|
|
47153
|
+
}),
|
|
47154
|
+
z.object({
|
|
47155
|
+
kind: z.literal("flexible_balance"),
|
|
47156
|
+
config: bookingFlexibleBalanceConfigSchema
|
|
47157
|
+
})
|
|
47158
|
+
]);
|
|
47159
|
+
//#endregion
|
|
47319
47160
|
//#region ../api/src/aiPlayground.ts
|
|
47320
47161
|
/**
|
|
47321
47162
|
* RFC-6902 JSON Patch Operations
|