@riverbankcms/sdk 0.139.0 → 0.140.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-CUyTzd5z.mjs} +4 -4
- package/dist/{PreviewEditorUI-DSRhgjF5.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
- package/dist/{PreviewQueryProvider-D2K8GLUG.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CL7wSnYu.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +22 -8
- package/dist/{SiteChromeCustomizeContext-BhDn-5ir.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +2053 -1110
- 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 +8 -3
- 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/footerSettings.d.ts +9 -6
- package/dist/_dts/api/src/index.d.ts +5 -6
- 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/mailingListIntegration.d.ts +8 -2
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -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 +9 -5
- package/dist/_dts/api/src/siteOnboarding.d.ts +2 -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 +14 -3
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -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/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/data/index.d.ts +2 -2
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
- package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
- 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 +30 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +15 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +43 -0
- 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/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/useEventRegistrationSubmit.d.ts +8 -7
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +10 -2
- 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.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/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/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 +293 -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/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/accordions/types.d.ts +3 -3
- 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/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-CuKa82V4.mjs} +4 -4
- package/dist/client/{DiscountCodeDisclosure-D-DsLCMU.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
- package/dist/client/{EventCombined.client-dWqgd5ZO.mjs → EventCombined.client-LTfR1Aby.mjs} +6 -6
- package/dist/client/{EventListing.client-BMRa9IYp.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-D21W9kBZ.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
- package/dist/client/{accordion-FxF_ta47.mjs → accordion-6HiIFxNL.mjs} +1 -1
- package/dist/client/{bookingForm-YnwW4TGw.mjs → bookingForm-Dlmid43H.mjs} +7 -7
- package/dist/client/bookings.mjs +325 -140
- package/dist/client/{carousel-vng7fFT5.mjs → carousel-DmkZRRq_.mjs} +2 -2
- package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
- package/dist/client/{cart-DEPDsjNk.mjs → cart-CIC24330.mjs} +3 -3
- package/dist/client/{checkout-CZRWu9rW.mjs → checkout-D1Zw9imo.mjs} +3 -3
- package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
- package/dist/client/client.mjs +1717 -882
- package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
- package/dist/client/{context-DvU_WUmd.mjs → context-Cy1OayHx.mjs} +6 -19
- package/dist/client/{dates-wnPMiRl5.mjs → dates-aDcfoLHr.mjs} +2 -2
- package/dist/client/{eventCalendar-BA3Q5L15.mjs → eventCalendar-FQxMPAjf.mjs} +8 -8
- package/dist/client/{eventCombined-51wgR-1R.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
- package/dist/client/{eventDetails-modaetpm.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
- package/dist/client/{eventListing-D8t2J3Kv.mjs → eventListing-B3XxBf3i.mjs} +3 -3
- package/dist/client/{eventRegistration-CYqtkCE_.mjs → eventRegistration-I6EaokFD.mjs} +500 -152
- package/dist/client/{form-CBKXN5In.mjs → form-BbWckVWY.mjs} +3 -3
- package/dist/client/{headerSection-DylDqNrs.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
- package/dist/client/hooks.mjs +445 -180
- package/dist/client/{locationMap-CvWrG0vZ.mjs → locationMap-CLCShvlG.mjs} +3 -3
- package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
- package/dist/client/{newsletterForm-Btwk70zw.mjs → newsletterForm-Briukxzi.mjs} +130 -87
- package/dist/client/{pricing-Uzw-GQ6Y.mjs → pricing-Copadu-2.mjs} +1 -1
- package/dist/client/{productDetail-JLcUYKnd.mjs → productDetail-oujlRd-r.mjs} +3 -3
- package/dist/client/{productList-FM0cbUzj.mjs → productList-BRiIRUcd.mjs} +3 -3
- package/dist/client/{propsDecoder-DYzafZb2.mjs → propsDecoder-CB2KS_ko.mjs} +130 -24
- package/dist/client/rendering/client.mjs +911 -400
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +1696 -818
- package/dist/client/{scrollToBlock-CvXszexS.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
- package/dist/client/{shop-BIcjvy5a.mjs → shop-Vn6yNFED.mjs} +6 -6
- package/dist/client/{shop-commerce-BZQsy7xw.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
- package/dist/client/{shop-commerce-store-D5V7XAb5.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
- package/dist/client/{shopShared-DowkXevB.mjs → shopShared-COIeK77T.mjs} +4 -4
- package/dist/client/{useEventFilters-oMoTw_JE.mjs → useEventFilters-DzIUcS9n.mjs} +7 -7
- package/dist/preview-next/before-render.mjs +119 -64
- package/dist/preview-next/client/runtime.mjs +4 -4
- 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-CnCLvZRv.mjs} +2 -2
- package/dist/{separator-UGtpag4Z.mjs → separator-DKDRJ1oH.mjs} +1 -1
- package/dist/server/components.mjs +787 -323
- package/dist/server/config-validation.mjs +328 -79
- package/dist/server/config.mjs +332 -83
- package/dist/server/data.mjs +441 -180
- package/dist/server/index.mjs +126 -66
- package/dist/server/next.mjs +1031 -595
- package/dist/server/page-converter.mjs +183 -74
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1068 -592
- package/dist/server/rendering.mjs +802 -324
- package/dist/server/routing.mjs +506 -214
- package/dist/server/server.mjs +468 -244
- package/dist/server/theme-bridge.mjs +433 -100
- package/dist/server/theme.mjs +8 -2
- package/dist/styles/index.css +237 -43
- 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
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts
CHANGED
|
@@ -52,6 +52,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
52
52
|
scopedEvents: RegistrationEvent[];
|
|
53
53
|
preSelectedEvent: RegistrationEvent | null;
|
|
54
54
|
hasPreSelectedContext: boolean;
|
|
55
|
+
checkoutRecovery: boolean;
|
|
56
|
+
startCheckoutRecovery: () => void;
|
|
55
57
|
step: RegistrationStep;
|
|
56
58
|
setStep: (nextStep: RegistrationStep) => void;
|
|
57
59
|
selectedEvent: RegistrationEvent | null;
|
|
@@ -127,6 +129,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
127
129
|
kind: "none";
|
|
128
130
|
}> | Readonly<{
|
|
129
131
|
kind: "booked";
|
|
132
|
+
}> | Readonly<{
|
|
133
|
+
kind: "pending_payment";
|
|
130
134
|
}> | Readonly<{
|
|
131
135
|
kind: "waitlisted";
|
|
132
136
|
}>;
|
|
@@ -148,7 +152,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
148
152
|
handlePaymentSelect: () => Promise<void>;
|
|
149
153
|
handleUseCardInsteadOfPass: () => void;
|
|
150
154
|
handleBookForSomeoneElse: () => void;
|
|
151
|
-
handleSubmit:
|
|
155
|
+
handleSubmit: import("./useEventRegistrationSubmit").EventRegistrationSubmit;
|
|
152
156
|
handleEventSelect: (event: RegistrationEvent) => void;
|
|
153
157
|
handleRetry: () => void;
|
|
154
158
|
};
|
|
@@ -174,6 +178,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
174
178
|
scopedEvents: RegistrationEvent[];
|
|
175
179
|
preSelectedEvent: RegistrationEvent | null;
|
|
176
180
|
hasPreSelectedContext: boolean;
|
|
181
|
+
checkoutRecovery: boolean;
|
|
182
|
+
startCheckoutRecovery: () => void;
|
|
177
183
|
step: RegistrationStep;
|
|
178
184
|
setStep: (nextStep: RegistrationStep) => void;
|
|
179
185
|
selectedEvent: RegistrationEvent | null;
|
|
@@ -249,6 +255,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
249
255
|
kind: "none";
|
|
250
256
|
}> | Readonly<{
|
|
251
257
|
kind: "booked";
|
|
258
|
+
}> | Readonly<{
|
|
259
|
+
kind: "pending_payment";
|
|
252
260
|
}> | Readonly<{
|
|
253
261
|
kind: "waitlisted";
|
|
254
262
|
}>;
|
|
@@ -270,7 +278,7 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
270
278
|
handlePaymentSelect: () => Promise<void>;
|
|
271
279
|
handleUseCardInsteadOfPass: () => void;
|
|
272
280
|
handleBookForSomeoneElse: () => void;
|
|
273
|
-
handleSubmit:
|
|
281
|
+
handleSubmit: import("./useEventRegistrationSubmit").EventRegistrationSubmit;
|
|
274
282
|
handleEventSelect: (event: RegistrationEvent) => void;
|
|
275
283
|
handleRetry: () => void;
|
|
276
284
|
};
|
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 {};
|
|
@@ -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;
|
|
@@ -7,6 +7,7 @@ export type NewsletterFormDisplay = Readonly<{
|
|
|
7
7
|
availability: 'ready' | 'unavailable';
|
|
8
8
|
className: string | null;
|
|
9
9
|
buttonLabel: string;
|
|
10
|
+
successMessage: string;
|
|
10
11
|
buttonVariant: NewsletterButtonVariant;
|
|
11
12
|
privacyNote: string | null;
|
|
12
13
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -51,6 +52,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
51
52
|
availability: "ready" | "unavailable";
|
|
52
53
|
className: string | null;
|
|
53
54
|
buttonLabel: string;
|
|
55
|
+
successMessage: string;
|
|
54
56
|
buttonVariant: NewsletterButtonVariant;
|
|
55
57
|
privacyNote: string | null;
|
|
56
58
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -79,6 +81,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
79
81
|
availability: "ready" | "unavailable";
|
|
80
82
|
className: string | null;
|
|
81
83
|
buttonLabel: string;
|
|
84
|
+
successMessage: string;
|
|
82
85
|
buttonVariant: NewsletterButtonVariant;
|
|
83
86
|
privacyNote: string | null;
|
|
84
87
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -101,6 +104,7 @@ export declare const newsletterFormBlockRuntime: Readonly<{
|
|
|
101
104
|
availability: "ready" | "unavailable";
|
|
102
105
|
className: string | null;
|
|
103
106
|
buttonLabel: string;
|
|
107
|
+
successMessage: string;
|
|
104
108
|
buttonVariant: NewsletterButtonVariant;
|
|
105
109
|
privacyNote: string | null;
|
|
106
110
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -135,6 +139,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
135
139
|
availability: "ready" | "unavailable";
|
|
136
140
|
className: string | null;
|
|
137
141
|
buttonLabel: string;
|
|
142
|
+
successMessage: string;
|
|
138
143
|
buttonVariant: NewsletterButtonVariant;
|
|
139
144
|
privacyNote: string | null;
|
|
140
145
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -165,6 +170,7 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
165
170
|
availability: "ready" | "unavailable";
|
|
166
171
|
className: string | null;
|
|
167
172
|
buttonLabel: string;
|
|
173
|
+
successMessage: string;
|
|
168
174
|
buttonVariant: NewsletterButtonVariant;
|
|
169
175
|
privacyNote: string | null;
|
|
170
176
|
fields: readonly NewsletterFieldDef[];
|
|
@@ -8,10 +8,6 @@ export { BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, } from
|
|
|
8
8
|
export type { DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, } from './DiscountCodeDisclosure';
|
|
9
9
|
export { ActionRow } from './ActionRow';
|
|
10
10
|
export type { ActionRowProps } from './ActionRow';
|
|
11
|
-
export { BookingOptionCompactRow } from './BookingOptionCompactRow';
|
|
12
|
-
export type { BookingOptionCompactRowAction, BookingOptionCompactRowProps, BookingOptionCompactRowViewModel, BookingOptionMetaItem, } from './BookingOptionCompactRow';
|
|
13
|
-
export { BookingOptionList } from './BookingOptionList';
|
|
14
|
-
export type { BookingOptionGroupViewModel, BookingOptionListProps, } from './BookingOptionList';
|
|
15
11
|
export { FieldValidationMessage, getFieldValidationControlProps, } from './FieldValidationMessage';
|
|
16
12
|
export type { FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, } from './FieldValidationMessage';
|
|
17
13
|
export { FeedbackMessage } from './FeedbackMessage';
|
|
@@ -24,8 +20,8 @@ export { ModalShell } from './ModalShell';
|
|
|
24
20
|
export type { ModalShellProps } from './ModalShell';
|
|
25
21
|
export { TabBarFragment } from './TabBarFragment';
|
|
26
22
|
export { TerminalPanel } from './TerminalPanel';
|
|
27
|
-
export type { TerminalPanelProps, TerminalPanelTitleElement } from './TerminalPanel';
|
|
23
|
+
export type { TerminalPanelProps, TerminalPanelTitleElement, } from './TerminalPanel';
|
|
28
24
|
export { StepIndicator } from './StepIndicator';
|
|
29
|
-
export type { StepIndicatorBaseProps, StepIndicatorProps } from './StepIndicator';
|
|
25
|
+
export type { StepIndicatorBaseProps, StepIndicatorProps, } from './StepIndicator';
|
|
30
26
|
export { RB_OPTION_CARD_CLASSES, SelectableOptionCard, } from './SelectableOptionCard';
|
|
31
27
|
export type { SelectableOptionCardProps } from './SelectableOptionCard';
|
|
@@ -8,5 +8,5 @@ export { DEFAULT_CURRENCY } from './types';
|
|
|
8
8
|
export { BOOK_TARGET_PARAMS, buildCheckoutReturnUrls, resolveDedicatedBookingHref, resolveDedicatedBookingPath, resolveDedicatedBookingTarget, formatPrice, scrollToBlock, consumeSearchParam, consumeSearchParams, validateFormData, getStepNumber, } from './utils';
|
|
9
9
|
export type { DedicatedBookingTarget, UniversalBookingRouteTarget, } from './utils';
|
|
10
10
|
export { createBodyThemePortalRoot } from './utils';
|
|
11
|
-
export { ActionRow,
|
|
12
|
-
export type { ActionRowProps, SelectableOptionCardProps,
|
|
11
|
+
export { ActionRow, CheckIcon, ClockIcon, CrossIcon, BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, RB_OPTION_CARD_CLASSES, SelectableOptionCard, StateIcon, StepIndicator, TerminalPanel, } from './components';
|
|
12
|
+
export type { ActionRowProps, SelectableOptionCardProps, DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { useBlockApi } from "../api";
|
|
2
2
|
import type { ResolveWaitlistClaimResponse } from "../api/types";
|
|
3
3
|
export declare function getWaitlistClaimTokenFromUrl(): string | null;
|
|
4
|
+
export declare function getWaitlistClaimEntryIdFromUrl(): string | null;
|
|
4
5
|
export type UseWaitlistClaimResult = {
|
|
5
6
|
token: string | null;
|
|
7
|
+
entryId: string | null;
|
|
6
8
|
claim: ResolveWaitlistClaimResponse | null;
|
|
7
9
|
error: string | null;
|
|
8
10
|
loginMessage: string | null;
|
|
@@ -8,6 +8,10 @@ export declare const eventRegistrationErrors: {
|
|
|
8
8
|
readonly message: "We’re checking your booking and payment. Please don’t try to book again yet. If you’ve already paid, you don’t need to pay again.";
|
|
9
9
|
readonly action: "payment-status";
|
|
10
10
|
};
|
|
11
|
+
readonly paymentProviderUnavailable: {
|
|
12
|
+
readonly message: "We couldn’t reach the payment provider. Please try again in a minute.";
|
|
13
|
+
readonly action: "retry";
|
|
14
|
+
};
|
|
11
15
|
readonly paymentPageUnavailable: {
|
|
12
16
|
readonly message: "We couldn’t open the payment page. Please refresh this page and try again. If this keeps happening, contact the organiser for help.";
|
|
13
17
|
readonly action: "retry";
|
|
@@ -26,8 +26,17 @@ export declare const DATED_OFFERING_ORDER_ITEM_ENGINE_METADATA_KEYS: {
|
|
|
26
26
|
readonly courseId: "courseId";
|
|
27
27
|
readonly customerId: "customerId";
|
|
28
28
|
readonly eventSeriesId: "eventSeriesId";
|
|
29
|
-
readonly
|
|
29
|
+
readonly settlementKind: "datedOfferingEngineSettlementKind";
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* How a shared whole-series registration order item was settled.
|
|
33
|
+
*
|
|
34
|
+
* A checkout item is the one that consumed a capacity hold and carries its
|
|
35
|
+
* ids; a non-cash item names its settlement outright, because there is no hold
|
|
36
|
+
* to identify it by. The registration itself is `event_series_registration_id`
|
|
37
|
+
* on the row.
|
|
38
|
+
*/
|
|
39
|
+
export type DatedOfferingOrderItemSettlementKind = 'non_cash_registration';
|
|
31
40
|
export type DatedOfferingOrderItemEngineMetadata = Readonly<{
|
|
32
41
|
datedOfferingEngineContractVersion: 'shared_v1';
|
|
33
42
|
datedOfferingEngineRouteKind: 'shared_whole_series_registration';
|
|
@@ -39,10 +48,24 @@ export type DatedOfferingOrderItemEngineMetadata = Readonly<{
|
|
|
39
48
|
export type DatedOfferingNonCashOrderItemEngineMetadata = Readonly<{
|
|
40
49
|
datedOfferingEngineContractVersion: 'shared_v1';
|
|
41
50
|
datedOfferingEngineRouteKind: 'shared_whole_series_registration';
|
|
42
|
-
|
|
51
|
+
datedOfferingEngineSettlementKind: DatedOfferingOrderItemSettlementKind;
|
|
43
52
|
customerId: CustomerId;
|
|
44
53
|
eventSeriesId: EventSeriesId;
|
|
45
54
|
}>;
|
|
55
|
+
/**
|
|
56
|
+
* What each arm forbids the other from carrying.
|
|
57
|
+
*
|
|
58
|
+
* Both arms share the same version and route literals, so without these a
|
|
59
|
+
* hybrid carrying hold identity *and* a settlement kind satisfies the union —
|
|
60
|
+
* exactly the object both parsers below reject.
|
|
61
|
+
*/
|
|
62
|
+
type NoDatedOfferingSettlementKind = Readonly<{
|
|
63
|
+
datedOfferingEngineSettlementKind?: never;
|
|
64
|
+
}>;
|
|
65
|
+
type NoDatedOfferingCapacityHold = Readonly<{
|
|
66
|
+
datedOfferingCapacityHoldId?: never;
|
|
67
|
+
datedOfferingCapacityHoldAuditRef?: never;
|
|
68
|
+
}>;
|
|
46
69
|
export type DatedOfferingOrderItemEngineMetadataParseError = Readonly<{
|
|
47
70
|
kind: 'invalid_engine_contract';
|
|
48
71
|
}> | Readonly<{
|
|
@@ -66,11 +89,11 @@ export type DatedOfferingMetadataRefParseError = Readonly<{
|
|
|
66
89
|
kind: 'invalid_uuid';
|
|
67
90
|
}>;
|
|
68
91
|
type LegacyDatedOfferingOrderItemEngineMetadata = Readonly<{
|
|
69
|
-
[TKey in keyof DatedOfferingOrderItemEngineMetadata]?: never;
|
|
92
|
+
[TKey in keyof DatedOfferingOrderItemEngineMetadata | keyof DatedOfferingNonCashOrderItemEngineMetadata]?: never;
|
|
70
93
|
}>;
|
|
71
94
|
export type EventSeriesRegistrationEngineMetadata = (LegacyDatedOfferingOrderItemEngineMetadata & Readonly<{
|
|
72
95
|
courseId: RetiredCourseId;
|
|
73
|
-
}>) | DatedOfferingOrderItemEngineMetadata | DatedOfferingNonCashOrderItemEngineMetadata;
|
|
96
|
+
}>) | (DatedOfferingOrderItemEngineMetadata & NoDatedOfferingSettlementKind) | (DatedOfferingNonCashOrderItemEngineMetadata & NoDatedOfferingCapacityHold);
|
|
74
97
|
export type EventTicketOrderItemMetadata = CheckoutLineMetadata & StripeBookingCommissionOrderItemMetadata & BookableOrderItemPricingMetadata & Readonly<{
|
|
75
98
|
eventSeriesId: string;
|
|
76
99
|
occurrenceId: OccurrenceId;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ContentEntrySnapshot, type ContentTypeSchema, type ToolbarState } from '../../../content-model/src/index';
|
|
2
|
-
import type { EditorBlockId } from '../../../core/src/index';
|
|
2
|
+
import type { EditorBlockId, MailingListProviderScope } from '../../../core/src/index';
|
|
3
3
|
import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
|
|
4
4
|
import { type ReactNode } from 'react';
|
|
5
5
|
import { type PublishOptions } from '../hooks/useEntryActions';
|
|
@@ -90,6 +90,7 @@ type BaseInternalProps = {
|
|
|
90
90
|
onEntryUpdated?: (response: unknown) => void;
|
|
91
91
|
historyShortcutsEnabled?: boolean;
|
|
92
92
|
resolveBlockManifest?: ResolveBlockManifest;
|
|
93
|
+
getExpectedMailingListProviderScope?: () => MailingListProviderScope | null;
|
|
93
94
|
};
|
|
94
95
|
type EditorOwnerServiceProps = Readonly<{
|
|
95
96
|
owner: {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type MailingListProviderScope } from '../../../core/src/index';
|
|
1
2
|
import type { ApiClient } from '../services';
|
|
2
3
|
import type { EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
3
4
|
export type BlockAutosaveOptions = {
|
|
@@ -10,6 +11,7 @@ export type BlockAutosaveOptions = {
|
|
|
10
11
|
/** Whether this entry has a route (pages have blocks, content entries don't) */
|
|
11
12
|
hasRoute: boolean;
|
|
12
13
|
owner: BlockAutosaveOwner;
|
|
14
|
+
getExpectedMailingListProviderScope?: () => MailingListProviderScope | null;
|
|
13
15
|
};
|
|
14
16
|
export type BlockAutosaveOwner = Readonly<{
|
|
15
17
|
kind: 'contentEntry';
|
|
@@ -32,4 +34,4 @@ export declare function planBlockSaveRevisionForOwner(owner: BlockAutosaveOwner,
|
|
|
32
34
|
*
|
|
33
35
|
* Only enabled for pages (hasRoute=true), as content entries don't have blocks.
|
|
34
36
|
*/
|
|
35
|
-
export declare function useBlockAutosave({ uiStore, apiClient, siteId, hasRoute, owner, }: BlockAutosaveOptions): import("./useSimpleAutosave").AutosaveHandle;
|
|
37
|
+
export declare function useBlockAutosave({ uiStore, apiClient, siteId, hasRoute, owner, getExpectedMailingListProviderScope, }: BlockAutosaveOptions): import("./useSimpleAutosave").AutosaveHandle;
|
|
@@ -33,6 +33,9 @@ export declare function useFooterComposerState({ apiClient, canEdit, initialTarg
|
|
|
33
33
|
engagementOptions: Readonly<{
|
|
34
34
|
forms: readonly import("../../api/src/footerSettings").FooterFormSummary[];
|
|
35
35
|
mailingList: import("../../core/src/index").MailingListRuntimeContext;
|
|
36
|
+
expectedMailingListProviderScope: import("../../core/src/index").MailingListProviderScope | null;
|
|
37
|
+
confirmation: import("../../core/src/index").ConfiguredMailingListProvider["confirmation"] | null;
|
|
38
|
+
canManageMailingListSetup: boolean;
|
|
36
39
|
}> | null;
|
|
37
40
|
load: () => Promise<void>;
|
|
38
41
|
loadError: string | null;
|
|
@@ -60,7 +60,6 @@ export type BookingSessionId = Brand<string, 'BookingSessionId'>;
|
|
|
60
60
|
export type DatedOfferingCapacityHoldId = Brand<string, 'DatedOfferingCapacityHoldId'>;
|
|
61
61
|
export type DatedOfferingCapacityHoldAuditRef = Brand<string, 'DatedOfferingCapacityHoldAuditRef'>;
|
|
62
62
|
export type DatedOfferingRevocationAuditEventId = Brand<string, 'DatedOfferingRevocationAuditEventId'>;
|
|
63
|
-
export type DatedOfferingNonCashProjectionClaimToken = Brand<string, 'DatedOfferingNonCashProjectionClaimToken'>;
|
|
64
63
|
export type DatedOfferingWaitlistCapacityEffectId = Brand<string, 'DatedOfferingWaitlistCapacityEffectId'>;
|
|
65
64
|
export type DatedOfferingWaitlistCapacityEffectClaimToken = Brand<string, 'DatedOfferingWaitlistCapacityEffectClaimToken'>;
|
|
66
65
|
export type DatedOfferingRunCancellationOperationId = Brand<string, 'DatedOfferingRunCancellationOperationId'>;
|
|
@@ -99,7 +98,6 @@ export type EventRegistrationCommandId = Brand<string, 'EventRegistrationCommand
|
|
|
99
98
|
* is meant.
|
|
100
99
|
*/
|
|
101
100
|
export type EventRegistrationCommandRowId = Brand<string, 'EventRegistrationCommandRowId'>;
|
|
102
|
-
export type EventRegistrationProjectionClaimToken = Brand<string, 'EventRegistrationProjectionClaimToken'>;
|
|
103
101
|
export type CustomerPassId = Brand<string, 'CustomerPassId'>;
|
|
104
102
|
export type CustomerMembershipId = Brand<string, 'CustomerMembershipId'>;
|
|
105
103
|
export type AppointmentId = Brand<string, 'AppointmentId'>;
|
|
@@ -146,7 +144,6 @@ export type ParticipantId = Brand<string, 'ParticipantId'>;
|
|
|
146
144
|
export type ParticipantParticipationId = Brand<string, 'ParticipantParticipationId'>;
|
|
147
145
|
export type ParticipantRosterAssertionJobId = Brand<string, 'ParticipantRosterAssertionJobId'>;
|
|
148
146
|
export type ParticipantBookingQuestionsTaskId = Brand<string, 'ParticipantBookingQuestionsTaskId'>;
|
|
149
|
-
export type EventAttendeeGuestId = Brand<string, 'EventAttendeeGuestId'>;
|
|
150
147
|
export type PersonRecordId = Brand<string, 'PersonRecordId'>;
|
|
151
148
|
export type EncounterRecordId = Brand<string, 'EncounterRecordId'>;
|
|
152
149
|
export type RecordEntryId = Brand<string, 'RecordEntryId'>;
|
|
@@ -212,7 +209,6 @@ export declare const unsafeAsBookingSessionId: (id: string) => BookingSessionId;
|
|
|
212
209
|
export declare const unsafeAsDatedOfferingCapacityHoldId: (value: string) => DatedOfferingCapacityHoldId;
|
|
213
210
|
export declare const unsafeAsDatedOfferingCapacityHoldAuditRef: (value: string) => DatedOfferingCapacityHoldAuditRef;
|
|
214
211
|
export declare const unsafeAsDatedOfferingRevocationAuditEventId: (value: string) => DatedOfferingRevocationAuditEventId;
|
|
215
|
-
export declare const unsafeAsDatedOfferingNonCashProjectionClaimToken: (value: string) => DatedOfferingNonCashProjectionClaimToken;
|
|
216
212
|
export declare const unsafeAsDatedOfferingWaitlistCapacityEffectId: (value: string) => DatedOfferingWaitlistCapacityEffectId;
|
|
217
213
|
export declare const unsafeAsDatedOfferingWaitlistCapacityEffectClaimToken: (value: string) => DatedOfferingWaitlistCapacityEffectClaimToken;
|
|
218
214
|
export declare const unsafeAsDatedOfferingRunCancellationOperationId: (value: string) => DatedOfferingRunCancellationOperationId;
|
|
@@ -236,7 +232,6 @@ export declare const unsafeAsCheckoutLineId: (id: string) => CheckoutLineId;
|
|
|
236
232
|
export declare const unsafeAsAttendeeId: (id: string) => AttendeeId;
|
|
237
233
|
export declare const unsafeAsEventRegistrationCommandId: (id: string) => EventRegistrationCommandId;
|
|
238
234
|
export declare const unsafeAsEventRegistrationCommandRowId: (id: string) => EventRegistrationCommandRowId;
|
|
239
|
-
export declare const unsafeAsEventRegistrationProjectionClaimToken: (id: string) => EventRegistrationProjectionClaimToken;
|
|
240
235
|
export declare const unsafeAsCustomerPassId: (id: string) => CustomerPassId;
|
|
241
236
|
export declare const unsafeAsCustomerMembershipId: (id: string) => CustomerMembershipId;
|
|
242
237
|
export declare const unsafeAsAppointmentId: (id: string) => AppointmentId;
|
|
@@ -282,7 +277,6 @@ export declare const unsafeAsParticipantId: (id: string) => ParticipantId;
|
|
|
282
277
|
export declare const unsafeAsParticipantParticipationId: (id: string) => ParticipantParticipationId;
|
|
283
278
|
export declare const unsafeAsParticipantRosterAssertionJobId: (id: string) => ParticipantRosterAssertionJobId;
|
|
284
279
|
export declare const unsafeAsParticipantBookingQuestionsTaskId: (id: string) => ParticipantBookingQuestionsTaskId;
|
|
285
|
-
export declare const unsafeAsEventAttendeeGuestId: (id: string) => EventAttendeeGuestId;
|
|
286
280
|
export declare const unsafeAsPersonRecordId: (id: string) => PersonRecordId;
|
|
287
281
|
export declare const unsafeAsEncounterRecordId: (id: string) => EncounterRecordId;
|
|
288
282
|
export declare const unsafeAsRecordEntryId: (id: string) => RecordEntryId;
|
|
@@ -318,11 +312,9 @@ export declare const parseAppointmentReservationRunId: (value: unknown) => Resul
|
|
|
318
312
|
export declare const parseAttendeeId: (value: unknown) => Result<AttendeeId, BrandedIdParseError>;
|
|
319
313
|
export declare const parseEventRegistrationCommandId: (value: unknown) => Result<EventRegistrationCommandId, BrandedIdParseError>;
|
|
320
314
|
export declare const parseEventRegistrationCommandRowId: (value: unknown) => Result<EventRegistrationCommandRowId, BrandedIdParseError>;
|
|
321
|
-
export declare const parseEventRegistrationProjectionClaimToken: (value: unknown) => Result<EventRegistrationProjectionClaimToken, BrandedIdParseError>;
|
|
322
315
|
export declare const parseDatedOfferingCapacityHoldId: (value: unknown) => Result<DatedOfferingCapacityHoldId, BrandedIdParseError>;
|
|
323
316
|
export declare const parseDatedOfferingCapacityHoldAuditRef: (value: unknown) => Result<DatedOfferingCapacityHoldAuditRef, BrandedIdParseError>;
|
|
324
317
|
export declare const parseDatedOfferingRevocationAuditEventId: (value: unknown) => Result<DatedOfferingRevocationAuditEventId, BrandedIdParseError>;
|
|
325
|
-
export declare const parseDatedOfferingNonCashProjectionClaimToken: (value: unknown) => Result<DatedOfferingNonCashProjectionClaimToken, BrandedIdParseError>;
|
|
326
318
|
export declare const parseDatedOfferingWaitlistCapacityEffectId: (value: unknown) => Result<DatedOfferingWaitlistCapacityEffectId, BrandedIdParseError>;
|
|
327
319
|
export declare const parseDatedOfferingWaitlistCapacityEffectClaimToken: (value: unknown) => Result<DatedOfferingWaitlistCapacityEffectClaimToken, BrandedIdParseError>;
|
|
328
320
|
export declare const parseDatedOfferingRunCancellationOperationId: (value: unknown) => Result<DatedOfferingRunCancellationOperationId, BrandedIdParseError>;
|
|
@@ -35,6 +35,7 @@ export * from './participants';
|
|
|
35
35
|
export * from './participant-identity';
|
|
36
36
|
export * from './public-url-validation';
|
|
37
37
|
export * from './public-profile';
|
|
38
|
+
export * from './public-experience';
|
|
38
39
|
export * from './rich-text';
|
|
39
40
|
export * from './footer-composition';
|
|
40
41
|
export * from './footer-navigation-layout';
|
|
@@ -6,7 +6,7 @@ export type MailingListSetupParseError = Readonly<{
|
|
|
6
6
|
}>;
|
|
7
7
|
export type MailingListGlobalFormParseError = Readonly<{
|
|
8
8
|
tag: 'invalid_mailing_list_global_form';
|
|
9
|
-
field: 'shape' | 'fields' | 'includeOptionalPhone' | 'buttonLabel' | 'privacyNote';
|
|
9
|
+
field: 'shape' | 'fields' | 'includeOptionalPhone' | 'buttonLabel' | 'successMessage' | 'privacyNote';
|
|
10
10
|
}>;
|
|
11
11
|
export declare function parseMailingListGlobalForm(value: unknown): Result<MailingListGlobalForm, MailingListGlobalFormParseError>;
|
|
12
12
|
export declare function parseMailingListSiteSetup(value: unknown): Result<MailingListSiteSetup, MailingListSetupParseError>;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { Brand, SiteId } from './branded';
|
|
2
|
-
import type
|
|
2
|
+
import { type BrevoAccountId, type BrevoConfirmationTemplateId, type BrevoConnectionId, type BrevoListId, type MailchimpAccountId, type MailchimpAudienceId, type MailchimpConnectionId, type NewsletterListId } from './mailing-list-identifiers';
|
|
3
|
+
import { type Result } from './result';
|
|
3
4
|
export type MailingListProvider = 'native' | 'mailchimp' | 'brevo';
|
|
5
|
+
/** The name shown to people for each provider; the native one is the product brand. */
|
|
6
|
+
export declare function mailingListProviderName(provider: MailingListProvider): string;
|
|
4
7
|
export type NativeMailingListTopicId = NewsletterListId;
|
|
5
8
|
export type MailingListSetupRevision = Brand<number, 'MailingListSetupRevision'>;
|
|
6
9
|
export type MailingListProfileField = 'name' | 'first_name' | 'last_name' | 'company' | 'phone';
|
|
@@ -22,8 +25,15 @@ export type MailingListGlobalForm = Readonly<{
|
|
|
22
25
|
fields: MailingListGlobalFields;
|
|
23
26
|
includeOptionalPhone: boolean;
|
|
24
27
|
buttonLabel: string;
|
|
28
|
+
successMessage: string;
|
|
25
29
|
privacyNote: string | null;
|
|
26
30
|
}>;
|
|
31
|
+
export declare const DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks \u2014 you're on the list.";
|
|
32
|
+
/**
|
|
33
|
+
* Seeded into a new setup so every signup form carries a preferences/unsubscribe
|
|
34
|
+
* reassurance out of the box. Administrators can edit or clear it.
|
|
35
|
+
*/
|
|
36
|
+
export declare const DEFAULT_MAILING_LIST_PRIVACY_NOTE = "Change your preferences or unsubscribe at any time.";
|
|
27
37
|
export type ToggleConfirmation = Readonly<{
|
|
28
38
|
tag: 'off';
|
|
29
39
|
}> | Readonly<{
|
|
@@ -126,4 +136,7 @@ export type MailingListProviderScope = Readonly<{
|
|
|
126
136
|
provider: 'brevo';
|
|
127
137
|
accountId: BrevoAccountId;
|
|
128
138
|
}>;
|
|
139
|
+
export declare function mailingListProviderScopeFromConfigured(provider: ConfiguredMailingListProvider): MailingListProviderScope;
|
|
140
|
+
export declare function parseMailingListProviderScope(value: unknown): Result<MailingListProviderScope, 'invalid_mailing_list_provider_scope'>;
|
|
141
|
+
export declare function sameMailingListProviderScope(previous: MailingListProviderScope, next: MailingListProviderScope): boolean;
|
|
129
142
|
export declare function countDefaultMailingListPlacements(placementModes: readonly ('default' | 'custom')[]): number;
|
|
@@ -34,23 +34,22 @@ export type MailingListSignupSource = Readonly<{
|
|
|
34
34
|
export type MailingListSignupSourceRef = Readonly<{
|
|
35
35
|
tag: 'block_ref';
|
|
36
36
|
blockId: MailingListBlockId;
|
|
37
|
+
contentVersionId: ContentVersionId;
|
|
37
38
|
}> | Readonly<{
|
|
38
39
|
tag: 'signed_source_ref';
|
|
39
40
|
token: MailingListSignedSourceToken;
|
|
40
41
|
}>;
|
|
41
42
|
/** Source identity signed into managed-footer and SDK-footer form tokens. */
|
|
42
43
|
export type MailingListSignupTokenSource = Readonly<{
|
|
43
|
-
kind: 'block';
|
|
44
|
-
blockId: MailingListBlockId;
|
|
45
|
-
}> | Readonly<{
|
|
46
44
|
kind: 'footer-composition';
|
|
47
45
|
sectionId: FooterModuleId;
|
|
46
|
+
revision: MailingListFooterRevision;
|
|
48
47
|
}> | Readonly<{
|
|
49
48
|
kind: 'sdk-footer-block';
|
|
50
49
|
blockId: MailingListSdkFooterBlockId;
|
|
51
50
|
contentHash: MailingListSdkContentHash;
|
|
52
51
|
}>;
|
|
53
|
-
export declare function buildMailingListSignupBlockSourceRef(blockId: unknown): MailingListSignupSourceRef | null;
|
|
52
|
+
export declare function buildMailingListSignupBlockSourceRef(blockId: unknown, contentVersionId: unknown): MailingListSignupSourceRef | null;
|
|
54
53
|
type MailingListSignupProfileBase = Readonly<{
|
|
55
54
|
email: NormalizedSubscriberEmail;
|
|
56
55
|
phone: Readonly<{
|
|
@@ -108,27 +107,6 @@ type ResolvedMailingListSignupIntentBase = Readonly<{
|
|
|
108
107
|
source: MailingListSignupSource;
|
|
109
108
|
consentedAt: string;
|
|
110
109
|
}>;
|
|
111
|
-
type ResolvedMailingListFormProfile = Readonly<{
|
|
112
|
-
formPreset: 'emailOnly';
|
|
113
|
-
profile: Extract<MailingListSignupProfile, {
|
|
114
|
-
preset: 'emailOnly';
|
|
115
|
-
}>;
|
|
116
|
-
}> | Readonly<{
|
|
117
|
-
formPreset: 'emailName';
|
|
118
|
-
profile: Extract<MailingListSignupProfile, {
|
|
119
|
-
preset: 'emailName';
|
|
120
|
-
}>;
|
|
121
|
-
}> | Readonly<{
|
|
122
|
-
formPreset: 'emailFirstLast';
|
|
123
|
-
profile: Extract<MailingListSignupProfile, {
|
|
124
|
-
preset: 'emailFirstLast';
|
|
125
|
-
}>;
|
|
126
|
-
}> | Readonly<{
|
|
127
|
-
formPreset: 'emailNameCompany';
|
|
128
|
-
profile: Extract<MailingListSignupProfile, {
|
|
129
|
-
preset: 'emailNameCompany';
|
|
130
|
-
}>;
|
|
131
|
-
}>;
|
|
132
110
|
type ResolvedMailingListProviderIntent = Readonly<{
|
|
133
111
|
provider: 'native';
|
|
134
112
|
target: Extract<ResolvedMailingListTarget, {
|
|
@@ -150,7 +128,9 @@ type ResolvedMailingListProviderIntent = Readonly<{
|
|
|
150
128
|
}>;
|
|
151
129
|
confirmation: BrevoConfirmation;
|
|
152
130
|
}>;
|
|
153
|
-
export type ResolvedMailingListSignupIntent = ResolvedMailingListSignupIntentBase &
|
|
131
|
+
export type ResolvedMailingListSignupIntent = ResolvedMailingListSignupIntentBase & Readonly<{
|
|
132
|
+
profile: MailingListSignupProfile;
|
|
133
|
+
}> & ResolvedMailingListProviderIntent;
|
|
154
134
|
export type MailingListProviderAcknowledgement = Readonly<{
|
|
155
135
|
tag: 'subscribed';
|
|
156
136
|
}> | Readonly<{
|
|
@@ -199,7 +179,7 @@ export type MailingListPublicSignupResponse = Readonly<{
|
|
|
199
179
|
reason: 'profile_rejected';
|
|
200
180
|
}> | Readonly<{
|
|
201
181
|
tag: 'unavailable';
|
|
202
|
-
reason: 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | '
|
|
182
|
+
reason: 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | 'rate_limited' | 'temporarily_unavailable';
|
|
203
183
|
}> | Readonly<{
|
|
204
184
|
tag: 'uncertain';
|
|
205
185
|
reason: 'deadline_exceeded' | 'network_interrupted';
|