@riverbankcms/sdk 0.79.0 → 0.80.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/dist/PreviewEditorSidebar-QZG37QIF.mjs +2655 -0
- package/dist/{PreviewEditorUI-27KJVEET.mjs → PreviewEditorUI-AXIKSMZA.mjs} +27 -4
- package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +20 -0
- package/dist/_dts/api/src/endpoints.d.ts +24 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/siteInfrastructure.d.ts +124 -0
- package/dist/_dts/api/src/siteOnboarding.d.ts +13 -0
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +10 -1
- package/dist/_dts/block-form/src/client/index.d.ts +2 -0
- package/dist/_dts/block-form/src/index.d.ts +2 -0
- package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +2 -1
- package/dist/_dts/blocks/src/client/header.d.ts +1 -1
- package/dist/_dts/blocks/src/client.d.ts +12 -12
- package/dist/_dts/blocks/src/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -1
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
- package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +21 -12
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -2
- package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +1 -0
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
- package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +1 -4
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -7
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +10 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +3 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +9 -0
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +14 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +9 -3
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +6 -4
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -6
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +24 -0
- package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +34 -0
- package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
- package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeEditorDraftPatch.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/storeTypes.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -1
- package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +44 -0
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +56 -0
- package/dist/_dts/sdk/src/client/management/webhooks.d.ts +3 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +6 -3
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +220 -0
- package/dist/_dts/theme-core/src/accordions/types.d.ts +45 -2
- package/dist/_dts/theme-core/src/blockOverrides.d.ts +8 -0
- package/dist/_dts/theme-core/src/blocks/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/blocks/vars/testimonials.d.ts +4 -1
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/cards/core.d.ts +20 -0
- package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +6 -3
- package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +105 -0
- package/dist/_dts/theme-core/src/cards/types.d.ts +177 -0
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +156 -18
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +16 -0
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +446 -52
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +86 -17
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +2 -3
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +86 -17
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +110 -1
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +20 -1
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +286 -6
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +193 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -8
- package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +10 -7
- package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +11 -0
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/testimonialQuotePresets.d.ts +15 -0
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +7 -29
- package/dist/{PreviewEditorSidebar-56NMJMIK.mjs → chunk-5NZGBSJF.mjs} +1423 -2451
- package/dist/{chunk-4HCW7FHJ.mjs → chunk-7PCYG6YV.mjs} +215 -137
- package/dist/{chunk-K2IIF34C.mjs → chunk-BBLZSQEY.mjs} +24 -0
- package/dist/{chunk-V47ZU33I.mjs → chunk-GYXKAUFV.mjs} +2785 -785
- package/dist/{chunk-GP555I66.mjs → chunk-HTB4BMKD.mjs} +94 -46
- package/dist/{chunk-A3HHFKVT.mjs → chunk-MPBNEVPB.mjs} +1 -1
- package/dist/cli/index.mjs +2100 -545
- package/dist/cli/init-docs/content/workflow-isr-revalidation.md +16 -4
- package/dist/client/{accordion-QLA7KBYO.mjs → accordion-QFZMNB7O.mjs} +1 -1
- package/dist/client/{bookingForm-PYZIPA5G.mjs → bookingForm-NCIXFWIG.mjs} +3 -3
- package/dist/client/bookings.mjs +1144 -329
- package/dist/client/{carousel-5EIULWBI.mjs → carousel-EO4BJMWD.mjs} +2 -2
- package/dist/client/{cart-DOP3FNI4.mjs → cart-FTYCLYUW.mjs} +5 -5
- package/dist/client/{checkout-BVMF6FBV.mjs → checkout-NFGLVCOX.mjs} +5 -5
- package/dist/client/{chunk-TYONZMST.mjs → chunk-4W66ALYT.mjs} +1 -1
- package/dist/client/{chunk-44K2U3QI.mjs → chunk-6GVVWSPU.mjs} +4 -4
- package/dist/client/{chunk-UDS3NTWA.mjs → chunk-IWFZSQNZ.mjs} +1 -1
- package/dist/client/{chunk-R5ESWNKX.mjs → chunk-PUOELU4O.mjs} +89 -5
- package/dist/client/{chunk-YLDYVRZL.mjs → chunk-PYRBIURC.mjs} +4 -4
- package/dist/client/{chunk-GG4M2NP6.mjs → chunk-T6UIP6UZ.mjs} +1 -1
- package/dist/client/{chunk-V6M5FCR5.mjs → chunk-VDS5YFLX.mjs} +1 -1
- package/dist/client/{chunk-CCNTDRCF.mjs → chunk-Y37KDO7P.mjs} +1 -1
- package/dist/client/client.mjs +4205 -2324
- package/dist/client/{courseRegistration-E6EAA6NL.mjs → courseRegistration-2EORROPS.mjs} +3 -3
- package/dist/client/{eventCalendar-HBG3HAK6.mjs → eventCalendar-WZI4VL6N.mjs} +5 -5
- package/dist/client/{eventCombined-6K5ZZWAK.mjs → eventCombined-QCB2TCNL.mjs} +5 -5
- package/dist/client/{eventDetails-Q75ICXLT.mjs → eventDetails-TFTATAPH.mjs} +5 -5
- package/dist/client/{eventListing-27P5F7DZ.mjs → eventListing-A2CQEHEQ.mjs} +5 -5
- package/dist/client/{eventRegistration-IQ7AMASR.mjs → eventRegistration-OELPVLUY.mjs} +5 -5
- package/dist/client/{form-JRTD65FN.mjs → form-NTIFD6WQ.mjs} +1 -1
- package/dist/client/{headerSection-7FPSSZHS.mjs → headerSection-7TBNKCLA.mjs} +65 -24
- package/dist/client/hooks.mjs +3354 -2006
- package/dist/client/{locationMap-7NGFNYBH.mjs → locationMap-LRLB5A3H.mjs} +1 -1
- package/dist/client/{newsletterForm-F3BADCI2.mjs → newsletterForm-XI52RZSN.mjs} +1 -1
- package/dist/client/{productDetail-V3HP7ITJ.mjs → productDetail-GSNKBFLY.mjs} +5 -5
- package/dist/client/{productList-L3EGJUF2.mjs → productList-BGCGT4KZ.mjs} +5 -5
- package/dist/client/rendering/client.mjs +2570 -1657
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +4275 -2394
- package/dist/client/{shop-DQUB5E2C.mjs → shop-RQHUCLNY.mjs} +5 -5
- package/dist/preview-next/before-render.mjs +24 -0
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/preview-next/middleware.mjs +24 -0
- package/dist/{sdk-runtime-AF6KXJU4.mjs → sdk-runtime-A4LHT2RS.mjs} +6 -6
- package/dist/server/components.mjs +4063 -2293
- package/dist/server/config-validation.mjs +3525 -2176
- package/dist/server/config.mjs +3525 -2176
- package/dist/server/data.mjs +3354 -2006
- package/dist/server/index.mjs +25 -1
- package/dist/server/next.mjs +4006 -2236
- package/dist/server/page-converter.mjs +2747 -1816
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4063 -2293
- package/dist/server/rendering.mjs +4063 -2293
- package/dist/server/routing.mjs +3508 -2111
- package/dist/server/server.mjs +3372 -2024
- package/dist/server/theme-bridge.mjs +1436 -310
- package/dist/server/theme.mjs +409 -219
- package/dist/styles/index.css +300 -33
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +0 -8
- package/dist/chunk-LCY32PXF.mjs +0 -1175
|
@@ -20,6 +20,11 @@ export type GeneratedIconSetGenerateResult = Readonly<{
|
|
|
20
20
|
kind: 'failed';
|
|
21
21
|
message: string;
|
|
22
22
|
}>;
|
|
23
|
+
export type GeneratedIconSetGenerateInput = Readonly<{
|
|
24
|
+
userStyleNote: string | null;
|
|
25
|
+
cards: readonly FeatureCardIconDialogCard[];
|
|
26
|
+
signal?: AbortSignal;
|
|
27
|
+
}>;
|
|
23
28
|
export type GeneratedIconSetApplyResult = Readonly<{
|
|
24
29
|
kind: 'applied';
|
|
25
30
|
}> | Readonly<{
|
|
@@ -32,9 +37,6 @@ export declare function GeneratedIconSetDialog({ open, onOpenChange, cards, styl
|
|
|
32
37
|
cards: readonly FeatureCardIconDialogCard[];
|
|
33
38
|
styleGuideSummary?: string | null;
|
|
34
39
|
styleGuideEditHref?: string | null;
|
|
35
|
-
onGenerate?: (input:
|
|
36
|
-
userStyleNote: string | null;
|
|
37
|
-
cards: readonly FeatureCardIconDialogCard[];
|
|
38
|
-
}>) => Promise<GeneratedIconSetGenerateResult>;
|
|
40
|
+
onGenerate?: (input: GeneratedIconSetGenerateInput) => Promise<GeneratedIconSetGenerateResult>;
|
|
39
41
|
onApply?: (preview: GeneratedIconSetPreview) => GeneratedIconSetApplyResult | void | Promise<GeneratedIconSetApplyResult | void>;
|
|
40
42
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -7,8 +7,7 @@ import { BlockCard } from './BlockCard';
|
|
|
7
7
|
import type { FieldWidgetComponent } from '../../../block-form/src/client/index';
|
|
8
8
|
import { type BlockActionControlMode } from './actionControlMode';
|
|
9
9
|
import { type ReorderControlMode } from './reorderControlMode';
|
|
10
|
-
import type { GeneratedIconSetGenerateResult, GeneratedIconSetPreview } from './GeneratedIconSetDialog';
|
|
11
|
-
import type { getFeatureCardIconDialogCards } from './featureCardIconActions';
|
|
10
|
+
import type { GeneratedIconSetGenerateInput, GeneratedIconSetGenerateResult, GeneratedIconSetPreview } from './GeneratedIconSetDialog';
|
|
12
11
|
export declare const SortableBlockItem: import("react").NamedExoticComponent<{
|
|
13
12
|
siteId: string;
|
|
14
13
|
block: BlockItem;
|
|
@@ -38,9 +37,6 @@ export declare const SortableBlockItem: import("react").NamedExoticComponent<{
|
|
|
38
37
|
currentStyleGuideVersionId?: SiteIconStyleGuideVersionId | null;
|
|
39
38
|
iconStyleGuideSummary?: string | null;
|
|
40
39
|
iconStyleGuideEditHref?: string | null;
|
|
41
|
-
onGenerateIconSet?: (input:
|
|
42
|
-
userStyleNote: string | null;
|
|
43
|
-
cards: ReturnType<typeof getFeatureCardIconDialogCards>;
|
|
44
|
-
}>) => Promise<GeneratedIconSetGenerateResult>;
|
|
40
|
+
onGenerateIconSet?: (input: GeneratedIconSetGenerateInput) => Promise<GeneratedIconSetGenerateResult>;
|
|
45
41
|
onApplyGeneratedIconSet?: (preview: GeneratedIconSetPreview) => GeneratedIconSetPreview | void | Promise<GeneratedIconSetPreview | void>;
|
|
46
42
|
}>;
|
|
@@ -18,6 +18,8 @@ export type { BlockDraftSaveability, BlockDraftValidationIssue } from '../../blo
|
|
|
18
18
|
export { applyManifestIssuesToForm } from './manifestIssues';
|
|
19
19
|
export { BlockPickerDialog } from './block-editor/BlockPickerDialog';
|
|
20
20
|
export { FileField, MediaField } from './media/MediaField';
|
|
21
|
+
export { hideThemeV2RawStyleFields, prepareBlockEditorManifest, } from './block-editor/preparedManifest';
|
|
22
|
+
export { stripTopLevelRoutingUi, } from './block-editor/settingsIntent';
|
|
21
23
|
export * from './widgets/index';
|
|
22
24
|
export { createBlockFormLogger, setBlockFormLoggerFactory, setBlockFormAppLogger } from './block-form/debug';
|
|
23
25
|
export type { BlockFormLogger } from './block-form/debug';
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { type Theme } from '../../../../blocks/src/index';
|
|
2
|
+
import { type BackgroundColorPalette } from '../../../../blocks/src/system/customize/backgrounds';
|
|
3
|
+
export declare function BlockToolbar({ blockId, blockKind, content, theme, headerClearancePx, }: {
|
|
2
4
|
blockId: string;
|
|
3
5
|
blockKind: string;
|
|
4
6
|
content: Record<string, unknown>;
|
|
7
|
+
theme?: Theme | null;
|
|
5
8
|
headerClearancePx?: number;
|
|
6
9
|
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function readBackgroundColorPaletteSnapshot(): BackgroundColorPalette | null;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { FieldConfig, FieldIntent } from '../../../../block-form/src/index';
|
|
2
|
+
export type PreviewCustomizeControl = Readonly<{
|
|
3
|
+
kind: 'manifest-field';
|
|
4
|
+
field: FieldConfig;
|
|
5
|
+
placement: 'quick' | 'panel';
|
|
6
|
+
intent: Extract<FieldIntent, 'display' | 'behavior'>;
|
|
7
|
+
}>;
|
|
8
|
+
export type PreviewCustomizeControlPlan = Readonly<{
|
|
9
|
+
quickControls: readonly PreviewCustomizeControl[];
|
|
10
|
+
panelControls: readonly PreviewCustomizeControl[];
|
|
11
|
+
hiddenControls: readonly PreviewCustomizeHiddenControl[];
|
|
12
|
+
}>;
|
|
13
|
+
export type PreviewCustomizeHiddenControl = Readonly<{
|
|
14
|
+
fieldId: string;
|
|
15
|
+
reason: 'theme-v2-raw-style-field' | 'unsupported-intent' | 'header-field' | 'not-visible';
|
|
16
|
+
}>;
|
|
17
|
+
export type CreatePreviewCustomizeControlPlanInput = Readonly<{
|
|
18
|
+
blockKind: string;
|
|
19
|
+
fields: readonly FieldConfig[];
|
|
20
|
+
content: Readonly<Record<string, unknown>>;
|
|
21
|
+
maxQuickFields?: number;
|
|
22
|
+
}>;
|
|
23
|
+
export declare function createPreviewCustomizeControlPlan({ blockKind, fields, content, maxQuickFields, }: CreatePreviewCustomizeControlPlanInput): PreviewCustomizeControlPlan;
|
|
24
|
+
export declare function isRawThemeV2CustomizeFieldPath(fieldPath: string): boolean;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type BlockManifest, type Theme } from '../../../../blocks/src/index';
|
|
2
|
+
import { type FieldConfig, type FormBackend } from '../../../../block-form/src/client/index';
|
|
3
|
+
import { type SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
|
|
4
|
+
import type { EditorUiState } from '../../../../content-editor/src/index';
|
|
5
|
+
import type { PreviewZustandStoreApi } from '../preview/storeTypes';
|
|
6
|
+
import { type PreviewCustomizeControlPlan } from './previewCustomizeControlPlan';
|
|
7
|
+
export declare const MAX_CUSTOMIZE_POPOVER_ROWS = 6;
|
|
8
|
+
export declare const MAX_QUICK_MANIFEST_FIELDS = 3;
|
|
9
|
+
export type BlockCustomizeControls = Readonly<{
|
|
10
|
+
manifest: BlockManifest | null;
|
|
11
|
+
controlPlan: PreviewCustomizeControlPlan;
|
|
12
|
+
quickFields: FieldConfig[];
|
|
13
|
+
panelFields: FieldConfig[];
|
|
14
|
+
backend: FormBackend | null;
|
|
15
|
+
hasControls: boolean;
|
|
16
|
+
hasOverflowControls: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function useBlockCustomizeControls({ blockId, blockKind, content, uiStore, theme, sdkConfig, maxQuickFields, maxPopoverRows, builtInPopoverRows, }: {
|
|
19
|
+
blockId: string;
|
|
20
|
+
blockKind: string;
|
|
21
|
+
content: Readonly<Record<string, unknown>>;
|
|
22
|
+
uiStore: PreviewZustandStoreApi<EditorUiState>;
|
|
23
|
+
theme?: Theme | null;
|
|
24
|
+
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
25
|
+
maxQuickFields?: number;
|
|
26
|
+
maxPopoverRows?: number;
|
|
27
|
+
builtInPopoverRows?: number;
|
|
28
|
+
}): BlockCustomizeControls;
|
|
29
|
+
export declare function resolveQuickFieldBudget({ requestedMaxQuickFields, maxPopoverRows, builtInPopoverRows, hasOverflowControls, }: {
|
|
30
|
+
requestedMaxQuickFields: number;
|
|
31
|
+
maxPopoverRows?: number;
|
|
32
|
+
builtInPopoverRows: number;
|
|
33
|
+
hasOverflowControls: boolean;
|
|
34
|
+
}): number;
|
|
@@ -5,10 +5,7 @@ import type { BlockEditorHandle, BlockItem } from '../../../../editor-blocks/src
|
|
|
5
5
|
import type { MediaAssetIndexItem, Theme } from '../../../../blocks/src/index';
|
|
6
6
|
import type { EditorUiState, ZoomLevel } from '../../../../content-editor/src/index';
|
|
7
7
|
import { type ViewportMode, type ViewportWidth } from './PreviewViewportControls';
|
|
8
|
-
type
|
|
9
|
-
getState: () => T;
|
|
10
|
-
subscribe: (listener: () => void) => () => void;
|
|
11
|
-
};
|
|
8
|
+
import type { PreviewZustandStoreApi } from './storeTypes';
|
|
12
9
|
type PageBlockEditorPanelProps = {
|
|
13
10
|
siteId: string;
|
|
14
11
|
pageId: string;
|
|
@@ -17,7 +14,7 @@ type PageBlockEditorPanelProps = {
|
|
|
17
14
|
bearerToken?: string | null;
|
|
18
15
|
supabaseUrl?: string;
|
|
19
16
|
blockItems: BlockItem[];
|
|
20
|
-
uiStoreForBlockEditor:
|
|
17
|
+
uiStoreForBlockEditor: PreviewZustandStoreApi<EditorUiState>;
|
|
21
18
|
blockEditorRef: MutableRefObject<BlockEditorHandle | null>;
|
|
22
19
|
onBlocksChange: (nextItems: BlockItem[]) => void;
|
|
23
20
|
metadataPanel: ReactNode;
|
|
@@ -3,6 +3,7 @@ import type { BackgroundImagePoolItem } from '../../../../blocks/src/system/cust
|
|
|
3
3
|
import { type ApiClient } from '../../../../api/src/request';
|
|
4
4
|
import type { PreviewCustomizeAction } from '../blocks/previewCustomizeActions';
|
|
5
5
|
import { type PreviewPageDesignEditorApplyOutcome, type PreviewPageDesignEditorState } from './previewCustomizeWorkflowState';
|
|
6
|
+
import { type PreviewEditorRuntimeContent } from './previewCustomizeRuntimePatch';
|
|
6
7
|
export type { PreviewPageDesignEditorApplyOutcome, PreviewPageDesignEditorState, } from './previewCustomizeWorkflowState';
|
|
7
8
|
type PageDesignEditorStateContextValue = Readonly<{
|
|
8
9
|
state: PreviewPageDesignEditorState;
|
|
@@ -10,7 +11,9 @@ type PageDesignEditorStateContextValue = Readonly<{
|
|
|
10
11
|
backgroundImagePool: readonly BackgroundImagePoolItem[];
|
|
11
12
|
backgroundImagePoolStatus: 'idle' | 'loading' | 'loaded' | 'failed';
|
|
12
13
|
loadBackgroundImagePool: () => Promise<readonly BackgroundImagePoolItem[]>;
|
|
13
|
-
applyAction: (action: PreviewCustomizeAction
|
|
14
|
+
applyAction: (action: PreviewCustomizeAction, options?: Readonly<{
|
|
15
|
+
runtimeContent?: PreviewEditorRuntimeContent | null;
|
|
16
|
+
}>) => Promise<PreviewPageDesignEditorApplyOutcome>;
|
|
14
17
|
undo: () => Promise<PreviewPageDesignEditorApplyOutcome>;
|
|
15
18
|
redo: () => Promise<PreviewPageDesignEditorApplyOutcome>;
|
|
16
19
|
canUndo: boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { EditorBlockId } from '../../../../core/src/index';
|
|
3
|
+
export type PreviewBlockCustomizeSelection = Readonly<{
|
|
4
|
+
kind: 'none';
|
|
5
|
+
}> | Readonly<{
|
|
6
|
+
kind: 'selected';
|
|
7
|
+
blockId: EditorBlockId;
|
|
8
|
+
requestId: number;
|
|
9
|
+
}>;
|
|
10
|
+
type PreviewBlockCustomizeSelectionContextValue = Readonly<{
|
|
11
|
+
selection: PreviewBlockCustomizeSelection;
|
|
12
|
+
inspectBlock: (blockId: EditorBlockId) => void;
|
|
13
|
+
clearInspection: () => void;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function PreviewBlockCustomizeSelectionProvider({ children, }: {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function usePreviewBlockCustomizeSelection(): PreviewBlockCustomizeSelectionContextValue;
|
|
19
|
+
export declare function usePreviewBlockCustomizeSelectionOptional(): PreviewBlockCustomizeSelectionContextValue | null;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Theme } from '../../../../blocks/src/index';
|
|
2
|
+
import type { EditorBlockId } from '../../../../core/src/index';
|
|
3
|
+
import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
|
|
4
|
+
import type { BlockItem } from '../../../../editor-blocks/src/block-editor/types';
|
|
5
|
+
import type { EditorUiState } from '../../../../content-editor/src/index';
|
|
6
|
+
import type { PreviewZustandStoreApi } from './storeTypes';
|
|
7
|
+
export declare function SelectedBlockCustomizePanel({ blockItems, uiStoreForBlockEditor, theme, sdkConfig, }: {
|
|
8
|
+
blockItems: readonly BlockItem[];
|
|
9
|
+
uiStoreForBlockEditor: PreviewZustandStoreApi<EditorUiState>;
|
|
10
|
+
theme?: Theme | null;
|
|
11
|
+
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
12
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function readBlockCurrentValues(store: PreviewZustandStoreApi<EditorUiState>, blockId: EditorBlockId, fallback: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type EditorUiStoreInstance } from '../../../../content-editor/src/index';
|
|
2
|
+
import type { DesignBlockId, PageDesignEditorReadModel } from '../../../../theme-core/src/site-styles/index';
|
|
3
|
+
import type { PreviewCustomizeRuntimePatch, PreviewEditorRuntimeContent } from './previewCustomizeRuntimePatch';
|
|
4
|
+
export type PreviewCustomizeDraftPatchResult = Readonly<{
|
|
5
|
+
kind: 'applied';
|
|
6
|
+
}> | Readonly<{
|
|
7
|
+
kind: 'missing-block-model';
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
kind: 'missing-current-content';
|
|
10
|
+
}>;
|
|
11
|
+
export declare function applyPreviewCustomizeDraftPatch(uiStore: EditorUiStoreInstance, patch: PreviewCustomizeRuntimePatch, editorModel: PageDesignEditorReadModel): PreviewCustomizeDraftPatchResult;
|
|
12
|
+
export declare function rollbackPreviewCustomizeDraftPatch(uiStore: EditorUiStoreInstance, patch: PreviewCustomizeRuntimePatch | null): PreviewCustomizeDraftPatchResult;
|
|
13
|
+
export declare function currentLocalBlockContent(uiStore: EditorUiStoreInstance, targetBlockId: DesignBlockId): PreviewEditorRuntimeContent | null;
|
|
@@ -2,8 +2,10 @@ import type { PageDesignEditorReadModel } from '../../../../theme-core/src/site-
|
|
|
2
2
|
import type { DesignBlockId } from '../../../../theme-core/src/site-styles/index';
|
|
3
3
|
import type { PreviewCustomizeAction } from '../blocks/previewCustomizeActions';
|
|
4
4
|
export type PreviewEditorRuntimeContent = Record<string, unknown>;
|
|
5
|
+
export type PreviewCustomizeRuntimeFieldPath = '_sectionStyles.background';
|
|
5
6
|
export type PreviewCustomizeRuntimePatch = Readonly<{
|
|
6
7
|
blockId: DesignBlockId;
|
|
8
|
+
ownedRuntimeFieldPaths: readonly PreviewCustomizeRuntimeFieldPath[];
|
|
7
9
|
previousContent: PreviewEditorRuntimeContent;
|
|
8
10
|
nextContent: PreviewEditorRuntimeContent;
|
|
9
11
|
rollback: (currentContent: PreviewEditorRuntimeContent) => PreviewEditorRuntimeContent;
|
|
@@ -2,14 +2,16 @@ import { type ReactNode } from 'react';
|
|
|
2
2
|
import type { ApiClient } from '../../../../api/src/request';
|
|
3
3
|
import { type MediaAssetIndexItem, type Theme } from '../../../../blocks/src/index';
|
|
4
4
|
import type { FieldWidgetComponent } from '../../../../block-form/src/client/index';
|
|
5
|
+
import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
|
|
5
6
|
import { __testUtils, createPreviewEntryPickerAdapter, createPreviewLinkAdapters, createPreviewReferenceAdapters } from './widgetAdapters';
|
|
6
|
-
export declare function PreviewFormProvider({ siteId: rawSiteId, theme, previewClient, bearerToken, supabaseUrl, mediaAssets, children, }: {
|
|
7
|
+
export declare function PreviewFormProvider({ siteId: rawSiteId, theme, previewClient, bearerToken, supabaseUrl, mediaAssets, sdkConfig, children, }: {
|
|
7
8
|
siteId: string;
|
|
8
9
|
theme?: Theme | null;
|
|
9
10
|
previewClient: ApiClient;
|
|
10
11
|
bearerToken?: string | null;
|
|
11
12
|
supabaseUrl?: string;
|
|
12
13
|
mediaAssets?: MediaAssetIndexItem[];
|
|
14
|
+
sdkConfig?: SdkConfigForBlockPicker | null;
|
|
13
15
|
children: ReactNode;
|
|
14
16
|
}): import("react/jsx-runtime").JSX.Element;
|
|
15
17
|
export declare const previewWidgetOverrides: {
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import type { SetupRevalidationWebhookResult } from '../../client/management';
|
|
3
|
+
export declare const RIVERBANK_WEBHOOK_SECRET_ENV = "RIVERBANK_WEBHOOK_SECRET";
|
|
4
|
+
export type EnvPatchPlan = Readonly<{
|
|
5
|
+
tag: 'create-file';
|
|
6
|
+
nextContent: string;
|
|
7
|
+
}> | Readonly<{
|
|
8
|
+
tag: 'append-key';
|
|
9
|
+
nextContent: string;
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
tag: 'replace-key';
|
|
12
|
+
nextContent: string;
|
|
13
|
+
}> | Readonly<{
|
|
14
|
+
tag: 'unchanged';
|
|
15
|
+
nextContent: string;
|
|
16
|
+
}>;
|
|
17
|
+
export interface WebhookSetupOptions {
|
|
18
|
+
url: string;
|
|
19
|
+
name?: string;
|
|
20
|
+
rotateSecret?: boolean;
|
|
21
|
+
dryRun?: boolean;
|
|
22
|
+
writeEnv?: boolean;
|
|
23
|
+
vercel?: boolean;
|
|
24
|
+
yes?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function planEnvSecretPatch(existingContent: string | null, secret: string): EnvPatchPlan;
|
|
27
|
+
export declare function writeEnvSecret(filePath: string, secret: string): Promise<Readonly<{
|
|
28
|
+
path: string;
|
|
29
|
+
plan: EnvPatchPlan;
|
|
30
|
+
written: boolean;
|
|
31
|
+
}>>;
|
|
32
|
+
export declare function planHumanResultOutput(input: Readonly<{
|
|
33
|
+
result: SetupRevalidationWebhookResult;
|
|
34
|
+
envWrite: Readonly<{
|
|
35
|
+
path: string;
|
|
36
|
+
plan: EnvPatchPlan;
|
|
37
|
+
written: boolean;
|
|
38
|
+
}> | null;
|
|
39
|
+
writeEnv: boolean;
|
|
40
|
+
}>): Readonly<{
|
|
41
|
+
summary: string;
|
|
42
|
+
details: string[];
|
|
43
|
+
}>;
|
|
44
|
+
export declare const webhooksCommand: Command;
|
|
@@ -36,7 +36,7 @@ import { CourseSessionConflictError } from './courses';
|
|
|
36
36
|
* @returns ManagementClient instance
|
|
37
37
|
*/
|
|
38
38
|
export declare function createManagementClient(config: ManagementClientConfig): ManagementClient;
|
|
39
|
-
export type { ManagementClient, ManagementClientConfig, ManagementEntry, ManagementPage, ManagementBlock, ManagementNavigationMenu, ManagementNavigationItem, ManagementSettings, ManagementForm, ManagementFormField, ManagementFormSchema, ManagementFormSettings, ManagementVenue, VenueAddress, VenueLocation, VenueUpsertInput, ManagementEventCategory, EventCategoryUpsertInput, ManagementEventSeries, EventSchedule, EventPricing, EventContent, EventSeriesUpsertInput, ManagementCourseRun, CourseRunUpsertInput, CourseSession, CourseProgramContent, CourseSessionConflict, EntryUpsertInput, PageUpsertInput, BlockUpsertInput, NavigationMenuUpsertInput, NavigationItemInput, FormUpsertInput, SiteStyleSelectionApplyCommand, SiteStyleSelectionApplyCommandInput, ThemeUpsertInput, ThemeUpsertResult, ThemeStyleSelectionApplyInput, ThemeStyleSelectionApplyResult, FooterContent, ManagementFooterContent, FooterContentUpsertInput, FooterOperations, PulledFooter, PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses, PulledSiteInfo, PulledContentType, PulledContentTypes, PulledContent, PaginationOptions, PaginatedResult, EntryOperations, PageOperations, BlockOperations, NavigationOperations, SettingsOperations, SettingsUpdateInput, FormOperations, ThemeOperations, VenueOperations, EventCategoryOperations, EventOperations, CourseOperations, PullOperations, IdentifiersOperations, BackfillResult, BackfillPageResult, BackfillBlockResult, BackfillEntryResult, MediaOperations, MediaUploadResult, } from './types';
|
|
39
|
+
export type { ManagementClient, ManagementClientConfig, ManagementEntry, ManagementPage, ManagementBlock, ManagementNavigationMenu, ManagementNavigationItem, ManagementSettings, ManagementForm, ManagementFormField, ManagementFormSchema, ManagementFormSettings, ManagementVenue, VenueAddress, VenueLocation, VenueUpsertInput, ManagementEventCategory, EventCategoryUpsertInput, ManagementEventSeries, EventSchedule, EventPricing, EventContent, EventSeriesUpsertInput, ManagementCourseRun, CourseRunUpsertInput, CourseSession, CourseProgramContent, CourseSessionConflict, EntryUpsertInput, PageUpsertInput, BlockUpsertInput, NavigationMenuUpsertInput, NavigationItemInput, FormUpsertInput, SiteStyleSelectionApplyCommand, SiteStyleSelectionApplyCommandInput, ThemeUpsertInput, ThemeUpsertResult, ThemeStyleSelectionApplyInput, ThemeStyleSelectionApplyResult, FooterContent, ManagementFooterContent, FooterContentUpsertInput, FooterOperations, PulledFooter, PulledEntries, PulledPages, PulledNavigation, PulledSettings, PulledForms, PulledTheme, PulledVenues, PulledEventCategories, PulledEvents, PulledCourses, PulledSiteInfo, PulledContentType, PulledContentTypes, PulledContent, PaginationOptions, PaginatedResult, EntryOperations, PageOperations, BlockOperations, NavigationOperations, SettingsOperations, SettingsUpdateInput, WebhookOperations, SetupRevalidationWebhookInput, SetupRevalidationWebhookResult, ManagementWebhookEndpoint, RevalidationWebhookPlannedEndpoint, FormOperations, ThemeOperations, VenueOperations, EventCategoryOperations, EventOperations, CourseOperations, PullOperations, IdentifiersOperations, BackfillResult, BackfillPageResult, BackfillBlockResult, BackfillEntryResult, MediaOperations, MediaUploadResult, } from './types';
|
|
40
40
|
export { ManagementApiError, type ManagementApiErrorRequest } from './http';
|
|
41
41
|
export { applySiteStyleSelectionBodyFromCommand, buildApplySiteStyleSelectionCommand, } from './theme';
|
|
42
42
|
export { CourseSessionConflictError };
|
|
@@ -167,6 +167,58 @@ export interface SettingsUpdateInput {
|
|
|
167
167
|
logoIdentifier?: string | null;
|
|
168
168
|
faviconIdentifier?: string | null;
|
|
169
169
|
}
|
|
170
|
+
export interface ManagementWebhookEndpoint {
|
|
171
|
+
id: string;
|
|
172
|
+
name: string;
|
|
173
|
+
url: string;
|
|
174
|
+
events: string[];
|
|
175
|
+
enabled: boolean;
|
|
176
|
+
hasSecret: boolean;
|
|
177
|
+
createdAt: string;
|
|
178
|
+
updatedAt: string;
|
|
179
|
+
siteId: string;
|
|
180
|
+
failureCount: number;
|
|
181
|
+
lastFailureAt: string | null;
|
|
182
|
+
lastSuccessAt: string | null;
|
|
183
|
+
lastTriggeredAt: string | null;
|
|
184
|
+
}
|
|
185
|
+
export interface SetupRevalidationWebhookInput {
|
|
186
|
+
url: string;
|
|
187
|
+
name?: string;
|
|
188
|
+
rotateSecret?: boolean;
|
|
189
|
+
dryRun?: boolean;
|
|
190
|
+
vercel?: boolean;
|
|
191
|
+
}
|
|
192
|
+
export interface RevalidationWebhookPlannedEndpoint {
|
|
193
|
+
name: string;
|
|
194
|
+
url: string;
|
|
195
|
+
events: string[];
|
|
196
|
+
enabled: boolean;
|
|
197
|
+
rotateSecret: boolean;
|
|
198
|
+
}
|
|
199
|
+
export type SetupRevalidationWebhookResult = {
|
|
200
|
+
dryRun: true;
|
|
201
|
+
action: 'would_create' | 'would_update' | 'would_rotate' | 'would_leave_unchanged';
|
|
202
|
+
endpoint: ManagementWebhookEndpoint | null;
|
|
203
|
+
plannedEndpoint: RevalidationWebhookPlannedEndpoint;
|
|
204
|
+
message: string;
|
|
205
|
+
checklist: string[];
|
|
206
|
+
} | {
|
|
207
|
+
dryRun: false;
|
|
208
|
+
action: 'created' | 'rotated';
|
|
209
|
+
endpoint: ManagementWebhookEndpoint;
|
|
210
|
+
plannedEndpoint: RevalidationWebhookPlannedEndpoint;
|
|
211
|
+
secret: string;
|
|
212
|
+
message: string;
|
|
213
|
+
checklist: string[];
|
|
214
|
+
} | {
|
|
215
|
+
dryRun: false;
|
|
216
|
+
action: 'updated' | 'unchanged';
|
|
217
|
+
endpoint: ManagementWebhookEndpoint;
|
|
218
|
+
plannedEndpoint: RevalidationWebhookPlannedEndpoint;
|
|
219
|
+
message: string;
|
|
220
|
+
checklist: string[];
|
|
221
|
+
};
|
|
170
222
|
/**
|
|
171
223
|
* Form field definition.
|
|
172
224
|
*/
|
|
@@ -815,6 +867,9 @@ export interface SettingsOperations {
|
|
|
815
867
|
get(): Promise<ManagementSettings>;
|
|
816
868
|
update(input: SettingsUpdateInput): Promise<ManagementSettings>;
|
|
817
869
|
}
|
|
870
|
+
export interface WebhookOperations {
|
|
871
|
+
setupRevalidation(input: SetupRevalidationWebhookInput): Promise<SetupRevalidationWebhookResult>;
|
|
872
|
+
}
|
|
818
873
|
export interface FormOperations {
|
|
819
874
|
list(): Promise<ManagementForm[]>;
|
|
820
875
|
get(slug: string): Promise<ManagementForm | null>;
|
|
@@ -957,6 +1012,7 @@ export interface ManagementClient {
|
|
|
957
1012
|
blocks: BlockOperations;
|
|
958
1013
|
navigation: NavigationOperations;
|
|
959
1014
|
settings: SettingsOperations;
|
|
1015
|
+
webhooks: WebhookOperations;
|
|
960
1016
|
forms: FormOperations;
|
|
961
1017
|
theme: ThemeOperations;
|
|
962
1018
|
footer: FooterOperations;
|
|
@@ -217,6 +217,9 @@ export type DisplayMode = 'combined' | 'month' | 'week' | 'list' | 'timetable';
|
|
|
217
217
|
export type FilterAutoShow = 'auto' | 'always' | 'never';
|
|
218
218
|
export type CalendarTabViews = 'both' | 'month' | 'week';
|
|
219
219
|
export type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'link';
|
|
220
|
+
export type CardVariantRole = 'default' | 'alternative';
|
|
221
|
+
export type LegacyCardVariantRoleAlias = 'variant1' | 'variant2';
|
|
222
|
+
export type EventCardVariantInput = CardVariantRole | LegacyCardVariantRoleAlias;
|
|
220
223
|
export type EventBlockKind = 'all' | 'courses' | 'events';
|
|
221
224
|
export type EventSurfacePreset = 'class' | 'workshop' | 'retreat' | 'performance';
|
|
222
225
|
export type EventSurfaceScope = 'all' | 'regularClassSchedule' | 'specialDatedEvents' | 'custom';
|
|
@@ -270,7 +273,7 @@ export type EventListingContent = {
|
|
|
270
273
|
paginationMode?: 'loadMore' | 'seeAllLink' | null;
|
|
271
274
|
seeAllUrl?: string | null;
|
|
272
275
|
loadMoreText?: string | null;
|
|
273
|
-
cardVariant?:
|
|
276
|
+
cardVariant?: EventCardVariantInput | null;
|
|
274
277
|
buttonVariant?: ButtonVariant | null;
|
|
275
278
|
buttonText?: string | null;
|
|
276
279
|
showVenue?: boolean | null;
|
|
@@ -306,7 +309,7 @@ export type EventSpotlightContent = {
|
|
|
306
309
|
ctaUrl?: LinkValue | string | null;
|
|
307
310
|
layout?: 'grid' | 'stack' | null;
|
|
308
311
|
columns?: '2' | '3' | null;
|
|
309
|
-
cardVariant?:
|
|
312
|
+
cardVariant?: EventCardVariantInput | null;
|
|
310
313
|
buttonVariant?: ButtonVariant | null;
|
|
311
314
|
buttonText?: string | null;
|
|
312
315
|
showVenue?: boolean | null;
|
|
@@ -519,7 +522,7 @@ export type TeamMembersContent = (TeamMembersCommonContent & {
|
|
|
519
522
|
members?: ManualTeamMemberItem[];
|
|
520
523
|
});
|
|
521
524
|
export type TestimonialsBlockContent = {
|
|
522
|
-
variant?: 'carousel' | 'grid' | 'split-grid' | null;
|
|
525
|
+
variant?: 'carousel' | 'grid' | 'split-grid' | 'highlight' | null;
|
|
523
526
|
heading?: string | null;
|
|
524
527
|
subheading?: string | null;
|
|
525
528
|
avatarLayout?: 'above-centered' | 'inline-left' | 'hidden' | null;
|