@riverbankcms/sdk 0.101.0 → 0.103.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.
Files changed (123) hide show
  1. package/README.md +10 -2
  2. package/dist/{PreviewEditorSidebar-DBpy0KTh.mjs → PreviewEditorSidebar-DkNpCPja.mjs} +430 -74
  3. package/dist/{PreviewEditorUI-Fg6I2R2T.mjs → PreviewEditorUI-DeNKtqk3.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BICQLAUF.mjs → PreviewQueryProvider-ZF6TXq5Q.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DFQP-Q53.mjs → SdkPreviewModeRuntime-5bCsXK2y.mjs} +694 -329
  6. package/dist/{SiteChromeCustomizeContext-GwZc89KN.mjs → SiteChromeCustomizeContext-CO1sTK_W.mjs} +538 -69
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +298 -298
  8. package/dist/_dts/ai/src/designer/rfc6902.d.ts +57 -1
  9. package/dist/_dts/ai/src/designer/themePatch.d.ts +16 -6
  10. package/dist/_dts/api/src/bookingVerticals.d.ts +53 -1
  11. package/dist/_dts/api/src/index.d.ts +1 -1
  12. package/dist/_dts/api/src/navigation/contracts.d.ts +6 -6
  13. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  14. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -0
  15. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -1
  16. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  17. package/dist/_dts/blocks/src/index.d.ts +1 -1
  18. package/dist/_dts/blocks/src/server.d.ts +1 -1
  19. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +7 -7
  20. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  21. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +14 -14
  22. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +5 -5
  23. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +227 -227
  24. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  27. package/dist/_dts/blocks/src/system/inlineText.d.ts +2 -2
  28. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +177 -177
  29. package/dist/_dts/blocks/src/system/node/schema.d.ts +1 -1
  30. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
  33. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  34. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  35. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  36. package/dist/_dts/core/src/branded.d.ts +4 -0
  37. package/dist/_dts/core/src/person-records.d.ts +6 -1
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +154 -18
  39. package/dist/_dts/db/src/schemas/forms.d.ts +15 -15
  40. package/dist/_dts/media-core/src/identifiers.d.ts +14 -1
  41. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  42. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +3 -1
  43. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  44. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -1
  45. package/dist/_dts/preview-next/src/client/preview/CustomizeColorTokenPicker.d.ts +27 -0
  46. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  47. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +2 -1
  48. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +10 -2
  49. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +43 -7
  50. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  51. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +16 -1
  52. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
  53. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +4 -4
  54. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  55. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +4 -2
  56. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  57. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  58. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -0
  59. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +10 -10
  60. package/dist/_dts/sdk/src/next/revalidate.d.ts +14 -1
  61. package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -4
  62. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  63. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  64. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -4
  65. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -0
  66. package/dist/_dts/sdk/src/version.d.ts +1 -1
  67. package/dist/_dts/site-commands/src/commands.d.ts +19 -19
  68. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  69. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  70. package/dist/_dts/theme-core/src/buttons/types.d.ts +7 -7
  71. package/dist/_dts/theme-core/src/cards/types.d.ts +6 -6
  72. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  73. package/dist/_dts/theme-core/src/inputs/types.d.ts +4 -4
  74. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +150 -144
  75. package/dist/_dts/theme-core/src/navigation/types.d.ts +6 -6
  76. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +5 -5
  77. package/dist/_dts/theme-core/src/schema.d.ts +199 -169
  78. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  79. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  80. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +28 -26
  81. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  82. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +4 -4
  83. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  84. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +9 -2
  85. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +3 -3
  86. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +50 -2
  87. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +77 -0
  88. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +44 -0
  89. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  92. package/dist/_dts/ui/src/badge.d.ts +1 -1
  93. package/dist/_dts/ui/src/button.d.ts +1 -1
  94. package/dist/_dts/ui/src/card.d.ts +1 -1
  95. package/dist/_dts/ui/src/toggle.d.ts +2 -2
  96. package/dist/cli/index.mjs +58 -21
  97. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +9 -1
  98. package/dist/client/client.mjs +379 -83
  99. package/dist/client/hooks.mjs +27 -6
  100. package/dist/client/rendering/client.mjs +46 -17
  101. package/dist/client/rendering.mjs +378 -82
  102. package/dist/preview-next/before-render.mjs +1 -1
  103. package/dist/preview-next/client/runtime.mjs +4 -4
  104. package/dist/{previewAuthStore-Da74OL0X.mjs → previewAuthStore-ByPPZqmp.mjs} +1 -0
  105. package/dist/{sdk-runtime-CP6Kwalv.mjs → sdk-runtime-C8whifOy.mjs} +2 -2
  106. package/dist/{separator-BVk7GvGN.mjs → separator-CM2C5Axs.mjs} +1 -1
  107. package/dist/server/components.mjs +357 -77
  108. package/dist/server/config-validation.mjs +26 -6
  109. package/dist/server/config.mjs +26 -6
  110. package/dist/server/data.mjs +26 -6
  111. package/dist/server/index.mjs +2 -2
  112. package/dist/server/next/revalidate.mjs +31 -1
  113. package/dist/server/next.mjs +361 -78
  114. package/dist/server/page-converter.mjs +19 -5
  115. package/dist/server/prebuild.mjs +1 -1
  116. package/dist/server/rendering/server.mjs +359 -77
  117. package/dist/server/rendering.mjs +359 -77
  118. package/dist/server/routing.mjs +40 -9
  119. package/dist/server/server.mjs +29 -7
  120. package/dist/server/theme-bridge.mjs +158 -36
  121. package/dist/server/theme.mjs +3 -0
  122. package/dist/styles/index.css +123 -30
  123. package/package.json +1 -1
@@ -3,7 +3,8 @@ import { type ApiClient } from '../../../../api/src/request';
3
3
  import type { Theme } from '../../../../blocks/src/index';
4
4
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
5
5
  import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
6
- import type { BrandDisplayMode, FooterLayoutId, FooterLookId, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, LogoSizePolicy, SiteChromeBackgroundColorToken, SiteChromeBackgroundOverride, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
6
+ import type { BrandDisplayMode, FooterLayoutId, FooterLookId, HeaderNavFontSizePreference, HeaderNavTypographyPreference, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, LogoSizePolicy, SiteChromeBackgroundColorToken, SiteChromeBackgroundOverride, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
7
+ import { headerNavFontSizeOptions, headerNavTypographyOptions } from '../../../../theme-core/src/site-styles/index';
7
8
  import { type StyleConfiguratorHistoryEntry } from './StyleConfigurator.state';
8
9
  import type { SiteStyleAccess } from './siteStyleAccess';
9
10
  import { type SiteChromeLookOption } from './siteChromeLookRows';
@@ -51,7 +52,7 @@ export type SiteChromeBackgroundControlState = Readonly<{
51
52
  quickTokens: readonly SiteChromeBackgroundColorToken[];
52
53
  advancedTokens: readonly SiteChromeBackgroundColorToken[];
53
54
  }>;
54
- type SiteChromeCustomizeSurfaceState = Readonly<{
55
+ export type SiteChromeCustomizeSurfaceState = Readonly<{
55
56
  kind: 'unavailable';
56
57
  }> | Readonly<{
57
58
  kind: 'available';
@@ -65,8 +66,13 @@ type SiteChromeCustomizeSurfaceState = Readonly<{
65
66
  options: readonly SiteChromeLookOption<HeaderStyleId>[];
66
67
  brandDisplay: BrandDisplayMode;
67
68
  brandDisplayOptions: readonly HeaderBrandDisplayOption[];
69
+ brandSizeLabel: string;
68
70
  logoSize: LogoSizePolicy;
69
71
  logoSizeOptions: readonly HeaderLogoSizeOption[];
72
+ menuFont: HeaderNavTypographyPreference;
73
+ menuFontOptions: typeof headerNavTypographyOptions;
74
+ menuFontSize: HeaderNavFontSizePreference;
75
+ menuFontSizeOptions: typeof headerNavFontSizeOptions;
70
76
  diagnostics: readonly string[];
71
77
  background: SiteChromeBackgroundControlState;
72
78
  failure: string | null;
@@ -92,6 +98,8 @@ type SiteChromeCustomizeContextValue = Readonly<{
92
98
  cycleSurfaceLayout: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
93
99
  setHeaderBrandDisplay: (value: BrandDisplayMode) => void;
94
100
  setHeaderLogoSize: (value: LogoSizePolicy) => void;
101
+ setHeaderMenuFont: (value: HeaderNavTypographyPreference) => void;
102
+ setHeaderMenuFontSize: (value: HeaderNavFontSizePreference) => void;
95
103
  cycleSurfaceBackground: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
96
104
  chooseSurfaceBackground: (surface: SiteChromeEditableSurfaceKind, override: SiteChromeBackgroundOverride) => void;
97
105
  siteStyleHistory: SiteStyleHistoryController;
@@ -11,6 +11,7 @@
11
11
  * picking and converge on apply-success.
12
12
  */
13
13
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
14
+ import type { Theme } from '../../../../blocks/src/index';
14
15
  import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
15
16
  import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderStyleId, type TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
16
17
  import type { SelectionFallbackWarning, SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
@@ -37,6 +38,33 @@ export type StyleConfiguratorNotice = Readonly<{
37
38
  }> | Readonly<{
38
39
  kind: 'palette-overrides-restored';
39
40
  }>;
41
+ type ThemeTypography = Theme['typography'];
42
+ type BodyTypography = ThemeTypography['body'];
43
+ type HeadingTypography = ThemeTypography['headings']['default'];
44
+ export type TypographySelectionSnapshot = Readonly<{
45
+ kind: 'preset';
46
+ presetId: TypographyPresetId | null;
47
+ bodyFontOverride: string | null;
48
+ headingFontOverride: string | null;
49
+ }> | Readonly<{
50
+ kind: 'custom';
51
+ typography: ThemeTypography;
52
+ }>;
53
+ export type TypographySelectionFlatFields = Readonly<{
54
+ typographyPresetId: TypographyPresetId | null;
55
+ typographyBodyFontOverride: string | null;
56
+ typographyHeadingFontOverride: string | null;
57
+ }>;
58
+ export type TypographyDraftPatch = Readonly<{
59
+ kind: 'heading';
60
+ patch: Partial<HeadingTypography>;
61
+ }> | Readonly<{
62
+ kind: 'body';
63
+ patch: Partial<BodyTypography>;
64
+ }> | Readonly<{
65
+ kind: 'scale';
66
+ scale: ThemeTypography['scale'];
67
+ }>;
40
68
  export type SelectionSnapshot = Readonly<{
41
69
  siteStyleId: SiteStyleId;
42
70
  selectionVersion: number;
@@ -48,9 +76,7 @@ export type SelectionSnapshot = Readonly<{
48
76
  buttonPersonalityId: ButtonPersonalityId;
49
77
  paletteVariantId: PaletteVariantId;
50
78
  paletteOverrides: PaletteOverrides | null;
51
- typographyPresetId: TypographyPresetId | null;
52
- typographyBodyFontOverride: string | null;
53
- typographyHeadingFontOverride: string | null;
79
+ typographySelection: TypographySelectionSnapshot;
54
80
  }>;
55
81
  type PaletteOverrideDrafts = Readonly<Partial<Record<PaletteVariantId, PaletteOverrides>>>;
56
82
  type StyleConfiguratorTargetKey = 'design:site-style';
@@ -95,9 +121,9 @@ export declare function previewHeaderLayout(state: StyleConfiguratorState, heade
95
121
  export declare function previewHeaderStyle(state: StyleConfiguratorState, headerStyleId: HeaderStyleId): StyleConfiguratorState;
96
122
  export declare function previewFooterLook(state: StyleConfiguratorState, footerLookId: FooterLookId | null): StyleConfiguratorState;
97
123
  export declare function previewTypographyPreset(state: StyleConfiguratorState, typographyPresetId: TypographyPresetId): StyleConfiguratorState;
98
- export declare function setTypographyBodyFontOverride(state: StyleConfiguratorState, typographyBodyFontOverride: string | null): StyleConfiguratorState;
99
- export declare function setTypographyHeadingFontOverride(state: StyleConfiguratorState, typographyHeadingFontOverride: string | null): StyleConfiguratorState;
100
- export declare function clearTypographyFontOverrides(state: StyleConfiguratorState): StyleConfiguratorState;
124
+ export declare function setCustomTypography(state: StyleConfiguratorState, typography: ThemeTypography): StyleConfiguratorState;
125
+ export declare function applyTypographyDraftPatch(state: StyleConfiguratorState, currentTypography: ThemeTypography, patch: TypographyDraftPatch): StyleConfiguratorState;
126
+ export declare function resetTypographyToSaved(state: StyleConfiguratorState): StyleConfiguratorState;
101
127
  export declare function previewPaletteVariant(state: StyleConfiguratorState, paletteVariantId: PaletteVariantId): StyleConfiguratorState;
102
128
  export declare function setPaletteOverrides(state: StyleConfiguratorState, paletteOverrides: PaletteOverrides | null): StyleConfiguratorState;
103
129
  /**
@@ -112,7 +138,8 @@ export declare function setPaletteOverrides(state: StyleConfiguratorState, palet
112
138
  * under the previous palette ID and any draft for the new palette is restored.
113
139
  */
114
140
  export declare function applyResolvedSelections(state: StyleConfiguratorState, input: Readonly<{
115
- resolved: Pick<SelectionSnapshot, 'buttonPersonalityId' | 'paletteVariantId' | 'headerLayoutId' | 'headerStyleId' | 'headerLookId' | 'typographyPresetId' | 'typographyBodyFontOverride' | 'typographyHeadingFontOverride'>;
141
+ resolved: Pick<SelectionSnapshot, 'buttonPersonalityId' | 'paletteVariantId' | 'headerLayoutId' | 'headerStyleId' | 'headerLookId'> & TypographySelectionFlatFields;
142
+ typographySelection?: TypographySelectionSnapshot;
116
143
  warnings: ReadonlyArray<SelectionFallbackWarning>;
117
144
  }>): StyleConfiguratorState;
118
145
  export declare function cancelPreview(state: StyleConfiguratorState): StyleConfiguratorState;
@@ -129,5 +156,14 @@ export declare function dismissNotices(state: StyleConfiguratorState): StyleConf
129
156
  */
130
157
  export declare function syncStyleConfiguratorState(state: StyleConfiguratorState, base: SelectionSnapshot): StyleConfiguratorState;
131
158
  export declare function selectionSnapshotsEqual(a: SelectionSnapshot, b: SelectionSnapshot): boolean;
159
+ export declare function typographySelectionSnapshotFromFlat(input: Readonly<{
160
+ typographyPresetId?: TypographyPresetId | null;
161
+ typographyBodyFontOverride?: string | null;
162
+ typographyHeadingFontOverride?: string | null;
163
+ theme?: Theme | null;
164
+ }>): TypographySelectionSnapshot;
165
+ export declare function typographySelectionFlatFields(selection: TypographySelectionSnapshot): TypographySelectionFlatFields;
166
+ export declare function customTypographyForSelection(selection: TypographySelectionSnapshot): ThemeTypography | null;
167
+ export declare function typographySelectionsEqual(a: TypographySelectionSnapshot, b: TypographySelectionSnapshot): boolean;
132
168
  export declare function paletteOverridesEqual(a: PaletteOverrides | null, b: PaletteOverrides | null): boolean;
133
169
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { PreviewSidebarTab } from '../../../../content-editor/src/index';
2
2
  export type { PreviewSidebarTab };
3
- export type PreviewDesignRow = 'header' | 'footer';
3
+ export type PreviewDesignRow = 'header' | 'footer' | 'header-layout' | 'header-style' | 'footer-layout';
4
4
  export type PreviewSidebarOpenRequest = Readonly<{
5
5
  tab: PreviewSidebarTab;
6
6
  designRow?: PreviewDesignRow;
@@ -1,5 +1,5 @@
1
1
  import { type HistoryState } from '../../../../content-editor/src/index';
2
- import { type BrandDisplayMode, type FooterLookId, type LogoSizePolicy, type SiteChromeBackgroundOverride, type SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
2
+ import { type BrandDisplayMode, type FooterLookId, type HeaderNavFontSizePreference, type HeaderNavPreferences, type HeaderNavTypographyPreference, type LogoSizePolicy, type SiteChromeBackgroundOverride, type SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
3
3
  import type { SelectionSnapshot } from './StyleConfigurator.state';
4
4
  import type { HeaderBrandPreferences } from './siteChromeBrandPreferences';
5
5
  type HeaderLayoutSelection = Pick<SelectionSnapshot, 'headerLayoutId' | 'headerStyleId' | 'headerLookId'>;
@@ -36,16 +36,26 @@ export type SiteChromeQuickControlHistoryEntry = Readonly<{
36
36
  kind: 'header-logo-size';
37
37
  previous: LogoSizePolicy;
38
38
  next: LogoSizePolicy;
39
+ }> | Readonly<{
40
+ kind: 'header-menu-font';
41
+ previous: HeaderNavTypographyPreference;
42
+ next: HeaderNavTypographyPreference;
43
+ }> | Readonly<{
44
+ kind: 'header-menu-font-size';
45
+ previous: HeaderNavFontSizePreference;
46
+ next: HeaderNavFontSizePreference;
39
47
  }>;
40
48
  export type SiteChromeQuickControlHistoryPresent = Readonly<{
41
49
  selection: SelectionSnapshot;
42
50
  headerBrandPreferences: HeaderBrandPreferences;
51
+ headerNavPreferences: HeaderNavPreferences;
43
52
  backgroundPreferences: SiteChromeBackgroundPreferences;
44
53
  entry: SiteChromeQuickControlHistoryEntry | null;
45
54
  }>;
46
55
  type SiteChromeQuickControlHistoryPresentInput = Readonly<{
47
56
  selection: SelectionSnapshot;
48
57
  headerBrandPreferences: HeaderBrandPreferences;
58
+ headerNavPreferences?: HeaderNavPreferences;
49
59
  backgroundPreferences?: SiteChromeBackgroundPreferences;
50
60
  }>;
51
61
  export type SiteChromeQuickControlReplayPlan = Readonly<{
@@ -55,6 +65,9 @@ export type SiteChromeQuickControlReplayPlan = Readonly<{
55
65
  }> | Readonly<{
56
66
  kind: 'brand-preferences';
57
67
  preferences: HeaderBrandPreferences;
68
+ }> | Readonly<{
69
+ kind: 'nav-preferences';
70
+ preferences: HeaderNavPreferences;
58
71
  }> | Readonly<{
59
72
  kind: 'background-preferences';
60
73
  preferences: SiteChromeBackgroundPreferences;
@@ -99,6 +112,7 @@ export type SiteChromeQuickControlHistoryFailure = Readonly<{
99
112
  }>;
100
113
  export type SiteChromeQuickControlSelectionTarget = 'header-layout' | 'header-style' | 'footer-layout' | 'footer-look';
101
114
  export type SiteChromeQuickControlBrandTarget = 'header-brand-display' | 'header-logo-size';
115
+ export type SiteChromeQuickControlNavTarget = 'header-menu-font' | 'header-menu-font-size';
102
116
  export type SiteChromeQuickControlBackgroundTarget = 'header-background' | 'footer-background';
103
117
  export declare function createSiteChromeQuickControlHistoryState(present: SiteChromeQuickControlHistoryPresentInput): SiteChromeQuickControlHistoryState;
104
118
  export declare function recordSiteChromeQuickControlHistoryEntry(state: SiteChromeQuickControlHistoryState, input: Readonly<{
@@ -109,6 +123,7 @@ export declare function recordSiteChromeQuickControlHistoryEntry(state: SiteChro
109
123
  export declare function quickControlHistoryEntryFromSelectionChange(previous: SelectionSnapshot, next: SelectionSnapshot, target: SiteChromeQuickControlSelectionTarget): SiteChromeQuickControlHistoryEntry | null;
110
124
  export declare function quickControlHistoryEntryFromBrandPreferenceChange(previous: HeaderBrandPreferences, next: HeaderBrandPreferences, target: SiteChromeQuickControlBrandTarget): SiteChromeQuickControlHistoryEntry | null;
111
125
  export declare function quickControlHistoryEntryFromBackgroundPreferenceChange(previous: SiteChromeBackgroundPreferences, next: SiteChromeBackgroundPreferences, target: SiteChromeQuickControlBackgroundTarget): SiteChromeQuickControlHistoryEntry | null;
126
+ export declare function quickControlHistoryEntryFromNavPreferenceChange(previous: HeaderNavPreferences, next: HeaderNavPreferences, target: SiteChromeQuickControlNavTarget): SiteChromeQuickControlHistoryEntry | null;
112
127
  export declare function beginSiteChromeQuickControlHistoryUndo(state: SiteChromeQuickControlHistoryState): SiteChromeQuickControlHistoryBeginResult;
113
128
  export declare function beginSiteChromeQuickControlHistoryRedo(state: SiteChromeQuickControlHistoryState): SiteChromeQuickControlHistoryBeginResult;
114
129
  export declare function confirmSiteChromeQuickControlHistoryMutation(state: SiteChromeQuickControlHistoryState, persisted: SiteChromeQuickControlHistoryPresentInput): SiteChromeQuickControlHistoryState;
@@ -1,6 +1,6 @@
1
1
  import type { APIEndpoints } from '../../../../api/src/index';
2
2
  import type { Theme } from '../../../../blocks/src/index';
3
- import type { FooterSelectionContext, HeaderSelectionContext, SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
3
+ import type { FooterSelectionContext, HeaderNavPreferences, HeaderSelectionContext, SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
4
4
  import type { CuratedSiteStyle } from '../../../../theme-core/src/site-styles/previewCompiler';
5
5
  import type { SelectionSnapshot } from './StyleConfigurator.state';
6
6
  import { type SiteStylePreviewPlan } from './siteStylePreviewPlanner';
@@ -20,11 +20,12 @@ export type BuildSiteChromeSavePlanInput = Readonly<{
20
20
  headerSelectionContext: Partial<HeaderSelectionContext> | undefined;
21
21
  footerSelectionContext: Partial<FooterSelectionContext> | undefined;
22
22
  headerBrandPreferences: HeaderBrandPreferences;
23
+ headerNavPreferences: HeaderNavPreferences;
23
24
  backgroundPreferences: SiteChromeBackgroundPreferences;
24
25
  themeId: string | null;
25
26
  selectionId: string | null;
26
27
  baseSelectionUpdatedAt: string | null;
27
28
  }>;
28
- export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, footerSelectionContext, headerBrandPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt, }: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
29
+ export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, footerSelectionContext, headerBrandPreferences, headerNavPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt, }: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
29
30
  export declare function siteChromeSavePlanBodyForBaseRevision(plan: SiteChromeSavePlan, baseSelectionUpdatedAt: string | null): SaveSiteChromeLookSelectionBody;
30
31
  export {};
@@ -2,15 +2,14 @@ import type { Theme } from '../../../../blocks/src/index';
2
2
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
3
3
  import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
4
4
  import type { FooterLookId, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
5
- import { type CuratedSiteStyle, type SelectionFallbackWarning, type SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
5
+ import { type CuratedSiteStyle, type CompiledTypographySelection, type SelectionFallbackWarning, type SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
6
+ import type { TypographySelectionSnapshot } from './StyleConfigurator.state';
6
7
  export type SiteStylePreviewSelection = Readonly<{
7
8
  siteStyleId: SiteStyleId;
8
9
  buttonPersonalityId: ButtonPersonalityId;
9
10
  paletteVariantId: PaletteVariantId;
10
11
  paletteOverrides: PaletteOverrides | null;
11
- typographyPresetId?: TypographyPresetId | null;
12
- typographyBodyFontOverride?: string | null;
13
- typographyHeadingFontOverride?: string | null;
12
+ typographySelection?: TypographySelectionSnapshot;
14
13
  headerLayoutId?: HeaderLayoutId | null;
15
14
  headerStyleId?: HeaderStyleId | null;
16
15
  headerLookId: HeaderLookId | null;
@@ -25,6 +24,7 @@ export type SiteStylePreviewPlan = Readonly<{
25
24
  resolvedSelections: Readonly<{
26
25
  buttonPersonalityId: ButtonPersonalityId;
27
26
  paletteVariantId: PaletteVariantId;
27
+ typographySelection: CompiledTypographySelection['resolvedSelection'];
28
28
  typographyPresetId: TypographyPresetId | null;
29
29
  typographyBodyFontOverride: string | null;
30
30
  typographyHeadingFontOverride: string | null;
@@ -1,5 +1,5 @@
1
1
  import type { APIEndpoints } from '../../../../api/src/index';
2
- import type { SelectionSnapshot } from './StyleConfigurator.state';
2
+ import { type SelectionSnapshot } from './StyleConfigurator.state';
3
3
  export type ApplySiteStyleSelectionBody = NonNullable<APIEndpoints['applySiteStyleSelection']['body']>;
4
4
  export declare function buildApplySiteStyleSelectionBody(input: Readonly<{
5
5
  base: SelectionSnapshot;
@@ -1,11 +1,13 @@
1
1
  import type { Theme } from '../../../../blocks/src/index';
2
2
  import type { TypographyPresetId, TypographySelection } from '../../../../theme-core/src/site-styles/previewCompiler';
3
- type TypographySelectionSnapshot = Readonly<{
3
+ import type { TypographySelectionSnapshot } from './StyleConfigurator.state';
4
+ type TypographySelectionInputSnapshot = Readonly<{
4
5
  typographyPresetId?: TypographyPresetId | null;
5
6
  typographyBodyFontOverride?: string | null;
6
7
  typographyHeadingFontOverride?: string | null;
8
+ typographySelection?: TypographySelectionSnapshot;
7
9
  }>;
8
- export declare function typographySelectionInputForSnapshot(snapshot: TypographySelectionSnapshot, theme: Theme | null | undefined): Readonly<{
10
+ export declare function typographySelectionInputForSnapshot(snapshot: TypographySelectionInputSnapshot, theme: Theme | null | undefined): Readonly<{
9
11
  typographySelection?: TypographySelection;
10
12
  typographyPresetId?: TypographyPresetId | null;
11
13
  typographyBodyFontOverride?: string | null;
@@ -39,9 +39,9 @@ export declare const sectionBackgroundSchema: z.ZodObject<{
39
39
  * Schema for section spacing values.
40
40
  */
41
41
  export declare const sectionSpacingSchema: z.ZodEnum<{
42
+ default: "default";
42
43
  compact: "compact";
43
44
  spacious: "spacious";
44
- default: "default";
45
45
  }>;
46
46
  /**
47
47
  * Schema for container max-width values.
@@ -68,9 +68,9 @@ export declare const sectionOptionsSchema: z.ZodOptional<z.ZodObject<{
68
68
  backgroundImage: z.ZodOptional<z.ZodBoolean>;
69
69
  backgroundGradient: z.ZodOptional<z.ZodBoolean>;
70
70
  spacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
71
+ default: "default";
71
72
  compact: "compact";
72
73
  spacious: "spacious";
73
- default: "default";
74
74
  }>>, z.ZodBoolean]>>;
75
75
  textColor: z.ZodOptional<z.ZodBoolean>;
76
76
  }, z.core.$strip>>;
@@ -104,9 +104,9 @@ export declare const siteStyleConfigSchema: z.ZodOptional<z.ZodObject<{
104
104
  backgroundImage: z.ZodOptional<z.ZodBoolean>;
105
105
  backgroundGradient: z.ZodOptional<z.ZodBoolean>;
106
106
  spacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
107
+ default: "default";
107
108
  compact: "compact";
108
109
  spacious: "spacious";
109
- default: "default";
110
110
  }>>, z.ZodBoolean]>>;
111
111
  textColor: z.ZodOptional<z.ZodBoolean>;
112
112
  }, z.core.$strip>>;
@@ -1,6 +1,6 @@
1
1
  export type { TipTapNode, TipTapMark, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
2
2
  export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CourseDetailsContent, CourseRegistrationContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, ProductDetailContent, ProductListContent, SectionStylesContent, SemanticIconId, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, BlockIconValue, FeatureCardIconTreatment, } from './system-block-content';
3
- export type { PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
3
+ export type { PageOutline, PageRuntimeBoundary, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
4
4
  export type { Theme, ThemeTokens } from './theme';
5
5
  export type { CustomCssDeclarationsInput, CustomCssRuleInput, CustomCssNestedRuleInput, CustomCssAtRuleInput, KeyframesAtRuleInput, FontFaceAtRuleInput, MediaAtRuleInput, SupportsAtRuleInput, RawAtRuleInput, } from './custom-css';
6
6
  export type { BindingSource, BindingTransformName, BindingDescriptor, BindingInput, BindingMap, BindingContext, } from './bindings';
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Keep these types structurally compatible with the API responses.
5
5
  */
6
+ import type { CompiledBoundaryRuntime } from '../../../theme-core/src/site-styles/index';
6
7
  export type BlockOutline = {
7
8
  id: string | null;
8
9
  kind: string;
@@ -18,6 +19,7 @@ export type PageOutline = {
18
19
  purpose: string;
19
20
  blocks: BlockOutline[];
20
21
  };
22
+ export type PageRuntimeBoundary = CompiledBoundaryRuntime<string>;
21
23
  export type RouteMapEntry = string | {
22
24
  path?: string | null;
23
25
  href?: string | null;
@@ -10,8 +10,8 @@ export declare const simpleFieldTypeEnum: z.ZodEnum<{
10
10
  boolean: "boolean";
11
11
  text: "text";
12
12
  select: "select";
13
- media: "media";
14
13
  link: "link";
14
+ media: "media";
15
15
  richText: "richText";
16
16
  }>;
17
17
  export declare const fieldTypeEnum: z.ZodEnum<{
@@ -19,11 +19,11 @@ export declare const fieldTypeEnum: z.ZodEnum<{
19
19
  boolean: "boolean";
20
20
  text: "text";
21
21
  select: "select";
22
- media: "media";
23
22
  link: "link";
23
+ media: "media";
24
+ group: "group";
24
25
  richText: "richText";
25
26
  repeater: "repeater";
26
- group: "group";
27
27
  }>;
28
28
  /**
29
29
  * Combined field schema supporting all field types.
@@ -36,8 +36,8 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
36
36
  boolean: "boolean";
37
37
  text: "text";
38
38
  select: "select";
39
- media: "media";
40
39
  link: "link";
40
+ media: "media";
41
41
  richText: "richText";
42
42
  }>;
43
43
  label: z.ZodString;
@@ -63,8 +63,8 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
63
63
  boolean: "boolean";
64
64
  text: "text";
65
65
  select: "select";
66
- media: "media";
67
66
  link: "link";
67
+ media: "media";
68
68
  richText: "richText";
69
69
  }>;
70
70
  label: z.ZodString;
@@ -83,8 +83,8 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
83
83
  boolean: "boolean";
84
84
  text: "text";
85
85
  select: "select";
86
- media: "media";
87
86
  link: "link";
87
+ media: "media";
88
88
  richText: "richText";
89
89
  }>;
90
90
  label: z.ZodString;
@@ -167,8 +167,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
167
167
  blockDescription: z.ZodNullable<z.ZodString>;
168
168
  category: z.ZodEnum<{
169
169
  content: "content";
170
- media: "media";
171
170
  layout: "layout";
171
+ media: "media";
172
172
  marketing: "marketing";
173
173
  blog: "blog";
174
174
  interactive: "interactive";
@@ -180,8 +180,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
180
180
  boolean: "boolean";
181
181
  text: "text";
182
182
  select: "select";
183
- media: "media";
184
183
  link: "link";
184
+ media: "media";
185
185
  richText: "richText";
186
186
  }>;
187
187
  label: z.ZodString;
@@ -207,8 +207,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
207
207
  boolean: "boolean";
208
208
  text: "text";
209
209
  select: "select";
210
- media: "media";
211
210
  link: "link";
211
+ media: "media";
212
212
  richText: "richText";
213
213
  }>;
214
214
  label: z.ZodString;
@@ -227,8 +227,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
227
227
  boolean: "boolean";
228
228
  text: "text";
229
229
  select: "select";
230
- media: "media";
231
230
  link: "link";
231
+ media: "media";
232
232
  richText: "richText";
233
233
  }>;
234
234
  label: z.ZodString;
@@ -39,6 +39,10 @@ export type RevalidationRequestMetadata = Readonly<{
39
39
  correlationId?: string;
40
40
  monitorRunId?: string;
41
41
  }>;
42
+ export type RevalidationCacheClient = Readonly<{
43
+ clearCache(): void | Promise<void>;
44
+ }>;
45
+ export type RevalidationClientCacheStatus = 'cleared' | 'failed' | 'skipped';
42
46
  /**
43
47
  * Normalize a public URL path for Next revalidation.
44
48
  */
@@ -58,6 +62,14 @@ export interface RevalidateHandlerOptions {
58
62
  * Useful for logging or analytics.
59
63
  */
60
64
  onRevalidate?: (payload: WebhookPayload, revalidatedItems: string[], metadata: RevalidationRequestMetadata) => void;
65
+ /**
66
+ * Optional Riverbank SDK client factory. When provided, the handler makes a
67
+ * best-effort attempt to clear this process's SDK client response cache after
68
+ * a valid webhook is revalidated. Serverless deployments may run webhook and
69
+ * render routes in different processes, so this is not a cross-instance cache
70
+ * invalidation mechanism.
71
+ */
72
+ getClient?: () => RevalidationCacheClient | Promise<RevalidationCacheClient>;
61
73
  }
62
74
  /**
63
75
  * Create a Next.js API route handler for webhook revalidation.
@@ -66,7 +78,8 @@ export interface RevalidateHandlerOptions {
66
78
  * 1. Verifies the webhook signature using HMAC-SHA256
67
79
  * 2. Calls `revalidateTag()` for each normalized tag in the payload
68
80
  * 3. Calls `revalidatePath()` for each normalized path in the payload
69
- * 4. Returns a JSON response with the revalidation results
81
+ * 4. Best-effort clears the current process's SDK client cache when configured
82
+ * 5. Returns a JSON response with the revalidation results
70
83
  *
71
84
  * @param options - Configuration options
72
85
  * @returns A Next.js Route Handler function
@@ -1,5 +1,7 @@
1
1
  import type { AddressedLocationValue, BusinessAddress, BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig, PublicEventPricing } from '../../../core/src/index';
2
+ import type { SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject } from '../../../api/src/index';
2
3
  import type { Media, MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent, Theme } from '../contracts';
4
+ import type { CompiledBoundaryRuntime } from '../../../theme-core/src/site-styles/index';
3
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';
4
6
  export type PublicTeamMemberSummary = {
5
7
  id: string;
@@ -371,6 +373,7 @@ export type SdkRuntimePage = {
371
373
  purpose?: string;
372
374
  content: Record<string, unknown>;
373
375
  }>;
376
+ runtimeBoundaries?: readonly CompiledBoundaryRuntime<string>[];
374
377
  };
375
378
  export type SdkTemplate = {
376
379
  id: string;
@@ -414,10 +417,7 @@ export type SdkSurfaceSlotContent = {
414
417
  publishedContentId?: string | null;
415
418
  }>;
416
419
  };
417
- export type SdkRuntimePageSurfaceSubject = Readonly<{
418
- kind: 'eventSeries';
419
- eventSeriesId: string;
420
- }>;
420
+ export type SdkRuntimePageSurfaceSubject = ApiSdkRuntimePageSurfaceSubject;
421
421
  export type SdkRuntimePageSurfaceContentSource = Readonly<{
422
422
  kind: 'pageSurface';
423
423
  contentTypeId: string;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, ResolveImageUrlContextInput, RouteMap, Theme, ThemeTokens } from '../contracts';
2
+ import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, PageRuntimeBoundary, ResolveImageUrlContextInput, RouteMap, Theme, ThemeTokens } from '../contracts';
3
3
  import type { SdkCustomBlock } from '../config/types';
4
4
  import type { BlockOverrides } from './overrides';
5
5
  import type { SiteBookingOfferingPresetSummary } from '../public-api/contracts';
@@ -32,6 +32,7 @@ export type SdkConfigForRenderer = {
32
32
  export type PageRendererProps = {
33
33
  theme: Theme;
34
34
  page: PageOutline | null;
35
+ runtimeBoundaries?: readonly PageRuntimeBoundary[];
35
36
  usePlaceholders?: boolean;
36
37
  dataContext?: PageRendererDataContext;
37
38
  routeMap?: RouteMap;
@@ -1,5 +1,5 @@
1
1
  import type { ReactElement } from 'react';
2
- import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, RouteMap, Theme, ThemeTokens } from '../../contracts';
2
+ import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, PageRuntimeBoundary, RouteMap, Theme, ThemeTokens } from '../../contracts';
3
3
  import type { ResolvedBlockData } from '../../data';
4
4
  import type { SiteBookingOfferingPresetSummary } from '../../public-api/contracts';
5
5
  import type { RuntimeSdkConfig } from '../helpers/loadPage';
@@ -9,6 +9,7 @@ import type { BlockOverrides } from '../overrides';
9
9
  import type { SdkCustomBlock } from '../../config/types';
10
10
  export type PageProps = {
11
11
  page: PageOutline;
12
+ runtimeBoundaries?: readonly PageRuntimeBoundary[];
12
13
  theme: Theme;
13
14
  siteId: string;
14
15
  themeTokens?: ThemeTokens;
@@ -94,4 +95,4 @@ export type PageHydrationBootstrapConfig = {
94
95
  mediaAssets?: readonly MediaAssetIndexItem[];
95
96
  };
96
97
  export declare function toPageHydrationBootstrapConfig(props: Pick<PageProps, 'siteId' | 'supabaseUrl' | 'mediaAssets'>): PageHydrationBootstrapConfig;
97
- export declare function PageContent({ page, theme, themeTokens: providedTokens, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext, themeRuntime, }: PageProps): ReactElement;
98
+ export declare function PageContent({ page, runtimeBoundaries, theme, themeTokens: providedTokens, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext, themeRuntime, }: PageProps): ReactElement;
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { MediaAssetIndexItem, RouteMap, Theme } from '../../contracts';
8
8
  import type { RiverbankClient, PageResponse, SiteResponse } from '../../client/types';
9
+ import type { SdkRuntimePageSurfaceSubject } from '../../public-api/contracts';
9
10
  import type { PageProps } from '../components/Page';
10
11
  import { prefetchBlockData } from '../../data/prefetchBlockData';
11
12
  import type { ResolvedBlockData } from '../../data/prefetchBlockData';
@@ -93,6 +94,7 @@ export type PageContentResult = {
93
94
  pageMetadata: PagePreviewMetadata;
94
95
  /** Page outline ready for rendering with <Page> component */
95
96
  page: PageProps['page'];
97
+ runtimeBoundaries?: PageProps['runtimeBoundaries'];
96
98
  /** Site theme for styling */
97
99
  theme: Theme;
98
100
  /** Site ID */
@@ -174,10 +176,7 @@ export type PageSurfaceContentData = {
174
176
  id: string;
175
177
  routeId: string;
176
178
  readinessState: 'shippable';
177
- subject: {
178
- kind: 'eventSeries';
179
- eventSeriesId: string;
180
- };
179
+ subject: SdkRuntimePageSurfaceSubject;
181
180
  title: string;
182
181
  slug: string | null;
183
182
  path: string | null;
@@ -56,6 +56,7 @@ type PageSuccessState = {
56
56
  error: null;
57
57
  type: 'page';
58
58
  page: PageProps['page'];
59
+ runtimeBoundaries?: PageProps['runtimeBoundaries'];
59
60
  entry: null;
60
61
  theme: Theme;
61
62
  siteId: string;
@@ -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.101.0";
11
+ export declare const SDK_VERSION = "0.103.0";