@riverbankcms/sdk 0.126.0 → 0.128.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 (212) hide show
  1. package/dist/{PreviewEditorSidebar-DcYJxTgc.mjs → PreviewEditorSidebar-Dbvb7GIr.mjs} +64 -68
  2. package/dist/{PreviewEditorUI-Ctt1yTJr.mjs → PreviewEditorUI-e9O9l20X.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-DgFDIwvK.mjs → PreviewQueryProvider-B1kbhaJD.mjs} +1 -1
  4. package/dist/SdkPreviewModeRuntime-BZHt6e9w.mjs +11006 -0
  5. package/dist/{SiteChromeCustomizeContext-C87qlKWw.mjs → SiteChromeCustomizeContext-CvuGbHJX.mjs} +51247 -20733
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +486 -36
  7. package/dist/_dts/api/src/bookingClosures.d.ts +19 -3
  8. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -3
  9. package/dist/_dts/api/src/bookingRecords.d.ts +0 -13
  10. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
  11. package/dist/_dts/api/src/communications.d.ts +2 -1
  12. package/dist/_dts/api/src/contactFormSummary.d.ts +15 -0
  13. package/dist/_dts/api/src/contentRuntime.d.ts +3 -10
  14. package/dist/_dts/api/src/endpoints.d.ts +1 -1
  15. package/dist/_dts/api/src/footerSettings.d.ts +11 -0
  16. package/dist/_dts/api/src/index.d.ts +2 -1
  17. package/dist/_dts/api/src/occurrenceScheduling.d.ts +48 -0
  18. package/dist/_dts/api/src/participantMessaging.d.ts +5 -3
  19. package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +7 -0
  20. package/dist/_dts/api/src/sdkContracts.d.ts +7 -5
  21. package/dist/_dts/api/src/siteOperations.d.ts +12 -3
  22. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +3 -2
  23. package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
  24. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +1 -0
  25. package/dist/_dts/blocks/src/client/form.d.ts +1 -0
  26. package/dist/_dts/blocks/src/client/newsletter-form.d.ts +1 -0
  27. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -0
  28. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -8
  29. package/dist/_dts/blocks/src/index.d.ts +3 -2
  30. package/dist/_dts/blocks/src/lib/media.d.ts +267 -0
  31. package/dist/_dts/blocks/src/rendering/server.d.ts +1 -1
  32. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +41 -0
  33. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +14 -23
  34. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +1 -1
  35. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +109 -23
  36. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +0 -13
  37. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +42 -108
  39. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -54
  40. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +1 -1
  41. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +26 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +8 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +21 -0
  44. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +4 -4
  45. package/dist/_dts/blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.d.ts +7 -0
  46. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +29 -78
  47. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.server.d.ts +1 -1
  48. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -6
  49. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +27 -8
  50. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
  51. package/dist/_dts/content-editor/src/FooterComposerOverview.d.ts +21 -0
  52. package/dist/_dts/content-editor/src/FooterComposerPanel.d.ts +3 -1
  53. package/dist/_dts/content-editor/src/FooterEngagementEditorFields.d.ts +31 -0
  54. package/dist/_dts/content-editor/src/FooterEngagementEditorPanel.d.ts +17 -0
  55. package/dist/_dts/content-editor/src/footerComposer.d.ts +3 -0
  56. package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +57 -0
  57. package/dist/_dts/content-editor/src/footerEngagementEditor.d.ts +11 -0
  58. package/dist/_dts/content-editor/src/footerPreviewRuntime.d.ts +13 -0
  59. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  60. package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +17 -0
  61. package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +1 -1
  62. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -0
  63. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +35 -0
  64. package/dist/_dts/core/src/footer-arrangement.d.ts +2 -0
  65. package/dist/_dts/core/src/footer-composition-types.d.ts +118 -0
  66. package/dist/_dts/core/src/footer-composition.d.ts +7 -116
  67. package/dist/_dts/core/src/footer-engagement.d.ts +30 -0
  68. package/dist/_dts/core/src/index.d.ts +4 -0
  69. package/dist/_dts/core/src/newsletter-signup-destination.d.ts +38 -0
  70. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +200 -159
  71. package/dist/_dts/db/src/index.d.ts +1 -0
  72. package/dist/_dts/db/src/schemas/forms.d.ts +72 -2
  73. package/dist/_dts/db/src/schemas/standard-contact.d.ts +114 -0
  74. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -0
  75. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +26 -0
  76. package/dist/_dts/editor-blocks/src/widgets/rich-text/imageInsert.d.ts +3 -3
  77. package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
  78. package/dist/_dts/media-editor/src/context.d.ts +1 -2
  79. package/dist/_dts/media-editor/src/index.d.ts +3 -1
  80. package/dist/_dts/media-editor/src/mediaSelection.d.ts +32 -0
  81. package/dist/_dts/media-editor/src/types.d.ts +3 -1
  82. package/dist/_dts/media-editor/src/useMediaSelection.d.ts +26 -0
  83. package/dist/_dts/preview-next/src/client/blocks/previewBatchLoaderParams.d.ts +6 -0
  84. package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
  85. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -5
  86. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -5
  87. package/dist/_dts/preview-next/src/client/preview/HeaderMenuControls.d.ts +12 -0
  88. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -5
  89. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -4
  90. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +13 -2
  91. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +8 -4
  92. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -49
  93. package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +8 -0
  94. package/dist/_dts/preview-next/src/client/preview/previewThemeRoles.d.ts +15 -0
  95. package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +54 -0
  96. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +13 -3
  97. package/dist/_dts/preview-next/src/client/preview/siteChromeNavQuickControlHistory.d.ts +3 -0
  98. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +6 -3
  99. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +6 -5
  100. package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +9 -0
  101. package/dist/_dts/sdk/src/cli/content/footerFile.d.ts +10 -0
  102. package/dist/_dts/sdk/src/cli/content/reader.d.ts +3 -5
  103. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +15 -3
  104. package/dist/_dts/sdk/src/client/combineAbortSignals.d.ts +2 -0
  105. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -15
  106. package/dist/_dts/sdk/src/client/types.d.ts +10 -2
  107. package/dist/_dts/sdk/src/client/wholeSeriesReadOperations.d.ts +11 -0
  108. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  109. package/dist/_dts/sdk/src/config/validation.d.ts +3 -0
  110. package/dist/_dts/sdk/src/contracts/event-registration-content.d.ts +16 -0
  111. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +4 -15
  112. package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -18
  113. package/dist/_dts/sdk/src/public-api/teamMemberContracts.d.ts +17 -0
  114. package/dist/_dts/sdk/src/public-api/wholeSeriesContracts.d.ts +2 -0
  115. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +7 -0
  116. package/dist/_dts/sdk/src/rendering/index.d.ts +5 -3
  117. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -2
  118. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +8 -2
  119. package/dist/_dts/sdk/src/version.d.ts +1 -1
  120. package/dist/_dts/site-commands/src/commandContract.d.ts +8 -1
  121. package/dist/_dts/site-commands/src/commands.d.ts +16 -2
  122. package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -1
  123. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +0 -18
  124. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -3
  125. package/dist/_dts/theme-core/src/header/containerSchema.d.ts +20 -0
  126. package/dist/_dts/theme-core/src/header/generateHeaderCss.d.ts +1 -1
  127. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +14 -0
  128. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +3 -0
  129. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +31 -0
  130. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +11 -0
  131. package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +8 -0
  132. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +15 -0
  133. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  134. package/dist/_dts/theme-core/src/schema.d.ts +67 -19
  135. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -51
  136. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -11
  137. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +3 -51
  138. package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +32 -0
  139. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +19 -106
  140. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +22 -0
  141. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -0
  142. package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +4 -0
  143. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  144. package/dist/_dts/theme-core/src/site-styles/lookOptionGroups.d.ts +24 -0
  145. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +1 -2
  146. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -22
  147. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorOptions.d.ts +21 -0
  148. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  149. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +4 -1
  150. package/dist/cli/index.mjs +6272 -5706
  151. package/dist/client/{courseRegistration-BcemLAdN.mjs → CourseRegistrationWizard-xRmA7REV.mjs} +329 -49
  152. package/dist/client/{DiscountCodeDisclosure-DS0AuFWW.mjs → DiscountCodeDisclosure-B9vriL5C.mjs} +1 -1
  153. package/dist/client/{EventCombined.client-DtMxLr7q.mjs → EventCombined.client-BgVnVTlz.mjs} +2 -2
  154. package/dist/client/{EventListing.client-BdLSRNg1.mjs → EventListing.client-CqdsO7jO.mjs} +2 -2
  155. package/dist/client/{LeafletStaticMap-BrpC6vsT.mjs → LeafletStaticMap-CKPxot9M.mjs} +1 -1
  156. package/dist/client/{StepIndicator-CBYPFVoy.mjs → StepIndicator-DGCYuBJ1.mjs} +2 -2
  157. package/dist/client/{accordion-BqqwPJWM.mjs → accordion-BfN5Eqd-.mjs} +1 -1
  158. package/dist/client/{bookingForm-SneP3yxC.mjs → bookingForm-DOvCpBFP.mjs} +5 -5
  159. package/dist/client/bookings.mjs +126 -23
  160. package/dist/client/{carousel-BTIR9L3I.mjs → carousel-DPNmiH0f.mjs} +1 -1
  161. package/dist/client/{cart-bqiqd8SX.mjs → cart--egVXlrR.mjs} +3 -3
  162. package/dist/client/{checkout-WbTFV5v4.mjs → checkout-DywWtMcq.mjs} +3 -3
  163. package/dist/client/client.mjs +6111 -5794
  164. package/dist/client/courseRegistration-Dk9qFVwt.mjs +46 -0
  165. package/dist/client/{eventCalendar-CsxIw0V_.mjs → eventCalendar-Bkz2HjlS.mjs} +4 -4
  166. package/dist/client/{eventCombined-B6XMoHfa.mjs → eventCombined-D4kipYWg.mjs} +2 -2
  167. package/dist/client/{eventDetails-BJaoPPfo.mjs → eventDetails-Dz_5ix2Q.mjs} +56 -35
  168. package/dist/client/{eventListing-DgwdYHRT.mjs → eventListing-D0vm-zST.mjs} +2 -2
  169. package/dist/client/{eventRegistration-C0O3folu.mjs → eventRegistration-Cw1E4Q4p.mjs} +58 -6
  170. package/dist/client/{form-Bk9txGFt.mjs → form-C2Zf1n3K.mjs} +1 -1
  171. package/dist/client/{headerSection-yIBt0yTv.mjs → headerSection-CP05gzdc.mjs} +2 -2
  172. package/dist/client/hooks.mjs +1013 -935
  173. package/dist/client/{locationMap-C-3KIpv-.mjs → locationMap-Cl3x9PYJ.mjs} +2 -2
  174. package/dist/client/{newsletterForm-CzB8g8h2.mjs → newsletterForm-DyEJoClm.mjs} +26 -20
  175. package/dist/client/{pricing-C1QeDes_.mjs → pricing-DGuNR1W4.mjs} +1 -1
  176. package/dist/client/{productDetail-w7SBp5uc.mjs → productDetail-Cq-HrGew.mjs} +3 -3
  177. package/dist/client/{productList-D0tGKHGf.mjs → productList-DbB3jwqd.mjs} +3 -3
  178. package/dist/client/{propsDecoder-Bcin2DB3.mjs → propsDecoder-CiTuhUwY.mjs} +257 -142
  179. package/dist/client/rendering/client.mjs +1342 -1122
  180. package/dist/client/rendering/islands.mjs +18 -18
  181. package/dist/client/rendering.mjs +6622 -6321
  182. package/dist/client/{scrollToBlock-h-o_STf_.mjs → scrollToBlock-CShkRqab.mjs} +1 -1
  183. package/dist/client/{shop-BGzmL8O_.mjs → shop-Cu4Ib-ZA.mjs} +5 -5
  184. package/dist/client/{shop-commerce-lX8QxjX-.mjs → shop-commerce-BzpsOdh7.mjs} +4 -4
  185. package/dist/client/{shop-commerce-store-CEurARtu.mjs → shop-commerce-store-DaE7Fhj8.mjs} +1 -1
  186. package/dist/client/{shopShared-DXxH8xxw.mjs → shopShared-cF0c20vB.mjs} +2 -2
  187. package/dist/client/{useEventFilters-B591g9vd.mjs → useEventFilters-QZ3HMgaJ.mjs} +2 -2
  188. package/dist/client/{usePolling-BvnChV4m.mjs → usePolling-BKf0GcE-.mjs} +2 -2
  189. package/dist/preview-next/before-render.mjs +1 -1
  190. package/dist/preview-next/client/runtime.mjs +4 -4
  191. package/dist/preview-next/middleware.mjs +1 -1
  192. package/dist/{previewAuthStore-Dev9CdG9.mjs → previewAuthStore-BesgU5Xu.mjs} +1 -1
  193. package/dist/{sdk-runtime-M__i3Jce.mjs → sdk-runtime-Cn_QSCOg.mjs} +2 -2
  194. package/dist/{separator-VSlnI9bc.mjs → separator-CEoGABRc.mjs} +1 -1
  195. package/dist/server/components.mjs +1750 -1614
  196. package/dist/server/config-validation.mjs +1010 -935
  197. package/dist/server/config.mjs +1010 -935
  198. package/dist/server/data.mjs +1013 -935
  199. package/dist/server/index.mjs +40 -16
  200. package/dist/server/next.mjs +1790 -1632
  201. package/dist/server/page-converter.mjs +1012 -938
  202. package/dist/server/prebuild.mjs +1 -1
  203. package/dist/server/rendering/server.mjs +1746 -1601
  204. package/dist/server/rendering.mjs +1759 -1615
  205. package/dist/server/routing.mjs +1123 -975
  206. package/dist/server/server.mjs +1053 -951
  207. package/dist/server/theme-bridge.mjs +151 -118
  208. package/dist/server/theme.mjs +111 -23
  209. package/package.json +1 -1
  210. package/dist/SdkPreviewModeRuntime-CvW1vdQ4.mjs +0 -39468
  211. package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +0 -8
  212. package/dist/client/MagicLinkForm-Bt3IuLMy.mjs +0 -327
@@ -1,5 +1,6 @@
1
1
  import type { Theme, ThemeHeader } from '../schema';
2
- import { type SiteChromeLookDiagnostics } from './customizableSurfaces';
2
+ import { type HeaderInteractionPaletteOptionGroup } from './headerInteractionPalette';
3
+ import { type HeaderOpeningForeground } from './headerOpeningForeground';
3
4
  import { type BrandDisplayMode, type HeaderBrandPresentationPlan, type HeaderBrandPresentationSelection, type LogoAccommodationOption, type LogoAccommodationRejectionReason, type LogoFacts, type LogoSizePolicy } from './logoBranding';
4
5
  import { type Brand } from './types';
5
6
  export declare const headerLookIdValues: readonly ["clean-base", "classic-centered-nav", "brand-solid", "serif-line", "centered-calm", "practical-utility", "minimal-transparent", "transparent-overlay", "floating-glass"];
@@ -57,7 +58,6 @@ export type HeaderLayoutDefinition = Readonly<{
57
58
  id: HeaderLayoutId;
58
59
  label: string;
59
60
  description: string;
60
- structure: HeaderStructureId;
61
61
  variant: ThemeHeader['variant'];
62
62
  defaultPositioning: ThemeHeader['positioning'];
63
63
  shrinkOnScroll: boolean;
@@ -78,6 +78,9 @@ export type HeaderStyleDefinition = Readonly<{
78
78
  defaultDepth: HeaderStyleDepth;
79
79
  navTypography: HeaderStyleNavTypography;
80
80
  moods: readonly HeaderStyleMood[];
81
+ openingForegroundTarget?: 'brand-only' | 'all';
82
+ scrollTreatment?: 'contrast-glass';
83
+ interactionPalette?: HeaderInteractionPaletteOptionGroup;
81
84
  }>;
82
85
  export type HeaderLayoutStyleSelection = Readonly<{
83
86
  layoutId: HeaderLayoutId;
@@ -115,25 +118,6 @@ export type HeaderLayoutStyleResolution = Readonly<{
115
118
  style: HeaderStyleDefinition;
116
119
  repair: HeaderLayoutStyleRepair;
117
120
  }>;
118
- export type HeaderLookVisualTreatment = 'solid-neutral' | 'solid-brand' | 'light-serif' | 'minimal-transparent' | 'transparent-overlay' | 'floating-glass';
119
- export type HeaderLookLayoutBehavior = 'normal-flow' | 'sticky' | 'sticky-shrink' | 'fixed-overlay' | 'fixed-floating';
120
- export type HeaderStructureId = 'inline-classic' | 'centered-stack' | 'floating-shell';
121
- export type HeaderTreatmentId = HeaderLookVisualTreatment;
122
- export type HeaderBehaviorId = HeaderLookLayoutBehavior;
123
- export type HeaderConfiguration = Readonly<{
124
- structure: HeaderStructureId;
125
- treatment: HeaderTreatmentId;
126
- behavior: HeaderBehaviorId;
127
- }>;
128
- export type HeaderConfigurationRejectionReason = 'unsupported-structure-treatment-behavior-combination';
129
- export type HeaderConfigurationResolution = Readonly<{
130
- kind: 'valid';
131
- configuration: HeaderConfiguration;
132
- }> | Readonly<{
133
- kind: 'rejected';
134
- requested: HeaderConfiguration;
135
- reasons: readonly HeaderConfigurationRejectionReason[];
136
- }>;
137
121
  export type HeaderLookOpeningRequirement = 'none' | 'reserved-space-ok' | 'requires-image-hero-with-contrast-overlay';
138
122
  export type HeaderLogoShape = 'none' | 'text-only' | 'horizontal' | 'square' | 'tall';
139
123
  export type HeaderLogoDimensions = Readonly<{
@@ -145,9 +129,6 @@ export type HeaderStyleNavTypography = 'plain' | 'heading' | 'quiet-caps' | 'bra
145
129
  export type HeaderLookDefinition = Readonly<{
146
130
  id: HeaderLookId;
147
131
  label: string;
148
- visualTreatment: HeaderLookVisualTreatment;
149
- layoutBehavior: HeaderLookLayoutBehavior;
150
- configuration: HeaderConfiguration;
151
132
  openingRequirement: HeaderLookOpeningRequirement;
152
133
  maxRecommendedNavItems?: number;
153
134
  logoAccommodations: readonly LogoAccommodationOption[];
@@ -180,12 +161,6 @@ export type HeaderOpeningSectionContext = Readonly<{
180
161
  hasTopSpacing: boolean;
181
162
  canAdjust: boolean;
182
163
  }>;
183
- export type OverlayHeaderOpeningPlan = Readonly<{
184
- canRender: true;
185
- contrastIntent: 'theme-default' | 'light-on-dark' | 'dark-on-light';
186
- topSpacing: 'preserve' | 'add';
187
- legibilityFallback: 'none' | 'glass-nav-backing';
188
- }>;
189
164
  export type HeaderLogoPreferences = Readonly<{
190
165
  brandDisplayMode?: BrandDisplayMode;
191
166
  sizePolicy?: LogoSizePolicy;
@@ -210,6 +185,7 @@ export type HeaderBannerContext = Readonly<{
210
185
  }>;
211
186
  export type HeaderSelectionContext = Readonly<{
212
187
  openingSection: HeaderOpeningSectionContext;
188
+ openingForeground: HeaderOpeningForeground;
213
189
  logo: HeaderLogoContext;
214
190
  navigation: HeaderNavigationContext;
215
191
  cta: HeaderCtaContext;
@@ -227,14 +203,12 @@ export type HeaderSelectionResult = Readonly<{
227
203
  brandPresentation: HeaderBrandPresentationSelection;
228
204
  rejected: readonly RejectedHeaderLook[];
229
205
  }>;
230
- export type HeaderLookDiagnostics = SiteChromeLookDiagnostics<HeaderLookId, RejectedHeaderLookReason>;
231
206
  export type HeaderLookResolutionInput = Readonly<{
232
207
  theme: Theme;
233
208
  recommendedLookIds: readonly HeaderLookId[];
234
209
  context?: Partial<HeaderSelectionContext>;
235
210
  }>;
236
211
  export declare const defaultHeaderSelectionContext: HeaderSelectionContext;
237
- export declare function planOverlayHeaderOpening(opening: HeaderOpeningSectionContext): OverlayHeaderOpeningPlan;
238
212
  export declare function completeHeaderSelectionContext(context: Partial<HeaderSelectionContext> | undefined): HeaderSelectionContext;
239
213
  export declare function resolveHeaderBrandPresentation(input: Readonly<{
240
214
  logo: HeaderLogoContext;
@@ -245,7 +219,6 @@ export declare const headerLayoutCatalog: readonly [{
245
219
  readonly id: HeaderLayoutId;
246
220
  readonly label: "Classic";
247
221
  readonly description: "Logo and navigation in one practical horizontal row.";
248
- readonly structure: "inline-classic";
249
222
  readonly variant: "classic";
250
223
  readonly defaultPositioning: "sticky";
251
224
  readonly shrinkOnScroll: false;
@@ -253,7 +226,6 @@ export declare const headerLayoutCatalog: readonly [{
253
226
  readonly id: HeaderLayoutId;
254
227
  readonly label: "Centered";
255
228
  readonly description: "Logo centered above a balanced navigation row.";
256
- readonly structure: "centered-stack";
257
229
  readonly variant: "centered";
258
230
  readonly defaultPositioning: "static";
259
231
  readonly shrinkOnScroll: false;
@@ -263,7 +235,6 @@ export declare const headerLayoutCatalog: readonly [{
263
235
  readonly id: HeaderLayoutId;
264
236
  readonly label: "Floating";
265
237
  readonly description: "Detached header chrome that sits over the opening section.";
266
- readonly structure: "floating-shell";
267
238
  readonly variant: "floating";
268
239
  readonly defaultPositioning: "sticky";
269
240
  readonly shrinkOnScroll: true;
@@ -385,10 +356,18 @@ export declare const headerStyleCatalog: readonly [{
385
356
  readonly label: "Clear Split";
386
357
  readonly description: "Floating logo with transparent navigation and no shared shell.";
387
358
  readonly supportedLayoutIds: readonly HeaderLayoutId[];
388
- readonly navInteraction: "color-change";
359
+ readonly navInteraction: "pill-background";
389
360
  readonly surface: "floating";
390
- readonly defaultDepth: "none";
361
+ readonly defaultDepth: "line";
391
362
  readonly navTypography: "plain";
363
+ readonly openingForegroundTarget: "all";
364
+ readonly scrollTreatment: "contrast-glass";
365
+ readonly interactionPalette: Readonly<{
366
+ id: "interaction-palette";
367
+ label: string;
368
+ options: readonly [import("../../../blocks/src/index").HeaderInteractionPaletteOption, ...import("../../../blocks/src/index").HeaderInteractionPaletteOption[]];
369
+ defaultOptionId: "accent" | "primary" | "secondary";
370
+ }>;
392
371
  readonly moods: readonly ["editorial", "calm"];
393
372
  }, {
394
373
  readonly id: HeaderStyleId;
@@ -409,6 +388,7 @@ export declare const headerStyleCatalog: readonly [{
409
388
  readonly surface: "floating";
410
389
  readonly defaultDepth: "shadow";
411
390
  readonly navTypography: "quiet-caps";
391
+ readonly openingForegroundTarget: "brand-only";
412
392
  readonly moods: readonly ["expressive"];
413
393
  }, {
414
394
  readonly id: HeaderStyleId;
@@ -419,6 +399,7 @@ export declare const headerStyleCatalog: readonly [{
419
399
  readonly surface: "floating";
420
400
  readonly defaultDepth: "shadow";
421
401
  readonly navTypography: "heading";
402
+ readonly openingForegroundTarget: "brand-only";
422
403
  readonly moods: readonly ["calm", "editorial"];
423
404
  }];
424
405
  export declare const legacyHeaderLookAliases: readonly [{
@@ -479,7 +460,6 @@ export declare const legacyHeaderLookAliases: readonly [{
479
460
  export declare function getHeaderLayout(id: HeaderLayoutId): HeaderLayoutDefinition | null;
480
461
  export declare function getHeaderStyle(id: HeaderStyleId): HeaderStyleDefinition | null;
481
462
  export declare function isHeaderStyleCompatibleWithLayout(style: HeaderStyleDefinition, layoutId: HeaderLayoutId): boolean;
482
- export declare function headerLayoutSupportsBarFrame(layoutId: HeaderLayoutId): boolean;
483
463
  export declare function resolveLegacyHeaderLookAlias(lookId: HeaderLookId): HeaderLayoutStyleSelection | null;
484
464
  export declare function findLegacyHeaderLookIdForSelection(selection: HeaderLayoutStyleSelection): HeaderLookId | null;
485
465
  export declare function getCompatibleHeaderStyleIds(layoutId: HeaderLayoutId): readonly HeaderStyleId[];
@@ -487,7 +467,7 @@ export declare function getOrderedHeaderLayoutIdsForCuration(curation: HeaderLay
487
467
  export declare function getOrderedHeaderStyleIdsForLayout(curation: HeaderLayoutStyleCuration, layoutId: HeaderLayoutId): readonly HeaderStyleId[];
488
468
  export declare function deriveNearestCompatibleHeaderStyle(styleId: HeaderStyleId, layoutId: HeaderLayoutId): HeaderStyleId;
489
469
  export declare function resolveHeaderLayoutStyleSelection(selection: HeaderLayoutStyleSelection): HeaderLayoutStyleResolution;
490
- export declare function compileHeaderLayoutStyleSelection(theme: Theme, selection: HeaderLayoutStyleSelection): Theme['header'];
470
+ export declare function compileHeaderLayoutStyleSelection(theme: Theme, selection: HeaderLayoutStyleSelection, context?: Partial<HeaderSelectionContext>): Theme['header'];
491
471
  declare function solidBrandHeader(theme: Theme): Theme['header'];
492
472
  declare function cleanBaseHeader(theme: Theme): Theme['header'];
493
473
  declare function classicCenteredNavHeader(theme: Theme): Theme['header'];
@@ -500,13 +480,6 @@ declare function floatingGlassHeader(theme: Theme): Theme['header'];
500
480
  export declare const headerLookCatalog: readonly [{
501
481
  readonly id: HeaderLookId;
502
482
  readonly label: "Clean base";
503
- readonly visualTreatment: "solid-neutral";
504
- readonly layoutBehavior: "sticky";
505
- readonly configuration: {
506
- readonly structure: "inline-classic";
507
- readonly treatment: "solid-neutral";
508
- readonly behavior: "sticky";
509
- };
510
483
  readonly openingRequirement: "none";
511
484
  readonly logoAccommodations: readonly [{
512
485
  readonly pattern: "title-only";
@@ -547,13 +520,6 @@ export declare const headerLookCatalog: readonly [{
547
520
  }, {
548
521
  readonly id: HeaderLookId;
549
522
  readonly label: "Centered nav";
550
- readonly visualTreatment: "solid-neutral";
551
- readonly layoutBehavior: "sticky";
552
- readonly configuration: {
553
- readonly structure: "inline-classic";
554
- readonly treatment: "solid-neutral";
555
- readonly behavior: "sticky";
556
- };
557
523
  readonly openingRequirement: "none";
558
524
  readonly maxRecommendedNavItems: 6;
559
525
  readonly logoAccommodations: readonly [{
@@ -595,13 +561,6 @@ export declare const headerLookCatalog: readonly [{
595
561
  }, {
596
562
  readonly id: HeaderLookId;
597
563
  readonly label: "Brand solid";
598
- readonly visualTreatment: "solid-brand";
599
- readonly layoutBehavior: "sticky-shrink";
600
- readonly configuration: {
601
- readonly structure: "inline-classic";
602
- readonly treatment: "solid-brand";
603
- readonly behavior: "sticky-shrink";
604
- };
605
564
  readonly openingRequirement: "none";
606
565
  readonly logoAccommodations: readonly [{
607
566
  readonly pattern: "title-only";
@@ -642,13 +601,6 @@ export declare const headerLookCatalog: readonly [{
642
601
  }, {
643
602
  readonly id: HeaderLookId;
644
603
  readonly label: "Serif line";
645
- readonly visualTreatment: "light-serif";
646
- readonly layoutBehavior: "sticky";
647
- readonly configuration: {
648
- readonly structure: "centered-stack";
649
- readonly treatment: "light-serif";
650
- readonly behavior: "sticky";
651
- };
652
604
  readonly openingRequirement: "none";
653
605
  readonly maxRecommendedNavItems: 6;
654
606
  readonly logoAccommodations: readonly [{
@@ -690,13 +642,6 @@ export declare const headerLookCatalog: readonly [{
690
642
  }, {
691
643
  readonly id: HeaderLookId;
692
644
  readonly label: "Centered calm";
693
- readonly visualTreatment: "light-serif";
694
- readonly layoutBehavior: "normal-flow";
695
- readonly configuration: {
696
- readonly structure: "centered-stack";
697
- readonly treatment: "light-serif";
698
- readonly behavior: "normal-flow";
699
- };
700
645
  readonly openingRequirement: "none";
701
646
  readonly maxRecommendedNavItems: 5;
702
647
  readonly logoAccommodations: readonly [{
@@ -738,13 +683,6 @@ export declare const headerLookCatalog: readonly [{
738
683
  }, {
739
684
  readonly id: HeaderLookId;
740
685
  readonly label: "Practical utility";
741
- readonly visualTreatment: "solid-neutral";
742
- readonly layoutBehavior: "sticky-shrink";
743
- readonly configuration: {
744
- readonly structure: "inline-classic";
745
- readonly treatment: "solid-neutral";
746
- readonly behavior: "sticky-shrink";
747
- };
748
686
  readonly openingRequirement: "none";
749
687
  readonly requiresProminentCta: true;
750
688
  readonly logoAccommodations: readonly [{
@@ -786,13 +724,6 @@ export declare const headerLookCatalog: readonly [{
786
724
  }, {
787
725
  readonly id: HeaderLookId;
788
726
  readonly label: "Minimal transparent";
789
- readonly visualTreatment: "minimal-transparent";
790
- readonly layoutBehavior: "normal-flow";
791
- readonly configuration: {
792
- readonly structure: "inline-classic";
793
- readonly treatment: "minimal-transparent";
794
- readonly behavior: "normal-flow";
795
- };
796
727
  readonly openingRequirement: "reserved-space-ok";
797
728
  readonly logoAccommodations: readonly [{
798
729
  readonly pattern: "title-only";
@@ -833,13 +764,6 @@ export declare const headerLookCatalog: readonly [{
833
764
  }, {
834
765
  readonly id: HeaderLookId;
835
766
  readonly label: "Transparent overlay";
836
- readonly visualTreatment: "transparent-overlay";
837
- readonly layoutBehavior: "fixed-overlay";
838
- readonly configuration: {
839
- readonly structure: "inline-classic";
840
- readonly treatment: "transparent-overlay";
841
- readonly behavior: "fixed-overlay";
842
- };
843
767
  readonly openingRequirement: "requires-image-hero-with-contrast-overlay";
844
768
  readonly maxRecommendedNavItems: 5;
845
769
  readonly logoAccommodations: readonly [{
@@ -874,13 +798,6 @@ export declare const headerLookCatalog: readonly [{
874
798
  }, {
875
799
  readonly id: HeaderLookId;
876
800
  readonly label: "Floating glass";
877
- readonly visualTreatment: "floating-glass";
878
- readonly layoutBehavior: "fixed-floating";
879
- readonly configuration: {
880
- readonly structure: "floating-shell";
881
- readonly treatment: "floating-glass";
882
- readonly behavior: "fixed-floating";
883
- };
884
801
  readonly openingRequirement: "requires-image-hero-with-contrast-overlay";
885
802
  readonly maxRecommendedNavItems: 5;
886
803
  readonly logoAccommodations: readonly [{
@@ -916,13 +833,9 @@ export declare const headerLookCatalog: readonly [{
916
833
  export declare const guaranteedFallbackHeaderLookId: HeaderLookId;
917
834
  export declare const guaranteedFallbackHeaderLayoutId: HeaderLayoutId;
918
835
  export declare const guaranteedFallbackHeaderStyleId: HeaderStyleId;
919
- export declare function resolveHeaderConfiguration(configuration: HeaderConfiguration): HeaderConfigurationResolution;
920
836
  export declare function getHeaderLook(id: HeaderLookId): HeaderLookDefinition | null;
921
837
  export declare function findHeaderLook(id: HeaderLookId): HeaderLookDefinition | undefined;
922
838
  export declare function getHeaderLookOrThrow(id: HeaderLookId): HeaderLookDefinition;
923
839
  export declare function headerLookRequiresImageHeroOpening(look: HeaderLookDefinition): boolean;
924
- export declare function headerLookUsesOverlayLayout(look: HeaderLookDefinition): boolean;
925
840
  export declare function resolveHeaderLook(input: HeaderLookResolutionInput): HeaderSelectionResult;
926
- export declare function headerLookDiagnosticsFromSelectionResult(result: HeaderSelectionResult): HeaderLookDiagnostics;
927
- export declare function headerLookRejectionReasonLabel(reason: RejectedHeaderLookReason): string;
928
841
  export {};
@@ -0,0 +1,22 @@
1
+ import type { Theme } from '../schema';
2
+ import { type ThemeColorToken } from '../tokens';
3
+ import type { HeaderSelectionContext, HeaderStyleDefinition } from './headerLooks';
4
+ export type HeaderOpeningForeground = Readonly<{
5
+ kind: 'known';
6
+ token: ThemeColorToken;
7
+ evidence: 'declared-opening-surface' | 'theme-default';
8
+ }> | Readonly<{
9
+ kind: 'unknown';
10
+ }>;
11
+ export type HeaderStyleAvailability = Readonly<{
12
+ kind: 'available';
13
+ }> | Readonly<{
14
+ kind: 'unavailable';
15
+ reason: 'requires-known-opening-foreground';
16
+ }>;
17
+ export declare function headerStyleAvailability(style: HeaderStyleDefinition, context: Partial<HeaderSelectionContext> | undefined): HeaderStyleAvailability;
18
+ export declare function headerStyleAvailabilityReasonLabel(reason: Extract<HeaderStyleAvailability, {
19
+ kind: 'unavailable';
20
+ }>['reason']): string;
21
+ export declare function applyOpeningForeground(theme: Theme, header: Theme['header'], style: HeaderStyleDefinition, context: Partial<HeaderSelectionContext> | undefined): Theme['header'];
22
+ export declare function applyPageOpeningForegroundToTheme(theme: Theme, style: HeaderStyleDefinition | null | undefined, context: Partial<HeaderSelectionContext> | undefined): Theme;
@@ -1,5 +1,6 @@
1
1
  import type { BlockDesignPlan, DesignBlockId, ResolvedBlockDesignPlan } from './types';
2
2
  import type { HeaderLookId, HeaderOpeningSectionContext } from './headerLooks';
3
+ import type { HeaderOpeningForeground } from './headerOpeningForeground';
3
4
  export type HeaderOpeningSectionRepair = 'promote-opening-hero-surface' | 'add-opening-contrast-overlay' | 'add-opening-top-spacing';
4
5
  export type HeaderOpeningSectionPlan<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
5
6
  plan: readonly BlockDesignPlan<TBlockId>[];
@@ -15,6 +16,7 @@ export declare function planGeneratedHeaderOpeningSection<TBlockId extends Desig
15
16
  recommendedHeaderLookIds: readonly HeaderLookId[];
16
17
  }>): HeaderOpeningSectionPlan<TBlockId>;
17
18
  export declare function deriveHeaderOpeningSectionContextFromContent(input: HeaderOpeningContentSnapshot): HeaderOpeningSectionContext;
19
+ export declare function deriveHeaderOpeningForegroundFromContent(input: HeaderOpeningContentSnapshot): HeaderOpeningForeground;
18
20
  export declare function deriveHeaderOpeningSectionContext(input: Readonly<{
19
21
  openingBlock: ResolvedBlockDesignPlan | null;
20
22
  openingContent?: Record<string, unknown> | null;
@@ -0,0 +1,4 @@
1
+ import type { ThemeHeader } from '../schema';
2
+ export declare function brandHeaderForeground(): Pick<ThemeHeader, 'textColor' | 'navColor'>;
3
+ export declare function neutralDropdownStyle(): NonNullable<ThemeHeader['dropdownStyle']>;
4
+ export declare function brandDropdownStyle(): NonNullable<ThemeHeader['dropdownStyle']>;
@@ -14,8 +14,11 @@ export * from './footerLooks';
14
14
  export * from './generatedSchemas';
15
15
  export * from './generatedDesignPipeline';
16
16
  export * from './headerLooks';
17
+ export * from './headerInteractionPalette';
18
+ export * from './headerOpeningForeground';
17
19
  export * from './headerOpeningSection';
18
20
  export * from './lookResolution';
21
+ export * from './lookOptionGroups';
19
22
  export * from './logoBranding';
20
23
  export * from './pageDesignAuthority';
21
24
  export * from './pageDesignEditorErrors';
@@ -0,0 +1,24 @@
1
+ export type LookOption = Readonly<{
2
+ id: string;
3
+ label: string;
4
+ }>;
5
+ export type LookOptionGroup<TGroupId extends string, TOption extends LookOption> = Readonly<{
6
+ id: TGroupId;
7
+ label: string;
8
+ options: readonly [TOption, ...TOption[]];
9
+ defaultOptionId: TOption['id'];
10
+ }>;
11
+ export type LookOptionResolution<TOption extends LookOption> = Readonly<{
12
+ kind: 'defaulted';
13
+ option: TOption;
14
+ }> | Readonly<{
15
+ kind: 'selected';
16
+ option: TOption;
17
+ }> | Readonly<{
18
+ kind: 'repaired';
19
+ requestedOptionId: string;
20
+ option: TOption;
21
+ reason: 'unsupported-option';
22
+ }>;
23
+ export declare function defineLookOptionGroup<const TGroupId extends string, const TOption extends LookOption>(group: LookOptionGroup<TGroupId, TOption>): LookOptionGroup<TGroupId, TOption>;
24
+ export declare function resolveLookOption<TGroupId extends string, TOption extends LookOption>(group: LookOptionGroup<TGroupId, TOption>, requestedOptionId: string | null | undefined): LookOptionResolution<TOption>;
@@ -1,4 +1,4 @@
1
- import { type BlockAppearanceDesign, type BlockAppearanceOptionGroup, type BlockAppearancePreset } from './appearancePresets';
1
+ import { type BlockAppearanceDesign, type BlockAppearancePreset } from './appearancePresets';
2
2
  import type { BlockLayoutDesignProfile } from './blockFlow';
3
3
  import type { CuratedSiteStyle } from './curatedSiteStyles';
4
4
  import { type AppearancePresetId } from './types';
@@ -6,7 +6,6 @@ export type ResolvedBlockAppearancePreset = Readonly<{
6
6
  id: AppearancePresetId;
7
7
  label: string;
8
8
  design: BlockAppearanceDesign;
9
- optionGroups: readonly BlockAppearanceOptionGroup[];
10
9
  }>;
11
10
  export declare function blockAppearancePresetSupportsBlockKind(preset: BlockAppearancePreset, blockKind: string): boolean;
12
11
  export declare function blockAppearancePresetSupportsLayoutProfile(preset: BlockAppearancePreset, profile: BlockLayoutDesignProfile | null, input?: Readonly<{
@@ -1,9 +1,10 @@
1
- import type { BlockAppearanceDesign, BlockAppearanceOptionGroup } from './appearancePresets';
2
- import type { BlockDesignMetadata, BlockLayoutDesignProfile } from './blockFlow';
1
+ import type { BlockDesignMetadata } from './blockFlow';
3
2
  import { type PageDesignDecisions } from './pageDesignIntent';
4
3
  import { type AppearancePresetId, type BlockDesignCapability, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type NonEmptyReadonlyArray, type PageFlowPresetId, type SiteStyleId, type UnsupportedBlockDesignCapabilityReason } from './types';
5
4
  import { type BoundaryOption } from './sectionTransitions';
5
+ import type { PageDesignEditorBlockContentRevision, PageDesignEditorLayoutOption, PageDesignEditorLookOption, PageDesignEditorLooksForLayout } from './pageDesignEditorOptions';
6
6
  export { boundaryOptions, type BoundaryOption } from './sectionTransitions';
7
+ export type { PageDesignEditorBlockContentRevision, PageDesignEditorLayoutOption, PageDesignEditorLookOption, PageDesignEditorLooksForLayout, } from './pageDesignEditorOptions';
7
8
  export type PageFlowBoundaryStrategy = 'quiet' | 'balanced' | 'expressive';
8
9
  export type PageFlowPreset = Readonly<{
9
10
  id: PageFlowPresetId;
@@ -47,25 +48,6 @@ export type PageDesignEditorSelection<TValue> = Readonly<{
47
48
  status: 'supported' | 'unsupported';
48
49
  effectiveValue: TValue;
49
50
  }>;
50
- export type PageDesignEditorLookOption = Readonly<{
51
- id: AppearancePresetId;
52
- label: string;
53
- design: BlockAppearanceDesign;
54
- optionGroups: readonly BlockAppearanceOptionGroup[];
55
- }>;
56
- export type PageDesignEditorLayoutOption = Readonly<{
57
- id: LayoutVariantKey;
58
- label: string;
59
- profile: BlockLayoutDesignProfile;
60
- }>;
61
- export type PageDesignEditorLooksForLayout = Readonly<{
62
- layoutVariantKey: LayoutVariantKey;
63
- availableLooks: readonly PageDesignEditorLookOption[];
64
- autoLookId: AppearancePresetId | null;
65
- }>;
66
- export type PageDesignEditorBlockContentRevision = Readonly<{
67
- contentId: string | null;
68
- }>;
69
51
  export type PageDesignEditorLookAvailability = Readonly<{
70
52
  kind: 'not-applicable';
71
53
  reason: 'block-has-no-looks' | 'block-not-designed' | 'missing-design-capability';
@@ -95,7 +77,7 @@ export declare const backgroundImagePromotedFieldPath: "_sectionStyles.backgroun
95
77
  * Look/Layout semantics support them.
96
78
  */
97
79
  export declare const normalEditorCuratedPromotedFieldPaths: readonly ["_sectionStyles.background.image"];
98
- export type NormalEditorCuratedPromotedFieldPath = typeof normalEditorCuratedPromotedFieldPaths[number];
80
+ export type NormalEditorCuratedPromotedFieldPath = (typeof normalEditorCuratedPromotedFieldPaths)[number];
99
81
  export type PageDesignEditorBoundary<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
100
82
  boundaryId: DesignBoundaryId;
101
83
  previousBlockId: TBlockId;
@@ -0,0 +1,21 @@
1
+ import type { BlockLayoutDesignProfile } from './blockFlow';
2
+ import type { BlockAppearanceDesign } from './appearancePresets';
3
+ import type { AppearancePresetId, LayoutVariantKey } from './types';
4
+ export type PageDesignEditorLookOption = Readonly<{
5
+ id: AppearancePresetId;
6
+ label: string;
7
+ design: BlockAppearanceDesign;
8
+ }>;
9
+ export type PageDesignEditorLayoutOption = Readonly<{
10
+ id: LayoutVariantKey;
11
+ label: string;
12
+ profile: BlockLayoutDesignProfile;
13
+ }>;
14
+ export type PageDesignEditorLooksForLayout = Readonly<{
15
+ layoutVariantKey: LayoutVariantKey;
16
+ availableLooks: readonly PageDesignEditorLookOption[];
17
+ autoLookId: AppearancePresetId | null;
18
+ }>;
19
+ export type PageDesignEditorBlockContentRevision = Readonly<{
20
+ contentId: string | null;
21
+ }>;
@@ -3,7 +3,7 @@ import { type Theme } from '../schema';
3
3
  import { type ButtonStyleSelection } from '../buttons/styles';
4
4
  import { type CuratedSiteStyle } from './curatedSiteStyles';
5
5
  import { type FooterLookId, type FooterSelectionResult } from './footerLooks';
6
- import type { HeaderSelectionIdentity, SiteThemeCompilationPlan } from './compilationPlan';
6
+ import { type HeaderSelectionIdentity, type SiteThemeCompilationPlan } from './compilationPlan';
7
7
  import { type HeaderLayoutId, type HeaderLookId, type HeaderSelectionResult, type HeaderStyleId } from './headerLooks';
8
8
  import { type CompiledBlockRuntimeFields, type CompiledBoundaryRuntime, type CompiledPageRuntime, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, type SurfaceResolutionContext } from './runtimeCompiler';
9
9
  import { type AppearancePresetId, type DesignBlockId, type SiteStyleId } from './types';
@@ -1,5 +1,6 @@
1
1
  import type { NavLinkStyle, NavLinkTextSize } from '../navigation/types';
2
2
  import type { Theme } from '../schema';
3
+ import type { HeaderInteractionPalettePreference } from '../header/interactionPalette';
3
4
  export declare const headerNavTypographyPreferenceValues: readonly ["inherit", "body", "heading"];
4
5
  export type HeaderNavTypographyPreference = (typeof headerNavTypographyPreferenceValues)[number];
5
6
  export declare const headerNavFontSizePreferenceValues: readonly ["inherit", "sm", "base", "lg", "xl"];
@@ -7,6 +8,7 @@ export type HeaderNavFontSizePreference = (typeof headerNavFontSizePreferenceVal
7
8
  export type HeaderNavPreferences = Readonly<{
8
9
  typography: HeaderNavTypographyPreference;
9
10
  fontSize: HeaderNavFontSizePreference;
11
+ interactionPalette: HeaderInteractionPalettePreference;
10
12
  }>;
11
13
  export declare const headerNavTypographyOptions: readonly [{
12
14
  readonly value: "inherit";
@@ -37,6 +39,7 @@ export declare const headerNavFontSizeOptions: readonly [{
37
39
  export declare const defaultHeaderNavPreferences: {
38
40
  readonly typography: "inherit";
39
41
  readonly fontSize: "inherit";
42
+ readonly interactionPalette: "recommended";
40
43
  };
41
44
  export declare function readHeaderNavPreferences(theme: Theme | null | undefined): HeaderNavPreferences;
42
45
  export declare function headerNavPreferencesEqual(left: HeaderNavPreferences, right: HeaderNavPreferences): boolean;
@@ -56,5 +59,5 @@ export declare function withHeaderNavThemePreferences(theme: Theme, preferences:
56
59
  * overrides which font ROLE the treatment resolves through. It never changes
57
60
  * the treatment. `'inherit'` keeps the treatment's default role.
58
61
  */
59
- export declare function mergeHeaderNavTypographyPreference(style: NavLinkStyle, preferences: HeaderNavPreferences): NavLinkStyle;
62
+ export declare function mergeHeaderNavTypographyPreference(style: NavLinkStyle, preferences: Pick<HeaderNavPreferences, 'typography' | 'fontSize'>): NavLinkStyle;
60
63
  export declare function readHeaderNavFontSizePreference(value: NavLinkTextSize | undefined): HeaderNavFontSizePreference;