@riverbankcms/sdk 0.60.0 → 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 (140) hide show
  1. package/README.md +20 -3
  2. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +1 -3
  3. package/dist/_dts/api/src/bookingRecords.d.ts +8 -0
  4. package/dist/_dts/api/src/communications.d.ts +1 -0
  5. package/dist/_dts/api/src/contentRuntime.d.ts +8 -0
  6. package/dist/_dts/api/src/endpoints.d.ts +18 -1
  7. package/dist/_dts/api/src/index.d.ts +1 -1
  8. package/dist/_dts/api/src/media.d.ts +1 -1
  9. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +45 -1
  10. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +24 -1
  11. package/dist/_dts/api/src/siteSettings.d.ts +7 -0
  12. package/dist/_dts/api/src/types.d.ts +1 -1
  13. package/dist/_dts/billing/src/plans/types.d.ts +27 -0
  14. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -0
  15. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -0
  16. package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +1 -0
  17. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +173 -2
  18. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -2
  19. package/dist/_dts/blocks/src/system/runtime/header/shared.d.ts +1 -0
  20. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.client.d.ts +1 -0
  21. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +2 -0
  22. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  23. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -1
  24. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  25. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -0
  26. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  27. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +16 -0
  28. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.server.d.ts +4 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.shared.d.ts +38 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/location-map.view.d.ts +2 -1
  32. package/dist/_dts/content-editor/src/index.d.ts +2 -2
  33. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +9 -0
  34. package/dist/_dts/content-editor/src/primitives/shared/index.d.ts +1 -0
  35. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -0
  36. package/dist/_dts/core/src/business-address.d.ts +38 -0
  37. package/dist/_dts/core/src/index.d.ts +1 -0
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +22 -0
  39. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  40. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +4 -0
  41. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +8 -5
  42. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +7 -5
  43. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -0
  44. package/dist/_dts/editor-blocks/src/block-editor/reorderControlMode.d.ts +3 -0
  45. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +4 -0
  46. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +14 -0
  47. package/dist/_dts/media-react/src/index.d.ts +1 -1
  48. package/dist/_dts/preview-next/src/client/blocks/runOptimisticCustomizeAction.d.ts +43 -20
  49. package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
  50. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +11 -28
  51. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -1
  52. package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +1 -1
  53. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
  54. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +6 -1
  55. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +20 -0
  56. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +99 -0
  57. package/dist/_dts/preview-next/src/client/preview/previewChromeSurface.d.ts +12 -0
  58. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +41 -0
  59. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +15 -0
  60. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +106 -0
  61. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +34 -0
  62. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +2 -1
  63. package/dist/_dts/preview-next/src/client/preview/useOnboardingConfirmationCheck.d.ts +4 -9
  64. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  65. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  66. package/dist/_dts/preview-next/src/onboarding-preview-planner.d.ts +89 -0
  67. package/dist/_dts/preview-next/src/route-contract.d.ts +37 -0
  68. package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
  69. package/dist/_dts/sdk/src/rendering/components/Block.d.ts +7 -76
  70. package/dist/_dts/sdk/src/rendering/components/Block.server.d.ts +9 -0
  71. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +78 -0
  72. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +5 -5
  73. package/dist/_dts/sdk/src/rendering/server.d.ts +2 -2
  74. package/dist/_dts/sdk/src/version.d.ts +1 -1
  75. package/dist/_dts/theme-core/src/buttons/constants.d.ts +9 -1
  76. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +16 -11
  77. package/dist/_dts/theme-core/src/buttons/generateDefaultButtonSystem.d.ts +9 -16
  78. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  79. package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +11 -0
  80. package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +11 -0
  81. package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +11 -0
  82. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +14 -0
  83. package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +11 -0
  84. package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +11 -0
  85. package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +11 -0
  86. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +268 -0
  87. package/dist/_dts/theme-core/src/buttons/types.d.ts +253 -72
  88. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  89. package/dist/_dts/theme-core/src/index.d.ts +17 -16
  90. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +69 -15
  91. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
  92. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +28 -0
  93. package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +28 -0
  94. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +17 -0
  95. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +28 -0
  96. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +154 -0
  97. package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +28 -0
  98. package/dist/_dts/theme-core/src/responsiveDisplay.d.ts +23 -0
  99. package/dist/_dts/theme-core/src/responsiveMode.d.ts +21 -0
  100. package/dist/_dts/theme-core/src/schema.d.ts +122 -10
  101. package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +109 -0
  102. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +193 -0
  103. package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
  104. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorErrors.d.ts +1 -0
  105. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -0
  106. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +43 -2
  107. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +23 -1
  108. package/dist/_dts/ui/src/badge.d.ts +1 -1
  109. package/dist/_dts/ui/src/callout.d.ts +1 -1
  110. package/dist/_dts/ui/src/command-multi-select.d.ts +2 -2
  111. package/dist/cli/index.mjs +1590 -302
  112. package/dist/client/bookings.mjs +321 -144
  113. package/dist/client/client.mjs +4371 -2715
  114. package/dist/client/hooks.mjs +2826 -1675
  115. package/dist/client/rendering/client.mjs +3570 -2262
  116. package/dist/client/rendering/islands.mjs +1948 -756
  117. package/dist/client/rendering.mjs +42015 -40278
  118. package/dist/preview-next/before-render.mjs +5542 -0
  119. package/dist/preview-next/client/runtime.mjs +103364 -99924
  120. package/dist/preview-next/constants.mjs +0 -2
  121. package/dist/preview-next/index.mjs +0 -2
  122. package/dist/preview-next/middleware.mjs +5552 -1
  123. package/dist/server/components.mjs +11234 -9740
  124. package/dist/server/config-validation.mjs +3057 -1906
  125. package/dist/server/config.mjs +3057 -1906
  126. package/dist/server/data.mjs +2826 -1675
  127. package/dist/server/index.mjs +19 -2
  128. package/dist/server/next.mjs +3997 -2507
  129. package/dist/server/page-converter.mjs +2970 -1836
  130. package/dist/server/prebuild.mjs +1 -1
  131. package/dist/server/rendering/server.mjs +5960 -3200
  132. package/dist/server/rendering.mjs +12734 -11162
  133. package/dist/server/routing.mjs +3045 -1743
  134. package/dist/server/server.mjs +2827 -1676
  135. package/dist/server/theme-bridge.mjs +2074 -839
  136. package/dist/server/theme.mjs +1087 -492
  137. package/dist/styles/index.css +343 -299
  138. package/package.json +1 -1
  139. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.d.ts +0 -11
  140. package/dist/_dts/preview-next/src/client/preview/PreviewSiteStyleSwitcher.state.d.ts +0 -43
@@ -3,19 +3,20 @@
3
3
  *
4
4
  * Re-exports commonly used theme utilities, types, and components.
5
5
  */
6
- export * from './schema';
7
- export * from './fonts';
8
- export { ThemeScope } from './ThemeScope';
9
- export { DEFAULT_THEME_RESPONSIVE_MODE, type ThemeResponsiveMode, } from './responsiveMode';
10
- export * from './responsive/breakpoints';
11
- export { ThemeFontLoader, ThemeFontLoaderFromTheme, getThemeFontLoadingOptions, type ThemeFontLoadingOptions, type ThemeFontLoaderFromThemeProps, } from './ThemeFontLoader';
12
- export { ThemeScopeCore, type ThemeScopeCoreProps } from './ThemeScopeCore';
13
- export { type ThemeDataAttrs } from './themeScopeUtils';
14
- export { buildThemeRuntime } from './runtime/buildThemeRuntime';
15
- export { buildThemeRuntimeFromBridge, type ThemeBridgeConfigMinimal, } from './runtime/buildThemeRuntimeFromBridge';
16
- export type { CornerStyle, ShadowSize, TextTransform, FontWeight, HoverTransform, HoverColor, GradientStyle, GradientSharpness, GradientDirection, ButtonVariant, ButtonSystem, } from './buttons/types';
17
- export { mockThemes } from './mock-themes/all';
18
- export { modernMinimalTheme } from './mock-themes/modern-minimal';
19
- export { classicProfessionalTheme } from './mock-themes/classic-professional';
20
- export { vibrantCreativeTheme } from './mock-themes/vibrant-creative';
21
- export * from './customCss';
6
+ export * from "./schema";
7
+ export * from "./fonts";
8
+ export { ThemeScope } from "./ThemeScope";
9
+ export { DEFAULT_THEME_RESPONSIVE_MODE, THEME_RESPONSIVE_CONTAINER_NAME, getResponsiveScopeSpec, type ResponsiveScopeSpec, type ThemeResponsiveMode, } from "./responsiveMode";
10
+ export { desktopOnlyDisplay, mobileOnlyDisplay, type ResponsiveDisplay, } from "./responsiveDisplay";
11
+ export * from "./responsive/breakpoints";
12
+ export { ThemeFontLoader, ThemeFontLoaderFromTheme, getThemeFontLoadingOptions, type ThemeFontLoadingOptions, type ThemeFontLoaderFromThemeProps, } from "./ThemeFontLoader";
13
+ export { ThemeScopeCore, type ThemeScopeCoreProps } from "./ThemeScopeCore";
14
+ export { type ThemeDataAttrs } from "./themeScopeUtils";
15
+ export { buildThemeRuntime } from "./runtime/buildThemeRuntime";
16
+ export { buildThemeRuntimeFromBridge, type ThemeBridgeConfigMinimal, } from "./runtime/buildThemeRuntimeFromBridge";
17
+ export type { CornerStyle, ShadowSize, TextTransform, FontWeight, HoverTransform, HoverColor, GradientStyle, GradientSharpness, GradientDirection, ButtonVariant, ButtonSystem, } from "./buttons/types";
18
+ export { mockThemes } from "./mock-themes/all";
19
+ export { modernMinimalTheme } from "./mock-themes/modern-minimal";
20
+ export { classicProfessionalTheme } from "./mock-themes/classic-professional";
21
+ export { vibrantCreativeTheme } from "./mock-themes/vibrant-creative";
22
+ export * from "./customCss";
@@ -512,6 +512,8 @@ export declare const mockThemes: {
512
512
  hoverColor: "none" | "token" | "darken" | "brighten" | "saturate";
513
513
  cornerRadius?: number | undefined;
514
514
  typography?: "body" | "heading" | undefined;
515
+ fontSize?: string | undefined;
516
+ letterSpacing?: "normal" | "loose" | "tight" | undefined;
515
517
  italic?: boolean | undefined;
516
518
  paddingPreset?: "compact" | "spacious" | "default" | undefined;
517
519
  hoverColorToken?: string | undefined;
@@ -535,7 +537,7 @@ export declare const mockThemes: {
535
537
  type: "transparent";
536
538
  };
537
539
  textColorToken: string;
538
- borderRadius: string;
540
+ borderRadius?: string | undefined;
539
541
  shadow?: {
540
542
  elevation: "medium" | "none" | "low" | "high";
541
543
  softness: "soft" | "crisp" | "hard" | null;
@@ -545,8 +547,6 @@ export declare const mockThemes: {
545
547
  widthClass: string;
546
548
  colorToken: string;
547
549
  } | undefined;
548
- padding?: string | undefined;
549
- fontSize?: string | undefined;
550
550
  hoverBackgroundToken?: string | undefined;
551
551
  effects?: {
552
552
  base?: {
@@ -566,6 +566,24 @@ export declare const mockThemes: {
566
566
  options?: Record<string, any> | undefined;
567
567
  }[] | undefined;
568
568
  } | undefined;
569
+ sizes?: {
570
+ sm?: {
571
+ padding: string;
572
+ fontSize?: string | undefined;
573
+ } | undefined;
574
+ md?: {
575
+ padding: string;
576
+ fontSize?: string | undefined;
577
+ } | undefined;
578
+ lg?: {
579
+ padding: string;
580
+ fontSize?: string | undefined;
581
+ } | undefined;
582
+ xl?: {
583
+ padding: string;
584
+ fontSize?: string | undefined;
585
+ } | undefined;
586
+ } | undefined;
569
587
  }[];
570
588
  sizes?: {
571
589
  sm: {
@@ -580,10 +598,10 @@ export declare const mockThemes: {
580
598
  padding: string;
581
599
  fontSize?: string | undefined;
582
600
  };
583
- xl?: {
601
+ xl: {
584
602
  padding: string;
585
603
  fontSize?: string | undefined;
586
- } | undefined;
604
+ };
587
605
  } | undefined;
588
606
  } | undefined;
589
607
  cards?: {
@@ -1451,6 +1469,8 @@ export declare const mockThemes: {
1451
1469
  hoverColor: "none" | "token" | "darken" | "brighten" | "saturate";
1452
1470
  cornerRadius?: number | undefined;
1453
1471
  typography?: "body" | "heading" | undefined;
1472
+ fontSize?: string | undefined;
1473
+ letterSpacing?: "normal" | "loose" | "tight" | undefined;
1454
1474
  italic?: boolean | undefined;
1455
1475
  paddingPreset?: "compact" | "spacious" | "default" | undefined;
1456
1476
  hoverColorToken?: string | undefined;
@@ -1474,7 +1494,7 @@ export declare const mockThemes: {
1474
1494
  type: "transparent";
1475
1495
  };
1476
1496
  textColorToken: string;
1477
- borderRadius: string;
1497
+ borderRadius?: string | undefined;
1478
1498
  shadow?: {
1479
1499
  elevation: "medium" | "none" | "low" | "high";
1480
1500
  softness: "soft" | "crisp" | "hard" | null;
@@ -1484,8 +1504,6 @@ export declare const mockThemes: {
1484
1504
  widthClass: string;
1485
1505
  colorToken: string;
1486
1506
  } | undefined;
1487
- padding?: string | undefined;
1488
- fontSize?: string | undefined;
1489
1507
  hoverBackgroundToken?: string | undefined;
1490
1508
  effects?: {
1491
1509
  base?: {
@@ -1505,6 +1523,24 @@ export declare const mockThemes: {
1505
1523
  options?: Record<string, any> | undefined;
1506
1524
  }[] | undefined;
1507
1525
  } | undefined;
1526
+ sizes?: {
1527
+ sm?: {
1528
+ padding: string;
1529
+ fontSize?: string | undefined;
1530
+ } | undefined;
1531
+ md?: {
1532
+ padding: string;
1533
+ fontSize?: string | undefined;
1534
+ } | undefined;
1535
+ lg?: {
1536
+ padding: string;
1537
+ fontSize?: string | undefined;
1538
+ } | undefined;
1539
+ xl?: {
1540
+ padding: string;
1541
+ fontSize?: string | undefined;
1542
+ } | undefined;
1543
+ } | undefined;
1508
1544
  }[];
1509
1545
  sizes?: {
1510
1546
  sm: {
@@ -1519,10 +1555,10 @@ export declare const mockThemes: {
1519
1555
  padding: string;
1520
1556
  fontSize?: string | undefined;
1521
1557
  };
1522
- xl?: {
1558
+ xl: {
1523
1559
  padding: string;
1524
1560
  fontSize?: string | undefined;
1525
- } | undefined;
1561
+ };
1526
1562
  } | undefined;
1527
1563
  } | undefined;
1528
1564
  cards?: {
@@ -2390,6 +2426,8 @@ export declare const mockThemes: {
2390
2426
  hoverColor: "none" | "token" | "darken" | "brighten" | "saturate";
2391
2427
  cornerRadius?: number | undefined;
2392
2428
  typography?: "body" | "heading" | undefined;
2429
+ fontSize?: string | undefined;
2430
+ letterSpacing?: "normal" | "loose" | "tight" | undefined;
2393
2431
  italic?: boolean | undefined;
2394
2432
  paddingPreset?: "compact" | "spacious" | "default" | undefined;
2395
2433
  hoverColorToken?: string | undefined;
@@ -2413,7 +2451,7 @@ export declare const mockThemes: {
2413
2451
  type: "transparent";
2414
2452
  };
2415
2453
  textColorToken: string;
2416
- borderRadius: string;
2454
+ borderRadius?: string | undefined;
2417
2455
  shadow?: {
2418
2456
  elevation: "medium" | "none" | "low" | "high";
2419
2457
  softness: "soft" | "crisp" | "hard" | null;
@@ -2423,8 +2461,6 @@ export declare const mockThemes: {
2423
2461
  widthClass: string;
2424
2462
  colorToken: string;
2425
2463
  } | undefined;
2426
- padding?: string | undefined;
2427
- fontSize?: string | undefined;
2428
2464
  hoverBackgroundToken?: string | undefined;
2429
2465
  effects?: {
2430
2466
  base?: {
@@ -2444,6 +2480,24 @@ export declare const mockThemes: {
2444
2480
  options?: Record<string, any> | undefined;
2445
2481
  }[] | undefined;
2446
2482
  } | undefined;
2483
+ sizes?: {
2484
+ sm?: {
2485
+ padding: string;
2486
+ fontSize?: string | undefined;
2487
+ } | undefined;
2488
+ md?: {
2489
+ padding: string;
2490
+ fontSize?: string | undefined;
2491
+ } | undefined;
2492
+ lg?: {
2493
+ padding: string;
2494
+ fontSize?: string | undefined;
2495
+ } | undefined;
2496
+ xl?: {
2497
+ padding: string;
2498
+ fontSize?: string | undefined;
2499
+ } | undefined;
2500
+ } | undefined;
2447
2501
  }[];
2448
2502
  sizes?: {
2449
2503
  sm: {
@@ -2458,10 +2512,10 @@ export declare const mockThemes: {
2458
2512
  padding: string;
2459
2513
  fontSize?: string | undefined;
2460
2514
  };
2461
- xl?: {
2515
+ xl: {
2462
2516
  padding: string;
2463
2517
  fontSize?: string | undefined;
2464
- } | undefined;
2518
+ };
2465
2519
  } | undefined;
2466
2520
  } | undefined;
2467
2521
  cards?: {
@@ -11,3 +11,4 @@ export * from "./extractPalette";
11
11
  export * from "./utils/fromVibrant";
12
12
  export * from "./utils/suggestRecipes";
13
13
  export * from "./recipes/allRecipes";
14
+ export * from "./variants";
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Brand-led family — confident, modern, contemporary brand voices. Pairs
3
+ * with Clear Professional, Bright Community, Practical Services site styles.
4
+ */
5
+ export declare const brandLedCool: Readonly<{
6
+ id: import("@riverbankcms/blocks").PaletteVariantId;
7
+ name: string;
8
+ description: string;
9
+ tags: import("../../site-styles").StyleTags;
10
+ mode: "light" | "dark";
11
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
12
+ }>;
13
+ export declare const brandLedWarm: Readonly<{
14
+ id: import("@riverbankcms/blocks").PaletteVariantId;
15
+ name: string;
16
+ description: string;
17
+ tags: import("../../site-styles").StyleTags;
18
+ mode: "light" | "dark";
19
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
20
+ }>;
21
+ export declare const brandLedJewel: Readonly<{
22
+ id: import("@riverbankcms/blocks").PaletteVariantId;
23
+ name: string;
24
+ description: string;
25
+ tags: import("../../site-styles").StyleTags;
26
+ mode: "light" | "dark";
27
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
28
+ }>;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * High-contrast family — editorial and minimal voices with high legibility.
3
+ * Pairs with Quiet Luxury, Bold Launch, Practical Services site styles.
4
+ */
5
+ export declare const highContrastInk: Readonly<{
6
+ id: import("@riverbankcms/blocks").PaletteVariantId;
7
+ name: string;
8
+ description: string;
9
+ tags: import("../../site-styles").StyleTags;
10
+ mode: "light" | "dark";
11
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
12
+ }>;
13
+ export declare const highContrastCharcoal: Readonly<{
14
+ id: import("@riverbankcms/blocks").PaletteVariantId;
15
+ name: string;
16
+ description: string;
17
+ tags: import("../../site-styles").StyleTags;
18
+ mode: "light" | "dark";
19
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
20
+ }>;
21
+ export declare const highContrastMonochrome: Readonly<{
22
+ id: import("@riverbankcms/blocks").PaletteVariantId;
23
+ name: string;
24
+ description: string;
25
+ tags: import("../../site-styles").StyleTags;
26
+ mode: "light" | "dark";
27
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
28
+ }>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Palette variant library.
3
+ *
4
+ * Each variant is a complete colour palette tagged on the four style axes
5
+ * (tone / energy / motion / era — motion is rarely used for palettes).
6
+ * Curated site styles declare a default palette + an acceptance region that
7
+ * filters the picker; the Style configurator UI uses `compatibleEntries`
8
+ * from `site-styles/compatibility.ts` to surface valid options.
9
+ *
10
+ * `paletteOverrides` carries per-token hex edits applied on top of the
11
+ * chosen variant; see the merge semantics in `compileSiteThemeFromSelections`.
12
+ */
13
+ import type { PaletteVariant, PaletteVariantId } from './types';
14
+ export type { HexColor, PaletteColor, PaletteOverrides, PaletteTokenName, PaletteVariant, PaletteVariantId } from './types';
15
+ export { PALETTE_TOKEN_NAMES, asPaletteVariantId, definePaletteVariant, hexColorSchema, paletteOverridesSchema, paletteTokenNameSchema, paletteVariantIdSchema, paletteVariantSchema, } from './types';
16
+ export declare const paletteVariants: readonly PaletteVariant[];
17
+ export declare function findPaletteVariant(id: PaletteVariantId): PaletteVariant | undefined;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Soft-natural family — calm, organic, plant-led voices. Pairs with Calm
3
+ * Studio, Modern Wellness, Warm Editorial site styles.
4
+ */
5
+ export declare const softNaturalSage: Readonly<{
6
+ id: import("@riverbankcms/blocks").PaletteVariantId;
7
+ name: string;
8
+ description: string;
9
+ tags: import("../../site-styles").StyleTags;
10
+ mode: "light" | "dark";
11
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
12
+ }>;
13
+ export declare const softNaturalStone: Readonly<{
14
+ id: import("@riverbankcms/blocks").PaletteVariantId;
15
+ name: string;
16
+ description: string;
17
+ tags: import("../../site-styles").StyleTags;
18
+ mode: "light" | "dark";
19
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
20
+ }>;
21
+ export declare const softNaturalWatercolor: Readonly<{
22
+ id: import("@riverbankcms/blocks").PaletteVariantId;
23
+ name: string;
24
+ description: string;
25
+ tags: import("../../site-styles").StyleTags;
26
+ mode: "light" | "dark";
27
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
28
+ }>;
@@ -0,0 +1,154 @@
1
+ import { z } from 'zod';
2
+ import { type StyleTags } from '../../site-styles/compatibility';
3
+ /**
4
+ * Branded ID for a palette variant in the curated library. Shape matches the
5
+ * `Brand<T, TBrand>` convention in `site-styles/types.ts`. Use the helper at
6
+ * the parse/construction boundary.
7
+ */
8
+ export type PaletteVariantId = string & {
9
+ readonly __brand: 'PaletteVariantId';
10
+ };
11
+ export declare function asPaletteVariantId(value: string): PaletteVariantId;
12
+ export declare const paletteVariantIdSchema: z.ZodPipe<z.ZodString, z.ZodTransform<PaletteVariantId, string>>;
13
+ /**
14
+ * Known palette role token names. Closed union so unknown tokens can't be
15
+ * persisted via `paletteOverrides`. Add a new role here intentionally.
16
+ */
17
+ export declare const PALETTE_TOKEN_NAMES: readonly ["primary", "primaryForeground", "secondary", "accent", "success", "warning", "destructive", "background", "surface", "surfaceAlt", "muted", "text", "border"];
18
+ export type PaletteTokenName = (typeof PALETTE_TOKEN_NAMES)[number];
19
+ export declare const paletteTokenNameSchema: z.ZodEnum<{
20
+ success: "success";
21
+ text: "text";
22
+ primary: "primary";
23
+ secondary: "secondary";
24
+ background: "background";
25
+ surface: "surface";
26
+ accent: "accent";
27
+ muted: "muted";
28
+ border: "border";
29
+ warning: "warning";
30
+ destructive: "destructive";
31
+ primaryForeground: "primaryForeground";
32
+ surfaceAlt: "surfaceAlt";
33
+ }>;
34
+ export type HexColor = string & {
35
+ readonly __brand: 'HexColor';
36
+ };
37
+ export declare const hexColorSchema: z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>;
38
+ /**
39
+ * One slot in a palette variant. `name` is restricted to the closed
40
+ * `PaletteTokenName` union so authoring typos (`'priamry'`) are caught at
41
+ * compile time; the value side stays as raw `string` (validated by
42
+ * `paletteColorSchema`'s less-strict regex for back-compat with existing data).
43
+ */
44
+ export type PaletteColor = Readonly<{
45
+ name: PaletteTokenName;
46
+ hex: string;
47
+ }>;
48
+ export type PaletteVariant = Readonly<{
49
+ id: PaletteVariantId;
50
+ name: string;
51
+ description: string;
52
+ tags: StyleTags;
53
+ mode: 'light' | 'dark';
54
+ colors: ReadonlyArray<PaletteColor>;
55
+ }>;
56
+ export declare const paletteVariantSchema: z.ZodObject<{
57
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<PaletteVariantId, string>>;
58
+ name: z.ZodString;
59
+ description: z.ZodString;
60
+ tags: z.ZodObject<{
61
+ tone: z.ZodOptional<z.ZodEnum<{
62
+ classic: "classic";
63
+ bold: "bold";
64
+ minimal: "minimal";
65
+ }>>;
66
+ energy: z.ZodOptional<z.ZodEnum<{
67
+ calm: "calm";
68
+ vibrant: "vibrant";
69
+ }>>;
70
+ motion: z.ZodOptional<z.ZodEnum<{
71
+ standard: "standard";
72
+ subtle: "subtle";
73
+ expressive: "expressive";
74
+ }>>;
75
+ era: z.ZodOptional<z.ZodEnum<{
76
+ editorial: "editorial";
77
+ modern: "modern";
78
+ retro: "retro";
79
+ technical: "technical";
80
+ organic: "organic";
81
+ }>>;
82
+ }, z.core.$strip>;
83
+ mode: z.ZodEnum<{
84
+ dark: "dark";
85
+ light: "light";
86
+ }>;
87
+ colors: z.ZodArray<z.ZodObject<{
88
+ hex: z.ZodString;
89
+ name: z.ZodEnum<{
90
+ success: "success";
91
+ text: "text";
92
+ primary: "primary";
93
+ secondary: "secondary";
94
+ background: "background";
95
+ surface: "surface";
96
+ accent: "accent";
97
+ muted: "muted";
98
+ border: "border";
99
+ warning: "warning";
100
+ destructive: "destructive";
101
+ primaryForeground: "primaryForeground";
102
+ surfaceAlt: "surfaceAlt";
103
+ }>;
104
+ }, z.core.$strip>>;
105
+ }, z.core.$strip>;
106
+ export declare function definePaletteVariant(input: {
107
+ id: string;
108
+ name: string;
109
+ description: string;
110
+ tags: StyleTags;
111
+ mode: 'light' | 'dark';
112
+ colors: ReadonlyArray<PaletteColor>;
113
+ }): PaletteVariant;
114
+ /**
115
+ * Sparse per-token override map. Loaded from / persisted to
116
+ * `site_theme_selections.palette_overrides`. Empty / null means "no overrides
117
+ * applied; the palette variant's own colours render unchanged."
118
+ */
119
+ export type PaletteOverrides = Readonly<Partial<Record<PaletteTokenName, HexColor>>>;
120
+ /**
121
+ * Sparse object of known token names → hex colours. Unknown keys are
122
+ * rejected at parse time; missing keys mean "no override for that token".
123
+ * Built as an explicit partial-object schema (rather than `z.record(enum, …)`)
124
+ * for unambiguous closure under Zod 4.
125
+ */
126
+ export declare const paletteOverridesSchema: z.ZodPipe<z.ZodObject<{
127
+ primary: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
128
+ primaryForeground: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
129
+ secondary: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
130
+ accent: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
131
+ success: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
132
+ warning: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
133
+ destructive: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
134
+ background: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
135
+ surface: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
136
+ surfaceAlt: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
137
+ muted: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
138
+ text: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
139
+ border: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<HexColor, string>>>;
140
+ }, z.core.$strict>, z.ZodTransform<Readonly<Partial<Record<"success" | "text" | "primary" | "secondary" | "background" | "surface" | "accent" | "muted" | "border" | "warning" | "destructive" | "primaryForeground" | "surfaceAlt", HexColor>>>, {
141
+ primary?: HexColor | undefined;
142
+ primaryForeground?: HexColor | undefined;
143
+ secondary?: HexColor | undefined;
144
+ accent?: HexColor | undefined;
145
+ success?: HexColor | undefined;
146
+ warning?: HexColor | undefined;
147
+ destructive?: HexColor | undefined;
148
+ background?: HexColor | undefined;
149
+ surface?: HexColor | undefined;
150
+ surfaceAlt?: HexColor | undefined;
151
+ muted?: HexColor | undefined;
152
+ text?: HexColor | undefined;
153
+ border?: HexColor | undefined;
154
+ }>>;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Warm-neutral family — earthy, organic, hand-made brand voices. Pairs with
3
+ * Warm Editorial, Modern Wellness, Calm Studio site styles.
4
+ */
5
+ export declare const warmNeutralClay: Readonly<{
6
+ id: import("@riverbankcms/blocks").PaletteVariantId;
7
+ name: string;
8
+ description: string;
9
+ tags: import("../../site-styles").StyleTags;
10
+ mode: "light" | "dark";
11
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
12
+ }>;
13
+ export declare const warmNeutralCream: Readonly<{
14
+ id: import("@riverbankcms/blocks").PaletteVariantId;
15
+ name: string;
16
+ description: string;
17
+ tags: import("../../site-styles").StyleTags;
18
+ mode: "light" | "dark";
19
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
20
+ }>;
21
+ export declare const warmNeutralForest: Readonly<{
22
+ id: import("@riverbankcms/blocks").PaletteVariantId;
23
+ name: string;
24
+ description: string;
25
+ tags: import("../../site-styles").StyleTags;
26
+ mode: "light" | "dark";
27
+ colors: ReadonlyArray<import("@riverbankcms/blocks").PaletteColor>;
28
+ }>;
@@ -0,0 +1,23 @@
1
+ declare const BASE_DISPLAY_CLASSES: {
2
+ readonly block: "rb-block";
3
+ readonly flex: "rb-flex";
4
+ readonly "inline-block": "rb-inline-block";
5
+ readonly "inline-flex": "rb-inline-flex";
6
+ readonly grid: "rb-grid";
7
+ };
8
+ export type ResponsiveDisplay = keyof typeof BASE_DISPLAY_CLASSES;
9
+ /**
10
+ * Build a class pair for content that should render below the large breakpoint.
11
+ *
12
+ * The base display class is always included so callers cannot accidentally
13
+ * express "mobile-only" visibility without a display mode for the visible state.
14
+ */
15
+ export declare function mobileOnlyDisplay(display: ResponsiveDisplay): string;
16
+ /**
17
+ * Build a class pair for content that should render from the large breakpoint up.
18
+ *
19
+ * The hidden base class ensures the element stays out of the mobile layout until
20
+ * the large-breakpoint display class takes over.
21
+ */
22
+ export declare function desktopOnlyDisplay(display: ResponsiveDisplay): string;
23
+ export {};
@@ -1,3 +1,24 @@
1
1
  export type ThemeResponsiveMode = "viewport" | "container";
2
2
  export declare const DEFAULT_THEME_RESPONSIVE_MODE: ThemeResponsiveMode;
3
3
  export declare const THEME_RESPONSIVE_CONTAINER_NAME = "rb-site";
4
+ export declare const THEME_RESPONSIVE_MODE_ATTR = "data-rb-responsive-mode";
5
+ export type ResponsiveScopeSpec = {
6
+ kind: "viewport";
7
+ selector: `[${typeof THEME_RESPONSIVE_MODE_ATTR}="viewport"]`;
8
+ } | {
9
+ kind: "container";
10
+ selector: `[${typeof THEME_RESPONSIVE_MODE_ATTR}="container"]`;
11
+ containerName: typeof THEME_RESPONSIVE_CONTAINER_NAME;
12
+ };
13
+ export type ContainerResponsiveScopeSpec = Extract<ResponsiveScopeSpec, {
14
+ kind: "container";
15
+ }>;
16
+ export declare function getResponsiveScopeSpec(mode?: ThemeResponsiveMode): ResponsiveScopeSpec;
17
+ export declare function getContainerResponsiveScopeSpec(): ContainerResponsiveScopeSpec;
18
+ export declare function buildResponsiveScopeRule(spec: ResponsiveScopeSpec, css: string): string;
19
+ export declare function buildResponsiveScopePrelude(spec: ResponsiveScopeSpec): string;
20
+ export declare function findResponsiveScopeRuleAt(css: string, index: number): {
21
+ openBraceIndex: number;
22
+ } | null;
23
+ export declare function hasResponsiveScopeRule(css: string): boolean;
24
+ export declare function retargetResponsiveScopeRules(css: string, spec: ResponsiveScopeSpec): string;