@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
|
@@ -1,118 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type
|
|
1
|
+
import type { FooterCompositionError, FooterCompositionV1, FooterModuleId, FooterSection, FooterSourceAvailability, ResolvedFooterSection } from './footer-composition-types';
|
|
2
|
+
import { type FooterEngagementSection } from './footer-engagement';
|
|
3
3
|
import { type Result } from './result';
|
|
4
|
-
export
|
|
5
|
-
export type
|
|
6
|
-
export type FooterRichText = RichTextDoc;
|
|
7
|
-
export type FooterNavigationRole = 'main' | 'legal-policy';
|
|
8
|
-
type FooterSectionBase<TKind extends string> = Readonly<{
|
|
9
|
-
id: FooterModuleId;
|
|
10
|
-
kind: TKind;
|
|
11
|
-
heading: string | null;
|
|
12
|
-
selected: boolean;
|
|
13
|
-
}>;
|
|
14
|
-
export type FooterSection = (FooterSectionBase<'brand'> & Readonly<{
|
|
15
|
-
showLogo: boolean;
|
|
16
|
-
showTitle: boolean;
|
|
17
|
-
}>) | (FooterSectionBase<'navigation'> & Readonly<{
|
|
18
|
-
source: Readonly<{
|
|
19
|
-
kind: 'menu-role';
|
|
20
|
-
role: 'main';
|
|
21
|
-
}>;
|
|
22
|
-
}>) | (FooterSectionBase<'legal-navigation'> & Readonly<{
|
|
23
|
-
source: Readonly<{
|
|
24
|
-
kind: 'menu-role';
|
|
25
|
-
role: 'legal-policy';
|
|
26
|
-
}>;
|
|
27
|
-
}>) | (FooterSectionBase<'business-address'> & Readonly<{
|
|
28
|
-
source: Readonly<{
|
|
29
|
-
kind: 'business-address';
|
|
30
|
-
}>;
|
|
31
|
-
}>) | (FooterSectionBase<'contact'> & Readonly<{
|
|
32
|
-
source: Readonly<{
|
|
33
|
-
kind: 'public-profile';
|
|
34
|
-
}>;
|
|
35
|
-
}>) | (FooterSectionBase<'opening-hours'> & Readonly<{
|
|
36
|
-
source: Readonly<{
|
|
37
|
-
kind: 'public-profile';
|
|
38
|
-
}>;
|
|
39
|
-
}>) | (FooterSectionBase<'social-links'> & Readonly<{
|
|
40
|
-
source: Readonly<{
|
|
41
|
-
kind: 'public-profile';
|
|
42
|
-
}>;
|
|
43
|
-
}>) | (FooterSectionBase<'supporting-text'> & Readonly<{
|
|
44
|
-
content: FooterRichText | null;
|
|
45
|
-
}>) | (FooterSectionBase<'legal'> & Readonly<{
|
|
46
|
-
content: FooterRichText | null;
|
|
47
|
-
}>);
|
|
48
|
-
/** Retained as a source-compatible name while callers move from modules to sections. */
|
|
49
|
-
export type FooterModule = FooterSection;
|
|
50
|
-
export type FooterModuleKind = FooterSection['kind'];
|
|
51
|
-
export type FooterCompositionV1 = Readonly<{
|
|
52
|
-
schemaVersion: 1;
|
|
53
|
-
sections: readonly FooterSection[];
|
|
54
|
-
}>;
|
|
55
|
-
export type FooterCompositionError = Readonly<{
|
|
56
|
-
code: 'invalid_shape' | 'unsupported_schema_version' | 'invalid_section' | 'duplicate_section_id' | 'duplicate_section_kind' | 'unknown_section';
|
|
57
|
-
path: string;
|
|
58
|
-
message: string;
|
|
59
|
-
}>;
|
|
60
|
-
export type FooterLookPolicy = Readonly<{
|
|
61
|
-
kind: 'integrated-legal';
|
|
62
|
-
}> | Readonly<{
|
|
63
|
-
kind: 'separate-legal-region';
|
|
64
|
-
}>;
|
|
65
|
-
export type FooterVisualGroupKind = 'identity' | 'main-navigation' | 'visit' | 'legal-ending';
|
|
66
|
-
export type FooterColumnCount = 1 | 2 | 3 | 4;
|
|
67
|
-
export type FooterVisualGroup = Readonly<{
|
|
68
|
-
kind: FooterVisualGroupKind;
|
|
69
|
-
sections: readonly FooterSection[];
|
|
70
|
-
span: 1;
|
|
71
|
-
}>;
|
|
72
|
-
export type FooterRenderRegion = Readonly<{
|
|
73
|
-
kind: 'main' | 'bottom';
|
|
74
|
-
columns: FooterColumnCount;
|
|
75
|
-
groups: readonly FooterVisualGroup[];
|
|
76
|
-
}>;
|
|
77
|
-
export type FooterArrangementPlan = Readonly<{
|
|
78
|
-
membershipKey: FooterMembershipKey;
|
|
79
|
-
regions: readonly FooterRenderRegion[];
|
|
80
|
-
mobileGroups: readonly FooterVisualGroup[];
|
|
81
|
-
}>;
|
|
82
|
-
export type FooterRepairTarget = Readonly<{
|
|
83
|
-
kind: 'site-identity';
|
|
84
|
-
}> | Readonly<{
|
|
85
|
-
kind: 'navigation';
|
|
86
|
-
role: FooterNavigationRole;
|
|
87
|
-
}> | Readonly<{
|
|
88
|
-
kind: 'business-address';
|
|
89
|
-
}> | Readonly<{
|
|
90
|
-
kind: 'public-profile';
|
|
91
|
-
section: 'contact' | 'opening-hours' | 'social-links';
|
|
92
|
-
}> | Readonly<{
|
|
93
|
-
kind: 'footer-section';
|
|
94
|
-
sectionId: FooterModuleId;
|
|
95
|
-
}>;
|
|
96
|
-
export type ResolvedFooterSection = Readonly<{
|
|
97
|
-
kind: 'renderable';
|
|
98
|
-
section: FooterSection;
|
|
99
|
-
}> | Readonly<{
|
|
100
|
-
kind: 'missing-source';
|
|
101
|
-
section: FooterSection;
|
|
102
|
-
repairTarget: FooterRepairTarget;
|
|
103
|
-
}>;
|
|
104
|
-
export type RenderableFooterSection = Extract<ResolvedFooterSection, {
|
|
105
|
-
kind: 'renderable';
|
|
106
|
-
}>;
|
|
107
|
-
export type FooterSourceAvailability = Readonly<{
|
|
108
|
-
hasLogo: boolean;
|
|
109
|
-
hasMainNavigation: boolean;
|
|
110
|
-
hasLegalPolicyNavigation: boolean;
|
|
111
|
-
hasBusinessAddress: boolean;
|
|
112
|
-
hasContact: boolean;
|
|
113
|
-
hasOpeningHours: boolean;
|
|
114
|
-
hasSocialLinks: boolean;
|
|
115
|
-
}>;
|
|
4
|
+
export { planFooterArrangement } from './footer-arrangement';
|
|
5
|
+
export type * from './footer-composition-types';
|
|
116
6
|
export declare function unsafeAsFooterModuleId(value: string): FooterModuleId;
|
|
117
7
|
export declare function parseFooterModuleId(value: unknown): Result<FooterModuleId, FooterCompositionError>;
|
|
118
8
|
export declare function validateFooterComposition(composition: FooterCompositionV1): Result<FooterCompositionV1, FooterCompositionError>;
|
|
@@ -123,8 +13,10 @@ export declare function parseFooterCompositionV1(value: unknown): Result<FooterC
|
|
|
123
13
|
*/
|
|
124
14
|
export declare function upgradePlacementFooterCompositionV1(value: unknown): Result<FooterCompositionV1, FooterCompositionError>;
|
|
125
15
|
export declare function setFooterSectionSelected(composition: FooterCompositionV1, sectionId: FooterModuleId, selected: boolean): Result<FooterCompositionV1, FooterCompositionError>;
|
|
16
|
+
export declare function parseFooterEngagementSection(value: unknown): Result<FooterEngagementSection, FooterCompositionError>;
|
|
17
|
+
export declare function upsertFooterEngagementSection(composition: FooterCompositionV1, section: FooterEngagementSection): Result<FooterCompositionV1, FooterCompositionError>;
|
|
18
|
+
export declare function removeFooterEngagementSection(composition: FooterCompositionV1): FooterCompositionV1;
|
|
126
19
|
export declare function resolveFooterSections(composition: FooterCompositionV1, availability: FooterSourceAvailability): readonly ResolvedFooterSection[];
|
|
127
|
-
export declare function planFooterArrangement(renderableSections: readonly RenderableFooterSection[], policy: FooterLookPolicy): FooterArrangementPlan;
|
|
128
20
|
export type FooterEditorOverviewItem = Readonly<{
|
|
129
21
|
section: FooterSection;
|
|
130
22
|
status: 'selected' | 'available';
|
|
@@ -141,4 +33,3 @@ type LegacyFooterNormalizationOptions = Readonly<{
|
|
|
141
33
|
footerVisible?: boolean;
|
|
142
34
|
}>;
|
|
143
35
|
export declare function normalizeLegacyFooterContentToV1(value: unknown, options?: LegacyFooterNormalizationOptions): Result<FooterCompositionV1, FooterCompositionError>;
|
|
144
|
-
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type FormId } from './branded';
|
|
2
|
+
import { type NewsletterSignupAuthoringDestination } from './newsletter-signup-destination';
|
|
3
|
+
import { type Result } from './result';
|
|
4
|
+
import type { FooterCompositionError, FooterModuleId } from './footer-composition-types';
|
|
5
|
+
export type FooterEngagementTreatment = 'integrated' | 'separate-row';
|
|
6
|
+
export type FooterEngagementSource = Readonly<{
|
|
7
|
+
kind: 'standard-contact';
|
|
8
|
+
formId: FormId;
|
|
9
|
+
intro: string | null;
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
kind: 'mailing-list';
|
|
12
|
+
destination: NewsletterSignupAuthoringDestination;
|
|
13
|
+
intro: string | null;
|
|
14
|
+
buttonLabel: string;
|
|
15
|
+
successMessage: string;
|
|
16
|
+
privacyNote: string | null;
|
|
17
|
+
fieldPreset: 'emailOnly';
|
|
18
|
+
}>;
|
|
19
|
+
export type FooterEngagementSection = Readonly<{
|
|
20
|
+
id: FooterModuleId;
|
|
21
|
+
kind: 'engagement';
|
|
22
|
+
heading: string;
|
|
23
|
+
selected: boolean;
|
|
24
|
+
treatment: FooterEngagementTreatment;
|
|
25
|
+
source: FooterEngagementSource;
|
|
26
|
+
}>;
|
|
27
|
+
export declare function parseFooterEngagementSectionValue(value: Readonly<Record<string, unknown>>, sectionBase: Readonly<{
|
|
28
|
+
id: FooterModuleId;
|
|
29
|
+
selected: boolean;
|
|
30
|
+
}>, path: string): Result<FooterEngagementSection, FooterCompositionError>;
|
|
@@ -32,6 +32,10 @@ export * from './public-url-validation';
|
|
|
32
32
|
export * from './public-profile';
|
|
33
33
|
export * from './rich-text';
|
|
34
34
|
export * from './footer-composition';
|
|
35
|
+
export * from './footer-arrangement';
|
|
36
|
+
export * from './footer-composition-types';
|
|
37
|
+
export * from './footer-engagement';
|
|
38
|
+
export * from './newsletter-signup-destination';
|
|
35
39
|
export * from './number-input';
|
|
36
40
|
export * from './field-errors';
|
|
37
41
|
export * from './form-submission-preview';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Brand } from './branded';
|
|
2
|
+
import { type Result } from './result';
|
|
3
|
+
export type NewsletterListId = Brand<string, 'NewsletterListId'>;
|
|
4
|
+
export type MailchimpConnectionId = Brand<string, 'MailchimpConnectionId'>;
|
|
5
|
+
export type MailchimpAudienceId = Brand<string, 'MailchimpAudienceId'>;
|
|
6
|
+
export type MailchimpTagName = Brand<string, 'MailchimpTagName'>;
|
|
7
|
+
export type NewsletterSignupDestinationProvider = 'riverbank' | 'mailchimp';
|
|
8
|
+
export type RiverbankNewsletterDestination = Readonly<{
|
|
9
|
+
tag: 'riverbank_list';
|
|
10
|
+
listId: NewsletterListId;
|
|
11
|
+
}>;
|
|
12
|
+
export type MailchimpNewsletterDestination = Readonly<{
|
|
13
|
+
tag: 'mailchimp_audience';
|
|
14
|
+
connectionId: MailchimpConnectionId;
|
|
15
|
+
audienceId: MailchimpAudienceId;
|
|
16
|
+
tags: readonly MailchimpTagName[];
|
|
17
|
+
}>;
|
|
18
|
+
export type NewsletterSignupAuthoringDestination = RiverbankNewsletterDestination | MailchimpNewsletterDestination;
|
|
19
|
+
export type NewsletterSignupDestinationValueError = Readonly<{
|
|
20
|
+
kind: 'invalid-destination-shape';
|
|
21
|
+
}> | Readonly<{
|
|
22
|
+
kind: 'invalid-destination-tag';
|
|
23
|
+
value: unknown;
|
|
24
|
+
}> | Readonly<{
|
|
25
|
+
kind: 'invalid-newsletter-list-id';
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
kind: 'invalid-mailchimp-connection-id';
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
kind: 'invalid-mailchimp-audience-id';
|
|
30
|
+
}> | Readonly<{
|
|
31
|
+
kind: 'invalid-mailchimp-tags';
|
|
32
|
+
}>;
|
|
33
|
+
export declare function parseNewsletterListId(value: unknown): NewsletterListId | null;
|
|
34
|
+
export declare function parseMailchimpConnectionId(value: unknown): MailchimpConnectionId | null;
|
|
35
|
+
export declare function parseMailchimpAudienceId(value: unknown): MailchimpAudienceId | null;
|
|
36
|
+
export declare function parseMailchimpTagName(value: unknown): MailchimpTagName | null;
|
|
37
|
+
export declare function parseNewsletterSignupDestinationProvider(value: unknown): NewsletterSignupDestinationProvider | null;
|
|
38
|
+
export declare function parseNewsletterSignupAuthoringDestinationValue(value: unknown): Result<NewsletterSignupAuthoringDestination, NewsletterSignupDestinationValueError>;
|
|
@@ -1688,27 +1688,36 @@ export type Database = {
|
|
|
1688
1688
|
};
|
|
1689
1689
|
billing_notifications: {
|
|
1690
1690
|
Row: {
|
|
1691
|
+
claimed_at: string;
|
|
1691
1692
|
id: string;
|
|
1692
1693
|
metadata: Json | null;
|
|
1693
1694
|
notification_type: string;
|
|
1695
|
+
recipient_email: string | null;
|
|
1694
1696
|
recipients: Json;
|
|
1695
|
-
sent_at: string;
|
|
1697
|
+
sent_at: string | null;
|
|
1698
|
+
status: string;
|
|
1696
1699
|
subscription_id: string;
|
|
1697
1700
|
};
|
|
1698
1701
|
Insert: {
|
|
1702
|
+
claimed_at?: string;
|
|
1699
1703
|
id?: string;
|
|
1700
1704
|
metadata?: Json | null;
|
|
1701
1705
|
notification_type: string;
|
|
1706
|
+
recipient_email?: string | null;
|
|
1702
1707
|
recipients: Json;
|
|
1703
|
-
sent_at?: string;
|
|
1708
|
+
sent_at?: string | null;
|
|
1709
|
+
status?: string;
|
|
1704
1710
|
subscription_id: string;
|
|
1705
1711
|
};
|
|
1706
1712
|
Update: {
|
|
1713
|
+
claimed_at?: string;
|
|
1707
1714
|
id?: string;
|
|
1708
1715
|
metadata?: Json | null;
|
|
1709
1716
|
notification_type?: string;
|
|
1717
|
+
recipient_email?: string | null;
|
|
1710
1718
|
recipients?: Json;
|
|
1711
|
-
sent_at?: string;
|
|
1719
|
+
sent_at?: string | null;
|
|
1720
|
+
status?: string;
|
|
1712
1721
|
subscription_id?: string;
|
|
1713
1722
|
};
|
|
1714
1723
|
Relationships: [];
|
|
@@ -4349,10 +4358,11 @@ export type Database = {
|
|
|
4349
4358
|
booking_requirement_reminder_deliveries: {
|
|
4350
4359
|
Row: {
|
|
4351
4360
|
appointment_id: string | null;
|
|
4361
|
+
claimed_at: string;
|
|
4352
4362
|
course_enrollment_id: string | null;
|
|
4353
4363
|
created_at: string;
|
|
4354
4364
|
customer_email: string;
|
|
4355
|
-
delivered_at: string;
|
|
4365
|
+
delivered_at: string | null;
|
|
4356
4366
|
entity_type: string;
|
|
4357
4367
|
event_attendee_id: string | null;
|
|
4358
4368
|
id: string;
|
|
@@ -4360,13 +4370,15 @@ export type Database = {
|
|
|
4360
4370
|
participant_participation_id: string;
|
|
4361
4371
|
requirement_id: string;
|
|
4362
4372
|
site_id: string;
|
|
4373
|
+
status: string;
|
|
4363
4374
|
};
|
|
4364
4375
|
Insert: {
|
|
4365
4376
|
appointment_id?: string | null;
|
|
4377
|
+
claimed_at?: string;
|
|
4366
4378
|
course_enrollment_id?: string | null;
|
|
4367
4379
|
created_at?: string;
|
|
4368
4380
|
customer_email: string;
|
|
4369
|
-
delivered_at?: string;
|
|
4381
|
+
delivered_at?: string | null;
|
|
4370
4382
|
entity_type: string;
|
|
4371
4383
|
event_attendee_id?: string | null;
|
|
4372
4384
|
id?: string;
|
|
@@ -4374,13 +4386,15 @@ export type Database = {
|
|
|
4374
4386
|
participant_participation_id: string;
|
|
4375
4387
|
requirement_id: string;
|
|
4376
4388
|
site_id: string;
|
|
4389
|
+
status?: string;
|
|
4377
4390
|
};
|
|
4378
4391
|
Update: {
|
|
4379
4392
|
appointment_id?: string | null;
|
|
4393
|
+
claimed_at?: string;
|
|
4380
4394
|
course_enrollment_id?: string | null;
|
|
4381
4395
|
created_at?: string;
|
|
4382
4396
|
customer_email?: string;
|
|
4383
|
-
delivered_at?: string;
|
|
4397
|
+
delivered_at?: string | null;
|
|
4384
4398
|
entity_type?: string;
|
|
4385
4399
|
event_attendee_id?: string | null;
|
|
4386
4400
|
id?: string;
|
|
@@ -4388,6 +4402,7 @@ export type Database = {
|
|
|
4388
4402
|
participant_participation_id?: string;
|
|
4389
4403
|
requirement_id?: string;
|
|
4390
4404
|
site_id?: string;
|
|
4405
|
+
status?: string;
|
|
4391
4406
|
};
|
|
4392
4407
|
Relationships: [
|
|
4393
4408
|
{
|
|
@@ -8319,6 +8334,7 @@ export type Database = {
|
|
|
8319
8334
|
payment_id: string | null;
|
|
8320
8335
|
payment_method: string | null;
|
|
8321
8336
|
payment_status: string | null;
|
|
8337
|
+
reminder_revision: number;
|
|
8322
8338
|
reminder_scheduled_at: string | null;
|
|
8323
8339
|
reminder_sent_at: string | null;
|
|
8324
8340
|
site_id: string;
|
|
@@ -8343,6 +8359,7 @@ export type Database = {
|
|
|
8343
8359
|
payment_id?: string | null;
|
|
8344
8360
|
payment_method?: string | null;
|
|
8345
8361
|
payment_status?: string | null;
|
|
8362
|
+
reminder_revision?: number;
|
|
8346
8363
|
reminder_scheduled_at?: string | null;
|
|
8347
8364
|
reminder_sent_at?: string | null;
|
|
8348
8365
|
site_id: string;
|
|
@@ -8367,6 +8384,7 @@ export type Database = {
|
|
|
8367
8384
|
payment_id?: string | null;
|
|
8368
8385
|
payment_method?: string | null;
|
|
8369
8386
|
payment_status?: string | null;
|
|
8387
|
+
reminder_revision?: number;
|
|
8370
8388
|
reminder_scheduled_at?: string | null;
|
|
8371
8389
|
reminder_sent_at?: string | null;
|
|
8372
8390
|
site_id?: string;
|
|
@@ -12043,13 +12061,17 @@ export type Database = {
|
|
|
12043
12061
|
last_paid_at: string | null;
|
|
12044
12062
|
order_id: string;
|
|
12045
12063
|
order_item_id: string;
|
|
12064
|
+
overdue_admin_notification_scheduled_at: string | null;
|
|
12046
12065
|
overdue_detected_at: string | null;
|
|
12047
12066
|
paid_amount_cents: number;
|
|
12048
12067
|
payment_pending_started_at: string | null;
|
|
12049
12068
|
payment_pending_token: string | null;
|
|
12050
12069
|
remaining_balance_cents: number;
|
|
12070
|
+
reminder_due_1_day_scheduled_at: string | null;
|
|
12051
12071
|
reminder_due_1_day_sent_at: string | null;
|
|
12072
|
+
reminder_due_7_days_scheduled_at: string | null;
|
|
12052
12073
|
reminder_due_7_days_sent_at: string | null;
|
|
12074
|
+
reminder_overdue_1_day_scheduled_at: string | null;
|
|
12053
12075
|
reminder_overdue_1_day_sent_at: string | null;
|
|
12054
12076
|
site_id: string;
|
|
12055
12077
|
status: string;
|
|
@@ -12073,13 +12095,17 @@ export type Database = {
|
|
|
12073
12095
|
last_paid_at?: string | null;
|
|
12074
12096
|
order_id: string;
|
|
12075
12097
|
order_item_id: string;
|
|
12098
|
+
overdue_admin_notification_scheduled_at?: string | null;
|
|
12076
12099
|
overdue_detected_at?: string | null;
|
|
12077
12100
|
paid_amount_cents: number;
|
|
12078
12101
|
payment_pending_started_at?: string | null;
|
|
12079
12102
|
payment_pending_token?: string | null;
|
|
12080
12103
|
remaining_balance_cents: number;
|
|
12104
|
+
reminder_due_1_day_scheduled_at?: string | null;
|
|
12081
12105
|
reminder_due_1_day_sent_at?: string | null;
|
|
12106
|
+
reminder_due_7_days_scheduled_at?: string | null;
|
|
12082
12107
|
reminder_due_7_days_sent_at?: string | null;
|
|
12108
|
+
reminder_overdue_1_day_scheduled_at?: string | null;
|
|
12083
12109
|
reminder_overdue_1_day_sent_at?: string | null;
|
|
12084
12110
|
site_id: string;
|
|
12085
12111
|
status: string;
|
|
@@ -12103,13 +12129,17 @@ export type Database = {
|
|
|
12103
12129
|
last_paid_at?: string | null;
|
|
12104
12130
|
order_id?: string;
|
|
12105
12131
|
order_item_id?: string;
|
|
12132
|
+
overdue_admin_notification_scheduled_at?: string | null;
|
|
12106
12133
|
overdue_detected_at?: string | null;
|
|
12107
12134
|
paid_amount_cents?: number;
|
|
12108
12135
|
payment_pending_started_at?: string | null;
|
|
12109
12136
|
payment_pending_token?: string | null;
|
|
12110
12137
|
remaining_balance_cents?: number;
|
|
12138
|
+
reminder_due_1_day_scheduled_at?: string | null;
|
|
12111
12139
|
reminder_due_1_day_sent_at?: string | null;
|
|
12140
|
+
reminder_due_7_days_scheduled_at?: string | null;
|
|
12112
12141
|
reminder_due_7_days_sent_at?: string | null;
|
|
12142
|
+
reminder_overdue_1_day_scheduled_at?: string | null;
|
|
12113
12143
|
reminder_overdue_1_day_sent_at?: string | null;
|
|
12114
12144
|
site_id?: string;
|
|
12115
12145
|
status?: string;
|
|
@@ -19088,6 +19118,20 @@ export type Database = {
|
|
|
19088
19118
|
enrollment_status: string;
|
|
19089
19119
|
}[];
|
|
19090
19120
|
};
|
|
19121
|
+
claim_billing_notification_delivery: {
|
|
19122
|
+
Args: {
|
|
19123
|
+
p_claimed_at: string;
|
|
19124
|
+
p_metadata?: Json;
|
|
19125
|
+
p_notification_type: string;
|
|
19126
|
+
p_recipient: Json;
|
|
19127
|
+
p_recipient_email: string;
|
|
19128
|
+
p_subscription_id: string;
|
|
19129
|
+
};
|
|
19130
|
+
Returns: {
|
|
19131
|
+
claim_kind: string;
|
|
19132
|
+
notification_id: string;
|
|
19133
|
+
}[];
|
|
19134
|
+
};
|
|
19091
19135
|
claim_dated_offering_non_cash_projections_v1_atomic: {
|
|
19092
19136
|
Args: {
|
|
19093
19137
|
p_claim_ttl?: unknown;
|
|
@@ -20817,6 +20861,27 @@ export type Database = {
|
|
|
20817
20861
|
preparation_outcome: string;
|
|
20818
20862
|
}[];
|
|
20819
20863
|
};
|
|
20864
|
+
project_event_reminder_marker_if_current: {
|
|
20865
|
+
Args: {
|
|
20866
|
+
p_attendee_id: string;
|
|
20867
|
+
p_expected_schedule_revision: number;
|
|
20868
|
+
p_expected_starts_at: string;
|
|
20869
|
+
p_marker_at: string;
|
|
20870
|
+
p_marker_kind: Database["public"]["Enums"]["event_reminder_marker_kind"];
|
|
20871
|
+
};
|
|
20872
|
+
Returns: boolean;
|
|
20873
|
+
};
|
|
20874
|
+
project_event_reminder_marker_if_current_lifecycle: {
|
|
20875
|
+
Args: {
|
|
20876
|
+
p_attendee_id: string;
|
|
20877
|
+
p_expected_reminder_revision: number;
|
|
20878
|
+
p_expected_schedule_revision: number;
|
|
20879
|
+
p_expected_starts_at: string;
|
|
20880
|
+
p_marker_at: string;
|
|
20881
|
+
p_marker_kind: Database["public"]["Enums"]["event_reminder_marker_kind"];
|
|
20882
|
+
};
|
|
20883
|
+
Returns: boolean;
|
|
20884
|
+
};
|
|
20820
20885
|
provision_initial_site_theme_atomic: {
|
|
20821
20886
|
Args: {
|
|
20822
20887
|
p_button_style_id: string;
|
|
@@ -22220,6 +22285,7 @@ export type Database = {
|
|
|
22220
22285
|
content_entry_status: "draft" | "scheduled" | "published" | "archived";
|
|
22221
22286
|
content_owner_kind: "block" | "entry" | "page" | "entry_slot" | "surface_slot" | "page_surface";
|
|
22222
22287
|
content_stage: "draft" | "published";
|
|
22288
|
+
event_reminder_marker_kind: "scheduled" | "sent";
|
|
22223
22289
|
footer_navigation_role: "main" | "legal-policy";
|
|
22224
22290
|
gsc_property_type: "domain" | "url_prefix";
|
|
22225
22291
|
impersonation_scope: "read" | "write";
|
|
@@ -22964,6 +23030,7 @@ export declare const Constants: {
|
|
|
22964
23030
|
readonly content_entry_status: readonly ["draft", "scheduled", "published", "archived"];
|
|
22965
23031
|
readonly content_owner_kind: readonly ["block", "entry", "page", "entry_slot", "surface_slot", "page_surface"];
|
|
22966
23032
|
readonly content_stage: readonly ["draft", "published"];
|
|
23033
|
+
readonly event_reminder_marker_kind: readonly ["scheduled", "sent"];
|
|
22967
23034
|
readonly footer_navigation_role: readonly ["main", "legal-policy"];
|
|
22968
23035
|
readonly gsc_property_type: readonly ["domain", "url_prefix"];
|
|
22969
23036
|
readonly impersonation_scope: readonly ["read", "write"];
|
|
@@ -5,3 +5,4 @@ export { camelToSnake, fromDbCase, snakeToCamel, toDbCase } from './utils/case';
|
|
|
5
5
|
export type { CamelizeKeys, CamelToSnake, DecamelizeKeys, DeepCamelizeKeys, DeepDecamelizeKeys, SnakeToCamel } from './utils/case';
|
|
6
6
|
export { createPatchApplier } from './utils/patch';
|
|
7
7
|
export * from './schemas/forms';
|
|
8
|
+
export * from './schemas/standard-contact';
|
|
@@ -10,6 +10,19 @@ export declare const formPresentationSettingsSchema: z.ZodObject<{
|
|
|
10
10
|
submitLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
11
|
templateKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
12
12
|
}, z.core.$strict>;
|
|
13
|
+
export declare const contactFormDefinitionSettingsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14
|
+
kind: z.ZodLiteral<"custom-contact">;
|
|
15
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
16
|
+
kind: z.ZodLiteral<"standard-contact">;
|
|
17
|
+
optionalFields: z.ZodObject<{
|
|
18
|
+
name: z.ZodObject<{
|
|
19
|
+
visible: z.ZodBoolean;
|
|
20
|
+
}, z.core.$strict>;
|
|
21
|
+
phone: z.ZodObject<{
|
|
22
|
+
visible: z.ZodBoolean;
|
|
23
|
+
}, z.core.$strict>;
|
|
24
|
+
}, z.core.$strict>;
|
|
25
|
+
}, z.core.$strict>], "kind">;
|
|
13
26
|
/**
|
|
14
27
|
* Contact form settings
|
|
15
28
|
* Used for general inquiry forms that send notifications to site owners
|
|
@@ -45,6 +58,19 @@ export declare const contactFormSettingsSchema: z.ZodObject<{
|
|
|
45
58
|
}, z.core.$strict>>;
|
|
46
59
|
emails: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
60
|
}, z.core.$strict>>;
|
|
61
|
+
definition: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
62
|
+
kind: z.ZodLiteral<"custom-contact">;
|
|
63
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
64
|
+
kind: z.ZodLiteral<"standard-contact">;
|
|
65
|
+
optionalFields: z.ZodObject<{
|
|
66
|
+
name: z.ZodObject<{
|
|
67
|
+
visible: z.ZodBoolean;
|
|
68
|
+
}, z.core.$strict>;
|
|
69
|
+
phone: z.ZodObject<{
|
|
70
|
+
visible: z.ZodBoolean;
|
|
71
|
+
}, z.core.$strict>;
|
|
72
|
+
}, z.core.$strict>;
|
|
73
|
+
}, z.core.$strict>], "kind">>;
|
|
48
74
|
}, z.core.$strict>;
|
|
49
75
|
/**
|
|
50
76
|
* Booking form settings
|
|
@@ -168,6 +194,19 @@ export declare const formSettingsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
168
194
|
}, z.core.$strict>>;
|
|
169
195
|
emails: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
170
196
|
}, z.core.$strict>>;
|
|
197
|
+
definition: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
198
|
+
kind: z.ZodLiteral<"custom-contact">;
|
|
199
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
200
|
+
kind: z.ZodLiteral<"standard-contact">;
|
|
201
|
+
optionalFields: z.ZodObject<{
|
|
202
|
+
name: z.ZodObject<{
|
|
203
|
+
visible: z.ZodBoolean;
|
|
204
|
+
}, z.core.$strict>;
|
|
205
|
+
phone: z.ZodObject<{
|
|
206
|
+
visible: z.ZodBoolean;
|
|
207
|
+
}, z.core.$strict>;
|
|
208
|
+
}, z.core.$strict>;
|
|
209
|
+
}, z.core.$strict>], "kind">>;
|
|
171
210
|
}, z.core.$strict>, z.ZodObject<{
|
|
172
211
|
type: z.ZodLiteral<"booking">;
|
|
173
212
|
serviceId: z.ZodOptional<z.ZodString>;
|
|
@@ -265,6 +304,19 @@ export declare const formSettingsInputSchema: z.ZodDiscriminatedUnion<[z.ZodObje
|
|
|
265
304
|
}, z.core.$strict>>;
|
|
266
305
|
emails: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
267
306
|
}, z.core.$strict>>;
|
|
307
|
+
definition: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
308
|
+
kind: z.ZodLiteral<"custom-contact">;
|
|
309
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
310
|
+
kind: z.ZodLiteral<"standard-contact">;
|
|
311
|
+
optionalFields: z.ZodObject<{
|
|
312
|
+
name: z.ZodObject<{
|
|
313
|
+
visible: z.ZodBoolean;
|
|
314
|
+
}, z.core.$strict>;
|
|
315
|
+
phone: z.ZodObject<{
|
|
316
|
+
visible: z.ZodBoolean;
|
|
317
|
+
}, z.core.$strict>;
|
|
318
|
+
}, z.core.$strict>;
|
|
319
|
+
}, z.core.$strict>], "kind">>;
|
|
268
320
|
readonly submitLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
269
321
|
readonly templateKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
270
322
|
}, z.core.$strict>, z.ZodObject<{
|
|
@@ -344,6 +396,7 @@ export type BookingQuestionsFormSettings = z.infer<typeof bookingQuestionsFormSe
|
|
|
344
396
|
export type FormSettings = z.infer<typeof formSettingsSchema>;
|
|
345
397
|
export type FormPresentationSettings = z.infer<typeof formPresentationSettingsSchema>;
|
|
346
398
|
export type FormSettingsInput = z.infer<typeof formSettingsInputSchema>;
|
|
399
|
+
export type ContactFormDefinitionSettings = z.infer<typeof contactFormDefinitionSettingsSchema>;
|
|
347
400
|
type JsonRecord = Record<string, unknown>;
|
|
348
401
|
export declare function stripPresentationKeysFromBehaviorSettings(value: unknown): JsonRecord;
|
|
349
402
|
export declare function extractFormPresentationSettings(input: Readonly<{
|
|
@@ -886,10 +939,14 @@ export declare function parseBookingQuestionsContent(shape: BookingQuestionsForm
|
|
|
886
939
|
* Form creation payload schema
|
|
887
940
|
* Validates the request body when creating a new form via API
|
|
888
941
|
*/
|
|
889
|
-
|
|
942
|
+
declare const formSlugBrand: unique symbol;
|
|
943
|
+
export type FormSlug = string & {
|
|
944
|
+
readonly [formSlugBrand]: 'FormSlug';
|
|
945
|
+
};
|
|
946
|
+
export declare const formSlugSchema: z.ZodPipe<z.ZodString, z.ZodTransform<FormSlug, string>>;
|
|
890
947
|
export declare const createFormPayloadSchema: z.ZodObject<{
|
|
891
948
|
name: z.ZodString;
|
|
892
|
-
slug: z.ZodString
|
|
949
|
+
slug: z.ZodPipe<z.ZodString, z.ZodTransform<FormSlug, string>>;
|
|
893
950
|
schema: z.ZodObject<{
|
|
894
951
|
version: z.ZodDefault<z.ZodString>;
|
|
895
952
|
fields: z.ZodArray<z.ZodObject<{
|
|
@@ -961,6 +1018,19 @@ export declare const createFormPayloadSchema: z.ZodObject<{
|
|
|
961
1018
|
}, z.core.$strict>>;
|
|
962
1019
|
emails: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
963
1020
|
}, z.core.$strict>>;
|
|
1021
|
+
definition: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1022
|
+
kind: z.ZodLiteral<"custom-contact">;
|
|
1023
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1024
|
+
kind: z.ZodLiteral<"standard-contact">;
|
|
1025
|
+
optionalFields: z.ZodObject<{
|
|
1026
|
+
name: z.ZodObject<{
|
|
1027
|
+
visible: z.ZodBoolean;
|
|
1028
|
+
}, z.core.$strict>;
|
|
1029
|
+
phone: z.ZodObject<{
|
|
1030
|
+
visible: z.ZodBoolean;
|
|
1031
|
+
}, z.core.$strict>;
|
|
1032
|
+
}, z.core.$strict>;
|
|
1033
|
+
}, z.core.$strict>], "kind">>;
|
|
964
1034
|
readonly submitLabel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
965
1035
|
readonly templateKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
966
1036
|
}, z.core.$strict>, z.ZodObject<{
|