@riverbankcms/sdk 0.75.0 → 0.77.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 (177) hide show
  1. package/README.md +2 -0
  2. package/dist/{PreviewEditorSidebar-U2IHCBYN.mjs → PreviewEditorSidebar-XSX7QKHQ.mjs} +1179 -519
  3. package/dist/{PreviewEditorUI-ZGH2RQNP.mjs → PreviewEditorUI-YZNEZ3QD.mjs} +2 -2
  4. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +528 -20
  6. package/dist/_dts/api/src/bookingOperations.d.ts +12 -0
  7. package/dist/_dts/api/src/contentRuntime.d.ts +5 -0
  8. package/dist/_dts/api/src/index.d.ts +1 -1
  9. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +11 -3
  10. package/dist/_dts/api/src/siteAssets.d.ts +1 -0
  11. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -2
  12. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +28 -1
  13. package/dist/_dts/block-form/src/client/index.d.ts +2 -2
  14. package/dist/_dts/block-form/src/index.d.ts +2 -1
  15. package/dist/_dts/block-form/src/manifest/utils.d.ts +24 -0
  16. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +1 -1
  17. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +1 -1
  18. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +1 -1
  19. package/dist/_dts/blocks/src/PageRenderer.d.ts +10 -10
  20. package/dist/_dts/blocks/src/client/events.d.ts +3 -1
  21. package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
  22. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
  23. package/dist/_dts/blocks/src/customBlockRegistry.d.ts +38 -0
  24. package/dist/_dts/blocks/src/index.d.ts +2 -0
  25. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +20 -2
  26. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -0
  27. package/dist/_dts/blocks/src/system/blocks/index.d.ts +2 -0
  28. package/dist/_dts/blocks/src/system/blocks/intro.d.ts +24 -0
  29. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -34
  30. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +30 -0
  32. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -1
  33. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +7 -0
  34. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +11 -2
  35. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  36. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
  37. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
  38. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +2 -0
  39. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/runtime/nodes/accordionIconTreatment.d.ts +5 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +3 -27
  42. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +163 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +5 -5
  44. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +29 -0
  45. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +13 -0
  46. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +4 -0
  47. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +4 -3
  48. package/dist/_dts/blocks/src/system/runtime/shared/utils/bookingRoute.d.ts +20 -0
  49. package/dist/_dts/blocks/src/system/runtime/shared/utils/index.d.ts +2 -1
  50. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -0
  51. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  52. package/dist/_dts/blocks/src/system/types/link.d.ts +12 -0
  53. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -0
  54. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +48 -0
  55. package/dist/_dts/content-editor/src/hooks/invalidBlockSelectors.d.ts +4 -0
  56. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +47 -0
  57. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  58. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +20 -0
  59. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -1
  60. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -1
  61. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +3 -1
  62. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +5 -1
  63. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +4 -1
  64. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +2 -0
  65. package/dist/_dts/editor-blocks/src/block-editor/customBlockRegistry.d.ts +2 -0
  66. package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +9 -37
  67. package/dist/_dts/editor-blocks/src/index.d.ts +3 -3
  68. package/dist/_dts/preview-next/src/client/index.d.ts +3 -0
  69. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +5 -1
  70. package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +20 -0
  71. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -2
  72. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -2
  73. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
  74. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -0
  75. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +20 -3
  76. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +6 -1
  77. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -4
  78. package/dist/_dts/preview-next/src/client/preview/previewDesignCoordinator.d.ts +73 -0
  79. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +12 -4
  80. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +46 -0
  81. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +6 -1
  82. package/dist/_dts/preview-next/src/client/preview/themeOverlay.d.ts +21 -3
  83. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +14 -0
  84. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +1 -1
  85. package/dist/_dts/sdk/src/cli/commands/style.d.ts +8 -0
  86. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -1
  87. package/dist/_dts/sdk/src/client/types.d.ts +9 -0
  88. package/dist/_dts/sdk/src/client.d.ts +1 -1
  89. package/dist/_dts/sdk/src/components.d.ts +2 -2
  90. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
  91. package/dist/_dts/sdk/src/index.d.ts +2 -1
  92. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -0
  93. package/dist/_dts/sdk/src/rendering/index.d.ts +2 -2
  94. package/dist/_dts/sdk/src/rendering/overrideResolution.d.ts +6 -0
  95. package/dist/_dts/sdk/src/rendering/overrides.d.ts +21 -1
  96. package/dist/_dts/sdk/src/rendering/server.d.ts +4 -3
  97. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  98. package/dist/_dts/sdk/src/version.d.ts +1 -1
  99. package/dist/_dts/site-commands/src/commands.d.ts +15 -0
  100. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +16 -0
  101. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  102. package/dist/_dts/theme-core/src/fonts/types.d.ts +1 -1
  103. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +45 -0
  104. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  105. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +16 -0
  106. package/dist/_dts/theme-core/src/schema.d.ts +280 -0
  107. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +81 -0
  108. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +6 -4
  109. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +81 -0
  110. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +118 -2
  111. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +13 -0
  112. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  113. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +364 -5
  114. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +6 -0
  115. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  116. package/dist/_dts/theme-core/src/site-styles/persistedIdParseResult.d.ts +9 -0
  117. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +20 -4
  118. package/dist/_dts/theme-core/src/site-styles/types.d.ts +74 -2
  119. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +189 -0
  120. package/dist/{chunk-Z7JLNTJR.mjs → chunk-6SMUFTXD.mjs} +2 -1
  121. package/dist/{chunk-ZSHFGFUG.mjs → chunk-ANKDYZ2E.mjs} +1 -1
  122. package/dist/{chunk-BGMNDF6T.mjs → chunk-EAWHBECW.mjs} +476 -153
  123. package/dist/{chunk-RWXQBRQZ.mjs → chunk-GSQX43EZ.mjs} +450 -63
  124. package/dist/{chunk-GFE74WRD.mjs → chunk-WLQBJN2Z.mjs} +3275 -435
  125. package/dist/cli/index.mjs +2023 -181
  126. package/dist/client/{accordion-T2UD2ZTH.mjs → accordion-RZMQSYLR.mjs} +1 -1
  127. package/dist/client/{bookingForm-GUP75FKN.mjs → bookingForm-NF4ASVNV.mjs} +3 -13
  128. package/dist/client/bookings.mjs +103 -11
  129. package/dist/client/{carousel-2NQA6V57.mjs → carousel-LDX47ZIK.mjs} +1 -1
  130. package/dist/client/{cart-5TFIAFDS.mjs → cart-RGXDS5F4.mjs} +4 -4
  131. package/dist/client/{checkout-TP4WAHZE.mjs → checkout-P7WWSNNY.mjs} +4 -4
  132. package/dist/client/{chunk-ZLMS67RR.mjs → chunk-E2TDNXCL.mjs} +1 -1
  133. package/dist/client/{chunk-NWOUL6JY.mjs → chunk-GMVTOKYG.mjs} +3 -3
  134. package/dist/client/{chunk-CY2ZTSE5.mjs → chunk-JNC7CGHX.mjs} +1 -1
  135. package/dist/client/{chunk-VUAOE3AG.mjs → chunk-L3DNHIJX.mjs} +4 -4
  136. package/dist/client/{chunk-FU2QRZMX.mjs → chunk-R56FQ3RR.mjs} +163 -24
  137. package/dist/client/{chunk-WJXXNDSE.mjs → chunk-UFSWADAO.mjs} +1 -1
  138. package/dist/client/client.mjs +4392 -2504
  139. package/dist/client/{courseRegistration-5DPU6PDY.mjs → courseRegistration-7F65K5ZR.mjs} +3 -3
  140. package/dist/client/{eventCalendar-F3GZGTEF.mjs → eventCalendar-GLSC5KTL.mjs} +5 -5
  141. package/dist/client/{eventCombined-BQOB6QMY.mjs → eventCombined-ZHK4WKUR.mjs} +5 -5
  142. package/dist/client/{eventDetails-PEM2EJWE.mjs → eventDetails-E3PJYBIN.mjs} +5 -5
  143. package/dist/client/{eventListing-YMIQPVME.mjs → eventListing-EMS3WC3E.mjs} +5 -5
  144. package/dist/client/{eventRegistration-4I6ZNDUF.mjs → eventRegistration-NZOTVNPI.mjs} +5 -5
  145. package/dist/client/{form-ZJVAYZ6G.mjs → form-ETFZFATW.mjs} +1 -1
  146. package/dist/client/{headerSection-TOT5MGTF.mjs → headerSection-4LBP7ULT.mjs} +2 -2
  147. package/dist/client/hooks.mjs +1918 -293
  148. package/dist/client/{locationMap-J66NZREU.mjs → locationMap-5M655YSJ.mjs} +1 -1
  149. package/dist/client/{newsletterForm-ET2XUMRO.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
  150. package/dist/client/{productDetail-C2XIH7C5.mjs → productDetail-O4DOCWQG.mjs} +4 -4
  151. package/dist/client/{productList-T2AZLFTP.mjs → productList-A5RO5WIS.mjs} +4 -4
  152. package/dist/client/rendering/client.mjs +3328 -3177
  153. package/dist/client/rendering/islands.mjs +18 -18
  154. package/dist/client/rendering.mjs +5461 -3584
  155. package/dist/client/{shop-UZ6IUZXD.mjs → shop-L4MZH4I2.mjs} +4 -4
  156. package/dist/preview-next/chrome.css +1 -1
  157. package/dist/preview-next/client/runtime.mjs +4 -4
  158. package/dist/preview-next/editor-base.css +2 -148
  159. package/dist/preview-next/editor-chrome.css +179 -0
  160. package/dist/{sdk-runtime-JCUQM63Y.mjs → sdk-runtime-Q6MTR4KL.mjs} +5 -5
  161. package/dist/server/components.mjs +2983 -1093
  162. package/dist/server/config-validation.mjs +1921 -293
  163. package/dist/server/config.mjs +1921 -293
  164. package/dist/server/data.mjs +1918 -293
  165. package/dist/server/index.mjs +31 -2
  166. package/dist/server/next.mjs +2951 -1043
  167. package/dist/server/page-converter.mjs +1894 -281
  168. package/dist/server/prebuild.mjs +1 -1
  169. package/dist/server/rendering/server.mjs +2995 -1096
  170. package/dist/server/rendering.mjs +2988 -1098
  171. package/dist/server/routing.mjs +1963 -275
  172. package/dist/server/server.mjs +1932 -288
  173. package/dist/server/theme-bridge.mjs +158 -1
  174. package/dist/server/theme.mjs +158 -1
  175. package/package.json +1 -1
  176. package/dist/SdkPreviewModeRuntime-MTUGBTLQ.mjs +0 -8
  177. /package/dist/client/{chunk-2PHQZ666.mjs → chunk-JEZECJ3W.mjs} +0 -0
@@ -1,12 +1,123 @@
1
- import type { Theme } from '../schema';
1
+ import type { Theme, ThemeHeader } from '../schema';
2
2
  import { type SiteChromeLookDiagnostics } from './customizableSurfaces';
3
3
  import { type Brand } from './types';
4
4
  export declare const headerLookIdValues: readonly ["clean-base", "brand-solid", "editorial-line", "centered-calm", "practical-utility", "minimal-transparent", "transparent-overlay", "floating-glass"];
5
5
  export type HeaderLookIdValue = typeof headerLookIdValues[number];
6
6
  export type HeaderLookId = Brand<HeaderLookIdValue, 'HeaderLookId'>;
7
7
  export declare function asHeaderLookId(value: HeaderLookIdValue): HeaderLookId;
8
+ export type PersistedHeaderLookIdParseResult = Readonly<{
9
+ kind: 'known';
10
+ id: HeaderLookId;
11
+ }> | Readonly<{
12
+ kind: 'unknown';
13
+ raw: string;
14
+ }> | Readonly<{
15
+ kind: 'empty';
16
+ }>;
17
+ export declare function parsePersistedHeaderLookId(value: string): Exclude<PersistedHeaderLookIdParseResult, {
18
+ kind: 'empty';
19
+ }>;
20
+ export declare function parsePersistedHeaderLookId(value: string | null | undefined): PersistedHeaderLookIdParseResult;
21
+ export declare const headerLayoutIdValues: readonly ["classic", "centered", "editorial", "floating"];
22
+ export type HeaderLayoutIdValue = typeof headerLayoutIdValues[number];
23
+ export type HeaderLayoutId = Brand<HeaderLayoutIdValue, 'HeaderLayoutId'>;
24
+ export declare function asHeaderLayoutId(value: HeaderLayoutIdValue): HeaderLayoutId;
25
+ export type PersistedHeaderLayoutIdParseResult = Readonly<{
26
+ kind: 'known';
27
+ id: HeaderLayoutId;
28
+ }> | Readonly<{
29
+ kind: 'unknown';
30
+ raw: string;
31
+ }> | Readonly<{
32
+ kind: 'empty';
33
+ }>;
34
+ export declare function parsePersistedHeaderLayoutId(value: string): Exclude<PersistedHeaderLayoutIdParseResult, {
35
+ kind: 'empty';
36
+ }>;
37
+ export declare function parsePersistedHeaderLayoutId(value: string | null | undefined): PersistedHeaderLayoutIdParseResult;
38
+ export declare const headerStyleIdValues: readonly ["minimal", "fine-line", "soft-bar", "pill-nav", "brand-bar", "brand-underline", "brand-pill", "editorial-line", "flat-tabs", "glass", "minimal-surface", "soft-shell"];
39
+ export type HeaderStyleIdValue = typeof headerStyleIdValues[number];
40
+ export type HeaderStyleId = Brand<HeaderStyleIdValue, 'HeaderStyleId'>;
41
+ export declare function asHeaderStyleId(value: HeaderStyleIdValue): HeaderStyleId;
42
+ export type PersistedHeaderStyleIdParseResult = Readonly<{
43
+ kind: 'known';
44
+ id: HeaderStyleId;
45
+ }> | Readonly<{
46
+ kind: 'unknown';
47
+ raw: string;
48
+ }> | Readonly<{
49
+ kind: 'empty';
50
+ }>;
51
+ export declare function parsePersistedHeaderStyleId(value: string): Exclude<PersistedHeaderStyleIdParseResult, {
52
+ kind: 'empty';
53
+ }>;
54
+ export declare function parsePersistedHeaderStyleId(value: string | null | undefined): PersistedHeaderStyleIdParseResult;
55
+ export type HeaderLayoutDefinition = Readonly<{
56
+ id: HeaderLayoutId;
57
+ label: string;
58
+ description: string;
59
+ structure: HeaderStructureId;
60
+ variant: ThemeHeader['variant'];
61
+ defaultPositioning: ThemeHeader['positioning'];
62
+ shrinkOnScroll: boolean;
63
+ maxRecommendedNavItems?: number;
64
+ allowedLogoShapes?: readonly HeaderLogoShape[];
65
+ }>;
66
+ export type HeaderStyleNavInteraction = 'color-change' | 'underline-grow' | 'pill-background' | 'flat-block' | 'glass-backed';
67
+ export type HeaderStyleSurface = 'neutral' | 'bordered' | 'soft' | 'brand-solid' | 'floating';
68
+ export type HeaderStyleDefinition = Readonly<{
69
+ id: HeaderStyleId;
70
+ label: string;
71
+ description: string;
72
+ supportedLayoutIds: readonly HeaderLayoutId[];
73
+ navInteraction: HeaderStyleNavInteraction;
74
+ surface: HeaderStyleSurface;
75
+ requiresFloatingLayout?: boolean;
76
+ }>;
77
+ export type HeaderLayoutStyleSelection = Readonly<{
78
+ layoutId: HeaderLayoutId;
79
+ styleId: HeaderStyleId;
80
+ }>;
81
+ export type HeaderLegacyLookAlias = Readonly<{
82
+ lookId: HeaderLookId;
83
+ selection: HeaderLayoutStyleSelection;
84
+ }>;
85
+ export type HeaderLayoutStyleRepair = Readonly<{
86
+ requested: HeaderLayoutStyleSelection;
87
+ resolved: HeaderLayoutStyleSelection;
88
+ reason: 'style-incompatible-with-layout';
89
+ }>;
90
+ export type HeaderLayoutStyleResolution = Readonly<{
91
+ kind: 'valid';
92
+ selection: HeaderLayoutStyleSelection;
93
+ layout: HeaderLayoutDefinition;
94
+ style: HeaderStyleDefinition;
95
+ }> | Readonly<{
96
+ kind: 'repaired';
97
+ selection: HeaderLayoutStyleSelection;
98
+ layout: HeaderLayoutDefinition;
99
+ style: HeaderStyleDefinition;
100
+ repair: HeaderLayoutStyleRepair;
101
+ }>;
8
102
  export type HeaderLookVisualTreatment = 'solid-neutral' | 'solid-brand' | 'light-editorial' | 'minimal-transparent' | 'transparent-overlay' | 'floating-glass';
9
103
  export type HeaderLookLayoutBehavior = 'normal-flow' | 'sticky' | 'sticky-shrink' | 'fixed-overlay' | 'fixed-floating';
104
+ export type HeaderStructureId = 'inline-classic' | 'centered-stack' | 'editorial-stack' | 'floating-shell';
105
+ export type HeaderTreatmentId = HeaderLookVisualTreatment;
106
+ export type HeaderBehaviorId = HeaderLookLayoutBehavior;
107
+ export type HeaderConfiguration = Readonly<{
108
+ structure: HeaderStructureId;
109
+ treatment: HeaderTreatmentId;
110
+ behavior: HeaderBehaviorId;
111
+ }>;
112
+ export type HeaderConfigurationRejectionReason = 'unsupported-structure-treatment-behavior-combination';
113
+ export type HeaderConfigurationResolution = Readonly<{
114
+ kind: 'valid';
115
+ configuration: HeaderConfiguration;
116
+ }> | Readonly<{
117
+ kind: 'rejected';
118
+ requested: HeaderConfiguration;
119
+ reasons: readonly HeaderConfigurationRejectionReason[];
120
+ }>;
10
121
  export type HeaderLookOpeningRequirement = 'none' | 'reserved-space-ok' | 'requires-image-hero-with-contrast-overlay';
11
122
  export type HeaderLogoShape = 'none' | 'text-only' | 'horizontal' | 'square' | 'tall';
12
123
  export type HeaderLookDefinition = Readonly<{
@@ -14,6 +125,7 @@ export type HeaderLookDefinition = Readonly<{
14
125
  label: string;
15
126
  visualTreatment: HeaderLookVisualTreatment;
16
127
  layoutBehavior: HeaderLookLayoutBehavior;
128
+ configuration: HeaderConfiguration;
17
129
  openingRequirement: HeaderLookOpeningRequirement;
18
130
  maxRecommendedNavItems?: number;
19
131
  allowedLogoShapes?: readonly HeaderLogoShape[];
@@ -25,12 +137,32 @@ export type HeaderOpeningSectionContext = Readonly<{
25
137
  canAdjust: false;
26
138
  }> | Readonly<{
27
139
  kind: 'plain';
28
- canAdjust: false;
140
+ canAdjust: boolean;
141
+ }> | Readonly<{
142
+ kind: 'page-background';
143
+ canAdjust: true;
144
+ }> | Readonly<{
145
+ kind: 'color-section';
146
+ contrast: 'light' | 'dark' | 'unknown';
147
+ canAdjust: boolean;
148
+ }> | Readonly<{
149
+ kind: 'gradient-section';
150
+ contrast: 'light' | 'dark' | 'unknown';
151
+ canAdjust: boolean;
152
+ }> | Readonly<{
153
+ kind: 'dynamic-media';
154
+ canAdjust: boolean;
29
155
  }> | Readonly<{
30
156
  kind: 'image-hero';
31
157
  hasContrastOverlay: boolean;
32
158
  hasTopSpacing: boolean;
33
- canAdjust: false;
159
+ canAdjust: boolean;
160
+ }>;
161
+ export type OverlayHeaderOpeningPlan = Readonly<{
162
+ canRender: true;
163
+ contrastIntent: 'theme-default' | 'light-on-dark' | 'dark-on-light';
164
+ topSpacing: 'preserve' | 'add';
165
+ legibilityFallback: 'none' | 'glass-nav-backing';
34
166
  }>;
35
167
  export type HeaderLogoContext = Readonly<{
36
168
  shape: HeaderLogoShape;
@@ -43,7 +175,6 @@ export type HeaderCtaContext = Readonly<{
43
175
  }>;
44
176
  export type HeaderBannerContext = Readonly<{
45
177
  persistentVisibility: 'none' | 'possible' | 'visible';
46
- shellCanOffsetOverlayHeader: boolean;
47
178
  }>;
48
179
  export type HeaderSelectionContext = Readonly<{
49
180
  openingSection: HeaderOpeningSectionContext;
@@ -52,7 +183,7 @@ export type HeaderSelectionContext = Readonly<{
52
183
  cta: HeaderCtaContext;
53
184
  banner: HeaderBannerContext;
54
185
  }>;
55
- export type RejectedHeaderLookReason = 'requires-image-hero-with-contrast-overlay' | 'requires-opening-section-top-spacing' | 'requires-banner-offset-shell' | 'too-many-nav-items' | 'logo-shape-incompatible' | 'cta-treatment-unavailable';
186
+ export type RejectedHeaderLookReason = 'requires-image-hero-with-contrast-overlay' | 'too-many-nav-items' | 'logo-shape-incompatible' | 'cta-treatment-unavailable';
56
187
  export type RejectedHeaderLook = Readonly<{
57
188
  lookId: HeaderLookId;
58
189
  reasons: readonly RejectedHeaderLookReason[];
@@ -70,6 +201,191 @@ export type HeaderLookResolutionInput = Readonly<{
70
201
  context?: Partial<HeaderSelectionContext>;
71
202
  }>;
72
203
  export declare const defaultHeaderSelectionContext: HeaderSelectionContext;
204
+ export declare function planOverlayHeaderOpening(opening: HeaderOpeningSectionContext): OverlayHeaderOpeningPlan;
205
+ export declare const headerLayoutCatalog: readonly [{
206
+ readonly id: HeaderLayoutId;
207
+ readonly label: "Classic";
208
+ readonly description: "Logo and navigation in one practical horizontal row.";
209
+ readonly structure: "inline-classic";
210
+ readonly variant: "classic";
211
+ readonly defaultPositioning: "sticky";
212
+ readonly shrinkOnScroll: false;
213
+ }, {
214
+ readonly id: HeaderLayoutId;
215
+ readonly label: "Centered";
216
+ readonly description: "Logo centered above a balanced navigation row.";
217
+ readonly structure: "centered-stack";
218
+ readonly variant: "centered";
219
+ readonly defaultPositioning: "static";
220
+ readonly shrinkOnScroll: false;
221
+ readonly maxRecommendedNavItems: 5;
222
+ readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal", "square"];
223
+ }, {
224
+ readonly id: HeaderLayoutId;
225
+ readonly label: "Editorial";
226
+ readonly description: "A composed, magazine-like stacked header treatment.";
227
+ readonly structure: "editorial-stack";
228
+ readonly variant: "editorial";
229
+ readonly defaultPositioning: "static";
230
+ readonly shrinkOnScroll: false;
231
+ readonly maxRecommendedNavItems: 6;
232
+ }, {
233
+ readonly id: HeaderLayoutId;
234
+ readonly label: "Floating";
235
+ readonly description: "Detached header chrome that sits over the opening section.";
236
+ readonly structure: "floating-shell";
237
+ readonly variant: "floating";
238
+ readonly defaultPositioning: "fixed";
239
+ readonly shrinkOnScroll: true;
240
+ readonly maxRecommendedNavItems: 5;
241
+ readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal"];
242
+ }];
243
+ export declare const headerStyleCatalog: readonly [{
244
+ readonly id: HeaderStyleId;
245
+ readonly label: "Minimal";
246
+ readonly description: "Quiet surface with simple color-change navigation.";
247
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
248
+ readonly navInteraction: "color-change";
249
+ readonly surface: "neutral";
250
+ }, {
251
+ readonly id: HeaderStyleId;
252
+ readonly label: "Fine Line";
253
+ readonly description: "Light surface with a crisp lower rule and underline hover.";
254
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
255
+ readonly navInteraction: "underline-grow";
256
+ readonly surface: "bordered";
257
+ }, {
258
+ readonly id: HeaderStyleId;
259
+ readonly label: "Soft Bar";
260
+ readonly description: "Soft tinted surface with gentle pill hover states.";
261
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
262
+ readonly navInteraction: "pill-background";
263
+ readonly surface: "soft";
264
+ }, {
265
+ readonly id: HeaderStyleId;
266
+ readonly label: "Pill Nav";
267
+ readonly description: "A calm pill navigation rail over a neutral header.";
268
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
269
+ readonly navInteraction: "pill-background";
270
+ readonly surface: "soft";
271
+ }, {
272
+ readonly id: HeaderStyleId;
273
+ readonly label: "Brand Bar";
274
+ readonly description: "Solid brand surface with high-contrast navigation.";
275
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
276
+ readonly navInteraction: "color-change";
277
+ readonly surface: "brand-solid";
278
+ }, {
279
+ readonly id: HeaderStyleId;
280
+ readonly label: "Brand Underline";
281
+ readonly description: "Brand surface with underline-grow navigation.";
282
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
283
+ readonly navInteraction: "underline-grow";
284
+ readonly surface: "brand-solid";
285
+ }, {
286
+ readonly id: HeaderStyleId;
287
+ readonly label: "Brand Pill";
288
+ readonly description: "Solid brand surface with rounded active and hover states.";
289
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
290
+ readonly navInteraction: "pill-background";
291
+ readonly surface: "brand-solid";
292
+ }, {
293
+ readonly id: HeaderStyleId;
294
+ readonly label: "Editorial Line";
295
+ readonly description: "Typographic logo treatment with understated underline navigation.";
296
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
297
+ readonly navInteraction: "underline-grow";
298
+ readonly surface: "bordered";
299
+ }, {
300
+ readonly id: HeaderStyleId;
301
+ readonly label: "Flat Tabs";
302
+ readonly description: "Flat block hover and active states with a Swiss utility feel.";
303
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
304
+ readonly navInteraction: "flat-block";
305
+ readonly surface: "bordered";
306
+ }, {
307
+ readonly id: HeaderStyleId;
308
+ readonly label: "Glass";
309
+ readonly description: "Floating translucent chrome with frosted navigation backing.";
310
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
311
+ readonly navInteraction: "glass-backed";
312
+ readonly surface: "floating";
313
+ readonly requiresFloatingLayout: true;
314
+ }, {
315
+ readonly id: HeaderStyleId;
316
+ readonly label: "Minimal Surface";
317
+ readonly description: "Floating chrome with a restrained translucent surface.";
318
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
319
+ readonly navInteraction: "color-change";
320
+ readonly surface: "floating";
321
+ readonly requiresFloatingLayout: true;
322
+ }, {
323
+ readonly id: HeaderStyleId;
324
+ readonly label: "Soft Shell";
325
+ readonly description: "Floating rounded shell with soft pill navigation states.";
326
+ readonly supportedLayoutIds: readonly HeaderLayoutId[];
327
+ readonly navInteraction: "pill-background";
328
+ readonly surface: "floating";
329
+ readonly requiresFloatingLayout: true;
330
+ }];
331
+ export declare const legacyHeaderLookAliases: readonly [{
332
+ readonly lookId: HeaderLookId;
333
+ readonly selection: {
334
+ readonly layoutId: HeaderLayoutId;
335
+ readonly styleId: HeaderStyleId;
336
+ };
337
+ }, {
338
+ readonly lookId: HeaderLookId;
339
+ readonly selection: {
340
+ readonly layoutId: HeaderLayoutId;
341
+ readonly styleId: HeaderStyleId;
342
+ };
343
+ }, {
344
+ readonly lookId: HeaderLookId;
345
+ readonly selection: {
346
+ readonly layoutId: HeaderLayoutId;
347
+ readonly styleId: HeaderStyleId;
348
+ };
349
+ }, {
350
+ readonly lookId: HeaderLookId;
351
+ readonly selection: {
352
+ readonly layoutId: HeaderLayoutId;
353
+ readonly styleId: HeaderStyleId;
354
+ };
355
+ }, {
356
+ readonly lookId: HeaderLookId;
357
+ readonly selection: {
358
+ readonly layoutId: HeaderLayoutId;
359
+ readonly styleId: HeaderStyleId;
360
+ };
361
+ }, {
362
+ readonly lookId: HeaderLookId;
363
+ readonly selection: {
364
+ readonly layoutId: HeaderLayoutId;
365
+ readonly styleId: HeaderStyleId;
366
+ };
367
+ }, {
368
+ readonly lookId: HeaderLookId;
369
+ readonly selection: {
370
+ readonly layoutId: HeaderLayoutId;
371
+ readonly styleId: HeaderStyleId;
372
+ };
373
+ }, {
374
+ readonly lookId: HeaderLookId;
375
+ readonly selection: {
376
+ readonly layoutId: HeaderLayoutId;
377
+ readonly styleId: HeaderStyleId;
378
+ };
379
+ }];
380
+ export declare function getHeaderLayout(id: HeaderLayoutId): HeaderLayoutDefinition | null;
381
+ export declare function getHeaderStyle(id: HeaderStyleId): HeaderStyleDefinition | null;
382
+ export declare function isHeaderStyleCompatibleWithLayout(style: HeaderStyleDefinition, layoutId: HeaderLayoutId): boolean;
383
+ export declare function resolveLegacyHeaderLookAlias(lookId: HeaderLookId): HeaderLayoutStyleSelection | null;
384
+ export declare function findLegacyHeaderLookIdForSelection(selection: HeaderLayoutStyleSelection): HeaderLookId | null;
385
+ export declare function getCompatibleHeaderStyleIds(layoutId: HeaderLayoutId): readonly HeaderStyleId[];
386
+ export declare function deriveNearestCompatibleHeaderStyle(styleId: HeaderStyleId, layoutId: HeaderLayoutId): HeaderStyleId;
387
+ export declare function resolveHeaderLayoutStyleSelection(selection: HeaderLayoutStyleSelection): HeaderLayoutStyleResolution;
388
+ export declare function compileHeaderLayoutStyleSelection(theme: Theme, selection: HeaderLayoutStyleSelection): Theme['header'];
73
389
  declare function solidBrandHeader(theme: Theme): Theme['header'];
74
390
  declare function cleanBaseHeader(theme: Theme): Theme['header'];
75
391
  declare function editorialLineHeader(theme: Theme): Theme['header'];
@@ -83,6 +399,11 @@ export declare const headerLookCatalog: readonly [{
83
399
  readonly label: "Clean base";
84
400
  readonly visualTreatment: "solid-neutral";
85
401
  readonly layoutBehavior: "sticky";
402
+ readonly configuration: {
403
+ readonly structure: "inline-classic";
404
+ readonly treatment: "solid-neutral";
405
+ readonly behavior: "sticky";
406
+ };
86
407
  readonly openingRequirement: "none";
87
408
  readonly compile: typeof cleanBaseHeader;
88
409
  }, {
@@ -90,6 +411,11 @@ export declare const headerLookCatalog: readonly [{
90
411
  readonly label: "Brand solid";
91
412
  readonly visualTreatment: "solid-brand";
92
413
  readonly layoutBehavior: "sticky-shrink";
414
+ readonly configuration: {
415
+ readonly structure: "inline-classic";
416
+ readonly treatment: "solid-brand";
417
+ readonly behavior: "sticky-shrink";
418
+ };
93
419
  readonly openingRequirement: "none";
94
420
  readonly compile: typeof solidBrandHeader;
95
421
  }, {
@@ -97,6 +423,11 @@ export declare const headerLookCatalog: readonly [{
97
423
  readonly label: "Editorial line";
98
424
  readonly visualTreatment: "light-editorial";
99
425
  readonly layoutBehavior: "sticky";
426
+ readonly configuration: {
427
+ readonly structure: "editorial-stack";
428
+ readonly treatment: "light-editorial";
429
+ readonly behavior: "sticky";
430
+ };
100
431
  readonly openingRequirement: "none";
101
432
  readonly maxRecommendedNavItems: 6;
102
433
  readonly compile: typeof editorialLineHeader;
@@ -105,6 +436,11 @@ export declare const headerLookCatalog: readonly [{
105
436
  readonly label: "Centered calm";
106
437
  readonly visualTreatment: "light-editorial";
107
438
  readonly layoutBehavior: "normal-flow";
439
+ readonly configuration: {
440
+ readonly structure: "centered-stack";
441
+ readonly treatment: "light-editorial";
442
+ readonly behavior: "normal-flow";
443
+ };
108
444
  readonly openingRequirement: "none";
109
445
  readonly maxRecommendedNavItems: 5;
110
446
  readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal", "square"];
@@ -114,6 +450,11 @@ export declare const headerLookCatalog: readonly [{
114
450
  readonly label: "Practical utility";
115
451
  readonly visualTreatment: "solid-neutral";
116
452
  readonly layoutBehavior: "sticky-shrink";
453
+ readonly configuration: {
454
+ readonly structure: "inline-classic";
455
+ readonly treatment: "solid-neutral";
456
+ readonly behavior: "sticky-shrink";
457
+ };
117
458
  readonly openingRequirement: "none";
118
459
  readonly requiresProminentCta: true;
119
460
  readonly compile: typeof practicalUtilityHeader;
@@ -122,6 +463,11 @@ export declare const headerLookCatalog: readonly [{
122
463
  readonly label: "Minimal transparent";
123
464
  readonly visualTreatment: "minimal-transparent";
124
465
  readonly layoutBehavior: "normal-flow";
466
+ readonly configuration: {
467
+ readonly structure: "inline-classic";
468
+ readonly treatment: "minimal-transparent";
469
+ readonly behavior: "normal-flow";
470
+ };
125
471
  readonly openingRequirement: "reserved-space-ok";
126
472
  readonly compile: typeof minimalTransparentHeader;
127
473
  }, {
@@ -129,6 +475,11 @@ export declare const headerLookCatalog: readonly [{
129
475
  readonly label: "Transparent overlay";
130
476
  readonly visualTreatment: "transparent-overlay";
131
477
  readonly layoutBehavior: "fixed-overlay";
478
+ readonly configuration: {
479
+ readonly structure: "inline-classic";
480
+ readonly treatment: "transparent-overlay";
481
+ readonly behavior: "fixed-overlay";
482
+ };
132
483
  readonly openingRequirement: "requires-image-hero-with-contrast-overlay";
133
484
  readonly maxRecommendedNavItems: 5;
134
485
  readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal"];
@@ -138,12 +489,20 @@ export declare const headerLookCatalog: readonly [{
138
489
  readonly label: "Floating glass";
139
490
  readonly visualTreatment: "floating-glass";
140
491
  readonly layoutBehavior: "fixed-floating";
492
+ readonly configuration: {
493
+ readonly structure: "floating-shell";
494
+ readonly treatment: "floating-glass";
495
+ readonly behavior: "fixed-floating";
496
+ };
141
497
  readonly openingRequirement: "requires-image-hero-with-contrast-overlay";
142
498
  readonly maxRecommendedNavItems: 5;
143
499
  readonly allowedLogoShapes: readonly ["none", "text-only", "horizontal"];
144
500
  readonly compile: typeof floatingGlassHeader;
145
501
  }];
146
502
  export declare const guaranteedFallbackHeaderLookId: HeaderLookId;
503
+ export declare const guaranteedFallbackHeaderLayoutId: HeaderLayoutId;
504
+ export declare const guaranteedFallbackHeaderStyleId: HeaderStyleId;
505
+ export declare function resolveHeaderConfiguration(configuration: HeaderConfiguration): HeaderConfigurationResolution;
147
506
  export declare function getHeaderLook(id: HeaderLookId): HeaderLookDefinition | null;
148
507
  export declare function findHeaderLook(id: HeaderLookId): HeaderLookDefinition | undefined;
149
508
  export declare function getHeaderLookOrThrow(id: HeaderLookId): HeaderLookDefinition;
@@ -5,10 +5,16 @@ export type HeaderOpeningSectionPlan<TBlockId extends DesignBlockId = DesignBloc
5
5
  plan: readonly BlockDesignPlan<TBlockId>[];
6
6
  repairs: readonly HeaderOpeningSectionRepair[];
7
7
  }>;
8
+ export type HeaderOpeningContentSnapshot = Readonly<{
9
+ blockKind: string | null;
10
+ content?: Record<string, unknown> | null;
11
+ canAdjust?: boolean;
12
+ }>;
8
13
  export declare function planGeneratedHeaderOpeningSection<TBlockId extends DesignBlockId>(input: Readonly<{
9
14
  plan: readonly BlockDesignPlan<TBlockId>[];
10
15
  recommendedHeaderLookIds: readonly HeaderLookId[];
11
16
  }>): HeaderOpeningSectionPlan<TBlockId>;
17
+ export declare function deriveHeaderOpeningSectionContextFromContent(input: HeaderOpeningContentSnapshot): HeaderOpeningSectionContext;
12
18
  export declare function deriveHeaderOpeningSectionContext(input: Readonly<{
13
19
  openingBlock: ResolvedBlockDesignPlan | null;
14
20
  openingContent?: Record<string, unknown> | null;
@@ -19,6 +19,7 @@ export * from './pageDesignEditorErrors';
19
19
  export * from './pageDesignEditorModel';
20
20
  export * from './pageDesignIntent';
21
21
  export * from './previewCustomization';
22
+ export * from './persistedIdParseResult';
22
23
  export * from './rawStyleFields';
23
24
  export * from './records';
24
25
  export * from './resolver';
@@ -27,4 +28,5 @@ export * from './siteStyleBlockPolicies';
27
28
  export * from './sourceCatalogs';
28
29
  export * from './styleTags';
29
30
  export * from './tokenRecipes';
31
+ export * from './typographyPresets';
30
32
  export * from './types';
@@ -0,0 +1,9 @@
1
+ export type PersistedIdParseResult<TId extends string> = Readonly<{
2
+ kind: 'known';
3
+ id: TId;
4
+ }> | Readonly<{
5
+ kind: 'unknown';
6
+ raw: string;
7
+ }> | Readonly<{
8
+ kind: 'empty';
9
+ }>;
@@ -3,8 +3,9 @@ import { type Theme } from '../schema';
3
3
  import { type ButtonPersonalityId } from '../buttons/personalities';
4
4
  import { type PaletteOverrides, type PaletteVariantId } from '../palette/variants';
5
5
  import { type CuratedSiteStyle } from './curatedSiteStyles';
6
+ import { type CompiledTypographySelection, type KnownTypographyPresetId, type TypographyPresetId, type TypographyPresetResolutionWarning, type TypographySelection } from './typographyPresets';
6
7
  import { type FooterLookId, type FooterSelectionContext, type FooterSelectionResult } from './footerLooks';
7
- import { type HeaderSelectionContext, type HeaderLookId, type HeaderSelectionResult } from './headerLooks';
8
+ import { type HeaderLayoutId, type HeaderSelectionContext, type HeaderLookId, type HeaderSelectionResult, type HeaderStyleId } from './headerLooks';
8
9
  import { type CompiledBlockRuntimeFields, type CompiledPageRuntime, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, type SurfaceResolutionContext } from './runtimeCompiler';
9
10
  import type { AppearancePresetId, DesignBlockId, SiteStyleId } from './types';
10
11
  /**
@@ -22,7 +23,8 @@ export { repairDesignIssue, resolveBlockDesignPlan } from './resolver';
22
23
  export { cycleableOptionsFromResolved, deriveDesignCustomizationScope, recommendedDesignOption, type CycleableDesignOption, type CycleableOptions, type DesignCustomizationAuthority, type DesignCustomizationScope, type DesignCustomizationSurface, type DesignCustomizationUnsupportedReason, type DesignOptionIssue, type ResolvedDesignOption, } from './previewCustomization';
23
24
  export { compileBlockRuntimeFields, compilePageRuntimeFields, compileTokenRecipes, compiledRuntimeStyleFieldNames, defaultComponentRuntimeRules, defaultDesignRuntimeRules, surfaceResolutionContextFromPalette, surfaceResolutionContextFromTheme, stripCompiledRuntimeStyleFields, type CompiledBlockRuntime, type CompiledBlockRuntimeFields, type CompiledPageRuntime, type CompileBlockRuntimeInput, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, type SurfaceResolutionContext, } from './runtimeCompiler';
24
25
  export { defaultCuratedChoice, requireEntriesForCuratedChoices, resolveCuratedChoice, type CuratedChoice, type CuratedChoiceResolution, } from './curatedChoices';
25
- export { curatedSiteStyles, defaultButtonPersonalityForSiteStyle, defaultPaletteVariantForSiteStyle, getCuratedSiteStyle, type CuratedSiteStyle, } from './curatedSiteStyles';
26
+ export { curatedSiteStyles, defaultButtonPersonalityForSiteStyle, defaultPaletteVariantForSiteStyle, defaultTypographyPresetForSiteStyle, getCuratedSiteStyle, type CuratedSiteStyle, } from './curatedSiteStyles';
27
+ export { asTypographyPresetId, compileTypographySelection, evaluateTypographyFontSlot, findTypographyPreset, parsePersistedTypographyPresetId, typographyPresetIdValues, typographyPresets, type CompiledTypographySelection, type GoogleFontCategory, type KnownTypographyPresetId, type KnownTypographyPresetIdValue, type TypographyFontCapability, type TypographyFontSlot, type TypographyFontSlotFit, type TypographyFontSlotPolicy, type TypographyPreset, type TypographyPresetId, type TypographyPresetResolutionWarning, type TypographySelection, } from './typographyPresets';
26
28
  export { asDesignBlockId, asSiteStyleId, makeBoundaryId, type AppearancePresetId, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type NonEmptyReadonlyArray, type PageFlowPresetId, type ResolvedPageDesignPlan, type SiteStyleId, } from './types';
27
29
  export declare const previewCustomizePurpose: "preview-customize";
28
30
  /**
@@ -48,13 +50,19 @@ export type SelectionFallbackWarning = Readonly<{
48
50
  kind: 'rejected-palette';
49
51
  requested: string;
50
52
  fellBackTo: PaletteVariantId;
51
- }>;
53
+ }> | TypographyPresetResolutionWarning;
52
54
  export type SiteThemeSelectionsInput = Readonly<{
53
55
  siteStyle: CuratedSiteStyle;
54
56
  buttonPersonalityId: ButtonPersonalityId | null;
55
57
  paletteVariantId: PaletteVariantId | null;
56
58
  paletteOverrides: PaletteOverrides | null;
59
+ typographyPresetId?: TypographyPresetId | null;
60
+ typographyBodyFontOverride?: string | null;
61
+ typographyHeadingFontOverride?: string | null;
62
+ typographySelection?: TypographySelection | null;
57
63
  headerLookId?: HeaderLookId | null;
64
+ headerLayoutId?: HeaderLayoutId | null;
65
+ headerStyleId?: HeaderStyleId | null;
58
66
  footerLookId?: FooterLookId | null;
59
67
  headerSelectionContext?: Partial<HeaderSelectionContext>;
60
68
  footerSelectionContext?: Partial<FooterSelectionContext>;
@@ -63,12 +71,20 @@ export type SiteThemeSelectionsResult = Readonly<{
63
71
  theme: CuratedSiteStyleTheme;
64
72
  requestedSelections: Readonly<{
65
73
  headerLookId: HeaderLookId | null;
74
+ headerLayoutId: HeaderLayoutId | null;
75
+ headerStyleId: HeaderStyleId | null;
66
76
  footerLookId: FooterLookId | null;
67
77
  }>;
68
78
  resolvedSelections: Readonly<{
69
79
  buttonPersonalityId: ButtonPersonalityId;
70
80
  paletteVariantId: PaletteVariantId;
71
- headerLookId: HeaderLookId;
81
+ typographySelection: CompiledTypographySelection['resolvedSelection'];
82
+ typographyPresetId: KnownTypographyPresetId | null;
83
+ typographyBodyFontOverride: string | null;
84
+ typographyHeadingFontOverride: string | null;
85
+ headerLookId: HeaderLookId | null;
86
+ headerLayoutId: HeaderLayoutId;
87
+ headerStyleId: HeaderStyleId;
72
88
  footerLookId: FooterLookId;
73
89
  }>;
74
90
  headerSelection: HeaderSelectionResult;