@riverbankcms/sdk 0.77.0 → 0.77.1

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.
Files changed (46) hide show
  1. package/dist/{PreviewEditorSidebar-XSX7QKHQ.mjs → PreviewEditorSidebar-DVUG7GK4.mjs} +2 -2
  2. package/dist/{PreviewEditorUI-YZNEZ3QD.mjs → PreviewEditorUI-P7RN4CDS.mjs} +2 -2
  3. package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +8 -0
  4. package/dist/_dts/ai/src/contracts/proposals.d.ts +40 -30
  5. package/dist/_dts/blocks/src/customBlockRegistry.d.ts +20 -1
  6. package/dist/_dts/blocks/src/index.d.ts +2 -2
  7. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
  8. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +5 -0
  9. package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
  10. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -4
  11. package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
  12. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
  13. package/dist/_dts/sdk/src/version.d.ts +1 -1
  14. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  15. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -27
  16. package/dist/_dts/theme-core/src/schema.d.ts +26 -30
  17. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +1 -1
  18. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
  19. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +63 -33
  20. package/dist/{chunk-EAWHBECW.mjs → chunk-2SPENC5M.mjs} +5 -5
  21. package/dist/{chunk-GSQX43EZ.mjs → chunk-IENWFSLO.mjs} +22 -41
  22. package/dist/{chunk-WLQBJN2Z.mjs → chunk-KWJPDZH2.mjs} +1815 -1338
  23. package/dist/{chunk-ANKDYZ2E.mjs → chunk-ZYEJLCTN.mjs} +1 -1
  24. package/dist/cli/index.mjs +381 -176
  25. package/dist/client/client.mjs +1574 -1252
  26. package/dist/client/hooks.mjs +369 -170
  27. package/dist/client/rendering.mjs +1588 -1257
  28. package/dist/preview-next/client/runtime.mjs +3 -3
  29. package/dist/{sdk-runtime-Q6MTR4KL.mjs → sdk-runtime-6UT2S7KZ.mjs} +4 -4
  30. package/dist/server/components.mjs +1561 -1239
  31. package/dist/server/config-validation.mjs +369 -170
  32. package/dist/server/config.mjs +369 -170
  33. package/dist/server/data.mjs +369 -170
  34. package/dist/server/index.mjs +1 -1
  35. package/dist/server/next.mjs +1547 -1234
  36. package/dist/server/page-converter.mjs +362 -165
  37. package/dist/server/prebuild.mjs +1 -1
  38. package/dist/server/rendering/server.mjs +1561 -1239
  39. package/dist/server/rendering.mjs +1561 -1239
  40. package/dist/server/routing.mjs +370 -171
  41. package/dist/server/server.mjs +370 -171
  42. package/dist/server/theme-bridge.mjs +1156 -1035
  43. package/dist/server/theme.mjs +79 -11
  44. package/dist/styles/index.css +1081 -1028
  45. package/package.json +1 -1
  46. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +0 -8
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSidebarChromeModel, resolvePreviewEditorGuidanceModel, canInspectSiteStyle, usePreviewDesignCoordinator, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, createOptimisticActionRunner, syncStyleConfiguratorState, isPreviewingChange, planSiteStylePreviewChange, openRow, previewSiteStyle, applyResolvedSelections, previewButtonPersonality, previewHeaderLayout, previewHeaderStyle, planSiteChromeLookSelection, previewFooterLook, previewPaletteVariant, previewTypographyPreset, setTypographyBodyFontOverride, setTypographyHeadingFontOverride, clearTypographyFontOverrides, setPaletteOverrides, toggleRow, cancelPreview, dismissWarnings, dismissNotices, markApplyFailed, markApplySaved, markApplySaving, canApplySiteStyle, buildSiteChromeLookModels, cycleSiteChromeLookId, cycleableSiteChromeOptions } from './chunk-GSQX43EZ.mjs';
3
- import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, listBlockDescriptors, useSensor, PointerSensor, useSensors, deleteBlock, createEditorRemoveBlockCommand, asEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, createCustomBlockRegistry, Card, cn, Collapsible, CollapsibleContent, listContentTypes, mergeBlockDescriptorsWithRegistry, createBlock, createEditorReorderBlocksCommand, reorderBlocks, mutateBlockContent, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, DropdownMenu, DropdownMenuTrigger, EllipsisVertical, DropdownMenuContent, DropdownMenuItem, Settings, DropdownMenuSeparator, Copy, Trash2, DialogFooter, DialogClose, CardContent, createEditorInsertBlockCommand, LoaderCircle, ChevronDown, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, createStoreBackend, validateBlockManifestIssues, Callout, CalloutTitle, unfinishedBlockCopy, CalloutDescription, recoveryConflictCopy, ManifestForm, asEditorBlockValues, Box, createManifestFormAdapter, getModalConfig, isNonEmptyValue, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, unwrapResponse, useEntryController, useEditorUiStoreInstance, useUISelector, resolvePreviewSidebarTab, BackgroundGradientField, BackgroundColorField, X, omitRouteTitleFieldFromManifest, getRouteMetadataManifestForType, createManifestValidation, previewAssistantEnabled, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, isCtaIconName, Combobox, CTA_ICON_OPTIONS, getCtaIconComponent, useBackendWatch, useAsyncPickerOptions, shouldShowPickerSearch, normalizePickerSearchThreshold, Badge, resolvePickerSelectionLabel, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, CollapsibleTrigger, ContentFieldsForm, getCuratedSiteStyle, paletteOverridesSchema, findButtonPersonality, findPaletteVariant, findTypographyPreset, getHeaderLayout, getHeaderStyle, findFooterLook, footerLookCatalog, isObjectRecord, EMPTY_DOC, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, Pencil, foldSubroute, SUBROUTE_KINDS, Smartphone, Tablet, Monitor, Maximize2, DropdownMenuLabel, asSiteId, buildThemeRuntime, PaletteProvider, MediaEditorProvider, curatedSiteStyles, ChevronLeft, requireEntriesForCuratedChoices, buttonPersonalities, typographyPresets, paletteVariants, resolveImageUrlWithContext, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, evaluateTypographyFontSlot, Separator, toRoutableLinkPayload, useMediaEditor, MediaPickerMini, MediaPickerDialog, Surface, ColorPicker, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-WLQBJN2Z.mjs';
2
+ import { resolvePreviewDashboardSetupHandoff, buildPreviewDashboardSetupUrl, resolvePreviewSidebarChromeModel, resolvePreviewEditorGuidanceModel, canInspectSiteStyle, usePreviewDesignCoordinator, resolveStyleConfiguratorInitialSnapshot, createStyleConfiguratorState, createOptimisticActionRunner, syncStyleConfiguratorState, isPreviewingChange, planSiteStylePreviewChange, openRow, previewSiteStyle, applyResolvedSelections, previewButtonPersonality, previewHeaderLayout, previewHeaderStyle, planSiteChromeLookSelection, previewFooterLook, previewPaletteVariant, previewTypographyPreset, setTypographyBodyFontOverride, setTypographyHeadingFontOverride, clearTypographyFontOverrides, setPaletteOverrides, toggleRow, cancelPreview, dismissWarnings, dismissNotices, markApplyFailed, markApplySaved, markApplySaving, canApplySiteStyle, buildSiteChromeLookModels, cycleSiteChromeLookId, cycleableSiteChromeOptions } from './chunk-IENWFSLO.mjs';
3
+ import { KeyboardCode, getBlockDefinition, CSS, useSdkConfig, listBlockDescriptors, useSensor, PointerSensor, useSensors, deleteBlock, createEditorRemoveBlockCommand, asEditorBlockId, DndContext, closestCenter, Button, Plus, useDroppable, useDraggable, useCombinedRefs, isKeyboardEvent, createCustomBlockRegistry, Card, cn, Collapsible, CollapsibleContent, listContentTypes, mergeBlockDescriptorsWithRegistry, createBlock, createEditorReorderBlocksCommand, reorderBlocks, mutateBlockContent, useDndContext, useUniqueId, useIsomorphicLayoutEffect, EmptyState, Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Search, getClientRect, resolveBlockTitle, CardHeader, GripVertical, ChevronRight, CardTitle, ArrowUp, ArrowDown, DropdownMenu, DropdownMenuTrigger, EllipsisVertical, DropdownMenuContent, DropdownMenuItem, Settings, DropdownMenuSeparator, Copy, Trash2, DialogFooter, DialogClose, CardContent, createEditorInsertBlockCommand, LoaderCircle, ChevronDown, normalEditorCuratedPromotedFieldPaths, resolveVisiblePromotedFieldPathsForEditorBlock, createStoreBackend, validateBlockManifestIssues, Callout, CalloutTitle, unfinishedBlockCopy, CalloutDescription, recoveryConflictCopy, ManifestForm, asEditorBlockValues, Box, createManifestFormAdapter, getModalConfig, isNonEmptyValue, ScrollableDialogContent, FormRenderer, Tabs, TabsList, TabsTrigger, TabsContent, mergeManifestWithSdkOptions, augmentManifestWithStyleGroups, lucide_react_exports, isThemeV2NormalEditorRawStylePath, getFieldIntent, isHeaderField, isThemeV2NormalEditorRawStyleFieldName, unwrapResponse, useEntryController, useEditorUiStoreInstance, useUISelector, resolvePreviewSidebarTab, BackgroundGradientField, BackgroundColorField, X, omitRouteTitleFieldFromManifest, getRouteMetadataManifestForType, createManifestValidation, previewAssistantEnabled, useField, FieldFrame, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, isCtaIconName, Combobox, CTA_ICON_OPTIONS, getCtaIconComponent, useBackendWatch, useAsyncPickerOptions, shouldShowPickerSearch, normalizePickerSearchThreshold, Badge, resolvePickerSelectionLabel, useMediaEditorOptional, useRichTextEditor, RichTextEditorSurface, ThemeScope, useBlockContext, resolveMediaSlotContract, asRecord, parseAspectRatioValue, MediaEditor, PUBLIC_FILE_FIELD_KINDS, CollapsibleTrigger, ContentFieldsForm, getCuratedSiteStyle, paletteOverridesSchema, findButtonPersonality, findPaletteVariant, findTypographyPreset, getHeaderLayout, getHeaderStyle, findFooterLook, footerLookCatalog, isObjectRecord, EMPTY_DOC, getRichTextImagePositionFromTarget, insertOrReplaceRichTextImage, Pencil, foldSubroute, SUBROUTE_KINDS, Smartphone, Tablet, Monitor, Maximize2, DropdownMenuLabel, asSiteId, buildThemeRuntime, PaletteProvider, MediaEditorProvider, curatedSiteStyles, ChevronLeft, requireEntriesForCuratedChoices, buttonPersonalities, typographyPresets, paletteVariants, resolveImageUrlWithContext, Root2, List, Trigger, Content, Input, Check, Label, isInternalResolvedLinkValue, evaluateTypographyFontSlot, Separator, toRoutableLinkPayload, useMediaEditor, MediaPickerMini, MediaPickerDialog, Surface, ColorPicker, getDirectImageUrlForMediaAsset, isSvgMimeType } from './chunk-KWJPDZH2.mjs';
4
4
  import { usePreviewAuth, getDashboardUrl } from './chunk-VX7B5VAC.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import React2, { createContext, memo, useMemo, useState, useRef, useEffect, forwardRef, useCallback, useImperativeHandle, useContext, useSyncExternalStore, useLayoutEffect, useTransition, useId } from 'react';
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { resolvePreviewChromeSurface, usePreviewPageDesignEditorState, PREVIEW_CHROME_PORTAL_CLASS_NAME, PREVIEW_CHROME_THEME_CLASS_NAME, applyPreviewChromeSurfaceToElement, setPreviewSidebarTab, PREVIEW_THEME_COOKIE_NAME } from './chunk-ANKDYZ2E.mjs';
3
- import { useEntryEditorController, useEditorUiStore, useMultiAutosave, EditorChrome, classifyHistoryShortcut, unwrapResponse, cn, Dialog, Button, Palette, DialogContent, DialogHeader, DialogTitle, DialogDescription, TriangleAlert, useEditorUiStoreInstance, Pencil, previewAssistantEnabled, Sparkles } from './chunk-WLQBJN2Z.mjs';
2
+ import { resolvePreviewChromeSurface, usePreviewPageDesignEditorState, PREVIEW_CHROME_PORTAL_CLASS_NAME, PREVIEW_CHROME_THEME_CLASS_NAME, applyPreviewChromeSurfaceToElement, setPreviewSidebarTab, PREVIEW_THEME_COOKIE_NAME } from './chunk-ZYEJLCTN.mjs';
3
+ import { useEntryEditorController, useEditorUiStore, useMultiAutosave, EditorChrome, classifyHistoryShortcut, unwrapResponse, cn, Dialog, Button, Palette, DialogContent, DialogHeader, DialogTitle, DialogDescription, TriangleAlert, useEditorUiStoreInstance, Pencil, previewAssistantEnabled, Sparkles } from './chunk-KWJPDZH2.mjs';
4
4
  import { usePreviewAuth, getDashboardBaseUrl } from './chunk-VX7B5VAC.mjs';
5
5
  import './chunk-XGB3TDIC.mjs';
6
6
  import { useState, useMemo, useEffect, useTransition, useCallback } from 'react';
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ export { SdkPreviewModeRuntime } from './chunk-2SPENC5M.mjs';
3
+ import './chunk-6SMUFTXD.mjs';
4
+ import './chunk-IENWFSLO.mjs';
5
+ import './chunk-ZYEJLCTN.mjs';
6
+ import './chunk-KWJPDZH2.mjs';
7
+ import './chunk-VX7B5VAC.mjs';
8
+ import './chunk-XGB3TDIC.mjs';
@@ -4937,7 +4937,7 @@ declare const SiteStyleSelectionCommandBodySchema: z.ZodObject<{
4937
4937
  headerLookId: z.ZodNullable<z.ZodEnum<{
4938
4938
  "clean-base": "clean-base";
4939
4939
  "brand-solid": "brand-solid";
4940
- "editorial-line": "editorial-line";
4940
+ "serif-line": "serif-line";
4941
4941
  "centered-calm": "centered-calm";
4942
4942
  "practical-utility": "practical-utility";
4943
4943
  "minimal-transparent": "minimal-transparent";
@@ -4948,12 +4948,11 @@ declare const SiteStyleSelectionCommandBodySchema: z.ZodObject<{
4948
4948
  classic: "classic";
4949
4949
  centered: "centered";
4950
4950
  floating: "floating";
4951
- editorial: "editorial";
4952
4951
  }>;
4953
4952
  headerStyleId: z.ZodEnum<{
4954
4953
  minimal: "minimal";
4955
4954
  glass: "glass";
4956
- "editorial-line": "editorial-line";
4955
+ "serif-line": "serif-line";
4957
4956
  "fine-line": "fine-line";
4958
4957
  "soft-bar": "soft-bar";
4959
4958
  "pill-nav": "pill-nav";
@@ -4963,6 +4962,8 @@ declare const SiteStyleSelectionCommandBodySchema: z.ZodObject<{
4963
4962
  "flat-tabs": "flat-tabs";
4964
4963
  "minimal-surface": "minimal-surface";
4965
4964
  "soft-shell": "soft-shell";
4965
+ "split-glass": "split-glass";
4966
+ "split-pill": "split-pill";
4966
4967
  }>;
4967
4968
  footerLookId: z.ZodNullable<z.ZodEnum<{
4968
4969
  "footer-muted-grounding": "footer-muted-grounding";
@@ -5015,7 +5016,7 @@ export declare const SiteStyleSelectionCommandBackedPreviewSchema: z.ZodObject<{
5015
5016
  headerLookId: z.ZodNullable<z.ZodEnum<{
5016
5017
  "clean-base": "clean-base";
5017
5018
  "brand-solid": "brand-solid";
5018
- "editorial-line": "editorial-line";
5019
+ "serif-line": "serif-line";
5019
5020
  "centered-calm": "centered-calm";
5020
5021
  "practical-utility": "practical-utility";
5021
5022
  "minimal-transparent": "minimal-transparent";
@@ -5026,12 +5027,11 @@ export declare const SiteStyleSelectionCommandBackedPreviewSchema: z.ZodObject<{
5026
5027
  classic: "classic";
5027
5028
  centered: "centered";
5028
5029
  floating: "floating";
5029
- editorial: "editorial";
5030
5030
  }>;
5031
5031
  headerStyleId: z.ZodEnum<{
5032
5032
  minimal: "minimal";
5033
5033
  glass: "glass";
5034
- "editorial-line": "editorial-line";
5034
+ "serif-line": "serif-line";
5035
5035
  "fine-line": "fine-line";
5036
5036
  "soft-bar": "soft-bar";
5037
5037
  "pill-nav": "pill-nav";
@@ -5041,6 +5041,8 @@ export declare const SiteStyleSelectionCommandBackedPreviewSchema: z.ZodObject<{
5041
5041
  "flat-tabs": "flat-tabs";
5042
5042
  "minimal-surface": "minimal-surface";
5043
5043
  "soft-shell": "soft-shell";
5044
+ "split-glass": "split-glass";
5045
+ "split-pill": "split-pill";
5044
5046
  }>;
5045
5047
  footerLookId: z.ZodNullable<z.ZodEnum<{
5046
5048
  "footer-muted-grounding": "footer-muted-grounding";
@@ -5099,7 +5101,7 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
5099
5101
  headerLookId: z.ZodNullable<z.ZodEnum<{
5100
5102
  "clean-base": "clean-base";
5101
5103
  "brand-solid": "brand-solid";
5102
- "editorial-line": "editorial-line";
5104
+ "serif-line": "serif-line";
5103
5105
  "centered-calm": "centered-calm";
5104
5106
  "practical-utility": "practical-utility";
5105
5107
  "minimal-transparent": "minimal-transparent";
@@ -5110,12 +5112,11 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
5110
5112
  classic: "classic";
5111
5113
  centered: "centered";
5112
5114
  floating: "floating";
5113
- editorial: "editorial";
5114
5115
  }>;
5115
5116
  headerStyleId: z.ZodEnum<{
5116
5117
  minimal: "minimal";
5117
5118
  glass: "glass";
5118
- "editorial-line": "editorial-line";
5119
+ "serif-line": "serif-line";
5119
5120
  "fine-line": "fine-line";
5120
5121
  "soft-bar": "soft-bar";
5121
5122
  "pill-nav": "pill-nav";
@@ -5125,6 +5126,8 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
5125
5126
  "flat-tabs": "flat-tabs";
5126
5127
  "minimal-surface": "minimal-surface";
5127
5128
  "soft-shell": "soft-shell";
5129
+ "split-glass": "split-glass";
5130
+ "split-pill": "split-pill";
5128
5131
  }>;
5129
5132
  footerLookId: z.ZodNullable<z.ZodEnum<{
5130
5133
  "footer-muted-grounding": "footer-muted-grounding";
@@ -6075,7 +6078,7 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
6075
6078
  headerLookId: z.ZodNullable<z.ZodEnum<{
6076
6079
  "clean-base": "clean-base";
6077
6080
  "brand-solid": "brand-solid";
6078
- "editorial-line": "editorial-line";
6081
+ "serif-line": "serif-line";
6079
6082
  "centered-calm": "centered-calm";
6080
6083
  "practical-utility": "practical-utility";
6081
6084
  "minimal-transparent": "minimal-transparent";
@@ -6086,12 +6089,11 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
6086
6089
  classic: "classic";
6087
6090
  centered: "centered";
6088
6091
  floating: "floating";
6089
- editorial: "editorial";
6090
6092
  }>;
6091
6093
  headerStyleId: z.ZodEnum<{
6092
6094
  minimal: "minimal";
6093
6095
  glass: "glass";
6094
- "editorial-line": "editorial-line";
6096
+ "serif-line": "serif-line";
6095
6097
  "fine-line": "fine-line";
6096
6098
  "soft-bar": "soft-bar";
6097
6099
  "pill-nav": "pill-nav";
@@ -6101,6 +6103,8 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
6101
6103
  "flat-tabs": "flat-tabs";
6102
6104
  "minimal-surface": "minimal-surface";
6103
6105
  "soft-shell": "soft-shell";
6106
+ "split-glass": "split-glass";
6107
+ "split-pill": "split-pill";
6104
6108
  }>;
6105
6109
  footerLookId: z.ZodNullable<z.ZodEnum<{
6106
6110
  "footer-muted-grounding": "footer-muted-grounding";
@@ -6175,7 +6179,7 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
6175
6179
  headerLookId: z.ZodNullable<z.ZodEnum<{
6176
6180
  "clean-base": "clean-base";
6177
6181
  "brand-solid": "brand-solid";
6178
- "editorial-line": "editorial-line";
6182
+ "serif-line": "serif-line";
6179
6183
  "centered-calm": "centered-calm";
6180
6184
  "practical-utility": "practical-utility";
6181
6185
  "minimal-transparent": "minimal-transparent";
@@ -6186,12 +6190,11 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
6186
6190
  classic: "classic";
6187
6191
  centered: "centered";
6188
6192
  floating: "floating";
6189
- editorial: "editorial";
6190
6193
  }>;
6191
6194
  headerStyleId: z.ZodEnum<{
6192
6195
  minimal: "minimal";
6193
6196
  glass: "glass";
6194
- "editorial-line": "editorial-line";
6197
+ "serif-line": "serif-line";
6195
6198
  "fine-line": "fine-line";
6196
6199
  "soft-bar": "soft-bar";
6197
6200
  "pill-nav": "pill-nav";
@@ -6201,6 +6204,8 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
6201
6204
  "flat-tabs": "flat-tabs";
6202
6205
  "minimal-surface": "minimal-surface";
6203
6206
  "soft-shell": "soft-shell";
6207
+ "split-glass": "split-glass";
6208
+ "split-pill": "split-pill";
6204
6209
  }>;
6205
6210
  footerLookId: z.ZodNullable<z.ZodEnum<{
6206
6211
  "footer-muted-grounding": "footer-muted-grounding";
@@ -7151,7 +7156,7 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
7151
7156
  headerLookId: z.ZodNullable<z.ZodEnum<{
7152
7157
  "clean-base": "clean-base";
7153
7158
  "brand-solid": "brand-solid";
7154
- "editorial-line": "editorial-line";
7159
+ "serif-line": "serif-line";
7155
7160
  "centered-calm": "centered-calm";
7156
7161
  "practical-utility": "practical-utility";
7157
7162
  "minimal-transparent": "minimal-transparent";
@@ -7162,12 +7167,11 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
7162
7167
  classic: "classic";
7163
7168
  centered: "centered";
7164
7169
  floating: "floating";
7165
- editorial: "editorial";
7166
7170
  }>;
7167
7171
  headerStyleId: z.ZodEnum<{
7168
7172
  minimal: "minimal";
7169
7173
  glass: "glass";
7170
- "editorial-line": "editorial-line";
7174
+ "serif-line": "serif-line";
7171
7175
  "fine-line": "fine-line";
7172
7176
  "soft-bar": "soft-bar";
7173
7177
  "pill-nav": "pill-nav";
@@ -7177,6 +7181,8 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
7177
7181
  "flat-tabs": "flat-tabs";
7178
7182
  "minimal-surface": "minimal-surface";
7179
7183
  "soft-shell": "soft-shell";
7184
+ "split-glass": "split-glass";
7185
+ "split-pill": "split-pill";
7180
7186
  }>;
7181
7187
  footerLookId: z.ZodNullable<z.ZodEnum<{
7182
7188
  "footer-muted-grounding": "footer-muted-grounding";
@@ -7252,7 +7258,7 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
7252
7258
  headerLookId: z.ZodNullable<z.ZodEnum<{
7253
7259
  "clean-base": "clean-base";
7254
7260
  "brand-solid": "brand-solid";
7255
- "editorial-line": "editorial-line";
7261
+ "serif-line": "serif-line";
7256
7262
  "centered-calm": "centered-calm";
7257
7263
  "practical-utility": "practical-utility";
7258
7264
  "minimal-transparent": "minimal-transparent";
@@ -7263,12 +7269,11 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
7263
7269
  classic: "classic";
7264
7270
  centered: "centered";
7265
7271
  floating: "floating";
7266
- editorial: "editorial";
7267
7272
  }>;
7268
7273
  headerStyleId: z.ZodEnum<{
7269
7274
  minimal: "minimal";
7270
7275
  glass: "glass";
7271
- "editorial-line": "editorial-line";
7276
+ "serif-line": "serif-line";
7272
7277
  "fine-line": "fine-line";
7273
7278
  "soft-bar": "soft-bar";
7274
7279
  "pill-nav": "pill-nav";
@@ -7278,6 +7283,8 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
7278
7283
  "flat-tabs": "flat-tabs";
7279
7284
  "minimal-surface": "minimal-surface";
7280
7285
  "soft-shell": "soft-shell";
7286
+ "split-glass": "split-glass";
7287
+ "split-pill": "split-pill";
7281
7288
  }>;
7282
7289
  footerLookId: z.ZodNullable<z.ZodEnum<{
7283
7290
  "footer-muted-grounding": "footer-muted-grounding";
@@ -8228,7 +8235,7 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
8228
8235
  headerLookId: z.ZodNullable<z.ZodEnum<{
8229
8236
  "clean-base": "clean-base";
8230
8237
  "brand-solid": "brand-solid";
8231
- "editorial-line": "editorial-line";
8238
+ "serif-line": "serif-line";
8232
8239
  "centered-calm": "centered-calm";
8233
8240
  "practical-utility": "practical-utility";
8234
8241
  "minimal-transparent": "minimal-transparent";
@@ -8239,12 +8246,11 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
8239
8246
  classic: "classic";
8240
8247
  centered: "centered";
8241
8248
  floating: "floating";
8242
- editorial: "editorial";
8243
8249
  }>;
8244
8250
  headerStyleId: z.ZodEnum<{
8245
8251
  minimal: "minimal";
8246
8252
  glass: "glass";
8247
- "editorial-line": "editorial-line";
8253
+ "serif-line": "serif-line";
8248
8254
  "fine-line": "fine-line";
8249
8255
  "soft-bar": "soft-bar";
8250
8256
  "pill-nav": "pill-nav";
@@ -8254,6 +8260,8 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
8254
8260
  "flat-tabs": "flat-tabs";
8255
8261
  "minimal-surface": "minimal-surface";
8256
8262
  "soft-shell": "soft-shell";
8263
+ "split-glass": "split-glass";
8264
+ "split-pill": "split-pill";
8257
8265
  }>;
8258
8266
  footerLookId: z.ZodNullable<z.ZodEnum<{
8259
8267
  "footer-muted-grounding": "footer-muted-grounding";
@@ -29502,7 +29510,7 @@ export declare const proposalToolSchemas: {
29502
29510
  headerLookId: z.ZodNullable<z.ZodEnum<{
29503
29511
  "clean-base": "clean-base";
29504
29512
  "brand-solid": "brand-solid";
29505
- "editorial-line": "editorial-line";
29513
+ "serif-line": "serif-line";
29506
29514
  "centered-calm": "centered-calm";
29507
29515
  "practical-utility": "practical-utility";
29508
29516
  "minimal-transparent": "minimal-transparent";
@@ -29513,12 +29521,11 @@ export declare const proposalToolSchemas: {
29513
29521
  classic: "classic";
29514
29522
  centered: "centered";
29515
29523
  floating: "floating";
29516
- editorial: "editorial";
29517
29524
  }>;
29518
29525
  headerStyleId: z.ZodEnum<{
29519
29526
  minimal: "minimal";
29520
29527
  glass: "glass";
29521
- "editorial-line": "editorial-line";
29528
+ "serif-line": "serif-line";
29522
29529
  "fine-line": "fine-line";
29523
29530
  "soft-bar": "soft-bar";
29524
29531
  "pill-nav": "pill-nav";
@@ -29528,6 +29535,8 @@ export declare const proposalToolSchemas: {
29528
29535
  "flat-tabs": "flat-tabs";
29529
29536
  "minimal-surface": "minimal-surface";
29530
29537
  "soft-shell": "soft-shell";
29538
+ "split-glass": "split-glass";
29539
+ "split-pill": "split-pill";
29531
29540
  }>;
29532
29541
  footerLookId: z.ZodNullable<z.ZodEnum<{
29533
29542
  "footer-muted-grounding": "footer-muted-grounding";
@@ -30478,7 +30487,7 @@ export declare const proposalToolSchemas: {
30478
30487
  headerLookId: z.ZodNullable<z.ZodEnum<{
30479
30488
  "clean-base": "clean-base";
30480
30489
  "brand-solid": "brand-solid";
30481
- "editorial-line": "editorial-line";
30490
+ "serif-line": "serif-line";
30482
30491
  "centered-calm": "centered-calm";
30483
30492
  "practical-utility": "practical-utility";
30484
30493
  "minimal-transparent": "minimal-transparent";
@@ -30489,12 +30498,11 @@ export declare const proposalToolSchemas: {
30489
30498
  classic: "classic";
30490
30499
  centered: "centered";
30491
30500
  floating: "floating";
30492
- editorial: "editorial";
30493
30501
  }>;
30494
30502
  headerStyleId: z.ZodEnum<{
30495
30503
  minimal: "minimal";
30496
30504
  glass: "glass";
30497
- "editorial-line": "editorial-line";
30505
+ "serif-line": "serif-line";
30498
30506
  "fine-line": "fine-line";
30499
30507
  "soft-bar": "soft-bar";
30500
30508
  "pill-nav": "pill-nav";
@@ -30504,6 +30512,8 @@ export declare const proposalToolSchemas: {
30504
30512
  "flat-tabs": "flat-tabs";
30505
30513
  "minimal-surface": "minimal-surface";
30506
30514
  "soft-shell": "soft-shell";
30515
+ "split-glass": "split-glass";
30516
+ "split-pill": "split-pill";
30507
30517
  }>;
30508
30518
  footerLookId: z.ZodNullable<z.ZodEnum<{
30509
30519
  "footer-muted-grounding": "footer-muted-grounding";
@@ -13,6 +13,17 @@ export type CustomBlockManifestSource = {
13
13
  } | {
14
14
  kind: 'managed-database';
15
15
  };
16
+ export type CustomBlockSourcePolicy = {
17
+ kind: 'canonical-db-fallback-sdk';
18
+ };
19
+ export type CustomBlockConflictReason = 'db-canonical-sdk-fallback';
20
+ export type CustomBlockRegistryConflict = {
21
+ kind: 'conflict';
22
+ blockKind: `custom.${string}`;
23
+ winner: CustomBlockManifestSource;
24
+ loser: CustomBlockManifestSource;
25
+ reason: CustomBlockConflictReason;
26
+ };
16
27
  export type CustomBlockRegistryEntry = {
17
28
  manifest: SdkCustomBlock;
18
29
  source: CustomBlockManifestSource;
@@ -25,14 +36,22 @@ export type ResolvedCustomBlockManifest = {
25
36
  };
26
37
  export type CustomBlockRegistry = {
27
38
  entries: readonly ResolvedCustomBlockManifest[];
39
+ conflicts: readonly CustomBlockRegistryConflict[];
28
40
  findManifest: (blockKind: string) => ResolvedCustomBlockManifest | undefined;
29
41
  };
30
42
  export type CustomBlockRegistryInput = {
31
43
  sdkConfig?: SdkConfigForBlockPicker | null;
32
44
  customBlocks?: readonly CustomBlockRegistryEntry[];
45
+ policy?: CustomBlockSourcePolicy;
33
46
  onConflict?: (message: string) => void;
34
47
  };
48
+ export type CustomBlockRegistryResolutionPlan = {
49
+ policy: CustomBlockSourcePolicy;
50
+ entries: readonly ResolvedCustomBlockManifest[];
51
+ conflicts: readonly CustomBlockRegistryConflict[];
52
+ };
35
53
  declare function transformToBlockDescriptor(sdkBlock: SdkCustomBlock, source?: BlockDescriptor['source']): BlockDescriptor;
36
- export declare function createCustomBlockRegistry({ sdkConfig, customBlocks, onConflict, }: CustomBlockRegistryInput): CustomBlockRegistry;
54
+ export declare function planCustomBlockRegistryResolution({ sdkConfig, customBlocks, policy, }: Omit<CustomBlockRegistryInput, 'onConflict'>): CustomBlockRegistryResolutionPlan;
55
+ export declare function createCustomBlockRegistry({ sdkConfig, customBlocks, policy, onConflict, }: CustomBlockRegistryInput): CustomBlockRegistry;
37
56
  export declare function mergeBlockDescriptorsWithRegistry(systemBlocks: readonly BlockDescriptor[], registry: CustomBlockRegistry, onConflict?: (message: string) => void): BlockDescriptor[];
38
57
  export { transformSdkBlockToManifest, transformSdkBlockToDefinition, transformToBlockDescriptor, };
@@ -1,6 +1,6 @@
1
1
  export { default as PageRenderer } from './PageRenderer';
2
- export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, transformToBlockDescriptor, } from './customBlockRegistry';
3
- export type { CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryEntry, ResolvedCustomBlockManifest, SdkConfigForBlockPicker, } from './customBlockRegistry';
2
+ export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, planCustomBlockRegistryResolution, transformToBlockDescriptor, } from './customBlockRegistry';
3
+ export type { CustomBlockConflictReason, CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryConflict, CustomBlockRegistryEntry, CustomBlockRegistryResolutionPlan, CustomBlockSourcePolicy, ResolvedCustomBlockManifest, SdkConfigForBlockPicker, } from './customBlockRegistry';
4
4
  export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, SdkConfigForRenderer, } from './PageRenderer';
5
5
  export * from './subroutes';
6
6
  export * from './primitives/content/components/Button';
@@ -1,8 +1,8 @@
1
- import type { SystemBlockDefinition } from "../registry";
1
+ import type { SystemBlockDefinition } from '../registry';
2
2
  export declare const siteHeaderManifest: import("..").DefinedBlockManifest<{
3
3
  readonly skipSectionStyles: true;
4
4
  }>;
5
5
  export type SiteHeaderManifest = typeof siteHeaderManifest;
6
- export type SiteHeaderVariant = "classic" | "centered" | "transparent" | "floating" | "editorial";
6
+ export type SiteHeaderVariant = 'classic' | 'centered' | 'transparent' | 'floating';
7
7
  export type SiteHeaderContent = Record<string, never>;
8
8
  export declare const siteHeaderBlockDefinition: SystemBlockDefinition<SiteHeaderContent>;
@@ -210,5 +210,10 @@ export declare function validateFieldValue(plan: FieldValidationPlan, value: unk
210
210
  export declare function fieldPlanToZod(plan: FieldValidationPlan, options?: FieldValidationOptions): z.ZodTypeAny;
211
211
  export declare function resolveFieldValidationDescriptor(plans: readonly FieldValidationPlan[], path: FieldPath): FieldValidationDescriptor | null;
212
212
  export declare function validateManifestValues(fields: readonly FieldDefinition[], values: Record<string, unknown>, options?: FieldValidationOptions): FieldValidationIssue[];
213
+ export declare function isCanonicalEmailValue(value: string): boolean;
214
+ export declare function isCanonicalPhoneValue(value: string): boolean;
215
+ export declare function isCanonicalUrlValue(value: string, options?: Readonly<{
216
+ allowRelative?: boolean;
217
+ }>): boolean;
213
218
  export declare function isEmptyValue(value: unknown): boolean;
214
219
  export declare function isEmptyRichTextDoc(value: unknown): boolean;
@@ -0,0 +1,28 @@
1
+ import { type FieldValidationIssue } from '../../../manifest/fieldValidation';
2
+ import type { StepValidationResult } from './types';
3
+ import type { FormField } from './DynamicFormFields';
4
+ type RuntimeSpecificFormValidationIssue = Readonly<{
5
+ kind: 'tooShort';
6
+ fieldId: string;
7
+ label: string;
8
+ minimum: number;
9
+ }>;
10
+ export type RuntimeFormValidationIssue = Readonly<{
11
+ kind: 'canonical';
12
+ issue: FieldValidationIssue;
13
+ }> | RuntimeSpecificFormValidationIssue;
14
+ export type RuntimeFormValidationResult = Readonly<{
15
+ valid: true;
16
+ issues: readonly [];
17
+ }> | Readonly<{
18
+ valid: false;
19
+ issues: readonly RuntimeFormValidationIssue[];
20
+ }>;
21
+ export declare function validateRuntimeFormField(field: FormField, value: unknown): RuntimeFormValidationResult;
22
+ export declare function getRuntimeFormFieldError(field: FormField, value: unknown): string | null;
23
+ export declare function validateRuntimeFormFields(fields: readonly FormField[], data: Readonly<Record<string, unknown>>): StepValidationResult;
24
+ export declare function listRuntimeFormValidationIssues(field: FormField, value: unknown): readonly RuntimeFormValidationIssue[];
25
+ export declare function runtimeFormIssueToMessage(issue: RuntimeFormValidationIssue): string;
26
+ export declare function isRuntimeFormValueMissing(field: FormField, value: unknown): boolean;
27
+ export declare function coerceRuntimeNumberValue(value: unknown): number | null;
28
+ export {};
@@ -1,7 +1,7 @@
1
- import { z } from "zod";
2
- import type { ThemeHeader } from "../../../../../theme-core/src/schema";
3
- import type { ThemeTokens } from "../../theme";
4
- import { type TransformDefinition } from "./core";
1
+ import { z } from 'zod';
2
+ import type { ThemeHeader } from '../../../../../theme-core/src/schema';
3
+ import type { ThemeTokens } from '../../theme';
4
+ import { type TransformDefinition } from './core';
5
5
  declare const maxWidthClassSchema: z.ZodObject<{
6
6
  base: z.ZodOptional<z.ZodString>;
7
7
  container: z.ZodOptional<z.ZodString>;
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export type Theme = {
9
9
  header?: {
10
- variant?: 'classic' | 'centered' | 'transparent' | 'floating' | 'editorial';
10
+ variant?: 'classic' | 'centered' | 'transparent' | 'floating';
11
11
  [key: string]: unknown;
12
12
  };
13
13
  footer?: {
@@ -29,7 +29,7 @@ export type LayoutProps = {
29
29
  children: React.ReactNode;
30
30
  header?: boolean | ((data: HeaderData) => React.ReactNode);
31
31
  footer?: boolean | ((data: FooterData) => React.ReactNode);
32
- headerVariant?: 'classic' | 'centered' | 'transparent' | 'floating' | 'editorial';
32
+ headerVariant?: 'classic' | 'centered' | 'transparent' | 'floating';
33
33
  /**
34
34
  * Whether the current request has an active portal session.
35
35
  * Used to resolve portal navigation labels (e.g. "Login" vs "My account").
@@ -58,7 +58,7 @@ export type LayoutProps = {
58
58
  * the strict `@riverbankcms/sdk/rendering/server` surface stays bootstrap-free.
59
59
  * If a custom host renders hydratable CMS islands through the strict server
60
60
  * surface, mount `BlocksIslandsHydrator` from
61
- * `@riverbankcms/sdk/rendering/islands` explicitly.
61
+ * `@riverbankcms/sdk/rendering/islands` explicitly.
62
62
  *
63
63
  * @example With pre-fetched site data (recommended)
64
64
  * ```tsx
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.77.0";
11
+ export declare const SDK_VERSION = "0.77.1";