@riverbankcms/sdk 0.121.0 → 0.124.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/README.md +14 -9
- package/dist/{PreviewEditorSidebar-lZ600tJx.mjs → PreviewEditorSidebar-DBmAJJkQ.mjs} +24 -41
- package/dist/{PreviewEditorUI-CTBWzLSb.mjs → PreviewEditorUI-CfGaz9cY.mjs} +3 -3
- package/dist/{PreviewQueryProvider-BHT8CJvZ.mjs → PreviewQueryProvider-BH-3-jSj.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DhPU58s7.mjs → SdkPreviewModeRuntime-BW9Z8j8T.mjs} +1020 -1234
- package/dist/{SiteChromeCustomizeContext-BkNvpzNZ.mjs → SiteChromeCustomizeContext-2z8moxYf.mjs} +1902 -1961
- package/dist/_dts/ai/src/contracts/proposals.d.ts +1236 -4152
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +435 -0
- package/dist/_dts/api/src/bookingClosures.d.ts +3 -3
- package/dist/_dts/api/src/bookingConfig.d.ts +100 -75
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +26 -35
- package/dist/_dts/api/src/bookingRecords.d.ts +4 -15
- package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +746 -0
- package/dist/_dts/api/src/bookingVerticalPreset.d.ts +38 -0
- package/dist/_dts/api/src/bookingVerticals.d.ts +11 -652
- package/dist/_dts/api/src/bookings.d.ts +11 -9
- package/dist/_dts/api/src/cache-tags.d.ts +2 -2
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +10 -10
- package/dist/_dts/api/src/common/envelope.d.ts +2 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +0 -17
- package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +99 -0
- package/dist/_dts/api/src/courses.d.ts +22 -33
- package/dist/_dts/api/src/defineEndpointDefinitions.d.ts +14 -0
- package/dist/_dts/api/src/demoMutationPolicies.d.ts +4 -0
- package/dist/_dts/api/src/endpoints.d.ts +3740 -3733
- package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
- package/dist/_dts/api/src/event-presentation.d.ts +4 -9
- package/dist/_dts/api/src/index.d.ts +10 -12
- package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +376 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +272 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +274 -0
- package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +31 -0
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +152 -0
- package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +95 -0
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +154 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -962
- package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +52 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +0 -51
- package/dist/_dts/api/src/sdkEntryReadEndpoints.d.ts +23 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -38
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -7
- package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -15
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +0 -16
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -222
- package/dist/_dts/blocks/src/portal/types.d.ts +3 -3
- package/dist/_dts/blocks/src/subroutes/fold.d.ts +1 -14
- package/dist/_dts/blocks/src/subroutes/index.d.ts +1 -1
- package/dist/_dts/blocks/src/subroutes/kinds.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -11
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -4
- package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +401 -12
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +9 -10
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -13
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +1 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +19 -18
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -11
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +10 -10
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -10
- 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 +162 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +59 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +134 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/discounts.d.ts +85 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +241 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/forms.d.ts +53 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +32 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +220 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +176 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +12 -1121
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +19 -583
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -276
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +1 -12
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +2 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +1 -18
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +1 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/courseRegistrationViewState.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +0 -25
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseEligibility.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +35 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationPortal.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +80 -55
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseWaitlistSelection.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -38
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +0 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +0 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +0 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -21
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +24 -433
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +52 -266
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventFilters.d.ts +0 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1573 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +1 -3
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -3
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -5
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -5
- package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -3
- package/dist/_dts/core/src/editor-state.d.ts +1 -13
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1587 -115
- package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +6 -6
- package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +27 -4
- package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -2
- package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +4 -6
- package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -1
- package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +23 -0
- package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +25 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -52
- package/dist/_dts/sdk/src/cli/content/writer.d.ts +3 -81
- package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +6 -9
- package/dist/_dts/sdk/src/client/contentReadOperations.d.ts +40 -0
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -3
- package/dist/_dts/sdk/src/client/management/types.d.ts +3 -91
- package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +72 -0
- package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +10 -75
- package/dist/_dts/sdk/src/client/types.d.ts +7 -33
- package/dist/_dts/sdk/src/components.d.ts +1 -1
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -6
- package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/page.d.ts +0 -8
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -34
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +4 -3
- package/dist/_dts/sdk/src/next/catch-all-utils.d.ts +0 -11
- package/dist/_dts/sdk/src/next/catch-all.d.ts +1 -76
- package/dist/_dts/sdk/src/next/types.d.ts +0 -19
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -207
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
- package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +0 -7
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +81 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -51
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -1
- package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +6 -6
- package/dist/_dts/sdk/src/routing/index.d.ts +0 -2
- package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +3 -3
- package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +10 -39
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
- package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +100 -0
- package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
- package/dist/_dts/site-commands/src/commandContract.d.ts +1242 -0
- package/dist/_dts/site-commands/src/commandDomain.d.ts +20 -0
- package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +7 -0
- package/dist/_dts/site-commands/src/commandValidation.d.ts +10 -0
- package/dist/_dts/site-commands/src/commands.d.ts +729 -2659
- package/dist/_dts/site-commands/src/domain.d.ts +1 -1
- package/dist/_dts/site-commands/src/eventCommandContent.d.ts +11 -0
- package/dist/_dts/site-commands/src/exposure.d.ts +1 -1
- package/dist/_dts/site-commands/src/index.d.ts +6 -0
- package/dist/_dts/site-commands/src/metadata.d.ts +1 -27
- package/dist/_dts/site-commands/src/planner.d.ts +1 -1
- package/dist/_dts/site-commands/src/refContributions.d.ts +1 -1
- package/dist/_dts/site-commands/src/refs.d.ts +1 -4
- package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +378 -0
- package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +46 -0
- package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +2 -2
- package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +21 -0
- package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +58 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +47 -24
- package/dist/cli/index.mjs +7392 -10989
- package/dist/cli/init-docs/content/cli-reference.md +5 -21
- package/dist/cli/init-docs/content/content-management.md +4 -5
- package/dist/client/{DiscountCodeDisclosure-DIWj-P9v.mjs → DiscountCodeDisclosure-DxvjKvck.mjs} +2 -2
- package/dist/client/{EventCombined.client-De8YWBSr.mjs → EventCombined.client-BydMGc4c.mjs} +5 -16
- package/dist/client/{EventListing.client-seHTjimY.mjs → EventListing.client-vpzhhysN.mjs} +3 -10
- package/dist/client/{LeafletStaticMap-BmQxFcJW.mjs → LeafletStaticMap-CB07rpf8.mjs} +1 -1
- package/dist/client/{MagicLinkForm-OoJAIUIj.mjs → MagicLinkForm-BzyRJ8VF.mjs} +2 -2
- package/dist/client/{StepIndicator-CiZ8kdPk.mjs → StepIndicator-CTcGf8Be.mjs} +2 -2
- package/dist/client/{accordion-6lnN__XJ.mjs → accordion-B-DUDLRD.mjs} +1 -1
- package/dist/client/{bookingForm-5uyqhONU.mjs → bookingForm-DSbClLcZ.mjs} +6 -6
- package/dist/client/bookings.mjs +753 -818
- package/dist/client/{carousel-Dtnifil_.mjs → carousel-B6Ccdx8M.mjs} +1 -1
- package/dist/client/{cart-5Tc5S7NV.mjs → cart-BZh8G8wM.mjs} +3 -3
- package/dist/client/{checkout-CYKKN5Hr.mjs → checkout-o6zaC-kM.mjs} +3 -3
- package/dist/client/client.mjs +7398 -7687
- package/dist/client/{context-BGZNlGXB.mjs → context-CJz1Vlsz.mjs} +40 -43
- package/dist/client/{courseRegistration-CxCBybB4.mjs → courseRegistration-Cf11pNDs.mjs} +606 -621
- package/dist/client/{eventCalendar-Xj2jZS9X.mjs → eventCalendar-BeXrdsSE.mjs} +5 -13
- package/dist/client/{eventCombined-CgcMoOgM.mjs → eventCombined-DA76PZgG.mjs} +3 -3
- package/dist/client/{eventDetails-CEAH8Edc.mjs → eventDetails-BLxg0rok.mjs} +140 -116
- package/dist/client/{eventListing-qyPVQ0wP.mjs → eventListing-tO9LheBX.mjs} +3 -3
- package/dist/client/{eventRegistration-DDu79CtL.mjs → eventRegistration-Cnene9D9.mjs} +165 -68
- package/dist/client/{form-Bc7JKI7I.mjs → form-DZf72CHB.mjs} +2 -2
- package/dist/client/{headerSection-vTku_LEl.mjs → headerSection-Hioja5Cr.mjs} +2 -2
- package/dist/client/hooks.mjs +3452 -2365
- package/dist/client/{locationMap-Bg7X4Jna.mjs → locationMap-DwhUXEix.mjs} +2 -2
- package/dist/client/{newsletterForm-lpylVdp5.mjs → newsletterForm-C350bEQf.mjs} +2 -2
- package/dist/client/{pricing-DE8fjJiT.mjs → pricing-BYWN_ATa.mjs} +3 -19
- package/dist/client/{productDetail-D7Bo2RMH.mjs → productDetail-CCqCyXgU.mjs} +3 -3
- package/dist/client/{productList-VjnZqiqN.mjs → productList-BAiNJrOU.mjs} +3 -3
- package/dist/client/{propsDecoder-DreFXjNP.mjs → propsDecoder-DeunRj6m.mjs} +210 -378
- package/dist/client/rendering/client.mjs +2541 -2813
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +5622 -4734
- package/dist/client/{shop-IRsHHbf7.mjs → shop-DUmCdBtw.mjs} +6 -6
- package/dist/client/{shop-commerce-gnI8PieZ.mjs → shop-commerce-CY27mEUr.mjs} +5 -5
- package/dist/client/{shop-commerce-store-BTbrhObn.mjs → shop-commerce-store-ChXPbWfa.mjs} +1 -1
- package/dist/client/{shopShared-D6KS2_qk.mjs → shopShared-q0kin1cv.mjs} +3 -3
- package/dist/client/{useDiscountCodeUi-DCccGCxV.mjs → useDiscountCodeUi-I-92-x2V.mjs} +2 -2
- package/dist/client/{useEventFilters-eGs3rPZQ.mjs → useEventFilters-DlcVluZh.mjs} +59 -124
- package/dist/client/{usePolling-CvSU2sur.mjs → usePolling-Bz7GFV_a.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +1115 -1043
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +1116 -1044
- package/dist/{previewAuthStore-31xH13Jc.mjs → previewAuthStore-CJX21dGi.mjs} +1119 -1044
- package/dist/{sdk-runtime-BE_vcGua.mjs → sdk-runtime-OnPM8Z69.mjs} +2 -2
- package/dist/{separator-CiffYtk3.mjs → separator-CPtfzHqA.mjs} +1 -1
- package/dist/server/components.mjs +11120 -12601
- package/dist/server/config-validation.mjs +3454 -2356
- package/dist/server/config.mjs +3454 -2356
- package/dist/server/data.mjs +3452 -2367
- package/dist/server/index.mjs +1499 -1488
- package/dist/server/next.mjs +18291 -21201
- package/dist/server/page-converter.mjs +1898 -2040
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +19666 -21153
- package/dist/server/rendering.mjs +17117 -18651
- package/dist/server/routing.mjs +3614 -2509
- package/dist/server/server.mjs +3298 -3478
- package/package.json +1 -1
- package/dist/_dts/api/src/previewContentContract.d.ts +0 -4
- package/dist/_dts/sdk/src/cli/commands/course.d.ts +0 -6
- package/dist/_dts/sdk/src/cli/commands/push/scopes/courses.d.ts +0 -4
- package/dist/_dts/sdk/src/client/management/courses.d.ts +0 -10
- package/dist/_dts/sdk/src/routing/resolveEntrySubroute.d.ts +0 -36
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Shared types for server and client components.
|
|
5
5
|
*/
|
|
6
6
|
import type { PublicCourse } from '../../../blocks/courses/shared';
|
|
7
|
-
import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
|
|
8
7
|
import type { ButtonVariant as SharedButtonVariant } from '../../shared';
|
|
9
8
|
import type { EventRegistrationPageSurfaceSubject } from '../event-registration/eventScope';
|
|
10
9
|
export type { FormData } from '../../shared';
|
|
@@ -43,34 +42,10 @@ export type CourseRegistrationWizardActionResult = Readonly<{
|
|
|
43
42
|
kind: 'failed';
|
|
44
43
|
message: string;
|
|
45
44
|
}>;
|
|
46
|
-
/**
|
|
47
|
-
* Content entry context from CMS
|
|
48
|
-
*/
|
|
49
|
-
export type ContentEntryContext = {
|
|
50
|
-
id: string;
|
|
51
|
-
slug: string;
|
|
52
|
-
contentTypeSlug: string;
|
|
53
|
-
};
|
|
54
|
-
export type EntrySubrouteContext = {
|
|
55
|
-
kind: 'course-run';
|
|
56
|
-
run: {
|
|
57
|
-
courseId: string;
|
|
58
|
-
seriesId: string;
|
|
59
|
-
runSlug: string;
|
|
60
|
-
runName: string | null;
|
|
61
|
-
};
|
|
62
|
-
} | {
|
|
63
|
-
kind: 'event-occurrence';
|
|
64
|
-
occurrence: OccurrenceContext;
|
|
65
|
-
};
|
|
66
45
|
/**
|
|
67
46
|
* Base props shared between server and client components
|
|
68
47
|
*/
|
|
69
48
|
export interface CourseRegistrationBaseProps {
|
|
70
|
-
/** Content entry context for course pages */
|
|
71
|
-
contentEntry?: ContentEntryContext | null;
|
|
72
|
-
/** Entry subroute context (e.g., course run under a course program page) */
|
|
73
|
-
entrySubrouteContext?: EntrySubrouteContext | null;
|
|
74
49
|
/** Native page-surface subject for series/offering-owned course pages. */
|
|
75
50
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
76
51
|
/** List of available courses from data loader */
|
package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseEligibility.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { PublicCourse } from '../../../blocks/courses/shared';
|
|
2
|
+
import type { BlockApiClient } from '../../api';
|
|
3
|
+
import type { WholeSeriesEligibilityResponse } from '../../api/types';
|
|
4
|
+
import type { PortalAuthState } from './types';
|
|
5
|
+
export type PaymentChoice = 'checkout' | 'membership';
|
|
6
|
+
export declare function useCourseEligibility(input: Readonly<{
|
|
7
|
+
api: BlockApiClient;
|
|
8
|
+
selectedCourse: PublicCourse | null;
|
|
9
|
+
hasPaidSelection: boolean;
|
|
10
|
+
portalAuthState: PortalAuthState;
|
|
11
|
+
waitlistClaimToken: string | null;
|
|
12
|
+
}>): {
|
|
13
|
+
eligibilityLoading: boolean;
|
|
14
|
+
eligibilityError: string | null;
|
|
15
|
+
courseEligibility: WholeSeriesEligibilityResponse | null;
|
|
16
|
+
eligibleMemberships: Readonly<{
|
|
17
|
+
customerMembershipId: string;
|
|
18
|
+
membershipName: string;
|
|
19
|
+
}>[];
|
|
20
|
+
paymentChoice: PaymentChoice;
|
|
21
|
+
choosePaymentChoice: (choice: PaymentChoice) => void;
|
|
22
|
+
selectedMembershipId: string | null;
|
|
23
|
+
chooseMembership: (membershipId: string | null) => void;
|
|
24
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BlockApiClient } from '../../api';
|
|
2
|
+
import type { EnrollmentResult, EnrollmentStep } from './types';
|
|
3
|
+
type VerificationSetters = Readonly<{
|
|
4
|
+
setStep: (step: EnrollmentStep) => void;
|
|
5
|
+
setErrorMessage: (message: string) => void;
|
|
6
|
+
setEnrollmentResult: (result: EnrollmentResult) => void;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function useCoursePaymentVerification(api: BlockApiClient, setters: VerificationSetters): void;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { PublicCourse, ResolvedCoursePricingState } from '../../../blocks/courses/shared';
|
|
2
|
+
import type { BlockApiClient } from '../../api';
|
|
3
|
+
import type { WholeSeriesEligibilityResponse } from '../../api/types';
|
|
4
|
+
import type { CourseRegistrationWizardActionResult, CourseRegistrationWizardOptions, EnrollmentResult, EnrollmentStep, FormData, PortalAuthState } from './types';
|
|
5
|
+
import type { PaymentChoice } from './useCourseEligibility';
|
|
6
|
+
type Membership = Readonly<{
|
|
7
|
+
customerMembershipId: string;
|
|
8
|
+
membershipName: string;
|
|
9
|
+
}>;
|
|
10
|
+
type ActionState = Readonly<{
|
|
11
|
+
api: BlockApiClient;
|
|
12
|
+
selectedCourse: PublicCourse | null;
|
|
13
|
+
pricing: ResolvedCoursePricingState | null;
|
|
14
|
+
formData: FormData;
|
|
15
|
+
portalAuthState: PortalAuthState;
|
|
16
|
+
eligibility: WholeSeriesEligibilityResponse | null;
|
|
17
|
+
eligibleMemberships: readonly Membership[];
|
|
18
|
+
paymentChoice: PaymentChoice;
|
|
19
|
+
selectedMembershipId: string | null;
|
|
20
|
+
claimToken: string | null;
|
|
21
|
+
hasClaim: boolean;
|
|
22
|
+
altchaSolution: string | null;
|
|
23
|
+
discountCode: string;
|
|
24
|
+
options: CourseRegistrationWizardOptions;
|
|
25
|
+
}>;
|
|
26
|
+
export declare function useCourseRegistrationActions(state: ActionState, setStep: (step: EnrollmentStep) => void): {
|
|
27
|
+
errors: Partial<Record<keyof FormData, string>>;
|
|
28
|
+
enrollmentResult: EnrollmentResult | null;
|
|
29
|
+
errorMessage: string;
|
|
30
|
+
reportError: (message: string) => void;
|
|
31
|
+
recordEnrollmentResult: (result: EnrollmentResult) => void;
|
|
32
|
+
handleSubmit: () => Promise<CourseRegistrationWizardActionResult>;
|
|
33
|
+
handlePaymentContinue: () => Promise<CourseRegistrationWizardActionResult>;
|
|
34
|
+
};
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BlockApiClient } from '../../api';
|
|
2
|
+
import type { FormData, PortalAuthState } from './types';
|
|
3
|
+
export declare function useCourseRegistrationPortal(api: BlockApiClient): {
|
|
4
|
+
formData: FormData;
|
|
5
|
+
updateFormData: (updater: FormData | ((current: FormData) => FormData)) => void;
|
|
6
|
+
portalAuthState: PortalAuthState;
|
|
7
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PublicCourse } from '../../../blocks/courses/shared';
|
|
2
|
+
import type { CourseRegistrationClientProps, EnrollmentStep } from './types';
|
|
3
|
+
export declare function getCourseCheckoutSessionId(): string | null;
|
|
4
|
+
export declare function useCourseRegistrationSelection(props: CourseRegistrationClientProps): {
|
|
5
|
+
scopedCourses: readonly import("../../..").PublicWholeSeriesOffering[];
|
|
6
|
+
step: EnrollmentStep;
|
|
7
|
+
goToStep: (nextStep: EnrollmentStep) => void;
|
|
8
|
+
selectedCourse: import("../../..").PublicWholeSeriesOffering | null;
|
|
9
|
+
chooseCourse: (course: PublicCourse) => void;
|
|
10
|
+
selectedPricingOptionId: string | null;
|
|
11
|
+
choosePricingOption: (pricingOptionId: string | null) => void;
|
|
12
|
+
selectedSlidingAmountInput: string;
|
|
13
|
+
changeSlidingAmount: (amount: string) => void;
|
|
14
|
+
selectedCoursePricing: Readonly<{
|
|
15
|
+
currency: string;
|
|
16
|
+
display: import("../../../blocks/courses/shared").CoursePriceDisplay;
|
|
17
|
+
selectableOptions: readonly import("../../../blocks/courses/shared").CoursePricingOption[];
|
|
18
|
+
requiresSelection: boolean;
|
|
19
|
+
selectedOption: import("../../../blocks/courses/shared").CoursePricingOption | null;
|
|
20
|
+
slidingScale: Readonly<{
|
|
21
|
+
minAmount: number;
|
|
22
|
+
maxAmount: number;
|
|
23
|
+
suggestedAmount: number | null;
|
|
24
|
+
}> | null;
|
|
25
|
+
selectedSlidingAmount: number | null;
|
|
26
|
+
selectedPriceAmount: number | null;
|
|
27
|
+
selectedRequiresPayment: boolean;
|
|
28
|
+
hasPaidSelection: boolean;
|
|
29
|
+
hasFreeSelection: boolean;
|
|
30
|
+
}> | null;
|
|
31
|
+
};
|
|
@@ -1,17 +1,71 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
type
|
|
1
|
+
import { useBlockApi } from '../../api';
|
|
2
|
+
import { useWaitlistClaim } from '../../shared/useWaitlistClaim';
|
|
3
|
+
import { useDiscountCodeUi } from '../event-registration/useDiscountCodeUi';
|
|
4
|
+
import type { BookingMode, CourseRegistrationClientProps, CourseRegistrationWizardOptions } from './types';
|
|
5
|
+
import { deriveCourseRegistrationViewState } from './courseRegistrationViewState';
|
|
6
|
+
import { useCourseEligibility } from './useCourseEligibility';
|
|
7
|
+
import { useCourseRegistrationActions } from './useCourseRegistrationActions';
|
|
8
|
+
import { useCourseRegistrationPortal } from './useCourseRegistrationPortal';
|
|
9
|
+
import { useCourseRegistrationSelection } from './useCourseRegistrationSelection';
|
|
5
10
|
export declare function useCourseRegistrationWizard(props: CourseRegistrationClientProps, options?: CourseRegistrationWizardOptions): {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
handleCourseSelect: (course: NonNullable<WizardParts["selection"]["selectedCourse"]>) => void;
|
|
12
|
+
handleRetry: () => void;
|
|
13
|
+
handleBookingModeChange: (mode: BookingMode) => void;
|
|
14
|
+
handleLogout: (() => void) | undefined;
|
|
15
|
+
selectedCoursePricingPayload: {
|
|
16
|
+
pricingOptionId?: string;
|
|
17
|
+
selectedSlidingAmount?: number;
|
|
18
|
+
};
|
|
19
|
+
hasCoursePayment: boolean;
|
|
20
|
+
canUseMembership: boolean;
|
|
21
|
+
hasPreSelectedCourse: boolean;
|
|
22
|
+
wizardSteps: readonly import("./types").EnrollmentStep[];
|
|
23
|
+
currentStepNumber: number;
|
|
24
|
+
totalSteps: number;
|
|
25
|
+
stepLabels: string[];
|
|
26
|
+
showPortalAuthSidebar: boolean;
|
|
27
|
+
waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
|
|
28
|
+
bookingMode: BookingMode;
|
|
29
|
+
altchaSolution: string | null;
|
|
30
|
+
setAltchaSolution: (solution: string | null) => void;
|
|
31
|
+
showSpamProtection: boolean;
|
|
32
|
+
discountUiOpen: boolean;
|
|
33
|
+
setDiscountUiOpen: (isOpen: boolean) => void;
|
|
34
|
+
discountCode: string;
|
|
35
|
+
setDiscountCode: (code: string) => void;
|
|
36
|
+
discountsAvailable: boolean;
|
|
37
|
+
manualCodeEntryAllowed: boolean;
|
|
38
|
+
discountsAvailableLoading: boolean;
|
|
39
|
+
errors: Partial<Record<keyof import("./types").FormData, string>>;
|
|
40
|
+
enrollmentResult: import("./types").EnrollmentResult | null;
|
|
41
|
+
errorMessage: string;
|
|
42
|
+
reportError: (message: string) => void;
|
|
43
|
+
recordEnrollmentResult: (result: import("./types").EnrollmentResult) => void;
|
|
44
|
+
handleSubmit: () => Promise<import("./types").CourseRegistrationWizardActionResult>;
|
|
45
|
+
handlePaymentContinue: () => Promise<import("./types").CourseRegistrationWizardActionResult>;
|
|
46
|
+
eligibilityLoading: boolean;
|
|
47
|
+
eligibilityError: string | null;
|
|
48
|
+
courseEligibility: import("../../api/types").WholeSeriesEligibilityResponse | null;
|
|
49
|
+
eligibleMemberships: Readonly<{
|
|
50
|
+
customerMembershipId: string;
|
|
51
|
+
membershipName: string;
|
|
52
|
+
}>[];
|
|
53
|
+
paymentChoice: import("./useCourseEligibility").PaymentChoice;
|
|
54
|
+
choosePaymentChoice: (choice: import("./useCourseEligibility").PaymentChoice) => void;
|
|
55
|
+
selectedMembershipId: string | null;
|
|
56
|
+
chooseMembership: (membershipId: string | null) => void;
|
|
57
|
+
formData: import("./types").FormData;
|
|
58
|
+
updateFormData: (updater: import("./types").FormData | ((current: import("./types").FormData) => import("./types").FormData)) => void;
|
|
59
|
+
portalAuthState: import("./types").PortalAuthState;
|
|
60
|
+
scopedCourses: readonly import("../../..").PublicWholeSeriesOffering[];
|
|
61
|
+
step: import("./types").EnrollmentStep;
|
|
62
|
+
goToStep: (nextStep: import("./types").EnrollmentStep) => void;
|
|
63
|
+
selectedCourse: import("../../..").PublicWholeSeriesOffering | null;
|
|
64
|
+
chooseCourse: (course: import("../../..").PublicCourse) => void;
|
|
11
65
|
selectedPricingOptionId: string | null;
|
|
12
|
-
|
|
66
|
+
choosePricingOption: (pricingOptionId: string | null) => void;
|
|
13
67
|
selectedSlidingAmountInput: string;
|
|
14
|
-
|
|
68
|
+
changeSlidingAmount: (amount: string) => void;
|
|
15
69
|
selectedCoursePricing: Readonly<{
|
|
16
70
|
currency: string;
|
|
17
71
|
display: import("../../../blocks/courses/shared").CoursePriceDisplay;
|
|
@@ -29,49 +83,20 @@ export declare function useCourseRegistrationWizard(props: CourseRegistrationCli
|
|
|
29
83
|
hasPaidSelection: boolean;
|
|
30
84
|
hasFreeSelection: boolean;
|
|
31
85
|
}> | null;
|
|
32
|
-
|
|
33
|
-
formData: FormData;
|
|
34
|
-
setFormData: import("react").Dispatch<import("react").SetStateAction<FormData>>;
|
|
35
|
-
errors: Partial<Record<keyof FormData, string>>;
|
|
36
|
-
enrollmentResult: EnrollmentResult | null;
|
|
37
|
-
errorMessage: string;
|
|
38
|
-
portalAuthState: PortalAuthState;
|
|
39
|
-
handleLogout: (() => void) | undefined;
|
|
40
|
-
altchaSolution: string | null;
|
|
41
|
-
setAltchaSolution: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
42
|
-
showSpamProtection: boolean;
|
|
43
|
-
eligibilityLoading: boolean;
|
|
44
|
-
eligibilityError: string | null;
|
|
45
|
-
courseEligibility: CourseEligibilityCheckResponse | null;
|
|
46
|
-
eligibleMemberships: {
|
|
47
|
-
customerMembershipId: string;
|
|
48
|
-
membershipName: string;
|
|
49
|
-
}[];
|
|
50
|
-
paymentChoice: PaymentChoice;
|
|
51
|
-
setPaymentChoice: import("react").Dispatch<import("react").SetStateAction<PaymentChoice>>;
|
|
52
|
-
selectedMembershipId: string | null;
|
|
53
|
-
setSelectedMembershipId: import("react").Dispatch<import("react").SetStateAction<string | null>>;
|
|
54
|
-
discountUiOpen: boolean;
|
|
55
|
-
setDiscountUiOpen: (isOpen: boolean) => void;
|
|
56
|
-
discountCode: string;
|
|
57
|
-
setDiscountCode: (code: string) => void;
|
|
58
|
-
discountsAvailable: boolean;
|
|
59
|
-
manualCodeEntryAllowed: boolean;
|
|
60
|
-
discountsAvailableLoading: boolean;
|
|
61
|
-
canUseMembership: boolean;
|
|
62
|
-
waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
|
|
63
|
-
bookingMode: BookingMode;
|
|
64
|
-
wizardSteps: readonly EnrollmentStep[];
|
|
65
|
-
currentStepNumber: number;
|
|
66
|
-
totalSteps: number;
|
|
67
|
-
stepLabels: string[];
|
|
68
|
-
showPortalAuthSidebar: boolean;
|
|
69
|
-
hasPreSelectedCourse: boolean;
|
|
70
|
-
hasCoursePayment: boolean;
|
|
71
|
-
handleCourseSelect: (course: PublicCourse) => void;
|
|
72
|
-
handleSubmit: () => Promise<CourseRegistrationWizardActionResult>;
|
|
73
|
-
handlePaymentContinue: () => Promise<CourseRegistrationWizardActionResult>;
|
|
74
|
-
handleRetry: () => void;
|
|
75
|
-
handleBookingModeChange: (mode: BookingMode) => void;
|
|
86
|
+
api: import("../../api").BlockApiClient;
|
|
76
87
|
};
|
|
88
|
+
type WizardParts = Readonly<{
|
|
89
|
+
api: ReturnType<typeof useBlockApi>;
|
|
90
|
+
selection: ReturnType<typeof useCourseRegistrationSelection>;
|
|
91
|
+
portal: ReturnType<typeof useCourseRegistrationPortal>;
|
|
92
|
+
eligibility: ReturnType<typeof useCourseEligibility>;
|
|
93
|
+
actions: ReturnType<typeof useCourseRegistrationActions>;
|
|
94
|
+
discountUi: ReturnType<typeof useDiscountCodeUi>;
|
|
95
|
+
waitlistClaim: ReturnType<typeof useWaitlistClaim>;
|
|
96
|
+
view: ReturnType<typeof deriveCourseRegistrationViewState>;
|
|
97
|
+
bookingMode: BookingMode;
|
|
98
|
+
setBookingMode: (mode: BookingMode) => void;
|
|
99
|
+
altchaSolution: string | null;
|
|
100
|
+
setAltchaSolution: (solution: string | null) => void;
|
|
101
|
+
}>;
|
|
77
102
|
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PublicCourse } from '../../../blocks/courses/shared';
|
|
2
|
+
import type { EnrollmentStep, FormData } from './types';
|
|
3
|
+
import type { useWaitlistClaim } from '../../shared/useWaitlistClaim';
|
|
4
|
+
type WaitlistClaimState = ReturnType<typeof useWaitlistClaim>;
|
|
5
|
+
export declare function useCourseWaitlistSelection(input: Readonly<{
|
|
6
|
+
waitlistClaim: WaitlistClaimState;
|
|
7
|
+
scopedCourses: readonly PublicCourse[];
|
|
8
|
+
step: EnrollmentStep;
|
|
9
|
+
goToStep: (step: EnrollmentStep) => void;
|
|
10
|
+
chooseCourse: (course: PublicCourse) => void;
|
|
11
|
+
updateFormData: (updater: (current: FormData) => FormData) => void;
|
|
12
|
+
reportError: (message: string) => void;
|
|
13
|
+
}>): void;
|
|
14
|
+
export {};
|
|
@@ -35,10 +35,11 @@ export type WholeSeriesRegistrationPricingInput = (WholeSeriesRegistrationPricin
|
|
|
35
35
|
export type WholeSeriesRegistrationRunInput = Readonly<{
|
|
36
36
|
/** Stable dated-offering run identity. */
|
|
37
37
|
runId: string;
|
|
38
|
-
/**
|
|
38
|
+
/** Offering identity owning this run in the public course experience. */
|
|
39
|
+
eventOfferingId: string;
|
|
39
40
|
registrationTarget: Readonly<{
|
|
40
|
-
kind: '
|
|
41
|
-
|
|
41
|
+
kind: 'event_series_whole_series';
|
|
42
|
+
eventSeriesId: string;
|
|
42
43
|
}>;
|
|
43
44
|
title: string;
|
|
44
45
|
slug: string;
|
|
@@ -64,7 +65,6 @@ export type WholeSeriesRegistrationRunInput = Readonly<{
|
|
|
64
65
|
name: string;
|
|
65
66
|
address: string | null;
|
|
66
67
|
}> | null;
|
|
67
|
-
contentEntryId: string | null;
|
|
68
68
|
}>;
|
|
69
69
|
export type WholeSeriesRegistrationRun = Readonly<{
|
|
70
70
|
/** Stable dated-offering run identity. */
|
|
@@ -158,7 +158,6 @@ export type WholeSeriesRegistrationRunsModel = Readonly<{
|
|
|
158
158
|
scoped: readonly WholeSeriesRegistrationRun[];
|
|
159
159
|
selected: WholeSeriesRegistrationRun | null;
|
|
160
160
|
hasPreSelectedRun: boolean;
|
|
161
|
-
contentEntry: CourseRegistrationClientProps['contentEntry'];
|
|
162
161
|
subject: CourseRegistrationClientProps['subject'];
|
|
163
162
|
}>;
|
|
164
163
|
export type WholeSeriesRegistrationPricingModel = Readonly<{
|
|
@@ -1,32 +1,12 @@
|
|
|
1
1
|
import type { BlockButtonRole } from '../../constants/buttonRoles';
|
|
2
2
|
import type { PublicCourse } from '../../blocks/courses/shared/types';
|
|
3
|
-
import type { OccurrenceContext } from '../../blocks/event-registration.shared';
|
|
4
3
|
import type { CourseRegistrationClientProps as InternalCourseRegistrationClientProps } from './course-registration/types';
|
|
5
4
|
import { type InteractiveIslandProps } from '../../../contracts/islands';
|
|
6
5
|
import { type EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
|
|
7
|
-
export type CourseRegistrationContentEntry = Readonly<{
|
|
8
|
-
id: string;
|
|
9
|
-
slug: string;
|
|
10
|
-
contentTypeSlug: string;
|
|
11
|
-
}>;
|
|
12
|
-
export type CourseEntrySubrouteContext = Readonly<{
|
|
13
|
-
kind: 'course-run';
|
|
14
|
-
run: Readonly<{
|
|
15
|
-
courseId: string;
|
|
16
|
-
seriesId: string;
|
|
17
|
-
runSlug: string;
|
|
18
|
-
runName: string | null;
|
|
19
|
-
}>;
|
|
20
|
-
}> | Readonly<{
|
|
21
|
-
kind: 'event-occurrence';
|
|
22
|
-
occurrence: OccurrenceContext;
|
|
23
|
-
}>;
|
|
24
6
|
export type CourseRegistrationSourceProps = Readonly<{
|
|
25
7
|
siteId?: string;
|
|
26
8
|
apiBaseUrl?: string;
|
|
27
9
|
portalToken?: string | null;
|
|
28
|
-
contentEntry?: CourseRegistrationContentEntry | null;
|
|
29
|
-
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
30
10
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
31
11
|
courses?: PublicCourse[] | null;
|
|
32
12
|
className?: string | null;
|
|
@@ -62,12 +42,6 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
|
|
|
62
42
|
siteId?: string;
|
|
63
43
|
apiBaseUrl?: string;
|
|
64
44
|
portalToken?: string | null;
|
|
65
|
-
contentEntry?: Readonly<{
|
|
66
|
-
id: string;
|
|
67
|
-
slug: string;
|
|
68
|
-
contentTypeSlug: string;
|
|
69
|
-
}> | null;
|
|
70
|
-
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
71
45
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
72
46
|
courses?: PublicCourse[] | null;
|
|
73
47
|
className?: string | null;
|
|
@@ -96,12 +70,6 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
|
|
|
96
70
|
siteId?: string;
|
|
97
71
|
apiBaseUrl?: string;
|
|
98
72
|
portalToken?: string | null;
|
|
99
|
-
contentEntry?: Readonly<{
|
|
100
|
-
id: string;
|
|
101
|
-
slug: string;
|
|
102
|
-
contentTypeSlug: string;
|
|
103
|
-
}> | null;
|
|
104
|
-
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
105
73
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
106
74
|
courses?: PublicCourse[] | null;
|
|
107
75
|
className?: string | null;
|
|
@@ -120,12 +88,6 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
|
|
|
120
88
|
siteId?: string;
|
|
121
89
|
apiBaseUrl?: string;
|
|
122
90
|
portalToken?: string | null;
|
|
123
|
-
contentEntry?: Readonly<{
|
|
124
|
-
id: string;
|
|
125
|
-
slug: string;
|
|
126
|
-
contentTypeSlug: string;
|
|
127
|
-
}> | null;
|
|
128
|
-
entrySubrouteContext?: CourseEntrySubrouteContext | null;
|
|
129
91
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
130
92
|
courses?: PublicCourse[] | null;
|
|
131
93
|
className?: string | null;
|
|
@@ -8,5 +8,5 @@ type CourseRegistrationServerProps = CourseRegistrationSourceProps & Readonly<{
|
|
|
8
8
|
* Server-safe placeholder for course registration.
|
|
9
9
|
* Provides a static container for island hydration without importing client hooks.
|
|
10
10
|
*/
|
|
11
|
-
export declare function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken,
|
|
11
|
+
export declare function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children, }: CourseRegistrationServerProps): React.JSX.Element;
|
|
12
12
|
export default CourseRegistrationSSR;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { EventAutoApplyDiscountPreview } from '../../blocks/event-details';
|
|
3
|
-
import type {
|
|
3
|
+
import type { EventDetailsIslandProps } from '../../../contracts';
|
|
4
4
|
import type { PublicEvent } from '../../blocks/events/shared/types';
|
|
5
5
|
import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../blocks/shop';
|
|
6
6
|
import { type OccurrenceContextLike } from './event-details/logic';
|
|
7
7
|
export type EventDetailsClientProps = Readonly<{
|
|
8
8
|
occurrenceContext?: OccurrenceContextLike | null;
|
|
9
|
-
contentEntry?: EventDetailsContentEntry | null;
|
|
10
9
|
events?: PublicEvent[] | null;
|
|
11
10
|
showVenue?: boolean;
|
|
12
11
|
showMap?: boolean;
|
|
@@ -6,7 +6,6 @@ import { type OccurrenceContextLike } from './event-details/logic';
|
|
|
6
6
|
type EventDetailsProps = {
|
|
7
7
|
blockId?: string | null;
|
|
8
8
|
occurrenceContext?: OccurrenceContextLike | null;
|
|
9
|
-
contentEntry?: Record<string, unknown> | null;
|
|
10
9
|
events?: PublicEvent[] | null;
|
|
11
10
|
showVenue?: boolean;
|
|
12
11
|
showMap?: boolean;
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
|
|
3
|
+
/**
|
|
4
|
+
* Label for the button that submits the details step.
|
|
5
|
+
*
|
|
6
|
+
* When a pass covers the booking there is no payment step to follow, so this
|
|
7
|
+
* button is the last thing read before a credit is spent — it names the pass
|
|
8
|
+
* rather than leaving that to the summary above it.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveDetailsButtonText(input: Readonly<{
|
|
11
|
+
wizard: UseEventRegistrationWizardResult;
|
|
12
|
+
hasWaitlistClaim: boolean;
|
|
13
|
+
fallbackText: string;
|
|
14
|
+
}>): string;
|
|
3
15
|
export declare function EventRegistrationWizardActions(props: {
|
|
4
16
|
wizard: UseEventRegistrationWizardResult;
|
|
5
17
|
buttonText: string;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { DirectCheckoutCollectionOptionKind, PaymentMethod } from '../../api/types';
|
|
2
2
|
import type { EventRegistrationDirectPaymentOption, EventRegistrationDirectPaymentSelectionState } from './eventPaymentOptions';
|
|
3
|
-
import type { EventRegistrationContentEntry } from '../event-registration.interactive';
|
|
4
3
|
import type { EventRegistrationPageSurfaceSubject } from './eventScope';
|
|
5
4
|
import type { EligibilityData, EventTicketSelectionLine, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult } from './types';
|
|
6
5
|
import type { SelectableEventTicketType } from './utils';
|
|
@@ -97,7 +96,6 @@ export type EventRegistrationEventsModel = Readonly<{
|
|
|
97
96
|
hasPreSelectedContext: boolean;
|
|
98
97
|
target: UseEventRegistrationWizardResult['registrationTarget'];
|
|
99
98
|
occurrenceContext: OccurrenceContext | null | undefined;
|
|
100
|
-
contentEntry: EventRegistrationContentEntry | null | undefined;
|
|
101
99
|
}>;
|
|
102
100
|
export type EventRegistrationTicketsModel = Readonly<{
|
|
103
101
|
count: number;
|
|
@@ -254,7 +252,6 @@ export type EventRegistrationOverridePropsLike = Readonly<{
|
|
|
254
252
|
previewToken?: string | null;
|
|
255
253
|
stage?: 'preview' | 'published';
|
|
256
254
|
occurrenceContext?: OccurrenceContext | null;
|
|
257
|
-
contentEntry?: Record<string, unknown> | null;
|
|
258
255
|
subject?: unknown;
|
|
259
256
|
blockId?: string | null;
|
|
260
257
|
}>;
|
|
@@ -265,7 +262,6 @@ export type EventRegistrationOverrideInput = Readonly<{
|
|
|
265
262
|
previewToken: string | null;
|
|
266
263
|
stage?: 'preview' | 'published';
|
|
267
264
|
occurrenceContext?: OccurrenceContext | null;
|
|
268
|
-
contentEntry?: EventRegistrationContentEntry | null;
|
|
269
265
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
270
266
|
events: readonly PublicEvent[];
|
|
271
267
|
maxTickets?: string;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { type EventPageSurfaceSubject, type EventPageSurfaceSubjectParseError, type EventOfferingId, type EventSeriesId, type Result } from '../../../../../../core/src/index';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
export type EventRegistrationContentEntryContext = Readonly<{
|
|
4
|
-
slug: string;
|
|
5
|
-
contentTypeSlug: string;
|
|
6
|
-
}>;
|
|
7
3
|
export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId", "invalidEventOfferingId"];
|
|
8
4
|
export type UnsupportedEventRegistrationPageSurfaceSubjectReason = (typeof unsupportedEventRegistrationPageSurfaceSubjectReasons)[number];
|
|
9
5
|
export type EventRegistrationPageSurfaceSubject = EventPageSurfaceSubject | Readonly<{
|
|
@@ -15,11 +11,9 @@ export type EventRegistrationScopeContext = Readonly<{
|
|
|
15
11
|
seriesId?: string | null;
|
|
16
12
|
}> | null;
|
|
17
13
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
18
|
-
contentEntry?: EventRegistrationContentEntryContext | null;
|
|
19
14
|
}>;
|
|
20
15
|
export type EventRegistrationScopeableEvent = Readonly<{
|
|
21
16
|
seriesId: string;
|
|
22
|
-
slug?: string | null;
|
|
23
17
|
}>;
|
|
24
18
|
export type EventRegistrationPageSurfaceSubjectParseError = EventPageSurfaceSubjectParseError;
|
|
25
19
|
export type EventRegistrationScope = Readonly<{
|
|
@@ -35,9 +29,6 @@ export type EventRegistrationScope = Readonly<{
|
|
|
35
29
|
}> | Readonly<{
|
|
36
30
|
kind: 'unsupportedPageSurfaceSubject';
|
|
37
31
|
reason: UnsupportedEventRegistrationPageSurfaceSubjectReason;
|
|
38
|
-
}> | Readonly<{
|
|
39
|
-
kind: 'legacyEventSlug';
|
|
40
|
-
slug: string;
|
|
41
32
|
}> | Readonly<{
|
|
42
33
|
kind: 'unscoped';
|
|
43
34
|
}>;
|
|
@@ -143,11 +143,6 @@ export type EventRegistrationClientProps = {
|
|
|
143
143
|
/** @deprecated Site ID is now provided by BlockApiProvider context */
|
|
144
144
|
siteId?: string;
|
|
145
145
|
occurrenceContext?: OccurrenceContext | null;
|
|
146
|
-
contentEntry?: {
|
|
147
|
-
id: string;
|
|
148
|
-
slug: string;
|
|
149
|
-
contentTypeSlug: string;
|
|
150
|
-
} | null;
|
|
151
146
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
152
147
|
events?: PublicEvent[] | null;
|
|
153
148
|
maxTickets?: string;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts
CHANGED
|
@@ -16,7 +16,6 @@ export type EventRegistrationDetailsCompleteResult = Readonly<{
|
|
|
16
16
|
export type UseEventRegistrationWizardOptions = Readonly<{
|
|
17
17
|
anchorId: string;
|
|
18
18
|
occurrenceContext: EventRegistrationClientProps['occurrenceContext'];
|
|
19
|
-
contentEntry: EventRegistrationClientProps['contentEntry'];
|
|
20
19
|
subject?: EventRegistrationClientProps['subject'];
|
|
21
20
|
events: PublicEvent[];
|
|
22
21
|
maxTicketsNum: number;
|
|
@@ -46,11 +45,6 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
46
45
|
occurrenceId: string;
|
|
47
46
|
selectedEventId: string | null;
|
|
48
47
|
}> | null;
|
|
49
|
-
contentEntry: {
|
|
50
|
-
id: string;
|
|
51
|
-
slug: string;
|
|
52
|
-
contentTypeSlug: string;
|
|
53
|
-
} | null | undefined;
|
|
54
48
|
subject: import("./eventScope").EventRegistrationPageSurfaceSubject | null | undefined;
|
|
55
49
|
events: PublicEvent[];
|
|
56
50
|
maxTicketsNum: number;
|
|
@@ -163,11 +157,6 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
163
157
|
occurrenceId: string;
|
|
164
158
|
selectedEventId: string | null;
|
|
165
159
|
}> | null;
|
|
166
|
-
contentEntry: {
|
|
167
|
-
id: string;
|
|
168
|
-
slug: string;
|
|
169
|
-
contentTypeSlug: string;
|
|
170
|
-
} | null | undefined;
|
|
171
160
|
subject: import("./eventScope").EventRegistrationPageSurfaceSubject | null | undefined;
|
|
172
161
|
events: PublicEvent[];
|
|
173
162
|
maxTicketsNum: number;
|
|
@@ -38,6 +38,19 @@ export { formatPrice } from '../../shared';
|
|
|
38
38
|
export declare const ENTITLEMENT_SINGLE_TICKET_TOOLTIP = "Only available for single-ticket bookings";
|
|
39
39
|
/** Passes and memberships can only be redeemed for single-ticket registrations. */
|
|
40
40
|
export declare function areEntitlementsDisabledForTicketCount(ticketsCount: number): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Describe what redeeming a pass costs the customer.
|
|
43
|
+
*
|
|
44
|
+
* The balance is what they hold *before* this booking, so "1 of 5" means four
|
|
45
|
+
* are left afterwards. Spelling out the balance is what stops people missing
|
|
46
|
+
* that a credit is being spent at all.
|
|
47
|
+
*
|
|
48
|
+
* Always one credit: passes are only redeemable for single-ticket bookings,
|
|
49
|
+
* per {@link areEntitlementsDisabledForTicketCount}.
|
|
50
|
+
*
|
|
51
|
+
* @param creditsRemaining - Credits on the pass before this booking, if known
|
|
52
|
+
*/
|
|
53
|
+
export declare function formatPassCreditUsageLabel(creditsRemaining: number | null | undefined): string;
|
|
41
54
|
/**
|
|
42
55
|
* Build the eligibility check endpoint URL
|
|
43
56
|
*
|