@riverbankcms/sdk 0.102.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 (101) hide show
  1. package/README.md +10 -2
  2. package/dist/{PreviewEditorSidebar-BKkhhkJk.mjs → PreviewEditorSidebar-DkNpCPja.mjs} +75 -9
  3. package/dist/{PreviewEditorUI-DIvTqcqI.mjs → PreviewEditorUI-DeNKtqk3.mjs} +2 -2
  4. package/dist/{SdkPreviewModeRuntime-CA2k7Z_T.mjs → SdkPreviewModeRuntime-5bCsXK2y.mjs} +572 -285
  5. package/dist/{SiteChromeCustomizeContext-Bh9-DtMQ.mjs → SiteChromeCustomizeContext-CO1sTK_W.mjs} +336 -36
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +298 -298
  7. package/dist/_dts/api/src/index.d.ts +1 -1
  8. package/dist/_dts/api/src/navigation/contracts.d.ts +6 -6
  9. package/dist/_dts/api/src/siteBanner.d.ts +2 -2
  10. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -1
  11. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  12. package/dist/_dts/blocks/src/index.d.ts +1 -1
  13. package/dist/_dts/blocks/src/server.d.ts +1 -1
  14. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +7 -7
  15. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  16. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +14 -14
  17. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +5 -5
  18. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +227 -227
  19. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
  20. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  21. package/dist/_dts/blocks/src/system/customize/facets.d.ts +2 -2
  22. package/dist/_dts/blocks/src/system/inlineText.d.ts +2 -2
  23. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +177 -177
  24. package/dist/_dts/blocks/src/system/node/schema.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
  27. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -1
  28. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  29. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +154 -18
  30. package/dist/_dts/db/src/schemas/forms.d.ts +15 -15
  31. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -1
  32. package/dist/_dts/preview-next/src/client/preview/CustomizeColorTokenPicker.d.ts +27 -0
  33. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +2 -1
  34. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +10 -2
  35. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +1 -1
  36. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +16 -1
  37. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +3 -2
  38. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  39. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  40. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -0
  41. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +10 -10
  42. package/dist/_dts/sdk/src/next/revalidate.d.ts +14 -1
  43. package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -4
  44. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  45. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  46. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +3 -4
  47. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -0
  48. package/dist/_dts/sdk/src/version.d.ts +1 -1
  49. package/dist/_dts/site-commands/src/commands.d.ts +19 -19
  50. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  51. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +3 -3
  52. package/dist/_dts/theme-core/src/buttons/types.d.ts +7 -7
  53. package/dist/_dts/theme-core/src/cards/types.d.ts +6 -6
  54. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  55. package/dist/_dts/theme-core/src/inputs/types.d.ts +4 -4
  56. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +150 -144
  57. package/dist/_dts/theme-core/src/navigation/types.d.ts +6 -6
  58. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +5 -5
  59. package/dist/_dts/theme-core/src/schema.d.ts +199 -169
  60. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  61. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  62. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +24 -24
  63. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  64. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  65. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -2
  66. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +26 -1
  67. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +77 -0
  68. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +44 -0
  69. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  70. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  71. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  72. package/dist/_dts/ui/src/badge.d.ts +1 -1
  73. package/dist/_dts/ui/src/button.d.ts +1 -1
  74. package/dist/_dts/ui/src/card.d.ts +1 -1
  75. package/dist/_dts/ui/src/toggle.d.ts +2 -2
  76. package/dist/cli/index.mjs +28 -7
  77. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +9 -1
  78. package/dist/client/client.mjs +337 -69
  79. package/dist/client/hooks.mjs +13 -1
  80. package/dist/client/rendering/client.mjs +25 -4
  81. package/dist/client/rendering.mjs +336 -68
  82. package/dist/preview-next/client/runtime.mjs +3 -3
  83. package/dist/{sdk-runtime-K8Oqj97H.mjs → sdk-runtime-C8whifOy.mjs} +1 -1
  84. package/dist/{separator-CRoP34pT.mjs → separator-CM2C5Axs.mjs} +1 -1
  85. package/dist/server/components.mjs +321 -65
  86. package/dist/server/config-validation.mjs +12 -1
  87. package/dist/server/config.mjs +12 -1
  88. package/dist/server/data.mjs +12 -1
  89. package/dist/server/index.mjs +1 -1
  90. package/dist/server/next/revalidate.mjs +31 -1
  91. package/dist/server/next.mjs +325 -66
  92. package/dist/server/page-converter.mjs +12 -1
  93. package/dist/server/prebuild.mjs +1 -1
  94. package/dist/server/rendering/server.mjs +323 -65
  95. package/dist/server/rendering.mjs +323 -65
  96. package/dist/server/routing.mjs +24 -3
  97. package/dist/server/server.mjs +15 -2
  98. package/dist/server/theme-bridge.mjs +153 -32
  99. package/dist/server/theme.mjs +2 -0
  100. package/dist/styles/index.css +123 -30
  101. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import type { APIEndpoints } from '../../../../api/src/index';
2
2
  import type { Theme } from '../../../../blocks/src/index';
3
- import type { FooterSelectionContext, HeaderSelectionContext, SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
3
+ import type { FooterSelectionContext, HeaderNavPreferences, HeaderSelectionContext, SiteChromeBackgroundPreferences } from '../../../../theme-core/src/site-styles/index';
4
4
  import type { CuratedSiteStyle } from '../../../../theme-core/src/site-styles/previewCompiler';
5
5
  import type { SelectionSnapshot } from './StyleConfigurator.state';
6
6
  import { type SiteStylePreviewPlan } from './siteStylePreviewPlanner';
@@ -20,11 +20,12 @@ export type BuildSiteChromeSavePlanInput = Readonly<{
20
20
  headerSelectionContext: Partial<HeaderSelectionContext> | undefined;
21
21
  footerSelectionContext: Partial<FooterSelectionContext> | undefined;
22
22
  headerBrandPreferences: HeaderBrandPreferences;
23
+ headerNavPreferences: HeaderNavPreferences;
23
24
  backgroundPreferences: SiteChromeBackgroundPreferences;
24
25
  themeId: string | null;
25
26
  selectionId: string | null;
26
27
  baseSelectionUpdatedAt: string | null;
27
28
  }>;
28
- export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, footerSelectionContext, headerBrandPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt, }: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
29
+ export declare function buildSiteChromeSavePlan({ surface, siteStyle, selection, baseTheme, headerSelectionContext, footerSelectionContext, headerBrandPreferences, headerNavPreferences, backgroundPreferences, themeId, selectionId, baseSelectionUpdatedAt, }: BuildSiteChromeSavePlanInput): SiteChromeSavePlan;
29
30
  export declare function siteChromeSavePlanBodyForBaseRevision(plan: SiteChromeSavePlan, baseSelectionUpdatedAt: string | null): SaveSiteChromeLookSelectionBody;
30
31
  export {};
@@ -39,9 +39,9 @@ export declare const sectionBackgroundSchema: z.ZodObject<{
39
39
  * Schema for section spacing values.
40
40
  */
41
41
  export declare const sectionSpacingSchema: z.ZodEnum<{
42
+ default: "default";
42
43
  compact: "compact";
43
44
  spacious: "spacious";
44
- default: "default";
45
45
  }>;
46
46
  /**
47
47
  * Schema for container max-width values.
@@ -68,9 +68,9 @@ export declare const sectionOptionsSchema: z.ZodOptional<z.ZodObject<{
68
68
  backgroundImage: z.ZodOptional<z.ZodBoolean>;
69
69
  backgroundGradient: z.ZodOptional<z.ZodBoolean>;
70
70
  spacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
71
+ default: "default";
71
72
  compact: "compact";
72
73
  spacious: "spacious";
73
- default: "default";
74
74
  }>>, z.ZodBoolean]>>;
75
75
  textColor: z.ZodOptional<z.ZodBoolean>;
76
76
  }, z.core.$strip>>;
@@ -104,9 +104,9 @@ export declare const siteStyleConfigSchema: z.ZodOptional<z.ZodObject<{
104
104
  backgroundImage: z.ZodOptional<z.ZodBoolean>;
105
105
  backgroundGradient: z.ZodOptional<z.ZodBoolean>;
106
106
  spacing: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodEnum<{
107
+ default: "default";
107
108
  compact: "compact";
108
109
  spacious: "spacious";
109
- default: "default";
110
110
  }>>, z.ZodBoolean]>>;
111
111
  textColor: z.ZodOptional<z.ZodBoolean>;
112
112
  }, z.core.$strip>>;
@@ -1,6 +1,6 @@
1
1
  export type { TipTapNode, TipTapMark, InlineText, InlineTextAccentTone, InlineTextHighlightTone, InlineTextMark, InlineTextRun, Media, LinkValue, InternalRouteOnlyLinkValue, InternalResolvedLinkValue, InternalLinkValue, ExternalLinkValue, CustomLinkValue, PageLinkValue, EntryLinkValue, RichTextPrimitiveProps, RichTextVariant, } from './content';
2
2
  export type { AppointmentBookingContent, BlogListingContent, BlogPostContent, BodyTextAlignment, BodyTextContent, ButtonVariant, CalendarTabViews, CartContent, CardStylesContent, CheckoutContent, CollectionContent, ColumnsContent, ColumnOption, ContainerStylesContent, CourseDetailsContent, CourseRegistrationContent, CtaFullContent, DisplayMode, EmbedContent, EventCalendarContent, EventDetailsContent, EventLayout, EventListingContent, EventRegistrationContent, EventSpotlightContent, FaqContent, FaqItem, FilterAutoShow, FormBlockContent, GiftingContent, HeroContent, HeroCta, HeroCtaInput, HeroMedia, ImageColSize, ImageGalleryContent, LocationMapContent, LayoutAlign, LayoutWidth, MediaTextAlignment, MediaTextAspectRatio, MediaTextContent, MediaTextImagePosition, NewsletterSignupContent, NewsletterSignupPreset, ProductDetailContent, ProductListContent, SectionStylesContent, SemanticIconId, SemanticSpacing, ShopContent, SingleButtonContent, SiteFooterContent, SiteHeaderContent, StackContentAlignment, StackImagePosition, SystemBlockContentByFullKind, SystemBlockContentByKind, SystemBlockContentFor, SystemBlockShortKind, TeamMembersContent, TestimonialEntryContent, TestimonialsBlockContent, ThumbnailPadding, ThumbnailShape, VideoGridContent, WeekStart, BlockIconValue, FeatureCardIconTreatment, } from './system-block-content';
3
- export type { PageOutline, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
3
+ export type { PageOutline, PageRuntimeBoundary, BlockOutline, RouteMap, RouteMapEntry, OccurrenceContextData, EntrySubrouteContextData, } from './page';
4
4
  export type { Theme, ThemeTokens } from './theme';
5
5
  export type { CustomCssDeclarationsInput, CustomCssRuleInput, CustomCssNestedRuleInput, CustomCssAtRuleInput, KeyframesAtRuleInput, FontFaceAtRuleInput, MediaAtRuleInput, SupportsAtRuleInput, RawAtRuleInput, } from './custom-css';
6
6
  export type { BindingSource, BindingTransformName, BindingDescriptor, BindingInput, BindingMap, BindingContext, } from './bindings';
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Keep these types structurally compatible with the API responses.
5
5
  */
6
+ import type { CompiledBoundaryRuntime } from '../../../theme-core/src/site-styles/index';
6
7
  export type BlockOutline = {
7
8
  id: string | null;
8
9
  kind: string;
@@ -18,6 +19,7 @@ export type PageOutline = {
18
19
  purpose: string;
19
20
  blocks: BlockOutline[];
20
21
  };
22
+ export type PageRuntimeBoundary = CompiledBoundaryRuntime<string>;
21
23
  export type RouteMapEntry = string | {
22
24
  path?: string | null;
23
25
  href?: string | null;
@@ -10,8 +10,8 @@ export declare const simpleFieldTypeEnum: z.ZodEnum<{
10
10
  boolean: "boolean";
11
11
  text: "text";
12
12
  select: "select";
13
- media: "media";
14
13
  link: "link";
14
+ media: "media";
15
15
  richText: "richText";
16
16
  }>;
17
17
  export declare const fieldTypeEnum: z.ZodEnum<{
@@ -19,11 +19,11 @@ export declare const fieldTypeEnum: z.ZodEnum<{
19
19
  boolean: "boolean";
20
20
  text: "text";
21
21
  select: "select";
22
- media: "media";
23
22
  link: "link";
23
+ media: "media";
24
+ group: "group";
24
25
  richText: "richText";
25
26
  repeater: "repeater";
26
- group: "group";
27
27
  }>;
28
28
  /**
29
29
  * Combined field schema supporting all field types.
@@ -36,8 +36,8 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
36
36
  boolean: "boolean";
37
37
  text: "text";
38
38
  select: "select";
39
- media: "media";
40
39
  link: "link";
40
+ media: "media";
41
41
  richText: "richText";
42
42
  }>;
43
43
  label: z.ZodString;
@@ -63,8 +63,8 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
63
63
  boolean: "boolean";
64
64
  text: "text";
65
65
  select: "select";
66
- media: "media";
67
66
  link: "link";
67
+ media: "media";
68
68
  richText: "richText";
69
69
  }>;
70
70
  label: z.ZodString;
@@ -83,8 +83,8 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
83
83
  boolean: "boolean";
84
84
  text: "text";
85
85
  select: "select";
86
- media: "media";
87
86
  link: "link";
87
+ media: "media";
88
88
  richText: "richText";
89
89
  }>;
90
90
  label: z.ZodString;
@@ -167,8 +167,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
167
167
  blockDescription: z.ZodNullable<z.ZodString>;
168
168
  category: z.ZodEnum<{
169
169
  content: "content";
170
- media: "media";
171
170
  layout: "layout";
171
+ media: "media";
172
172
  marketing: "marketing";
173
173
  blog: "blog";
174
174
  interactive: "interactive";
@@ -180,8 +180,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
180
180
  boolean: "boolean";
181
181
  text: "text";
182
182
  select: "select";
183
- media: "media";
184
183
  link: "link";
184
+ media: "media";
185
185
  richText: "richText";
186
186
  }>;
187
187
  label: z.ZodString;
@@ -207,8 +207,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
207
207
  boolean: "boolean";
208
208
  text: "text";
209
209
  select: "select";
210
- media: "media";
211
210
  link: "link";
211
+ media: "media";
212
212
  richText: "richText";
213
213
  }>;
214
214
  label: z.ZodString;
@@ -227,8 +227,8 @@ export declare const pass1OutputSchema: z.ZodObject<{
227
227
  boolean: "boolean";
228
228
  text: "text";
229
229
  select: "select";
230
- media: "media";
231
230
  link: "link";
231
+ media: "media";
232
232
  richText: "richText";
233
233
  }>;
234
234
  label: z.ZodString;
@@ -39,6 +39,10 @@ export type RevalidationRequestMetadata = Readonly<{
39
39
  correlationId?: string;
40
40
  monitorRunId?: string;
41
41
  }>;
42
+ export type RevalidationCacheClient = Readonly<{
43
+ clearCache(): void | Promise<void>;
44
+ }>;
45
+ export type RevalidationClientCacheStatus = 'cleared' | 'failed' | 'skipped';
42
46
  /**
43
47
  * Normalize a public URL path for Next revalidation.
44
48
  */
@@ -58,6 +62,14 @@ export interface RevalidateHandlerOptions {
58
62
  * Useful for logging or analytics.
59
63
  */
60
64
  onRevalidate?: (payload: WebhookPayload, revalidatedItems: string[], metadata: RevalidationRequestMetadata) => void;
65
+ /**
66
+ * Optional Riverbank SDK client factory. When provided, the handler makes a
67
+ * best-effort attempt to clear this process's SDK client response cache after
68
+ * a valid webhook is revalidated. Serverless deployments may run webhook and
69
+ * render routes in different processes, so this is not a cross-instance cache
70
+ * invalidation mechanism.
71
+ */
72
+ getClient?: () => RevalidationCacheClient | Promise<RevalidationCacheClient>;
61
73
  }
62
74
  /**
63
75
  * Create a Next.js API route handler for webhook revalidation.
@@ -66,7 +78,8 @@ export interface RevalidateHandlerOptions {
66
78
  * 1. Verifies the webhook signature using HMAC-SHA256
67
79
  * 2. Calls `revalidateTag()` for each normalized tag in the payload
68
80
  * 3. Calls `revalidatePath()` for each normalized path in the payload
69
- * 4. Returns a JSON response with the revalidation results
81
+ * 4. Best-effort clears the current process's SDK client cache when configured
82
+ * 5. Returns a JSON response with the revalidation results
70
83
  *
71
84
  * @param options - Configuration options
72
85
  * @returns A Next.js Route Handler function
@@ -1,5 +1,7 @@
1
1
  import type { AddressedLocationValue, BusinessAddress, BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig, PublicEventPricing } from '../../../core/src/index';
2
+ import type { SdkRuntimePageSurfaceSubject as ApiSdkRuntimePageSurfaceSubject } from '../../../api/src/index';
2
3
  import type { Media, MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent, Theme } from '../contracts';
4
+ import type { CompiledBoundaryRuntime } from '../../../theme-core/src/site-styles/index';
3
5
  import type { BlockFieldConfig as SdkBlockFieldConfig, BlockFieldOptionsMap as SdkBlockFieldOptionsMap, ContentConfig as SdkContentConfig, ContainerOptionsConfig as SdkContainerOptionsConfig, FieldSelectOption as SdkFieldSelectOption, SdkCustomBlock, SdkThemeConfig, SdkThemePalette, SectionBackground as SdkSectionBackground, SectionOptionsConfig as SdkSectionOptionsConfig, SiteStyleConfig as SdkSiteStyleConfig } from '../config/types';
4
6
  export type PublicTeamMemberSummary = {
5
7
  id: string;
@@ -371,6 +373,7 @@ export type SdkRuntimePage = {
371
373
  purpose?: string;
372
374
  content: Record<string, unknown>;
373
375
  }>;
376
+ runtimeBoundaries?: readonly CompiledBoundaryRuntime<string>[];
374
377
  };
375
378
  export type SdkTemplate = {
376
379
  id: string;
@@ -414,10 +417,7 @@ export type SdkSurfaceSlotContent = {
414
417
  publishedContentId?: string | null;
415
418
  }>;
416
419
  };
417
- export type SdkRuntimePageSurfaceSubject = Readonly<{
418
- kind: 'eventSeries';
419
- eventSeriesId: string;
420
- }>;
420
+ export type SdkRuntimePageSurfaceSubject = ApiSdkRuntimePageSurfaceSubject;
421
421
  export type SdkRuntimePageSurfaceContentSource = Readonly<{
422
422
  kind: 'pageSurface';
423
423
  contentTypeId: string;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, ResolveImageUrlContextInput, RouteMap, Theme, ThemeTokens } from '../contracts';
2
+ import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, PageRuntimeBoundary, ResolveImageUrlContextInput, RouteMap, Theme, ThemeTokens } from '../contracts';
3
3
  import type { SdkCustomBlock } from '../config/types';
4
4
  import type { BlockOverrides } from './overrides';
5
5
  import type { SiteBookingOfferingPresetSummary } from '../public-api/contracts';
@@ -32,6 +32,7 @@ export type SdkConfigForRenderer = {
32
32
  export type PageRendererProps = {
33
33
  theme: Theme;
34
34
  page: PageOutline | null;
35
+ runtimeBoundaries?: readonly PageRuntimeBoundary[];
35
36
  usePlaceholders?: boolean;
36
37
  dataContext?: PageRendererDataContext;
37
38
  routeMap?: RouteMap;
@@ -1,5 +1,5 @@
1
1
  import type { ReactElement } from 'react';
2
- import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, RouteMap, Theme, ThemeTokens } from '../../contracts';
2
+ import type { EntrySubrouteContextData, MediaAssetIndexItem, OccurrenceContextData, PageOutline, PageRuntimeBoundary, RouteMap, Theme, ThemeTokens } from '../../contracts';
3
3
  import type { ResolvedBlockData } from '../../data';
4
4
  import type { SiteBookingOfferingPresetSummary } from '../../public-api/contracts';
5
5
  import type { RuntimeSdkConfig } from '../helpers/loadPage';
@@ -9,6 +9,7 @@ import type { BlockOverrides } from '../overrides';
9
9
  import type { SdkCustomBlock } from '../../config/types';
10
10
  export type PageProps = {
11
11
  page: PageOutline;
12
+ runtimeBoundaries?: readonly PageRuntimeBoundary[];
12
13
  theme: Theme;
13
14
  siteId: string;
14
15
  themeTokens?: ThemeTokens;
@@ -94,4 +95,4 @@ export type PageHydrationBootstrapConfig = {
94
95
  mediaAssets?: readonly MediaAssetIndexItem[];
95
96
  };
96
97
  export declare function toPageHydrationBootstrapConfig(props: Pick<PageProps, 'siteId' | 'supabaseUrl' | 'mediaAssets'>): PageHydrationBootstrapConfig;
97
- export declare function PageContent({ page, theme, themeTokens: providedTokens, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext, themeRuntime, }: PageProps): ReactElement;
98
+ export declare function PageContent({ page, runtimeBoundaries, theme, themeTokens: providedTokens, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext, themeRuntime, }: PageProps): ReactElement;
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { MediaAssetIndexItem, RouteMap, Theme } from '../../contracts';
8
8
  import type { RiverbankClient, PageResponse, SiteResponse } from '../../client/types';
9
+ import type { SdkRuntimePageSurfaceSubject } from '../../public-api/contracts';
9
10
  import type { PageProps } from '../components/Page';
10
11
  import { prefetchBlockData } from '../../data/prefetchBlockData';
11
12
  import type { ResolvedBlockData } from '../../data/prefetchBlockData';
@@ -93,6 +94,7 @@ export type PageContentResult = {
93
94
  pageMetadata: PagePreviewMetadata;
94
95
  /** Page outline ready for rendering with <Page> component */
95
96
  page: PageProps['page'];
97
+ runtimeBoundaries?: PageProps['runtimeBoundaries'];
96
98
  /** Site theme for styling */
97
99
  theme: Theme;
98
100
  /** Site ID */
@@ -174,10 +176,7 @@ export type PageSurfaceContentData = {
174
176
  id: string;
175
177
  routeId: string;
176
178
  readinessState: 'shippable';
177
- subject: {
178
- kind: 'eventSeries';
179
- eventSeriesId: string;
180
- };
179
+ subject: SdkRuntimePageSurfaceSubject;
181
180
  title: string;
182
181
  slug: string | null;
183
182
  path: string | null;
@@ -56,6 +56,7 @@ type PageSuccessState = {
56
56
  error: null;
57
57
  type: 'page';
58
58
  page: PageProps['page'];
59
+ runtimeBoundaries?: PageProps['runtimeBoundaries'];
59
60
  entry: null;
60
61
  theme: Theme;
61
62
  siteId: string;
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.102.0";
11
+ export declare const SDK_VERSION = "0.103.0";
@@ -173,8 +173,8 @@ declare const navigationLinkCommandInputSchema: z.ZodDiscriminatedUnion<[z.ZodOb
173
173
  }, z.core.$strict>, z.ZodObject<{
174
174
  kind: z.ZodLiteral<"cart">;
175
175
  badge: z.ZodEnum<{
176
- hidden: "hidden";
177
176
  "show-count": "show-count";
177
+ hidden: "hidden";
178
178
  }>;
179
179
  label: z.ZodDiscriminatedUnion<[z.ZodObject<{
180
180
  kind: z.ZodLiteral<"icon-only">;
@@ -196,8 +196,8 @@ export declare const upsertNavigationMenuCommandSchema: z.ZodObject<{
196
196
  main: "main";
197
197
  }>>;
198
198
  role: z.ZodOptional<z.ZodEnum<{
199
- footer: "footer";
200
199
  primary: "primary";
200
+ footer: "footer";
201
201
  }>>;
202
202
  items: z.ZodReadonly<z.ZodArray<z.ZodType<Readonly<{
203
203
  label: string;
@@ -410,10 +410,10 @@ export declare const upsertEventSeriesCommandSchema: z.ZodObject<{
410
410
  title: z.ZodString;
411
411
  archetype: z.ZodEnum<{
412
412
  custom: "custom";
413
+ performance: "performance";
413
414
  class: "class";
414
415
  workshop: "workshop";
415
416
  retreat: "retreat";
416
- performance: "performance";
417
417
  }>;
418
418
  status: z.ZodOptional<z.ZodEnum<{
419
419
  active: "active";
@@ -469,8 +469,8 @@ export declare const upsertEventSeriesCommandSchema: z.ZodObject<{
469
469
  sortOrder: z.ZodOptional<z.ZodNumber>;
470
470
  capacityLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
471
471
  attendanceScope: z.ZodOptional<z.ZodEnum<{
472
- both: "both";
473
472
  in_person: "in_person";
473
+ both: "both";
474
474
  online: "online";
475
475
  }>>;
476
476
  saleStartsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -673,8 +673,8 @@ export declare const configureBookingSettingsCommandSchema: z.ZodObject<{
673
673
  appointmentBookingPolicies: z.ZodOptional<z.ZodObject<{
674
674
  refunds: z.ZodOptional<z.ZodObject<{
675
675
  mode: z.ZodEnum<{
676
- always: "always";
677
676
  never: "never";
677
+ always: "always";
678
678
  cutoff: "cutoff";
679
679
  }>;
680
680
  cutoffHours: z.ZodOptional<z.ZodNumber>;
@@ -686,11 +686,11 @@ export declare const configureBookingSettingsCommandSchema: z.ZodObject<{
686
686
  "system-managed": "system-managed";
687
687
  }>;
688
688
  presetOverrides: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
689
+ event: "event";
690
+ performance: "performance";
689
691
  class: "class";
690
692
  workshop: "workshop";
691
693
  retreat: "retreat";
692
- performance: "performance";
693
- event: "event";
694
694
  }> & z.core.$partial, z.ZodEnum<{
695
695
  "cms-managed": "cms-managed";
696
696
  "system-managed": "system-managed";
@@ -1027,8 +1027,8 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1027
1027
  appointmentBookingPolicies: z.ZodOptional<z.ZodObject<{
1028
1028
  refunds: z.ZodOptional<z.ZodObject<{
1029
1029
  mode: z.ZodEnum<{
1030
- always: "always";
1031
1030
  never: "never";
1031
+ always: "always";
1032
1032
  cutoff: "cutoff";
1033
1033
  }>;
1034
1034
  cutoffHours: z.ZodOptional<z.ZodNumber>;
@@ -1040,11 +1040,11 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1040
1040
  "system-managed": "system-managed";
1041
1041
  }>;
1042
1042
  presetOverrides: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
1043
+ event: "event";
1044
+ performance: "performance";
1043
1045
  class: "class";
1044
1046
  workshop: "workshop";
1045
1047
  retreat: "retreat";
1046
- performance: "performance";
1047
- event: "event";
1048
1048
  }> & z.core.$partial, z.ZodEnum<{
1049
1049
  "cms-managed": "cms-managed";
1050
1050
  "system-managed": "system-managed";
@@ -1161,8 +1161,8 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1161
1161
  main: "main";
1162
1162
  }>>;
1163
1163
  role: z.ZodOptional<z.ZodEnum<{
1164
- footer: "footer";
1165
1164
  primary: "primary";
1165
+ footer: "footer";
1166
1166
  }>>;
1167
1167
  items: z.ZodReadonly<z.ZodArray<z.ZodType<Readonly<{
1168
1168
  label: string;
@@ -1376,10 +1376,10 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1376
1376
  title: z.ZodString;
1377
1377
  archetype: z.ZodEnum<{
1378
1378
  custom: "custom";
1379
+ performance: "performance";
1379
1380
  class: "class";
1380
1381
  workshop: "workshop";
1381
1382
  retreat: "retreat";
1382
- performance: "performance";
1383
1383
  }>;
1384
1384
  status: z.ZodOptional<z.ZodEnum<{
1385
1385
  active: "active";
@@ -1435,8 +1435,8 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1435
1435
  sortOrder: z.ZodOptional<z.ZodNumber>;
1436
1436
  capacityLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1437
1437
  attendanceScope: z.ZodOptional<z.ZodEnum<{
1438
- both: "both";
1439
1438
  in_person: "in_person";
1439
+ both: "both";
1440
1440
  online: "online";
1441
1441
  }>>;
1442
1442
  saleStartsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1908,8 +1908,8 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1908
1908
  appointmentBookingPolicies: z.ZodOptional<z.ZodObject<{
1909
1909
  refunds: z.ZodOptional<z.ZodObject<{
1910
1910
  mode: z.ZodEnum<{
1911
- always: "always";
1912
1911
  never: "never";
1912
+ always: "always";
1913
1913
  cutoff: "cutoff";
1914
1914
  }>;
1915
1915
  cutoffHours: z.ZodOptional<z.ZodNumber>;
@@ -1921,11 +1921,11 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1921
1921
  "system-managed": "system-managed";
1922
1922
  }>;
1923
1923
  presetOverrides: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
1924
+ event: "event";
1925
+ performance: "performance";
1924
1926
  class: "class";
1925
1927
  workshop: "workshop";
1926
1928
  retreat: "retreat";
1927
- performance: "performance";
1928
- event: "event";
1929
1929
  }> & z.core.$partial, z.ZodEnum<{
1930
1930
  "cms-managed": "cms-managed";
1931
1931
  "system-managed": "system-managed";
@@ -2042,8 +2042,8 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
2042
2042
  main: "main";
2043
2043
  }>>;
2044
2044
  role: z.ZodOptional<z.ZodEnum<{
2045
- footer: "footer";
2046
2045
  primary: "primary";
2046
+ footer: "footer";
2047
2047
  }>>;
2048
2048
  items: z.ZodReadonly<z.ZodArray<z.ZodType<Readonly<{
2049
2049
  label: string;
@@ -2257,10 +2257,10 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
2257
2257
  title: z.ZodString;
2258
2258
  archetype: z.ZodEnum<{
2259
2259
  custom: "custom";
2260
+ performance: "performance";
2260
2261
  class: "class";
2261
2262
  workshop: "workshop";
2262
2263
  retreat: "retreat";
2263
- performance: "performance";
2264
2264
  }>;
2265
2265
  status: z.ZodOptional<z.ZodEnum<{
2266
2266
  active: "active";
@@ -2316,8 +2316,8 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
2316
2316
  sortOrder: z.ZodOptional<z.ZodNumber>;
2317
2317
  capacityLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
2318
2318
  attendanceScope: z.ZodOptional<z.ZodEnum<{
2319
- both: "both";
2320
2319
  in_person: "in_person";
2320
+ both: "both";
2321
2321
  online: "online";
2322
2322
  }>>;
2323
2323
  saleStartsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -28,9 +28,9 @@ export declare const accordionSystemSchema: z.ZodObject<{
28
28
  medium: "medium";
29
29
  none: "none";
30
30
  compact: "compact";
31
- cozy: "cozy";
32
31
  comfortable: "comfortable";
33
32
  spacious: "spacious";
33
+ cozy: "cozy";
34
34
  }>;
35
35
  corners: z.ZodNullable<z.ZodEnum<{
36
36
  soft: "soft";
@@ -50,8 +50,8 @@ export declare const accordionSystemSchema: z.ZodObject<{
50
50
  low: "low";
51
51
  }>;
52
52
  softness: z.ZodNullable<z.ZodEnum<{
53
- soft: "soft";
54
53
  crisp: "crisp";
54
+ soft: "soft";
55
55
  hard: "hard";
56
56
  }>>;
57
57
  position: z.ZodEnum<{
@@ -96,9 +96,9 @@ export declare const accordionSystemSchema: z.ZodObject<{
96
96
  lg: "lg";
97
97
  }>>;
98
98
  letterSpacing: z.ZodOptional<z.ZodEnum<{
99
- wide: "wide";
100
99
  tight: "tight";
101
100
  normal: "normal";
101
+ wide: "wide";
102
102
  }>>;
103
103
  textTransform: z.ZodOptional<z.ZodEnum<{
104
104
  none: "none";
@@ -30,9 +30,9 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
30
30
  description: z.ZodString;
31
31
  tags: z.ZodObject<{
32
32
  tone: z.ZodOptional<z.ZodEnum<{
33
- classic: "classic";
34
33
  bold: "bold";
35
34
  minimal: "minimal";
35
+ classic: "classic";
36
36
  }>>;
37
37
  energy: z.ZodOptional<z.ZodEnum<{
38
38
  calm: "calm";
@@ -85,9 +85,9 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
85
85
  }>>;
86
86
  italic: z.ZodOptional<z.ZodBoolean>;
87
87
  paddingPreset: z.ZodOptional<z.ZodEnum<{
88
+ default: "default";
88
89
  compact: "compact";
89
90
  spacious: "spacious";
90
- default: "default";
91
91
  }>>;
92
92
  hoverTransform: z.ZodEnum<{
93
93
  none: "none";
@@ -149,8 +149,8 @@ export declare const buttonPersonalitySchema: z.ZodObject<{
149
149
  low: "low";
150
150
  }>;
151
151
  softness: z.ZodNullable<z.ZodEnum<{
152
- soft: "soft";
153
152
  crisp: "crisp";
153
+ soft: "soft";
154
154
  hard: "hard";
155
155
  }>>;
156
156
  position: z.ZodDefault<z.ZodEnum<{
@@ -136,9 +136,9 @@ export declare const hoverColorSchema: z.ZodEnum<{
136
136
  saturate: "saturate";
137
137
  }>;
138
138
  export declare const buttonPaddingPresetSchema: z.ZodEnum<{
139
+ default: "default";
139
140
  compact: "compact";
140
141
  spacious: "spacious";
141
- default: "default";
142
142
  }>;
143
143
  export declare const gradientStyleSchema: z.ZodEnum<{
144
144
  linear: "linear";
@@ -152,11 +152,11 @@ export declare const gradientSharpnessSchema: z.ZodEnum<{
152
152
  }>;
153
153
  export declare const prioritySchema: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
154
154
  export declare const variantRoleSchema: z.ZodEnum<{
155
- accent: "accent";
156
155
  link: "link";
156
+ outline: "outline";
157
+ accent: "accent";
157
158
  primary: "primary";
158
159
  secondary: "secondary";
159
- outline: "outline";
160
160
  ghost: "ghost";
161
161
  tertiary: "tertiary";
162
162
  }>;
@@ -262,9 +262,9 @@ export declare const buttonGlobalSettingsSchema: z.ZodObject<{
262
262
  }>>;
263
263
  italic: z.ZodOptional<z.ZodBoolean>;
264
264
  paddingPreset: z.ZodOptional<z.ZodEnum<{
265
+ default: "default";
265
266
  compact: "compact";
266
267
  spacious: "spacious";
267
- default: "default";
268
268
  }>>;
269
269
  hoverTransform: z.ZodEnum<{
270
270
  none: "none";
@@ -394,8 +394,8 @@ export declare const buttonVariantSchema: z.ZodObject<{
394
394
  low: "low";
395
395
  }>;
396
396
  softness: z.ZodNullable<z.ZodEnum<{
397
- soft: "soft";
398
397
  crisp: "crisp";
398
+ soft: "soft";
399
399
  hard: "hard";
400
400
  }>>;
401
401
  position: z.ZodDefault<z.ZodEnum<{
@@ -480,9 +480,9 @@ export declare const buttonSystemSchema: z.ZodObject<{
480
480
  }>>;
481
481
  italic: z.ZodOptional<z.ZodBoolean>;
482
482
  paddingPreset: z.ZodOptional<z.ZodEnum<{
483
+ default: "default";
483
484
  compact: "compact";
484
485
  spacious: "spacious";
485
- default: "default";
486
486
  }>>;
487
487
  hoverTransform: z.ZodEnum<{
488
488
  none: "none";
@@ -544,8 +544,8 @@ export declare const buttonSystemSchema: z.ZodObject<{
544
544
  low: "low";
545
545
  }>;
546
546
  softness: z.ZodNullable<z.ZodEnum<{
547
- soft: "soft";
548
547
  crisp: "crisp";
548
+ soft: "soft";
549
549
  hard: "hard";
550
550
  }>>;
551
551
  position: z.ZodDefault<z.ZodEnum<{