@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
@@ -20129,6 +20129,8 @@ var init_schema = __esmMin((() => {
20129
20129
  navStyle: headerNavStyle,
20130
20130
  navColor: themeColorTokenSchema.nullable().optional(),
20131
20131
  navWeight: navFontWeight.default("medium"),
20132
+ navTypography: z$1.enum(["body", "heading"]).optional(),
20133
+ navTextSize: navLinkStyleSchema.shape.textSize,
20132
20134
  container: headerContainerSchema,
20133
20135
  border: headerBorderSchema,
20134
20136
  shadow: componentShadowSchema.optional(),
@@ -21787,9 +21789,38 @@ var init_backgroundAppearance = __esmMin((() => {
21787
21789
  }));
21788
21790
  var init_compositionBudget = __esmMin((() => {
21789
21791
  init_types$17();
21790
- })), init_schemaVersionedJson = __esmMin((() => {})), noneBoundaryOption, softBoundaryOption, spaciousBoundaryOption;
21792
+ }));
21793
+ var init_schemaVersionedJson = __esmMin((() => {}));
21794
+ //#endregion
21795
+ //#region ../theme-core/src/site-styles/sectionTransitions.ts
21796
+ function boundaryRuntimeMetrics(family, size, heightExpression) {
21797
+ return {
21798
+ family,
21799
+ size,
21800
+ heightCss: heightExpression.includes(" ") ? `calc(${heightExpression})` : heightExpression,
21801
+ reserveCss: `calc((${heightExpression}) / 2)`
21802
+ };
21803
+ }
21804
+ function boundaryRuntimeMetricsForTransition(transition) {
21805
+ return sectionBoundaryRuntimeMetricsByTransition[transition];
21806
+ }
21807
+ var sectionBoundaryRuntimeMetricsByTransition, noneBoundaryOption, softBoundaryOption, spaciousBoundaryOption;
21791
21808
  var init_sectionTransitions = __esmMin((() => {
21792
21809
  init_types$17();
21810
+ sectionBoundaryRuntimeMetricsByTransition = {
21811
+ none: null,
21812
+ "soft-fade-short": boundaryRuntimeMetrics("gradient", "medium", "6rem + 2px"),
21813
+ "soft-fade-long": boundaryRuntimeMetrics("gradient", "spacious", "10rem"),
21814
+ "soft-fade-expansive": boundaryRuntimeMetrics("gradient", "expansive", "14rem"),
21815
+ "wave-edge": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
21816
+ "wave-edge-balanced": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
21817
+ "wave-edge-gentle": boundaryRuntimeMetrics("wave", "compact", "4.5rem + 2px"),
21818
+ "wave-edge-bold": boundaryRuntimeMetrics("wave", "large", "7rem + 2px"),
21819
+ "wave-edge-drift": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
21820
+ "angle-edge": boundaryRuntimeMetrics("angle", "medium", "6rem + 2px"),
21821
+ "angle-edge-subtle": boundaryRuntimeMetrics("angle", "compact", "4.5rem + 2px"),
21822
+ "angle-edge-steep": boundaryRuntimeMetrics("angle", "large", "7rem + 2px")
21823
+ };
21793
21824
  noneBoundaryOption = {
21794
21825
  id: asBoundaryOptionId("break:none"),
21795
21826
  label: "None",
@@ -21854,12 +21885,12 @@ function validateUniquePageDesignPins(intent, ctx) {
21854
21885
  label: "block Look pin"
21855
21886
  });
21856
21887
  addDuplicateStringIssues(ctx, {
21857
- values: intent.boundaryPins.map((pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)),
21888
+ values: intent.boundaryPins.map((pin) => boundaryKey$1(pin.previousBlockId, pin.nextBlockId)),
21858
21889
  path: ["boundaryPins"],
21859
21890
  label: "boundary pin"
21860
21891
  });
21861
21892
  }
21862
- function boundaryKey(previousBlockId, nextBlockId) {
21893
+ function boundaryKey$1(previousBlockId, nextBlockId) {
21863
21894
  return makeBoundaryId(previousBlockId, nextBlockId);
21864
21895
  }
21865
21896
  var pageDesignUserPinnedAppearanceChoiceSchema, pageDesignUserPinnedBoundaryChoiceSchema, pageDesignBoundaryTreatmentSchema, pageDesignUserPinnedBoundaryTreatmentChoiceSchema, pageDesignBlockLookPinSchema, pageDesignBoundaryPinSchema, legacyPageDesignBoundaryPinSchema;
@@ -22307,7 +22338,7 @@ function asHeaderStyleId(value) {
22307
22338
  * optional nested styling fields that would otherwise leak from another Look.
22308
22339
  */
22309
22340
  function baseHeader(theme) {
22310
- const { navLinkStyle: _navLinkStyle, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
22341
+ const { navLinkStyle: _navLinkStyle, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
22311
22342
  return {
22312
22343
  ...header,
22313
22344
  navContainer: {
@@ -24444,6 +24475,7 @@ var init_runtimeCompiler = __esmMin((() => {
24444
24475
  init_designState();
24445
24476
  init_types$17();
24446
24477
  init_accessibleSurfaces();
24478
+ init_sectionTransitions();
24447
24479
  defaultDesignRuntimeRules = defineDesignRuntimeRules({
24448
24480
  sectionSurfaces: {
24449
24481
  base: {},
@@ -26241,13 +26273,22 @@ function toSiteChromeBackgroundColorTokens(tokenNames) {
26241
26273
  return token ? [token] : [];
26242
26274
  });
26243
26275
  }
26244
- var siteChromeBackgroundColorTokens, quickSiteChromeBackgroundColorTokens, init_siteChromeBackgrounds = __esmMin((() => {
26276
+ var siteChromeBackgroundColorTokens, quickSiteChromeBackgroundColorTokens;
26277
+ var init_siteChromeBackgrounds = __esmMin((() => {
26245
26278
  init_backgroundAppearance();
26246
26279
  init_rawStyleFields();
26247
26280
  siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
26248
26281
  quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
26249
26282
  siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
26250
- })), themeTokenRecipeOptions;
26283
+ }));
26284
+ function mergeHeaderNavTypographyPreference(style, preferences) {
26285
+ return preferences.typography === "inherit" && preferences.fontSize === "inherit" ? style : {
26286
+ ...style,
26287
+ ...preferences.typography === "inherit" ? {} : { typography: preferences.typography },
26288
+ ...preferences.fontSize === "inherit" ? {} : { textSize: preferences.fontSize }
26289
+ };
26290
+ }
26291
+ var init_siteChromeNavPreferences = __esmMin((() => {})), themeTokenRecipeOptions;
26251
26292
  var init_tokenRecipes = __esmMin((() => {
26252
26293
  themeTokenRecipeOptions = {
26253
26294
  palette: [
@@ -26332,6 +26373,7 @@ var init_site_styles = __esmMin((() => {
26332
26373
  init_runtimeCompiler();
26333
26374
  init_sectionTransitions();
26334
26375
  init_siteChromeBackgrounds();
26376
+ init_siteChromeNavPreferences();
26335
26377
  init_siteStyleThemeCompiler();
26336
26378
  init_siteStyleBlockPolicies();
26337
26379
  init_sourceCatalogs();
@@ -59102,6 +59144,7 @@ var init_navDropdownSizing = __esmMin((() => {
59102
59144
  //#endregion
59103
59145
  //#region ../theme-core/src/header/generateHeaderCss.ts
59104
59146
  init_resolver$1();
59147
+ init_siteChromeNavPreferences();
59105
59148
  init_shared$5();
59106
59149
  init_breakpoints();
59107
59150
  init_navDropdownSizing();
@@ -59283,15 +59326,19 @@ function generateLogoTextBehaviorStyles(logoText, themeId) {
59283
59326
  * legacy navStyle, navWeight, navColor, and navEffects settings.
59284
59327
  */
59285
59328
  function generateNavLinkStyles(header, themeId, tokens, theme, contrastTreatment, navTextSize) {
59329
+ const navPreferences = {
59330
+ typography: header.navTypography ?? "inherit",
59331
+ fontSize: header.navTextSize ?? "inherit"
59332
+ };
59286
59333
  if (header.navLinkStyle) return generateNavLinkCSS({
59287
59334
  themeId,
59288
59335
  tokens,
59289
59336
  theme,
59290
- style: contrastTreatment || navTextSize ? {
59337
+ style: mergeHeaderNavTypographyPreference(contrastTreatment || navTextSize ? {
59291
59338
  ...header.navLinkStyle,
59292
59339
  ...contrastTreatment ? { contrastTreatment } : {},
59293
59340
  ...navTextSize ? { textSize: navTextSize } : {}
59294
- } : header.navLinkStyle,
59341
+ } : header.navLinkStyle, navPreferences),
59295
59342
  className: "header-nav-link"
59296
59343
  });
59297
59344
  const navStyle = header.navStyle ?? "minimal";
@@ -59363,7 +59410,7 @@ function generateNavLinkStyles(header, themeId, tokens, theme, contrastTreatment
59363
59410
  themeId,
59364
59411
  tokens,
59365
59412
  theme,
59366
- style: mergedStyle,
59413
+ style: mergeHeaderNavTypographyPreference(mergedStyle, navPreferences),
59367
59414
  className: "header-nav-link"
59368
59415
  });
59369
59416
  }
@@ -59715,6 +59762,7 @@ function generateFooterBottomTextLinkStyles(footer, themeId, tokens) {
59715
59762
  //#endregion
59716
59763
  //#region ../theme-core/src/layout/generateLayoutCss.ts
59717
59764
  init_breakpoints();
59765
+ init_sectionTransitions();
59718
59766
  /**
59719
59767
  * Generate layout CSS for theme scope (background, text color)
59720
59768
  *
@@ -59756,6 +59804,9 @@ const boldWaveTransitionMask = svgDataUrl("<svg viewBox='0 0 1440 72' xmlns='htt
59756
59804
  const driftWaveTransitionMask = svgDataUrl("<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V39C115 31 205 54 340 48C505 41 610 16 760 33C920 51 1015 64 1160 44C1280 27 1375 35 1440 50V72H0Z' fill='white'/></svg>");
59757
59805
  function generateSiteStyleTransitionCss(themeId) {
59758
59806
  const selector = `:where([data-theme-scope="${themeId}"])`;
59807
+ const compactBoundaryHeight = requiredBoundaryHeightCss("wave-edge-gentle");
59808
+ const mediumBoundaryHeight = requiredBoundaryHeightCss("wave-edge");
59809
+ const largeBoundaryHeight = requiredBoundaryHeightCss("wave-edge-bold");
59759
59810
  return `${selector} [data-style-group^='site-style-transition-'] {
59760
59811
  position: relative;
59761
59812
  z-index: 2;
@@ -59763,23 +59814,48 @@ function generateSiteStyleTransitionCss(themeId) {
59763
59814
  --site-style-transition-to: rgb(var(--tb-background));
59764
59815
  }
59765
59816
 
59766
- ${selector} [data-block-transition][data-style-group^='site-style-transition-'] {
59817
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-'] {
59767
59818
  position: relative;
59768
59819
  z-index: 3;
59769
59820
  height: 0;
59770
59821
  pointer-events: none;
59822
+ --site-style-boundary-height: ${mediumBoundaryHeight};
59823
+ }
59824
+
59825
+ ${selector} [data-block][data-site-style-boundary-before] > :where([data-slot='section']) {
59826
+ padding-top: calc(var(--rb-section-pad-y, 0rem) + var(--site-style-boundary-before-reserve, 0rem));
59771
59827
  }
59772
59828
 
59773
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-']::after,
59774
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-']::after,
59775
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade']::after {
59829
+ ${selector} [data-block][data-site-style-boundary-after] > :where([data-slot='section']) {
59830
+ padding-bottom: calc(var(--rb-section-pad-y, 0rem) + var(--site-style-boundary-after-reserve, 0rem));
59831
+ }
59832
+
59833
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::before,
59834
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::before,
59835
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::before {
59776
59836
  content: '';
59777
59837
  position: absolute;
59778
59838
  left: 0;
59779
59839
  right: 0;
59780
- bottom: -2px;
59840
+ top: 0;
59841
+ transform: translateY(-50%);
59842
+ z-index: 0;
59843
+ height: var(--site-style-boundary-height);
59844
+ background: var(--site-style-transition-from);
59845
+ pointer-events: none;
59846
+ }
59847
+
59848
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::after,
59849
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::after,
59850
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::after {
59851
+ content: '';
59852
+ position: absolute;
59853
+ left: 0;
59854
+ right: 0;
59855
+ top: 0;
59856
+ transform: translateY(-50%);
59781
59857
  z-index: 1;
59782
- height: calc(6rem + 2px);
59858
+ height: var(--site-style-boundary-height);
59783
59859
  pointer-events: none;
59784
59860
  }
59785
59861
 
@@ -59817,7 +59893,7 @@ ${selector} [data-style-group$='-to-brand-depth-band'] {
59817
59893
  --site-style-transition-to: rgb(var(--tb-primary-800));
59818
59894
  }
59819
59895
 
59820
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade']::after {
59896
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::after {
59821
59897
  /* Fallback for browsers without color-mix(). */
59822
59898
  background: linear-gradient(
59823
59899
  to bottom,
@@ -59833,30 +59909,37 @@ ${selector} [data-block-transition][data-style-group^='site-style-transition-sof
59833
59909
  );
59834
59910
  }
59835
59911
 
59836
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade-long-']::after {
59837
- height: 10rem;
59912
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade-long-'] {
59913
+ --site-style-boundary-height: ${requiredBoundaryHeightCss("soft-fade-long")};
59838
59914
  }
59839
59915
 
59840
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade-expansive-']::after {
59841
- height: 14rem;
59916
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade-expansive-'] {
59917
+ --site-style-boundary-height: ${requiredBoundaryHeightCss("soft-fade-expansive")};
59842
59918
  }
59843
59919
 
59844
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-']::after {
59920
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::after {
59921
+ height: calc(var(--site-style-boundary-height) + 2px);
59845
59922
  background: var(--site-style-transition-to);
59846
59923
  clip-path: polygon(0 42%, 100% 8%, 100% 100%, 0 100%);
59847
59924
  }
59848
59925
 
59849
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-subtle-']::after {
59850
- height: calc(4.5rem + 2px);
59926
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-subtle-'] {
59927
+ --site-style-boundary-height: ${compactBoundaryHeight};
59928
+ }
59929
+
59930
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-subtle-']::after {
59851
59931
  clip-path: polygon(0 34%, 100% 18%, 100% 100%, 0 100%);
59852
59932
  }
59853
59933
 
59854
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-steep-']::after {
59855
- height: calc(7rem + 2px);
59934
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-steep-'] {
59935
+ --site-style-boundary-height: ${largeBoundaryHeight};
59936
+ }
59937
+
59938
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-steep-']::after {
59856
59939
  clip-path: polygon(0 54%, 100% 0%, 100% 100%, 0 100%);
59857
59940
  }
59858
59941
 
59859
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-']::after {
59942
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::after {
59860
59943
  background: var(--site-style-transition-to);
59861
59944
  mask-image: url("${classicWaveTransitionMask}");
59862
59945
  mask-repeat: no-repeat;
@@ -59866,28 +59949,39 @@ ${selector} [data-block-transition][data-style-group^='site-style-transition-wav
59866
59949
  -webkit-mask-size: 100% 100%;
59867
59950
  }
59868
59951
 
59869
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-balanced-']::after {
59952
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-balanced-']::after {
59870
59953
  mask-image: url("${balancedWaveTransitionMask}");
59871
59954
  -webkit-mask-image: url("${balancedWaveTransitionMask}");
59872
59955
  }
59873
59956
 
59874
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-gentle-']::after {
59875
- height: calc(4.5rem + 2px);
59957
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-gentle-'] {
59958
+ --site-style-boundary-height: ${compactBoundaryHeight};
59959
+ }
59960
+
59961
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-gentle-']::after {
59876
59962
  mask-image: url("${gentleWaveTransitionMask}");
59877
59963
  -webkit-mask-image: url("${gentleWaveTransitionMask}");
59878
59964
  }
59879
59965
 
59880
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-bold-']::after {
59881
- height: calc(7rem + 2px);
59966
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-bold-'] {
59967
+ --site-style-boundary-height: ${largeBoundaryHeight};
59968
+ }
59969
+
59970
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-bold-']::after {
59882
59971
  mask-image: url("${boldWaveTransitionMask}");
59883
59972
  -webkit-mask-image: url("${boldWaveTransitionMask}");
59884
59973
  }
59885
59974
 
59886
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-drift-']::after {
59975
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-drift-']::after {
59887
59976
  mask-image: url("${driftWaveTransitionMask}");
59888
59977
  -webkit-mask-image: url("${driftWaveTransitionMask}");
59889
59978
  }`;
59890
59979
  }
59980
+ function requiredBoundaryHeightCss(transition) {
59981
+ const metrics = boundaryRuntimeMetricsForTransition(transition);
59982
+ if (!metrics) throw new Error(`Missing boundary runtime metrics for ${transition}`);
59983
+ return metrics.heightCss;
59984
+ }
59891
59985
  function svgDataUrl(svg) {
59892
59986
  return `data:image/svg+xml,${encodeURIComponent(svg)}`;
59893
59987
  }
@@ -62032,13 +62126,15 @@ init_fragments();
62032
62126
  init_colorStyles();
62033
62127
  init_typeGuards();
62034
62128
  init_media();
62035
- function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wrapBlock, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring }) {
62129
+ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = false, dataContext, wrapBlock, wrapBoundary, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring }) {
62036
62130
  const imageResolveContext = React$1.useMemo(() => resolvePageRendererImageResolveContext(dataContext), [
62037
62131
  dataContext?.imageResolveContext,
62038
62132
  dataContext?.mediaAssets,
62039
62133
  dataContext?.siteId,
62040
62134
  dataContext?.supabaseUrl
62041
62135
  ]);
62136
+ const boundaryByAdjacentBlockIds = React$1.useMemo(() => boundaryMapForAdjacentBlockIds(runtimeBoundaries ?? []), [runtimeBoundaries]);
62137
+ const usesRuntimeBoundaries = runtimeBoundaries !== void 0;
62042
62138
  if (!page || page.blocks.length === 0) return /* @__PURE__ */ jsx("div", {
62043
62139
  className: "rb-p-6 rb-caption",
62044
62140
  style: textColorStyle("mutedText"),
@@ -62050,6 +62146,17 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
62050
62146
  return /* @__PURE__ */ jsx("div", { children: page.blocks.map((block, index) => {
62051
62147
  const blockPosition = pageBlockPosition(index, page.blocks.length);
62052
62148
  const blockKey = block.id ?? `${block.kind}-${index}`;
62149
+ const previousBlock = page.blocks[index - 1] ?? null;
62150
+ const nextBlock = page.blocks[index + 1] ?? null;
62151
+ const boundaryBefore = boundaryBetweenBlocks(previousBlock, block, boundaryByAdjacentBlockIds);
62152
+ const boundaryAfter = boundaryBetweenBlocks(block, nextBlock, boundaryByAdjacentBlockIds);
62153
+ const boundaryElement = renderBoundaryAfterBlock({
62154
+ block,
62155
+ nextBlock,
62156
+ blockKey,
62157
+ boundaryByAdjacentBlockIds,
62158
+ wrapBoundary
62159
+ });
62053
62160
  const cleanKind = block.kind.replace(/^block\./, "");
62054
62161
  const definition = getBlockDefinition(block.kind);
62055
62162
  const managesOwnWrapper = definition?.manifest.behaviours?.managesOwnWrapper;
@@ -62072,11 +62179,18 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
62072
62179
  imageResolveContext,
62073
62180
  previewAuthoring
62074
62181
  };
62075
- if (!shouldUseWrapper) return /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps }, blockKey);
62182
+ if (!shouldUseWrapper) {
62183
+ const rendered = /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps }, `${blockKey}:block`);
62184
+ return boundaryElement ? /* @__PURE__ */ jsxs(React$1.Fragment, { children: [rendered, boundaryElement] }, blockKey) : rendered;
62185
+ }
62076
62186
  const wrapperClassName = [`block-${cleanKind}`, wrapBlock ? "group relative" : null].filter(Boolean).join(" ");
62077
62187
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
62078
62188
  const blockLook = typeof renderableContent.blockLook === "string" ? renderableContent.blockLook : void 0;
62079
62189
  const transitionStyle = transitionCssVarsStyle(renderableContent);
62190
+ const blockStyle = mergeStyleObjects(transitionStyle, boundaryReserveCssVarsStyle({
62191
+ before: boundaryBefore,
62192
+ after: boundaryAfter
62193
+ }));
62080
62194
  const blockElement = /* @__PURE__ */ jsx("div", {
62081
62195
  className: wrapperClassName,
62082
62196
  "data-block": cleanKind,
@@ -62086,11 +62200,14 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
62086
62200
  "data-block-variant": variantKey ?? void 0,
62087
62201
  "data-block-look": blockLook,
62088
62202
  "data-page-block-position": blockPosition,
62203
+ "data-site-style-boundary-before": boundaryBefore?.metrics.size,
62204
+ "data-site-style-boundary-after": boundaryAfter?.metrics.size,
62089
62205
  "data-style-group": styleGroup,
62090
- style: transitionStyle,
62206
+ style: blockStyle,
62091
62207
  children: /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps })
62092
62208
  }, blockKey);
62093
- if (!isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
62209
+ if (boundaryElement) return /* @__PURE__ */ jsxs(React$1.Fragment, { children: [blockElement, boundaryElement] }, blockKey);
62210
+ if (usesRuntimeBoundaries || !isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
62094
62211
  return /* @__PURE__ */ jsxs(React$1.Fragment, { children: [blockElement, /* @__PURE__ */ jsx("div", {
62095
62212
  "aria-hidden": "true",
62096
62213
  "data-block-transition": "",
@@ -62103,6 +62220,53 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
62103
62220
  function isSiteStyleTransitionStyleGroup(value) {
62104
62221
  return value?.startsWith("site-style-transition-") === true;
62105
62222
  }
62223
+ function boundaryMapForAdjacentBlockIds(boundaries) {
62224
+ return new Map(boundaries.map((boundary) => [boundaryKey(boundary.previousBlockId, boundary.nextBlockId), boundary]));
62225
+ }
62226
+ function boundaryKey(previousBlockId, nextBlockId) {
62227
+ return `${previousBlockId}\u0000${nextBlockId}`;
62228
+ }
62229
+ function boundaryBetweenBlocks(previousBlock, nextBlock, boundaryByAdjacentBlockIds) {
62230
+ const previousBlockId = previousBlock?.id ?? null;
62231
+ const nextBlockId = nextBlock?.id ?? null;
62232
+ if (!previousBlockId || !nextBlockId) return null;
62233
+ return boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId)) ?? null;
62234
+ }
62235
+ function renderBoundaryAfterBlock(input) {
62236
+ const previousBlockId = input.block.id;
62237
+ const nextBlockId = input.nextBlock?.id ?? null;
62238
+ if (!previousBlockId || !nextBlockId) return null;
62239
+ const boundary = input.boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId));
62240
+ if (!boundary) return null;
62241
+ const rendered = /* @__PURE__ */ jsx("div", {
62242
+ "aria-hidden": "true",
62243
+ "data-block-boundary": "",
62244
+ "data-boundary-id": boundary.boundaryId,
62245
+ "data-boundary-previous-block-id": boundary.previousBlockId,
62246
+ "data-boundary-next-block-id": boundary.nextBlockId,
62247
+ "data-style-group": boundary.styleGroup,
62248
+ style: boundaryCssVarsStyle(boundary)
62249
+ }, `${input.blockKey}:boundary`);
62250
+ return input.wrapBoundary ? input.wrapBoundary(boundary, rendered) : rendered;
62251
+ }
62252
+ function boundaryCssVarsStyle(boundary) {
62253
+ return {
62254
+ "--site-style-transition-from": boundary.cssVars.from,
62255
+ "--site-style-transition-to": boundary.cssVars.to
62256
+ };
62257
+ }
62258
+ function boundaryReserveCssVarsStyle(input) {
62259
+ const before = input.before ? boundaryReserveValueForTreatment(input.before) : null;
62260
+ const after = input.after ? boundaryReserveValueForTreatment(input.after) : null;
62261
+ if (!before && !after) return void 0;
62262
+ return {
62263
+ ...before ? { "--site-style-boundary-before-reserve": before } : {},
62264
+ ...after ? { "--site-style-boundary-after-reserve": after } : {}
62265
+ };
62266
+ }
62267
+ function boundaryReserveValueForTreatment(boundary) {
62268
+ return boundary.metrics.reserveCss;
62269
+ }
62106
62270
  function transitionCssVarsStyle(content) {
62107
62271
  const transitionStyles = isObjectRecord(content._transitionStyles) ? content._transitionStyles : null;
62108
62272
  const cssVars = isObjectRecord(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
@@ -62114,6 +62278,14 @@ function transitionCssVarsStyle(content) {
62114
62278
  ...to ? { "--site-style-transition-to": to } : {}
62115
62279
  };
62116
62280
  }
62281
+ function mergeStyleObjects(left, right) {
62282
+ if (!left) return right;
62283
+ if (!right) return left;
62284
+ return {
62285
+ ...left,
62286
+ ...right
62287
+ };
62288
+ }
62117
62289
  function pageBlockPosition(index, blockCount) {
62118
62290
  if (blockCount <= 1) return "only";
62119
62291
  if (index === 0) return "first";
@@ -64059,52 +64231,53 @@ const containerResponsiveThemeCss = `/*
64059
64231
 
64060
64232
  /* Semantic spacing tokens (replaces Tailwind maps in src/system/spacing.ts) */
64061
64233
  .rb-section-pad-none {
64062
- padding-top: 0;
64063
- padding-bottom: 0;
64234
+ --rb-section-pad-y: 0rem;
64235
+ padding-top: var(--rb-section-pad-y);
64236
+ padding-bottom: var(--rb-section-pad-y);
64064
64237
  }
64065
64238
  .rb-section-pad-compact {
64066
- padding-top: 1.5rem;
64067
- padding-bottom: 1.5rem;
64239
+ --rb-section-pad-y: 1.5rem;
64240
+ padding-top: var(--rb-section-pad-y);
64241
+ padding-bottom: var(--rb-section-pad-y);
64068
64242
  }
64069
64243
  .rb-section-pad-cozy {
64070
- padding-top: 2.5rem;
64071
- padding-bottom: 2.5rem;
64244
+ --rb-section-pad-y: 2.5rem;
64245
+ padding-top: var(--rb-section-pad-y);
64246
+ padding-bottom: var(--rb-section-pad-y);
64072
64247
  }
64073
64248
  .rb-section-pad-medium {
64074
- padding-top: 3rem;
64075
- padding-bottom: 3rem;
64249
+ --rb-section-pad-y: 3rem;
64250
+ padding-top: var(--rb-section-pad-y);
64251
+ padding-bottom: var(--rb-section-pad-y);
64076
64252
  }
64077
64253
  .rb-section-pad-comfortable {
64078
- padding-top: 4rem;
64079
- padding-bottom: 4rem;
64254
+ --rb-section-pad-y: 4rem;
64255
+ padding-top: var(--rb-section-pad-y);
64256
+ padding-bottom: var(--rb-section-pad-y);
64080
64257
  }
64081
64258
  .rb-section-pad-spacious {
64082
- padding-top: 5rem;
64083
- padding-bottom: 5rem;
64259
+ --rb-section-pad-y: 5rem;
64260
+ padding-top: var(--rb-section-pad-y);
64261
+ padding-bottom: var(--rb-section-pad-y);
64084
64262
  }
64085
64263
 
64086
64264
  @container rb-site (min-width: 640px) {
64087
64265
 
64088
64266
  @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
64089
64267
  .rb-section-pad-compact {
64090
- padding-top: 2rem;
64091
- padding-bottom: 2rem;
64268
+ --rb-section-pad-y: 2rem;
64092
64269
  }
64093
64270
  .rb-section-pad-cozy {
64094
- padding-top: 3.5rem;
64095
- padding-bottom: 3.5rem;
64271
+ --rb-section-pad-y: 3.5rem;
64096
64272
  }
64097
64273
  .rb-section-pad-medium {
64098
- padding-top: 4rem;
64099
- padding-bottom: 4rem;
64274
+ --rb-section-pad-y: 4rem;
64100
64275
  }
64101
64276
  .rb-section-pad-comfortable {
64102
- padding-top: 5rem;
64103
- padding-bottom: 5rem;
64277
+ --rb-section-pad-y: 5rem;
64104
64278
  }
64105
64279
  .rb-section-pad-spacious {
64106
- padding-top: 7rem;
64107
- padding-bottom: 7rem;
64280
+ --rb-section-pad-y: 7rem;
64108
64281
  }
64109
64282
  }
64110
64283
 
@@ -65494,30 +65667,122 @@ const containerResponsiveThemeCss = `/*
65494
65667
  :where(.theme-scope) .header-logo-text {
65495
65668
  font-size: 1.125rem; /* matches rb-text-lg */
65496
65669
  line-height: 1.75rem;
65670
+ margin-inline: -0.18em;
65671
+ padding-inline: 0.18em;
65497
65672
  transition: font-size 300ms var(--motion-ease, ease);
65498
65673
  }
65499
65674
 
65500
- /* Mobile: reduce site title size (~30%) to keep header compact */
65675
+ /* Centered variant uses larger title */
65676
+ :where(.theme-scope) .header-variant-centered .header-logo-text {
65677
+ font-size: 1.25rem; /* matches rb-text-xl */
65678
+ line-height: 1.75rem;
65679
+ }
65680
+
65681
+ :where(.theme-scope) .header-logo-size-compact .header-logo-text {
65682
+ font-size: 0.95rem;
65683
+ line-height: 1.5rem;
65684
+ }
65685
+ :where(.theme-scope) .header-logo-size-standard .header-logo-text {
65686
+ font-size: 1.125rem;
65687
+ line-height: 1.75rem;
65688
+ }
65689
+ :where(.theme-scope) .header-logo-size-generous .header-logo-text {
65690
+ font-size: 1.35rem;
65691
+ line-height: 1.9rem;
65692
+ }
65693
+ :where(.theme-scope) .header-logo-size-display .header-logo-text {
65694
+ font-size: 1.75rem;
65695
+ line-height: 2.25rem;
65696
+ }
65697
+
65698
+ :where(.theme-scope)
65699
+ .header-variant-centered
65700
+ .header-logo-size-compact
65701
+ .header-logo-text {
65702
+ font-size: 1.125rem;
65703
+ line-height: 1.75rem;
65704
+ }
65705
+ :where(.theme-scope)
65706
+ .header-variant-centered
65707
+ .header-logo-size-standard
65708
+ .header-logo-text {
65709
+ font-size: 1.25rem;
65710
+ line-height: 1.75rem;
65711
+ }
65712
+ :where(.theme-scope)
65713
+ .header-variant-centered
65714
+ .header-logo-size-generous
65715
+ .header-logo-text {
65716
+ font-size: 1.6rem;
65717
+ line-height: 2rem;
65718
+ }
65719
+ :where(.theme-scope)
65720
+ .header-variant-centered
65721
+ .header-logo-size-display
65722
+ .header-logo-text {
65723
+ font-size: 2.1rem;
65724
+ line-height: 2.5rem;
65725
+ }
65726
+
65727
+ /* Mobile: reduce site title size to keep header compact */
65501
65728
  @container rb-site (max-width: 767px) {
65502
65729
  @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
65503
- :where(.theme-scope) .header-logo-text {
65730
+ :where(.theme-scope) .header-logo-text,
65731
+ :where(.theme-scope) .header-logo-size-standard .header-logo-text {
65504
65732
  font-size: 0.8rem;
65505
65733
  line-height: 1.25rem;
65506
65734
  }
65507
65735
 
65508
- :where(.theme-scope) .header-variant-centered .header-logo-text {
65736
+ :where(.theme-scope) .header-logo-size-compact .header-logo-text {
65737
+ font-size: 0.75rem;
65738
+ line-height: 1.15rem;
65739
+ }
65740
+
65741
+ :where(.theme-scope) .header-logo-size-generous .header-logo-text {
65742
+ font-size: 1rem;
65743
+ line-height: 1.4rem;
65744
+ }
65745
+
65746
+ :where(.theme-scope) .header-logo-size-display .header-logo-text {
65747
+ font-size: 1.25rem;
65748
+ line-height: 1.65rem;
65749
+ }
65750
+
65751
+ :where(.theme-scope) .header-variant-centered .header-logo-text,
65752
+ :where(.theme-scope)
65753
+ .header-variant-centered
65754
+ .header-logo-size-standard
65755
+ .header-logo-text {
65509
65756
  font-size: 0.875rem;
65510
65757
  line-height: 1.25rem;
65511
65758
  }
65759
+
65760
+ :where(.theme-scope)
65761
+ .header-variant-centered
65762
+ .header-logo-size-compact
65763
+ .header-logo-text {
65764
+ font-size: 0.8rem;
65765
+ line-height: 1.2rem;
65766
+ }
65767
+
65768
+ :where(.theme-scope)
65769
+ .header-variant-centered
65770
+ .header-logo-size-generous
65771
+ .header-logo-text {
65772
+ font-size: 1.125rem;
65773
+ line-height: 1.5rem;
65774
+ }
65775
+
65776
+ :where(.theme-scope)
65777
+ .header-variant-centered
65778
+ .header-logo-size-display
65779
+ .header-logo-text {
65780
+ font-size: 1.35rem;
65781
+ line-height: 1.75rem;
65782
+ }
65512
65783
  }
65513
65784
  }
65514
65785
 
65515
- /* Centered variant uses larger title */
65516
- :where(.theme-scope) .header-variant-centered .header-logo-text {
65517
- font-size: 1.25rem; /* matches rb-text-xl */
65518
- line-height: 1.75rem;
65519
- }
65520
-
65521
65786
  /* =================================================================
65522
65787
  Shrink on Scroll - Logo & Title
65523
65788
  ================================================================= */
@@ -76165,6 +76430,7 @@ function usePage(params) {
76165
76430
  loading: false,
76166
76431
  error: null,
76167
76432
  page: pageOutline,
76433
+ runtimeBoundaries: pageData.runtimeBoundaries,
76168
76434
  theme: site.theme,
76169
76435
  siteId,
76170
76436
  resolvedData,
@@ -76368,6 +76634,7 @@ function useContent(params) {
76368
76634
  error: null,
76369
76635
  type: "page",
76370
76636
  page: pageOutline,
76637
+ runtimeBoundaries: pageData.runtimeBoundaries,
76371
76638
  entry: null,
76372
76639
  theme: site.theme,
76373
76640
  siteId,
@@ -153554,7 +153821,7 @@ function toPageHydrationBootstrapConfig(props) {
153554
153821
  mediaAssets: props.mediaAssets
153555
153822
  };
153556
153823
  }
153557
- function PageContent({ page, theme, themeTokens: providedTokens, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders = false, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext, themeRuntime = defaultPageThemeRuntime }) {
153824
+ function PageContent({ page, runtimeBoundaries, theme, themeTokens: providedTokens, siteId, resolvedData, bookingOfferingPresets, routeMap, pagesByIdentifier, entriesByIdentifier, wrapBlock, registry, usePlaceholders = false, blockOverrides, sdkConfig, customBlocks, supabaseUrl, mediaAssets, apiBaseUrl, portalToken, previewToken, dataContext, themeRuntime = defaultPageThemeRuntime }) {
153558
153825
  const baseTokens = providedTokens ?? buildThemeRuntime(theme).tokens;
153559
153826
  return renderWithSdkThemeRuntime({
153560
153827
  themeRuntime,
@@ -153562,6 +153829,7 @@ function PageContent({ page, theme, themeTokens: providedTokens, siteId, resolve
153562
153829
  children: /* @__PURE__ */ jsx(PageRenderer, {
153563
153830
  theme,
153564
153831
  page,
153832
+ runtimeBoundaries,
153565
153833
  themeTokens: sdkConfig?.theme?.palette ? {
153566
153834
  ...baseTokens,
153567
153835
  palette: {
@@ -153767,7 +154035,7 @@ var SimpleCache = class {
153767
154035
  * 1. This constant
153768
154036
  * 2. The "version" field in package.json
153769
154037
  */
153770
- const SDK_VERSION = "0.102.0";
154038
+ const SDK_VERSION = "0.103.0";
153771
154039
  //#endregion
153772
154040
  //#region src/client/error.ts
153773
154041
  let _Symbol$for;