@riverbankcms/sdk 0.102.0 → 0.104.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 (203) hide show
  1. package/README.md +10 -2
  2. package/dist/{PreviewEditorSidebar-BKkhhkJk.mjs → PreviewEditorSidebar-ywqcYjTB.mjs} +217 -131
  3. package/dist/{PreviewEditorUI-DIvTqcqI.mjs → PreviewEditorUI-DApUNF6g.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-ZF6TXq5Q.mjs → PreviewQueryProvider-CStABBUh.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CA2k7Z_T.mjs → SdkPreviewModeRuntime-DmHCcIMO.mjs} +1738 -815
  6. package/dist/{SiteChromeCustomizeContext-Bh9-DtMQ.mjs → SiteChromeCustomizeContext-BV9GU-3C.mjs} +3517 -2524
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +298 -298
  8. package/dist/_dts/api/src/contentRuntime.d.ts +6 -3
  9. package/dist/_dts/api/src/endpoints.d.ts +10 -3
  10. package/dist/_dts/api/src/index.d.ts +2 -2
  11. package/dist/_dts/api/src/navigation/contracts.d.ts +6 -6
  12. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  13. package/dist/_dts/api/src/siteIcons.d.ts +39 -43
  14. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -3
  15. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +36 -7
  16. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +3 -3
  17. package/dist/_dts/block-form/src/widgets/SliderField/sliderValue.d.ts +36 -0
  18. package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +3 -0
  19. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -1
  20. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  21. package/dist/_dts/blocks/src/index.d.ts +2 -2
  22. package/dist/_dts/blocks/src/server.d.ts +1 -1
  23. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +7 -7
  24. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +14 -14
  26. package/dist/_dts/blocks/src/system/blocks/feature-card-icons.d.ts +29 -29
  27. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +1 -0
  28. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +8 -5
  29. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +362 -227
  30. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  32. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/icons/generatedAssets.d.ts +28 -0
  34. package/dist/_dts/blocks/src/system/icons/index.d.ts +1 -0
  35. package/dist/_dts/blocks/src/system/icons/value.d.ts +3 -6
  36. package/dist/_dts/blocks/src/system/inlineText.d.ts +2 -2
  37. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +417 -177
  38. package/dist/_dts/blocks/src/system/node/schema.d.ts +1 -1
  39. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  40. package/dist/_dts/blocks/src/system/runtime/nodes/feature-card-icon.d.ts +1 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
  42. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  43. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -0
  44. package/dist/_dts/content-editor/src/ui/stores/generatedIconAssetsStore.d.ts +9 -0
  45. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  46. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +344 -0
  47. package/dist/_dts/db/src/schemas/forms.d.ts +15 -15
  48. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +7 -0
  49. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -1
  50. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +4 -4
  51. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +2 -3
  52. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +4 -4
  53. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +4 -4
  54. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +3 -3
  55. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -3
  56. package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +1 -5
  57. package/dist/_dts/editor-blocks/src/block-editor/featureCardIconActions.d.ts +25 -19
  58. package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +32 -0
  59. package/dist/_dts/editor-blocks/src/widgets/icon-picker/GeneratedIconLibraryContext.d.ts +28 -0
  60. package/dist/_dts/editor-blocks/src/widgets/icon-picker/index.d.ts +2 -0
  61. package/dist/_dts/editor-blocks/src/widgets/icon-picker/loaders.d.ts +7 -0
  62. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -1
  63. package/dist/_dts/preview-next/src/client/preview/CustomizeBackgroundControlRows.d.ts +15 -0
  64. package/dist/_dts/preview-next/src/client/preview/CustomizeColorTokenPicker.d.ts +27 -0
  65. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
  66. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
  67. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +3 -1
  68. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +4 -3
  69. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +4 -3
  70. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +4 -3
  71. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +13 -6
  72. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +5 -4
  73. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +44 -18
  74. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  75. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +16 -1
  76. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
  77. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +4 -5
  78. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +22 -1
  79. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +12 -4
  80. package/dist/_dts/sdk/src/client/management/types.d.ts +3 -0
  81. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  82. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  83. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -0
  84. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +0 -1
  85. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +10 -10
  86. package/dist/_dts/sdk/src/next/revalidate.d.ts +14 -1
  87. package/dist/_dts/sdk/src/public-api/contracts.d.ts +9 -6
  88. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  89. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  90. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -4
  91. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -0
  92. package/dist/_dts/sdk/src/version.d.ts +1 -1
  93. package/dist/_dts/site-commands/src/commands.d.ts +19 -19
  94. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  95. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  96. package/dist/_dts/theme-core/src/buttons/types.d.ts +7 -7
  97. package/dist/_dts/theme-core/src/cards/types.d.ts +6 -6
  98. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  99. package/dist/_dts/theme-core/src/inputs/types.d.ts +4 -4
  100. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +156 -150
  101. package/dist/_dts/theme-core/src/navigation/types.d.ts +8 -6
  102. package/dist/_dts/theme-core/src/palette/colors.d.ts +84 -0
  103. package/dist/_dts/theme-core/src/palette/{variants → curated}/brand-led.d.ts +12 -24
  104. package/dist/_dts/theme-core/src/palette/{variants → curated}/high-contrast.d.ts +9 -18
  105. package/dist/_dts/theme-core/src/palette/{variants → curated}/index.d.ts +67 -119
  106. package/dist/_dts/theme-core/src/palette/{variants → curated}/soft-natural.d.ts +12 -24
  107. package/dist/_dts/theme-core/src/palette/{variants → curated}/types.d.ts +52 -62
  108. package/dist/_dts/theme-core/src/palette/{variants → curated}/warm-dark.d.ts +6 -12
  109. package/dist/_dts/theme-core/src/palette/{variants → curated}/warm-neutral.d.ts +12 -24
  110. package/dist/_dts/theme-core/src/palette/editorState.d.ts +45 -0
  111. package/dist/_dts/theme-core/src/palette/index.d.ts +25 -14
  112. package/dist/_dts/theme-core/src/palette/legacyRuntimeProjection.d.ts +38 -0
  113. package/dist/_dts/theme-core/src/palette/legacySelection.d.ts +34 -0
  114. package/dist/_dts/theme-core/src/palette/libraryModel.d.ts +58 -0
  115. package/dist/_dts/theme-core/src/palette/paletteCompatibilityTransition.d.ts +241 -0
  116. package/dist/_dts/theme-core/src/palette/persistenceReadSource.d.ts +118 -0
  117. package/dist/_dts/theme-core/src/palette/resolveSelection.d.ts +50 -0
  118. package/dist/_dts/theme-core/src/palette/selection.d.ts +72 -0
  119. package/dist/_dts/theme-core/src/palette/sitePalettePersistence.d.ts +34 -0
  120. package/dist/_dts/theme-core/src/palette/themePaletteCompatibility.d.ts +58 -0
  121. package/dist/_dts/theme-core/src/schema.d.ts +208 -169
  122. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  123. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  124. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +22 -22
  125. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +24 -24
  126. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  127. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  128. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +35 -11
  129. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +48 -17
  130. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +77 -0
  131. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +45 -0
  132. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  133. package/dist/_dts/theme-core/src/site-styles/themeParity.d.ts +21 -0
  134. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  135. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  136. package/dist/_dts/ui/src/badge.d.ts +1 -1
  137. package/dist/_dts/ui/src/button.d.ts +1 -1
  138. package/dist/_dts/ui/src/card.d.ts +1 -1
  139. package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +2 -1
  140. package/dist/_dts/ui/src/toggle.d.ts +2 -2
  141. package/dist/cli/index.mjs +7815 -7445
  142. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +9 -1
  143. package/dist/client/{DiscountCodeDisclosure-ChVZwVtS.mjs → DiscountCodeDisclosure-Dit2aItR.mjs} +1 -1
  144. package/dist/client/{EventCombined.client-PZtXbH6R.mjs → EventCombined.client-BnREyCjf.mjs} +3 -3
  145. package/dist/client/{EventListing.client-C4AMTXec.mjs → EventListing.client-0uHld51x.mjs} +2 -2
  146. package/dist/client/{LeafletStaticMap-B0w8_i0u.mjs → LeafletStaticMap-DJcvSfmj.mjs} +1 -1
  147. package/dist/client/{MagicLinkForm-DF0ZGhIu.mjs → MagicLinkForm-EAsIktfw.mjs} +2 -2
  148. package/dist/client/{StepIndicator-PccQ89Ct.mjs → StepIndicator-CRR17tYI.mjs} +2 -2
  149. package/dist/client/{accordion-CTNWT1lk.mjs → accordion-B47HIuuH.mjs} +1 -1
  150. package/dist/client/{bookingForm-DYixwPqP.mjs → bookingForm-I1E-8F9P.mjs} +6 -6
  151. package/dist/client/{buttons-CySQwlFs.mjs → buttons-BbPn8OKA.mjs} +1 -1
  152. package/dist/client/{carousel-W75iYR0M.mjs → carousel-OlM7SyBs.mjs} +1 -1
  153. package/dist/client/{cart-Ca_DGWQq.mjs → cart-BKpG5jz6.mjs} +3 -3
  154. package/dist/client/{checkout-STgKTsNh.mjs → checkout-Dmmr6qoU.mjs} +3 -3
  155. package/dist/client/client.mjs +9000 -8353
  156. package/dist/client/{courseRegistration-DQI1cu1u.mjs → courseRegistration-CflZiqGk.mjs} +7 -7
  157. package/dist/client/{eventCalendar-BJrHpofg.mjs → eventCalendar-BvoLWcp-.mjs} +5 -5
  158. package/dist/client/{eventCombined-DPtqBHaH.mjs → eventCombined-DsrO8t_t.mjs} +2 -2
  159. package/dist/client/{eventDetails-Brt31CDo.mjs → eventDetails-C3hxgcJm.mjs} +3 -3
  160. package/dist/client/{eventListing-BrClHJOq.mjs → eventListing-C-hb237X.mjs} +2 -2
  161. package/dist/client/{eventRegistration-DxlNlVUC.mjs → eventRegistration-B0gyzDGi.mjs} +7 -7
  162. package/dist/client/{form-Vp5cGzDF.mjs → form-C_RUi6oJ.mjs} +2 -2
  163. package/dist/client/{headerSection-DL2xjRgW.mjs → headerSection-IKQiD2U0.mjs} +3 -3
  164. package/dist/client/hooks.mjs +4792 -4606
  165. package/dist/client/{locationMap-B0EjoXQS.mjs → locationMap-8ZBrMzRJ.mjs} +2 -2
  166. package/dist/client/{newsletterForm-BlV9VRlq.mjs → newsletterForm-CYk3ucwj.mjs} +2 -2
  167. package/dist/client/{pricing-DmRD7Tjx.mjs → pricing-B5GmvfIH.mjs} +1 -1
  168. package/dist/client/{productDetail-BLTQsY2f.mjs → productDetail-BjS2Dqzo.mjs} +3 -3
  169. package/dist/client/{productList-R8lsMpRs.mjs → productList-BOHvC8My.mjs} +3 -3
  170. package/dist/client/{propsDecoder-DgAshF92.mjs → propsDecoder-WS6UEJwZ.mjs} +7 -0
  171. package/dist/client/rendering/client.mjs +3565 -3218
  172. package/dist/client/rendering/islands.mjs +18 -18
  173. package/dist/client/rendering.mjs +8919 -8279
  174. package/dist/client/{shop-DWjyje1s.mjs → shop-CON03-wN.mjs} +6 -6
  175. package/dist/client/{shop-commerce-CSKCR87d.mjs → shop-commerce-DlqrFgH8.mjs} +5 -5
  176. package/dist/client/{shop-commerce-store-DxPnE-iN.mjs → shop-commerce-store-l74-Kne6.mjs} +1 -1
  177. package/dist/client/{shopShared-OOeAkFq7.mjs → shopShared-CQheEXSg.mjs} +2 -2
  178. package/dist/client/{useDiscountCodeUi-Bp6X7XgG.mjs → useDiscountCodeUi-v6OluyWl.mjs} +1 -1
  179. package/dist/client/{useEventFilters-B489x9TO.mjs → useEventFilters-BqSTcNOf.mjs} +3 -3
  180. package/dist/client/{usePolling-BKP66stL.mjs → usePolling-DMfADjIF.mjs} +2 -2
  181. package/dist/preview-next/before-render.mjs +10 -3
  182. package/dist/preview-next/client/runtime.mjs +4 -4
  183. package/dist/preview-next/middleware.mjs +10 -3
  184. package/dist/{previewAuthStore-ByPPZqmp.mjs → previewAuthStore-CfquDtTh.mjs} +10 -3
  185. package/dist/{sdk-runtime-K8Oqj97H.mjs → sdk-runtime-DWb08Xaz.mjs} +2 -2
  186. package/dist/{separator-CRoP34pT.mjs → separator--6yjc914.mjs} +1 -1
  187. package/dist/server/components.mjs +10183 -9621
  188. package/dist/server/config-validation.mjs +4871 -4686
  189. package/dist/server/config.mjs +4871 -4686
  190. package/dist/server/data.mjs +4848 -4663
  191. package/dist/server/index.mjs +11 -4
  192. package/dist/server/next/revalidate.mjs +31 -1
  193. package/dist/server/next.mjs +9894 -9322
  194. package/dist/server/page-converter.mjs +4758 -4573
  195. package/dist/server/prebuild.mjs +1 -1
  196. package/dist/server/rendering/server.mjs +10099 -9619
  197. package/dist/server/rendering.mjs +10195 -9631
  198. package/dist/server/routing.mjs +4985 -4701
  199. package/dist/server/server.mjs +4823 -4629
  200. package/dist/server/theme-bridge.mjs +360 -146
  201. package/dist/server/theme.mjs +94 -91
  202. package/dist/styles/index.css +143 -30
  203. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import React, { type ComponentProps, type ReactNode } from 'react';
2
2
  import { BlockApiProvider } from '../../../../blocks/src/client';
3
3
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
4
- import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
4
+ import type { CuratedPaletteId, PaletteOverrides } from '../../../../theme-core/src/palette/index';
5
5
  import type { FooterSelectionContext, FooterLookId, HeaderLayoutId, HeaderSelectionContext, HeaderLookId, HeaderStyleId, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
6
6
  import type { EntrySubrouteContextData, BookingOfferingPresetSummary, MediaAssetIndexItem, Theme } from '../../../../blocks/src/index';
7
7
  import type { ContentTypeSchema } from '../../../../content-model/src/index';
@@ -43,7 +43,8 @@ export type PreviewShellProps = {
43
43
  * and sparse overrides instead of falling back to the site style defaults.
44
44
  */
45
45
  themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
46
- themeSelectionPaletteVariantId?: PaletteVariantId | null;
46
+ runtimePaletteState?: import('../../../../theme-core/src/palette/index').RuntimePaletteState | null;
47
+ themeSelectionPaletteVariantId?: CuratedPaletteId | null;
47
48
  themeSelectionPaletteOverrides?: PaletteOverrides | null;
48
49
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
49
50
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
@@ -76,7 +77,7 @@ export type PreviewShellProps = {
76
77
  designEditorEligibility?: PreviewDesignEditorEligibility;
77
78
  baseFetch?: BaseFetch;
78
79
  };
79
- export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, baseFetch, }: PreviewShellProps): React.JSX.Element;
80
+ export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, supabaseUrl, themeRuntime, designEditorEligibility, baseFetch, }: PreviewShellProps): React.JSX.Element;
80
81
  export declare function defaultDesignEditorEligibility(input: Readonly<{
81
82
  pageId: string | null;
82
83
  entryData?: PreviewContentEntryData | null;
@@ -1,7 +1,7 @@
1
1
  import React, { type ReactNode } from "react";
2
2
  import { type EntrySubrouteContextData, type BookingOfferingPresetSummary, type MediaAssetIndexItem, type Theme } from "../../../../blocks/src/index";
3
3
  import type { ButtonPersonalityId } from "../../../../theme-core/src/buttons/index";
4
- import type { PaletteOverrides, PaletteVariantId } from "../../../../theme-core/src/palette/index";
4
+ import type { CuratedPaletteId, PaletteOverrides } from "../../../../theme-core/src/palette/index";
5
5
  import type { FooterSelectionContext, HeaderSelectionContext, FooterLookId, HeaderLayoutId, HeaderLookId, HeaderStyleId, TypographyPresetId } from "../../../../theme-core/src/site-styles/index";
6
6
  import type { ContentTypeSchema } from "../../../../content-model/src/index";
7
7
  import type { ApiClient } from "../../../../api/src/request";
@@ -29,7 +29,8 @@ export type PreviewShellLayoutProps = {
29
29
  themeSelectionVersion?: number | null;
30
30
  themeSelectionUpdatedAt?: string | null;
31
31
  themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
32
- themeSelectionPaletteVariantId?: PaletteVariantId | null;
32
+ runtimePaletteState?: import('../../../../theme-core/src/palette/index').RuntimePaletteState | null;
33
+ themeSelectionPaletteVariantId?: CuratedPaletteId | null;
33
34
  themeSelectionPaletteOverrides?: PaletteOverrides | null;
34
35
  themeSelectionHeaderLayoutId?: HeaderLayoutId | null;
35
36
  themeSelectionHeaderStyleId?: HeaderStyleId | null;
@@ -51,4 +52,4 @@ export type PreviewShellLayoutProps = {
51
52
  themeRuntime?: PreviewThemeRuntime;
52
53
  siteStyleAccess?: SiteStyleAccess;
53
54
  };
54
- export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, }: PreviewShellLayoutProps): React.JSX.Element;
55
+ export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, runtimePaletteState, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLayoutId, themeSelectionHeaderStyleId, themeSelectionTypographyPresetId, themeSelectionTypographyBodyFontOverride, themeSelectionTypographyHeadingFontOverride, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, bookingOfferingPresets, themeRuntime, siteStyleAccess, }: PreviewShellLayoutProps): React.JSX.Element;
@@ -2,8 +2,9 @@ import React, { type ReactNode } from 'react';
2
2
  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
- 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';
5
+ import type { RuntimePaletteState } from '../../../../theme-core/src/palette/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;
@@ -110,8 +118,7 @@ export type SiteChromeCustomizeProviderProps = Readonly<{
110
118
  selectionVersion?: number | null;
111
119
  selectionUpdatedAt?: string | null;
112
120
  buttonPersonalityId: ButtonPersonalityId | null;
113
- paletteVariantId: PaletteVariantId | null;
114
- paletteOverrides: PaletteOverrides | null;
121
+ runtimePaletteState?: RuntimePaletteState | null;
115
122
  headerLayoutId?: HeaderLayoutId | null;
116
123
  headerStyleId?: HeaderStyleId | null;
117
124
  typographyPresetId?: TypographyPresetId | null;
@@ -119,7 +126,7 @@ export type SiteChromeCustomizeProviderProps = Readonly<{
119
126
  typographyHeadingFontOverride?: string | null;
120
127
  headerLookId?: HeaderLookId | null;
121
128
  footerLookId?: FooterLookId | null;
122
- }>;
129
+ }> & Readonly<Record<string, unknown>>;
123
130
  headerSelectionContext?: Partial<HeaderSelectionContext>;
124
131
  footerSelectionContext?: Partial<FooterSelectionContext>;
125
132
  siteStyleAccess?: SiteStyleAccess;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  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
- import { type PaletteVariantId, type PaletteOverrides } from '../../../../theme-core/src/palette/index';
5
+ import { type CuratedPaletteId, type PaletteOverrides, type RuntimePaletteState } from '../../../../theme-core/src/palette/index';
6
6
  import { type FooterSelectionContext, type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderSelectionContext, type HeaderStyleId, type TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
7
7
  import { type VisibleSiteStyleAccess } from './siteStyleAccess';
8
8
  import type { PreviewDesignRow } from './sidebarTabPreference';
@@ -19,8 +19,9 @@ export type StyleConfiguratorProps = Readonly<{
19
19
  selectionVersion?: number | null;
20
20
  selectionUpdatedAt?: string | null;
21
21
  buttonPersonalityId: ButtonPersonalityId | null;
22
- paletteVariantId: PaletteVariantId | null;
23
- paletteOverrides: PaletteOverrides | null;
22
+ runtimePaletteState?: RuntimePaletteState | null;
23
+ paletteVariantId?: CuratedPaletteId | null;
24
+ paletteOverrides?: PaletteOverrides | null;
24
25
  headerLayoutId?: HeaderLayoutId | null;
25
26
  headerStyleId?: HeaderStyleId | null;
26
27
  typographyPresetId?: TypographyPresetId | null;
@@ -28,7 +29,7 @@ export type StyleConfiguratorProps = Readonly<{
28
29
  typographyHeadingFontOverride?: string | null;
29
30
  headerLookId?: HeaderLookId | null;
30
31
  footerLookId?: FooterLookId | null;
31
- }>;
32
+ }> & Readonly<Record<string, unknown>>;
32
33
  headerSelectionContext?: Partial<HeaderSelectionContext>;
33
34
  footerSelectionContext?: Partial<FooterSelectionContext>;
34
35
  expandedRowRequest?: Readonly<{
@@ -5,14 +5,14 @@
5
5
  * switch.
6
6
  *
7
7
  * The configurator surfaces three site-level decisions (site style, button
8
- * personality, palette variant) plus optional sparse palette overrides. The
8
+ * personality, palette state). The
9
9
  * "base" snapshot is what the server has persisted; "previewed" is what the
10
10
  * preview pane is currently rendering. They diverge while the user is
11
11
  * picking and converge on apply-success.
12
12
  */
13
13
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
14
14
  import type { Theme } from '../../../../blocks/src/index';
15
- import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
15
+ import type { CuratedPaletteId, PaletteColors, PaletteMode, RuntimePaletteState, SitePaletteId, SitePaletteVersion } from '../../../../theme-core/src/palette/index';
16
16
  import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderStyleId, type TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
17
17
  import type { SelectionFallbackWarning, SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
18
18
  import { type EditorStagedSessionCapabilities, type EditorStagedSessionState } from '../../../../content-editor/src/editorTransactionState';
@@ -33,11 +33,7 @@ export type StyleConfiguratorExpandedRow = 'style' | 'header-layout' | 'header-s
33
33
  * `compileSiteThemeFromSelections`) so the layers stay clean: warnings are
34
34
  * compiler-emitted, notices are UI-level decisions the configurator makes.
35
35
  */
36
- export type StyleConfiguratorNotice = Readonly<{
37
- kind: 'palette-overrides-hidden';
38
- }> | Readonly<{
39
- kind: 'palette-overrides-restored';
40
- }>;
36
+ export type StyleConfiguratorNotice = never;
41
37
  type ThemeTypography = Theme['typography'];
42
38
  type BodyTypography = ThemeTypography['body'];
43
39
  type HeadingTypography = ThemeTypography['headings']['default'];
@@ -65,6 +61,25 @@ export type TypographyDraftPatch = Readonly<{
65
61
  kind: 'scale';
66
62
  scale: ThemeTypography['scale'];
67
63
  }>;
64
+ export type PaletteSelectionSnapshot = Readonly<{
65
+ kind: 'migrated-curated';
66
+ paletteId: CuratedPaletteId;
67
+ colors: PaletteColors;
68
+ mode: PaletteMode;
69
+ }> | Readonly<{
70
+ kind: 'migrated-site';
71
+ paletteId: SitePaletteId;
72
+ colors: PaletteColors;
73
+ mode: PaletteMode;
74
+ version: SitePaletteVersion;
75
+ }> | Readonly<{
76
+ kind: 'legacy-unmigrated';
77
+ colors: PaletteColors;
78
+ mode: PaletteMode;
79
+ }> | Readonly<{
80
+ kind: 'invalid';
81
+ reason: string;
82
+ }>;
68
83
  export type SelectionSnapshot = Readonly<{
69
84
  siteStyleId: SiteStyleId;
70
85
  selectionVersion: number;
@@ -74,11 +89,9 @@ export type SelectionSnapshot = Readonly<{
74
89
  headerLookId: HeaderLookId | null;
75
90
  footerLookId: FooterLookId | null;
76
91
  buttonPersonalityId: ButtonPersonalityId;
77
- paletteVariantId: PaletteVariantId;
78
- paletteOverrides: PaletteOverrides | null;
92
+ palette: PaletteSelectionSnapshot;
79
93
  typographySelection: TypographySelectionSnapshot;
80
94
  }>;
81
- type PaletteOverrideDrafts = Readonly<Partial<Record<PaletteVariantId, PaletteOverrides>>>;
82
95
  type StyleConfiguratorTargetKey = 'design:site-style';
83
96
  export type StyleConfiguratorHistoryEntry = Readonly<{
84
97
  kind: 'site-style-design';
@@ -101,11 +114,22 @@ export type StyleConfiguratorState = Readonly<{
101
114
  saveStatus: StyleConfiguratorSaveStatus;
102
115
  warnings: ReadonlyArray<SelectionFallbackWarning>;
103
116
  notices: ReadonlyArray<StyleConfiguratorNotice>;
104
- paletteOverrideDrafts: PaletteOverrideDrafts;
117
+ paletteDrafts: Readonly<Partial<Record<CuratedPaletteId, Readonly<{
118
+ colors: PaletteColors;
119
+ mode: PaletteMode;
120
+ }>>>>;
105
121
  expandedRow: StyleConfiguratorExpandedRow;
106
122
  stagedSession: StyleConfiguratorStagedSession;
107
123
  }>;
124
+ export type PaletteMutationCapability = Readonly<{
125
+ kind: 'editable';
126
+ }> | Readonly<{
127
+ kind: 'blocked';
128
+ reason: 'invalid-palette';
129
+ message: string;
130
+ }>;
108
131
  export declare function createStyleConfiguratorState(base: SelectionSnapshot): StyleConfiguratorState;
132
+ export declare function paletteMutationCapability(state: StyleConfiguratorState): PaletteMutationCapability;
109
133
  export declare function openRow(state: StyleConfiguratorState, row: Exclude<StyleConfiguratorExpandedRow, null>): StyleConfiguratorState;
110
134
  /**
111
135
  * True iff the user has previewed a change that hasn't been applied yet.
@@ -124,8 +148,12 @@ export declare function previewTypographyPreset(state: StyleConfiguratorState, t
124
148
  export declare function setCustomTypography(state: StyleConfiguratorState, typography: ThemeTypography): StyleConfiguratorState;
125
149
  export declare function applyTypographyDraftPatch(state: StyleConfiguratorState, currentTypography: ThemeTypography, patch: TypographyDraftPatch): StyleConfiguratorState;
126
150
  export declare function resetTypographyToSaved(state: StyleConfiguratorState): StyleConfiguratorState;
127
- export declare function previewPaletteVariant(state: StyleConfiguratorState, paletteVariantId: PaletteVariantId): StyleConfiguratorState;
128
- export declare function setPaletteOverrides(state: StyleConfiguratorState, paletteOverrides: PaletteOverrides | null): StyleConfiguratorState;
151
+ export declare function previewCuratedPalette(state: StyleConfiguratorState, palette: Readonly<{
152
+ paletteId: CuratedPaletteId;
153
+ colors: PaletteColors;
154
+ mode: PaletteMode;
155
+ }>): StyleConfiguratorState;
156
+ export declare function setPaletteColors(state: StyleConfiguratorState, colors: PaletteColors): StyleConfiguratorState;
129
157
  /**
130
158
  * Records the post-compile resolved selection + any fallback warnings.
131
159
  * Used after `compileSiteThemeFromSelections` runs against a new site style:
@@ -133,12 +161,9 @@ export declare function setPaletteOverrides(state: StyleConfiguratorState, palet
133
161
  * previous selection is not offered for the new style, or a different palette
134
162
  * if the persisted palette ID is no longer known.
135
163
  *
136
- * Palette overrides are scoped by palette variant. If the resolver moves the
137
- * preview to a different palette, the current sparse overrides are stashed
138
- * under the previous palette ID and any draft for the new palette is restored.
139
164
  */
140
165
  export declare function applyResolvedSelections(state: StyleConfiguratorState, input: Readonly<{
141
- resolved: Pick<SelectionSnapshot, 'buttonPersonalityId' | 'paletteVariantId' | 'headerLayoutId' | 'headerStyleId' | 'headerLookId'> & TypographySelectionFlatFields;
166
+ resolved: Pick<SelectionSnapshot, 'buttonPersonalityId' | 'headerLayoutId' | 'headerStyleId' | 'headerLookId'> & TypographySelectionFlatFields;
142
167
  typographySelection?: TypographySelectionSnapshot;
143
168
  warnings: ReadonlyArray<SelectionFallbackWarning>;
144
169
  }>): StyleConfiguratorState;
@@ -165,5 +190,6 @@ export declare function typographySelectionSnapshotFromFlat(input: Readonly<{
165
190
  export declare function typographySelectionFlatFields(selection: TypographySelectionSnapshot): TypographySelectionFlatFields;
166
191
  export declare function customTypographyForSelection(selection: TypographySelectionSnapshot): ThemeTypography | null;
167
192
  export declare function typographySelectionsEqual(a: TypographySelectionSnapshot, b: TypographySelectionSnapshot): boolean;
168
- export declare function paletteOverridesEqual(a: PaletteOverrides | null, b: PaletteOverrides | null): boolean;
193
+ export declare function paletteSelectionSnapshotFromRuntime(runtime: RuntimePaletteState | null | undefined): PaletteSelectionSnapshot;
194
+ export declare function paletteSelectionSnapshotsEqual(left: PaletteSelectionSnapshot, right: PaletteSelectionSnapshot): boolean;
169
195
  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 {};
@@ -1,14 +1,13 @@
1
1
  import type { Theme } from '../../../../blocks/src/index';
2
2
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
3
- import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
3
+ import { type CuratedPaletteId } 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
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
+ import type { PaletteSelectionSnapshot, TypographySelectionSnapshot } from './StyleConfigurator.state';
7
7
  export type SiteStylePreviewSelection = Readonly<{
8
8
  siteStyleId: SiteStyleId;
9
9
  buttonPersonalityId: ButtonPersonalityId;
10
- paletteVariantId: PaletteVariantId;
11
- paletteOverrides: PaletteOverrides | null;
10
+ palette: PaletteSelectionSnapshot;
12
11
  typographySelection?: TypographySelectionSnapshot;
13
12
  headerLayoutId?: HeaderLayoutId | null;
14
13
  headerStyleId?: HeaderStyleId | null;
@@ -23,7 +22,7 @@ export type SiteStylePreviewPlan = Readonly<{
23
22
  themeOverlay: Theme;
24
23
  resolvedSelections: Readonly<{
25
24
  buttonPersonalityId: ButtonPersonalityId;
26
- paletteVariantId: PaletteVariantId;
25
+ paletteVariantId: CuratedPaletteId;
27
26
  typographySelection: CompiledTypographySelection['resolvedSelection'];
28
27
  typographyPresetId: TypographyPresetId | null;
29
28
  typographyBodyFontOverride: string | null;
@@ -1,9 +1,30 @@
1
1
  import type { APIEndpoints } from '../../../../api/src/index';
2
+ import { type PaletteCommand } from '../../../../theme-core/src/palette/index';
2
3
  import { type SelectionSnapshot } from './StyleConfigurator.state';
3
4
  export type ApplySiteStyleSelectionBody = NonNullable<APIEndpoints['applySiteStyleSelection']['body']>;
5
+ export type PaletteApplyCommandPlan = Readonly<{
6
+ ok: true;
7
+ command: PaletteCommand;
8
+ }> | Readonly<{
9
+ ok: false;
10
+ error: 'invalid-palette-state' | 'curated-palette-missing';
11
+ }>;
12
+ export declare function planPaletteApplyCommand(input: Readonly<{
13
+ base: SelectionSnapshot;
14
+ previewed: SelectionSnapshot;
15
+ }>): PaletteApplyCommandPlan;
16
+ export type ApplySiteStyleSelectionBodyBuildResult = Readonly<{
17
+ ok: true;
18
+ body: ApplySiteStyleSelectionBody;
19
+ }> | Readonly<{
20
+ ok: false;
21
+ error: Extract<PaletteApplyCommandPlan, {
22
+ ok: false;
23
+ }>['error'];
24
+ }>;
4
25
  export declare function buildApplySiteStyleSelectionBody(input: Readonly<{
5
26
  base: SelectionSnapshot;
6
27
  previewed: SelectionSnapshot;
7
28
  selectionId?: string | null;
8
- }>): ApplySiteStyleSelectionBody;
29
+ }>): ApplySiteStyleSelectionBodyBuildResult;
9
30
  export declare function selectionSnapshotFromApplySiteStyleSelectionResponse(saved: NonNullable<APIEndpoints['applySiteStyleSelection']['response']>, fallback: SelectionSnapshot): SelectionSnapshot;
@@ -1,16 +1,17 @@
1
1
  import type { Theme } from '../../../../blocks/src/index';
2
2
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
3
- import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
3
+ import { type CuratedPaletteId, type PaletteOverrides, type RuntimePaletteState } 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
5
  import type { SelectionSnapshot } from './StyleConfigurator.state';
6
- export declare function resolveStyleConfiguratorInitialSnapshot(input: Readonly<{
6
+ type StyleConfiguratorSnapshotInput = Readonly<{
7
7
  theme?: Theme | null;
8
8
  initialSelections: Readonly<{
9
9
  selectionVersion?: number | null;
10
10
  selectionUpdatedAt?: string | null;
11
11
  buttonPersonalityId: ButtonPersonalityId | null;
12
- paletteVariantId: PaletteVariantId | null;
13
- paletteOverrides: PaletteOverrides | null;
12
+ runtimePaletteState?: RuntimePaletteState | null;
13
+ paletteVariantId?: CuratedPaletteId | null;
14
+ paletteOverrides?: PaletteOverrides | null;
14
15
  headerLayoutId?: HeaderLayoutId | null;
15
16
  headerStyleId?: HeaderStyleId | null;
16
17
  typographyPresetId?: TypographyPresetId | null;
@@ -21,4 +22,11 @@ export declare function resolveStyleConfiguratorInitialSnapshot(input: Readonly<
21
22
  }>;
22
23
  headerSelectionContext?: Partial<HeaderSelectionContext>;
23
24
  footerSelectionContext?: Partial<FooterSelectionContext>;
25
+ }>;
26
+ export declare function resolveStyleConfiguratorInitialSnapshot(input: Readonly<{
27
+ theme?: Theme | null;
28
+ initialSelections: StyleConfiguratorSnapshotInput['initialSelections'];
29
+ headerSelectionContext?: Partial<HeaderSelectionContext>;
30
+ footerSelectionContext?: Partial<FooterSelectionContext>;
24
31
  }>): SelectionSnapshot | null;
32
+ export {};
@@ -9,6 +9,7 @@ import type { SdkEventPricing, SdkEventPricingInput, SdkEventTicketTypeInput } f
9
9
  import type { SdkEventPaymentTerms, SdkEventPaymentTermsInput } from '../../../../api/src/sdk-event-payment-terms';
10
10
  import type { SdkEventUpsertBody } from '../../../../api/src/sdk-event-upsert';
11
11
  import type { SdkManagementEventSeries } from '../../../../api/src/sdkContracts';
12
+ import type { PaletteSelection } from '../../../../theme-core/src/palette/index';
12
13
  import type { Theme } from '../../contracts';
13
14
  export interface ManagementClientConfig {
14
15
  /**
@@ -522,6 +523,8 @@ export interface ThemeStyleSelectionApplyResult {
522
523
  buttonPersonalityId: string;
523
524
  paletteVariantId: string;
524
525
  paletteOverrides: Record<string, string> | null;
526
+ activePaletteSelection: PaletteSelection;
527
+ activeSitePaletteVersion: number | null;
525
528
  headerLookId: string | null;
526
529
  headerLayoutId: string;
527
530
  headerStyleId: string;
@@ -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;
@@ -65,7 +65,6 @@ export type BlockIconValue = {
65
65
  kind: 'generated';
66
66
  setId: Brand<string, 'GeneratedIconSetId'>;
67
67
  assetId: Brand<string, 'GeneratedIconAssetId'>;
68
- semanticFallbackIconId: SemanticIconId;
69
68
  styleGuideVersionId: Brand<string, 'SiteIconStyleGuideVersionId'>;
70
69
  };
71
70
  export type FeatureCardIconTreatment = 'plain' | 'soft-badge' | 'utility-badge';