@riverbankcms/sdk 0.127.0 → 0.129.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 +33 -0
- package/dist/{PreviewEditorSidebar-BXtfF7tp.mjs → PreviewEditorSidebar-B43CJ0g_.mjs} +9 -33
- package/dist/{PreviewEditorUI-Dou73Q0K.mjs → PreviewEditorUI-DHirVkeM.mjs} +3 -3
- package/dist/{PreviewQueryProvider-DgFDIwvK.mjs → PreviewQueryProvider-B1kbhaJD.mjs} +1 -1
- package/dist/SdkPreviewModeRuntime-BJumZy1B.mjs +11209 -0
- package/dist/{SiteChromeCustomizeContext-DZiDBAYu.mjs → SiteChromeCustomizeContext-D9SlpwEj.mjs} +31757 -1621
- package/dist/_dts/ai/src/contracts/proposals.d.ts +288 -36
- package/dist/_dts/api/src/bookingClosures.d.ts +19 -3
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -3
- package/dist/_dts/api/src/bookingRecords.d.ts +0 -13
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/communications.d.ts +2 -1
- package/dist/_dts/api/src/contactFormSummary.d.ts +15 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +2 -5
- package/dist/_dts/api/src/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/footerSettings.d.ts +11 -0
- package/dist/_dts/api/src/index.d.ts +2 -1
- package/dist/_dts/api/src/occurrenceScheduling.d.ts +48 -0
- package/dist/_dts/api/src/participantMessaging.d.ts +5 -3
- package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +7 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +7 -5
- package/dist/_dts/api/src/siteOperations.d.ts +12 -3
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +3 -2
- package/dist/_dts/blocks/src/PageRenderer.d.ts +20 -10
- package/dist/_dts/blocks/src/client/form.d.ts +1 -0
- package/dist/_dts/blocks/src/client/newsletter-form.d.ts +1 -0
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -0
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -8
- package/dist/_dts/blocks/src/index.d.ts +2 -1
- package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +30 -0
- package/dist/_dts/blocks/src/pageRenderingMode.d.ts +37 -0
- package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
- package/dist/_dts/blocks/src/server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +41 -0
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +14 -23
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +109 -23
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +42 -108
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -54
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +26 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +29 -78
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -6
- package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +27 -8
- package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +21 -0
- package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +3 -1
- package/dist/_dts/content-editor/src/FooterEngagementEditorFields.d.ts +31 -0
- package/dist/_dts/content-editor/src/FooterEngagementEditorPanel.d.ts +17 -0
- package/dist/_dts/content-editor/src/footerComposer.d.ts +3 -0
- package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +57 -0
- package/dist/_dts/content-editor/src/footerEngagementEditor.d.ts +11 -0
- package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +13 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +35 -0
- package/dist/_dts/core/src/footer-arrangement.d.ts +2 -0
- package/dist/_dts/core/src/footer-composition-types.d.ts +118 -0
- package/dist/_dts/core/src/footer-composition.d.ts +7 -116
- package/dist/_dts/core/src/footer-engagement.d.ts +30 -0
- package/dist/_dts/core/src/index.d.ts +4 -0
- package/dist/_dts/core/src/newsletter-signup-destination.d.ts +38 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +73 -6
- package/dist/_dts/db/src/index.d.ts +1 -0
- package/dist/_dts/db/src/schemas/forms.d.ts +72 -2
- package/dist/_dts/db/src/schemas/standard-contact.d.ts +114 -0
- package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/blocks/previewBatchLoaderParams.d.ts +6 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +47 -47
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -4
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +19 -7
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +30 -23
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -5
- package/dist/_dts/preview-next/src/client/preview/themeRuntime.d.ts +9 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewMode.d.ts +21 -6
- package/dist/_dts/preview-next/src/client/sdk-runtime.d.ts +8 -8
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +6 -5
- package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +9 -0
- package/dist/_dts/sdk/src/cli/content/footerFile.d.ts +10 -0
- package/dist/_dts/sdk/src/cli/content/reader.d.ts +3 -5
- package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +15 -3
- package/dist/_dts/sdk/src/client/combineAbortSignals.d.ts +2 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -15
- package/dist/_dts/sdk/src/client/types.d.ts +10 -2
- package/dist/_dts/sdk/src/client/wholeSeriesReadOperations.d.ts +11 -0
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/event-registration-content.d.ts +16 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -15
- package/dist/_dts/sdk/src/next/catch-all.d.ts +6 -0
- package/dist/_dts/sdk/src/next/index.d.ts +2 -1
- package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +33 -0
- package/dist/_dts/sdk/src/next/types.d.ts +23 -9
- package/dist/_dts/sdk/src/preview-next/before-render.d.ts +4 -6
- package/dist/_dts/sdk/src/preview-next/client/index.d.ts +3 -3
- package/dist/_dts/sdk/src/preview-next/client/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -18
- package/dist/_dts/sdk/src/public-api/teamMemberContracts.d.ts +17 -0
- package/dist/_dts/sdk/src/public-api/wholeSeriesContracts.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +32 -3
- package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +13 -2
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +31 -18
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +20 -9
- package/dist/_dts/sdk/src/rendering/index.d.ts +8 -4
- package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +8 -2
- package/dist/_dts/sdk/src/rendering/renderingMode.d.ts +23 -0
- package/dist/_dts/sdk/src/rendering/server.d.ts +5 -3
- package/dist/_dts/sdk/src/rendering/themeRuntime.d.ts +6 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commandContract.d.ts +8 -1
- package/dist/_dts/site-commands/src/commands.d.ts +16 -2
- package/dist/_dts/theme-core/src/header/paintTargets.d.ts +10 -4
- package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +2 -3
- package/dist/cli/index.mjs +5535 -4835
- package/dist/cli/init-docs/content/workflow-preview-mode.md +24 -11
- package/dist/client/{courseRegistration-DTEYWL6Z.mjs → CourseRegistrationWizard-xRmA7REV.mjs} +329 -49
- package/dist/client/{DiscountCodeDisclosure-BDFRp8Y7.mjs → DiscountCodeDisclosure-B9vriL5C.mjs} +1 -1
- package/dist/client/{EventCombined.client-DJgF1_lf.mjs → EventCombined.client-BgVnVTlz.mjs} +2 -2
- package/dist/client/{EventListing.client-CnWGNjOr.mjs → EventListing.client-CqdsO7jO.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BISs9Bl7.mjs → LeafletStaticMap-CKPxot9M.mjs} +1 -1
- package/dist/client/{StepIndicator-D8gVYkK-.mjs → StepIndicator-DGCYuBJ1.mjs} +2 -2
- package/dist/client/{accordion-DFDajgDz.mjs → accordion-BfN5Eqd-.mjs} +1 -1
- package/dist/client/{bookingForm-Bdqj9-52.mjs → bookingForm-DOvCpBFP.mjs} +5 -5
- package/dist/client/{carousel-Cvqf-kN8.mjs → carousel-DPNmiH0f.mjs} +1 -1
- package/dist/client/{cart-CuH2TJXP.mjs → cart--egVXlrR.mjs} +3 -3
- package/dist/client/{checkout-CMNPpejZ.mjs → checkout-DywWtMcq.mjs} +3 -3
- package/dist/client/client.mjs +5324 -4942
- package/dist/client/courseRegistration-Dk9qFVwt.mjs +46 -0
- package/dist/client/{eventCalendar-BW-XoxZ0.mjs → eventCalendar-Bkz2HjlS.mjs} +4 -4
- package/dist/client/{eventCombined-Bpn7s0y9.mjs → eventCombined-D4kipYWg.mjs} +2 -2
- package/dist/client/{eventDetails-D2uUSTMH.mjs → eventDetails-Dz_5ix2Q.mjs} +56 -35
- package/dist/client/{eventListing-CVr1c094.mjs → eventListing-D0vm-zST.mjs} +2 -2
- package/dist/client/{eventRegistration-Dv4AvkMw.mjs → eventRegistration-Cw1E4Q4p.mjs} +58 -6
- package/dist/client/{form-DxdKf9fs.mjs → form-C2Zf1n3K.mjs} +1 -1
- package/dist/client/{headerSection-BaXI5Sro.mjs → headerSection-CP05gzdc.mjs} +2 -2
- package/dist/client/hooks.mjs +212 -61
- package/dist/client/{locationMap-BEtW2fKz.mjs → locationMap-Cl3x9PYJ.mjs} +2 -2
- package/dist/client/{newsletterForm-BKKs0S4R.mjs → newsletterForm-DyEJoClm.mjs} +26 -20
- package/dist/client/{pricing-ClkqcElA.mjs → pricing-DGuNR1W4.mjs} +1 -1
- package/dist/client/{productDetail-H-ru8dyy.mjs → productDetail-Cq-HrGew.mjs} +3 -3
- package/dist/client/{productList-Buyi5c0C.mjs → productList-DbB3jwqd.mjs} +3 -3
- package/dist/client/{propsDecoder-BF7i6Ijg.mjs → propsDecoder-CiTuhUwY.mjs} +130 -87
- package/dist/client/rendering/client.mjs +416 -208
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +6026 -5596
- package/dist/client/{scrollToBlock-D_7t8yWb.mjs → scrollToBlock-CShkRqab.mjs} +1 -1
- package/dist/client/{shop-CF7SZQNX.mjs → shop-Cu4Ib-ZA.mjs} +5 -5
- package/dist/client/{shop-commerce-DA7_Rq5p.mjs → shop-commerce-BzpsOdh7.mjs} +4 -4
- package/dist/client/{shop-commerce-store-BmLqW7Gh.mjs → shop-commerce-store-DaE7Fhj8.mjs} +1 -1
- package/dist/client/{shopShared-WL-E1znM.mjs → shopShared-cF0c20vB.mjs} +2 -2
- package/dist/client/{useEventFilters-rc8VLeLV.mjs → useEventFilters-QZ3HMgaJ.mjs} +2 -2
- package/dist/client/{usePolling-1ncrfd4S.mjs → usePolling-BKf0GcE-.mjs} +2 -2
- package/dist/preview-next/before-render.mjs +11 -4
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/middleware.mjs +1 -1
- package/dist/{previewAuthStore-Dev9CdG9.mjs → previewAuthStore-BesgU5Xu.mjs} +1 -1
- package/dist/{sdk-runtime-BnrCCFJq.mjs → sdk-runtime-CfZd5pAm.mjs} +2 -2
- package/dist/{separator-CFvBx2yl.mjs → separator-DkTe68HE.mjs} +1 -1
- package/dist/server/components.mjs +950 -639
- package/dist/server/config-validation.mjs +209 -61
- package/dist/server/config.mjs +209 -61
- package/dist/server/data.mjs +212 -61
- package/dist/server/index.mjs +40 -16
- package/dist/server/next.mjs +1181 -835
- package/dist/server/page-converter.mjs +211 -64
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +974 -637
- package/dist/server/rendering.mjs +980 -644
- package/dist/server/routing.mjs +254 -80
- package/dist/server/server.mjs +252 -77
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-B0HPXr-l.mjs +0 -39546
- package/dist/client/MagicLinkForm-b5E_HoG9.mjs +0 -327
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Theme } from '../../theme-core/src/schema';
|
|
2
|
+
import type { ThemeTokens } from './system/theme';
|
|
3
|
+
export declare class MissingBlockOverrideError extends Error {
|
|
4
|
+
readonly blockKind: string;
|
|
5
|
+
readonly code = "missing_block_override";
|
|
6
|
+
constructor(blockKind: string);
|
|
7
|
+
}
|
|
8
|
+
export type PageThemeResources = Readonly<{
|
|
9
|
+
kind: 'available';
|
|
10
|
+
tokens: ThemeTokens;
|
|
11
|
+
config: Theme;
|
|
12
|
+
}> | Readonly<{
|
|
13
|
+
kind: 'unavailable';
|
|
14
|
+
}>;
|
|
15
|
+
type ThemedResourceInput = Readonly<{
|
|
16
|
+
rendering?: never;
|
|
17
|
+
theme: Theme;
|
|
18
|
+
themeTokens?: ThemeTokens;
|
|
19
|
+
}>;
|
|
20
|
+
type OverrideOnlyResourceInput = Readonly<{
|
|
21
|
+
rendering: {
|
|
22
|
+
kind: 'overrides-only';
|
|
23
|
+
};
|
|
24
|
+
theme?: never;
|
|
25
|
+
themeTokens?: never;
|
|
26
|
+
}>;
|
|
27
|
+
type ThemeResourceInput = ThemedResourceInput | OverrideOnlyResourceInput;
|
|
28
|
+
export declare function resolvePageThemeResources(props: ThemeResourceInput): PageThemeResources;
|
|
29
|
+
export declare function requireBlockOverride(resources: PageThemeResources, override: unknown, blockKind: string): void;
|
|
30
|
+
export declare function overrideThemeProps(resources: PageThemeResources): Readonly<{
|
|
31
|
+
theme?: ThemeTokens;
|
|
32
|
+
themeConfig?: Theme;
|
|
33
|
+
}>;
|
|
34
|
+
export declare function requireThemeResources(resources: PageThemeResources, blockKind: string): Extract<PageThemeResources, {
|
|
35
|
+
kind: 'available';
|
|
36
|
+
}>;
|
|
37
|
+
export {};
|
|
@@ -4,5 +4,5 @@ export { makeDefaultBlockComponent, renderBlock } from '../system/componentFacto
|
|
|
4
4
|
export { getDefaultComponentRegistry } from '../system/runtime/components';
|
|
5
5
|
export { siteHeaderManifest } from '../system/blocks/site-header';
|
|
6
6
|
export { siteFooterManifest } from '../system/blocks/site-footer';
|
|
7
|
-
export { buildFooterRuntimeViewModel, type FooterRuntimeModule, type FooterRuntimeViewModel, } from '../system/blocks/site-footer-runtime';
|
|
7
|
+
export { buildFooterRuntimeViewModel, type FooterRuntimeModule, type FooterResolvedEngagement, type FooterRuntimeEngagement, type FooterRuntimeViewModel, } from '../system/blocks/site-footer-runtime';
|
|
8
8
|
export { resolveFooterRenderPlan } from '../../../theme-core/src/footer/mode';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as PageRenderer } from './PageRenderer';
|
|
1
|
+
export { default as PageRenderer, MissingBlockOverrideError, } from './PageRenderer';
|
|
2
2
|
export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, PageBlockPosition, PageRuntimeBoundary, SdkConfigForRenderer, } from './PageRenderer';
|
|
3
3
|
export * from './subroutes';
|
|
4
4
|
export { ThemeScope } from '../../theme-core/src/ThemeScope';
|
|
@@ -83,6 +83,26 @@ export declare const eventRegistrationManifest: import("..").DefinedBlockManifes
|
|
|
83
83
|
readonly ui: {
|
|
84
84
|
readonly intent: "display";
|
|
85
85
|
};
|
|
86
|
+
}, {
|
|
87
|
+
readonly id: "showSessions";
|
|
88
|
+
readonly type: "boolean";
|
|
89
|
+
readonly label: "Show complete schedule";
|
|
90
|
+
readonly description: "Display every session for whole-series registrations";
|
|
91
|
+
readonly required: false;
|
|
92
|
+
readonly defaultValue: true;
|
|
93
|
+
readonly ui: {
|
|
94
|
+
readonly intent: "display";
|
|
95
|
+
};
|
|
96
|
+
}, {
|
|
97
|
+
readonly id: "showPrice";
|
|
98
|
+
readonly type: "boolean";
|
|
99
|
+
readonly label: "Show price";
|
|
100
|
+
readonly description: "Display the whole-series price";
|
|
101
|
+
readonly required: false;
|
|
102
|
+
readonly defaultValue: true;
|
|
103
|
+
readonly ui: {
|
|
104
|
+
readonly intent: "display";
|
|
105
|
+
};
|
|
86
106
|
}, {
|
|
87
107
|
readonly id: "successMessage";
|
|
88
108
|
readonly type: "text";
|
|
@@ -92,6 +112,24 @@ export declare const eventRegistrationManifest: import("..").DefinedBlockManifes
|
|
|
92
112
|
readonly multiline: true;
|
|
93
113
|
readonly defaultValue: "Thank you for registering! Check your email for confirmation details.";
|
|
94
114
|
readonly maxLength: 500;
|
|
115
|
+
}, {
|
|
116
|
+
readonly id: "waitlistMessage";
|
|
117
|
+
readonly type: "text";
|
|
118
|
+
readonly label: "Waitlist message";
|
|
119
|
+
readonly description: "Message shown after joining a whole-series waitlist";
|
|
120
|
+
readonly required: false;
|
|
121
|
+
readonly multiline: true;
|
|
122
|
+
readonly defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.";
|
|
123
|
+
readonly maxLength: 500;
|
|
124
|
+
}, {
|
|
125
|
+
readonly id: "membershipMessage";
|
|
126
|
+
readonly type: "text";
|
|
127
|
+
readonly label: "Membership registration message";
|
|
128
|
+
readonly description: "Message shown when a whole-series place is covered by membership";
|
|
129
|
+
readonly required: false;
|
|
130
|
+
readonly multiline: true;
|
|
131
|
+
readonly defaultValue: "Registered using your membership. Check your email for session details.";
|
|
132
|
+
readonly maxLength: 500;
|
|
95
133
|
}, {
|
|
96
134
|
readonly id: "buttonText";
|
|
97
135
|
readonly type: "text";
|
|
@@ -109,8 +147,11 @@ export type EventRegistrationContent = {
|
|
|
109
147
|
maxTickets?: '1' | '2' | '3' | '5' | '10' | null;
|
|
110
148
|
showVenue?: boolean | null;
|
|
111
149
|
showCapacity?: boolean | null;
|
|
150
|
+
showSessions?: boolean | null;
|
|
151
|
+
showPrice?: boolean | null;
|
|
112
152
|
successMessage?: string | null;
|
|
113
153
|
waitlistMessage?: string | null;
|
|
154
|
+
membershipMessage?: string | null;
|
|
114
155
|
buttonText?: string | null;
|
|
115
156
|
buttonVariant?: BlockButtonRole | null;
|
|
116
157
|
_sectionStyles?: SectionStylesContent;
|
|
@@ -1,26 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Brand, type MailchimpAudienceId, type MailchimpConnectionId, type NewsletterSignupAuthoringDestination, type NewsletterSignupDestinationProvider, type FooterModuleId } from '../../../../core/src/index';
|
|
2
|
+
export { parseMailchimpAudienceId, parseMailchimpConnectionId, parseMailchimpTagName, parseNewsletterListId, parseNewsletterSignupDestinationProvider, } from '../../../../core/src/index';
|
|
3
|
+
export type { MailchimpAudienceId, MailchimpConnectionId, MailchimpNewsletterDestination, MailchimpTagName, NewsletterListId, NewsletterSignupAuthoringDestination, NewsletterSignupDestinationProvider, RiverbankNewsletterDestination, } from '../../../../core/src/index';
|
|
2
4
|
type NonEmptyReadonlyArray<T> = readonly [T, ...T[]];
|
|
3
5
|
declare const serverResolvedMailchimpConnectionStateBrand: unique symbol;
|
|
4
6
|
declare const serverValidatedMailchimpAudienceCompatibilityBrand: unique symbol;
|
|
5
|
-
export type NewsletterListId = Brand<string, 'NewsletterListId'>;
|
|
6
|
-
export type MailchimpConnectionId = Brand<string, 'MailchimpConnectionId'>;
|
|
7
|
-
export type MailchimpAudienceId = Brand<string, 'MailchimpAudienceId'>;
|
|
8
|
-
export type MailchimpTagName = Brand<string, 'MailchimpTagName'>;
|
|
9
7
|
export type NewsletterSignupBlockId = Brand<string, 'NewsletterSignupBlockId'>;
|
|
10
8
|
export type SignedNewsletterDestinationRef = Brand<string, 'SignedNewsletterDestinationRef'>;
|
|
11
|
-
export type NewsletterSignupDestinationProvider = 'riverbank' | 'mailchimp';
|
|
12
9
|
export type NewsletterSignupFieldPreset = 'emailOnly' | 'emailName' | 'emailFirstLast' | 'emailNameCompany';
|
|
13
|
-
export type RiverbankNewsletterDestination = Readonly<{
|
|
14
|
-
tag: 'riverbank_list';
|
|
15
|
-
listId: NewsletterListId;
|
|
16
|
-
}>;
|
|
17
|
-
export type MailchimpNewsletterDestination = Readonly<{
|
|
18
|
-
tag: 'mailchimp_audience';
|
|
19
|
-
connectionId: MailchimpConnectionId;
|
|
20
|
-
audienceId: MailchimpAudienceId;
|
|
21
|
-
tags: readonly MailchimpTagName[];
|
|
22
|
-
}>;
|
|
23
|
-
export type NewsletterSignupAuthoringDestination = RiverbankNewsletterDestination | MailchimpNewsletterDestination;
|
|
24
10
|
export type NewsletterSignupPublicDestinationRef = Readonly<{
|
|
25
11
|
tag: 'block_ref';
|
|
26
12
|
blockId: NewsletterSignupBlockId;
|
|
@@ -28,6 +14,17 @@ export type NewsletterSignupPublicDestinationRef = Readonly<{
|
|
|
28
14
|
tag: 'signed_destination_ref';
|
|
29
15
|
token: SignedNewsletterDestinationRef;
|
|
30
16
|
}>;
|
|
17
|
+
export type NewsletterSignupDestinationSource = Readonly<{
|
|
18
|
+
kind: 'block';
|
|
19
|
+
blockId: NewsletterSignupBlockId;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'footer-composition';
|
|
22
|
+
sectionId: FooterModuleId;
|
|
23
|
+
}>;
|
|
24
|
+
type FooterNewsletterSignupSourceAttributionId = Brand<string, 'FooterNewsletterSignupSourceAttributionId'>;
|
|
25
|
+
export type NewsletterSignupSourceAttributionId = NewsletterSignupBlockId | FooterNewsletterSignupSourceAttributionId;
|
|
26
|
+
export declare function newsletterSignupSourceAttributionId(source: NewsletterSignupDestinationSource): NewsletterSignupSourceAttributionId;
|
|
27
|
+
export declare function parseNewsletterSignupSourceAttributionId(value: unknown): NewsletterSignupSourceAttributionId | null;
|
|
31
28
|
export type NewsletterSignupRawAuthoringContent = Readonly<{
|
|
32
29
|
destination?: unknown;
|
|
33
30
|
destinationProvider?: unknown;
|
|
@@ -261,13 +258,8 @@ export type NewsletterSignupDestinationParseResult = Readonly<{
|
|
|
261
258
|
success: false;
|
|
262
259
|
error: NewsletterSignupDestinationParseError;
|
|
263
260
|
}>;
|
|
264
|
-
export declare function parseNewsletterListId(value: unknown): NewsletterListId | null;
|
|
265
|
-
export declare function parseMailchimpConnectionId(value: unknown): MailchimpConnectionId | null;
|
|
266
|
-
export declare function parseMailchimpAudienceId(value: unknown): MailchimpAudienceId | null;
|
|
267
|
-
export declare function parseMailchimpTagName(value: unknown): MailchimpTagName | null;
|
|
268
261
|
export declare function parseNewsletterSignupBlockId(value: unknown): NewsletterSignupBlockId | null;
|
|
269
262
|
export declare function parseSignedNewsletterDestinationRef(value: unknown): SignedNewsletterDestinationRef | null;
|
|
270
|
-
export declare function parseNewsletterSignupDestinationProvider(value: unknown): NewsletterSignupDestinationProvider | null;
|
|
271
263
|
export declare function parseNewsletterSignupAuthoringDestination(content: unknown): NewsletterSignupDestinationParseResult;
|
|
272
264
|
export declare function normalizeNewsletterSignupAuthoringDestination(content: NewsletterSignupRawAuthoringContent): NewsletterSignupAuthoringDestination | null;
|
|
273
265
|
export declare function assertValidNewsletterSignupAuthoringDestination(destination: NewsletterSignupAuthoringDestination): NewsletterSignupAuthoringDestination;
|
|
@@ -297,4 +289,3 @@ export declare function selectRequiredMailchimpMergeFields(fields: readonly Mail
|
|
|
297
289
|
export declare function deriveMailchimpAudienceCompatibilityIssues(input: MailchimpAudienceCompatibilityInput): readonly MailchimpAudienceCompatibilityIssue[];
|
|
298
290
|
export declare function selectNewsletterSignupDestinationProviderOptions(): readonly NewsletterSignupDestinationProviderOption[];
|
|
299
291
|
export declare function getNewsletterSignupDestinationProvider(content: NewsletterSignupRawAuthoringContent): NewsletterSignupDestinationProvider;
|
|
300
|
-
export {};
|
|
@@ -202,5 +202,5 @@ export type NewsletterSignupAuthoringContent = Omit<NewsletterSignupContent, 'li
|
|
|
202
202
|
destination: NewsletterSignupAuthoringDestination;
|
|
203
203
|
};
|
|
204
204
|
export { buildTrustedNewsletterSignupAuthoringDestination, sanitizeNewsletterSignupPublicContent, validateNewsletterSignupDestinationActivationReadiness, } from "./newsletter-signup-destination";
|
|
205
|
-
export type { MailchimpAudienceCompatibilityIssue, MailchimpAudienceId, MailchimpConnectionId, MailchimpNewsletterDestination, MailchimpTagName, NewsletterListId, NewsletterSignupAuthoringDestination, NewsletterSignupDestinationActivationIssue, NewsletterSignupDestinationActivationInput, NewsletterSignupDestinationActivationReadiness, NewsletterSignupBlockId, NewsletterSignupDestinationEditorFieldState, NewsletterSignupDestinationReadinessIssue, NewsletterSignupFieldPreset, NewsletterSignupDestinationProviderOption, NewsletterSignupPublicDestinationRef, RiverbankNewsletterDestination, ServerResolvedMailchimpConnectionState, ServerValidatedMailchimpAudienceCompatibility, SignedNewsletterDestinationRef, TrustedNewsletterSignupAuthoringDestinationError, TrustedNewsletterSignupAuthoringDestinationResult, } from "./newsletter-signup-destination";
|
|
205
|
+
export type { MailchimpAudienceCompatibilityIssue, MailchimpAudienceId, MailchimpConnectionId, MailchimpNewsletterDestination, MailchimpTagName, NewsletterListId, NewsletterSignupAuthoringDestination, NewsletterSignupDestinationActivationIssue, NewsletterSignupDestinationActivationInput, NewsletterSignupDestinationActivationReadiness, NewsletterSignupBlockId, NewsletterSignupDestinationEditorFieldState, NewsletterSignupDestinationReadinessIssue, NewsletterSignupFieldPreset, NewsletterSignupDestinationProviderOption, NewsletterSignupPublicDestinationRef, NewsletterSignupSourceAttributionId, RiverbankNewsletterDestination, ServerResolvedMailchimpConnectionState, ServerValidatedMailchimpAudienceCompatibility, SignedNewsletterDestinationRef, TrustedNewsletterSignupAuthoringDestinationError, TrustedNewsletterSignupAuthoringDestinationResult, } from "./newsletter-signup-destination";
|
|
206
206
|
export declare const newsletterSignupBlockDefinition: SystemBlockDefinition<NewsletterSignupContent, typeof newsletterFormBlockRuntime>;
|
|
@@ -1,38 +1,112 @@
|
|
|
1
|
-
import { type FooterCompositionV1, type FooterMembershipKey, type FooterModuleId, type PublicProfile } from '../../../../core/src/index';
|
|
2
|
-
|
|
1
|
+
import { type FooterCompositionV1, type FooterMembershipKey, type FooterModuleId, type FooterRichText, type FooterSection, type NewsletterSignupAuthoringDestination, type PublicProfile, type Result } from '../../../../core/src/index';
|
|
2
|
+
import type { FormSourceProps } from '../runtime/nodes/form.interactive';
|
|
3
|
+
import type { NewsletterFormSourceProps } from '../runtime/nodes/newsletter-form.interactive';
|
|
4
|
+
type FooterRuntimeModuleBase<TKind extends FooterSection['kind']> = Readonly<{
|
|
3
5
|
id: FooterModuleId;
|
|
4
|
-
kind:
|
|
6
|
+
kind: TKind;
|
|
5
7
|
heading: string | null;
|
|
8
|
+
}>;
|
|
9
|
+
type FooterRuntimeContactLink = Readonly<{
|
|
10
|
+
href: string;
|
|
11
|
+
label: string;
|
|
12
|
+
}>;
|
|
13
|
+
type FooterRuntimeOpeningHours = Readonly<{
|
|
14
|
+
weekday: string;
|
|
15
|
+
hours: string;
|
|
16
|
+
}>;
|
|
17
|
+
type FooterRuntimeSocialLink = Readonly<{
|
|
18
|
+
href: string;
|
|
19
|
+
label: string;
|
|
20
|
+
icon: string | null;
|
|
21
|
+
}>;
|
|
22
|
+
type UnionKeys<T> = T extends T ? keyof T : never;
|
|
23
|
+
type StrictUnionMember<T, TAll> = T extends T ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;
|
|
24
|
+
type StrictUnion<T> = StrictUnionMember<T, T>;
|
|
25
|
+
type FooterRuntimeModuleVariant = (FooterRuntimeModuleBase<'brand'> & Readonly<{
|
|
26
|
+
showLogo: boolean;
|
|
27
|
+
showTitle: boolean;
|
|
28
|
+
}>) | (FooterRuntimeModuleBase<'navigation'> & Readonly<{
|
|
6
29
|
navigationClassName?: string;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
contactLinks
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
30
|
+
}>) | FooterRuntimeModuleBase<'legal-navigation'> | (FooterRuntimeModuleBase<'business-address'> & Readonly<{
|
|
31
|
+
address: string;
|
|
32
|
+
}>) | (FooterRuntimeModuleBase<'contact'> & Readonly<{
|
|
33
|
+
contactLinks: readonly FooterRuntimeContactLink[];
|
|
34
|
+
}>) | (FooterRuntimeModuleBase<'opening-hours'> & Readonly<{
|
|
35
|
+
openingHours: readonly FooterRuntimeOpeningHours[];
|
|
36
|
+
timeZone: string;
|
|
37
|
+
}>) | (FooterRuntimeModuleBase<'social-links'> & Readonly<{
|
|
38
|
+
socialLinks: readonly FooterRuntimeSocialLink[];
|
|
39
|
+
}>) | (FooterRuntimeModuleBase<'supporting-text'> & Readonly<{
|
|
40
|
+
content: FooterRichText;
|
|
41
|
+
}>) | (FooterRuntimeModuleBase<'legal'> & Readonly<{
|
|
42
|
+
content: FooterRichText;
|
|
43
|
+
}>) | (FooterRuntimeModuleBase<'engagement'> & Readonly<{
|
|
44
|
+
engagement: FooterRuntimeEngagement;
|
|
45
|
+
}>);
|
|
46
|
+
export type FooterRuntimeModule = StrictUnion<FooterRuntimeModuleVariant>;
|
|
47
|
+
export type FooterRuntimeEngagement = Readonly<{
|
|
48
|
+
kind: 'standard-contact';
|
|
49
|
+
intro: string | null;
|
|
50
|
+
runtime: FooterStandardContactRuntime;
|
|
51
|
+
}> | Readonly<{
|
|
52
|
+
kind: 'mailing-list';
|
|
53
|
+
intro: string | null;
|
|
54
|
+
runtime: FooterMailingListRuntime;
|
|
55
|
+
}>;
|
|
56
|
+
export type FooterStandardContactRuntime = Readonly<{
|
|
57
|
+
value: NonNullable<FormSourceProps['value']>;
|
|
58
|
+
submitLabel?: FormSourceProps['submitLabel'];
|
|
59
|
+
successMessage?: FormSourceProps['successMessage'];
|
|
60
|
+
}>;
|
|
61
|
+
type FooterMailingListRuntimeBase = Readonly<{
|
|
62
|
+
preset: 'emailOnly';
|
|
63
|
+
includePhone?: false;
|
|
64
|
+
buttonLabel?: NewsletterFormSourceProps['buttonLabel'];
|
|
65
|
+
successMessage?: NewsletterFormSourceProps['successMessage'];
|
|
66
|
+
privacyNote?: NewsletterFormSourceProps['privacyNote'];
|
|
67
|
+
}>;
|
|
68
|
+
export type FooterMailingListRuntime = FooterMailingListRuntimeBase & (Readonly<{
|
|
69
|
+
mode?: 'public';
|
|
70
|
+
source: 'signed-footer';
|
|
71
|
+
destinationRef: NonNullable<Extract<NewsletterFormSourceProps, {
|
|
72
|
+
source: 'signed-footer';
|
|
73
|
+
}>['destinationRef']>;
|
|
74
|
+
listId?: never;
|
|
75
|
+
}> | Readonly<{
|
|
76
|
+
mode: 'preview';
|
|
77
|
+
source: 'legacy-direct-list';
|
|
78
|
+
destinationRef?: never;
|
|
79
|
+
listId: string | null;
|
|
80
|
+
target: NewsletterSignupAuthoringDestination;
|
|
81
|
+
}>);
|
|
82
|
+
export type FooterResolvedEngagement = Readonly<{
|
|
83
|
+
kind: 'none';
|
|
84
|
+
}> | Readonly<{
|
|
85
|
+
kind: 'needs-attention';
|
|
86
|
+
reason: 'missing-form' | 'wrong-form-kind' | 'invalid-form' | 'destination-not-ready';
|
|
87
|
+
}> | Readonly<{
|
|
88
|
+
kind: 'resolved';
|
|
89
|
+
sectionId: FooterModuleId;
|
|
90
|
+
engagement: Extract<FooterRuntimeEngagement, {
|
|
91
|
+
kind: 'standard-contact';
|
|
92
|
+
}>;
|
|
93
|
+
}> | Readonly<{
|
|
94
|
+
kind: 'resolved';
|
|
95
|
+
sectionId: FooterModuleId;
|
|
96
|
+
engagement: Extract<FooterRuntimeEngagement, {
|
|
97
|
+
kind: 'mailing-list';
|
|
98
|
+
}>;
|
|
25
99
|
}>;
|
|
26
100
|
export type FooterRuntimeViewModel = Readonly<{
|
|
27
101
|
membershipKey: FooterMembershipKey;
|
|
28
102
|
regions: readonly FooterRuntimeRegion[];
|
|
29
103
|
}>;
|
|
30
104
|
export type FooterRuntimeGroup = Readonly<{
|
|
31
|
-
kind: 'identity' | 'main-navigation' | 'visit' | 'legal-ending';
|
|
105
|
+
kind: 'identity' | 'main-navigation' | 'visit' | 'engagement' | 'legal-ending';
|
|
32
106
|
modules: readonly FooterRuntimeModule[];
|
|
33
107
|
}>;
|
|
34
108
|
export type FooterRuntimeRegion = Readonly<{
|
|
35
|
-
kind: 'main' | 'bottom';
|
|
109
|
+
kind: 'engagement-row' | 'main' | 'bottom';
|
|
36
110
|
className: string;
|
|
37
111
|
groups: readonly FooterRuntimeGroup[];
|
|
38
112
|
}>;
|
|
@@ -45,6 +119,18 @@ type FooterRuntimeViewModelInput = Readonly<{
|
|
|
45
119
|
hasLogo?: boolean;
|
|
46
120
|
legalRegion?: 'integrated' | 'separate';
|
|
47
121
|
layoutVariant?: 'simple' | 'columns' | 'split';
|
|
122
|
+
engagement: FooterResolvedEngagement;
|
|
123
|
+
}>;
|
|
124
|
+
type FooterRuntimeSectionProjectionInput = Readonly<{
|
|
125
|
+
section: FooterSection;
|
|
126
|
+
publicProfile: PublicProfile;
|
|
127
|
+
businessAddress: string | null;
|
|
128
|
+
engagement: FooterResolvedEngagement;
|
|
129
|
+
}>;
|
|
130
|
+
export type FooterRuntimeSectionProjectionError = Readonly<{
|
|
131
|
+
kind: 'missing-source';
|
|
132
|
+
sectionKind: 'business-address' | 'contact' | 'opening-hours' | 'social-links' | 'supporting-text' | 'legal' | 'engagement';
|
|
48
133
|
}>;
|
|
134
|
+
export declare function projectFooterRuntimeSection(input: FooterRuntimeSectionProjectionInput): Result<FooterRuntimeModule, FooterRuntimeSectionProjectionError>;
|
|
49
135
|
export declare function buildFooterRuntimeViewModel(input: FooterRuntimeViewModelInput): FooterRuntimeViewModel;
|
|
50
136
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "listPublicRecurringSchedule", "getPublicEventDetails", "listPublicWholeSeriesOfferings", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
|
|
1
|
+
export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "listPublicRecurringSchedule", "getPublicEventDetails", "listPublicWholeSeriesOfferings", "getPublicWholeSeriesOffering", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
|
|
2
2
|
export type SupportedLoaderEndpoint = typeof SUPPORTED_LOADER_ENDPOINTS[number];
|
|
3
3
|
export declare function isSupportedLoaderEndpoint(endpoint: string): endpoint is SupportedLoaderEndpoint;
|