@riverbankcms/sdk 0.151.0 → 0.152.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 +37 -0
- package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-DVQXWFm6.mjs} +10 -9
- package/dist/{PreviewEditorSidebar-BHplI9HE.mjs → PreviewEditorSidebar-Dr4NJi3Q.mjs} +4 -3
- package/dist/{PreviewEditorUI-DuyN8nsD.mjs → PreviewEditorUI-DSZXQbyh.mjs} +5 -4
- package/dist/{SdkPreviewModeRuntime-CR5ypwxJ.mjs → SdkPreviewModeRuntime-Dl4GyMc3.mjs} +124 -53
- package/dist/{SiteChromeCustomizeContext-D5t6joF_.mjs → SiteChromeCustomizeContext-DgBe-FlM.mjs} +20418 -32298
- package/dist/ThemedButton-B8ViBnLK.mjs +16350 -0
- package/dist/_dts/api/src/bookingOperations.d.ts +5 -3
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/endpoints.d.ts +7 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/navigation/types.d.ts +7 -0
- package/dist/_dts/api/src/navigation.d.ts +1 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +10 -1
- package/dist/_dts/api/src/siteAssets.d.ts +1 -0
- package/dist/_dts/blocks/src/definitions.d.ts +1 -1
- package/dist/_dts/blocks/src/index.d.ts +1 -0
- package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +1 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +1 -1
- package/dist/_dts/blocks/src/primitives/content/utils/sanitizeHref.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +16 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -0
- package/dist/_dts/blocks/src/system/helpers/normalizeMailingListBlockContent.d.ts +2 -0
- package/dist/_dts/blocks/src/system/registry.d.ts +14 -2
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -5
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/api/schemas/events.d.ts +971 -0
- package/dist/_dts/blocks/src/system/runtime/api/schemas/waitlist-claims.d.ts +42 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +10 -136
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSubmission.state.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +6 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.hooks.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.state.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/BookingEntryViews.d.ts +42 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +19 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -9
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +5 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/GuestDetailsSection.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SingleTicketEntitlementNote.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -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/VerifyingTimeoutStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingCardDisplay.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingEntry.d.ts +154 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingFocus.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/finishedBooking.d.ts +77 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +0 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/offeringNoun.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +33 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +11 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDisplay.d.ts +31 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts +60 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
- 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 +58 -10
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +17 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +23 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useBookingBarFacts.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationRecoveryRequest.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +4 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +1563 -31
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +2 -12
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +147 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +50 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +6 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +85 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +53 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/MonthLookView.d.ts +10 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +16 -0
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +37 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/PaymentChoiceRows.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +6 -8
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +9 -12
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +15 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/themePortalRoot.d.ts +10 -15
- package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -1
- package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +6 -0
- package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +14 -14
- package/dist/_dts/commerce/src/purchase/confirmationPayment.d.ts +65 -0
- package/dist/_dts/commerce/src/purchase/confirmationPaymentSchema.d.ts +66 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
- package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +8 -0
- package/dist/_dts/content-model/src/templates/defaults.d.ts +2 -2
- package/dist/_dts/core/src/appointment-booking-terms.d.ts +20 -0
- package/dist/_dts/core/src/booking-payment-schemas.d.ts +70 -0
- package/dist/_dts/core/src/branded.d.ts +0 -2
- package/dist/_dts/core/src/demo-claim-access.d.ts +1 -1
- package/dist/_dts/core/src/demo-claim-readiness.d.ts +18 -0
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +1 -1
- package/dist/_dts/core/src/demo-warm-pool-target.d.ts +1 -1
- package/dist/_dts/core/src/index.d.ts +4 -0
- package/dist/_dts/core/src/mailing-list-targeting-availability.d.ts +68 -0
- package/dist/_dts/core/src/mailing-list-targeting.d.ts +2 -0
- package/dist/_dts/core/src/ticket-quantity.d.ts +13 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +51 -32
- package/dist/_dts/editor/src/chrome/chromeLayers.d.ts +7 -0
- package/dist/_dts/editor/src/index.d.ts +1 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkAddressInput.d.ts +8 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkContentList.d.ts +12 -0
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +5 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +3 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +8 -2
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +4 -3
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/draft.d.ts +44 -0
- package/dist/_dts/editor-blocks/src/widgets/link/presentation.d.ts +13 -0
- package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +14 -0
- package/dist/_dts/editor-blocks/src/widgets/link/useRoutableContent.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +5 -4
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +13 -8
- package/dist/_dts/media-core/src/fileStorage.d.ts +4 -3
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/storageObjectKey.d.ts +12 -0
- package/dist/_dts/media-react/src/hooks/useSupabaseMediaUploader.d.ts +1 -1
- package/dist/_dts/media-react/src/internal/supabaseResumableUpload.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/previewModeRootAttribute.d.ts +11 -0
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +0 -1
- package/dist/_dts/sdk/src/rendering/image.d.ts +10 -0
- package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
- package/dist/_dts/sdk/src/rendering/link.d.ts +9 -0
- package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +3 -3
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/client/BookingMailingListNote-CBuMKN0w.mjs +386 -0
- package/dist/client/{CardListItem-ZDLYh6dL.mjs → CardListItem-Dc9XTXhB.mjs} +3 -4
- package/dist/client/CheckIcon-CpyXr-Kg.mjs +35 -0
- package/dist/client/{CheckboxChoice-M-3HycLw.mjs → CheckboxChoice-CIqx_o0E.mjs} +1 -1
- package/dist/client/{DemoBookingPortalAccess-BMtvPTWE.mjs → DemoBookingPortalAccess-D3VQ_kLj.mjs} +85 -85
- package/dist/client/{EventCombined.client-DUm_DOxW.mjs → EventCombined.client-BHGEKise.mjs} +8 -9
- package/dist/client/{EventEmbeddedCheckoutStep-DsNNzgRm.mjs → EventEmbeddedCheckoutStep-Bo1Cm23R.mjs} +11 -10
- package/dist/client/{EventListing.client-DjNYGUVm.mjs → EventListing.client-D5OQgVPr.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DuFiOHq_.mjs → LeafletStaticMap-CLL5cWrr.mjs} +1 -1
- package/dist/client/{ModalShell-CqkBvBIC.mjs → ModalShell-BXzucfR6.mjs} +83 -12
- package/dist/client/{RichText-LjPCUGGi.mjs → RichText-BoDmnopf.mjs} +6 -3
- package/dist/client/{ThemedButton-DZKjtaDD.mjs → ThemedButton-Ciltp0IK.mjs} +2 -2
- package/dist/client/{accordion-Qe--SILD.mjs → accordion-DOkRS64-.mjs} +1 -1
- package/dist/client/aspectTransforms-D-TnDdq4.mjs +93 -0
- package/dist/client/{bookingForm-3BCl4g_f.mjs → bookingForm-wlMVwo9h.mjs} +289 -149
- package/dist/client/bookings.mjs +12212 -10832
- package/dist/client/{carousel-h2YjKOS2.mjs → carousel-CGWk-Z0u.mjs} +2 -2
- package/dist/client/{carousel.client-BLrd4hmY.mjs → carousel.client-kX5mN1Eg.mjs} +46 -41
- package/dist/client/{cart-5NeiigVd.mjs → cart-OBBPlaH4.mjs} +3 -3
- package/dist/client/{checkout-G4UWjOEw.mjs → checkout-Bmw2WjQX.mjs} +3 -3
- package/dist/client/client.mjs +9541 -6039
- package/dist/client/{colorStyles-DTunOThj.mjs → colorStyles-ECDNPE_P.mjs} +23 -86
- package/dist/client/{context-GK4-AVAh.mjs → context-BI77UFAn.mjs} +275 -10
- package/dist/client/{eventCalendar-Prw3Yo_L.mjs → eventCalendar-qkej2Edn.mjs} +19 -17
- package/dist/client/{eventCombined-BUugi6__.mjs → eventCombined-DApKHvat.mjs} +4 -4
- package/dist/client/{eventDetails-CBHUda-R.mjs → eventDetails-BQyUDPH0.mjs} +3 -4
- package/dist/client/{eventListing-CQeG45Dg.mjs → eventListing-CeAnshlZ.mjs} +4 -4
- package/dist/client/{eventRegistration-Dif3p3oJ.mjs → eventRegistration-C3A3NyBO.mjs} +2209 -2144
- package/dist/client/{form-Cf0WMtfG.mjs → form-DW8rU7jO.mjs} +6 -6
- package/dist/client/{headerSection-Bqdr3JWp.mjs → headerSection-CkIhsoNm.mjs} +9 -9
- package/dist/client/hooks.mjs +1289 -380
- package/dist/client/{locationMap-BVvPou4O.mjs → locationMap-D4O8wbli.mjs} +4 -4
- package/dist/client/{media-47fcnhzD.mjs → media-C5K_0xPd.mjs} +2 -2
- package/dist/client/{newsletterForm-Cx-1dnic.mjs → newsletterForm-B7IxSPuz.mjs} +5 -5
- package/dist/client/{productDetail-DaUMaJYk.mjs → productDetail-Bqxpwy5N.mjs} +3 -3
- package/dist/client/{productList-BKQlWEKE.mjs → productList-u9Lz8V15.mjs} +3 -3
- package/dist/client/{propsDecoder-DO5iXphQ.mjs → propsDecoder-Bf1jucUp.mjs} +17333 -14489
- package/dist/client/rendering/client.mjs +58216 -55133
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +9099 -5636
- package/dist/client/{routeIslandApiConfig-BNm0Z3-g.mjs → routeIslandApiConfig-BgP-aPMl.mjs} +1 -1
- package/dist/client/{shop-D7ytcFBC.mjs → shop-B_eykR-_.mjs} +16 -14
- package/dist/client/{shop-commerce-D68-hHy2.mjs → shop-commerce-CT0APkFV.mjs} +9 -9
- package/dist/client/{shop-commerce-store-Cu7X2lyu.mjs → shop-commerce-store-DcvZxdEK.mjs} +1 -1
- package/dist/client/{shopShared-D12rxE69.mjs → shopShared-BVJOiUiJ.mjs} +5 -5
- package/dist/client/themePortalRoot-DS92SRVZ.mjs +47 -0
- package/dist/client/{TerminalPanel-DOTSUCO0.mjs → useDiscountCodeUi-DPmYDunz.mjs} +60 -77
- package/dist/client/{useEventPagination-jgKa67KV.mjs → useEventPagination-8-U55vH5.mjs} +7 -8
- package/dist/preview-next/before-render.mjs +7 -0
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/keepAlive.mjs +7 -0
- package/dist/preview-next/middleware.mjs +7 -0
- package/dist/{sdk-runtime-4cCWO_3i.mjs → sdk-runtime-C5jPdSrk.mjs} +1 -1
- package/dist/server/components.mjs +3138 -1373
- package/dist/server/config-validation.mjs +1395 -486
- package/dist/server/config.mjs +1395 -486
- package/dist/server/data.mjs +1289 -380
- package/dist/server/index.mjs +8 -1
- package/dist/server/next.mjs +3362 -1538
- package/dist/server/page-converter.mjs +1357 -453
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +2335 -1044
- package/dist/server/rendering.mjs +3152 -1370
- package/dist/server/routing.mjs +1437 -490
- package/dist/server/server.mjs +1297 -381
- package/dist/server/theme-bridge.mjs +1135 -795
- package/dist/{spinner-tSdG9YvG.mjs → spinner-B-ab2rJp.mjs} +1 -1
- package/dist/styles/index.css +1088 -721
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +0 -22
- package/dist/_dts/blocks/src/system/runtime/shared/components/SelectableOptionCard.d.ts +0 -30
- package/dist/client/BookingMailingListNote-DlDSs5Vm.mjs +0 -567
- package/dist/client/pricing-CMD0kADd.mjs +0 -314
- package/dist/client/result-DRW7JWXz.mjs +0 -30
- package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
- package/dist/client/themePortalRoot-AGs4cE7t.mjs +0 -30
- package/dist/spinner-BL3kW9Uh.mjs +0 -803
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { EventCheckoutReturnResponse, EventEmbeddedCheckout, EventRegistrationPaymentSubject } from '../../api/types';
|
|
1
|
+
import type { EventBookingOutcome, EventCheckoutReturnResponse, EventEmbeddedCheckout, EventRegistrationPaymentSubject } from '../../api/types';
|
|
2
2
|
import type { PaymentStatusRecoveryState } from './types';
|
|
3
3
|
type PaymentResponseIntent = 'resume' | 'check' | 'abandon';
|
|
4
4
|
export type PaymentResponseTransition = {
|
|
5
5
|
kind: 'confirmed';
|
|
6
|
+
outcome: EventBookingOutcome;
|
|
6
7
|
} | {
|
|
7
8
|
kind: 'restartBooking';
|
|
8
9
|
} | {
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts
CHANGED
|
@@ -12,9 +12,11 @@ export type RegistrationAdmission = Readonly<{
|
|
|
12
12
|
kind: 'waitlist';
|
|
13
13
|
detailsCheck: 'byEmail' | 'none';
|
|
14
14
|
}>
|
|
15
|
-
/** Always blocked
|
|
15
|
+
/** Always blocked at this size. `placesLeft` > 0 means fewer places than asked
|
|
16
|
+
* for are left: choosing that many is the way forward (issue 1581). */
|
|
16
17
|
| Readonly<{
|
|
17
18
|
kind: 'fullyBooked';
|
|
19
|
+
placesLeft: number;
|
|
18
20
|
}> | Readonly<{
|
|
19
21
|
kind: 'closed';
|
|
20
22
|
reason: 'unavailable' | 'optionsUnavailable' | 'alreadyWaitlisted';
|
|
@@ -36,6 +38,28 @@ export declare function resolveRegistrationAdmission(input: Readonly<{
|
|
|
36
38
|
eligibilityLoading: boolean;
|
|
37
39
|
isAuthenticated: boolean;
|
|
38
40
|
}>): RegistrationAdmission;
|
|
41
|
+
/** "Sold out", or "Only 1 place left" when fewer places are left than asked for. */
|
|
42
|
+
export declare function fullyBookedLabel(admission: Extract<RegistrationAdmission, {
|
|
43
|
+
kind: 'fullyBooked';
|
|
44
|
+
}>): string;
|
|
45
|
+
/** Why a fully booked admission blocks, and how to move on when it can. */
|
|
46
|
+
export declare function fullyBookedMessage(admission: Extract<RegistrationAdmission, {
|
|
47
|
+
kind: 'fullyBooked';
|
|
48
|
+
}>): string;
|
|
49
|
+
/**
|
|
50
|
+
* The most places the counter offers (issue 1581): the block's limit, narrowed
|
|
51
|
+
* only by availability the server has settled for this selection. A visitor
|
|
52
|
+
* resuming a held place keeps the block's limit (the server counts the held
|
|
53
|
+
* places back in), and the page's cached snapshot never narrows it.
|
|
54
|
+
*/
|
|
55
|
+
export declare function placeCountCeiling(input: Readonly<{
|
|
56
|
+
maxAllowed: number;
|
|
57
|
+
admission: RegistrationAdmission;
|
|
58
|
+
/** Places left in the settled registration options, when they say. */
|
|
59
|
+
settledRemaining: number | null;
|
|
60
|
+
}>): number;
|
|
61
|
+
/** Places left in settled registration options, when they name a count. */
|
|
62
|
+
export declare function settledRemainingPlaces(eligibility: Pick<EligibilityData, 'availability'> | null): number | null;
|
|
39
63
|
export type RegistrationAvailabilityBlocker = Readonly<{
|
|
40
64
|
kind: 'pending';
|
|
41
65
|
message: string;
|
|
@@ -43,6 +67,14 @@ export type RegistrationAvailabilityBlocker = Readonly<{
|
|
|
43
67
|
kind: 'unavailable';
|
|
44
68
|
reason: 'soldOut' | 'alreadyWaitlisted' | 'closed';
|
|
45
69
|
message: string;
|
|
70
|
+
}>
|
|
71
|
+
/** Places remain, just fewer than asked for: choosing fewer moves on (issue 1581). */
|
|
72
|
+
| Readonly<{
|
|
73
|
+
kind: 'unavailable';
|
|
74
|
+
reason: 'fewerPlacesLeft';
|
|
75
|
+
placesLeft: number;
|
|
76
|
+
heading: string;
|
|
77
|
+
message: string;
|
|
46
78
|
}>;
|
|
47
79
|
export declare function resolveRegistrationAvailabilityBlocker(admission: RegistrationAdmission): RegistrationAvailabilityBlocker | null;
|
|
48
80
|
export declare function resolvePricingSelectionBlocker(input: Readonly<{
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts
CHANGED
|
@@ -31,6 +31,17 @@ export declare function resolveEventRequiresPayment(input: Readonly<{
|
|
|
31
31
|
selectedTicketType: Pick<PublicEventPricingOption, 'priceAmount'> | null;
|
|
32
32
|
event: Pick<RegistrationEvent, 'pricing'> | null;
|
|
33
33
|
}>): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the route counts the payment steps. Once an event is chosen that
|
|
36
|
+
* event decides; before then (a series' date step) the dates on offer do, so
|
|
37
|
+
* the count is fixed from the first step and doesn't grow on choosing a date
|
|
38
|
+
* (D2, issue 1581).
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveRouteRequiresPayment(input: Readonly<{
|
|
41
|
+
event: Pick<RegistrationEvent, 'pricing'> | null;
|
|
42
|
+
eventRequiresPayment: boolean;
|
|
43
|
+
events: readonly Pick<RegistrationEvent, 'pricing'>[];
|
|
44
|
+
}>): boolean;
|
|
34
45
|
export declare function resolveDiscountContext(input: Readonly<{
|
|
35
46
|
paymentSelection: PaymentSelection;
|
|
36
47
|
event: Pick<RegistrationEvent, 'seriesId' | 'eventCategory'> | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { HybridEventCapacitySource, RemainingPlacesWording } from '../events/domain/capacity';
|
|
3
|
+
import type { RegistrationEvent } from './types';
|
|
4
|
+
export type RegistrationDisplay = Readonly<{
|
|
5
|
+
venue: 'shown' | 'hidden';
|
|
6
|
+
placesLeft: 'shown' | 'hidden';
|
|
7
|
+
}>;
|
|
8
|
+
export declare const registrationDisplaySchema: z.ZodObject<{
|
|
9
|
+
venue: z.ZodEnum<{
|
|
10
|
+
shown: "shown";
|
|
11
|
+
hidden: "hidden";
|
|
12
|
+
}>;
|
|
13
|
+
placesLeft: z.ZodEnum<{
|
|
14
|
+
shown: "shown";
|
|
15
|
+
hidden: "hidden";
|
|
16
|
+
}>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export declare function resolveRegistrationDisplay(source: Readonly<{
|
|
19
|
+
showVenue?: boolean;
|
|
20
|
+
showCapacity?: boolean;
|
|
21
|
+
}>): RegistrationDisplay;
|
|
22
|
+
/** Venue stays in domain data; views receive only the permitted presentation. */
|
|
23
|
+
export declare function shownVenue(event: RegistrationEvent, display: RegistrationDisplay): string | null;
|
|
24
|
+
/** Full/waitlist explanations remain visible even when optional counts are hidden. */
|
|
25
|
+
export declare function placesLeftLabel(source: HybridEventCapacitySource | Readonly<{
|
|
26
|
+
kind: 'ticketType';
|
|
27
|
+
remaining: number | null;
|
|
28
|
+
}>, display: RegistrationDisplay, wording?: RemainingPlacesWording & Readonly<{
|
|
29
|
+
unlimited?: string;
|
|
30
|
+
open?: string;
|
|
31
|
+
}>): string | null;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
|
|
2
|
+
import type { WaitlistClaimCredential, WaitlistClaimRequest } from '../../shared/useWaitlistClaim.state';
|
|
3
|
+
import type { ResolveWaitlistClaimResponse } from '../../api/types';
|
|
4
|
+
import type { EventTicketSelectionLine, FormData, Guest, RegistrationEvent } from './types';
|
|
5
|
+
import type { WaitlistClaimRestoration } from './waitlistClaimRestoration';
|
|
6
|
+
export type WaitlistInvitation = Readonly<{
|
|
7
|
+
kind: 'none';
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
kind: 'resolving';
|
|
10
|
+
request: WaitlistClaimRequest;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
kind: 'portal-login-required';
|
|
13
|
+
request: WaitlistClaimRequest;
|
|
14
|
+
message: string;
|
|
15
|
+
}> | Readonly<{
|
|
16
|
+
kind: 'error';
|
|
17
|
+
request: WaitlistClaimRequest;
|
|
18
|
+
message: string;
|
|
19
|
+
action: EventRegistrationErrorAction;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'ready';
|
|
22
|
+
request: WaitlistClaimRequest;
|
|
23
|
+
claim: ResolveWaitlistClaimResponse;
|
|
24
|
+
restoration: Extract<WaitlistClaimRestoration, {
|
|
25
|
+
kind: 'ready';
|
|
26
|
+
}>;
|
|
27
|
+
}>;
|
|
28
|
+
export type RegistrationDraftData = Readonly<{
|
|
29
|
+
selectedEvent: RegistrationEvent | null;
|
|
30
|
+
formData: FormData;
|
|
31
|
+
guests: Guest[];
|
|
32
|
+
selectedAttendanceMode: 'in_person' | 'online' | null;
|
|
33
|
+
selectedTicketLines: EventTicketSelectionLine[];
|
|
34
|
+
selectedSlidingAmountInput: string;
|
|
35
|
+
}>;
|
|
36
|
+
export type StateUpdate<T> = T | ((current: T) => T);
|
|
37
|
+
export type RegistrationDraftEdit = {
|
|
38
|
+
[K in keyof RegistrationDraftData]: Readonly<{
|
|
39
|
+
field: K;
|
|
40
|
+
value: StateUpdate<RegistrationDraftData[K]>;
|
|
41
|
+
}>;
|
|
42
|
+
}[keyof RegistrationDraftData];
|
|
43
|
+
export declare function createRegistrationDraftData(event: RegistrationEvent | null): RegistrationDraftData;
|
|
44
|
+
export declare function editRegistrationDraft(draft: RegistrationDraftData, edit: RegistrationDraftEdit): RegistrationDraftData;
|
|
45
|
+
/** Ready invitations own their reserved selection; identity fields remain editable. */
|
|
46
|
+
export declare function canEditInvitedDraft(invitation: WaitlistInvitation, edit: RegistrationDraftEdit): boolean;
|
|
47
|
+
export declare function beginWaitlistInvitation(credential: WaitlistClaimCredential | null): WaitlistInvitation;
|
|
48
|
+
/** A source notification is not a new attempt when its credential is unchanged. */
|
|
49
|
+
export declare function receiveWaitlistInvitation(invitation: WaitlistInvitation, credential: WaitlistClaimCredential | null): WaitlistInvitation;
|
|
50
|
+
export declare function restoreRegistrationDraft(draft: RegistrationDraftData, claim: ResolveWaitlistClaimResponse, restoration: Extract<WaitlistClaimRestoration, {
|
|
51
|
+
kind: 'ready';
|
|
52
|
+
}>): RegistrationDraftData;
|
|
53
|
+
export type InvitationSubmission = Readonly<{
|
|
54
|
+
kind: 'available';
|
|
55
|
+
credential: WaitlistClaimCredential | null;
|
|
56
|
+
}> | Readonly<{
|
|
57
|
+
kind: 'blocked';
|
|
58
|
+
message: string;
|
|
59
|
+
}>;
|
|
60
|
+
export declare function invitationSubmission(invitation: WaitlistInvitation): InvitationSubmission;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts
CHANGED
|
@@ -17,6 +17,6 @@ export declare function recoverRegistrationError(action: EventRegistrationErrorA
|
|
|
17
17
|
canJoinWaitlist?: boolean;
|
|
18
18
|
refreshOptions: () => void;
|
|
19
19
|
clearError: () => void;
|
|
20
|
-
setStep: (step: RegistrationStep) => void;
|
|
20
|
+
setStep: (step: Exclude<RegistrationStep, 'success'>) => void;
|
|
21
21
|
reset: () => void;
|
|
22
22
|
}>): void;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PublicEventRunGroup } from '../../../blocks/events/shared/runGrouping';
|
|
2
|
+
import type { ConfirmedBookingIdentity } from '../../api/types';
|
|
2
3
|
import type { PublicEvent, RegistrationEvent } from './types';
|
|
3
4
|
export declare function toRegistrationEvent(event: PublicEvent): RegistrationEvent;
|
|
4
5
|
export declare function toRegistrationEvents(events: readonly PublicEvent[]): RegistrationEvent[];
|
|
@@ -15,3 +16,5 @@ export declare function toWholeSeriesRegistrationEvents(events: readonly PublicE
|
|
|
15
16
|
export declare function getRegistrationStartAt(event: Pick<RegistrationEvent, 'registrationSubject' | 'startsAt'> | null | undefined, occurrenceContext: Readonly<{
|
|
16
17
|
startsAt: string;
|
|
17
18
|
}> | null | undefined): string | undefined;
|
|
19
|
+
/** Confirmation identifies its persisted subject, independently of the current draft. */
|
|
20
|
+
export declare function findBookedEvent(events: readonly RegistrationEvent[], identity: ConfirmedBookingIdentity): RegistrationEvent | null;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts
CHANGED
|
@@ -1,17 +1,56 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WaitlistClaimCredential, WaitlistClaimLookup } from '../../shared/useWaitlistClaim.state';
|
|
2
|
+
import { type RegistrationDraftData, type RegistrationDraftEdit, type WaitlistInvitation } from './registrationDraft.state';
|
|
3
|
+
import type { RegistrationEvent } from './types';
|
|
4
|
+
import type { EventSourceRecovery } from './eventSourceRecovery';
|
|
5
|
+
import type { EligibilityData, PaymentSelection, RegistrationStep, RegistrationResult } from './types';
|
|
2
6
|
export type SelectionSource = 'auto' | 'manual';
|
|
3
|
-
|
|
4
|
-
|
|
7
|
+
type RegistrationDraftState = {
|
|
8
|
+
draft: RegistrationDraftData;
|
|
5
9
|
ticketsCount: number;
|
|
6
|
-
isAuthenticated: boolean;
|
|
7
10
|
eligibility: EligibilityData | null;
|
|
8
11
|
passOptOut: boolean;
|
|
9
12
|
paymentSelection: PaymentSelection;
|
|
10
13
|
selectionSource: SelectionSource;
|
|
11
14
|
};
|
|
15
|
+
export type RegistrationFlowState = Readonly<{
|
|
16
|
+
isAuthenticated: boolean;
|
|
17
|
+
}> & RegistrationDraftState & (Readonly<{
|
|
18
|
+
step: Exclude<RegistrationStep, 'success'>;
|
|
19
|
+
invitation: WaitlistInvitation;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
step: 'success';
|
|
22
|
+
result: RegistrationResult;
|
|
23
|
+
invitation: Readonly<{
|
|
24
|
+
kind: 'none';
|
|
25
|
+
}>;
|
|
26
|
+
}>);
|
|
27
|
+
/** Constructors of a fresh draft cannot return invitation authority. */
|
|
28
|
+
type FreshRegistrationFlowState = Exclude<RegistrationFlowState, {
|
|
29
|
+
step: 'success';
|
|
30
|
+
}> & Readonly<{
|
|
31
|
+
invitation: Extract<WaitlistInvitation, {
|
|
32
|
+
kind: 'none';
|
|
33
|
+
}>;
|
|
34
|
+
}>;
|
|
12
35
|
export type RegistrationFlowAction = {
|
|
36
|
+
type: 'draft-edited';
|
|
37
|
+
edit: RegistrationDraftEdit;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'claim-arrived';
|
|
40
|
+
credential: WaitlistClaimCredential | null;
|
|
41
|
+
} | {
|
|
42
|
+
type: 'claim-updated';
|
|
43
|
+
lookup: WaitlistClaimLookup;
|
|
44
|
+
events: EventSourceRecovery<RegistrationEvent>;
|
|
45
|
+
occurrenceContextId: string | undefined;
|
|
46
|
+
} | {
|
|
47
|
+
type: 'refresh-invitation';
|
|
48
|
+
} | {
|
|
13
49
|
type: 'set-step';
|
|
14
|
-
step: RegistrationStep
|
|
50
|
+
step: Exclude<RegistrationStep, 'success'>;
|
|
51
|
+
} | {
|
|
52
|
+
type: 'completed';
|
|
53
|
+
result: RegistrationResult;
|
|
15
54
|
} | {
|
|
16
55
|
type: 'tickets-completed';
|
|
17
56
|
} | {
|
|
@@ -30,16 +69,24 @@ export type RegistrationFlowAction = {
|
|
|
30
69
|
type: 'use-card-instead-of-pass';
|
|
31
70
|
} | {
|
|
32
71
|
type: 'use-pass';
|
|
33
|
-
} | {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
} | {
|
|
72
|
+
} | (EventChoice & Readonly<{
|
|
73
|
+
navigation: 'choose' | 'advance';
|
|
74
|
+
}>) | {
|
|
37
75
|
type: 'reset';
|
|
38
76
|
hasPreSelectedContext: boolean;
|
|
39
77
|
};
|
|
40
|
-
export
|
|
78
|
+
export type EventChoice = Readonly<{
|
|
79
|
+
type: 'event-continued';
|
|
80
|
+
}> | Readonly<{
|
|
81
|
+
type: 'event-replaced';
|
|
82
|
+
event: RegistrationEvent;
|
|
83
|
+
}>;
|
|
84
|
+
/** Identity, not clicking a row, decides whether this is a new booking. */
|
|
85
|
+
export declare function decideEventChoice(state: Pick<RegistrationFlowState, 'draft' | 'invitation'>, event: RegistrationEvent): EventChoice;
|
|
86
|
+
export declare function createInitialRegistrationFlowState(hasPreSelectedContext: boolean): FreshRegistrationFlowState;
|
|
41
87
|
export declare function areEventRegistrationPaymentSelectionsEqual(a: PaymentSelection, b: PaymentSelection): boolean;
|
|
42
88
|
export declare function registrationFlowReducer(state: RegistrationFlowState, action: RegistrationFlowAction): RegistrationFlowState;
|
|
89
|
+
export declare function isRegistrationLocked(step: RegistrationStep): boolean;
|
|
43
90
|
/**
|
|
44
91
|
* The pass the customer turned down, while it would otherwise cover this booking.
|
|
45
92
|
*
|
|
@@ -54,3 +101,4 @@ export declare function requiresPaymentStep(params: {
|
|
|
54
101
|
eventRequiresPayment: boolean;
|
|
55
102
|
paymentSelection: PaymentSelection;
|
|
56
103
|
}): boolean;
|
|
104
|
+
export {};
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { EventRegistrationRecoveryRequest } from './useEventRegistrationRecoveryRequest';
|
|
1
2
|
import type { PublicEvent } from '../../../blocks/events/shared/types';
|
|
2
3
|
import { type PublicEventRunGroup } from '../../../blocks/events/shared/runGrouping';
|
|
3
4
|
import { type EventRegistrationPageSurfaceSubject } from './eventScope';
|
|
@@ -12,6 +13,22 @@ export type EventRegistrationSurfacePlan = Readonly<{
|
|
|
12
13
|
}> | Readonly<{
|
|
13
14
|
kind: 'mixedBookingScopes';
|
|
14
15
|
}>;
|
|
16
|
+
/** Admission only limits fresh bookings; existing purchases always reach recovery. */
|
|
17
|
+
export declare function registrationAdmissionSurface(input: Readonly<{
|
|
18
|
+
availability: 'open' | 'closed' | 'empty';
|
|
19
|
+
recoveryRequested: boolean;
|
|
20
|
+
}>): 'registration' | 'closed' | 'empty';
|
|
21
|
+
/** Resolve the host guard once; past-date notices only concern new bookings. */
|
|
22
|
+
export declare function resolveEventRegistrationClientSurface(input: Readonly<{
|
|
23
|
+
plan: EventRegistrationSurfacePlan;
|
|
24
|
+
pastStartsAt: string | null;
|
|
25
|
+
recoveryRequest: EventRegistrationRecoveryRequest;
|
|
26
|
+
}>): Readonly<{
|
|
27
|
+
kind: 'wizard' | 'unavailable';
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
kind: 'past';
|
|
30
|
+
startsAt: string;
|
|
31
|
+
}>;
|
|
15
32
|
export declare function planEventRegistrationSurface(input: Readonly<{
|
|
16
33
|
events: readonly PublicEvent[];
|
|
17
34
|
occurrenceContext?: Readonly<{
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RegistrationDisplay } from './registrationDisplay';
|
|
1
2
|
import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
|
|
2
3
|
import type { PublicEventPricing } from '../../../../../../core/src/index';
|
|
3
4
|
import type { MailingListRuntimeContext } from '../../../../../../core/src/index';
|
|
@@ -7,7 +8,7 @@ import type { PublicEvent, PublicEventPricingOption, PublicEventPricingOptionAva
|
|
|
7
8
|
import type { BlockBookingPaymentTerms } from '../../../blocks/shared/bookingPaymentTerms';
|
|
8
9
|
import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop.shared';
|
|
9
10
|
import type { BlockButtonRole } from '../../../constants/buttonRoles';
|
|
10
|
-
import type { AvailableMembership, AvailablePass, DirectCheckoutCollectionOptionKind, EventTicketLineSummary } from '../../api/types';
|
|
11
|
+
import type { AvailableMembership, AvailablePass, DirectCheckoutCollectionOptionKind, EventTicketLineSummary, EventBookingOutcome } from '../../api/types';
|
|
11
12
|
import type { EventRegistrationPageSurfaceSubject } from './eventScope';
|
|
12
13
|
export type { OccurrenceContext, PublicEvent };
|
|
13
14
|
export type { FormData } from '../../shared';
|
|
@@ -27,8 +28,7 @@ export type GuestErrors = Record<number, {
|
|
|
27
28
|
name?: string;
|
|
28
29
|
}>;
|
|
29
30
|
export type RegistrationStep = 'select-event' | 'select-tickets' | 'enter-details' | 'select-payment' | 'submitting' | 'payment' | 'verifying-payment' | 'verifying-timeout' | 'payment-status' | 'payment-failed' | 'success' | 'error';
|
|
30
|
-
|
|
31
|
-
status: 'confirmed' | 'waitlist';
|
|
31
|
+
type RegistrationResultCopy = {
|
|
32
32
|
/**
|
|
33
33
|
* Optional success copy overrides (e.g. idempotent "already registered" responses).
|
|
34
34
|
* When omitted, the block-level `successMessage`/default copy is used.
|
|
@@ -39,6 +39,12 @@ export type RegistrationResult = {
|
|
|
39
39
|
variant?: 'success' | 'info';
|
|
40
40
|
mailingListSignupNote?: BookingSignupNote;
|
|
41
41
|
};
|
|
42
|
+
export type RegistrationResult = RegistrationResultCopy & (Readonly<{
|
|
43
|
+
status: 'confirmed';
|
|
44
|
+
outcome: EventBookingOutcome;
|
|
45
|
+
}> | Readonly<{
|
|
46
|
+
status: 'waitlist';
|
|
47
|
+
}>);
|
|
42
48
|
export type PaymentStatusRecoveryState = Readonly<{
|
|
43
49
|
subject: import('../../api/types').EventRegistrationPaymentSubject;
|
|
44
50
|
mailingListSignupNote?: BookingSignupNote;
|
|
@@ -124,7 +130,7 @@ export type RegistrationSubject = Readonly<{
|
|
|
124
130
|
/** Ordered live booking sessions; cancellation history stays on PublicEvent.run. */
|
|
125
131
|
sessions: readonly PublicRunSession[];
|
|
126
132
|
}>;
|
|
127
|
-
export type RegistrationEvent = Pick<PublicEvent, 'seriesId' | 'title' | 'startsAt' | 'endsAt' | 'bookingAvailability' | 'deliveryMode' | 'attendanceModes' | 'capacity' | 'registeredCount' | 'availableSpots' | 'waitlistEnabled' | 'venue' | 'eventCategory' | 'teamMembers' | 'status' | 'timeZone' | 'paymentTerms' | 'consent' | 'requireGuestDetails' | 'acceptsPasses' | 'acceptsMemberships'> & Readonly<{
|
|
133
|
+
export type RegistrationEvent = Pick<PublicEvent, 'seriesId' | 'scheduleSummary' | 'title' | 'startsAt' | 'endsAt' | 'bookingAvailability' | 'deliveryMode' | 'attendanceModes' | 'capacity' | 'registeredCount' | 'availableSpots' | 'waitlistEnabled' | 'venue' | 'eventCategory' | 'teamMembers' | 'status' | 'timeZone' | 'siteTimeZone' | 'paymentTerms' | 'consent' | 'requireGuestDetails' | 'acceptsPasses' | 'acceptsMemberships' | 'eventPreset'> & Readonly<{
|
|
128
134
|
selectionId: string;
|
|
129
135
|
registrationSubject: RegistrationSubject;
|
|
130
136
|
pricing: PublicEventPricing;
|
|
@@ -183,13 +189,18 @@ export type EventRegistrationClientProps = {
|
|
|
183
189
|
occurrenceContext?: OccurrenceContext | null;
|
|
184
190
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
185
191
|
events?: PublicEvent[] | null;
|
|
192
|
+
/** Client recovery preserves loading/failure instead of presenting an empty loaded list. */
|
|
193
|
+
eventSourceRecovery?: import('./eventSourceRecovery').EventSourceRecovery;
|
|
186
194
|
maxTickets?: string;
|
|
187
|
-
|
|
188
|
-
showCapacity?: boolean;
|
|
195
|
+
display: RegistrationDisplay;
|
|
189
196
|
successMessage?: string;
|
|
190
197
|
buttonText?: string;
|
|
191
198
|
buttonVariant?: BlockButtonRole;
|
|
192
|
-
|
|
199
|
+
/**
|
|
200
|
+
* Where the booking panel lives; the server always sets it. Rendered
|
|
201
|
+
* without the island (tests, stories), the wizard shows in place.
|
|
202
|
+
*/
|
|
203
|
+
host?: import('./bookingCardDisplay').BookingHost;
|
|
193
204
|
className?: string;
|
|
194
205
|
/** Server-passed spam protection flag. Falls back to NEXT_PUBLIC_SPAM_PROTECTION_ENABLED. */
|
|
195
206
|
spamProtectionEnabled?: boolean;
|
|
@@ -201,6 +212,11 @@ export type EventRegistrationClientProps = {
|
|
|
201
212
|
siteMemberships?: PublicMembershipProductCollection | null;
|
|
202
213
|
mailingList?: MailingListRuntimeContext;
|
|
203
214
|
siteName?: string;
|
|
215
|
+
/** What the site calls this offering ("class", "course"), resolved on the server. */
|
|
216
|
+
offeringNoun?: Readonly<{
|
|
217
|
+
label: string;
|
|
218
|
+
pluralLabel: string;
|
|
219
|
+
}> | null;
|
|
204
220
|
};
|
|
205
221
|
export type EventPaymentState =
|
|
206
222
|
/** `heldPlaceRetry`: this tab is booking again for a booking whose place the
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { type BookingBarPlacement } from './bookingEntry';
|
|
3
|
+
/** The CSS variable the bar reads its push from (`translateY`). */
|
|
4
|
+
export declare const BOOKING_BAR_PUSH_VAR = "--er-bar-push";
|
|
5
|
+
/**
|
|
6
|
+
* Keeps the bar placed (issue 1581): shown or hidden in React state, which
|
|
7
|
+
* changes rarely, and the card's push written straight to the bar element.
|
|
8
|
+
* The card's position is only read while an IntersectionObserver says it is
|
|
9
|
+
* on screen; otherwise it can't be pushing, and the bar is simply shown or
|
|
10
|
+
* hidden. Scroll work is batched to one read per animation frame.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useBookingBarPlacement(cardRef: RefObject<HTMLElement | null>, barRef: RefObject<HTMLElement | null>, panelOpen: boolean): BookingBarPlacement['state'];
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type EventRegistrationRecoveryRequest = 'none' | 'paymentReturn' | 'waitlistInvitation';
|
|
2
|
+
/** Retain arrival intent while the payment controller cleans up the return URL. */
|
|
3
|
+
export declare function useEventRegistrationRecoveryRequest(): EventRegistrationRecoveryRequest;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { EventCheckoutReturnRequest } from '../../api/types';
|
|
2
2
|
import type { PendingRegistration } from './sessionStorage';
|
|
3
|
+
/** A return URL asks the server to verify; it is never proof of payment. */
|
|
4
|
+
export declare function eventRegistrationCheckoutReturnRequest(params: URLSearchParams): Extract<EventCheckoutReturnRequest, {
|
|
5
|
+
kind: 'resolveSession';
|
|
6
|
+
}> | null;
|
|
3
7
|
export declare function useEventRegistrationStripeReturn(options: Readonly<{
|
|
4
8
|
siteId: string | undefined;
|
|
5
9
|
restore: (pending: PendingRegistration) => void;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { InvitationSubmission } from './registrationDraft.state';
|
|
1
2
|
import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
|
|
2
3
|
import { generateUuidV4 } from '../../../../../../core/src/index';
|
|
3
4
|
import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
|
|
@@ -45,11 +46,10 @@ export type UseEventRegistrationSubmitInput = {
|
|
|
45
46
|
requireGuestDetails: boolean;
|
|
46
47
|
guests: Guest[];
|
|
47
48
|
discountCode: string;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
setStep: (step: RegistrationStep) => void;
|
|
49
|
+
invitation: InvitationSubmission;
|
|
50
|
+
setStep: (step: Exclude<RegistrationStep, 'success'>) => void;
|
|
51
51
|
setErrorAction?: (action: EventRegistrationErrorAction) => void;
|
|
52
|
-
|
|
52
|
+
complete: (result: RegistrationResult) => void;
|
|
53
53
|
setErrorMessage: (message: string) => void;
|
|
54
54
|
setPaymentStatusRecovery: (state: PaymentStatusRecoveryState | null) => void;
|
|
55
55
|
};
|
|
@@ -70,13 +70,6 @@ export type EventRegistrationSubmitDeps = Readonly<{
|
|
|
70
70
|
}>;
|
|
71
71
|
export declare const createClientCommandId: typeof generateUuidV4;
|
|
72
72
|
export declare function useEventRegistrationSubmit(options: UseEventRegistrationSubmitInput): EventRegistrationSubmit;
|
|
73
|
-
/**
|
|
74
|
-
* Describe a completed registration to the success step.
|
|
75
|
-
*
|
|
76
|
-
* Only pass redemptions adopt the server's message: it names the credits spent
|
|
77
|
-
* and the balance left, which the block's copy cannot. Every other method keeps
|
|
78
|
-
* whatever success message the site configured.
|
|
79
|
-
*/
|
|
80
73
|
export declare function useEventRegistrationSubmitWithDeps(options: UseEventRegistrationSubmitInput, deps: EventRegistrationSubmitDeps): EventRegistrationSubmit;
|
|
81
74
|
type SelectionSnapshot = Exclude<PaymentSelection, Readonly<{
|
|
82
75
|
method: null;
|