@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,16 +1,17 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import type { ApiClient } from '../../../../api/src/request';
|
|
3
|
-
import { type BookingOfferingPresetSummary, type
|
|
3
|
+
import { type BookingOfferingPresetSummary, type Theme } from '../../../../blocks/src/index';
|
|
4
4
|
import type { FieldWidgetComponent } from '../../../../block-form/src/client/index';
|
|
5
5
|
import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
|
|
6
6
|
import { __testUtils, createPreviewEntryPickerAdapter, createPreviewLinkAdapters, createPreviewReferenceAdapters, createPreviewSiteOptionAdapters } from './widgetAdapters';
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Composes preview form widget providers beneath PreviewShell's media authority.
|
|
9
|
+
* Consumers rendering this directly must provide an ancestor MediaEditorProvider.
|
|
10
|
+
*/
|
|
11
|
+
export declare function PreviewFormProvider({ siteId: rawSiteId, theme, previewClient, bookingOfferingPresets, sdkConfig, children, }: {
|
|
8
12
|
siteId: string;
|
|
9
13
|
theme?: Theme | null;
|
|
10
14
|
previewClient: ApiClient;
|
|
11
|
-
bearerToken?: string | null;
|
|
12
|
-
supabaseUrl?: string;
|
|
13
|
-
mediaAssets?: MediaAssetIndexItem[];
|
|
14
15
|
bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
|
|
15
16
|
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
16
17
|
children: ReactNode;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { ManagementFooterContent } from '../../../../client/management/types';
|
|
2
|
+
import { writeFooterContentAfterPush } from '../../../content/footerFile';
|
|
1
3
|
import type { EnvTarget } from '../../../helpers';
|
|
2
4
|
import type { OutputContext } from '../../../output';
|
|
3
5
|
import { type FooterDiff } from '../../../sync/diff';
|
|
@@ -5,6 +7,12 @@ import type { PushOptions } from '../options';
|
|
|
5
7
|
export type FooterPushExecutionResult = Readonly<{
|
|
6
8
|
success: boolean;
|
|
7
9
|
}>;
|
|
10
|
+
export type FooterLocalRefreshResult = Readonly<{
|
|
11
|
+
kind: 'refreshed';
|
|
12
|
+
}> | Readonly<{
|
|
13
|
+
kind: 'failed';
|
|
14
|
+
cause: unknown;
|
|
15
|
+
}>;
|
|
8
16
|
type FooterPushDecision = Readonly<{
|
|
9
17
|
kind: 'unchanged';
|
|
10
18
|
}> | Readonly<{
|
|
@@ -21,6 +29,7 @@ export declare function footerDryRunPayload(diff: FooterDiff): Readonly<{
|
|
|
21
29
|
dryRun: true;
|
|
22
30
|
changes: readonly string[];
|
|
23
31
|
}>;
|
|
32
|
+
export declare function refreshLocalFooterAfterPush(contentDir: string, footer: ManagementFooterContent, writeFooter?: typeof writeFooterContentAfterPush): Promise<FooterLocalRefreshResult>;
|
|
24
33
|
export declare function executeFooterPush(input: Readonly<{
|
|
25
34
|
output: OutputContext;
|
|
26
35
|
target: EnvTarget;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export type LocalFooterContent = import('../../../../api/src/sdkContracts').SdkFooterContent;
|
|
3
|
+
export declare const localFooterContentSchema: z.ZodObject<{
|
|
4
|
+
composition: z.ZodPipe<z.ZodUnknown, z.ZodTransform<Readonly<{
|
|
5
|
+
schemaVersion: 1;
|
|
6
|
+
sections: readonly import("../../../../core/src/index").FooterSection[];
|
|
7
|
+
}>, unknown>>;
|
|
8
|
+
revision: z.ZodNumber;
|
|
9
|
+
}, z.core.$strict>;
|
|
10
|
+
export declare function writeFooterContentAfterPush(contentDir: string, footer: LocalFooterContent): Promise<string>;
|
|
@@ -12,8 +12,9 @@ import { type LocalEventScheduleIdentity } from './localEventSchedule';
|
|
|
12
12
|
export type { LocalEventOccurrence, LocalEventScheduleIdentity } from './localEventSchedule';
|
|
13
13
|
export { InvalidLocalEventScheduleIdentityError } from './localEventSchedule';
|
|
14
14
|
import { type ValidatedThemeForPersistence } from '../../../../blocks/src/index';
|
|
15
|
+
import type { RichTextDoc } from '../../../../core/src/index';
|
|
15
16
|
import type { EventPaymentTermsInput } from '../../client/management/types';
|
|
16
|
-
import { type
|
|
17
|
+
import { type LocalFooterContent } from './footerFile';
|
|
17
18
|
export interface LocalEntry {
|
|
18
19
|
identifier: string;
|
|
19
20
|
data: Record<string, unknown>;
|
|
@@ -125,10 +126,7 @@ export interface LocalTheme {
|
|
|
125
126
|
*
|
|
126
127
|
* Footer links are managed via navigation (footer menu), not this file.
|
|
127
128
|
*/
|
|
128
|
-
export
|
|
129
|
-
/** Rich text content in ProseMirror JSON format. Set to null to clear. */
|
|
130
|
-
bottomText?: RichTextDoc | null;
|
|
131
|
-
}
|
|
129
|
+
export type { LocalFooterContent } from './footerFile';
|
|
132
130
|
export interface LocalVenueAddress {
|
|
133
131
|
line1?: string | null;
|
|
134
132
|
line2?: string | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Result, type SiteId } from '../../../../core/src/index';
|
|
2
2
|
import { type SiteCommandOf } from '../../../../site-commands/src/index';
|
|
3
|
-
import type { ManagementClient } from '../../client/management/types';
|
|
3
|
+
import type { ManagementClient, ManagementFooterContent } from '../../client/management/types';
|
|
4
4
|
import type { LocalFooterContent } from '../content/reader';
|
|
5
5
|
import type { EnvTarget } from '../helpers';
|
|
6
6
|
import type { FooterDiff } from '../sync/diff';
|
|
@@ -20,7 +20,16 @@ export type FooterSiteCommandType = 'upsertFooterContent';
|
|
|
20
20
|
export type FooterSiteCommand = SiteCommandOf<FooterSiteCommandType>;
|
|
21
21
|
export type FooterSiteCommandPlan = CliFooterCommandCompileSuccess['plan'];
|
|
22
22
|
export type CliFooterCommandExecutionError = CliCommandExecutionError<FooterSiteCommandType>;
|
|
23
|
-
export type
|
|
23
|
+
export type CliFooterCommandApplication = Readonly<{
|
|
24
|
+
kind: 'not-applied';
|
|
25
|
+
}> | Readonly<{
|
|
26
|
+
kind: 'applied';
|
|
27
|
+
authoritativeFooter: ManagementFooterContent | null;
|
|
28
|
+
}>;
|
|
29
|
+
export type CliFooterCommandExecutionResult = Readonly<{
|
|
30
|
+
execution: CliCommandExecutionResult<FooterSiteCommandType>;
|
|
31
|
+
application: CliFooterCommandApplication;
|
|
32
|
+
}>;
|
|
24
33
|
export declare const footerSiteCommandTypes: readonly ["upsertFooterContent"];
|
|
25
34
|
export type FooterCommandReportSubject = Readonly<{
|
|
26
35
|
identifier: 'footer';
|
|
@@ -36,7 +45,10 @@ export declare function executeFooterCommandPlanAsSyncResult(input: Readonly<{
|
|
|
36
45
|
client: Pick<ManagementClient, 'footer'>;
|
|
37
46
|
compiledPlan: FooterCommandCompiledPlan;
|
|
38
47
|
onBeforeExecute?: (commandCount: number) => void;
|
|
39
|
-
}>): Promise<
|
|
48
|
+
}>): Promise<Readonly<{
|
|
49
|
+
syncResult: SyncResult;
|
|
50
|
+
application: CliFooterCommandApplication;
|
|
51
|
+
}>>;
|
|
40
52
|
export declare function executeFooterCommandPlanAsReport(input: Readonly<{
|
|
41
53
|
client: Pick<ManagementClient, 'footer'>;
|
|
42
54
|
compiledPlan: FooterCommandCompiledPlan;
|
|
@@ -9,7 +9,7 @@ import type { SiteCommandOf } from '../../../../site-commands/src/index';
|
|
|
9
9
|
import type { SdkEventPricing, SdkEventPricingInput, SdkEventTicketTypeInput } from '../../../../api/src/sdk-event-pricing';
|
|
10
10
|
import type { SdkEventPaymentTerms, SdkEventPaymentTermsInput } from '../../../../api/src/sdk-event-payment-terms';
|
|
11
11
|
import type { SdkEventUpsertBody } from '../../../../api/src/sdk-event-upsert';
|
|
12
|
-
import type { SdkAddEventOccurrenceRequest, SdkEventOccurrenceCapacityIntent, SdkEventOccurrenceScheduleInput, SdkManagementEventOccurrence, SdkManagementEventSeries, SdkPullEventSeries } from '../../../../api/src/sdkContracts';
|
|
12
|
+
import type { SdkAddEventOccurrenceRequest, SdkEventOccurrenceCapacityIntent, SdkEventOccurrenceScheduleInput, SdkManagementEventOccurrence, SdkManagementEventSeries, SdkFooterContent, SdkPullEventSeries } from '../../../../api/src/sdkContracts';
|
|
13
13
|
import type { SdkPullTruncationMeta } from '../../../../api/src/sdkContracts';
|
|
14
14
|
import type { SdkCapabilitiesResponse, SdkCatalogBlocksResponse, SdkCatalogContentTypesResponse, SdkCatalogThemeResponse, SdkDemoContentResponse } from '../../../../api/src/sdkContracts';
|
|
15
15
|
import type { SdkEntryPublishErrorCode, SdkPagePublishErrorCode, SdkPublicationOutcome } from '../../../../api/src/sdkContracts';
|
|
@@ -542,27 +542,18 @@ export interface ThemeStyleSelectionApplyResult {
|
|
|
542
542
|
}
|
|
543
543
|
/**
|
|
544
544
|
* Footer content for SDK management operations.
|
|
545
|
-
*
|
|
546
|
-
*
|
|
545
|
+
* The footer sync boundary carries the complete composition and its optimistic
|
|
546
|
+
* concurrency revision.
|
|
547
547
|
*/
|
|
548
|
-
export
|
|
549
|
-
/** Rich text content in ProseMirror JSON format */
|
|
550
|
-
bottomText?: RichTextDoc;
|
|
551
|
-
}
|
|
548
|
+
export type FooterContent = ManagementFooterContent;
|
|
552
549
|
/**
|
|
553
550
|
* Footer content as returned from CMS.
|
|
554
551
|
*/
|
|
555
|
-
export
|
|
556
|
-
/** Rich text content in ProseMirror JSON format */
|
|
557
|
-
bottomText: RichTextDoc;
|
|
558
|
-
}
|
|
552
|
+
export type ManagementFooterContent = SdkFooterContent;
|
|
559
553
|
/**
|
|
560
554
|
* Input for upserting footer content.
|
|
561
555
|
*/
|
|
562
|
-
export
|
|
563
|
-
/** Set to null to clear. */
|
|
564
|
-
bottomText?: RichTextDoc | null;
|
|
565
|
-
}
|
|
556
|
+
export type FooterContentUpsertInput = NonNullable<APIEndpoints['sdkUpsertFooter']['body']>;
|
|
566
557
|
export interface PulledFooter {
|
|
567
558
|
footer: ManagementFooterContent | null;
|
|
568
559
|
meta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CheckRedirectResponse, EntriesResponse, EntryResponse, PageResponse, PublicBookingServicesResponse, PublicWeeklySlotAvailabilityResponse, PublicFormResponse, PublicFormsResponse, PublicProductsResponse, PublicTeamMembersResponse, PublicMembershipsResponse, PublicPassesResponse, PublicEventDetailsResponse, PublicEventsResponse, ResolveEventOccurrenceResponse, RouteDecisionResponse, RouteOutcomeResponse, RoutableContentResponse, SiteResponse, SitemapRoutesResponse, PublicProductCategorySelector } from '../public-api/contracts';
|
|
1
|
+
import type { CheckRedirectResponse, EntriesResponse, EntryResponse, PageResponse, PublicBookingServicesResponse, PublicWeeklySlotAvailabilityResponse, PublicFormResponse, PublicFormsResponse, PublicProductsResponse, PublicTeamMembersResponse, PublicMembershipsResponse, PublicPassesResponse, PublicEventDetailsResponse, PublicEventsResponse, PublicWholeSeriesOfferingResponse, ResolveEventOccurrenceResponse, RouteDecisionResponse, RouteOutcomeResponse, RoutableContentResponse, SiteResponse, SitemapRoutesResponse, PublicProductCategorySelector } from '../public-api/contracts';
|
|
2
2
|
import type { PublishedRuntimeCacheAdapter, PublishedRuntimeCacheAdapterErrorKind } from './runtimeCachePolicy';
|
|
3
|
-
export type { CheckRedirectResponse, EntriesResponse, EntryResponse, PageResponse, PublicBookingServicesResponse, PublicWeeklySlotAvailabilityResponse, PublicEventsResponse, PublicFormResponse, PublicFormsResponse, PublicProductsResponse, PublicTeamMembersResponse, PublicMembershipsResponse, PublicPassesResponse, PublicEventDetailsResponse, ResolveEventOccurrenceResponse, RouteDecisionResponse, RouteOutcomeResponse, RoutableContentResponse, SiteResponse, SitemapRoutesResponse, } from '../public-api/contracts';
|
|
3
|
+
export type { CheckRedirectResponse, EntriesResponse, EntryResponse, PageResponse, PublicBookingServicesResponse, PublicWeeklySlotAvailabilityResponse, PublicEventsResponse, PublicFormResponse, PublicFormsResponse, PublicProductsResponse, PublicTeamMembersResponse, PublicMembershipsResponse, PublicPassesResponse, PublicEventDetailsResponse, PublicWholeSeriesOfferingResponse, ResolveEventOccurrenceResponse, RouteDecisionResponse, RouteOutcomeResponse, RoutableContentResponse, SiteResponse, SitemapRoutesResponse, } from '../public-api/contracts';
|
|
4
4
|
/**
|
|
5
5
|
* Pagination metadata returned when `includeMeta: true`
|
|
6
6
|
*/
|
|
@@ -512,6 +512,14 @@ export interface RiverbankClient {
|
|
|
512
512
|
seriesId?: string;
|
|
513
513
|
includeOccurrenceId?: string;
|
|
514
514
|
} & SdkMethodOptions): Promise<PublicEventDetailsResponse>;
|
|
515
|
+
/**
|
|
516
|
+
* Fetch one whole-series offering for a registration surface.
|
|
517
|
+
*/
|
|
518
|
+
getPublicWholeSeriesOffering(params: {
|
|
519
|
+
siteId: string;
|
|
520
|
+
eventSeriesId: string;
|
|
521
|
+
stage?: string;
|
|
522
|
+
} & SdkMethodOptions): Promise<PublicWholeSeriesOfferingResponse>;
|
|
515
523
|
/**
|
|
516
524
|
* List public team members for a site (for Team Members block)
|
|
517
525
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ApiClient, ApiResult } from '../../../api/src/public/index';
|
|
2
|
+
import type { RiverbankClient } from './types';
|
|
3
|
+
type WholeSeriesReadDeps = Readonly<{
|
|
4
|
+
apiClient: ApiClient;
|
|
5
|
+
resilientFetchData: <T>(cacheKey: string, fetcher: (signal: AbortSignal) => Promise<ApiResult<T>>, options: Readonly<{
|
|
6
|
+
signal?: AbortSignal;
|
|
7
|
+
}>) => Promise<T>;
|
|
8
|
+
}>;
|
|
9
|
+
type WholeSeriesReadOperations = Pick<RiverbankClient, 'getPublicWholeSeriesOffering'>;
|
|
10
|
+
export declare function createWholeSeriesReadOperations(deps: WholeSeriesReadDeps): WholeSeriesReadOperations;
|
|
11
|
+
export {};
|
|
@@ -45,7 +45,7 @@ export type BlockCategory = 'marketing' | 'content' | 'blog' | 'media' | 'layout
|
|
|
45
45
|
*
|
|
46
46
|
* Re-exported from `@riverbankcms/blocks` (single source of truth).
|
|
47
47
|
*/
|
|
48
|
-
export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "listPublicRecurringSchedule", "getPublicEventDetails", "listPublicWholeSeriesOfferings", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
|
|
48
|
+
export declare const SUPPORTED_LOADER_ENDPOINTS: readonly ["listPublishedEntries", "getPublishedEntryPreview", "listPublicEvents", "listPublicRecurringSchedule", "getPublicEventDetails", "listPublicWholeSeriesOfferings", "getPublicWholeSeriesOffering", "listPublicRouteCandidates", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "getPublicFormById", "getPublicBookingServices", "getPublicWeeklySlotAvailability"];
|
|
49
49
|
export type SdkLoaderEndpoint = (typeof SUPPORTED_LOADER_ENDPOINTS)[number];
|
|
50
50
|
export type LoaderParamBinding = {
|
|
51
51
|
$bind: {
|
|
@@ -137,6 +137,7 @@ export declare const sdkLoaderEndpointSchema: z.ZodEnum<{
|
|
|
137
137
|
getPublicBookingServices: "getPublicBookingServices";
|
|
138
138
|
getPublicWeeklySlotAvailability: "getPublicWeeklySlotAvailability";
|
|
139
139
|
listPublicEvents: "listPublicEvents";
|
|
140
|
+
getPublicWholeSeriesOffering: "getPublicWholeSeriesOffering";
|
|
140
141
|
listPublicPasses: "listPublicPasses";
|
|
141
142
|
listPublicMemberships: "listPublicMemberships";
|
|
142
143
|
listPublicProducts: "listPublicProducts";
|
|
@@ -226,6 +227,7 @@ export declare const sdkConfigLoaderSchema: z.ZodObject<{
|
|
|
226
227
|
getPublicBookingServices: "getPublicBookingServices";
|
|
227
228
|
getPublicWeeklySlotAvailability: "getPublicWeeklySlotAvailability";
|
|
228
229
|
listPublicEvents: "listPublicEvents";
|
|
230
|
+
getPublicWholeSeriesOffering: "getPublicWholeSeriesOffering";
|
|
229
231
|
listPublicPasses: "listPublicPasses";
|
|
230
232
|
listPublicMemberships: "listPublicMemberships";
|
|
231
233
|
listPublicProducts: "listPublicProducts";
|
|
@@ -291,6 +293,7 @@ export declare const sdkDataLoadersSchema: z.ZodOptional<z.ZodRecord<z.ZodString
|
|
|
291
293
|
getPublicBookingServices: "getPublicBookingServices";
|
|
292
294
|
getPublicWeeklySlotAvailability: "getPublicWeeklySlotAvailability";
|
|
293
295
|
listPublicEvents: "listPublicEvents";
|
|
296
|
+
getPublicWholeSeriesOffering: "getPublicWholeSeriesOffering";
|
|
294
297
|
listPublicPasses: "listPublicPasses";
|
|
295
298
|
listPublicMemberships: "listPublicMemberships";
|
|
296
299
|
listPublicProducts: "listPublicProducts";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ButtonVariant, SectionStylesContent } from './system-block-content';
|
|
2
|
+
export type EventRegistrationContent = {
|
|
3
|
+
heading?: string | null;
|
|
4
|
+
showSessions?: boolean | null;
|
|
5
|
+
description?: unknown;
|
|
6
|
+
showPrice?: boolean | null;
|
|
7
|
+
maxTickets?: '1' | '2' | '3' | '5' | '10' | null;
|
|
8
|
+
showCapacity?: boolean | null;
|
|
9
|
+
successMessage?: string | null;
|
|
10
|
+
showVenue?: boolean | null;
|
|
11
|
+
membershipMessage?: string | null;
|
|
12
|
+
waitlistMessage?: string | null;
|
|
13
|
+
buttonText?: string | null;
|
|
14
|
+
buttonVariant?: ButtonVariant | null;
|
|
15
|
+
_sectionStyles?: SectionStylesContent;
|
|
16
|
+
};
|
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
* require importing internal blocks package types.
|
|
6
6
|
*/
|
|
7
7
|
import type { InlineText, LinkValue, Media } from './content';
|
|
8
|
+
import type { EventRegistrationContent } from './event-registration-content';
|
|
9
|
+
export type { EventRegistrationContent } from './event-registration-content';
|
|
8
10
|
import type { Brand, EventCategoryId, RichTextDoc, VenueId } from '../../../core/src/index';
|
|
11
|
+
import type { SiteFooterContent as BlocksSiteFooterContent } from '../../../blocks/src/system/blocks/site-footer';
|
|
9
12
|
type UnknownRecord = Record<string, unknown>;
|
|
10
13
|
type ImageMedia = Omit<Media, 'type'> & {
|
|
11
14
|
type: 'image';
|
|
@@ -246,18 +249,6 @@ export type EventListingContent = {
|
|
|
246
249
|
emptyMessage?: string | null;
|
|
247
250
|
_sectionStyles?: SectionStylesContent;
|
|
248
251
|
};
|
|
249
|
-
export type EventRegistrationContent = {
|
|
250
|
-
heading?: string | null;
|
|
251
|
-
description?: unknown;
|
|
252
|
-
maxTickets?: '1' | '2' | '3' | '5' | '10' | null;
|
|
253
|
-
showVenue?: boolean | null;
|
|
254
|
-
showCapacity?: boolean | null;
|
|
255
|
-
successMessage?: string | null;
|
|
256
|
-
waitlistMessage?: string | null;
|
|
257
|
-
buttonText?: string | null;
|
|
258
|
-
buttonVariant?: ButtonVariant | null;
|
|
259
|
-
_sectionStyles?: SectionStylesContent;
|
|
260
|
-
};
|
|
261
252
|
export type EventSpotlightContent = {
|
|
262
253
|
heading?: string | null;
|
|
263
254
|
description?: unknown;
|
|
@@ -505,9 +496,7 @@ export type CheckoutContent = {
|
|
|
505
496
|
emptyStateText?: string | null;
|
|
506
497
|
_sectionStyles?: SectionStylesContent;
|
|
507
498
|
};
|
|
508
|
-
export type SiteFooterContent =
|
|
509
|
-
showBusinessAddress?: boolean | null;
|
|
510
|
-
}>;
|
|
499
|
+
export type SiteFooterContent = BlocksSiteFooterContent;
|
|
511
500
|
export type SiteHeaderMode = 'default' | 'hidden';
|
|
512
501
|
export type SiteHeaderContent = Readonly<{
|
|
513
502
|
mode?: SiteHeaderMode | null;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { CreateCatchAllPageOptions, CreateCatchAllPageResult } from './types';
|
|
2
|
+
type InvalidCatchAllRenderingOption = 'missing_block_overrides' | 'theme_option_in_overrides_only' | 'theme_runtime_in_overrides_only';
|
|
3
|
+
export declare class InvalidCatchAllRenderingOptionsError extends Error {
|
|
4
|
+
readonly code: InvalidCatchAllRenderingOption;
|
|
5
|
+
constructor(code: InvalidCatchAllRenderingOption);
|
|
6
|
+
}
|
|
2
7
|
/** Build a Next.js catch-all page and metadata generator for Riverbank content. */
|
|
3
8
|
export declare function createCatchAllPage(options: CreateCatchAllPageOptions): CreateCatchAllPageResult;
|
|
9
|
+
export {};
|
|
@@ -37,9 +37,10 @@
|
|
|
37
37
|
*
|
|
38
38
|
* @packageDocumentation
|
|
39
39
|
*/
|
|
40
|
-
export { createCatchAllPage } from './catch-all';
|
|
40
|
+
export { createCatchAllPage, InvalidCatchAllRenderingOptionsError, } from './catch-all';
|
|
41
41
|
export { RiverbankContentLoadError, SdkContentLoadError, classifyContentLoadError, isSdkContentLoadError, toContentLoadFailureLogFields, type CatchAllContentLoadFailureContext, type CatchAllRequestContext, type ClassifiedContentLoadError, type SdkContentLoadFailure, type SdkContentLoadFailureKind, type SdkContentLoadNotFound, } from './content-load-failure';
|
|
42
42
|
export type { CreateCatchAllPageOptions, CreateCatchAllPageResult, CatchAllPageProps, CatchAllContext, ThemeSwitchConfigV1, ThemeResolverContext, } from './types';
|
|
43
|
+
export type { SdkOverrideOnlyRendering, SdkOverrideOnlyRuntime, SdkRenderingMode, } from '../rendering/renderingMode';
|
|
43
44
|
export type { BlockLoaderMap, DataLoaderContext, DataLoaderFn, DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderRenderTarget, DataLoaderSearchParams, DataLoaderValue, } from '../data/types';
|
|
44
45
|
export { createGenerateStaticParams, generateAllStaticParams, normalizeStaticRoutePath, validateStaticParamsEnv, pathToSlugArray, routesToStaticParams, type CreateGenerateStaticParamsOptions, type GenerateAllStaticParamsOptions, type StaticParam, type StaticParamsClient, type StaticParamsEnvResult, type StaticParamsFailureContext, type StaticParamsFailureMode, type StaticParamsRoute, } from './static-params';
|
|
45
46
|
export { createSitemap, type CreateSitemapOptions, type SitemapGenerator, } from './sitemap';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type LoadContentResult } from '../rendering/helpers/loadContent';
|
|
3
|
+
import type { BlockOverrideRegistrations } from '../rendering/overrides';
|
|
4
|
+
import type { SdkRenderingMode } from '../rendering/renderingMode';
|
|
5
|
+
import type { SdkThemeRuntime } from '../rendering/themeRuntime';
|
|
6
|
+
import type { Theme } from '../contracts';
|
|
7
|
+
import type { toEntrySubrouteContext } from './catch-all-utils';
|
|
8
|
+
type CommonRenderInput = Readonly<{
|
|
9
|
+
apiBaseUrl: string;
|
|
10
|
+
blockOverrides?: BlockOverrideRegistrations;
|
|
11
|
+
content: LoadContentResult;
|
|
12
|
+
entrySubrouteContext: ReturnType<typeof toEntrySubrouteContext>;
|
|
13
|
+
portalToken: string | null;
|
|
14
|
+
preview: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
export type SdkContentRenderInput = CommonRenderInput & (Readonly<{
|
|
17
|
+
kind: 'themed';
|
|
18
|
+
theme: Theme;
|
|
19
|
+
themeRuntime: SdkThemeRuntime;
|
|
20
|
+
}> | Readonly<{
|
|
21
|
+
kind: 'overrides-only';
|
|
22
|
+
rendering: Extract<SdkRenderingMode, {
|
|
23
|
+
kind: 'overrides-only';
|
|
24
|
+
}>;
|
|
25
|
+
}>);
|
|
26
|
+
export type RenderSdkContentResult = Readonly<{
|
|
27
|
+
kind: 'rendered';
|
|
28
|
+
node: React.ReactNode;
|
|
29
|
+
}> | Readonly<{
|
|
30
|
+
kind: 'not-found';
|
|
31
|
+
}>;
|
|
32
|
+
export declare function renderSdkContent(input: SdkContentRenderInput): Promise<RenderSdkContentResult>;
|
|
33
|
+
export {};
|
|
@@ -9,6 +9,7 @@ import type { RiverbankClient } from '../client/types';
|
|
|
9
9
|
import type { RiverbankSiteConfig } from '../config/types';
|
|
10
10
|
import type { Theme } from '../contracts';
|
|
11
11
|
import type { SdkThemeRuntime } from '../rendering/themeRuntime';
|
|
12
|
+
import type { SdkOverrideOnlyRendering, SdkRenderingMode } from '../rendering/renderingMode';
|
|
12
13
|
import type { BlockOverrideRegistrations } from '../rendering/overrides';
|
|
13
14
|
import type { Metadata } from '../metadata/generatePageMetadata';
|
|
14
15
|
import type { LoadContentResult } from '../rendering/helpers/loadContent';
|
|
@@ -30,6 +31,8 @@ export interface CatchAllContext {
|
|
|
30
31
|
* visual theme/responsive infrastructure contract.
|
|
31
32
|
*/
|
|
32
33
|
themeRuntime: SdkThemeRuntime;
|
|
34
|
+
/** Explicit rendering capabilities selected for this request. */
|
|
35
|
+
rendering: SdkRenderingMode;
|
|
33
36
|
/** Search parameters from the URL (for filtering, pagination, etc.) */
|
|
34
37
|
searchParams: DataLoaderSearchParams;
|
|
35
38
|
}
|
|
@@ -138,7 +141,7 @@ type CatchAllThemeOptions = {
|
|
|
138
141
|
* });
|
|
139
142
|
* ```
|
|
140
143
|
*/
|
|
141
|
-
|
|
144
|
+
type CreateCatchAllPageBaseOptions = {
|
|
142
145
|
/**
|
|
143
146
|
* Function that returns the Riverbank client.
|
|
144
147
|
* Called fresh on each request to support different caching strategies.
|
|
@@ -186,7 +189,6 @@ export type CreateCatchAllPageOptions = {
|
|
|
186
189
|
* Wrap client-heavy dynamic imports with defineLazyBlockOverride(); raw
|
|
187
190
|
* promise-returning functions are not lazy override registrations.
|
|
188
191
|
*/
|
|
189
|
-
blockOverrides?: BlockOverrideRegistrations;
|
|
190
192
|
/**
|
|
191
193
|
* Server-only host data loaders for custom blocks.
|
|
192
194
|
*
|
|
@@ -286,12 +288,6 @@ export type CreateCatchAllPageOptions = {
|
|
|
286
288
|
wrapper?: (props: {
|
|
287
289
|
children: ReactNode;
|
|
288
290
|
}) => ReactNode | Promise<ReactNode>;
|
|
289
|
-
/**
|
|
290
|
-
* Controls the runtime wrapper around rendered page content.
|
|
291
|
-
*
|
|
292
|
-
* @default { kind: 'responsive-only' }
|
|
293
|
-
*/
|
|
294
|
-
themeRuntime?: SdkThemeRuntime;
|
|
295
291
|
/**
|
|
296
292
|
* Enable portal authentication for the reserved `/portal` customer route.
|
|
297
293
|
*
|
|
@@ -315,7 +311,25 @@ export type CreateCatchAllPageOptions = {
|
|
|
315
311
|
* ```
|
|
316
312
|
*/
|
|
317
313
|
enablePortal?: boolean;
|
|
318
|
-
}
|
|
314
|
+
};
|
|
315
|
+
type ThemedCatchAllOptions = CatchAllThemeOptions & {
|
|
316
|
+
/** Default theme-backed rendering behavior. */
|
|
317
|
+
rendering?: never;
|
|
318
|
+
blockOverrides?: BlockOverrideRegistrations;
|
|
319
|
+
/** @default { kind: 'responsive-only' } */
|
|
320
|
+
themeRuntime?: SdkThemeRuntime;
|
|
321
|
+
};
|
|
322
|
+
type OverrideOnlyCatchAllOptions = {
|
|
323
|
+
/** Render exclusively through host-provided block overrides. */
|
|
324
|
+
rendering: SdkOverrideOnlyRendering;
|
|
325
|
+
blockOverrides: BlockOverrideRegistrations;
|
|
326
|
+
themeRuntime?: never;
|
|
327
|
+
theme?: never;
|
|
328
|
+
themes?: never;
|
|
329
|
+
themeSwitch?: never;
|
|
330
|
+
getTheme?: never;
|
|
331
|
+
};
|
|
332
|
+
export type CreateCatchAllPageOptions = CreateCatchAllPageBaseOptions & (ThemedCatchAllOptions | OverrideOnlyCatchAllOptions);
|
|
319
333
|
/**
|
|
320
334
|
* Next.js page props for catch-all routes.
|
|
321
335
|
*
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import type { ComponentType, ReactNode } from
|
|
2
|
-
import type { CatchAllContext } from
|
|
3
|
-
import type {
|
|
4
|
-
type PreviewModeClientProps = Omit<SdkPreviewModeProps, "blockOverrides">;
|
|
1
|
+
import type { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import type { CatchAllContext } from '../next/types';
|
|
3
|
+
import type { SdkPreviewModePropsWithoutBlockOverrides } from './client';
|
|
5
4
|
export type CreatePreviewModeBeforeRenderOptions = {
|
|
6
5
|
getClient: () => {
|
|
7
6
|
getBaseUrl(): string;
|
|
8
7
|
};
|
|
9
8
|
siteId: string;
|
|
10
9
|
siteSlug: string;
|
|
11
|
-
PreviewModeClient: ComponentType<
|
|
10
|
+
PreviewModeClient: ComponentType<SdkPreviewModePropsWithoutBlockOverrides>;
|
|
12
11
|
/**
|
|
13
12
|
* When omitted, defaults to `process.env.RIVERBANK_PREVIEW_MODE === 'true'`.
|
|
14
13
|
* This mirrors the scaffolds and makes it easy to keep preview wiring committed
|
|
@@ -34,4 +33,3 @@ export type CreatePreviewModeBeforeRenderOptions = {
|
|
|
34
33
|
* (e.g. `SdkPreviewModeClient`) to avoid serializing functions over the RSC boundary.
|
|
35
34
|
*/
|
|
36
35
|
export declare function createPreviewModeBeforeRender(options: CreatePreviewModeBeforeRenderOptions): (context: CatchAllContext) => Promise<ReactNode | null>;
|
|
37
|
-
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, { type ReactNode } from
|
|
2
|
-
import type { PreviewShellLayoutProps, PreviewShellProps, SdkPreviewModeProps } from
|
|
3
|
-
export type { SdkPreviewModeContent, SdkPreviewModeProps, PreviewThemeRuntime, PreviewThemeResponsiveMode, PreviewShellProps, PreviewShellLayoutProps, } from '../../../../preview-next/src/client/index';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
|
+
import type { PreviewShellLayoutProps, PreviewShellProps, SdkPreviewModeProps } from '../../../../preview-next/src/client/index';
|
|
3
|
+
export type { SdkPreviewModeContent, SdkPreviewModeProps, SdkPreviewModePropsWithoutBlockOverrides, PreviewThemeRuntime, PreviewThemeResponsiveMode, PreviewShellProps, PreviewShellLayoutProps, } from '../../../../preview-next/src/client/index';
|
|
4
4
|
type PreviewQueryProviderProps = Readonly<{
|
|
5
5
|
children: ReactNode;
|
|
6
6
|
}>;
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { PreviewShellLayoutProps, PreviewShellProps, SdkPreviewModeProps } from '../../../../preview-next/src/client/sdk-runtime';
|
|
3
3
|
export { PreviewLayoutProvider, usePreviewLayout, useOptionalPreviewLayout, } from '../../../../preview-next/src/client/layout/PreviewLayoutContext';
|
|
4
4
|
export { PreviewQueryProvider, createPreviewQueryClient, } from '../../../../preview-next/src/client/preview/PreviewQueryProvider';
|
|
5
|
-
export type { PreviewShellProps, PreviewShellLayoutProps, SdkPreviewModeContent, SdkPreviewModeProps, } from '../../../../preview-next/src/client/sdk-runtime';
|
|
5
|
+
export type { PreviewShellProps, PreviewShellLayoutProps, SdkPreviewModeContent, SdkPreviewModeProps, SdkPreviewModePropsWithoutBlockOverrides, } from '../../../../preview-next/src/client/sdk-runtime';
|
|
6
6
|
export declare function SdkPreviewMode(props: SdkPreviewModeProps): React.JSX.Element;
|
|
7
7
|
export declare function PreviewShell(props: PreviewShellProps): React.JSX.Element;
|
|
8
8
|
export declare function PreviewShellLayout(props: PreviewShellLayoutProps): React.JSX.Element;
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
import type { AddressedLocationValue, BusinessAddress } from '../../../core/src/index';
|
|
2
2
|
import type { APIEndpoints, SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject, SiteBySlugResponse as ApiSiteBySlugResponse, SiteBookingOfferingPresetSummary as ApiSiteBookingOfferingPresetSummary } from '../../../api/src/index';
|
|
3
|
-
import type {
|
|
3
|
+
import type { MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent } from '../contracts';
|
|
4
4
|
import type { CompiledBoundaryRuntime } from '../../../theme-core/src/site-styles/index';
|
|
5
5
|
import type { BlockFieldConfig as SdkBlockFieldConfig, BlockFieldOptionsMap as SdkBlockFieldOptionsMap, ContentConfig as SdkContentConfig, ContainerOptionsConfig as SdkContainerOptionsConfig, FieldSelectOption as SdkFieldSelectOption, SdkCustomBlock, SdkThemeConfig, SdkThemePalette, SectionBackground as SdkSectionBackground, SectionOptionsConfig as SdkSectionOptionsConfig, SiteStyleConfig as SdkSiteStyleConfig } from '../config/types';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
roleLabel: string | null;
|
|
10
|
-
summary: string | null;
|
|
11
|
-
profilePath: string | null;
|
|
12
|
-
};
|
|
13
|
-
export type PublicTeamMemberPhoto = (Omit<Media, 'type'> & {
|
|
14
|
-
type: 'image';
|
|
15
|
-
}) | null;
|
|
16
|
-
export type PublicTeamMemberBlockItem = PublicTeamMemberSummary & {
|
|
17
|
-
_type: 'teamMember';
|
|
18
|
-
role: string | null;
|
|
19
|
-
bio: string | null;
|
|
20
|
-
photo: PublicTeamMemberPhoto;
|
|
21
|
-
};
|
|
6
|
+
import type { PublicTeamMemberBlockItem } from './teamMemberContracts';
|
|
7
|
+
export type { PublicTeamMemberBlockItem, PublicTeamMemberPhoto, PublicTeamMemberSummary, } from './teamMemberContracts';
|
|
8
|
+
export type { PublicWholeSeriesOfferingResponse } from './wholeSeriesContracts';
|
|
22
9
|
export type RuntimeSiteSdkConfig = {
|
|
23
10
|
theme?: SdkThemeConfig;
|
|
24
11
|
customBlocks?: SdkCustomBlock[];
|
|
@@ -900,4 +887,3 @@ export type PublicSdkContainerOptionsConfig = SdkContainerOptionsConfig;
|
|
|
900
887
|
export type PublicSdkBlockFieldConfig = SdkBlockFieldConfig;
|
|
901
888
|
export type PublicSdkBlockFieldOptionsMap = SdkBlockFieldOptionsMap;
|
|
902
889
|
export type PublicSdkFieldSelectOption = SdkFieldSelectOption;
|
|
903
|
-
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Media } from '../contracts';
|
|
2
|
+
export type PublicTeamMemberSummary = {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
roleLabel: string | null;
|
|
6
|
+
summary: string | null;
|
|
7
|
+
profilePath: string | null;
|
|
8
|
+
};
|
|
9
|
+
export type PublicTeamMemberPhoto = (Omit<Media, 'type'> & {
|
|
10
|
+
type: 'image';
|
|
11
|
+
}) | null;
|
|
12
|
+
export type PublicTeamMemberBlockItem = PublicTeamMemberSummary & {
|
|
13
|
+
_type: 'teamMember';
|
|
14
|
+
role: string | null;
|
|
15
|
+
bio: string | null;
|
|
16
|
+
photo: PublicTeamMemberPhoto;
|
|
17
|
+
};
|
|
@@ -3,8 +3,18 @@ import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextDa
|
|
|
3
3
|
import type { SdkCustomBlock } from '../config/types';
|
|
4
4
|
import type { BlockOverrides } from './overrides';
|
|
5
5
|
import type { SiteBookingOfferingPresetSummary } from '../public-api/contracts';
|
|
6
|
+
import { type BlocksImageResolveContextInput, type BlocksMediaAssetIndexItem } from './mediaAssets';
|
|
6
7
|
import type { EventPageSurfaceSubjectWire } from '../../../core/src/index';
|
|
7
8
|
export type ComponentRegistry = Record<string, React.ElementType>;
|
|
9
|
+
export type MissingBlockOverrideError = Error & Readonly<{
|
|
10
|
+
code: 'missing_block_override';
|
|
11
|
+
blockKind: string;
|
|
12
|
+
}>;
|
|
13
|
+
type MissingBlockOverrideErrorConstructor = Readonly<{
|
|
14
|
+
new (blockKind: string): MissingBlockOverrideError;
|
|
15
|
+
prototype: MissingBlockOverrideError;
|
|
16
|
+
}>;
|
|
17
|
+
export declare const MissingBlockOverrideError: MissingBlockOverrideErrorConstructor;
|
|
8
18
|
export type PageRendererDataContext = {
|
|
9
19
|
siteId?: string;
|
|
10
20
|
pageId?: string;
|
|
@@ -26,12 +36,16 @@ export type PageRendererDataContext = {
|
|
|
26
36
|
apiBaseUrl?: string;
|
|
27
37
|
portalToken?: string | null;
|
|
28
38
|
previewToken?: string | null;
|
|
39
|
+
eventRegistrationOverlayEnabled?: boolean;
|
|
40
|
+
};
|
|
41
|
+
export type BlocksPageRendererDataContext = Omit<PageRendererDataContext, 'mediaAssets' | 'imageResolveContext'> & {
|
|
42
|
+
mediaAssets?: readonly BlocksMediaAssetIndexItem[];
|
|
43
|
+
imageResolveContext?: BlocksImageResolveContextInput;
|
|
29
44
|
};
|
|
30
45
|
export type SdkConfigForRenderer = {
|
|
31
46
|
customBlocks?: SdkCustomBlock[];
|
|
32
47
|
};
|
|
33
|
-
|
|
34
|
-
theme: Theme;
|
|
48
|
+
type PageRendererCommonProps = {
|
|
35
49
|
page: PageOutline | null;
|
|
36
50
|
runtimeBoundaries?: readonly PageRuntimeBoundary[];
|
|
37
51
|
usePlaceholders?: boolean;
|
|
@@ -39,9 +53,24 @@ export type PageRendererProps = {
|
|
|
39
53
|
routeMap?: RouteMap;
|
|
40
54
|
wrapBlock?: (blockId: string, rendered: React.ReactNode) => React.ReactNode;
|
|
41
55
|
registry?: ComponentRegistry;
|
|
42
|
-
themeTokens?: ThemeTokens;
|
|
43
56
|
blockOverrides?: BlockOverrides;
|
|
44
57
|
sdkConfig?: SdkConfigForRenderer | null;
|
|
45
58
|
customBlocks?: SdkCustomBlock[];
|
|
46
59
|
};
|
|
60
|
+
type ThemedPageRendererProps = PageRendererCommonProps & {
|
|
61
|
+
rendering?: never;
|
|
62
|
+
theme: Theme;
|
|
63
|
+
themeTokens?: ThemeTokens;
|
|
64
|
+
};
|
|
65
|
+
type OverrideOnlyPageRendererProps = PageRendererCommonProps & {
|
|
66
|
+
rendering: {
|
|
67
|
+
kind: 'overrides-only';
|
|
68
|
+
};
|
|
69
|
+
theme?: never;
|
|
70
|
+
themeTokens?: never;
|
|
71
|
+
blockOverrides: BlockOverrides;
|
|
72
|
+
};
|
|
73
|
+
export type PageRendererProps = ThemedPageRendererProps | OverrideOnlyPageRendererProps;
|
|
74
|
+
export declare function toBlocksPageRendererDataContext(dataContext: PageRendererDataContext): BlocksPageRendererDataContext;
|
|
47
75
|
export declare function PageRenderer(props: PageRendererProps): React.ReactElement;
|
|
76
|
+
export {};
|
|
@@ -11,11 +11,10 @@ import type { RiverbankClient } from '../../client/types';
|
|
|
11
11
|
import type { BlockKind } from '../../types';
|
|
12
12
|
import type { BlockOverrideComponent } from '../overrides';
|
|
13
13
|
export type { BlockOverrideComponent } from '../overrides';
|
|
14
|
-
|
|
14
|
+
type BlockCommonProps = {
|
|
15
15
|
blockKind: BlockKind;
|
|
16
16
|
blockId?: string | null;
|
|
17
17
|
content: Record<string, unknown>;
|
|
18
|
-
theme: Theme;
|
|
19
18
|
siteId?: string;
|
|
20
19
|
/**
|
|
21
20
|
* Supabase storage URL for direct image access in SSR output and client
|
|
@@ -63,6 +62,18 @@ export type BlockProps = {
|
|
|
63
62
|
*/
|
|
64
63
|
override?: BlockOverrideComponent;
|
|
65
64
|
};
|
|
65
|
+
type ThemedBlockProps = BlockCommonProps & {
|
|
66
|
+
rendering?: never;
|
|
67
|
+
theme: Theme;
|
|
68
|
+
};
|
|
69
|
+
type OverrideOnlyBlockProps = BlockCommonProps & {
|
|
70
|
+
rendering: {
|
|
71
|
+
kind: 'overrides-only';
|
|
72
|
+
};
|
|
73
|
+
theme?: never;
|
|
74
|
+
override: BlockOverrideComponent;
|
|
75
|
+
};
|
|
76
|
+
export type BlockProps = ThemedBlockProps | OverrideOnlyBlockProps;
|
|
66
77
|
export type BlockHydrationBootstrapConfig = {
|
|
67
78
|
siteId?: string;
|
|
68
79
|
supabaseUrl?: string;
|