@riverbankcms/sdk 0.139.0 → 0.141.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 +1 -1
- package/dist/{PreviewEditorSidebar-BDeenhi3.mjs → PreviewEditorSidebar-Q-fy9GYw.mjs} +4 -4
- package/dist/{PreviewEditorUI-DSRhgjF5.mjs → PreviewEditorUI-LYGzgk85.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D2K8GLUG.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CL7wSnYu.mjs → SdkPreviewModeRuntime-CoPYI5Jq.mjs} +90 -50
- package/dist/{SiteChromeCustomizeContext-BhDn-5ir.mjs → SiteChromeCustomizeContext-D8LePX8x.mjs} +2731 -1303
- package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +212 -212
- package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
- package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
- package/dist/_dts/api/src/authSubmission.d.ts +46 -0
- package/dist/_dts/api/src/billing.d.ts +8 -4
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
- package/dist/_dts/api/src/blocks.d.ts +2 -0
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
- package/dist/_dts/api/src/communications.d.ts +0 -1
- package/dist/_dts/api/src/contentRuntime.d.ts +17 -31
- package/dist/_dts/api/src/domainConnection.d.ts +4 -0
- package/dist/_dts/api/src/endpoints.d.ts +93 -64
- package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
- package/dist/_dts/api/src/footerCompositionContracts.d.ts +25 -0
- package/dist/_dts/api/src/footerSettings.d.ts +9 -6
- package/dist/_dts/api/src/index.d.ts +6 -7
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +1 -0
- package/dist/_dts/api/src/mailingListIntegration.d.ts +8 -2
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +2 -1
- package/dist/_dts/api/src/navigation/types.d.ts +1 -1
- package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
- package/dist/_dts/api/src/onboarding/surfaceData.d.ts +32 -32
- package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
- package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +3 -29
- package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
- package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -22
- package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
- package/dist/_dts/api/src/sdkThemeWire.d.ts +44 -44
- package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -29
- package/dist/_dts/api/src/siteOnboarding.d.ts +9 -9
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -4
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/siteSettings.d.ts +20 -7
- package/dist/_dts/api/src/types.d.ts +77 -77
- package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
- package/dist/_dts/billing/src/membership/index.d.ts +3 -0
- package/dist/_dts/billing/src/plans/types.d.ts +3 -0
- package/dist/_dts/billing/src/site-arrangements.d.ts +23 -3
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -4
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +7 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
- package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +122 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/eventSelection.d.ts +11 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +7 -1
- package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
- package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +27 -1
- package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +42 -186
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -93
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +48 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.state.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +10 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +14 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useSettledCommerceView.d.ts +37 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +11 -101
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
- package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +12 -0
- package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +27 -4
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -0
- package/dist/_dts/core/src/branded.d.ts +0 -8
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +1 -1
- package/dist/_dts/core/src/mailing-list-setup.d.ts +14 -1
- package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -27
- package/dist/_dts/core/src/participants.d.ts +2 -29
- package/dist/_dts/core/src/public-experience.d.ts +4 -0
- package/dist/_dts/core/src/public-profile.d.ts +27 -1
- package/dist/_dts/core/src/site-route-target.d.ts +9 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +296 -606
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +27 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +14 -20
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +7 -1
- package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +17 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
- package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/classNames.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +0 -6
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +4 -4
- package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
- package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
- package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +54 -12
- package/dist/_dts/theme-core/src/index.d.ts +1 -1
- package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
- package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
- package/dist/_dts/theme-core/src/schema.d.ts +84 -84
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
- package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
- package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
- package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
- package/dist/_dts/ui/src/pending-button.d.ts +10 -0
- package/dist/client/{BookingConsentAgreement-CZvTDtsK.mjs → BookingConsentAgreement-xJeYNdnb.mjs} +4 -4
- package/dist/client/{DiscountCodeDisclosure-D-DsLCMU.mjs → DiscountCodeDisclosure-DdT6uzl9.mjs} +1 -1
- package/dist/client/{EventCombined.client-dWqgd5ZO.mjs → EventCombined.client-Cp28uYuM.mjs} +12 -16
- package/dist/client/{EventListing.client-BMRa9IYp.mjs → EventListing.client-CD6AJsMr.mjs} +4 -17
- package/dist/client/{LeafletStaticMap-D21W9kBZ.mjs → LeafletStaticMap-DBsAi9-e.mjs} +1 -1
- package/dist/client/{accordion-FxF_ta47.mjs → accordion-6dwbOKYR.mjs} +1 -1
- package/dist/client/{bookingForm-YnwW4TGw.mjs → bookingForm-CZE9_qPQ.mjs} +7 -7
- package/dist/client/bookings.mjs +500 -233
- package/dist/client/{carousel-vng7fFT5.mjs → carousel-7VHGQARz.mjs} +2 -2
- package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
- package/dist/client/{cart-DEPDsjNk.mjs → cart-Qg_mvQhh.mjs} +3 -3
- package/dist/client/{checkout-CZRWu9rW.mjs → checkout-D84rpgdr.mjs} +3 -3
- package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
- package/dist/client/client.mjs +2315 -1017
- package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
- package/dist/client/{context-DvU_WUmd.mjs → context-Ctp3T0Wr.mjs} +6 -19
- package/dist/client/{dates-wnPMiRl5.mjs → dates-DJKFcI_N.mjs} +2 -2
- package/dist/client/{eventCalendar-BA3Q5L15.mjs → eventCalendar-CK31z3vs.mjs} +12 -8
- package/dist/client/{eventCombined-51wgR-1R.mjs → eventCombined-DiXd-ewn.mjs} +3 -3
- package/dist/client/{eventDetails-modaetpm.mjs → eventDetails-CTRgt2DK.mjs} +4 -4
- package/dist/client/{eventListing-D8t2J3Kv.mjs → eventListing-Dy9vi_j_.mjs} +3 -3
- package/dist/client/{eventRegistration-CYqtkCE_.mjs → eventRegistration-CnalYMr2.mjs} +618 -177
- package/dist/client/{form-CBKXN5In.mjs → form-eUiMveTT.mjs} +3 -3
- package/dist/client/{headerSection-DylDqNrs.mjs → headerSection-Dy9kQpB1.mjs} +2 -2
- package/dist/client/hooks.mjs +692 -212
- package/dist/client/{locationMap-CvWrG0vZ.mjs → locationMap-DalCmWU0.mjs} +3 -3
- package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
- package/dist/client/{newsletterForm-Btwk70zw.mjs → newsletterForm-SDDPvhS0.mjs} +150 -94
- package/dist/client/{pricing-Uzw-GQ6Y.mjs → pricing-OcMz4SnX.mjs} +1 -1
- package/dist/client/{productDetail-JLcUYKnd.mjs → productDetail-BQrgHElM.mjs} +3 -3
- package/dist/client/{productList-FM0cbUzj.mjs → productList-OnPn_UJj.mjs} +3 -3
- package/dist/client/{propsDecoder-DYzafZb2.mjs → propsDecoder-zBdsnS-N.mjs} +168 -32
- package/dist/client/rendering/client.mjs +1355 -519
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +2294 -953
- package/dist/client/{scrollToBlock-CvXszexS.mjs → scrollToBlock-BNM4Ob2Y.mjs} +28 -11
- package/dist/client/{shop-BIcjvy5a.mjs → shop-Bv1fPTwQ.mjs} +6 -6
- package/dist/client/{shop-commerce-BZQsy7xw.mjs → shop-commerce-D4KNGaW8.mjs} +7 -7
- package/dist/client/{shop-commerce-store-D5V7XAb5.mjs → shop-commerce-store-2N5EV0Rc.mjs} +1 -1
- package/dist/client/{shopShared-DowkXevB.mjs → shopShared-DvJGdHTV.mjs} +4 -4
- package/dist/client/{useEventFilters-oMoTw_JE.mjs → useEventFilters-BBBvGDHQ.mjs} +19 -13
- package/dist/preview-next/before-render.mjs +119 -64
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/editor-chrome.css +4 -8
- package/dist/preview-next/keepAlive.mjs +119 -64
- package/dist/preview-next/middleware.mjs +119 -64
- package/dist/{previewAuthStore-COUyAKaX.mjs → previewAuthStore-Gjb6r6vz.mjs} +119 -64
- package/dist/{sdk-runtime-D4k2LSGF.mjs → sdk-runtime-Defnbfzw.mjs} +2 -2
- package/dist/{separator-UGtpag4Z.mjs → separator-CZXO3Sb0.mjs} +1 -1
- package/dist/server/components.mjs +1170 -384
- package/dist/server/config-validation.mjs +560 -105
- package/dist/server/config.mjs +564 -109
- package/dist/server/data.mjs +688 -212
- package/dist/server/index.mjs +126 -66
- package/dist/server/next.mjs +1429 -662
- package/dist/server/page-converter.mjs +372 -99
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1624 -817
- package/dist/server/rendering.mjs +1200 -391
- package/dist/server/routing.mjs +767 -247
- package/dist/server/server.mjs +715 -276
- package/dist/server/theme-bridge.mjs +475 -110
- package/dist/server/theme.mjs +9 -3
- package/dist/styles/index.css +265 -45
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
|
@@ -16,6 +16,49 @@ declare const publicLocationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
16
16
|
}, z.core.$strip>>;
|
|
17
17
|
}, z.core.$strip>], "mode">;
|
|
18
18
|
type PublicAppointmentLocation = z.infer<typeof publicLocationSchema>;
|
|
19
|
+
declare const publicAppointmentServiceSchema: z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
22
|
+
title: z.ZodString;
|
|
23
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
24
|
+
durationMinutes: z.ZodNumber;
|
|
25
|
+
pricing: z.ZodOptional<z.ZodObject<{
|
|
26
|
+
pricingStrategy: z.ZodEnum<{
|
|
27
|
+
free: "free";
|
|
28
|
+
single: "single";
|
|
29
|
+
tiered: "tiered";
|
|
30
|
+
sliding_scale: "sliding_scale";
|
|
31
|
+
}>;
|
|
32
|
+
currency: z.ZodString;
|
|
33
|
+
singlePriceAmount: z.ZodNullable<z.ZodNumber>;
|
|
34
|
+
slidingMinAmount: z.ZodNullable<z.ZodNumber>;
|
|
35
|
+
slidingMaxAmount: z.ZodNullable<z.ZodNumber>;
|
|
36
|
+
options: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
37
|
+
priceAmount: z.ZodNumber;
|
|
38
|
+
isActive: z.ZodBoolean;
|
|
39
|
+
saleStartsAt: z.ZodNullable<z.ZodString>;
|
|
40
|
+
saleEndsAt: z.ZodNullable<z.ZodString>;
|
|
41
|
+
}, z.core.$strip>>>;
|
|
42
|
+
}, z.core.$strip>>;
|
|
43
|
+
priceAmount: z.ZodNullable<z.ZodNumber>;
|
|
44
|
+
priceCurrency: z.ZodNullable<z.ZodString>;
|
|
45
|
+
location: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
46
|
+
mode: z.ZodLiteral<"online">;
|
|
47
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
48
|
+
mode: z.ZodLiteral<"in_person">;
|
|
49
|
+
venue: z.ZodNullable<z.ZodObject<{
|
|
50
|
+
name: z.ZodString;
|
|
51
|
+
area: z.ZodNullable<z.ZodString>;
|
|
52
|
+
}, z.core.$strip>>;
|
|
53
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
54
|
+
mode: z.ZodLiteral<"either">;
|
|
55
|
+
venue: z.ZodNullable<z.ZodObject<{
|
|
56
|
+
name: z.ZodString;
|
|
57
|
+
area: z.ZodNullable<z.ZodString>;
|
|
58
|
+
}, z.core.$strip>>;
|
|
59
|
+
}, z.core.$strip>], "mode">;
|
|
60
|
+
}, z.core.$strip>;
|
|
61
|
+
type PublicAppointmentService = z.infer<typeof publicAppointmentServiceSchema>;
|
|
19
62
|
export type AppointmentServiceRow = Readonly<{
|
|
20
63
|
id: string;
|
|
21
64
|
title: string;
|
|
@@ -24,6 +67,7 @@ export type AppointmentServiceRow = Readonly<{
|
|
|
24
67
|
locationLabel: string | null;
|
|
25
68
|
priceLabel: string | null;
|
|
26
69
|
href: string;
|
|
70
|
+
detailsHref: string | null;
|
|
27
71
|
}>;
|
|
28
72
|
export type AppointmentServicesView = Readonly<{
|
|
29
73
|
kind: 'items';
|
|
@@ -39,13 +83,16 @@ export type AppointmentServicesNodeProps = Readonly<{
|
|
|
39
83
|
sectionHeading?: unknown;
|
|
40
84
|
services?: unknown;
|
|
41
85
|
pathname?: unknown;
|
|
86
|
+
servicePathPrefix?: unknown;
|
|
42
87
|
className?: string | null;
|
|
43
88
|
}>;
|
|
44
89
|
export declare function formatAppointmentDuration(durationMinutes: number): string;
|
|
45
90
|
export declare function formatAppointmentLocation(location: PublicAppointmentLocation): string | null;
|
|
91
|
+
export declare function formatAppointmentPrice(service: PublicAppointmentService): string | null;
|
|
46
92
|
export declare function buildAppointmentServicesView(input: Readonly<{
|
|
47
93
|
services: unknown;
|
|
48
94
|
pathname: string | undefined;
|
|
95
|
+
servicePathPrefix?: string | null;
|
|
49
96
|
}>): AppointmentServicesView;
|
|
50
|
-
export declare function AppointmentServicesNode({ sectionHeading, services, pathname, className, }: AppointmentServicesNodeProps): React.ReactElement;
|
|
97
|
+
export declare function AppointmentServicesNode({ sectionHeading, services, pathname, servicePathPrefix, className, }: AppointmentServicesNodeProps): React.ReactElement;
|
|
51
98
|
export default AppointmentServicesNode;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
|
|
3
2
|
export type EventPortalAuthCopy = Readonly<{
|
|
4
3
|
title: string;
|
|
@@ -21,4 +20,4 @@ export declare function EventRegistrationSurface(props: Readonly<{
|
|
|
21
20
|
buttonClass: string;
|
|
22
21
|
supportEmail?: string;
|
|
23
22
|
successMessage: string;
|
|
24
|
-
}>):
|
|
23
|
+
}>): import("react").JSX.Element;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ type TicketSelectionStepProps = {
|
|
|
10
10
|
occurrenceContext?: OccurrenceContext | null;
|
|
11
11
|
selectedAttendanceMode?: RegistrationAttendanceMode | null;
|
|
12
12
|
onAttendanceModeChange?: (attendanceMode: RegistrationAttendanceMode) => void;
|
|
13
|
+
checkoutRecovery?: boolean;
|
|
14
|
+
onCheckoutRecovery?: () => void;
|
|
13
15
|
ticketsCount: number;
|
|
14
16
|
maxTickets: number;
|
|
15
17
|
visibleTicketTypes?: ReturnType<typeof getVisibleTicketTypes>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PublicEventPricingOptionAvailability } from '../../../../../../core/src/index';
|
|
2
|
+
import type { EligibilityData, RegistrationEvent } from './types';
|
|
3
|
+
/** Recovery may select held places; checkout still owns admission and payment validation. */
|
|
4
|
+
export declare function checkoutRecoveryOptionAvailability(availability: PublicEventPricingOptionAvailability): PublicEventPricingOptionAvailability;
|
|
5
|
+
/**
|
|
6
|
+
* A form-only projection for the explicit existing-checkout path. It permits
|
|
7
|
+
* collecting the original selection without claiming a new place is available.
|
|
8
|
+
* The public checkout service identifies the customer and remains the admission
|
|
9
|
+
* authority; no reservation/customer data is exposed through this projection.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getCheckoutRecoveryFormEligibility(eligibility: EligibilityData | null): EligibilityData | null;
|
|
12
|
+
export declare function isSoldOutEventSelectable(event: RegistrationEvent, waitlistAvailable: boolean): boolean;
|
|
13
|
+
export declare function canJoinWaitlistOutsideRecovery(event: RegistrationEvent | null, attendanceMode: 'in_person' | 'online' | null, checkoutRecovery: boolean): boolean;
|
|
14
|
+
export declare function canRecoverEventCheckout(event: RegistrationEvent | null): boolean;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { PublicEvent } from '../../../blocks/events/shared/types';
|
|
3
|
+
import type { PublicEventsRequest } from '../../api/types/events';
|
|
4
|
+
export declare const eventRecoveryRequestSchema: z.ZodObject<{
|
|
5
|
+
limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
|
|
6
|
+
eventSurface: z.ZodOptional<z.ZodEnum<{
|
|
7
|
+
custom: "custom";
|
|
8
|
+
all: "all";
|
|
9
|
+
regularClassSchedule: "regularClassSchedule";
|
|
10
|
+
specialDatedEvents: "specialDatedEvents";
|
|
11
|
+
}>>;
|
|
12
|
+
scheduleScope: z.ZodOptional<z.ZodEnum<{
|
|
13
|
+
any: "any";
|
|
14
|
+
recurring: "recurring";
|
|
15
|
+
oneOff: "oneOff";
|
|
16
|
+
}>>;
|
|
17
|
+
detailLevel: z.ZodOptional<z.ZodEnum<{
|
|
18
|
+
full: "full";
|
|
19
|
+
listing: "listing";
|
|
20
|
+
}>>;
|
|
21
|
+
stage: z.ZodOptional<z.ZodEnum<{
|
|
22
|
+
published: "published";
|
|
23
|
+
preview: "preview";
|
|
24
|
+
}>>;
|
|
25
|
+
from: z.ZodOptional<z.ZodString>;
|
|
26
|
+
to: z.ZodOptional<z.ZodString>;
|
|
27
|
+
afterStartsAt: z.ZodOptional<z.ZodString>;
|
|
28
|
+
afterId: z.ZodOptional<z.ZodString>;
|
|
29
|
+
categoryIds: z.ZodOptional<z.ZodString>;
|
|
30
|
+
venueId: z.ZodOptional<z.ZodString>;
|
|
31
|
+
staffMemberId: z.ZodOptional<z.ZodString>;
|
|
32
|
+
eventPresets: z.ZodOptional<z.ZodString>;
|
|
33
|
+
seriesId: z.ZodOptional<z.ZodString>;
|
|
34
|
+
seriesIds: z.ZodOptional<z.ZodString>;
|
|
35
|
+
runSeriesId: z.ZodOptional<z.ZodString>;
|
|
36
|
+
seriesSlug: z.ZodOptional<z.ZodString>;
|
|
37
|
+
includeOccurrenceId: z.ZodOptional<z.ZodString>;
|
|
38
|
+
readIntent: z.ZodOptional<z.ZodString>;
|
|
39
|
+
readProfile: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export type EventRecoveryRequest = Omit<PublicEventsRequest, 'siteId'>;
|
|
42
|
+
export type EventRegistrationEventSource = Readonly<{
|
|
43
|
+
kind: 'loaded';
|
|
44
|
+
events: PublicEvent[];
|
|
45
|
+
}> | Readonly<{
|
|
46
|
+
kind: 'unresolved';
|
|
47
|
+
request: EventRecoveryRequest | null;
|
|
48
|
+
}>;
|
|
49
|
+
type EventSourceInput = Readonly<{
|
|
50
|
+
events?: PublicEvent[] | null;
|
|
51
|
+
wholeSeriesRunEvents?: PublicEvent[] | null;
|
|
52
|
+
failures?: Readonly<Record<string, unknown>> | null;
|
|
53
|
+
}>;
|
|
54
|
+
export declare function resolveEventRegistrationEventSource(input: EventSourceInput): EventRegistrationEventSource;
|
|
55
|
+
export declare function parseEventLoaderRecoveryRequest(value: unknown): EventRecoveryRequest | null;
|
|
56
|
+
export {};
|
|
@@ -54,6 +54,10 @@ export declare function usePortalAuthWithDeps(deps: EventRegistrationHooksDeps):
|
|
|
54
54
|
export type UseEligibilityResult = {
|
|
55
55
|
state: EligibilityLookupState;
|
|
56
56
|
eligibility: EligibilityLookupState['eligibility'];
|
|
57
|
+
/** Identity of the inputs that produced `eligibility`, retained while refreshing. */
|
|
58
|
+
settledRequestKey: string | null;
|
|
59
|
+
/** Identity of the inputs currently requested by the wizard. */
|
|
60
|
+
requestKey: string;
|
|
57
61
|
isLoading: boolean;
|
|
58
62
|
error: EligibilityLookupState['error'];
|
|
59
63
|
creditState: PortalCreditState;
|
|
@@ -3,18 +3,22 @@ import type { EligibilityData } from './types';
|
|
|
3
3
|
export type EligibilityLookupState = {
|
|
4
4
|
tag: 'idle';
|
|
5
5
|
eligibility: null;
|
|
6
|
+
settledRequestKey: null;
|
|
6
7
|
error: null;
|
|
7
8
|
} | {
|
|
8
9
|
tag: 'loading';
|
|
9
10
|
eligibility: EligibilityData | null;
|
|
11
|
+
settledRequestKey: string | null;
|
|
10
12
|
error: null;
|
|
11
13
|
} | {
|
|
12
14
|
tag: 'resolved';
|
|
13
15
|
eligibility: EligibilityData;
|
|
16
|
+
settledRequestKey: string;
|
|
14
17
|
error: null;
|
|
15
18
|
} | {
|
|
16
19
|
tag: 'failed';
|
|
17
20
|
eligibility: null;
|
|
21
|
+
settledRequestKey: null;
|
|
18
22
|
error: string;
|
|
19
23
|
};
|
|
20
24
|
export type EligibilityLookupAction = {
|
|
@@ -24,6 +28,7 @@ export type EligibilityLookupAction = {
|
|
|
24
28
|
} | {
|
|
25
29
|
type: 'resolved';
|
|
26
30
|
eligibility: EligibilityData;
|
|
31
|
+
requestKey: string;
|
|
27
32
|
} | {
|
|
28
33
|
type: 'failed';
|
|
29
34
|
message: string;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import type { PublicEventPricing } from '../../../../../../core/src/index';
|
|
2
|
-
import type { EventRegistrationPricingOption } from '../../../blocks/event-registration';
|
|
3
|
-
import type { PublicEvent, PublicEventPricingOption, PublicEventPricingOptionAvailability } from '../../../blocks/events/shared/types';
|
|
2
|
+
import type { EventRegistrationAvailablePaymentOption, EventRegistrationOptionsResponse, EventRegistrationPricingOption } from '../../../blocks/event-registration';
|
|
4
3
|
import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
|
|
5
|
-
import type {
|
|
6
|
-
import type { PublicRunSession } from '../../../blocks/events/shared/types';
|
|
7
|
-
import type { AvailablePass, AvailableMembership, DirectCheckoutCollectionOptionKind, EventTicketLineSummary } from '../../api/types';
|
|
4
|
+
import type { PublicEvent, PublicEventPricingOption, PublicEventPricingOptionAvailability, PublicRunSession } from '../../../blocks/events/shared/types';
|
|
8
5
|
import type { BlockBookingPaymentTerms } from '../../../blocks/shared/bookingPaymentTerms';
|
|
9
|
-
import type {
|
|
6
|
+
import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop.shared';
|
|
10
7
|
import type { BlockButtonRole } from '../../../constants/buttonRoles';
|
|
11
|
-
import type {
|
|
12
|
-
|
|
8
|
+
import type { AvailableMembership, AvailablePass, DirectCheckoutCollectionOptionKind, EventTicketLineSummary } from '../../api/types';
|
|
9
|
+
import type { EventRegistrationPageSurfaceSubject } from './eventScope';
|
|
10
|
+
export type { OccurrenceContext, PublicEvent };
|
|
13
11
|
export type { FormData } from '../../shared';
|
|
14
12
|
/**
|
|
15
13
|
* Guest details for additional attendees (when "collect all attendee details" is enabled)
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EligibilityData, RegistrationEvent, RegistrationStep } from './types';
|
|
2
|
+
/** Recovery belongs to the selected booking subject; changing events resets its scope. */
|
|
3
|
+
export declare function useCheckoutRecovery(event: RegistrationEvent | null, setStep: (step: RegistrationStep) => void): {
|
|
4
|
+
checkoutRecovery: boolean;
|
|
5
|
+
startCheckoutRecovery: () => void;
|
|
6
|
+
};
|
|
7
|
+
/** Authenticated pending bookings enter the same form-only recovery path as guests. */
|
|
8
|
+
export declare function useCheckoutRecoveryEligibility(eligibility: EligibilityData | null, step: RegistrationStep, checkoutRecovery: boolean, startCheckoutRecovery: () => void): EligibilityData | null;
|
|
@@ -13,4 +13,7 @@ export declare function useDiscountCodeUi(options: {
|
|
|
13
13
|
manualCodeEntryAllowed: boolean;
|
|
14
14
|
autoAppliedDiscount: import("../../api/types").AutoAppliedDiscountPreview | null;
|
|
15
15
|
discountsAvailableLoading: boolean;
|
|
16
|
+
discountAvailabilityRequestKey: string;
|
|
17
|
+
settledDiscountAvailabilityRequestKey: string | null;
|
|
16
18
|
};
|
|
19
|
+
export type UseDiscountCodeUiResult = ReturnType<typeof useDiscountCodeUi>;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts
CHANGED
|
@@ -11,14 +11,19 @@ type DiscountAvailabilityState = Readonly<{
|
|
|
11
11
|
tag: 'disabled';
|
|
12
12
|
}> | Readonly<{
|
|
13
13
|
tag: 'loading';
|
|
14
|
-
|
|
14
|
+
previous: SettledDiscountAvailabilityState | null;
|
|
15
|
+
}> | SettledDiscountAvailabilityState | Readonly<{
|
|
16
|
+
tag: 'error';
|
|
17
|
+
requestKey: string;
|
|
18
|
+
}>;
|
|
19
|
+
type SettledDiscountAvailabilityState = Readonly<{
|
|
15
20
|
tag: 'unavailable';
|
|
21
|
+
requestKey: string;
|
|
16
22
|
}> | Readonly<{
|
|
17
23
|
tag: 'available';
|
|
24
|
+
requestKey: string;
|
|
18
25
|
manualCodeEntryAllowed: boolean;
|
|
19
26
|
autoAppliedDiscount: AutoAppliedDiscountPreview | null;
|
|
20
|
-
}> | Readonly<{
|
|
21
|
-
tag: 'error';
|
|
22
27
|
}>;
|
|
23
28
|
export type DiscountCodeUiState = Readonly<{
|
|
24
29
|
discountUiOpen: boolean;
|
|
@@ -31,9 +36,11 @@ export type DiscountCodeUiEvent = Readonly<{
|
|
|
31
36
|
type: 'availability-loading';
|
|
32
37
|
}> | Readonly<{
|
|
33
38
|
type: 'availability-loaded';
|
|
39
|
+
requestKey: string;
|
|
34
40
|
response: DiscountsAvailableResponse;
|
|
35
41
|
}> | Readonly<{
|
|
36
42
|
type: 'availability-failed';
|
|
43
|
+
requestKey: string;
|
|
37
44
|
}> | Readonly<{
|
|
38
45
|
type: 'discount-code-changed';
|
|
39
46
|
code: string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type CheckoutHandoffRestoreDeps = Readonly<{
|
|
2
|
+
addPageShowListener: (listener: (event: PageTransitionEvent) => void) => void;
|
|
3
|
+
removePageShowListener: (listener: (event: PageTransitionEvent) => void) => void;
|
|
4
|
+
reloadAtRegistration: () => void;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function eventRegistrationReloadTarget(location: Pick<Location, 'pathname' | 'search'>): string;
|
|
7
|
+
export declare function useEventCheckoutHandoffRestore(active: boolean): void;
|
|
8
|
+
export declare function useEventCheckoutHandoffRestoreWithDeps(active: boolean, deps: CheckoutHandoffRestoreDeps): void;
|
|
9
|
+
export {};
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { BlockApiClient } from '../../api';
|
|
2
1
|
import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
|
|
3
|
-
import {
|
|
4
|
-
import type {
|
|
5
|
-
import type { PaymentMethod } from '../../api/types';
|
|
6
|
-
import type { EventRegistrationStatusReference } from '../../api/types';
|
|
2
|
+
import type { BlockApiClient } from '../../api';
|
|
3
|
+
import type { EventRegistrationStatusReference, PaymentMethod } from '../../api/types';
|
|
7
4
|
import type { RegistrationTarget } from './registrationDerivations';
|
|
5
|
+
import { savePendingRegistration } from './sessionStorage';
|
|
6
|
+
import type { EventTicketSelectionLine, FormData, Guest, PaymentSelection, RegistrationResult, RegistrationStep } from './types';
|
|
8
7
|
export type EventRegistrationSubmitOptions = Readonly<{
|
|
9
8
|
redirect?: 'auto' | 'manual';
|
|
10
9
|
}>;
|
|
@@ -24,6 +23,7 @@ export type EventRegistrationSubmitResult = Readonly<{
|
|
|
24
23
|
reason: 'blocked' | 'missing-target' | 'submission-failed';
|
|
25
24
|
message: string;
|
|
26
25
|
}>;
|
|
26
|
+
export type EventRegistrationSubmit = (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
|
|
27
27
|
export type UseEventRegistrationSubmitInput = {
|
|
28
28
|
api: BlockApiClient;
|
|
29
29
|
registrationTarget: RegistrationTarget | null;
|
|
@@ -36,6 +36,7 @@ export type UseEventRegistrationSubmitInput = {
|
|
|
36
36
|
guests: Guest[];
|
|
37
37
|
discountCode: string;
|
|
38
38
|
claimToken: string | null;
|
|
39
|
+
waitlistEntryId?: string | null;
|
|
39
40
|
setPendingRegistrationReference: (reference: EventRegistrationStatusReference) => void;
|
|
40
41
|
setStep: (step: RegistrationStep) => void;
|
|
41
42
|
setErrorAction?: (action: EventRegistrationErrorAction) => void;
|
|
@@ -55,6 +56,6 @@ type ClientCommandIdCryptoSource = Readonly<{
|
|
|
55
56
|
getRandomValues: (bytes: Uint8Array<ArrayBuffer>) => Uint8Array<ArrayBuffer>;
|
|
56
57
|
}>;
|
|
57
58
|
export declare function createClientCommandId(cryptoSource?: ClientCommandIdCryptoSource): string;
|
|
58
|
-
export declare function useEventRegistrationSubmit(options: UseEventRegistrationSubmitInput):
|
|
59
|
-
export declare function useEventRegistrationSubmitWithDeps(options: UseEventRegistrationSubmitInput, deps: EventRegistrationSubmitDeps):
|
|
59
|
+
export declare function useEventRegistrationSubmit(options: UseEventRegistrationSubmitInput): EventRegistrationSubmit;
|
|
60
|
+
export declare function useEventRegistrationSubmitWithDeps(options: UseEventRegistrationSubmitInput, deps: EventRegistrationSubmitDeps): EventRegistrationSubmit;
|
|
60
61
|
export {};
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
|
|
2
|
-
import type { DiscountContext } from '../../api/types';
|
|
3
2
|
import type { EventTicketSelectionLine, EventRegistrationClientProps, EligibilityData, FormData, Guest, GuestErrors, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult, RegistrationStep } from './types';
|
|
4
3
|
import { usePortalAuth, useEligibility, useExistingEventRegistration } from './hooks';
|
|
5
4
|
import { useWaitlistClaim } from '../../shared/useWaitlistClaim';
|
|
@@ -52,6 +51,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
52
51
|
scopedEvents: RegistrationEvent[];
|
|
53
52
|
preSelectedEvent: RegistrationEvent | null;
|
|
54
53
|
hasPreSelectedContext: boolean;
|
|
54
|
+
checkoutRecovery: boolean;
|
|
55
|
+
startCheckoutRecovery: () => void;
|
|
55
56
|
step: RegistrationStep;
|
|
56
57
|
setStep: (nextStep: RegistrationStep) => void;
|
|
57
58
|
selectedEvent: RegistrationEvent | null;
|
|
@@ -79,7 +80,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
79
80
|
}> | null;
|
|
80
81
|
slidingScaleSelectionMessage: string | null;
|
|
81
82
|
selectedTicketType: import("../../..").EventRegistrationPricingOption | null;
|
|
82
|
-
ticketSelectionSummaryLines: {
|
|
83
|
+
ticketSelectionSummaryLines: readonly {
|
|
83
84
|
pricingOptionId: string | null;
|
|
84
85
|
label: string;
|
|
85
86
|
quantity: number;
|
|
@@ -127,6 +128,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
127
128
|
kind: "none";
|
|
128
129
|
}> | Readonly<{
|
|
129
130
|
kind: "booked";
|
|
131
|
+
}> | Readonly<{
|
|
132
|
+
kind: "pending_payment";
|
|
130
133
|
}> | Readonly<{
|
|
131
134
|
kind: "waitlisted";
|
|
132
135
|
}>;
|
|
@@ -141,14 +144,14 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
141
144
|
manualCodeEntryAllowed: boolean;
|
|
142
145
|
autoAppliedDiscount: import("../../api/types").AutoAppliedDiscountPreview | null;
|
|
143
146
|
discountsAvailableLoading: boolean;
|
|
144
|
-
discountContext: DiscountContext | null;
|
|
147
|
+
discountContext: import("../../api").DiscountContext | null;
|
|
145
148
|
shouldShowDiscountToggle: boolean;
|
|
146
149
|
verification: import("./useEventRegistrationStripeReturn").EventRegistrationStripeReturnResult;
|
|
147
150
|
handleDetailsComplete: () => Promise<EventRegistrationDetailsCompleteResult>;
|
|
148
151
|
handlePaymentSelect: () => Promise<void>;
|
|
149
152
|
handleUseCardInsteadOfPass: () => void;
|
|
150
153
|
handleBookForSomeoneElse: () => void;
|
|
151
|
-
handleSubmit:
|
|
154
|
+
handleSubmit: import("./useEventRegistrationSubmit").EventRegistrationSubmit;
|
|
152
155
|
handleEventSelect: (event: RegistrationEvent) => void;
|
|
153
156
|
handleRetry: () => void;
|
|
154
157
|
};
|
|
@@ -174,6 +177,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
174
177
|
scopedEvents: RegistrationEvent[];
|
|
175
178
|
preSelectedEvent: RegistrationEvent | null;
|
|
176
179
|
hasPreSelectedContext: boolean;
|
|
180
|
+
checkoutRecovery: boolean;
|
|
181
|
+
startCheckoutRecovery: () => void;
|
|
177
182
|
step: RegistrationStep;
|
|
178
183
|
setStep: (nextStep: RegistrationStep) => void;
|
|
179
184
|
selectedEvent: RegistrationEvent | null;
|
|
@@ -201,7 +206,7 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
201
206
|
}> | null;
|
|
202
207
|
slidingScaleSelectionMessage: string | null;
|
|
203
208
|
selectedTicketType: import("../../..").EventRegistrationPricingOption | null;
|
|
204
|
-
ticketSelectionSummaryLines: {
|
|
209
|
+
ticketSelectionSummaryLines: readonly {
|
|
205
210
|
pricingOptionId: string | null;
|
|
206
211
|
label: string;
|
|
207
212
|
quantity: number;
|
|
@@ -249,6 +254,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
249
254
|
kind: "none";
|
|
250
255
|
}> | Readonly<{
|
|
251
256
|
kind: "booked";
|
|
257
|
+
}> | Readonly<{
|
|
258
|
+
kind: "pending_payment";
|
|
252
259
|
}> | Readonly<{
|
|
253
260
|
kind: "waitlisted";
|
|
254
261
|
}>;
|
|
@@ -263,14 +270,14 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
263
270
|
manualCodeEntryAllowed: boolean;
|
|
264
271
|
autoAppliedDiscount: import("../../api/types").AutoAppliedDiscountPreview | null;
|
|
265
272
|
discountsAvailableLoading: boolean;
|
|
266
|
-
discountContext: DiscountContext | null;
|
|
273
|
+
discountContext: import("../../api").DiscountContext | null;
|
|
267
274
|
shouldShowDiscountToggle: boolean;
|
|
268
275
|
verification: import("./useEventRegistrationStripeReturn").EventRegistrationStripeReturnResult;
|
|
269
276
|
handleDetailsComplete: () => Promise<EventRegistrationDetailsCompleteResult>;
|
|
270
277
|
handlePaymentSelect: () => Promise<void>;
|
|
271
278
|
handleUseCardInsteadOfPass: () => void;
|
|
272
279
|
handleBookForSomeoneElse: () => void;
|
|
273
|
-
handleSubmit:
|
|
280
|
+
handleSubmit: import("./useEventRegistrationSubmit").EventRegistrationSubmit;
|
|
274
281
|
handleEventSelect: (event: RegistrationEvent) => void;
|
|
275
282
|
handleRetry: () => void;
|
|
276
283
|
};
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useBlockApi } from '../../api';
|
|
2
|
+
import type { PublicEvent } from '../../../blocks/events/shared/types';
|
|
3
|
+
import type { EventRegistrationEventSource } from './eventSourceRecovery';
|
|
4
|
+
export type EventSourceRecovery = Readonly<{
|
|
5
|
+
kind: 'ready';
|
|
6
|
+
events: PublicEvent[];
|
|
7
|
+
}> | Readonly<{
|
|
8
|
+
kind: 'loading';
|
|
9
|
+
}> | Readonly<{
|
|
10
|
+
kind: 'exhausted';
|
|
11
|
+
retry: () => void;
|
|
12
|
+
}>;
|
|
13
|
+
type RecoveryDeps = Readonly<{
|
|
14
|
+
useApi: typeof useBlockApi;
|
|
15
|
+
wait: (milliseconds: number, signal: AbortSignal) => Promise<void>;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function useEventSourceRecovery(source: EventRegistrationEventSource, deps?: RecoveryDeps): EventSourceRecovery;
|
|
18
|
+
export {};
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useSettledCommerceView.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { BlockApiClient } from '../../api';
|
|
2
|
+
import type { DiscountContext } from '../../api/types';
|
|
3
|
+
import type { UseEligibilityResult } from './hooks';
|
|
4
|
+
import type { EligibilityData, PaymentSelection, RegistrationEvent } from './types';
|
|
5
|
+
import type { useDiscountCodeUi } from './useDiscountCodeUi';
|
|
6
|
+
export declare function useSettledCommerceView(input: Readonly<{
|
|
7
|
+
api: BlockApiClient;
|
|
8
|
+
useDiscountCodeUi: typeof useDiscountCodeUi;
|
|
9
|
+
eligibilityResult: UseEligibilityResult;
|
|
10
|
+
eligibility: EligibilityData | null;
|
|
11
|
+
currentEvent: RegistrationEvent | null;
|
|
12
|
+
paymentSelection: PaymentSelection;
|
|
13
|
+
eventRequiresPayment: boolean;
|
|
14
|
+
ticketsCount: number;
|
|
15
|
+
}>): {
|
|
16
|
+
discountUi: {
|
|
17
|
+
discountUiOpen: boolean;
|
|
18
|
+
setDiscountUiOpen: (isOpen: boolean) => void;
|
|
19
|
+
discountCode: string;
|
|
20
|
+
setDiscountCode: (code: string) => void;
|
|
21
|
+
discountsAvailable: boolean;
|
|
22
|
+
manualCodeEntryAllowed: boolean;
|
|
23
|
+
autoAppliedDiscount: import("../../api/types").AutoAppliedDiscountPreview | null;
|
|
24
|
+
discountsAvailableLoading: boolean;
|
|
25
|
+
discountAvailabilityRequestKey: string;
|
|
26
|
+
settledDiscountAvailabilityRequestKey: string | null;
|
|
27
|
+
};
|
|
28
|
+
discountContext: DiscountContext | null;
|
|
29
|
+
ticketSelectionSubtotalCents: number | null;
|
|
30
|
+
ticketSelectionSummaryLines: readonly {
|
|
31
|
+
pricingOptionId: string | null;
|
|
32
|
+
label: string;
|
|
33
|
+
quantity: number;
|
|
34
|
+
unitPriceCents: number;
|
|
35
|
+
subtotalCents: number;
|
|
36
|
+
}[];
|
|
37
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { EventRegistrationClientProps as InternalEventRegistrationClientProps } from './event-registration/types';
|
|
3
|
-
import type
|
|
3
|
+
import { type EventRegistrationInteractiveIslandProps } from './event-registration.interactive';
|
|
4
4
|
export type { PublicEvent, OccurrenceContext } from './event-registration/types';
|
|
5
5
|
export type EventRegistrationClientProps = InternalEventRegistrationClientProps;
|
|
6
6
|
export type EventRegistrationIslandClientProps = EventRegistrationInteractiveIslandProps;
|
|
@@ -5,6 +5,7 @@ import type { OccurrenceContext } from '../../blocks/event-registration.shared';
|
|
|
5
5
|
import type { EventRegistrationClientProps as InternalEventRegistrationClientProps } from './event-registration/types';
|
|
6
6
|
import { type EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
|
|
7
7
|
import { type InteractiveIslandProps } from '../../../contracts/islands';
|
|
8
|
+
import { type EventRegistrationEventSource } from './event-registration/eventSourceRecovery';
|
|
8
9
|
export declare const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS: readonly ["Date", "Tickets", "Details"];
|
|
9
10
|
declare const EVENT_REGISTRATION_SHELL_STEP_LABELS: readonly ["Event", "Date", "Tickets", "Details", "Payment"];
|
|
10
11
|
export type EventRegistrationGenericShellStepLabels = typeof EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
|
|
@@ -19,6 +20,7 @@ export type EventRegistrationSourceProps = Readonly<{
|
|
|
19
20
|
events?: PublicEvent[] | null;
|
|
20
21
|
/** Runs for a whole-series page, loaded independently of the date page. */
|
|
21
22
|
wholeSeriesRunEvents?: PublicEvent[] | null;
|
|
23
|
+
eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
|
|
22
24
|
className?: string | null;
|
|
23
25
|
buttonText?: string | null;
|
|
24
26
|
maxTickets?: string | null;
|
|
@@ -48,7 +50,9 @@ export type EventRegistrationDisplay = Readonly<{
|
|
|
48
50
|
titleText: string;
|
|
49
51
|
bodyText: string;
|
|
50
52
|
}>;
|
|
51
|
-
export type EventRegistrationHydration = Readonly<Omit<InternalEventRegistrationClientProps, 'siteId' | 'stage' | 'buttonText' | 'className'
|
|
53
|
+
export type EventRegistrationHydration = Readonly<Omit<InternalEventRegistrationClientProps, 'siteId' | 'stage' | 'buttonText' | 'className' | 'events'> & {
|
|
54
|
+
eventSource: EventRegistrationEventSource;
|
|
55
|
+
}>;
|
|
52
56
|
type EventRegistrationIslandMeta = Readonly<{
|
|
53
57
|
siteId?: string;
|
|
54
58
|
apiBaseUrl?: string;
|
|
@@ -56,6 +60,7 @@ type EventRegistrationIslandMeta = Readonly<{
|
|
|
56
60
|
previewToken?: string | null;
|
|
57
61
|
stage?: 'preview' | 'published';
|
|
58
62
|
}>;
|
|
63
|
+
export declare function buildEventRegistrationDisplayFromScopedEvents(source: EventRegistrationSourceProps, scopedSourceEvents: readonly PublicEvent[]): EventRegistrationDisplay;
|
|
59
64
|
export type EventRegistrationInteractiveIslandProps = InteractiveIslandProps<EventRegistrationIslandMeta, 'event-registration', typeof eventRegistrationBlockRuntime>;
|
|
60
65
|
export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
61
66
|
kind: "client-owned";
|
|
@@ -69,6 +74,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
69
74
|
events?: PublicEvent[] | null;
|
|
70
75
|
/** Runs for a whole-series page, loaded independently of the date page. */
|
|
71
76
|
wholeSeriesRunEvents?: PublicEvent[] | null;
|
|
77
|
+
eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
|
|
72
78
|
className?: string | null;
|
|
73
79
|
buttonText?: string | null;
|
|
74
80
|
maxTickets?: string | null;
|
|
@@ -88,7 +94,9 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
88
94
|
}> | null;
|
|
89
95
|
}>) => Readonly<{
|
|
90
96
|
display: EventRegistrationDisplay;
|
|
91
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText"
|
|
97
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
|
|
98
|
+
eventSource: EventRegistrationEventSource;
|
|
99
|
+
}>;
|
|
92
100
|
}>;
|
|
93
101
|
contracts: Readonly<{
|
|
94
102
|
source: Readonly<{
|
|
@@ -102,6 +110,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
102
110
|
events?: PublicEvent[] | null;
|
|
103
111
|
/** Runs for a whole-series page, loaded independently of the date page. */
|
|
104
112
|
wholeSeriesRunEvents?: PublicEvent[] | null;
|
|
113
|
+
eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
|
|
105
114
|
className?: string | null;
|
|
106
115
|
buttonText?: string | null;
|
|
107
116
|
maxTickets?: string | null;
|
|
@@ -130,6 +139,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
130
139
|
events?: PublicEvent[] | null;
|
|
131
140
|
/** Runs for a whole-series page, loaded independently of the date page. */
|
|
132
141
|
wholeSeriesRunEvents?: PublicEvent[] | null;
|
|
142
|
+
eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
|
|
133
143
|
className?: string | null;
|
|
134
144
|
buttonText?: string | null;
|
|
135
145
|
maxTickets?: string | null;
|
|
@@ -152,11 +162,15 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
|
|
|
152
162
|
render: Readonly<{
|
|
153
163
|
encode: (value: Readonly<{
|
|
154
164
|
display: EventRegistrationDisplay;
|
|
155
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText"
|
|
165
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
|
|
166
|
+
eventSource: EventRegistrationEventSource;
|
|
167
|
+
}>;
|
|
156
168
|
}>) => unknown;
|
|
157
169
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
|
|
158
170
|
display: EventRegistrationDisplay;
|
|
159
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText"
|
|
171
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
|
|
172
|
+
eventSource: EventRegistrationEventSource;
|
|
173
|
+
}>;
|
|
160
174
|
}>>;
|
|
161
175
|
}>;
|
|
162
176
|
}>;
|
|
@@ -174,7 +188,9 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
|
|
|
174
188
|
mode: "event-registration";
|
|
175
189
|
} & Readonly<{
|
|
176
190
|
display: EventRegistrationDisplay;
|
|
177
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText"
|
|
191
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
|
|
192
|
+
eventSource: EventRegistrationEventSource;
|
|
193
|
+
}>;
|
|
178
194
|
}>>;
|
|
179
195
|
}>) => unknown;
|
|
180
196
|
decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
|
|
@@ -189,7 +205,9 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
|
|
|
189
205
|
mode: "event-registration";
|
|
190
206
|
} & Readonly<{
|
|
191
207
|
display: EventRegistrationDisplay;
|
|
192
|
-
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText"
|
|
208
|
+
hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
|
|
209
|
+
eventSource: EventRegistrationEventSource;
|
|
210
|
+
}>;
|
|
193
211
|
}>>;
|
|
194
212
|
}>>;
|
|
195
213
|
}>;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type EventRegistrationSourceProps } from './event-registration.interactive';
|
|
3
|
-
type
|
|
3
|
+
import type { BlockLoaderFailures } from '../../data/types';
|
|
4
|
+
type EventRegistrationProps = Omit<EventRegistrationSourceProps, 'subject' | 'eventLoaderFailures'> & Readonly<{
|
|
4
5
|
blockId?: string | null;
|
|
5
6
|
children?: React.ReactNode;
|
|
6
7
|
subject?: unknown;
|
|
8
|
+
loaderFailures?: BlockLoaderFailures | null;
|
|
7
9
|
}>;
|
|
8
10
|
/**
|
|
9
11
|
* Server-safe placeholder for event registration.
|
|
10
12
|
* Provides a static container for island hydration without importing client hooks.
|
|
11
13
|
*/
|
|
12
|
-
export declare function EventRegistrationSSR({ blockId, subject, children, ...sourceProps }: EventRegistrationProps): React.JSX.Element;
|
|
14
|
+
export declare function EventRegistrationSSR({ blockId, subject, loaderFailures, children, ...sourceProps }: EventRegistrationProps): React.JSX.Element;
|
|
13
15
|
export default EventRegistrationSSR;
|