@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
@@ -3643,6 +3643,12 @@ export declare const themeSchema: z.ZodObject<{
3643
3643
  body: "body";
3644
3644
  heading: "heading";
3645
3645
  }>>;
3646
+ fontSize: z.ZodOptional<z.ZodString>;
3647
+ letterSpacing: z.ZodOptional<z.ZodEnum<{
3648
+ normal: "normal";
3649
+ loose: "loose";
3650
+ tight: "tight";
3651
+ }>>;
3646
3652
  italic: z.ZodOptional<z.ZodBoolean>;
3647
3653
  paddingPreset: z.ZodOptional<z.ZodEnum<{
3648
3654
  compact: "compact";
@@ -3700,7 +3706,7 @@ export declare const themeSchema: z.ZodObject<{
3700
3706
  type: z.ZodLiteral<"transparent">;
3701
3707
  }, z.core.$strip>], "type">;
3702
3708
  textColorToken: z.ZodString;
3703
- borderRadius: z.ZodString;
3709
+ borderRadius: z.ZodOptional<z.ZodString>;
3704
3710
  shadow: z.ZodOptional<z.ZodObject<{
3705
3711
  elevation: z.ZodEnum<{
3706
3712
  medium: "medium";
@@ -3722,8 +3728,6 @@ export declare const themeSchema: z.ZodObject<{
3722
3728
  widthClass: z.ZodString;
3723
3729
  colorToken: z.ZodString;
3724
3730
  }, z.core.$strip>>;
3725
- padding: z.ZodOptional<z.ZodString>;
3726
- fontSize: z.ZodOptional<z.ZodString>;
3727
3731
  hoverBackgroundToken: z.ZodOptional<z.ZodString>;
3728
3732
  effects: z.ZodOptional<z.ZodObject<{
3729
3733
  base: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -3743,8 +3747,26 @@ export declare const themeSchema: z.ZodObject<{
3743
3747
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
3744
3748
  }, z.core.$strip>>>;
3745
3749
  }, z.core.$strip>>;
3750
+ sizes: z.ZodOptional<z.ZodObject<{
3751
+ sm: z.ZodOptional<z.ZodObject<{
3752
+ padding: z.ZodString;
3753
+ fontSize: z.ZodOptional<z.ZodString>;
3754
+ }, z.core.$strip>>;
3755
+ md: z.ZodOptional<z.ZodObject<{
3756
+ padding: z.ZodString;
3757
+ fontSize: z.ZodOptional<z.ZodString>;
3758
+ }, z.core.$strip>>;
3759
+ lg: z.ZodOptional<z.ZodObject<{
3760
+ padding: z.ZodString;
3761
+ fontSize: z.ZodOptional<z.ZodString>;
3762
+ }, z.core.$strip>>;
3763
+ xl: z.ZodOptional<z.ZodObject<{
3764
+ padding: z.ZodString;
3765
+ fontSize: z.ZodOptional<z.ZodString>;
3766
+ }, z.core.$strip>>;
3767
+ }, z.core.$strip>>;
3746
3768
  }, z.core.$strip>>;
3747
- sizes: z.ZodOptional<z.ZodObject<{
3769
+ sizes: z.ZodOptional<z.ZodPipe<z.ZodObject<{
3748
3770
  sm: z.ZodObject<{
3749
3771
  padding: z.ZodString;
3750
3772
  fontSize: z.ZodOptional<z.ZodString>;
@@ -3761,7 +3783,41 @@ export declare const themeSchema: z.ZodObject<{
3761
3783
  padding: z.ZodString;
3762
3784
  fontSize: z.ZodOptional<z.ZodString>;
3763
3785
  }, z.core.$strip>>;
3764
- }, z.core.$strip>>;
3786
+ }, z.core.$strip>, z.ZodTransform<{
3787
+ sm: {
3788
+ padding: string;
3789
+ fontSize?: string | undefined;
3790
+ };
3791
+ md: {
3792
+ padding: string;
3793
+ fontSize?: string | undefined;
3794
+ };
3795
+ lg: {
3796
+ padding: string;
3797
+ fontSize?: string | undefined;
3798
+ };
3799
+ xl: {
3800
+ padding: string;
3801
+ fontSize?: string | undefined;
3802
+ };
3803
+ }, {
3804
+ sm: {
3805
+ padding: string;
3806
+ fontSize?: string | undefined;
3807
+ };
3808
+ md: {
3809
+ padding: string;
3810
+ fontSize?: string | undefined;
3811
+ };
3812
+ lg: {
3813
+ padding: string;
3814
+ fontSize?: string | undefined;
3815
+ };
3816
+ xl?: {
3817
+ padding: string;
3818
+ fontSize?: string | undefined;
3819
+ } | undefined;
3820
+ }>>>;
3765
3821
  }, z.core.$strip>>;
3766
3822
  cards: z.ZodOptional<z.ZodObject<{
3767
3823
  variants: z.ZodArray<z.ZodObject<{
@@ -5612,6 +5668,12 @@ export declare const themesTurnSchema: z.ZodObject<{
5612
5668
  body: "body";
5613
5669
  heading: "heading";
5614
5670
  }>>;
5671
+ fontSize: z.ZodOptional<z.ZodString>;
5672
+ letterSpacing: z.ZodOptional<z.ZodEnum<{
5673
+ normal: "normal";
5674
+ loose: "loose";
5675
+ tight: "tight";
5676
+ }>>;
5615
5677
  italic: z.ZodOptional<z.ZodBoolean>;
5616
5678
  paddingPreset: z.ZodOptional<z.ZodEnum<{
5617
5679
  compact: "compact";
@@ -5669,7 +5731,7 @@ export declare const themesTurnSchema: z.ZodObject<{
5669
5731
  type: z.ZodLiteral<"transparent">;
5670
5732
  }, z.core.$strip>], "type">;
5671
5733
  textColorToken: z.ZodString;
5672
- borderRadius: z.ZodString;
5734
+ borderRadius: z.ZodOptional<z.ZodString>;
5673
5735
  shadow: z.ZodOptional<z.ZodObject<{
5674
5736
  elevation: z.ZodEnum<{
5675
5737
  medium: "medium";
@@ -5691,8 +5753,6 @@ export declare const themesTurnSchema: z.ZodObject<{
5691
5753
  widthClass: z.ZodString;
5692
5754
  colorToken: z.ZodString;
5693
5755
  }, z.core.$strip>>;
5694
- padding: z.ZodOptional<z.ZodString>;
5695
- fontSize: z.ZodOptional<z.ZodString>;
5696
5756
  hoverBackgroundToken: z.ZodOptional<z.ZodString>;
5697
5757
  effects: z.ZodOptional<z.ZodObject<{
5698
5758
  base: z.ZodOptional<z.ZodArray<z.ZodObject<{
@@ -5712,8 +5772,26 @@ export declare const themesTurnSchema: z.ZodObject<{
5712
5772
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
5713
5773
  }, z.core.$strip>>>;
5714
5774
  }, z.core.$strip>>;
5775
+ sizes: z.ZodOptional<z.ZodObject<{
5776
+ sm: z.ZodOptional<z.ZodObject<{
5777
+ padding: z.ZodString;
5778
+ fontSize: z.ZodOptional<z.ZodString>;
5779
+ }, z.core.$strip>>;
5780
+ md: z.ZodOptional<z.ZodObject<{
5781
+ padding: z.ZodString;
5782
+ fontSize: z.ZodOptional<z.ZodString>;
5783
+ }, z.core.$strip>>;
5784
+ lg: z.ZodOptional<z.ZodObject<{
5785
+ padding: z.ZodString;
5786
+ fontSize: z.ZodOptional<z.ZodString>;
5787
+ }, z.core.$strip>>;
5788
+ xl: z.ZodOptional<z.ZodObject<{
5789
+ padding: z.ZodString;
5790
+ fontSize: z.ZodOptional<z.ZodString>;
5791
+ }, z.core.$strip>>;
5792
+ }, z.core.$strip>>;
5715
5793
  }, z.core.$strip>>;
5716
- sizes: z.ZodOptional<z.ZodObject<{
5794
+ sizes: z.ZodOptional<z.ZodPipe<z.ZodObject<{
5717
5795
  sm: z.ZodObject<{
5718
5796
  padding: z.ZodString;
5719
5797
  fontSize: z.ZodOptional<z.ZodString>;
@@ -5730,7 +5808,41 @@ export declare const themesTurnSchema: z.ZodObject<{
5730
5808
  padding: z.ZodString;
5731
5809
  fontSize: z.ZodOptional<z.ZodString>;
5732
5810
  }, z.core.$strip>>;
5733
- }, z.core.$strip>>;
5811
+ }, z.core.$strip>, z.ZodTransform<{
5812
+ sm: {
5813
+ padding: string;
5814
+ fontSize?: string | undefined;
5815
+ };
5816
+ md: {
5817
+ padding: string;
5818
+ fontSize?: string | undefined;
5819
+ };
5820
+ lg: {
5821
+ padding: string;
5822
+ fontSize?: string | undefined;
5823
+ };
5824
+ xl: {
5825
+ padding: string;
5826
+ fontSize?: string | undefined;
5827
+ };
5828
+ }, {
5829
+ sm: {
5830
+ padding: string;
5831
+ fontSize?: string | undefined;
5832
+ };
5833
+ md: {
5834
+ padding: string;
5835
+ fontSize?: string | undefined;
5836
+ };
5837
+ lg: {
5838
+ padding: string;
5839
+ fontSize?: string | undefined;
5840
+ };
5841
+ xl?: {
5842
+ padding: string;
5843
+ fontSize?: string | undefined;
5844
+ } | undefined;
5845
+ }>>>;
5734
5846
  }, z.core.$strip>>;
5735
5847
  cards: z.ZodOptional<z.ZodObject<{
5736
5848
  variants: z.ZodArray<z.ZodObject<{
@@ -0,0 +1,109 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Compatibility primitives for filtering button personalities and palette
4
+ * variants against a curated site style's acceptance region.
5
+ *
6
+ * Three axes (`tone`, `energy`, `motion`) reuse the values already declared on
7
+ * `theme.axes` so personality/palette tags can't drift from the rest of the
8
+ * design system. `era` is a fourth axis added here because the theme schema
9
+ * doesn't carry a "style language" / cultural-reference dimension.
10
+ *
11
+ * Pure functions; no ambient state. Used by:
12
+ * - `compileSiteThemeFromSelections` to filter / resolve incompatible IDs
13
+ * - The Style configurator UI to filter pickable options
14
+ */
15
+ export declare const STYLE_AXIS_VALUES: {
16
+ readonly tone: readonly ["minimal", "classic", "bold"];
17
+ readonly energy: readonly ["calm", "vibrant"];
18
+ readonly motion: readonly ["subtle", "standard", "expressive"];
19
+ readonly era: readonly ["editorial", "modern", "organic", "technical", "retro"];
20
+ };
21
+ /**
22
+ * Zod schema for `StyleTags`. Derived from `STYLE_AXIS_VALUES` so a single
23
+ * source of truth governs both the type-level vocabulary and the runtime
24
+ * validator used by `buttonPersonalitySchema` and `paletteVariantSchema`.
25
+ */
26
+ export declare const styleTagsSchema: z.ZodObject<{
27
+ tone: z.ZodOptional<z.ZodEnum<{
28
+ classic: "classic";
29
+ bold: "bold";
30
+ minimal: "minimal";
31
+ }>>;
32
+ energy: z.ZodOptional<z.ZodEnum<{
33
+ calm: "calm";
34
+ vibrant: "vibrant";
35
+ }>>;
36
+ motion: z.ZodOptional<z.ZodEnum<{
37
+ standard: "standard";
38
+ subtle: "subtle";
39
+ expressive: "expressive";
40
+ }>>;
41
+ era: z.ZodOptional<z.ZodEnum<{
42
+ editorial: "editorial";
43
+ modern: "modern";
44
+ retro: "retro";
45
+ technical: "technical";
46
+ organic: "organic";
47
+ }>>;
48
+ }, z.core.$strip>;
49
+ export type StyleTone = (typeof STYLE_AXIS_VALUES.tone)[number];
50
+ export type StyleEnergy = (typeof STYLE_AXIS_VALUES.energy)[number];
51
+ export type StyleMotion = (typeof STYLE_AXIS_VALUES.motion)[number];
52
+ export type StyleEra = (typeof STYLE_AXIS_VALUES.era)[number];
53
+ export type StyleAxis = Readonly<{
54
+ tone: StyleTone;
55
+ energy: StyleEnergy;
56
+ motion: StyleMotion;
57
+ era: StyleEra;
58
+ }>;
59
+ /**
60
+ * A personality or palette's self-declared tags. All four axes are optional;
61
+ * an unset axis matches every region (no constraint).
62
+ */
63
+ export type StyleTags = Readonly<Partial<StyleAxis>>;
64
+ /**
65
+ * A site style's acceptance region. Each axis declares the set of values that
66
+ * pair well with the site style. An unset axis accepts everything.
67
+ */
68
+ export type AcceptanceRegion = Readonly<{
69
+ [K in keyof StyleAxis]?: ReadonlyArray<StyleAxis[K]>;
70
+ }>;
71
+ /**
72
+ * True if every tag the entry declares falls inside the corresponding
73
+ * axis-acceptance set in the region. Unset axes (on either side) are skipped.
74
+ *
75
+ * Example: an entry with `{ tone: 'bold', era: 'retro' }` is compatible with
76
+ * a region of `{ tone: ['bold'], energy: ['vibrant'] }` because the entry
77
+ * doesn't declare `energy`, and `tone: 'bold'` is in the region's set.
78
+ */
79
+ export declare function isCompatible(tags: StyleTags, region: AcceptanceRegion): boolean;
80
+ /**
81
+ * Filter a library of tagged entries to those compatible with the region,
82
+ * preserving original order. Pure.
83
+ */
84
+ export declare function compatibleEntries<T extends {
85
+ readonly tags: StyleTags;
86
+ }>(entries: readonly T[], region: AcceptanceRegion): readonly T[];
87
+ /**
88
+ * Deterministic auto-pick for the "user switched site style; their current
89
+ * personality/palette may be incompatible" flow.
90
+ *
91
+ * Algorithm:
92
+ * 1. Requested is null → fallback. No rejection.
93
+ * 2. Requested is compatible → keep. No rejection.
94
+ * 3. Requested is incompatible → fallback (which is the site style's default
95
+ * and is required to be compatible). Record rejection.
96
+ * 4. Requested ID not found in library → fallback. Record rejection.
97
+ *
98
+ * The site-style invariant "every site style has at least one compatible
99
+ * entry per library" is what makes the fallback always valid. Enforced by a
100
+ * lint-style test, not at runtime.
101
+ */
102
+ export type ResolveCompatibleResult<TId extends string> = Readonly<{
103
+ resolved: TId;
104
+ rejected: TId | null;
105
+ }>;
106
+ export declare function resolveCompatible<TId extends string, T extends {
107
+ readonly id: TId;
108
+ readonly tags: StyleTags;
109
+ }>(requested: TId | null, region: AcceptanceRegion, library: readonly T[], fallback: TId): ResolveCompatibleResult<TId>;
@@ -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,11 +1,13 @@
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';
6
7
  export * from './generatedSchemas';
7
8
  export * from './generatedDesignPipeline';
8
9
  export * from './pageDesignAuthority';
10
+ export * from './pageDesignEditorErrors';
9
11
  export * from './pageDesignEditorModel';
10
12
  export * from './pageDesignIntent';
11
13
  export * from './previewCustomization';
@@ -0,0 +1 @@
1
+ export declare const PAGE_DESIGN_EDITOR_STATE_FETCH_ERROR_MESSAGE = "Something went wrong fetching the page design state";
@@ -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';