@riverbankcms/sdk 0.60.1 → 0.60.3

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 (83) hide show
  1. package/dist/_dts/api/src/bookingRecords.d.ts +7 -0
  2. package/dist/_dts/api/src/communications.d.ts +1 -0
  3. package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
  4. package/dist/_dts/api/src/endpoints.d.ts +17 -0
  5. package/dist/_dts/api/src/index.d.ts +1 -1
  6. package/dist/_dts/api/src/media.d.ts +1 -1
  7. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +45 -1
  8. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +24 -1
  9. package/dist/_dts/api/src/siteSettings.d.ts +7 -0
  10. package/dist/_dts/api/src/types.d.ts +1 -1
  11. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
  12. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
  13. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
  14. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
  15. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
  16. package/dist/_dts/core/src/business-address.d.ts +38 -0
  17. package/dist/_dts/core/src/index.d.ts +1 -0
  18. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +22 -0
  19. package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +44 -0
  20. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
  21. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  22. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
  23. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
  24. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +99 -0
  25. package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
  26. package/dist/_dts/sdk/src/version.d.ts +1 -1
  27. package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
  28. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
  29. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
  30. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  31. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +11 -0
  32. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +11 -0
  33. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +11 -0
  34. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +14 -0
  35. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +11 -0
  36. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +11 -0
  37. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +11 -0
  38. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
  39. package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
  40. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
  41. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
  42. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +28 -0
  43. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +28 -0
  44. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +17 -0
  45. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +28 -0
  46. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
  47. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +28 -0
  48. package/dist/_dts/theme-core/src/schema.d.ts +122 -10
  49. package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +109 -0
  50. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +193 -0
  51. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  52. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
  53. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +43 -2
  54. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
  55. package/dist/_dts/ui/src/badge.d.ts +1 -1
  56. package/dist/_dts/ui/src/callout.d.ts +1 -1
  57. package/dist/cli/index.mjs +1471 -263
  58. package/dist/client/bookings.mjs +294 -144
  59. package/dist/client/client.mjs +3483 -2219
  60. package/dist/client/hooks.mjs +2765 -1654
  61. package/dist/client/rendering/client.mjs +3251 -2134
  62. package/dist/client/rendering/islands.mjs +1842 -728
  63. package/dist/client/rendering.mjs +41242 -39978
  64. package/dist/preview-next/before-render.mjs +17 -0
  65. package/dist/preview-next/client/runtime.mjs +10110 -8271
  66. package/dist/preview-next/middleware.mjs +17 -0
  67. package/dist/server/components.mjs +3500 -2364
  68. package/dist/server/config-validation.mjs +2996 -1885
  69. package/dist/server/config.mjs +2996 -1885
  70. package/dist/server/data.mjs +2765 -1654
  71. package/dist/server/index.mjs +18 -1
  72. package/dist/server/next.mjs +3215 -2079
  73. package/dist/server/page-converter.mjs +2910 -1816
  74. package/dist/server/prebuild.mjs +1 -1
  75. package/dist/server/rendering/server.mjs +3500 -2364
  76. package/dist/server/rendering.mjs +3500 -2364
  77. package/dist/server/routing.mjs +2943 -1704
  78. package/dist/server/server.mjs +2766 -1655
  79. package/dist/server/theme-bridge.mjs +1435 -481
  80. package/dist/server/theme.mjs +1087 -492
  81. package/package.json +1 -1
  82. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
  83. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
@@ -1,3 +1,6 @@
1
+ import type { ButtonPersonalityId } from '../buttons/personalities';
2
+ import type { PaletteVariantId } from '../palette/variants';
3
+ import type { AcceptanceRegion } from './compatibility';
1
4
  import { type DesignSystemTemplate, type SiteStyleId } from './types';
2
5
  export declare const curatedSiteStyleIdValues: readonly ["site-style:calm-studio", "site-style:clear-professional", "site-style:warm-editorial", "site-style:bright-community", "site-style:quiet-luxury", "site-style:practical-services", "site-style:modern-wellness", "site-style:bold-launch"];
3
6
  export type CuratedSiteStyleIdValue = typeof curatedSiteStyleIdValues[number];
@@ -8,6 +11,25 @@ export type CuratedSiteStyle = Readonly<{
8
11
  generationBrief: string;
9
12
  selectionKeywords: readonly string[];
10
13
  template: DesignSystemTemplate;
14
+ /**
15
+ * Default button personality applied when the site is generated and no
16
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
17
+ */
18
+ defaultButtonPersonalityId: ButtonPersonalityId;
19
+ /**
20
+ * Acceptance region for button personalities. The Style configurator UI
21
+ * filters the personality picker against this region; if a persisted
22
+ * personality stops being compatible (e.g. after a site-style switch) the
23
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
24
+ */
25
+ acceptedButtons: AcceptanceRegion;
26
+ /**
27
+ * Default palette variant when generated with no explicit user selection.
28
+ * Must be compatible with `acceptedPalettes`.
29
+ */
30
+ defaultPaletteVariantId: PaletteVariantId;
31
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
32
+ acceptedPalettes: AcceptanceRegion;
11
33
  }>;
12
34
  /**
13
35
  * V1 generated site styles are curated product presets, not AI-authored design
@@ -21,6 +43,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
21
43
  generationBrief: string;
22
44
  selectionKeywords: readonly string[];
23
45
  template: DesignSystemTemplate;
46
+ /**
47
+ * Default button personality applied when the site is generated and no
48
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
49
+ */
50
+ defaultButtonPersonalityId: ButtonPersonalityId;
51
+ /**
52
+ * Acceptance region for button personalities. The Style configurator UI
53
+ * filters the personality picker against this region; if a persisted
54
+ * personality stops being compatible (e.g. after a site-style switch) the
55
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
56
+ */
57
+ acceptedButtons: AcceptanceRegion;
58
+ /**
59
+ * Default palette variant when generated with no explicit user selection.
60
+ * Must be compatible with `acceptedPalettes`.
61
+ */
62
+ defaultPaletteVariantId: PaletteVariantId;
63
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
64
+ acceptedPalettes: AcceptanceRegion;
24
65
  }>, Readonly<{
25
66
  id: SiteStyleId;
26
67
  name: string;
@@ -28,6 +69,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
28
69
  generationBrief: string;
29
70
  selectionKeywords: readonly string[];
30
71
  template: DesignSystemTemplate;
72
+ /**
73
+ * Default button personality applied when the site is generated and no
74
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
75
+ */
76
+ defaultButtonPersonalityId: ButtonPersonalityId;
77
+ /**
78
+ * Acceptance region for button personalities. The Style configurator UI
79
+ * filters the personality picker against this region; if a persisted
80
+ * personality stops being compatible (e.g. after a site-style switch) the
81
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
82
+ */
83
+ acceptedButtons: AcceptanceRegion;
84
+ /**
85
+ * Default palette variant when generated with no explicit user selection.
86
+ * Must be compatible with `acceptedPalettes`.
87
+ */
88
+ defaultPaletteVariantId: PaletteVariantId;
89
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
90
+ acceptedPalettes: AcceptanceRegion;
31
91
  }>, Readonly<{
32
92
  id: SiteStyleId;
33
93
  name: string;
@@ -35,6 +95,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
35
95
  generationBrief: string;
36
96
  selectionKeywords: readonly string[];
37
97
  template: DesignSystemTemplate;
98
+ /**
99
+ * Default button personality applied when the site is generated and no
100
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
101
+ */
102
+ defaultButtonPersonalityId: ButtonPersonalityId;
103
+ /**
104
+ * Acceptance region for button personalities. The Style configurator UI
105
+ * filters the personality picker against this region; if a persisted
106
+ * personality stops being compatible (e.g. after a site-style switch) the
107
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
108
+ */
109
+ acceptedButtons: AcceptanceRegion;
110
+ /**
111
+ * Default palette variant when generated with no explicit user selection.
112
+ * Must be compatible with `acceptedPalettes`.
113
+ */
114
+ defaultPaletteVariantId: PaletteVariantId;
115
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
116
+ acceptedPalettes: AcceptanceRegion;
38
117
  }>, Readonly<{
39
118
  id: SiteStyleId;
40
119
  name: string;
@@ -42,6 +121,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
42
121
  generationBrief: string;
43
122
  selectionKeywords: readonly string[];
44
123
  template: DesignSystemTemplate;
124
+ /**
125
+ * Default button personality applied when the site is generated and no
126
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
127
+ */
128
+ defaultButtonPersonalityId: ButtonPersonalityId;
129
+ /**
130
+ * Acceptance region for button personalities. The Style configurator UI
131
+ * filters the personality picker against this region; if a persisted
132
+ * personality stops being compatible (e.g. after a site-style switch) the
133
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
134
+ */
135
+ acceptedButtons: AcceptanceRegion;
136
+ /**
137
+ * Default palette variant when generated with no explicit user selection.
138
+ * Must be compatible with `acceptedPalettes`.
139
+ */
140
+ defaultPaletteVariantId: PaletteVariantId;
141
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
142
+ acceptedPalettes: AcceptanceRegion;
45
143
  }>, Readonly<{
46
144
  id: SiteStyleId;
47
145
  name: string;
@@ -49,6 +147,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
49
147
  generationBrief: string;
50
148
  selectionKeywords: readonly string[];
51
149
  template: DesignSystemTemplate;
150
+ /**
151
+ * Default button personality applied when the site is generated and no
152
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
153
+ */
154
+ defaultButtonPersonalityId: ButtonPersonalityId;
155
+ /**
156
+ * Acceptance region for button personalities. The Style configurator UI
157
+ * filters the personality picker against this region; if a persisted
158
+ * personality stops being compatible (e.g. after a site-style switch) the
159
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
160
+ */
161
+ acceptedButtons: AcceptanceRegion;
162
+ /**
163
+ * Default palette variant when generated with no explicit user selection.
164
+ * Must be compatible with `acceptedPalettes`.
165
+ */
166
+ defaultPaletteVariantId: PaletteVariantId;
167
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
168
+ acceptedPalettes: AcceptanceRegion;
52
169
  }>, Readonly<{
53
170
  id: SiteStyleId;
54
171
  name: string;
@@ -56,6 +173,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
56
173
  generationBrief: string;
57
174
  selectionKeywords: readonly string[];
58
175
  template: DesignSystemTemplate;
176
+ /**
177
+ * Default button personality applied when the site is generated and no
178
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
179
+ */
180
+ defaultButtonPersonalityId: ButtonPersonalityId;
181
+ /**
182
+ * Acceptance region for button personalities. The Style configurator UI
183
+ * filters the personality picker against this region; if a persisted
184
+ * personality stops being compatible (e.g. after a site-style switch) the
185
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
186
+ */
187
+ acceptedButtons: AcceptanceRegion;
188
+ /**
189
+ * Default palette variant when generated with no explicit user selection.
190
+ * Must be compatible with `acceptedPalettes`.
191
+ */
192
+ defaultPaletteVariantId: PaletteVariantId;
193
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
194
+ acceptedPalettes: AcceptanceRegion;
59
195
  }>, Readonly<{
60
196
  id: SiteStyleId;
61
197
  name: string;
@@ -63,6 +199,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
63
199
  generationBrief: string;
64
200
  selectionKeywords: readonly string[];
65
201
  template: DesignSystemTemplate;
202
+ /**
203
+ * Default button personality applied when the site is generated and no
204
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
205
+ */
206
+ defaultButtonPersonalityId: ButtonPersonalityId;
207
+ /**
208
+ * Acceptance region for button personalities. The Style configurator UI
209
+ * filters the personality picker against this region; if a persisted
210
+ * personality stops being compatible (e.g. after a site-style switch) the
211
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
212
+ */
213
+ acceptedButtons: AcceptanceRegion;
214
+ /**
215
+ * Default palette variant when generated with no explicit user selection.
216
+ * Must be compatible with `acceptedPalettes`.
217
+ */
218
+ defaultPaletteVariantId: PaletteVariantId;
219
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
220
+ acceptedPalettes: AcceptanceRegion;
66
221
  }>, Readonly<{
67
222
  id: SiteStyleId;
68
223
  name: string;
@@ -70,6 +225,25 @@ export declare const curatedSiteStyles: readonly [Readonly<{
70
225
  generationBrief: string;
71
226
  selectionKeywords: readonly string[];
72
227
  template: DesignSystemTemplate;
228
+ /**
229
+ * Default button personality applied when the site is generated and no
230
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
231
+ */
232
+ defaultButtonPersonalityId: ButtonPersonalityId;
233
+ /**
234
+ * Acceptance region for button personalities. The Style configurator UI
235
+ * filters the personality picker against this region; if a persisted
236
+ * personality stops being compatible (e.g. after a site-style switch) the
237
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
238
+ */
239
+ acceptedButtons: AcceptanceRegion;
240
+ /**
241
+ * Default palette variant when generated with no explicit user selection.
242
+ * Must be compatible with `acceptedPalettes`.
243
+ */
244
+ defaultPaletteVariantId: PaletteVariantId;
245
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
246
+ acceptedPalettes: AcceptanceRegion;
73
247
  }>];
74
248
  export declare const curatedSiteStylesById: Map<SiteStyleId, Readonly<{
75
249
  id: SiteStyleId;
@@ -78,5 +252,24 @@ export declare const curatedSiteStylesById: Map<SiteStyleId, Readonly<{
78
252
  generationBrief: string;
79
253
  selectionKeywords: readonly string[];
80
254
  template: DesignSystemTemplate;
255
+ /**
256
+ * Default button personality applied when the site is generated and no
257
+ * explicit user selection exists. Must be compatible with `acceptedButtons`.
258
+ */
259
+ defaultButtonPersonalityId: ButtonPersonalityId;
260
+ /**
261
+ * Acceptance region for button personalities. The Style configurator UI
262
+ * filters the personality picker against this region; if a persisted
263
+ * personality stops being compatible (e.g. after a site-style switch) the
264
+ * compiler auto-picks `defaultButtonPersonalityId` and emits a warning.
265
+ */
266
+ acceptedButtons: AcceptanceRegion;
267
+ /**
268
+ * Default palette variant when generated with no explicit user selection.
269
+ * Must be compatible with `acceptedPalettes`.
270
+ */
271
+ defaultPaletteVariantId: PaletteVariantId;
272
+ /** Acceptance region for palette variants — mirrors `acceptedButtons`. */
273
+ acceptedPalettes: AcceptanceRegion;
81
274
  }>>;
82
275
  export declare function getCuratedSiteStyle(id: SiteStyleId): CuratedSiteStyle | null;
@@ -1,5 +1,6 @@
1
1
  export * from './appearancePresets';
2
2
  export * from './blockFlow';
3
+ export * from './compatibility';
3
4
  export * from './compositionBudget';
4
5
  export * from './curatedSiteStyles';
5
6
  export * from './designState';
@@ -127,6 +127,10 @@ export declare const boundaryOptions: readonly [{
127
127
  readonly id: BoundaryOptionId;
128
128
  readonly label: "Soft";
129
129
  readonly transitionAfter: "soft-fade-short";
130
+ }, {
131
+ readonly id: BoundaryOptionId;
132
+ readonly label: "Wave";
133
+ readonly transitionAfter: "wave-edge";
130
134
  }, {
131
135
  readonly id: BoundaryOptionId;
132
136
  readonly label: "Spacious";
@@ -1,5 +1,7 @@
1
1
  import type { PageDesignEditorReadModel } from './pageDesignEditorModel';
2
2
  import type { Theme } from '../schema';
3
+ import { type ButtonPersonalityId } from '../buttons/personalities';
4
+ import { type PaletteOverrides, type PaletteVariantId } from '../palette/variants';
3
5
  import { type CuratedSiteStyle } from './curatedSiteStyles';
4
6
  import { type CompiledBlockRuntimeFields, type CompiledPageRuntime, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing } from './runtimeCompiler';
5
7
  import type { AppearancePresetId, DesignBlockId, SiteStyleId } from './types';
@@ -29,11 +31,50 @@ export type CuratedSiteStyleTheme = Theme & Readonly<{
29
31
  siteStyleId: SiteStyleId;
30
32
  }>;
31
33
  /**
32
- * Compiles a curated Site Style into a persisted Theme payload while keeping
33
- * the curated catalog metadata authoritative for name/description/rationale.
34
+ * Compiles a curated Site Style into a persisted Theme payload using the site
35
+ * style's defaults for the Style configurator selections. Thin wrapper around
36
+ * `compileSiteThemeFromSelections({…, null, null, null})` — kept for back-compat
37
+ * with callers that don't yet plumb user selections through.
38
+ *
39
+ * @deprecated Prefer `compileSiteThemeFromSelections` directly so resolved
40
+ * selection IDs and compatibility warnings are visible at the call site.
34
41
  */
35
42
  export declare function compileCuratedSiteStyleTheme(siteStyle: CuratedSiteStyle): CuratedSiteStyleTheme;
36
43
  export declare function compileCuratedSiteStyleThemeById(siteStyleId: SiteStyleId): CuratedSiteStyleTheme | null;
44
+ export type CompatibilityWarning = Readonly<{
45
+ kind: 'rejected-personality';
46
+ requested: ButtonPersonalityId;
47
+ fellBackTo: ButtonPersonalityId;
48
+ }> | Readonly<{
49
+ kind: 'rejected-palette';
50
+ requested: PaletteVariantId;
51
+ fellBackTo: PaletteVariantId;
52
+ }>;
53
+ export type SiteThemeSelectionsInput = Readonly<{
54
+ siteStyle: CuratedSiteStyle;
55
+ buttonPersonalityId: ButtonPersonalityId | null;
56
+ paletteVariantId: PaletteVariantId | null;
57
+ paletteOverrides: PaletteOverrides | null;
58
+ }>;
59
+ export type SiteThemeSelectionsResult = Readonly<{
60
+ theme: CuratedSiteStyleTheme;
61
+ resolvedSelections: Readonly<{
62
+ buttonPersonalityId: ButtonPersonalityId;
63
+ paletteVariantId: PaletteVariantId;
64
+ }>;
65
+ warnings: ReadonlyArray<CompatibilityWarning>;
66
+ }>;
67
+ /**
68
+ * High-level, site-style-aware compiler. Resolves the user's personality and
69
+ * palette selections against the site style's acceptance regions (auto-picking
70
+ * the site style's defaults when the request is incompatible or unknown),
71
+ * then delegates to `compileTokenRecipes` with the resolved IDs.
72
+ *
73
+ * Returns the resolved IDs so the caller can persist auto-pick decisions, plus
74
+ * any compatibility warnings the UI can surface as "we changed your selection"
75
+ * notices.
76
+ */
77
+ export declare function compileSiteThemeFromSelections(input: SiteThemeSelectionsInput): SiteThemeSelectionsResult;
37
78
  export declare function siteStyleIdFromTheme(theme: Pick<Theme, 'siteStyleId'> | null | undefined): SiteStyleId | null;
38
79
  export type EditorModelRuntimeLookOverride<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
39
80
  kind: 'pinned';
@@ -1,4 +1,6 @@
1
1
  import { type CardStylesOverride, type ContainerStylesOverride, type SectionStylesOverride, type Theme } from '../schema';
2
+ import { type ButtonPersonalityId } from '../buttons/personalities';
3
+ import { type PaletteOverrides, type PaletteVariantId } from '../palette/variants';
2
4
  import { type RuntimeStyleWriteResultForFields, type StyleAuthority } from './designState';
3
5
  import { type ContentFrameIntent, type FlushFrameTreatment, type PanelFrameTreatment, type ResolvedBlockDesignPlan, type ResolvedPageDesignPlan, type SiteStyleItemSurfaceIntent, type SiteStyleSectionTransitionIntent, type SiteStyleSurfaceIntent, type ThemeTokenRecipes } from './types';
4
6
  export type SemanticSpacing = 'none' | 'compact' | 'cozy' | 'medium' | 'comfortable' | 'spacious';
@@ -206,9 +208,29 @@ export declare function compilePageRuntimeFields<TBlockId extends string, TPurpo
206
208
  componentRules?: ComponentRuntimeRules;
207
209
  sectionSpacing?: SemanticSpacing;
208
210
  }>): CompiledPageRuntime<TBlockId>;
211
+ export type CompileTokenRecipesOptions = Readonly<{
212
+ /** Resolved button personality ID. When provided, emits `theme.buttons`. */
213
+ buttonPersonalityId?: ButtonPersonalityId;
214
+ /**
215
+ * Resolved palette variant ID. When provided, replaces the recipe-based
216
+ * palette lookup; the recipe family is still consulted for the rest of the
217
+ * theme (typography, spacing, etc.).
218
+ */
219
+ paletteVariantId?: PaletteVariantId;
220
+ /**
221
+ * Sparse per-token hex overrides applied on top of the palette variant.
222
+ * Tokens not in this map keep the variant's value.
223
+ */
224
+ paletteOverrides?: PaletteOverrides;
225
+ }>;
209
226
  /**
210
227
  * Compiles bounded token recipes to the current Theme schema. This is intentionally
211
228
  * pure and schema-validated so generated Theme V2 choices have a concrete legacy
212
229
  * Theme output before any persistence or Phase 5 integration consumes them.
230
+ *
231
+ * Optional `options` accept already-resolved button personality and palette
232
+ * variant IDs (typically supplied by `compileSiteThemeFromSelections`). When
233
+ * IDs are omitted, the function falls through to the legacy recipe-based
234
+ * palette lookup and leaves `theme.buttons` as the mock-theme default.
213
235
  */
214
- export declare function compileTokenRecipes(recipes: ThemeTokenRecipes): Theme;
236
+ export declare function compileTokenRecipes(recipes: ThemeTokenRecipes, options?: CompileTokenRecipesOptions): Theme;
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const badgeVariants: (props?: ({
4
- variant?: "secondary" | "outline" | "default" | "success" | "warning" | "destructive" | null | undefined;
4
+ variant?: "success" | "secondary" | "outline" | "default" | "warning" | "destructive" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const calloutVariants: (props?: ({
4
- tone?: "default" | "success" | "warning" | "info" | "danger" | null | undefined;
4
+ tone?: "success" | "default" | "warning" | "info" | "danger" | null | undefined;
5
5
  layout?: "inline" | "banner" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export type CalloutProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof calloutVariants> & {