@riverbankcms/sdk 0.64.0 → 0.68.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 (126) hide show
  1. package/README.md +21 -11
  2. package/dist/_dts/api/src/aiPlayground.d.ts +75 -20
  3. package/dist/_dts/api/src/apiEndpointTypes.d.ts +12 -0
  4. package/dist/_dts/api/src/billing.d.ts +7 -40
  5. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -1
  6. package/dist/_dts/api/src/bookingOperations.d.ts +33 -2
  7. package/dist/_dts/api/src/endpoints.d.ts +32 -0
  8. package/dist/_dts/api/src/public/types.d.ts +1 -1
  9. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +0 -40
  10. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  11. package/dist/_dts/api/src/siteMembers.d.ts +1 -1
  12. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  13. package/dist/_dts/billing/src/components/index.d.ts +426 -0
  14. package/dist/_dts/billing/src/plans/types.d.ts +1 -1
  15. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -0
  16. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  17. package/dist/_dts/blocks/src/client.d.ts +6 -0
  18. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  19. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableDates.d.ts +1 -0
  20. package/dist/_dts/blocks/src/system/runtime/hooks/useAvailableSlots.d.ts +3 -1
  21. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +140 -0
  22. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +2 -0
  23. package/dist/_dts/blocks/src/system/runtime/hooks/useVisibleTabPolling.d.ts +10 -0
  24. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.default-ui.d.ts +8 -0
  25. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +484 -0
  26. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -2
  27. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +1 -0
  28. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  29. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +81 -0
  30. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +7 -3
  31. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  32. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -2
  33. package/dist/_dts/sdk/src/bookings/types.d.ts +2 -0
  34. package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +33 -0
  35. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +32 -0
  36. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +5 -1
  37. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +2 -1
  38. package/dist/_dts/sdk/src/cli/env.d.ts +2 -1
  39. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -1
  40. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +13 -0
  41. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +144 -0
  42. package/dist/_dts/sdk/src/cli/site-commands/commandRuntimeCompat.d.ts +21 -0
  43. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +27 -0
  44. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +56 -0
  45. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +29 -49
  46. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +56 -0
  47. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +53 -0
  48. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +6 -0
  49. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +53 -0
  50. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +79 -0
  51. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +19 -20
  52. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionPlan.d.ts +8 -0
  53. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +97 -0
  54. package/dist/_dts/sdk/src/cli/site-commands/residualSettingsTrimming.d.ts +15 -0
  55. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +10 -28
  56. package/dist/_dts/sdk/src/cli/sync/index.d.ts +2 -1
  57. package/dist/_dts/sdk/src/cli/sync/syncResultAggregation.d.ts +4 -0
  58. package/dist/_dts/sdk/src/config/dashboard-validation.d.ts +0 -48
  59. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  60. package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -0
  61. package/dist/_dts/sdk/src/theme-bridge/ThemeBridgeProvider.d.ts +4 -4
  62. package/dist/_dts/sdk/src/theme-bridge/generateCssVars.d.ts +4 -12
  63. package/dist/_dts/sdk/src/theme-bridge/index.d.ts +1 -1
  64. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +17 -9
  65. package/dist/_dts/sdk/src/version.d.ts +1 -1
  66. package/dist/_dts/site-commands/src/adapter.d.ts +2 -2
  67. package/dist/_dts/site-commands/src/commands.d.ts +637 -13
  68. package/dist/_dts/site-commands/src/domain.d.ts +3 -3
  69. package/dist/_dts/site-commands/src/exposure.d.ts +41 -0
  70. package/dist/_dts/site-commands/src/index.d.ts +2 -0
  71. package/dist/_dts/site-commands/src/metadata.d.ts +159 -3
  72. package/dist/_dts/site-commands/src/planner.d.ts +13 -6
  73. package/dist/_dts/site-commands/src/refContributions.d.ts +1 -0
  74. package/dist/_dts/site-commands/src/refs.d.ts +19 -1
  75. package/dist/_dts/{sdk/src/cli/merge-remote → site-commands/src}/stableJson.d.ts +2 -0
  76. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  77. package/dist/_dts/theme-core/src/index.d.ts +1 -1
  78. package/dist/_dts/theme-core/src/palette/utils/index.d.ts +1 -0
  79. package/dist/_dts/theme-core/src/palette/utils/onColor.d.ts +2 -0
  80. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +30 -23
  81. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +83 -0
  82. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  83. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +89 -12
  84. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  85. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  86. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +3 -2
  87. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -6
  88. package/dist/_dts/ui/src/callout.d.ts +1 -1
  89. package/dist/cli/index.mjs +4736 -2026
  90. package/dist/client/bookings.mjs +5107 -3348
  91. package/dist/client/client.mjs +4579 -3871
  92. package/dist/client/hooks.mjs +325 -123
  93. package/dist/client/rendering/client.mjs +4474 -3869
  94. package/dist/client/rendering/islands.mjs +4234 -3639
  95. package/dist/client/rendering.mjs +4508 -3798
  96. package/dist/preview-next/before-render.mjs +75 -13
  97. package/dist/preview-next/client/runtime.mjs +3700 -2644
  98. package/dist/preview-next/middleware.mjs +75 -13
  99. package/dist/server/components.mjs +698 -383
  100. package/dist/server/config-validation.mjs +327 -125
  101. package/dist/server/config.mjs +327 -125
  102. package/dist/server/data.mjs +325 -123
  103. package/dist/server/index.mjs +92 -16
  104. package/dist/server/next.mjs +692 -377
  105. package/dist/server/page-converter.mjs +159 -41
  106. package/dist/server/prebuild.mjs +1 -1
  107. package/dist/server/rendering/server.mjs +700 -383
  108. package/dist/server/rendering.mjs +700 -383
  109. package/dist/server/routing.mjs +406 -131
  110. package/dist/server/server.mjs +326 -124
  111. package/dist/server/theme-bridge.mjs +1226 -4697
  112. package/dist/styles/index.css +38 -38
  113. package/package.json +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/components/booking/DateTimeSelectionStep.d.ts +0 -18
  115. package/dist/_dts/blocks/src/system/runtime/components/booking/PaymentOptionSelectionStep.d.ts +0 -9
  116. package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceResourceSelector.d.ts +0 -44
  117. package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceResourceSelector.state.d.ts +0 -23
  118. package/dist/_dts/blocks/src/system/runtime/components/booking/ServiceSelectionStep.d.ts +0 -18
  119. package/dist/_dts/blocks/src/system/runtime/components/booking/slotDisplay.d.ts +0 -2
  120. package/dist/_dts/blocks/src/system/runtime/components/multi-step/MultiStepForm.d.ts +0 -21
  121. package/dist/_dts/blocks/src/system/runtime/components/multi-step/useMultiStep.d.ts +0 -15
  122. package/dist/_dts/blocks/src/system/runtime/components/multi-step/useMultiStep.state.d.ts +0 -51
  123. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSteps.d.ts +0 -22
  124. package/dist/_dts/path-utils/src/index.d.ts +0 -8
  125. package/dist/_dts/path-utils/src/redirectPaths.d.ts +0 -26
  126. package/dist/_dts/path-utils/src/safeAppPath.d.ts +0 -26
@@ -14,7 +14,7 @@ export { ThemeScopeCore, type ThemeScopeCoreProps } from "./ThemeScopeCore";
14
14
  export { type ThemeDataAttrs } from "./themeScopeUtils";
15
15
  export { getStandaloneHeaderShellClassName, planSiteTopShell, renderSiteTopChrome, type SiteChromeLayoutNodes, type SiteTopShellPlan, type SiteTopShellBehavior, } from "./siteChrome";
16
16
  export { buildThemeRuntime } from "./runtime/buildThemeRuntime";
17
- export { buildThemeRuntimeFromBridge, type ThemeBridgeConfigMinimal, } from "./runtime/buildThemeRuntimeFromBridge";
17
+ export { buildThemeBridgeRuntime, buildThemeRuntimeFromBridge, THEME_BRIDGE_SCOPE_ID, type ThemeBridgeRuntime, type ThemeBridgeConfigMinimal, } from "./runtime/buildThemeRuntimeFromBridge";
18
18
  export type { CornerStyle, ShadowSize, TextTransform, FontWeight, HoverTransform, HoverColor, GradientStyle, GradientSharpness, GradientDirection, ButtonVariant, ButtonSystem, } from "./buttons/types";
19
19
  export { mockThemes } from "./mock-themes/all";
20
20
  export { modernMinimalTheme } from "./mock-themes/modern-minimal";
@@ -6,3 +6,4 @@ export * from './suggestRecipes';
6
6
  export * from './generatePalette';
7
7
  export * from './textColor';
8
8
  export * from './legibility';
9
+ export * from './onColor';
@@ -0,0 +1,2 @@
1
+ export declare function onColorTokenName(backgroundToken: string): string;
2
+ export declare function isOnColorBackgroundCandidateToken(token: string): boolean;
@@ -1,15 +1,16 @@
1
1
  /**
2
2
  * Build Theme Runtime from ThemeBridge Config
3
3
  *
4
- * Converts a ThemeBridgeConfig (used by SDK sites) to ThemeCssVars
5
- * matching the canonical variable names used by the full theme system.
6
- * This enables ThemeBridgeProvider to use ThemeScopeCore for rendering.
4
+ * Converts the SDK ThemeBridge config into the same runtime buckets consumed by
5
+ * ThemeScopeCore. The bridge deliberately keeps component skins opt-in while
6
+ * always emitting the structural CSS contract system blocks rely on.
7
7
  */
8
8
  import type { ThemeCssVars } from './buildThemeRuntime';
9
+ export declare const THEME_BRIDGE_SCOPE_ID = "sdk";
9
10
  /**
10
- * ThemeBridgeConfig definition (subset needed for CSS var generation).
11
- * Full type is in @riverbankcms/sdk, but we define minimal interface here
12
- * to avoid circular dependency.
11
+ * ThemeBridgeConfig definition (subset needed for runtime generation).
12
+ * Full type is in @riverbankcms/sdk, but we define the compatible shape here
13
+ * to avoid a package cycle.
13
14
  */
14
15
  export interface ThemeBridgeConfigMinimal {
15
16
  tokens: Record<string, string>;
@@ -22,23 +23,29 @@ export interface ThemeBridgeConfigMinimal {
22
23
  spacing?: 'comfortable' | 'standard' | 'dense';
23
24
  corners?: 'square' | 'soft' | 'rounded' | 'pill';
24
25
  shadows?: 'none' | 'low' | 'medium' | 'high';
26
+ components?: {
27
+ buttons?: boolean | {
28
+ variants?: Array<'primary' | 'secondary' | 'outline' | 'ghost'>;
29
+ };
30
+ cards?: boolean | {
31
+ variants?: Array<'default' | 'elevated' | 'outlined'>;
32
+ };
33
+ inputs?: boolean;
34
+ };
35
+ overrides?: Record<string, string>;
25
36
  }
26
- /**
27
- * Normalize token value to CSS-ready format.
28
- * - Hex colors are converted to RGB channels
29
- * - CSS variable references are passed through
30
- * - Already-formatted RGB values are passed through
31
- */
37
+ export type ThemeBridgeRuntime = Readonly<{
38
+ themeId: typeof THEME_BRIDGE_SCOPE_ID;
39
+ cssVars: ThemeCssVars;
40
+ buttonCss?: string;
41
+ cardCss?: string;
42
+ inputCss?: string;
43
+ statusCss: string;
44
+ progressCss: string;
45
+ blockVarsCss: string;
46
+ customCss?: string;
47
+ }>;
48
+ export declare const BRIDGE_DEFAULT_TOKENS: Readonly<Record<string, string>>;
32
49
  export declare function normalizeTokenValue(value: string): string;
33
- /**
34
- * Build ThemeCssVars from a ThemeBridgeConfig.
35
- *
36
- * Produces CSS variables matching the canonical names used by buildThemeCssVars:
37
- * - Color tokens: `--tb-{name}` (e.g., --tb-primary, --tb-background)
38
- * - Typography: `--font-heading`, `--font-body`, etc.
39
- * - Font sizes: `--fs-h1`, `--fs-body`, etc.
40
- * - Spacing: `--space-mult`, `--rt-space-y`
41
- * - Shadows: `--shadow-elev`
42
- * - Motion: `--motion-duration`, `--motion-ease`
43
- */
44
50
  export declare function buildThemeRuntimeFromBridge(config: ThemeBridgeConfigMinimal): ThemeCssVars;
51
+ export declare function buildThemeBridgeRuntime(config: ThemeBridgeConfigMinimal): ThemeBridgeRuntime;
@@ -0,0 +1,83 @@
1
+ import type { ExpandedPalette } from '../palette/expandPalette';
2
+ import type { SiteStyleSurfaceIntent } from './types';
3
+ export type AccessibleColorSurfaceIntent = Exclude<SiteStyleSurfaceIntent, 'hero-image'>;
4
+ export type ContrastPolicy = 'body-aa' | 'large-text-aa' | 'decorative';
5
+ export type ForegroundRole = 'heading' | 'text' | 'supporting';
6
+ export type AccessibleSurfaceToken = string & {
7
+ readonly __brand: 'AccessibleSurfaceToken';
8
+ };
9
+ export type ForegroundFallbackReason = 'supporting-token-unsafe';
10
+ export type ResolvedForeground = Readonly<{
11
+ kind: 'safe-token';
12
+ role: ForegroundRole;
13
+ token: AccessibleSurfaceToken;
14
+ hex: string;
15
+ contrastRatio: number;
16
+ }> | Readonly<{
17
+ kind: 'fallback-to-text';
18
+ role: Extract<ForegroundRole, 'supporting'>;
19
+ token: AccessibleSurfaceToken;
20
+ hex: string;
21
+ contrastRatio: number;
22
+ reason: ForegroundFallbackReason;
23
+ }>;
24
+ export type RejectedBackgroundCandidate = Readonly<{
25
+ kind: 'background-candidate';
26
+ token: string;
27
+ reason: 'missing-token';
28
+ }>;
29
+ export type RejectedForegroundCandidate = Readonly<{
30
+ kind: 'foreground-candidate';
31
+ role: ForegroundRole;
32
+ token: string;
33
+ }> & (Readonly<{
34
+ reason: 'missing-token';
35
+ }> | Readonly<{
36
+ reason: 'contrast-too-low';
37
+ contrastRatio: number;
38
+ }>);
39
+ export type RejectedSurfaceCandidate = RejectedBackgroundCandidate | RejectedForegroundCandidate;
40
+ export type ResolvedAccessibleSurface = Readonly<{
41
+ kind: 'resolved-accessible-surface';
42
+ surface: AccessibleColorSurfaceIntent;
43
+ background: Readonly<{
44
+ token: AccessibleSurfaceToken;
45
+ hex: string;
46
+ inherited: boolean;
47
+ }>;
48
+ heading: Extract<ResolvedForeground, {
49
+ kind: 'safe-token';
50
+ }>;
51
+ text: Extract<ResolvedForeground, {
52
+ kind: 'safe-token';
53
+ }>;
54
+ supporting: ResolvedForeground;
55
+ rejectedCandidates: readonly RejectedSurfaceCandidate[];
56
+ }>;
57
+ export type AccessibleSurfaceResolutionFailure = Readonly<{
58
+ kind: 'accessible-surface-resolution-failure';
59
+ surface: AccessibleColorSurfaceIntent;
60
+ reason: 'no-background-candidate' | 'no-safe-foreground-candidate';
61
+ rejectedCandidates: readonly RejectedSurfaceCandidate[];
62
+ }>;
63
+ export declare const contrastThresholdByPolicy: {
64
+ readonly 'body-aa': 4.5;
65
+ readonly 'large-text-aa': 3;
66
+ readonly decorative: 1;
67
+ };
68
+ export declare function toAccessibleColorSurfaceIntent(surface: SiteStyleSurfaceIntent): AccessibleColorSurfaceIntent | null;
69
+ export declare function resolveAccessibleSurface(input: Readonly<{
70
+ surface: AccessibleColorSurfaceIntent;
71
+ palette: ExpandedPalette;
72
+ policy?: ContrastPolicy;
73
+ }>): ResolvedAccessibleSurface | AccessibleSurfaceResolutionFailure;
74
+ export declare function resolveAccessibleSurfaceOrTerminalFallback(input: Readonly<{
75
+ surface: AccessibleColorSurfaceIntent;
76
+ palette: ExpandedPalette;
77
+ policy?: ContrastPolicy;
78
+ }>): ResolvedAccessibleSurface;
79
+ export declare function requireResolvedAccessibleSurface(input: Readonly<{
80
+ surface: AccessibleColorSurfaceIntent;
81
+ palette: ExpandedPalette;
82
+ policy?: ContrastPolicy;
83
+ }>): ResolvedAccessibleSurface;
@@ -1,6 +1,6 @@
1
1
  import type { BlockDesignMetadata } from './blockFlow';
2
2
  import { type PageDesignEditorIssue } from './pageDesignEditorModel';
3
- import type { CompiledBlockRuntimeFields } from './runtimeCompiler';
3
+ import type { CompiledBlockRuntimeFields, SurfaceResolutionContext } from './runtimeCompiler';
4
4
  import { type ContentTemplateBlockScope, type ContentTemplateDesignBlockId, type ContentTemplateDesignIntent } from './contentTemplateDesignIntent';
5
5
  import type { LayoutVariantKey } from './types';
6
6
  export type ContentTemplateRuntimeBlockInput = Readonly<{
@@ -23,4 +23,5 @@ export type CompiledContentTemplateRuntime = Readonly<{
23
23
  export declare function compileContentTemplateRuntimeFields(input: Readonly<{
24
24
  intent: ContentTemplateDesignIntent;
25
25
  blocks: readonly ContentTemplateRuntimeBlockInput[];
26
+ surfaceResolutionContext: SurfaceResolutionContext;
26
27
  }>): CompiledContentTemplateRuntime;
@@ -5,7 +5,7 @@ import { type HeaderLookId } from './headerLooks';
5
5
  import { type FooterLookId } from './footerLooks';
6
6
  import { type CuratedChoice } from './curatedChoices';
7
7
  import { type AppearancePresetId, type DesignSystemTemplate, type NonEmptyReadonlyArray, type SiteStyleId } from './types';
8
- 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", "site-style:south-west-twerk-school"];
8
+ 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:quiet-practice", "site-style:personal-retreat-journal", "site-style:tactile-workshop", "site-style:modern-wellness", "site-style:bold-launch", "site-style:south-west-twerk-school"];
9
9
  export type CuratedSiteStyleIdValue = typeof curatedSiteStyleIdValues[number];
10
10
  type CuratedSiteStyleHeroOverrides = Readonly<{
11
11
  typography?: NonNullable<NonNullable<Theme['hero']>['typography']>;
@@ -32,12 +32,31 @@ export type CuratedSiteStyleThemeOverrides = Readonly<{
32
32
  }>;
33
33
  export type ButtonPersonalityChoice = CuratedChoice<KnownButtonPersonalityId>;
34
34
  export type PaletteVariantChoice = CuratedChoice<KnownPaletteVariantId>;
35
+ export type CuratedSiteStyleSelectionKeywordRule = Readonly<{
36
+ kind: 'phrase';
37
+ value: string;
38
+ }> | Readonly<{
39
+ kind: 'word';
40
+ value: string;
41
+ }> | Readonly<{
42
+ kind: 'substring';
43
+ value: string;
44
+ }>;
45
+ export type CuratedSiteStyleCreatorSelection = Readonly<{
46
+ kind: 'site_creator_keyword_heuristic';
47
+ priority: number;
48
+ }> | Readonly<{
49
+ kind: 'primary_goal_support';
50
+ }> | Readonly<{
51
+ kind: 'explicit_only';
52
+ }>;
35
53
  export type CuratedSiteStyle = Readonly<{
36
54
  id: SiteStyleId;
37
55
  name: string;
38
56
  description: string;
39
57
  generationBrief: string;
40
- selectionKeywords: readonly string[];
58
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
59
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
41
60
  template: DesignSystemTemplate;
42
61
  themeOverrides?: CuratedSiteStyleThemeOverrides;
43
62
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -60,7 +79,56 @@ export declare const curatedSiteStyles: readonly [Readonly<{
60
79
  name: string;
61
80
  description: string;
62
81
  generationBrief: string;
63
- selectionKeywords: readonly string[];
82
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
83
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
84
+ template: DesignSystemTemplate;
85
+ themeOverrides?: CuratedSiteStyleThemeOverrides;
86
+ recommendedAppearancePresetIds: readonly AppearancePresetId[];
87
+ recommendedHeaderLookIds: readonly HeaderLookId[];
88
+ recommendedFooterLookIds: readonly FooterLookId[];
89
+ /** Authored picker choices. First item is the default/fallback. */
90
+ buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
91
+ /** Authored picker choices. First item is the default/fallback. */
92
+ paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
93
+ }>, Readonly<{
94
+ id: SiteStyleId;
95
+ name: string;
96
+ description: string;
97
+ generationBrief: string;
98
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
99
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
100
+ template: DesignSystemTemplate;
101
+ themeOverrides?: CuratedSiteStyleThemeOverrides;
102
+ recommendedAppearancePresetIds: readonly AppearancePresetId[];
103
+ recommendedHeaderLookIds: readonly HeaderLookId[];
104
+ recommendedFooterLookIds: readonly FooterLookId[];
105
+ /** Authored picker choices. First item is the default/fallback. */
106
+ buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
107
+ /** Authored picker choices. First item is the default/fallback. */
108
+ paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
109
+ }>, Readonly<{
110
+ id: SiteStyleId;
111
+ name: string;
112
+ description: string;
113
+ generationBrief: string;
114
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
115
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
116
+ template: DesignSystemTemplate;
117
+ themeOverrides?: CuratedSiteStyleThemeOverrides;
118
+ recommendedAppearancePresetIds: readonly AppearancePresetId[];
119
+ recommendedHeaderLookIds: readonly HeaderLookId[];
120
+ recommendedFooterLookIds: readonly FooterLookId[];
121
+ /** Authored picker choices. First item is the default/fallback. */
122
+ buttonPersonalityChoices: NonEmptyReadonlyArray<ButtonPersonalityChoice>;
123
+ /** Authored picker choices. First item is the default/fallback. */
124
+ paletteVariantChoices: NonEmptyReadonlyArray<PaletteVariantChoice>;
125
+ }>, Readonly<{
126
+ id: SiteStyleId;
127
+ name: string;
128
+ description: string;
129
+ generationBrief: string;
130
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
131
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
64
132
  template: DesignSystemTemplate;
65
133
  themeOverrides?: CuratedSiteStyleThemeOverrides;
66
134
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -75,7 +143,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
75
143
  name: string;
76
144
  description: string;
77
145
  generationBrief: string;
78
- selectionKeywords: readonly string[];
146
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
147
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
79
148
  template: DesignSystemTemplate;
80
149
  themeOverrides?: CuratedSiteStyleThemeOverrides;
81
150
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -90,7 +159,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
90
159
  name: string;
91
160
  description: string;
92
161
  generationBrief: string;
93
- selectionKeywords: readonly string[];
162
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
163
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
94
164
  template: DesignSystemTemplate;
95
165
  themeOverrides?: CuratedSiteStyleThemeOverrides;
96
166
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -105,7 +175,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
105
175
  name: string;
106
176
  description: string;
107
177
  generationBrief: string;
108
- selectionKeywords: readonly string[];
178
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
179
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
109
180
  template: DesignSystemTemplate;
110
181
  themeOverrides?: CuratedSiteStyleThemeOverrides;
111
182
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -120,7 +191,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
120
191
  name: string;
121
192
  description: string;
122
193
  generationBrief: string;
123
- selectionKeywords: readonly string[];
194
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
195
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
124
196
  template: DesignSystemTemplate;
125
197
  themeOverrides?: CuratedSiteStyleThemeOverrides;
126
198
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -135,7 +207,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
135
207
  name: string;
136
208
  description: string;
137
209
  generationBrief: string;
138
- selectionKeywords: readonly string[];
210
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
211
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
139
212
  template: DesignSystemTemplate;
140
213
  themeOverrides?: CuratedSiteStyleThemeOverrides;
141
214
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -150,7 +223,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
150
223
  name: string;
151
224
  description: string;
152
225
  generationBrief: string;
153
- selectionKeywords: readonly string[];
226
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
227
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
154
228
  template: DesignSystemTemplate;
155
229
  themeOverrides?: CuratedSiteStyleThemeOverrides;
156
230
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -165,7 +239,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
165
239
  name: string;
166
240
  description: string;
167
241
  generationBrief: string;
168
- selectionKeywords: readonly string[];
242
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
243
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
169
244
  template: DesignSystemTemplate;
170
245
  themeOverrides?: CuratedSiteStyleThemeOverrides;
171
246
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -180,7 +255,8 @@ export declare const curatedSiteStyles: readonly [Readonly<{
180
255
  name: string;
181
256
  description: string;
182
257
  generationBrief: string;
183
- selectionKeywords: readonly string[];
258
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
259
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
184
260
  template: DesignSystemTemplate;
185
261
  themeOverrides?: CuratedSiteStyleThemeOverrides;
186
262
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -196,7 +272,8 @@ export declare const curatedSiteStylesById: Map<SiteStyleId, Readonly<{
196
272
  name: string;
197
273
  description: string;
198
274
  generationBrief: string;
199
- selectionKeywords: readonly string[];
275
+ selectionKeywordRules: readonly CuratedSiteStyleSelectionKeywordRule[];
276
+ siteCreatorSelection: CuratedSiteStyleCreatorSelection;
200
277
  template: DesignSystemTemplate;
201
278
  themeOverrides?: CuratedSiteStyleThemeOverrides;
202
279
  recommendedAppearancePresetIds: readonly AppearancePresetId[];
@@ -24,10 +24,13 @@ export declare const generatedSiteStyleIdSchema: z.ZodPipe<z.ZodEnum<{
24
24
  "site-style:bright-community": "site-style:bright-community";
25
25
  "site-style:quiet-luxury": "site-style:quiet-luxury";
26
26
  "site-style:practical-services": "site-style:practical-services";
27
+ "site-style:quiet-practice": "site-style:quiet-practice";
28
+ "site-style:personal-retreat-journal": "site-style:personal-retreat-journal";
29
+ "site-style:tactile-workshop": "site-style:tactile-workshop";
27
30
  "site-style:modern-wellness": "site-style:modern-wellness";
28
31
  "site-style:bold-launch": "site-style:bold-launch";
29
32
  "site-style:south-west-twerk-school": "site-style:south-west-twerk-school";
30
- }>, z.ZodTransform<SiteStyleId, "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" | "site-style:south-west-twerk-school">>;
33
+ }>, z.ZodTransform<SiteStyleId, "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:quiet-practice" | "site-style:personal-retreat-journal" | "site-style:tactile-workshop" | "site-style:modern-wellness" | "site-style:bold-launch" | "site-style:south-west-twerk-school">>;
31
34
  export declare const generatedBlockDesignIntentSchema: z.ZodObject<{
32
35
  sectionSurface: z.ZodDiscriminatedUnion<[z.ZodObject<{
33
36
  source: z.ZodLiteral<"generated">;
@@ -163,10 +166,13 @@ export declare const generatedPageDesignIntentSchema: z.ZodObject<{
163
166
  "site-style:bright-community": "site-style:bright-community";
164
167
  "site-style:quiet-luxury": "site-style:quiet-luxury";
165
168
  "site-style:practical-services": "site-style:practical-services";
169
+ "site-style:quiet-practice": "site-style:quiet-practice";
170
+ "site-style:personal-retreat-journal": "site-style:personal-retreat-journal";
171
+ "site-style:tactile-workshop": "site-style:tactile-workshop";
166
172
  "site-style:modern-wellness": "site-style:modern-wellness";
167
173
  "site-style:bold-launch": "site-style:bold-launch";
168
174
  "site-style:south-west-twerk-school": "site-style:south-west-twerk-school";
169
- }>, z.ZodTransform<SiteStyleId, "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" | "site-style:south-west-twerk-school">>;
175
+ }>, z.ZodTransform<SiteStyleId, "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:quiet-practice" | "site-style:personal-retreat-journal" | "site-style:tactile-workshop" | "site-style:modern-wellness" | "site-style:bold-launch" | "site-style:south-west-twerk-school">>;
170
176
  blocks: z.ZodArray<z.ZodObject<{
171
177
  blockId: z.ZodString;
172
178
  blockKind: z.ZodString;
@@ -1,3 +1,4 @@
1
+ export * from './accessibleSurfaces';
1
2
  export * from './appearancePresets';
2
3
  export * from './blockFlow';
3
4
  export * from './compositionBudget';
@@ -5,7 +5,7 @@ import { type PaletteOverrides, type PaletteVariantId } from '../palette/variant
5
5
  import { type CuratedSiteStyle } from './curatedSiteStyles';
6
6
  import { type FooterLookId, type FooterSelectionContext, type FooterSelectionResult } from './footerLooks';
7
7
  import { type HeaderSelectionContext, type HeaderLookId, type HeaderSelectionResult } from './headerLooks';
8
- import { type CompiledBlockRuntimeFields, type CompiledPageRuntime, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing } from './runtimeCompiler';
8
+ import { type CompiledBlockRuntimeFields, type CompiledPageRuntime, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, type SurfaceResolutionContext } from './runtimeCompiler';
9
9
  import type { AppearancePresetId, DesignBlockId, SiteStyleId } from './types';
10
10
  /**
11
11
  * Browser-safe public API for Theme V2 live preview compilation.
@@ -20,7 +20,7 @@ export { buildPageDesignEditorReadModel, boundaryOptions, pageFlowPresets, type
20
20
  export { autoDesignChoice, reducePageDesignIntentForUserAction, resolvePageDesignBlockLookChoice, resolvePageDesignBoundaryChoice, userPinnedDesignChoice, type PageDesignChoice, type PageDesignIntent, type PageDesignUserAction, } from './pageDesignIntent';
21
21
  export { repairDesignIssue, resolveBlockDesignPlan } from './resolver';
22
22
  export { cycleableOptionsFromResolved, deriveDesignCustomizationScope, recommendedDesignOption, type CycleableDesignOption, type CycleableOptions, type DesignCustomizationAuthority, type DesignCustomizationScope, type DesignCustomizationSurface, type DesignCustomizationUnsupportedReason, type DesignOptionIssue, type ResolvedDesignOption, } from './previewCustomization';
23
- export { compileBlockRuntimeFields, compilePageRuntimeFields, compileTokenRecipes, compiledRuntimeStyleFieldNames, defaultComponentRuntimeRules, defaultDesignRuntimeRules, stripCompiledRuntimeStyleFields, type CompiledBlockRuntime, type CompiledBlockRuntimeFields, type CompiledPageRuntime, type CompileBlockRuntimeInput, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, } from './runtimeCompiler';
23
+ export { compileBlockRuntimeFields, compilePageRuntimeFields, compileTokenRecipes, compiledRuntimeStyleFieldNames, defaultComponentRuntimeRules, defaultDesignRuntimeRules, surfaceResolutionContextFromPalette, surfaceResolutionContextFromTheme, stripCompiledRuntimeStyleFields, type CompiledBlockRuntime, type CompiledBlockRuntimeFields, type CompiledPageRuntime, type CompileBlockRuntimeInput, type ComponentRuntimeRules, type DesignRuntimeRules, type SemanticSpacing, type SurfaceResolutionContext, } from './runtimeCompiler';
24
24
  export { defaultCuratedChoice, requireEntriesForCuratedChoices, resolveCuratedChoice, type CuratedChoice, type CuratedChoiceResolution, } from './curatedChoices';
25
25
  export { curatedSiteStyles, defaultButtonPersonalityForSiteStyle, defaultPaletteVariantForSiteStyle, getCuratedSiteStyle, type CuratedSiteStyle, } from './curatedSiteStyles';
26
26
  export { asDesignBlockId, asSiteStyleId, makeBoundaryId, type AppearancePresetId, type BoundaryOptionId, type DesignBlockId, type DesignBoundaryId, type LayoutVariantKey, type NonEmptyReadonlyArray, type PageFlowPresetId, type ResolvedPageDesignPlan, type SiteStyleId, } from './types';
@@ -98,6 +98,7 @@ export type EditorModelRuntimeLookOverride<TBlockId extends DesignBlockId = Desi
98
98
  }>;
99
99
  export type CompileEditorModelRuntimeInput<TBlockId extends DesignBlockId = DesignBlockId> = Readonly<{
100
100
  editorModel: PageDesignEditorReadModel<TBlockId>;
101
+ surfaceResolutionContext: SurfaceResolutionContext;
101
102
  lookOverrides?: readonly EditorModelRuntimeLookOverride<TBlockId>[];
102
103
  designRules?: DesignRuntimeRules;
103
104
  componentRules?: ComponentRuntimeRules;
@@ -1,4 +1,5 @@
1
1
  import { type CardStylesOverride, type ContainerStylesOverride, type SectionStylesOverride, type Theme } from '../schema';
2
+ import { type ExpandedPalette } from '../palette/expandPalette';
2
3
  import { type ButtonPersonalityId } from '../buttons/personalities';
3
4
  import { type PaletteOverrides, type PaletteVariantId } from '../palette/variants';
4
5
  import { type RuntimeStyleWriteResultForFields, type StyleAuthority } from './designState';
@@ -33,8 +34,15 @@ export type CompiledBlockRuntime = Readonly<{
33
34
  sectionPaddingX: SectionPaddingX;
34
35
  fields: CompiledBlockRuntimeFields;
35
36
  }>;
37
+ export type SurfaceResolutionContext = Readonly<{
38
+ kind: 'concrete-palette';
39
+ palette: ExpandedPalette;
40
+ }>;
41
+ export declare function surfaceResolutionContextFromPalette(palette: ExpandedPalette): SurfaceResolutionContext;
42
+ export declare function surfaceResolutionContextFromTheme(theme: Pick<Theme, 'palette'>): SurfaceResolutionContext;
36
43
  export type CompileBlockRuntimeInput<TBlockId extends string, TPurpose extends string> = Readonly<{
37
44
  block: ResolvedBlockDesignPlan<TBlockId, TPurpose>;
45
+ surfaceResolutionContext: SurfaceResolutionContext;
38
46
  designRules?: DesignRuntimeRules;
39
47
  componentRules?: ComponentRuntimeRules;
40
48
  sectionSpacing?: SemanticSpacing;
@@ -62,24 +70,18 @@ export declare const defaultDesignRuntimeRules: {
62
70
  readonly background: {
63
71
  readonly type: "color";
64
72
  readonly color: "muted";
65
- readonly textColor: "text";
66
- readonly headingColor: "text";
67
73
  };
68
74
  };
69
75
  readonly 'accent-band': {
70
76
  readonly background: {
71
77
  readonly type: "color";
72
78
  readonly color: "primary";
73
- readonly textColor: "primaryForeground";
74
- readonly headingColor: "primaryForeground";
75
79
  };
76
80
  };
77
81
  readonly 'brand-depth-band': {
78
82
  readonly background: {
79
83
  readonly type: "color";
80
84
  readonly color: "primary-800";
81
- readonly textColor: "primaryForeground";
82
- readonly headingColor: "primaryForeground";
83
85
  };
84
86
  };
85
87
  readonly 'hero-image': {
@@ -212,6 +214,7 @@ export declare function compileBlockRuntimeFieldsIntoContent<TBlockId extends st
212
214
  /** Compiles a resolved page plan into legacy runtime fields for each resolved block. */
213
215
  export declare function compilePageRuntimeFields<TBlockId extends string, TPurpose extends string>(input: Readonly<{
214
216
  resolved: ResolvedPageDesignPlan<TBlockId, TPurpose>;
217
+ surfaceResolutionContext: SurfaceResolutionContext;
215
218
  designRules?: DesignRuntimeRules;
216
219
  componentRules?: ComponentRuntimeRules;
217
220
  sectionSpacing?: SemanticSpacing;
@@ -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?: "success" | "default" | "warning" | "danger" | "info" | 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> & {