@riverbankcms/sdk 0.101.0 → 0.103.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 (123) hide show
  1. package/README.md +10 -2
  2. package/dist/{PreviewEditorSidebar-DBpy0KTh.mjs → PreviewEditorSidebar-DkNpCPja.mjs} +430 -74
  3. package/dist/{PreviewEditorUI-Fg6I2R2T.mjs → PreviewEditorUI-DeNKtqk3.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BICQLAUF.mjs → PreviewQueryProvider-ZF6TXq5Q.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DFQP-Q53.mjs → SdkPreviewModeRuntime-5bCsXK2y.mjs} +694 -329
  6. package/dist/{SiteChromeCustomizeContext-GwZc89KN.mjs → SiteChromeCustomizeContext-CO1sTK_W.mjs} +538 -69
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +298 -298
  8. package/dist/_dts/ai/src/designer/rfc6902.d.ts +57 -1
  9. package/dist/_dts/ai/src/designer/themePatch.d.ts +16 -6
  10. package/dist/_dts/api/src/bookingVerticals.d.ts +53 -1
  11. package/dist/_dts/api/src/index.d.ts +1 -1
  12. package/dist/_dts/api/src/navigation/contracts.d.ts +6 -6
  13. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  14. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +1 -0
  15. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -1
  16. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  17. package/dist/_dts/blocks/src/index.d.ts +1 -1
  18. package/dist/_dts/blocks/src/server.d.ts +1 -1
  19. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +7 -7
  20. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  21. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +14 -14
  22. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +5 -5
  23. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +227 -227
  24. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  27. package/dist/_dts/blocks/src/system/inlineText.d.ts +2 -2
  28. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +177 -177
  29. package/dist/_dts/blocks/src/system/node/schema.d.ts +1 -1
  30. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
  33. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  34. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  35. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  36. package/dist/_dts/core/src/branded.d.ts +4 -0
  37. package/dist/_dts/core/src/person-records.d.ts +6 -1
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +154 -18
  39. package/dist/_dts/db/src/schemas/forms.d.ts +15 -15
  40. package/dist/_dts/media-core/src/identifiers.d.ts +14 -1
  41. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  42. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +3 -1
  43. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  44. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -1
  45. package/dist/_dts/preview-next/src/client/preview/CustomizeColorTokenPicker.d.ts +27 -0
  46. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  47. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +2 -1
  48. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +10 -2
  49. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +43 -7
  50. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  51. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +16 -1
  52. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
  53. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +4 -4
  54. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -1
  55. package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +4 -2
  56. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  57. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  58. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -0
  59. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +10 -10
  60. package/dist/_dts/sdk/src/next/revalidate.d.ts +14 -1
  61. package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -4
  62. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  63. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  64. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -4
  65. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -0
  66. package/dist/_dts/sdk/src/version.d.ts +1 -1
  67. package/dist/_dts/site-commands/src/commands.d.ts +19 -19
  68. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  69. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  70. package/dist/_dts/theme-core/src/buttons/types.d.ts +7 -7
  71. package/dist/_dts/theme-core/src/cards/types.d.ts +6 -6
  72. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  73. package/dist/_dts/theme-core/src/inputs/types.d.ts +4 -4
  74. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +150 -144
  75. package/dist/_dts/theme-core/src/navigation/types.d.ts +6 -6
  76. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +5 -5
  77. package/dist/_dts/theme-core/src/schema.d.ts +199 -169
  78. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  79. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  80. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +28 -26
  81. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  82. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +4 -4
  83. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  84. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +9 -2
  85. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +3 -3
  86. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +50 -2
  87. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +77 -0
  88. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +44 -0
  89. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  92. package/dist/_dts/ui/src/badge.d.ts +1 -1
  93. package/dist/_dts/ui/src/button.d.ts +1 -1
  94. package/dist/_dts/ui/src/card.d.ts +1 -1
  95. package/dist/_dts/ui/src/toggle.d.ts +2 -2
  96. package/dist/cli/index.mjs +58 -21
  97. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +9 -1
  98. package/dist/client/client.mjs +379 -83
  99. package/dist/client/hooks.mjs +27 -6
  100. package/dist/client/rendering/client.mjs +46 -17
  101. package/dist/client/rendering.mjs +378 -82
  102. package/dist/preview-next/before-render.mjs +1 -1
  103. package/dist/preview-next/client/runtime.mjs +4 -4
  104. package/dist/{previewAuthStore-Da74OL0X.mjs → previewAuthStore-ByPPZqmp.mjs} +1 -0
  105. package/dist/{sdk-runtime-CP6Kwalv.mjs → sdk-runtime-C8whifOy.mjs} +2 -2
  106. package/dist/{separator-BVk7GvGN.mjs → separator-CM2C5Axs.mjs} +1 -1
  107. package/dist/server/components.mjs +357 -77
  108. package/dist/server/config-validation.mjs +26 -6
  109. package/dist/server/config.mjs +26 -6
  110. package/dist/server/data.mjs +26 -6
  111. package/dist/server/index.mjs +2 -2
  112. package/dist/server/next/revalidate.mjs +31 -1
  113. package/dist/server/next.mjs +361 -78
  114. package/dist/server/page-converter.mjs +19 -5
  115. package/dist/server/prebuild.mjs +1 -1
  116. package/dist/server/rendering/server.mjs +359 -77
  117. package/dist/server/rendering.mjs +359 -77
  118. package/dist/server/routing.mjs +40 -9
  119. package/dist/server/server.mjs +29 -7
  120. package/dist/server/theme-bridge.mjs +158 -36
  121. package/dist/server/theme.mjs +3 -0
  122. package/dist/styles/index.css +123 -30
  123. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { type Result } from '../../../core/src/index';
1
2
  export type Rfc6902AddOp = {
2
3
  op: 'add';
3
4
  path: string;
@@ -13,4 +14,59 @@ export type Rfc6902ReplaceOp = {
13
14
  value: unknown;
14
15
  };
15
16
  export type Rfc6902Op = Rfc6902AddOp | Rfc6902RemoveOp | Rfc6902ReplaceOp;
16
- export declare function applyRfc6902Patch<T>(base: T, ops: Rfc6902Op[]): T;
17
+ export type Rfc6902JsonPointerPath = string & {
18
+ readonly __rfc6902JsonPointerPath: unique symbol;
19
+ };
20
+ export type ParsedRfc6902JsonPointerPath = Readonly<{
21
+ path: Rfc6902JsonPointerPath;
22
+ segments: readonly string[];
23
+ }>;
24
+ export type Rfc6902JsonPointerParseError = Readonly<{
25
+ kind: 'root_not_supported';
26
+ path: string;
27
+ }> | Readonly<{
28
+ kind: 'missing_leading_slash';
29
+ path: string;
30
+ }> | Readonly<{
31
+ kind: 'invalid_escape';
32
+ path: string;
33
+ }>;
34
+ export type Rfc6902ApplyError = Readonly<{
35
+ kind: 'invalid_path';
36
+ path: string;
37
+ }> | Readonly<{
38
+ kind: 'invalid_container';
39
+ path: string;
40
+ }> | Readonly<{
41
+ kind: 'invalid_array_index';
42
+ path: string;
43
+ segment: string;
44
+ }> | Readonly<{
45
+ kind: 'array_index_out_of_bounds';
46
+ path: string;
47
+ index: number;
48
+ }> | Readonly<{
49
+ kind: 'missing_key';
50
+ path: string;
51
+ key: string;
52
+ op: 'replace' | 'remove';
53
+ }>;
54
+ export type Rfc6902PatchError = Rfc6902JsonPointerParseError | Rfc6902ApplyError;
55
+ export type ParsedRfc6902AddOp = Omit<Rfc6902AddOp, 'path'> & {
56
+ path: ParsedRfc6902JsonPointerPath;
57
+ };
58
+ export type ParsedRfc6902RemoveOp = Omit<Rfc6902RemoveOp, 'path'> & {
59
+ path: ParsedRfc6902JsonPointerPath;
60
+ };
61
+ export type ParsedRfc6902ReplaceOp = Omit<Rfc6902ReplaceOp, 'path'> & {
62
+ path: ParsedRfc6902JsonPointerPath;
63
+ };
64
+ export type ParsedRfc6902Op = ParsedRfc6902AddOp | ParsedRfc6902RemoveOp | ParsedRfc6902ReplaceOp;
65
+ export declare function formatRfc6902JsonPointerParseError(error: Rfc6902JsonPointerParseError): string;
66
+ export declare function formatRfc6902ApplyError(error: Rfc6902ApplyError): string;
67
+ export declare function formatRfc6902PatchError(error: Rfc6902PatchError): string;
68
+ export declare function parseRfc6902JsonPointerPath(path: string): Result<ParsedRfc6902JsonPointerPath, Rfc6902JsonPointerParseError>;
69
+ export declare function applyParsedRfc6902PatchResult<T>(base: T, ops: readonly ParsedRfc6902Op[]): Result<T, Rfc6902ApplyError>;
70
+ export declare function applyParsedRfc6902Patch<T>(base: T, ops: readonly ParsedRfc6902Op[]): T;
71
+ export declare function applyRfc6902PatchResult<T>(base: T, ops: readonly Rfc6902Op[]): Result<T, Rfc6902PatchError>;
72
+ export declare function applyRfc6902Patch<T>(base: T, ops: readonly Rfc6902Op[]): T;
@@ -1,8 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  import { type Theme } from '../../../theme-core/src/index';
3
+ import { type ParsedRfc6902JsonPointerPath } from './rfc6902';
3
4
  export declare const DEFAULT_THEME_PATCH_MAX_OPS = 25;
4
5
  export declare const DEFAULT_THEME_PATCH_MAX_SERIALIZED_BYTES = 20000;
5
6
  export declare const DEFAULT_THEME_PATCH_FORBIDDEN_PATH_PREFIXES: readonly ["/axes"];
7
+ export declare const SUPPORTED_THEME_PATCH_OPS: readonly ["add", "replace", "remove"];
6
8
  type JsonPrimitive = string | number | boolean | null;
7
9
  type JsonValue = JsonPrimitive | JsonValue[] | {
8
10
  [key: string]: JsonValue;
@@ -32,13 +34,21 @@ export declare const ThemePatchOpsSchema: z.ZodArray<z.ZodDiscriminatedUnion<[z.
32
34
  op: z.ZodLiteral<"remove">;
33
35
  path: z.ZodString;
34
36
  }, z.core.$strip>], "op">>;
35
- export type ThemePatchValidationResult = {
36
- valid: true;
37
+ export type ThemePatchValidationErrorKind = 'empty_patch' | 'too_many_ops' | 'too_large' | 'non_serializable' | 'invalid_path' | 'forbidden_path' | 'apply_failed' | 'schema_failed' | 'runtime_failed';
38
+ export type ThemePatchValidationError = Readonly<{
39
+ kind: ThemePatchValidationErrorKind;
40
+ message: string;
41
+ path?: string;
42
+ }>;
43
+ export type ThemePatchValidationResult = Readonly<{
44
+ ok: true;
37
45
  theme: Theme;
38
- } | {
39
- valid: false;
40
- error: string;
41
- };
46
+ }> | Readonly<{
47
+ ok: false;
48
+ error: ThemePatchValidationError;
49
+ }>;
50
+ export type ThemePatchJsonPointerPath = ParsedRfc6902JsonPointerPath;
51
+ export declare function formatThemePatchValidationError(error: ThemePatchValidationError): string;
42
52
  export declare function validateThemePatch(args: {
43
53
  baseTheme: Theme;
44
54
  ops: ThemePatchOp[];
@@ -5,7 +5,7 @@ export declare const BOOKING_ENGINES: readonly ["event_series", "course", "appoi
5
5
  export type BookingEngine = (typeof BOOKING_ENGINES)[number];
6
6
  export declare const VERTICAL_PRESET_AVAILABILITIES: readonly ["onboarding", "settings", "future"];
7
7
  export type VerticalPresetAvailability = (typeof VERTICAL_PRESET_AVAILABILITIES)[number];
8
- export declare const VERTICAL_IDS: readonly ["yoga_wellness", "fitness_pt", "dance_school", "therapist_practitioner", "beauty_spa", "consultant_coach", "training_provider", "retreat_centre", "music_school", "performing_arts_school", "community_wellbeing", "venue_event_space"];
8
+ export declare const VERTICAL_IDS: readonly ["yoga_wellness", "fitness_pt", "dance_school", "therapist_practitioner", "beauty_spa", "consultant_coach", "training_provider", "retreat_centre", "music_school", "voice_singing", "performing_arts_school", "community_wellbeing", "venue_event_space"];
9
9
  export type VerticalId = (typeof VERTICAL_IDS)[number];
10
10
  export type EventSeriesCanonicalBehaviour = Extract<CanonicalBookingBehaviour, 'class' | 'workshop' | 'retreat' | 'performance'>;
11
11
  export declare const EVENT_SERIES_BEHAVIOURS: readonly ["class", "workshop", "retreat", "performance"];
@@ -157,6 +157,10 @@ export declare const VERTICAL_DEFINITIONS: readonly [{
157
157
  readonly id: "music_school";
158
158
  readonly label: "Music teacher or school";
159
159
  readonly description: "Lessons, classes, terms, workshops, and performances.";
160
+ }, {
161
+ readonly id: "voice_singing";
162
+ readonly label: "Voice & Singing";
163
+ readonly description: "Singing lessons, choirs, voice circles, workshops, and performances.";
160
164
  }, {
161
165
  readonly id: "performing_arts_school";
162
166
  readonly label: "Theatre or performing arts school";
@@ -523,6 +527,51 @@ export declare const VERTICAL_BOOKING_PRESETS: readonly [Readonly<{
523
527
  label: string;
524
528
  pluralLabel: string;
525
529
  description: string;
530
+ }>, Readonly<{
531
+ id: "voice_singing.lessons";
532
+ verticalId: VerticalId;
533
+ canonicalBehaviour: CanonicalBookingBehaviour;
534
+ engine: BookingEngine;
535
+ availability: VerticalPresetAvailability;
536
+ label: string;
537
+ pluralLabel: string;
538
+ description: string;
539
+ }>, Readonly<{
540
+ id: "voice_singing.classes";
541
+ verticalId: VerticalId;
542
+ canonicalBehaviour: CanonicalBookingBehaviour;
543
+ engine: BookingEngine;
544
+ availability: VerticalPresetAvailability;
545
+ label: string;
546
+ pluralLabel: string;
547
+ description: string;
548
+ }>, Readonly<{
549
+ id: "voice_singing.terms";
550
+ verticalId: VerticalId;
551
+ canonicalBehaviour: CanonicalBookingBehaviour;
552
+ engine: BookingEngine;
553
+ availability: VerticalPresetAvailability;
554
+ label: string;
555
+ pluralLabel: string;
556
+ description: string;
557
+ }>, Readonly<{
558
+ id: "voice_singing.workshops";
559
+ verticalId: VerticalId;
560
+ canonicalBehaviour: CanonicalBookingBehaviour;
561
+ engine: BookingEngine;
562
+ availability: VerticalPresetAvailability;
563
+ label: string;
564
+ pluralLabel: string;
565
+ description: string;
566
+ }>, Readonly<{
567
+ id: "voice_singing.performances";
568
+ verticalId: VerticalId;
569
+ canonicalBehaviour: CanonicalBookingBehaviour;
570
+ engine: BookingEngine;
571
+ availability: VerticalPresetAvailability;
572
+ label: string;
573
+ pluralLabel: string;
574
+ description: string;
526
575
  }>, Readonly<{
527
576
  id: "performing_arts_school.classes";
528
577
  verticalId: VerticalId;
@@ -633,6 +682,9 @@ export declare const LEGACY_VERTICAL_QUERY_MAP: {
633
682
  readonly therapist: "therapist_practitioner";
634
683
  readonly therapists: "therapist_practitioner";
635
684
  readonly 'beauty-spa': "beauty_spa";
685
+ readonly 'voice-singing': "voice_singing";
686
+ readonly singing: "voice_singing";
687
+ readonly choir: "voice_singing";
636
688
  readonly other: "community_wellbeing";
637
689
  };
638
690
  export declare function parseVerticalId(value: unknown): VerticalId | null;
@@ -121,4 +121,4 @@ export type { AIChatMessage, AiBriefTurn, AiDesignerThemePatchOp, AiPatchApplyRe
121
121
  export type { CancelFlexibleBalanceBookingDueToNonPaymentRequest, FlexibleBalanceAdminActionPlan, FlexibleBalanceAdminActionResponse, FlexibleBalanceAdminActionSource, FlexibleBalanceAdminActionView, ReopenFlexibleBalanceBookingAfterNonPaymentCancellationRequest, } from "./types";
122
122
  export type { CancelShopOrderItemRequest, CancelShopOrderItemResponse, CancelShopOrderRequest, CancelShopOrderResponse, StaffCancellationContextCategory, StaffCancellationContextInput, StaffCancellationContextUiCategory, } from "./siteOperations";
123
123
  export type { ContentTypeKey } from "./contentEntries";
124
- export type { BlockListItem, EntryPageContentSlot, EntryPageContentSlotAllowedBlocks, EntryPageContentSlotWarning, EntryPageContentSlotsResponse, SdkEntrySlotContent, SiteBookingOfferingPresetSummary, WorkflowContentEntryTargetSnapshot, WorkflowPageDraftContent, WorkflowPagePublishedContent, WorkflowPageStatus, WorkflowPageTargetSnapshot, WorkflowRunStatusResponse, WorkflowTargetEntrySnapshot, } from "./contentRuntime";
124
+ export type { BlockListItem, EntryPageContentSlot, EntryPageContentSlotAllowedBlocks, EntryPageContentSlotWarning, EntryPageContentSlotsResponse, SdkEntrySlotContent, SdkRuntimePageSurfaceSubject, SiteBookingOfferingPresetSummary, WorkflowContentEntryTargetSnapshot, WorkflowPageDraftContent, WorkflowPagePublishedContent, WorkflowPageStatus, WorkflowPageTargetSnapshot, WorkflowRunStatusResponse, WorkflowTargetEntrySnapshot, } from "./contentRuntime";
@@ -24,8 +24,8 @@ export declare const cartLinkLabelConfigSchema: z.ZodDiscriminatedUnion<[z.ZodOb
24
24
  export declare const cartLinkPayloadSchema: z.ZodObject<{
25
25
  kind: z.ZodLiteral<"cart">;
26
26
  badge: z.ZodEnum<{
27
- hidden: "hidden";
28
27
  "show-count": "show-count";
28
+ hidden: "hidden";
29
29
  }>;
30
30
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
31
31
  kind: z.ZodLiteral<"icon-only">;
@@ -103,8 +103,8 @@ export declare const linkPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
103
103
  }, z.core.$strip>, z.ZodObject<{
104
104
  kind: z.ZodLiteral<"cart">;
105
105
  badge: z.ZodEnum<{
106
- hidden: "hidden";
107
106
  "show-count": "show-count";
107
+ hidden: "hidden";
108
108
  }>;
109
109
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
110
110
  kind: z.ZodLiteral<"icon-only">;
@@ -136,8 +136,8 @@ export declare const navigationLinkInputSchemaOptions: readonly [z.ZodObject<{
136
136
  }, z.core.$strip>, z.ZodObject<{
137
137
  kind: z.ZodLiteral<"cart">;
138
138
  badge: z.ZodEnum<{
139
- hidden: "hidden";
140
139
  "show-count": "show-count";
140
+ hidden: "hidden";
141
141
  }>;
142
142
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
143
143
  kind: z.ZodLiteral<"icon-only">;
@@ -169,8 +169,8 @@ export declare const navigationLinkInputSchema: z.ZodDiscriminatedUnion<readonly
169
169
  }, z.core.$strip>, z.ZodObject<{
170
170
  kind: z.ZodLiteral<"cart">;
171
171
  badge: z.ZodEnum<{
172
- hidden: "hidden";
173
172
  "show-count": "show-count";
173
+ hidden: "hidden";
174
174
  }>;
175
175
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
176
176
  kind: z.ZodLiteral<"icon-only">;
@@ -216,8 +216,8 @@ export declare const dashboardNavigationLinkSchema: z.ZodDiscriminatedUnion<[z.Z
216
216
  }, z.core.$strip>, z.ZodObject<{
217
217
  kind: z.ZodLiteral<"cart">;
218
218
  badge: z.ZodEnum<{
219
- hidden: "hidden";
220
219
  "show-count": "show-count";
220
+ hidden: "hidden";
221
221
  }>;
222
222
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
223
223
  kind: z.ZodLiteral<"icon-only">;
@@ -249,8 +249,8 @@ export declare const sdkNavigationLinkInputSchema: z.ZodDiscriminatedUnion<reado
249
249
  }, z.core.$strip>, z.ZodObject<{
250
250
  kind: z.ZodLiteral<"cart">;
251
251
  badge: z.ZodEnum<{
252
- hidden: "hidden";
253
252
  "show-count": "show-count";
253
+ hidden: "hidden";
254
254
  }>;
255
255
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
256
256
  kind: z.ZodLiteral<"icon-only">;
@@ -121,8 +121,8 @@ export declare const siteBannerSettingsSchema: z.ZodDiscriminatedUnion<[z.ZodObj
121
121
  }, z.core.$strip>, z.ZodObject<{
122
122
  kind: z.ZodLiteral<"cart">;
123
123
  badge: z.ZodEnum<{
124
- hidden: "hidden";
125
124
  "show-count": "show-count";
125
+ hidden: "hidden";
126
126
  }>;
127
127
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
128
128
  kind: z.ZodLiteral<"icon-only">;
@@ -187,8 +187,8 @@ export declare const siteBannerSettingsInputSchema: z.ZodDiscriminatedUnion<[z.Z
187
187
  }, z.core.$strip>, z.ZodObject<{
188
188
  kind: z.ZodLiteral<"cart">;
189
189
  badge: z.ZodEnum<{
190
- hidden: "hidden";
191
190
  "show-count": "show-count";
191
+ hidden: "hidden";
192
192
  }>;
193
193
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
194
194
  kind: z.ZodLiteral<"icon-only">;
@@ -39,6 +39,7 @@ export type ApplySiteStyleSelectionBody = Readonly<{
39
39
  typographyPresetId?: TypographyPresetId | null;
40
40
  typographyBodyFontOverride?: string | null;
41
41
  typographyHeadingFontOverride?: string | null;
42
+ customTypography?: Theme['typography'] | null;
42
43
  headerLookId: HeaderLookId | null;
43
44
  headerLayoutId?: HeaderLayoutId | null;
44
45
  headerStyleId?: HeaderStyleId | null;
@@ -5,6 +5,7 @@ import type { Theme } from '../../theme-core/src/schema';
5
5
  import type { SdkCustomBlock } from './system/manifest/schema';
6
6
  import type { ThemeTokens } from './system/theme';
7
7
  import type { RouteMap } from './system/transforms';
8
+ import type { CompiledBoundaryRuntime } from '../../theme-core/src/site-styles/index';
8
9
  import { type MediaAssetIndexItem, type ResolveImageUrlContext, type ResolveImageUrlContextInput } from './system/runtime/nodes/media';
9
10
  import type { BookingOfferingPresetSummary } from './system/blocks/offerings-preview/model';
10
11
  /**
@@ -166,13 +167,17 @@ export type SdkConfigForRenderer = {
166
167
  customBlocks?: SdkCustomBlock[];
167
168
  };
168
169
  export type PageBlockPosition = 'only' | 'first' | 'middle' | 'last';
170
+ export type PageRuntimeBoundary = CompiledBoundaryRuntime<string>;
171
+ type PageBoundaryWrapper = (boundary: PageRuntimeBoundary, rendered: React.ReactNode) => React.ReactNode;
169
172
  interface PageRendererProps {
170
173
  theme: Theme;
171
174
  page: PageOutline | null;
175
+ runtimeBoundaries?: readonly PageRuntimeBoundary[];
172
176
  usePlaceholders?: boolean;
173
177
  dataContext?: PageRendererDataContext;
174
178
  routeMap?: RouteMap;
175
179
  wrapBlock?: (blockId: string, rendered: React.ReactNode) => React.ReactNode;
180
+ wrapBoundary?: PageBoundaryWrapper;
176
181
  registry?: ResolverContext['registry'];
177
182
  themeTokens?: ThemeTokens;
178
183
  blockOverrides?: BlockOverrides;
@@ -180,5 +185,5 @@ interface PageRendererProps {
180
185
  customBlocks?: SdkCustomBlock[];
181
186
  previewAuthoring?: ResolverContext['previewAuthoring'];
182
187
  }
183
- export default function PageRenderer({ theme, page, usePlaceholders, dataContext, wrapBlock, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring, }: PageRendererProps): React.JSX.Element;
188
+ export default function PageRenderer({ theme, page, runtimeBoundaries, usePlaceholders, dataContext, wrapBlock, wrapBoundary, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring, }: PageRendererProps): React.JSX.Element;
184
189
  export {};
@@ -6,8 +6,8 @@
6
6
  */
7
7
  export type { BindingSource, BindingDescriptor, BindingInput, BindingMap, BindingContext, BindingPath, BindingTransformName, KnownBindingTransformName, FieldBindingDescriptor, MetaBindingDescriptor, LiteralBindingDescriptor, TransformBindingDescriptor, FallbackBindingDescriptor, } from './types';
8
8
  export { TRANSFORMS, BINDING_SOURCES } from './types';
9
- export { asDesignBlockId, asContentTemplateDesignBlockId, asLayoutVariantKey, buildPageDesignEditorReadModel, compileContentTemplateRuntimeFields, parsePageDesignIntent, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, type DesignBlockId, parseContentTemplateDesignIntent, type CompiledBlockRuntimeFields, type LayoutVariantKey, type PageDesignEditorBlockInput, type PageDesignIntent, type SurfaceResolutionContext, applyBlockContentVariantPolicy, deriveSiteStyleBlockPolicy, } from '../../../theme-core/src/site-styles/index';
10
- export { applyCompiledRuntimeFieldsToContent, buildEditorModelRuntimeFieldsByBlockId, } from '../../../theme-core/src/site-styles/previewCompiler';
9
+ export { asDesignBlockId, asContentTemplateDesignBlockId, asLayoutVariantKey, buildPageDesignEditorReadModel, compileContentTemplateRuntimeFields, parsePageDesignIntent, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, type DesignBlockId, parseContentTemplateDesignIntent, type CompiledBlockRuntimeFields, type CompiledBoundaryRuntime, type LayoutVariantKey, type PageDesignEditorBlockInput, type PageDesignIntent, type SurfaceResolutionContext, applyBlockContentVariantPolicy, deriveSiteStyleBlockPolicy, } from '../../../theme-core/src/site-styles/index';
10
+ export { applyCompiledRuntimeFieldsToContent, buildEditorModelRuntimeBoundaries, buildEditorModelRuntimeFieldsByBlockId, compileEditorModelRuntime, retargetCompiledBoundaryRuntimeForContentAdjacency, retargetCompiledRuntimeFieldsForContentAdjacency, } from '../../../theme-core/src/site-styles/previewCompiler';
11
11
  export { blockDesignMetadataMapFromDefinitions } from '../system/designCapabilities';
12
12
  export { systemBlockDefinitions } from '../system/blocks';
13
13
  import type { BindingContext, BindingDescriptor, BindingInput, BindingMap, BindingPath, FieldBindingDescriptor, FallbackBindingDescriptor, KnownBindingTransformName, LiteralBindingDescriptor, MetaBindingDescriptor, TransformBindingDescriptor } from './types';
@@ -1,7 +1,7 @@
1
1
  export { default as PageRenderer } from './PageRenderer';
2
2
  export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, planCustomBlockRegistryResolution, transformToBlockDescriptor, } from './customBlockRegistry';
3
3
  export type { CustomBlockConflictReason, CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryConflict, CustomBlockRegistryEntry, CustomBlockRegistryResolutionPlan, CustomBlockSourcePolicy, ResolvedCustomBlockManifest, SdkConfigForBlockPicker, } from './customBlockRegistry';
4
- export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, PageBlockPosition, SdkConfigForRenderer, } from './PageRenderer';
4
+ export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, PageBlockPosition, PageRuntimeBoundary, SdkConfigForRenderer, } from './PageRenderer';
5
5
  export * from './subroutes';
6
6
  export * from './primitives/content/components/Button';
7
7
  export * from './structure/schema';
@@ -1,4 +1,4 @@
1
1
  export { default as PageRenderer } from './PageRenderer';
2
- export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, PageBlockPosition, SdkConfigForRenderer, } from './PageRenderer';
2
+ export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, PageBlockPosition, PageRuntimeBoundary, SdkConfigForRenderer, } from './PageRenderer';
3
3
  export * from './subroutes';
4
4
  export { ThemeScope } from '../../theme-core/src/ThemeScope';
@@ -36,15 +36,15 @@ export declare const coursePricingOptionSchema: z.ZodObject<{
36
36
  saleStartsAt: z.ZodNullable<z.ZodString>;
37
37
  saleEndsAt: z.ZodNullable<z.ZodString>;
38
38
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
39
- both: "both";
40
39
  in_person: "in_person";
40
+ both: "both";
41
41
  online: "online";
42
42
  }>>>;
43
43
  }, z.core.$strip>;
44
44
  export declare const coursePricingSchema: z.ZodObject<{
45
45
  bookingRequirement: z.ZodEnum<{
46
- none: "none";
47
46
  required: "required";
47
+ none: "none";
48
48
  }>;
49
49
  pricingStrategy: z.ZodEnum<{
50
50
  single: "single";
@@ -130,8 +130,8 @@ export declare const coursePricingSchema: z.ZodObject<{
130
130
  saleStartsAt: z.ZodNullable<z.ZodString>;
131
131
  saleEndsAt: z.ZodNullable<z.ZodString>;
132
132
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
133
- both: "both";
134
133
  in_person: "in_person";
134
+ both: "both";
135
135
  online: "online";
136
136
  }>>>;
137
137
  }, z.core.$strip>>;
@@ -154,8 +154,8 @@ export declare const publicCourseSchema: z.ZodObject<{
154
154
  enrollmentOpen: z.ZodBoolean;
155
155
  pricing: z.ZodOptional<z.ZodObject<{
156
156
  bookingRequirement: z.ZodEnum<{
157
- none: "none";
158
157
  required: "required";
158
+ none: "none";
159
159
  }>;
160
160
  pricingStrategy: z.ZodEnum<{
161
161
  single: "single";
@@ -241,8 +241,8 @@ export declare const publicCourseSchema: z.ZodObject<{
241
241
  saleStartsAt: z.ZodNullable<z.ZodString>;
242
242
  saleEndsAt: z.ZodNullable<z.ZodString>;
243
243
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
244
- both: "both";
245
244
  in_person: "in_person";
245
+ both: "both";
246
246
  online: "online";
247
247
  }>>>;
248
248
  }, z.core.$strip>>;
@@ -354,8 +354,8 @@ export declare const publicCoursesArraySchema: z.ZodArray<z.ZodObject<{
354
354
  enrollmentOpen: z.ZodBoolean;
355
355
  pricing: z.ZodOptional<z.ZodObject<{
356
356
  bookingRequirement: z.ZodEnum<{
357
- none: "none";
358
357
  required: "required";
358
+ none: "none";
359
359
  }>;
360
360
  pricingStrategy: z.ZodEnum<{
361
361
  single: "single";
@@ -441,8 +441,8 @@ export declare const publicCoursesArraySchema: z.ZodArray<z.ZodObject<{
441
441
  saleStartsAt: z.ZodNullable<z.ZodString>;
442
442
  saleEndsAt: z.ZodNullable<z.ZodString>;
443
443
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
444
- both: "both";
445
444
  in_person: "in_person";
445
+ both: "both";
446
446
  online: "online";
447
447
  }>>>;
448
448
  }, z.core.$strip>>;
@@ -25,7 +25,7 @@ export declare const eventCalendarManifest: import("../..").DefinedBlockManifest
25
25
  readonly required: false;
26
26
  readonly multiple: false;
27
27
  readonly options: {
28
- value: "compact" | "grid" | "stack";
28
+ value: "stack" | "grid" | "compact";
29
29
  }[];
30
30
  }, {
31
31
  readonly id: "defaultCalendarView";
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
2
  export declare const eventPresetSchema: z.ZodEnum<{
3
+ event: "event";
4
+ performance: "performance";
3
5
  class: "class";
4
6
  workshop: "workshop";
5
7
  retreat: "retreat";
6
- performance: "performance";
7
- event: "event";
8
8
  }>;
9
9
  export declare const eventScheduleScopeSchema: z.ZodEnum<{
10
10
  recurring: "recurring";
@@ -193,8 +193,8 @@ export declare const publicEventTicketTypeSchema: z.ZodObject<{
193
193
  }>;
194
194
  capacityLimit: z.ZodNullable<z.ZodNumber>;
195
195
  attendanceScope: z.ZodOptional<z.ZodEnum<{
196
- both: "both";
197
196
  in_person: "in_person";
197
+ both: "both";
198
198
  online: "online";
199
199
  }>>;
200
200
  saleStartsAt: z.ZodNullable<z.ZodString>;
@@ -257,8 +257,8 @@ export declare const publicEventPricingSchema: z.ZodDiscriminatedUnion<[z.ZodObj
257
257
  }>;
258
258
  capacityLimit: z.ZodNullable<z.ZodNumber>;
259
259
  attendanceScope: z.ZodOptional<z.ZodEnum<{
260
- both: "both";
261
260
  in_person: "in_person";
261
+ both: "both";
262
262
  online: "online";
263
263
  }>>;
264
264
  saleStartsAt: z.ZodNullable<z.ZodString>;
@@ -360,11 +360,11 @@ export declare const publicEventSchema: z.ZodObject<{
360
360
  course_session: "course_session";
361
361
  }>>;
362
362
  eventPreset: z.ZodOptional<z.ZodEnum<{
363
+ event: "event";
364
+ performance: "performance";
363
365
  class: "class";
364
366
  workshop: "workshop";
365
367
  retreat: "retreat";
366
- performance: "performance";
367
- event: "event";
368
368
  }>>;
369
369
  eventDestinationMode: z.ZodOptional<z.ZodEnum<{
370
370
  "cms-managed": "cms-managed";
@@ -752,8 +752,8 @@ export declare const publicEventSchema: z.ZodObject<{
752
752
  }>;
753
753
  capacityLimit: z.ZodNullable<z.ZodNumber>;
754
754
  attendanceScope: z.ZodOptional<z.ZodEnum<{
755
- both: "both";
756
755
  in_person: "in_person";
756
+ both: "both";
757
757
  online: "online";
758
758
  }>>;
759
759
  saleStartsAt: z.ZodNullable<z.ZodString>;
@@ -913,8 +913,8 @@ export declare const publicEventSchema: z.ZodObject<{
913
913
  id: z.ZodString;
914
914
  pricing: z.ZodOptional<z.ZodObject<{
915
915
  bookingRequirement: z.ZodEnum<{
916
- none: "none";
917
916
  required: "required";
917
+ none: "none";
918
918
  }>;
919
919
  pricingStrategy: z.ZodEnum<{
920
920
  single: "single";
@@ -1000,8 +1000,8 @@ export declare const publicEventSchema: z.ZodObject<{
1000
1000
  saleStartsAt: z.ZodNullable<z.ZodString>;
1001
1001
  saleEndsAt: z.ZodNullable<z.ZodString>;
1002
1002
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1003
- both: "both";
1004
1003
  in_person: "in_person";
1004
+ both: "both";
1005
1005
  online: "online";
1006
1006
  }>>>;
1007
1007
  }, z.core.$strip>>;
@@ -1020,11 +1020,11 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1020
1020
  course_session: "course_session";
1021
1021
  }>>;
1022
1022
  eventPreset: z.ZodOptional<z.ZodEnum<{
1023
+ event: "event";
1024
+ performance: "performance";
1023
1025
  class: "class";
1024
1026
  workshop: "workshop";
1025
1027
  retreat: "retreat";
1026
- performance: "performance";
1027
- event: "event";
1028
1028
  }>>;
1029
1029
  eventDestinationMode: z.ZodOptional<z.ZodEnum<{
1030
1030
  "cms-managed": "cms-managed";
@@ -1412,8 +1412,8 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1412
1412
  }>;
1413
1413
  capacityLimit: z.ZodNullable<z.ZodNumber>;
1414
1414
  attendanceScope: z.ZodOptional<z.ZodEnum<{
1415
- both: "both";
1416
1415
  in_person: "in_person";
1416
+ both: "both";
1417
1417
  online: "online";
1418
1418
  }>>;
1419
1419
  saleStartsAt: z.ZodNullable<z.ZodString>;
@@ -1573,8 +1573,8 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1573
1573
  id: z.ZodString;
1574
1574
  pricing: z.ZodOptional<z.ZodObject<{
1575
1575
  bookingRequirement: z.ZodEnum<{
1576
- none: "none";
1577
1576
  required: "required";
1577
+ none: "none";
1578
1578
  }>;
1579
1579
  pricingStrategy: z.ZodEnum<{
1580
1580
  single: "single";
@@ -1660,8 +1660,8 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodObject<{
1660
1660
  saleStartsAt: z.ZodNullable<z.ZodString>;
1661
1661
  saleEndsAt: z.ZodNullable<z.ZodString>;
1662
1662
  attendanceScope: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1663
- both: "both";
1664
1663
  in_person: "in_person";
1664
+ both: "both";
1665
1665
  online: "online";
1666
1666
  }>>>;
1667
1667
  }, z.core.$strip>>;
@@ -46,8 +46,8 @@ export declare const locationMapManifest: import("..").DefinedBlockManifest<{
46
46
  max: number;
47
47
  } | undefined;
48
48
  showSlugPreview?: boolean | undefined;
49
- variant?: "full" | "inline" | "limited" | "media" | "notes" | undefined;
50
- richTextVariant?: "full" | "inline" | "limited" | "media" | "notes" | undefined;
49
+ variant?: "full" | "media" | "limited" | "inline" | "notes" | undefined;
50
+ richTextVariant?: "full" | "media" | "limited" | "inline" | "notes" | undefined;
51
51
  cropEditorMode?: "inline" | "dialog" | undefined;
52
52
  cropEditorAutoOpen?: boolean | undefined;
53
53
  mediaPickerAutoOpen?: boolean | undefined;
@@ -82,7 +82,7 @@ export declare const locationMapManifest: import("..").DefinedBlockManifest<{
82
82
  modalConfig?: {
83
83
  buttonLabel?: string | undefined;
84
84
  description?: string | undefined;
85
- buttonVariant?: "outline" | "default" | undefined;
85
+ buttonVariant?: "default" | "outline" | undefined;
86
86
  showCustomizedIndicator?: boolean | undefined;
87
87
  maxWidth?: string | undefined;
88
88
  } | undefined;
@@ -90,7 +90,7 @@ export declare const locationMapManifest: import("..").DefinedBlockManifest<{
90
90
  fullWidth?: boolean | undefined;
91
91
  row?: string | undefined;
92
92
  colSpan?: number | undefined;
93
- layout?: "grid" | "stack" | undefined;
93
+ layout?: "stack" | "grid" | undefined;
94
94
  columns?: number | undefined;
95
95
  gridColsPreset?: "simple2" | "simple3" | "simple4" | "buttonCtaRow" | undefined;
96
96
  gridColumns?: {
@@ -121,7 +121,7 @@ export declare const locationMapManifest: import("..").DefinedBlockManifest<{
121
121
  iconPickerPreset?: "cta" | "feature" | undefined;
122
122
  contentTypeField?: string | undefined;
123
123
  fixedContentType?: string | undefined;
124
- valueFrom?: "id" | "identifier" | "slug" | undefined;
124
+ valueFrom?: "id" | "slug" | "identifier" | undefined;
125
125
  siteOptionSource?: "venues" | "eventCategories" | "staffMembers" | undefined;
126
126
  searchThreshold?: number | undefined;
127
127
  renderInHeader?: boolean | undefined;