@riverbankcms/sdk 0.76.0 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/{PreviewEditorSidebar-X2HWXFOL.mjs → PreviewEditorSidebar-XSX7QKHQ.mjs} +1019 -442
  2. package/dist/{PreviewEditorUI-AQXIXPOH.mjs → PreviewEditorUI-YZNEZ3QD.mjs} +2 -2
  3. package/dist/SdkPreviewModeRuntime-5FS5E6BI.mjs +8 -0
  4. package/dist/_dts/ai/src/contracts/proposals.d.ts +528 -20
  5. package/dist/_dts/api/src/contentRuntime.d.ts +5 -0
  6. package/dist/_dts/api/src/siteAssets.d.ts +1 -0
  7. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -2
  8. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +28 -0
  9. package/dist/_dts/block-form/src/client/index.d.ts +2 -2
  10. package/dist/_dts/block-form/src/index.d.ts +2 -1
  11. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +1 -1
  12. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +1 -1
  13. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +1 -1
  14. package/dist/_dts/blocks/src/PageRenderer.d.ts +10 -10
  15. package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
  16. package/dist/_dts/blocks/src/customBlockRegistry.d.ts +38 -0
  17. package/dist/_dts/blocks/src/index.d.ts +2 -0
  18. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +20 -2
  19. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -0
  20. package/dist/_dts/blocks/src/system/blocks/index.d.ts +2 -0
  21. package/dist/_dts/blocks/src/system/blocks/intro.d.ts +24 -0
  22. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -34
  23. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  24. package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +30 -0
  25. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -1
  26. package/dist/_dts/blocks/src/system/fields/ctas.d.ts +7 -0
  27. package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +11 -2
  28. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  29. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +2 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +2 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/accordionIconTreatment.d.ts +5 -0
  32. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -0
  33. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  34. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -0
  35. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +48 -0
  36. package/dist/_dts/content-editor/src/hooks/invalidBlockSelectors.d.ts +4 -0
  37. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +47 -0
  38. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  39. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +20 -0
  40. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  41. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -1
  42. package/dist/_dts/editor-blocks/src/block-editor/customBlockRegistry.d.ts +2 -0
  43. package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +9 -37
  44. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  45. package/dist/_dts/preview-next/src/client/index.d.ts +3 -0
  46. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +5 -1
  47. package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +20 -0
  48. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -2
  49. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -2
  50. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
  51. package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -0
  52. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +20 -3
  53. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +6 -1
  54. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -4
  55. package/dist/_dts/preview-next/src/client/preview/previewDesignCoordinator.d.ts +73 -0
  56. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +12 -4
  57. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +46 -0
  58. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +6 -1
  59. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +14 -0
  60. package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +1 -1
  61. package/dist/_dts/sdk/src/cli/commands/style.d.ts +8 -0
  62. package/dist/_dts/sdk/src/client/management/types.d.ts +6 -1
  63. package/dist/_dts/sdk/src/client/types.d.ts +9 -0
  64. package/dist/_dts/sdk/src/client.d.ts +1 -1
  65. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
  66. package/dist/_dts/sdk/src/index.d.ts +2 -1
  67. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -0
  68. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  69. package/dist/_dts/sdk/src/version.d.ts +1 -1
  70. package/dist/_dts/site-commands/src/commands.d.ts +15 -0
  71. package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +16 -0
  72. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  73. package/dist/_dts/theme-core/src/fonts/types.d.ts +1 -1
  74. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +45 -0
  75. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  76. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +16 -0
  77. package/dist/_dts/theme-core/src/schema.d.ts +280 -0
  78. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +81 -0
  79. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +6 -4
  80. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +81 -0
  81. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +118 -2
  82. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +13 -0
  83. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  84. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +364 -5
  85. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +6 -0
  86. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  87. package/dist/_dts/theme-core/src/site-styles/persistedIdParseResult.d.ts +9 -0
  88. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +20 -4
  89. package/dist/_dts/theme-core/src/site-styles/types.d.ts +74 -2
  90. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +189 -0
  91. package/dist/{chunk-Z7JLNTJR.mjs → chunk-6SMUFTXD.mjs} +2 -1
  92. package/dist/{chunk-V5VORNEJ.mjs → chunk-ANKDYZ2E.mjs} +1 -1
  93. package/dist/{chunk-Q4OLG66B.mjs → chunk-EAWHBECW.mjs} +476 -153
  94. package/dist/{chunk-TW2Y4RR5.mjs → chunk-GSQX43EZ.mjs} +383 -51
  95. package/dist/{chunk-LYI7TEMH.mjs → chunk-WLQBJN2Z.mjs} +3096 -354
  96. package/dist/cli/index.mjs +2023 -181
  97. package/dist/client/{accordion-2YHIBOZH.mjs → accordion-RZMQSYLR.mjs} +1 -1
  98. package/dist/client/{bookingForm-35IBDWAS.mjs → bookingForm-NF4ASVNV.mjs} +2 -2
  99. package/dist/client/bookings.mjs +92 -0
  100. package/dist/client/{carousel-K6XG7NZQ.mjs → carousel-LDX47ZIK.mjs} +1 -1
  101. package/dist/client/{cart-HCFYUTTU.mjs → cart-RGXDS5F4.mjs} +3 -3
  102. package/dist/client/{checkout-J3U4XR7K.mjs → checkout-P7WWSNNY.mjs} +3 -3
  103. package/dist/client/{chunk-BOIHIU7E.mjs → chunk-E2TDNXCL.mjs} +1 -1
  104. package/dist/client/{chunk-PFBX3IQL.mjs → chunk-GMVTOKYG.mjs} +2 -2
  105. package/dist/client/{chunk-FGUIVT2B.mjs → chunk-JNC7CGHX.mjs} +1 -1
  106. package/dist/client/{chunk-SNSWVZEP.mjs → chunk-L3DNHIJX.mjs} +3 -3
  107. package/dist/client/{chunk-7UOSCYY4.mjs → chunk-R56FQ3RR.mjs} +92 -0
  108. package/dist/client/{chunk-J227A3CQ.mjs → chunk-UFSWADAO.mjs} +1 -1
  109. package/dist/client/client.mjs +2134 -228
  110. package/dist/client/{courseRegistration-ZBXS7VGI.mjs → courseRegistration-7F65K5ZR.mjs} +2 -2
  111. package/dist/client/{eventCalendar-EQQZHJBA.mjs → eventCalendar-GLSC5KTL.mjs} +4 -4
  112. package/dist/client/{eventCombined-JCFTGBFQ.mjs → eventCombined-ZHK4WKUR.mjs} +4 -4
  113. package/dist/client/{eventDetails-HLUTQSYY.mjs → eventDetails-E3PJYBIN.mjs} +4 -4
  114. package/dist/client/{eventListing-FG4MICVB.mjs → eventListing-EMS3WC3E.mjs} +4 -4
  115. package/dist/client/{eventRegistration-GUEB7LBT.mjs → eventRegistration-NZOTVNPI.mjs} +4 -4
  116. package/dist/client/{form-YQEW4YIT.mjs → form-ETFZFATW.mjs} +1 -1
  117. package/dist/client/{headerSection-GTR3TTRM.mjs → headerSection-4LBP7ULT.mjs} +2 -2
  118. package/dist/client/hooks.mjs +1918 -293
  119. package/dist/client/{locationMap-SPC7VGUH.mjs → locationMap-5M655YSJ.mjs} +1 -1
  120. package/dist/client/{newsletterForm-4IW5BLID.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
  121. package/dist/client/{productDetail-KP5H2WJO.mjs → productDetail-O4DOCWQG.mjs} +3 -3
  122. package/dist/client/{productList-3M3M72XZ.mjs → productList-A5RO5WIS.mjs} +3 -3
  123. package/dist/client/rendering/client.mjs +198 -32
  124. package/dist/client/rendering/islands.mjs +18 -18
  125. package/dist/client/rendering.mjs +2095 -208
  126. package/dist/client/{shop-ACQKVGOM.mjs → shop-L4MZH4I2.mjs} +3 -3
  127. package/dist/preview-next/client/runtime.mjs +4 -4
  128. package/dist/{sdk-runtime-K7HNB4U2.mjs → sdk-runtime-Q6MTR4KL.mjs} +5 -5
  129. package/dist/server/components.mjs +2046 -204
  130. package/dist/server/config-validation.mjs +1921 -293
  131. package/dist/server/config.mjs +1921 -293
  132. package/dist/server/data.mjs +1918 -293
  133. package/dist/server/index.mjs +31 -2
  134. package/dist/server/next.mjs +2067 -206
  135. package/dist/server/page-converter.mjs +1894 -281
  136. package/dist/server/prebuild.mjs +1 -1
  137. package/dist/server/rendering/server.mjs +2046 -204
  138. package/dist/server/rendering.mjs +2046 -204
  139. package/dist/server/routing.mjs +1963 -275
  140. package/dist/server/server.mjs +1932 -288
  141. package/dist/server/theme-bridge.mjs +158 -1
  142. package/dist/server/theme.mjs +158 -1
  143. package/package.json +1 -1
  144. package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +0 -8
@@ -12,7 +12,7 @@
12
12
  */
13
13
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
14
14
  import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
15
- import type { FooterLookId, HeaderLookId } from '../../../../theme-core/src/site-styles/index';
15
+ import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderStyleId, type TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
16
16
  import type { SelectionFallbackWarning, SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
17
17
  export type StyleConfiguratorSaveStatus = Readonly<{
18
18
  kind: 'idle';
@@ -24,7 +24,7 @@ export type StyleConfiguratorSaveStatus = Readonly<{
24
24
  kind: 'failed';
25
25
  message: string;
26
26
  }>;
27
- export type StyleConfiguratorExpandedRow = 'style' | 'header' | 'footer' | 'buttons' | 'palette' | 'colours' | null;
27
+ export type StyleConfiguratorExpandedRow = 'style' | 'header-layout' | 'header-style' | 'footer' | 'buttons' | 'typography' | 'palette' | 'colours' | null;
28
28
  /**
29
29
  * Configurator-level notices that aren't compiler selection fallback warnings.
30
30
  * Kept separate from `SelectionFallbackWarning` (which comes from
@@ -40,11 +40,16 @@ export type SelectionSnapshot = Readonly<{
40
40
  siteStyleId: SiteStyleId;
41
41
  selectionVersion: number;
42
42
  selectionUpdatedAt?: string | null;
43
+ headerLayoutId: HeaderLayoutId;
44
+ headerStyleId: HeaderStyleId;
43
45
  headerLookId: HeaderLookId | null;
44
46
  footerLookId: FooterLookId | null;
45
47
  buttonPersonalityId: ButtonPersonalityId;
46
48
  paletteVariantId: PaletteVariantId;
47
49
  paletteOverrides: PaletteOverrides | null;
50
+ typographyPresetId: TypographyPresetId | null;
51
+ typographyBodyFontOverride: string | null;
52
+ typographyHeadingFontOverride: string | null;
48
53
  }>;
49
54
  type PaletteOverrideDrafts = Readonly<Partial<Record<PaletteVariantId, PaletteOverrides>>>;
50
55
  export type StyleConfiguratorState = Readonly<{
@@ -74,8 +79,13 @@ export declare function openRow(state: StyleConfiguratorState, row: Exclude<Styl
74
79
  export declare function isPreviewingChange(state: StyleConfiguratorState): boolean;
75
80
  export declare function previewSiteStyle(state: StyleConfiguratorState, siteStyleId: SiteStyleId): StyleConfiguratorState;
76
81
  export declare function previewButtonPersonality(state: StyleConfiguratorState, buttonPersonalityId: ButtonPersonalityId): StyleConfiguratorState;
77
- export declare function previewHeaderLook(state: StyleConfiguratorState, headerLookId: HeaderLookId | null): StyleConfiguratorState;
82
+ export declare function previewHeaderLayout(state: StyleConfiguratorState, headerLayoutId: HeaderLayoutId): StyleConfiguratorState;
83
+ export declare function previewHeaderStyle(state: StyleConfiguratorState, headerStyleId: HeaderStyleId): StyleConfiguratorState;
78
84
  export declare function previewFooterLook(state: StyleConfiguratorState, footerLookId: FooterLookId | null): StyleConfiguratorState;
85
+ export declare function previewTypographyPreset(state: StyleConfiguratorState, typographyPresetId: TypographyPresetId): StyleConfiguratorState;
86
+ export declare function setTypographyBodyFontOverride(state: StyleConfiguratorState, typographyBodyFontOverride: string | null): StyleConfiguratorState;
87
+ export declare function setTypographyHeadingFontOverride(state: StyleConfiguratorState, typographyHeadingFontOverride: string | null): StyleConfiguratorState;
88
+ export declare function clearTypographyFontOverrides(state: StyleConfiguratorState): StyleConfiguratorState;
79
89
  export declare function previewPaletteVariant(state: StyleConfiguratorState, paletteVariantId: PaletteVariantId): StyleConfiguratorState;
80
90
  export declare function setPaletteOverrides(state: StyleConfiguratorState, paletteOverrides: PaletteOverrides | null): StyleConfiguratorState;
81
91
  /**
@@ -89,7 +99,7 @@ export declare function setPaletteOverrides(state: StyleConfiguratorState, palet
89
99
  * under the previous palette ID and any draft for the new palette is restored.
90
100
  */
91
101
  export declare function applyResolvedSelections(state: StyleConfiguratorState, input: Readonly<{
92
- resolved: Pick<SelectionSnapshot, 'buttonPersonalityId' | 'paletteVariantId'>;
102
+ resolved: Pick<SelectionSnapshot, 'buttonPersonalityId' | 'paletteVariantId' | 'headerLayoutId' | 'headerStyleId' | 'headerLookId' | 'typographyPresetId' | 'typographyBodyFontOverride' | 'typographyHeadingFontOverride'>;
93
103
  warnings: ReadonlyArray<SelectionFallbackWarning>;
94
104
  }>): StyleConfiguratorState;
95
105
  export declare function cancelPreview(state: StyleConfiguratorState): StyleConfiguratorState;
@@ -0,0 +1,73 @@
1
+ import type { Theme } from '../../../../blocks/src/index';
2
+ import type { Rfc6902Op } from '../utils/rfc6902';
3
+ import type { PreviewThemeOverlaySource } from './themeOverlay';
4
+ export type PreviewDesignProducer = 'ai-designer' | 'style-configurator' | 'site-chrome';
5
+ export type PreviewDesignSurface = 'theme-json-patch' | 'site-style' | 'site-chrome';
6
+ type ActivePreviewDesignState = Readonly<{
7
+ kind: 'active';
8
+ owner: PreviewDesignProducer;
9
+ surface: PreviewDesignSurface;
10
+ apply: 'idle' | 'pending';
11
+ }>;
12
+ export type PreviewDesignState = Readonly<{
13
+ kind: 'idle';
14
+ }> | ActivePreviewDesignState;
15
+ export type PreviewDesignCommand = Readonly<{
16
+ kind: 'preview-theme-patch';
17
+ producer: PreviewDesignProducer;
18
+ ops: readonly Rfc6902Op[];
19
+ }> | Readonly<{
20
+ kind: 'preview-theme';
21
+ producer: PreviewDesignProducer;
22
+ theme: Theme;
23
+ sourcePlan: Exclude<PreviewDesignSurface, 'theme-json-patch'>;
24
+ }> | Readonly<{
25
+ kind: 'clear-preview';
26
+ producer: PreviewDesignProducer;
27
+ }> | Readonly<{
28
+ kind: 'base-theme-changed';
29
+ }> | Readonly<{
30
+ kind: 'apply-started';
31
+ producer: PreviewDesignProducer;
32
+ }> | Readonly<{
33
+ kind: 'apply-succeeded';
34
+ producer: PreviewDesignProducer;
35
+ }> | Readonly<{
36
+ kind: 'apply-failed';
37
+ producer: PreviewDesignProducer;
38
+ }>;
39
+ export type PreviewThemeOverlayEffect = Readonly<{
40
+ kind: 'none';
41
+ }> | Readonly<{
42
+ kind: 'clear';
43
+ }> | Readonly<{
44
+ kind: 'set-patch';
45
+ source: PreviewThemeOverlaySource;
46
+ ops: readonly Rfc6902Op[];
47
+ }> | Readonly<{
48
+ kind: 'set-theme';
49
+ source: PreviewThemeOverlaySource;
50
+ theme: Theme;
51
+ }>;
52
+ export type PreviewDesignIgnoredReason = 'no-active-preview' | 'producer-does-not-own-preview' | 'apply-event-for-displaced-preview';
53
+ export type PreviewDesignTransition = Readonly<{
54
+ kind: 'accepted';
55
+ state: PreviewDesignState;
56
+ effect: PreviewThemeOverlayEffect;
57
+ }> | Readonly<{
58
+ kind: 'ignored';
59
+ state: PreviewDesignState;
60
+ reason: PreviewDesignIgnoredReason;
61
+ }>;
62
+ export declare const NO_PREVIEW_DESIGN_STATE: PreviewDesignState;
63
+ /**
64
+ * Owns preview-design replacement semantics for all theme-like preview producers.
65
+ *
66
+ * Policy:
67
+ * - preview commands are deterministic last-writer-wins, including cross-producer replacement
68
+ * - clear/apply commands only affect the producer that still owns the active preview
69
+ * - stale apply results from displaced producers are ignored so they cannot clear a newer preview
70
+ * - base theme refresh is a coordinator-level command, not a producer clear
71
+ */
72
+ export declare function transitionPreviewDesignState(state: PreviewDesignState, command: PreviewDesignCommand): PreviewDesignTransition;
73
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { type CuratedSiteStyle } from '../../../../theme-core/src/site-styles/previewCompiler';
2
- import { type FooterLookId, type FooterSelectionContext, type HeaderLookId, type HeaderSelectionContext, type LookCustomizationWritePlan } from '../../../../theme-core/src/site-styles/index';
2
+ import { type FooterLookId, type FooterSelectionContext, type HeaderLayoutId, type HeaderLookId, type HeaderSelectionContext, type HeaderStyleId, type LookCustomizationWritePlan } from '../../../../theme-core/src/site-styles/index';
3
3
  import type { SelectionSnapshot, StyleConfiguratorState } from './StyleConfigurator.state';
4
4
  export type SiteChromeLookOption<TId extends string | null> = Readonly<{
5
5
  id: TId;
@@ -17,7 +17,14 @@ export type SiteChromeLookRowModel<TId extends string> = Readonly<{
17
17
  renderedLookId: TId;
18
18
  }>;
19
19
  export type SiteChromeLookModels = Readonly<{
20
- header: SiteChromeLookRowModel<HeaderLookId>;
20
+ headerLayout: Readonly<{
21
+ options: readonly SiteChromeLookOption<HeaderLayoutId>[];
22
+ renderedLayoutId: HeaderLayoutId;
23
+ }>;
24
+ headerStyle: Readonly<{
25
+ options: readonly SiteChromeLookOption<HeaderStyleId>[];
26
+ renderedStyleId: HeaderStyleId;
27
+ }>;
21
28
  footer: SiteChromeLookRowModel<FooterLookId>;
22
29
  }>;
23
30
  type SiteChromeLookModelInput = Readonly<{
@@ -31,7 +38,8 @@ export declare function cycleSiteChromeLookId<TId extends string>(options: reado
31
38
  export declare function cycleableSiteChromeOptions<TId extends string>(options: readonly SiteChromeLookOption<TId | null>[]): readonly SiteChromeLookOption<TId | null>[];
32
39
  export type SiteChromeLookSelectionCommand = Readonly<{
33
40
  surface: 'header';
34
- lookId: HeaderLookId | null;
41
+ layoutId: HeaderLayoutId;
42
+ styleId: HeaderStyleId;
35
43
  }> | Readonly<{
36
44
  surface: 'footer';
37
45
  lookId: FooterLookId | null;
@@ -39,7 +47,7 @@ export type SiteChromeLookSelectionCommand = Readonly<{
39
47
  export type SiteChromeLookSelectionPlan = Readonly<{
40
48
  kind: 'header';
41
49
  writePlan: LookCustomizationWritePlan<HeaderLookId>;
42
- next: Pick<SelectionSnapshot, 'headerLookId'>;
50
+ next: Pick<SelectionSnapshot, 'headerLayoutId' | 'headerStyleId' | 'headerLookId'>;
43
51
  }> | Readonly<{
44
52
  kind: 'footer';
45
53
  writePlan: LookCustomizationWritePlan<FooterLookId>;
@@ -0,0 +1,46 @@
1
+ import type { Theme } from '../../../../blocks/src/index';
2
+ import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
3
+ import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
4
+ import type { FooterLookId, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
5
+ import { type CuratedSiteStyle, type SelectionFallbackWarning, type SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
6
+ export type SiteStylePreviewSelection = Readonly<{
7
+ siteStyleId: SiteStyleId;
8
+ buttonPersonalityId: ButtonPersonalityId;
9
+ paletteVariantId: PaletteVariantId;
10
+ paletteOverrides: PaletteOverrides | null;
11
+ typographyPresetId?: TypographyPresetId | null;
12
+ typographyBodyFontOverride?: string | null;
13
+ typographyHeadingFontOverride?: string | null;
14
+ headerLayoutId?: HeaderLayoutId | null;
15
+ headerStyleId?: HeaderStyleId | null;
16
+ headerLookId: HeaderLookId | null;
17
+ footerLookId: FooterLookId | null;
18
+ }>;
19
+ export type SiteStyleChromePreviewSelection = Readonly<{
20
+ headerLookId: HeaderLookId | null;
21
+ footerLookId: FooterLookId | null;
22
+ }>;
23
+ export type SiteStylePreviewPlan = Readonly<{
24
+ themeOverlay: Theme;
25
+ resolvedSelections: Readonly<{
26
+ buttonPersonalityId: ButtonPersonalityId;
27
+ paletteVariantId: PaletteVariantId;
28
+ typographyPresetId: TypographyPresetId | null;
29
+ typographyBodyFontOverride: string | null;
30
+ typographyHeadingFontOverride: string | null;
31
+ headerLayoutId: HeaderLayoutId;
32
+ headerStyleId: HeaderStyleId;
33
+ headerLookId: HeaderLookId | null;
34
+ footerLookId: FooterLookId;
35
+ }>;
36
+ chromeSelection: SiteStyleChromePreviewSelection;
37
+ warnings: ReadonlyArray<SelectionFallbackWarning>;
38
+ }>;
39
+ export type SiteStylePreviewPlanInput = Readonly<{
40
+ siteStyle: CuratedSiteStyle;
41
+ selection: SiteStylePreviewSelection;
42
+ baseTheme?: Theme | null;
43
+ headerSelectionContext?: Partial<HeaderSelectionContext>;
44
+ footerSelectionContext?: Partial<FooterSelectionContext>;
45
+ }>;
46
+ export declare function planSiteStylePreviewChange(input: SiteStylePreviewPlanInput): SiteStylePreviewPlan;
@@ -1,7 +1,7 @@
1
1
  import type { Theme } from '../../../../blocks/src/index';
2
2
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
3
3
  import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
4
- import type { FooterLookId, FooterSelectionContext, HeaderLookId, HeaderSelectionContext } from '../../../../theme-core/src/site-styles/index';
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
6
  export declare function resolveStyleConfiguratorInitialSnapshot(input: Readonly<{
7
7
  theme?: Theme | null;
@@ -11,6 +11,11 @@ export declare function resolveStyleConfiguratorInitialSnapshot(input: Readonly<
11
11
  buttonPersonalityId: ButtonPersonalityId | null;
12
12
  paletteVariantId: PaletteVariantId | null;
13
13
  paletteOverrides: PaletteOverrides | null;
14
+ headerLayoutId?: HeaderLayoutId | null;
15
+ headerStyleId?: HeaderStyleId | null;
16
+ typographyPresetId?: TypographyPresetId | null;
17
+ typographyBodyFontOverride?: string | null;
18
+ typographyHeadingFontOverride?: string | null;
14
19
  headerLookId?: HeaderLookId | null;
15
20
  footerLookId?: FooterLookId | null;
16
21
  }>;
@@ -0,0 +1,14 @@
1
+ import type { Theme } from '../../../../blocks/src/index';
2
+ import type { TypographyPresetId, TypographySelection } from '../../../../theme-core/src/site-styles/previewCompiler';
3
+ type TypographySelectionSnapshot = Readonly<{
4
+ typographyPresetId?: TypographyPresetId | null;
5
+ typographyBodyFontOverride?: string | null;
6
+ typographyHeadingFontOverride?: string | null;
7
+ }>;
8
+ export declare function typographySelectionInputForSnapshot(snapshot: TypographySelectionSnapshot, theme: Theme | null | undefined): Readonly<{
9
+ typographySelection?: TypographySelection;
10
+ typographyPresetId?: TypographyPresetId | null;
11
+ typographyBodyFontOverride?: string | null;
12
+ typographyHeadingFontOverride?: string | null;
13
+ }>;
14
+ export {};
@@ -1,2 +1,2 @@
1
- import type { SdkPreviewModeProps } from "./SdkPreviewMode";
1
+ import type { SdkPreviewModeProps } from './SdkPreviewMode';
2
2
  export declare function SdkPreviewModeRuntime(props: SdkPreviewModeProps): import("react/jsx-runtime").JSX.Element;
@@ -13,7 +13,12 @@ export type StyleApplyOptions = Readonly<{
13
13
  buttonPersonalityId?: string;
14
14
  paletteVariantId?: string;
15
15
  paletteOverrides?: string;
16
+ typographyPresetId?: string;
17
+ typographyBodyFontOverride?: string;
18
+ typographyHeadingFontOverride?: string;
16
19
  headerLookId?: string;
20
+ headerLayoutId?: string;
21
+ headerStyleId?: string;
17
22
  footerLookId?: string;
18
23
  }>;
19
24
  export type StyleCatalogListOptions = Readonly<{
@@ -28,6 +33,9 @@ export type StyleCatalogListRow = Readonly<{
28
33
  name: string;
29
34
  palettes: readonly StyleCatalogChoice[];
30
35
  buttonPersonalities: readonly StyleCatalogChoice[];
36
+ typographyPresets: readonly StyleCatalogChoice[];
37
+ headerLayouts: readonly StyleCatalogChoice[];
38
+ headerStyles: readonly StyleCatalogChoice[];
31
39
  headerLooks: readonly StyleCatalogChoice[];
32
40
  footerLooks: readonly StyleCatalogChoice[];
33
41
  }>;
@@ -484,7 +484,12 @@ export interface ThemeStyleSelectionApplyResult {
484
484
  buttonPersonalityId: string;
485
485
  paletteVariantId: string;
486
486
  paletteOverrides: Record<string, string> | null;
487
- headerLookId: string;
487
+ headerLookId: string | null;
488
+ headerLayoutId: string;
489
+ headerStyleId: string;
490
+ typographyPresetId: string | null;
491
+ typographyBodyFontOverride: string | null;
492
+ typographyHeadingFontOverride: string | null;
488
493
  footerLookId: string;
489
494
  }
490
495
  /**
@@ -200,6 +200,9 @@ export type SdkAuthConfig = {
200
200
  type: 'bearer';
201
201
  token: string;
202
202
  };
203
+ export declare const SDK_CORRELATION_HEADER_NAMES: readonly ["x-request-id", "x-correlation-id", "x-riverbank-monitor-run-id"];
204
+ export type SdkCorrelationHeaderName = typeof SDK_CORRELATION_HEADER_NAMES[number];
205
+ export type SdkCorrelationHeaders = Readonly<Partial<Record<SdkCorrelationHeaderName, string>>>;
203
206
  /**
204
207
  * Configuration for creating a Riverbank CMS client
205
208
  */
@@ -236,6 +239,12 @@ export interface RiverbankClientConfig {
236
239
  * Base URL for the Riverbank CMS API (required; e.g. https://dashboard.example.com/api)
237
240
  */
238
241
  baseUrl: string;
242
+ /**
243
+ * Correlation headers to attach to every SDK API request.
244
+ *
245
+ * Per-request headers still win when an individual SDK method supplies `options.headers`.
246
+ */
247
+ defaultHeaders?: SdkCorrelationHeaders;
239
248
  /**
240
249
  * Cache configuration
241
250
  */
@@ -30,4 +30,4 @@ export { Page } from './rendering/components/Page';
30
30
  export type { PageProps } from './rendering/components/Page';
31
31
  export type { ContentEntryData } from './rendering/helpers/loadContent';
32
32
  export { createRiverbankClient } from './client/index';
33
- export type { RiverbankClient, RiverbankClientConfig } from './client/types';
33
+ export type { RiverbankClient, RiverbankClientConfig, SdkCorrelationHeaderName, SdkCorrelationHeaders, } from './client/types';
@@ -10,6 +10,7 @@ type UnknownRecord = Record<string, unknown>;
10
10
  type ImageMedia = Omit<Media, 'type'> & {
11
11
  type: 'image';
12
12
  };
13
+ type StandardAspectRatio = 'auto' | '16/9' | '4/3' | '1/1' | '3/4';
13
14
  export type SemanticSpacing = 'none' | 'compact' | 'cozy' | 'medium' | 'comfortable' | 'spacious';
14
15
  export type ImageColSize = '1/4' | '1/3' | '2/5' | '1/2' | '2/3';
15
16
  export type SectionStylesContent = {
@@ -94,6 +95,24 @@ export type BodyTextContent = {
94
95
  body: TipTapNode;
95
96
  alignment?: BodyTextAlignment | null;
96
97
  };
98
+ export type BlockCtaContent = {
99
+ label?: string | null;
100
+ href?: string | null;
101
+ link?: unknown;
102
+ variant?: string | null;
103
+ size?: string | null;
104
+ };
105
+ export type IntroContent = {
106
+ variant?: 'centered-copy' | 'statement-copy' | 'statement-media' | 'media-copy' | null;
107
+ title?: string | null;
108
+ body: TipTapNode;
109
+ media?: Media | null;
110
+ imagePosition?: 'left' | 'right' | null;
111
+ gap?: SemanticSpacing | null;
112
+ ratio?: ImageColSize | null;
113
+ aspectRatio?: StandardAspectRatio | null;
114
+ ctas?: BlockCtaContent[] | null;
115
+ };
97
116
  export type CollectionContent = {
98
117
  layout?: 'grid' | 'stack' | null;
99
118
  columns?: string | number | null;
@@ -293,6 +312,20 @@ export type FaqContent = {
293
312
  items?: FaqItem[] | null;
294
313
  _containerStyles?: ContainerStylesContent;
295
314
  };
315
+ export type FeatureCard = {
316
+ media?: Media | null;
317
+ aspectRatio?: StandardAspectRatio | null;
318
+ title: string;
319
+ body?: TipTapNode | null;
320
+ ctas?: BlockCtaContent[] | null;
321
+ };
322
+ export type FeatureCardsContent = {
323
+ variant?: 'cards' | null;
324
+ title?: string | null;
325
+ description?: TipTapNode | null;
326
+ columns?: '2' | '3' | '4' | null;
327
+ cards?: FeatureCard[] | null;
328
+ };
296
329
  export type HeroCta = {
297
330
  label: string;
298
331
  link: LinkValue;
@@ -582,8 +615,10 @@ export type GiftingContent = {
582
615
  };
583
616
  export type SystemBlockContentByFullKind = {
584
617
  'block.hero': HeroContent;
618
+ 'block.intro': IntroContent;
585
619
  'block.columns': ColumnsContent;
586
620
  'block.collection': CollectionContent;
621
+ 'block.feature-cards': FeatureCardsContent;
587
622
  'block.media-text': MediaTextContent;
588
623
  'block.cta-full': CtaFullContent;
589
624
  'block.single-button': SingleButtonContent;
@@ -18,7 +18,8 @@
18
18
  * @packageDocumentation
19
19
  */
20
20
  export { createRiverbankClient, RiverbankApiError } from './client/index';
21
- export type { RiverbankClient, RiverbankClientConfig, SdkAuthConfig, SiteResponse, PageResponse, EntriesResponse, EntriesResponseWithMeta, PaginationMeta, EntryResponse, ResilienceConfig, ResilienceStatus, ResilienceSource, CircuitState, RetryConfig, CircuitBreakerConfig, } from './client/types';
21
+ export { SDK_CORRELATION_HEADER_NAMES } from './client/types';
22
+ export type { RiverbankClient, RiverbankClientConfig, SdkCorrelationHeaderName, SdkCorrelationHeaders, SdkAuthConfig, SiteResponse, PageResponse, EntriesResponse, EntriesResponseWithMeta, PaginationMeta, EntryResponse, ResilienceConfig, ResilienceStatus, ResilienceSource, CircuitState, RetryConfig, CircuitBreakerConfig, } from './client/types';
22
23
  export { prebuildCache } from './prebuild/index';
23
24
  export type { PrebuildOptions, PrebuildResult, PrebuildProgress, PrebuildManifest, PrebuildContentType, } from './prebuild/types';
24
25
  export { PrebuildLoader, createPrebuildLoader, canUsePrebuild, } from './prebuild/loader';
@@ -307,6 +307,11 @@ export type SiteResponse = {
307
307
  selectionButtonPersonalityId?: string | null;
308
308
  selectionPaletteVariantId?: string | null;
309
309
  selectionPaletteOverrides?: Record<string, string> | null;
310
+ selectionHeaderLayoutId?: string | null;
311
+ selectionHeaderStyleId?: string | null;
312
+ selectionTypographyPresetId?: string | null;
313
+ selectionTypographyBodyFontOverride?: string | null;
314
+ selectionTypographyHeadingFontOverride?: string | null;
310
315
  selectionHeaderLookId?: string | null;
311
316
  selectionFooterLookId?: string | null;
312
317
  navigation: NavigationMenuWithItems[];
@@ -7,7 +7,7 @@
7
7
  * `@riverbankcms/blocks` (which is not a public dependency). This list is a
8
8
  * stable public contract; keep it in sync with the internal blocks runtime.
9
9
  */
10
- export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.columns", "block.collection", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.appointment-booking", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
10
+ export declare const SYSTEM_BLOCK_KINDS: readonly ["block.hero", "block.intro", "block.columns", "block.collection", "block.feature-cards", "block.media-text", "block.cta-full", "block.single-button", "block.body-text", "block.location-map", "block.faq", "block.testimonials", "block.team-members", "block.embed", "block.blog-post", "block.blog-listing", "block.site-header", "block.site-footer", "block.form", "block.appointment-booking", "block.event-registration", "block.event-details", "block.course-registration", "block.course-details", "block.event-spotlight", "block.event-listing", "block.event-calendar", "block.shop", "block.product-list", "block.product-detail", "block.cart", "block.checkout", "block.gifting", "block.newsletter-signup", "block.image-gallery", "block.video-grid", "block.audio-player", "block.file-download"];
11
11
  export type SystemBlockKind = (typeof SYSTEM_BLOCK_KINDS)[number];
12
12
  export type CustomBlockKind = `custom.${string}`;
13
13
  export type BlockKind = SystemBlockKind | CustomBlockKind;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.76.0";
11
+ export declare const SDK_VERSION = "0.77.0";
@@ -43,7 +43,12 @@ export declare const applySiteStyleSelectionCommandSchema: z.ZodObject<{
43
43
  buttonPersonalityId: z.ZodNullable<z.ZodString>;
44
44
  paletteVariantId: z.ZodNullable<z.ZodString>;
45
45
  paletteOverrides: z.ZodNullable<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodString>>>;
46
+ typographyPresetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
+ typographyBodyFontOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ typographyHeadingFontOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
49
  headerLookId: z.ZodNullable<z.ZodString>;
50
+ headerLayoutId: z.ZodString;
51
+ headerStyleId: z.ZodString;
47
52
  footerLookId: z.ZodNullable<z.ZodString>;
48
53
  baseSelectionVersion: z.ZodOptional<z.ZodNumber>;
49
54
  }, z.core.$strict>;
@@ -990,7 +995,12 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
990
995
  buttonPersonalityId: z.ZodNullable<z.ZodString>;
991
996
  paletteVariantId: z.ZodNullable<z.ZodString>;
992
997
  paletteOverrides: z.ZodNullable<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodString>>>;
998
+ typographyPresetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
999
+ typographyBodyFontOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1000
+ typographyHeadingFontOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
993
1001
  headerLookId: z.ZodNullable<z.ZodString>;
1002
+ headerLayoutId: z.ZodString;
1003
+ headerStyleId: z.ZodString;
994
1004
  footerLookId: z.ZodNullable<z.ZodString>;
995
1005
  baseSelectionVersion: z.ZodOptional<z.ZodNumber>;
996
1006
  }, z.core.$strict>;
@@ -1818,7 +1828,12 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1818
1828
  buttonPersonalityId: z.ZodNullable<z.ZodString>;
1819
1829
  paletteVariantId: z.ZodNullable<z.ZodString>;
1820
1830
  paletteOverrides: z.ZodNullable<z.ZodReadonly<z.ZodRecord<z.ZodString, z.ZodString>>>;
1831
+ typographyPresetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1832
+ typographyBodyFontOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1833
+ typographyHeadingFontOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1821
1834
  headerLookId: z.ZodNullable<z.ZodString>;
1835
+ headerLayoutId: z.ZodString;
1836
+ headerStyleId: z.ZodString;
1822
1837
  footerLookId: z.ZodNullable<z.ZodString>;
1823
1838
  baseSelectionVersion: z.ZodOptional<z.ZodNumber>;
1824
1839
  }, z.core.$strict>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Earth Pill - warm studio pills with compact, primary-coloured ghost CTAs.
3
+ * Built for grounded editorial wellness styles such as Soft Earth.
4
+ */
5
+ export declare const earthPill: Readonly<{
6
+ id: import("./types").ButtonPersonalityId<"earth-pill">;
7
+ name: string;
8
+ description: string;
9
+ tags: Readonly<Partial<Readonly<{
10
+ tone: import("../../../../blocks/src/index").StyleTone;
11
+ energy: import("../../../../blocks/src/index").StyleEnergy;
12
+ motion: import("../../../../blocks/src/index").StyleMotion;
13
+ era: import("../../../../blocks/src/index").StyleEra;
14
+ }>>>;
15
+ buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
16
+ }>;
@@ -20,6 +20,17 @@ export declare const buttonPersonalities: readonly [Readonly<{
20
20
  era: import("../../../../blocks/src/index").StyleEra;
21
21
  }>>>;
22
22
  buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
23
+ }>, Readonly<{
24
+ id: ButtonPersonalityId<"earth-pill">;
25
+ name: string;
26
+ description: string;
27
+ tags: Readonly<Partial<Readonly<{
28
+ tone: import("../../../../blocks/src/index").StyleTone;
29
+ energy: import("../../../../blocks/src/index").StyleEnergy;
30
+ motion: import("../../../../blocks/src/index").StyleMotion;
31
+ era: import("../../../../blocks/src/index").StyleEra;
32
+ }>>>;
33
+ buttonSystem: import("../../../../blocks/src/index").ButtonSystem;
23
34
  }>, Readonly<{
24
35
  id: ButtonPersonalityId<"confident-chip">;
25
36
  name: string;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Used by:
5
5
  * - packages/blocks: ThemeFontLoader
6
- * - apps/dashboard: Font settings, FontPicker
6
+ * - apps/dashboard: Font settings
7
7
  * - apps/frontend: Font loading
8
8
  */
9
9
  /**
@@ -799,6 +799,21 @@ export declare const mockThemes: {
799
799
  minHeight?: "none" | "hero" | "banner" | "immersive" | null | undefined;
800
800
  tileTreatment?: "default" | "quiet" | "brand-depth" | null | undefined;
801
801
  eyebrowTreatment?: "pill" | "plain" | "accent-pill" | "pill-bounce" | "accent-pill-bounce" | null | undefined;
802
+ headingDecoration?: {
803
+ family: "none";
804
+ placement: "none";
805
+ } | {
806
+ family: "organic-squiggle" | "short-center-rule";
807
+ placement: "after-heading" | "between-heading-and-body" | "under-centered-heading";
808
+ colorToken?: "text" | "primary" | "secondary" | "border" | "muted" | "accent" | undefined;
809
+ } | null | undefined;
810
+ headingDecorationOverride?: "off" | "site-default" | "on" | null | undefined;
811
+ accordionIconTreatment?: {
812
+ iconSet: "caret" | "chevron" | "plus" | "minimal-cross";
813
+ colorToken: "current" | "text" | "primary" | "secondary" | "muted" | "accent";
814
+ motion: "none" | "rotate" | "swap";
815
+ openColorToken?: "current" | "text" | "primary" | "secondary" | "muted" | "accent" | undefined;
816
+ } | null | undefined;
802
817
  } | null | undefined;
803
818
  containerStyles?: {
804
819
  background?: {
@@ -1770,6 +1785,21 @@ export declare const mockThemes: {
1770
1785
  minHeight?: "none" | "hero" | "banner" | "immersive" | null | undefined;
1771
1786
  tileTreatment?: "default" | "quiet" | "brand-depth" | null | undefined;
1772
1787
  eyebrowTreatment?: "pill" | "plain" | "accent-pill" | "pill-bounce" | "accent-pill-bounce" | null | undefined;
1788
+ headingDecoration?: {
1789
+ family: "none";
1790
+ placement: "none";
1791
+ } | {
1792
+ family: "organic-squiggle" | "short-center-rule";
1793
+ placement: "after-heading" | "between-heading-and-body" | "under-centered-heading";
1794
+ colorToken?: "text" | "primary" | "secondary" | "border" | "muted" | "accent" | undefined;
1795
+ } | null | undefined;
1796
+ headingDecorationOverride?: "off" | "site-default" | "on" | null | undefined;
1797
+ accordionIconTreatment?: {
1798
+ iconSet: "caret" | "chevron" | "plus" | "minimal-cross";
1799
+ colorToken: "current" | "text" | "primary" | "secondary" | "muted" | "accent";
1800
+ motion: "none" | "rotate" | "swap";
1801
+ openColorToken?: "current" | "text" | "primary" | "secondary" | "muted" | "accent" | undefined;
1802
+ } | null | undefined;
1773
1803
  } | null | undefined;
1774
1804
  containerStyles?: {
1775
1805
  background?: {
@@ -2741,6 +2771,21 @@ export declare const mockThemes: {
2741
2771
  minHeight?: "none" | "hero" | "banner" | "immersive" | null | undefined;
2742
2772
  tileTreatment?: "default" | "quiet" | "brand-depth" | null | undefined;
2743
2773
  eyebrowTreatment?: "pill" | "plain" | "accent-pill" | "pill-bounce" | "accent-pill-bounce" | null | undefined;
2774
+ headingDecoration?: {
2775
+ family: "none";
2776
+ placement: "none";
2777
+ } | {
2778
+ family: "organic-squiggle" | "short-center-rule";
2779
+ placement: "after-heading" | "between-heading-and-body" | "under-centered-heading";
2780
+ colorToken?: "text" | "primary" | "secondary" | "border" | "muted" | "accent" | undefined;
2781
+ } | null | undefined;
2782
+ headingDecorationOverride?: "off" | "site-default" | "on" | null | undefined;
2783
+ accordionIconTreatment?: {
2784
+ iconSet: "caret" | "chevron" | "plus" | "minimal-cross";
2785
+ colorToken: "current" | "text" | "primary" | "secondary" | "muted" | "accent";
2786
+ motion: "none" | "rotate" | "swap";
2787
+ openColorToken?: "current" | "text" | "primary" | "secondary" | "muted" | "accent" | undefined;
2788
+ } | null | undefined;
2744
2789
  } | null | undefined;
2745
2790
  containerStyles?: {
2746
2791
  background?: {
@@ -103,6 +103,21 @@ export declare const paletteVariants: readonly [Readonly<{
103
103
  name: import("../../../../blocks/src/index").PaletteTokenName;
104
104
  hex: string;
105
105
  }>[];
106
+ }>, Readonly<{
107
+ id: PaletteVariantId<"warm-neutral-soft-earth">;
108
+ name: string;
109
+ description: string;
110
+ tags: Readonly<Partial<Readonly<{
111
+ tone: import("../../../../blocks/src/index").StyleTone;
112
+ energy: import("../../../../blocks/src/index").StyleEnergy;
113
+ motion: import("../../../../blocks/src/index").StyleMotion;
114
+ era: import("../../../../blocks/src/index").StyleEra;
115
+ }>>>;
116
+ mode: "light" | "dark";
117
+ colors: readonly Readonly<{
118
+ name: import("../../../../blocks/src/index").PaletteTokenName;
119
+ hex: string;
120
+ }>[];
106
121
  }>, Readonly<{
107
122
  id: PaletteVariantId<"warm-neutral-forest">;
108
123
  name: string;