@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
@@ -11783,6 +11783,8 @@ var init_schema$1 = __esmMin((() => {
11783
11783
  navStyle: headerNavStyle,
11784
11784
  navColor: themeColorTokenSchema.nullable().optional(),
11785
11785
  navWeight: navFontWeight.default("medium"),
11786
+ navTypography: z$1.enum(["body", "heading"]).optional(),
11787
+ navTextSize: navLinkStyleSchema.shape.textSize,
11786
11788
  container: headerContainerSchema,
11787
11789
  border: headerBorderSchema,
11788
11790
  shadow: componentShadowSchema.optional(),
@@ -13441,9 +13443,38 @@ var init_backgroundAppearance = __esmMin((() => {
13441
13443
  }));
13442
13444
  var init_compositionBudget = __esmMin((() => {
13443
13445
  init_types$16();
13444
- })), init_schemaVersionedJson = __esmMin((() => {})), noneBoundaryOption, softBoundaryOption, spaciousBoundaryOption;
13446
+ }));
13447
+ var init_schemaVersionedJson = __esmMin((() => {}));
13448
+ //#endregion
13449
+ //#region ../theme-core/src/site-styles/sectionTransitions.ts
13450
+ function boundaryRuntimeMetrics(family, size, heightExpression) {
13451
+ return {
13452
+ family,
13453
+ size,
13454
+ heightCss: heightExpression.includes(" ") ? `calc(${heightExpression})` : heightExpression,
13455
+ reserveCss: `calc((${heightExpression}) / 2)`
13456
+ };
13457
+ }
13458
+ function boundaryRuntimeMetricsForTransition(transition) {
13459
+ return sectionBoundaryRuntimeMetricsByTransition[transition];
13460
+ }
13461
+ var sectionBoundaryRuntimeMetricsByTransition, noneBoundaryOption, softBoundaryOption, spaciousBoundaryOption;
13445
13462
  var init_sectionTransitions = __esmMin((() => {
13446
13463
  init_types$16();
13464
+ sectionBoundaryRuntimeMetricsByTransition = {
13465
+ none: null,
13466
+ "soft-fade-short": boundaryRuntimeMetrics("gradient", "medium", "6rem + 2px"),
13467
+ "soft-fade-long": boundaryRuntimeMetrics("gradient", "spacious", "10rem"),
13468
+ "soft-fade-expansive": boundaryRuntimeMetrics("gradient", "expansive", "14rem"),
13469
+ "wave-edge": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
13470
+ "wave-edge-balanced": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
13471
+ "wave-edge-gentle": boundaryRuntimeMetrics("wave", "compact", "4.5rem + 2px"),
13472
+ "wave-edge-bold": boundaryRuntimeMetrics("wave", "large", "7rem + 2px"),
13473
+ "wave-edge-drift": boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"),
13474
+ "angle-edge": boundaryRuntimeMetrics("angle", "medium", "6rem + 2px"),
13475
+ "angle-edge-subtle": boundaryRuntimeMetrics("angle", "compact", "4.5rem + 2px"),
13476
+ "angle-edge-steep": boundaryRuntimeMetrics("angle", "large", "7rem + 2px")
13477
+ };
13447
13478
  noneBoundaryOption = {
13448
13479
  id: asBoundaryOptionId("break:none"),
13449
13480
  label: "None",
@@ -13508,12 +13539,12 @@ function validateUniquePageDesignPins(intent, ctx) {
13508
13539
  label: "block Look pin"
13509
13540
  });
13510
13541
  addDuplicateStringIssues(ctx, {
13511
- values: intent.boundaryPins.map((pin) => boundaryKey(pin.previousBlockId, pin.nextBlockId)),
13542
+ values: intent.boundaryPins.map((pin) => boundaryKey$1(pin.previousBlockId, pin.nextBlockId)),
13512
13543
  path: ["boundaryPins"],
13513
13544
  label: "boundary pin"
13514
13545
  });
13515
13546
  }
13516
- function boundaryKey(previousBlockId, nextBlockId) {
13547
+ function boundaryKey$1(previousBlockId, nextBlockId) {
13517
13548
  return makeBoundaryId(previousBlockId, nextBlockId);
13518
13549
  }
13519
13550
  var pageDesignUserPinnedAppearanceChoiceSchema, pageDesignUserPinnedBoundaryChoiceSchema, pageDesignBoundaryTreatmentSchema, pageDesignUserPinnedBoundaryTreatmentChoiceSchema, pageDesignBlockLookPinSchema, pageDesignBoundaryPinSchema, legacyPageDesignBoundaryPinSchema;
@@ -13961,7 +13992,7 @@ function asHeaderStyleId(value) {
13961
13992
  * optional nested styling fields that would otherwise leak from another Look.
13962
13993
  */
13963
13994
  function baseHeader(theme) {
13964
- const { navLinkStyle: _navLinkStyle, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
13995
+ 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;
13965
13996
  return {
13966
13997
  ...header,
13967
13998
  navContainer: {
@@ -16098,6 +16129,7 @@ var init_runtimeCompiler = __esmMin((() => {
16098
16129
  init_designState();
16099
16130
  init_types$16();
16100
16131
  init_accessibleSurfaces();
16132
+ init_sectionTransitions();
16101
16133
  defaultDesignRuntimeRules = defineDesignRuntimeRules({
16102
16134
  sectionSurfaces: {
16103
16135
  base: {},
@@ -17895,13 +17927,22 @@ function toSiteChromeBackgroundColorTokens(tokenNames) {
17895
17927
  return token ? [token] : [];
17896
17928
  });
17897
17929
  }
17898
- var siteChromeBackgroundColorTokens, quickSiteChromeBackgroundColorTokens, init_siteChromeBackgrounds = __esmMin((() => {
17930
+ var siteChromeBackgroundColorTokens, quickSiteChromeBackgroundColorTokens;
17931
+ var init_siteChromeBackgrounds = __esmMin((() => {
17899
17932
  init_backgroundAppearance();
17900
17933
  init_rawStyleFields();
17901
17934
  siteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceColorTokenNames);
17902
17935
  quickSiteChromeBackgroundColorTokens = toSiteChromeBackgroundColorTokens(backgroundAppearanceQuickColorTokenNames);
17903
17936
  siteChromeBackgroundColorTokens.filter((token) => !quickSiteChromeBackgroundColorTokens.includes(token));
17904
- })), themeTokenRecipeOptions;
17937
+ }));
17938
+ function mergeHeaderNavTypographyPreference(style, preferences) {
17939
+ return preferences.typography === "inherit" && preferences.fontSize === "inherit" ? style : {
17940
+ ...style,
17941
+ ...preferences.typography === "inherit" ? {} : { typography: preferences.typography },
17942
+ ...preferences.fontSize === "inherit" ? {} : { textSize: preferences.fontSize }
17943
+ };
17944
+ }
17945
+ var init_siteChromeNavPreferences = __esmMin((() => {})), themeTokenRecipeOptions;
17905
17946
  var init_tokenRecipes = __esmMin((() => {
17906
17947
  themeTokenRecipeOptions = {
17907
17948
  palette: [
@@ -17986,6 +18027,7 @@ var init_site_styles = __esmMin((() => {
17986
18027
  init_runtimeCompiler();
17987
18028
  init_sectionTransitions();
17988
18029
  init_siteChromeBackgrounds();
18030
+ init_siteChromeNavPreferences();
17989
18031
  init_siteStyleThemeCompiler();
17990
18032
  init_siteStyleBlockPolicies();
17991
18033
  init_sourceCatalogs();
@@ -129109,6 +129151,7 @@ Object.keys(NAV_LINK_PRESETS);
129109
129151
  //#endregion
129110
129152
  //#region ../theme-core/src/header/generateHeaderCss.ts
129111
129153
  init_resolver$1();
129154
+ init_siteChromeNavPreferences();
129112
129155
  init_shared$5();
129113
129156
  init_breakpoints();
129114
129157
  init_navDropdownSizing();
@@ -129290,15 +129333,19 @@ function generateLogoTextBehaviorStyles(logoText, themeId) {
129290
129333
  * legacy navStyle, navWeight, navColor, and navEffects settings.
129291
129334
  */
129292
129335
  function generateNavLinkStyles(header, themeId, tokens, theme, contrastTreatment, navTextSize) {
129336
+ const navPreferences = {
129337
+ typography: header.navTypography ?? "inherit",
129338
+ fontSize: header.navTextSize ?? "inherit"
129339
+ };
129293
129340
  if (header.navLinkStyle) return generateNavLinkCSS({
129294
129341
  themeId,
129295
129342
  tokens,
129296
129343
  theme,
129297
- style: contrastTreatment || navTextSize ? {
129344
+ style: mergeHeaderNavTypographyPreference(contrastTreatment || navTextSize ? {
129298
129345
  ...header.navLinkStyle,
129299
129346
  ...contrastTreatment ? { contrastTreatment } : {},
129300
129347
  ...navTextSize ? { textSize: navTextSize } : {}
129301
- } : header.navLinkStyle,
129348
+ } : header.navLinkStyle, navPreferences),
129302
129349
  className: "header-nav-link"
129303
129350
  });
129304
129351
  const navStyle = header.navStyle ?? "minimal";
@@ -129370,7 +129417,7 @@ function generateNavLinkStyles(header, themeId, tokens, theme, contrastTreatment
129370
129417
  themeId,
129371
129418
  tokens,
129372
129419
  theme,
129373
- style: mergedStyle,
129420
+ style: mergeHeaderNavTypographyPreference(mergedStyle, navPreferences),
129374
129421
  className: "header-nav-link"
129375
129422
  });
129376
129423
  }
@@ -129722,6 +129769,7 @@ function generateFooterBottomTextLinkStyles(footer, themeId, tokens) {
129722
129769
  //#endregion
129723
129770
  //#region ../theme-core/src/layout/generateLayoutCss.ts
129724
129771
  init_breakpoints();
129772
+ init_sectionTransitions();
129725
129773
  /**
129726
129774
  * Generate layout CSS for theme scope (background, text color)
129727
129775
  *
@@ -129763,6 +129811,9 @@ const boldWaveTransitionMask = svgDataUrl("<svg viewBox='0 0 1440 72' xmlns='htt
129763
129811
  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>");
129764
129812
  function generateSiteStyleTransitionCss(themeId) {
129765
129813
  const selector = `:where([data-theme-scope="${themeId}"])`;
129814
+ const compactBoundaryHeight = requiredBoundaryHeightCss("wave-edge-gentle");
129815
+ const mediumBoundaryHeight = requiredBoundaryHeightCss("wave-edge");
129816
+ const largeBoundaryHeight = requiredBoundaryHeightCss("wave-edge-bold");
129766
129817
  return `${selector} [data-style-group^='site-style-transition-'] {
129767
129818
  position: relative;
129768
129819
  z-index: 2;
@@ -129770,23 +129821,48 @@ function generateSiteStyleTransitionCss(themeId) {
129770
129821
  --site-style-transition-to: rgb(var(--tb-background));
129771
129822
  }
129772
129823
 
129773
- ${selector} [data-block-transition][data-style-group^='site-style-transition-'] {
129824
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-'] {
129774
129825
  position: relative;
129775
129826
  z-index: 3;
129776
129827
  height: 0;
129777
129828
  pointer-events: none;
129829
+ --site-style-boundary-height: ${mediumBoundaryHeight};
129830
+ }
129831
+
129832
+ ${selector} [data-block][data-site-style-boundary-before] > :where([data-slot='section']) {
129833
+ padding-top: calc(var(--rb-section-pad-y, 0rem) + var(--site-style-boundary-before-reserve, 0rem));
129778
129834
  }
129779
129835
 
129780
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-']::after,
129781
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-']::after,
129782
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade']::after {
129836
+ ${selector} [data-block][data-site-style-boundary-after] > :where([data-slot='section']) {
129837
+ padding-bottom: calc(var(--rb-section-pad-y, 0rem) + var(--site-style-boundary-after-reserve, 0rem));
129838
+ }
129839
+
129840
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::before,
129841
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::before,
129842
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::before {
129783
129843
  content: '';
129784
129844
  position: absolute;
129785
129845
  left: 0;
129786
129846
  right: 0;
129787
- bottom: -2px;
129847
+ top: 0;
129848
+ transform: translateY(-50%);
129849
+ z-index: 0;
129850
+ height: var(--site-style-boundary-height);
129851
+ background: var(--site-style-transition-from);
129852
+ pointer-events: none;
129853
+ }
129854
+
129855
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::after,
129856
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::after,
129857
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::after {
129858
+ content: '';
129859
+ position: absolute;
129860
+ left: 0;
129861
+ right: 0;
129862
+ top: 0;
129863
+ transform: translateY(-50%);
129788
129864
  z-index: 1;
129789
- height: calc(6rem + 2px);
129865
+ height: var(--site-style-boundary-height);
129790
129866
  pointer-events: none;
129791
129867
  }
129792
129868
 
@@ -129824,7 +129900,7 @@ ${selector} [data-style-group$='-to-brand-depth-band'] {
129824
129900
  --site-style-transition-to: rgb(var(--tb-primary-800));
129825
129901
  }
129826
129902
 
129827
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade']::after {
129903
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade']::after {
129828
129904
  /* Fallback for browsers without color-mix(). */
129829
129905
  background: linear-gradient(
129830
129906
  to bottom,
@@ -129840,30 +129916,37 @@ ${selector} [data-block-transition][data-style-group^='site-style-transition-sof
129840
129916
  );
129841
129917
  }
129842
129918
 
129843
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade-long-']::after {
129844
- height: 10rem;
129919
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade-long-'] {
129920
+ --site-style-boundary-height: ${requiredBoundaryHeightCss("soft-fade-long")};
129845
129921
  }
129846
129922
 
129847
- ${selector} [data-block-transition][data-style-group^='site-style-transition-soft-fade-expansive-']::after {
129848
- height: 14rem;
129923
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-soft-fade-expansive-'] {
129924
+ --site-style-boundary-height: ${requiredBoundaryHeightCss("soft-fade-expansive")};
129849
129925
  }
129850
129926
 
129851
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-']::after {
129927
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-']::after {
129928
+ height: calc(var(--site-style-boundary-height) + 2px);
129852
129929
  background: var(--site-style-transition-to);
129853
129930
  clip-path: polygon(0 42%, 100% 8%, 100% 100%, 0 100%);
129854
129931
  }
129855
129932
 
129856
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-subtle-']::after {
129857
- height: calc(4.5rem + 2px);
129933
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-subtle-'] {
129934
+ --site-style-boundary-height: ${compactBoundaryHeight};
129935
+ }
129936
+
129937
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-subtle-']::after {
129858
129938
  clip-path: polygon(0 34%, 100% 18%, 100% 100%, 0 100%);
129859
129939
  }
129860
129940
 
129861
- ${selector} [data-block-transition][data-style-group^='site-style-transition-angle-edge-steep-']::after {
129862
- height: calc(7rem + 2px);
129941
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-steep-'] {
129942
+ --site-style-boundary-height: ${largeBoundaryHeight};
129943
+ }
129944
+
129945
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-angle-edge-steep-']::after {
129863
129946
  clip-path: polygon(0 54%, 100% 0%, 100% 100%, 0 100%);
129864
129947
  }
129865
129948
 
129866
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-']::after {
129949
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-']::after {
129867
129950
  background: var(--site-style-transition-to);
129868
129951
  mask-image: url("${classicWaveTransitionMask}");
129869
129952
  mask-repeat: no-repeat;
@@ -129873,28 +129956,39 @@ ${selector} [data-block-transition][data-style-group^='site-style-transition-wav
129873
129956
  -webkit-mask-size: 100% 100%;
129874
129957
  }
129875
129958
 
129876
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-balanced-']::after {
129959
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-balanced-']::after {
129877
129960
  mask-image: url("${balancedWaveTransitionMask}");
129878
129961
  -webkit-mask-image: url("${balancedWaveTransitionMask}");
129879
129962
  }
129880
129963
 
129881
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-gentle-']::after {
129882
- height: calc(4.5rem + 2px);
129964
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-gentle-'] {
129965
+ --site-style-boundary-height: ${compactBoundaryHeight};
129966
+ }
129967
+
129968
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-gentle-']::after {
129883
129969
  mask-image: url("${gentleWaveTransitionMask}");
129884
129970
  -webkit-mask-image: url("${gentleWaveTransitionMask}");
129885
129971
  }
129886
129972
 
129887
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-bold-']::after {
129888
- height: calc(7rem + 2px);
129973
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-bold-'] {
129974
+ --site-style-boundary-height: ${largeBoundaryHeight};
129975
+ }
129976
+
129977
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-bold-']::after {
129889
129978
  mask-image: url("${boldWaveTransitionMask}");
129890
129979
  -webkit-mask-image: url("${boldWaveTransitionMask}");
129891
129980
  }
129892
129981
 
129893
- ${selector} [data-block-transition][data-style-group^='site-style-transition-wave-edge-drift-']::after {
129982
+ ${selector} [data-block-boundary][data-style-group^='site-style-transition-wave-edge-drift-']::after {
129894
129983
  mask-image: url("${driftWaveTransitionMask}");
129895
129984
  -webkit-mask-image: url("${driftWaveTransitionMask}");
129896
129985
  }`;
129897
129986
  }
129987
+ function requiredBoundaryHeightCss(transition) {
129988
+ const metrics = boundaryRuntimeMetricsForTransition(transition);
129989
+ if (!metrics) throw new Error(`Missing boundary runtime metrics for ${transition}`);
129990
+ return metrics.heightCss;
129991
+ }
129898
129992
  function svgDataUrl(svg) {
129899
129993
  return `data:image/svg+xml,${encodeURIComponent(svg)}`;
129900
129994
  }
@@ -132039,13 +132133,15 @@ init_fragments();
132039
132133
  init_colorStyles();
132040
132134
  init_typeGuards();
132041
132135
  init_media();
132042
- function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wrapBlock, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring }) {
132136
+ function PageRenderer$1({ theme, page, runtimeBoundaries, usePlaceholders = false, dataContext, wrapBlock, wrapBoundary, registry, themeTokens: providedThemeTokens, routeMap, blockOverrides, sdkConfig, customBlocks, previewAuthoring }) {
132043
132137
  const imageResolveContext = React$1.useMemo(() => resolvePageRendererImageResolveContext(dataContext), [
132044
132138
  dataContext?.imageResolveContext,
132045
132139
  dataContext?.mediaAssets,
132046
132140
  dataContext?.siteId,
132047
132141
  dataContext?.supabaseUrl
132048
132142
  ]);
132143
+ const boundaryByAdjacentBlockIds = React$1.useMemo(() => boundaryMapForAdjacentBlockIds(runtimeBoundaries ?? []), [runtimeBoundaries]);
132144
+ const usesRuntimeBoundaries = runtimeBoundaries !== void 0;
132049
132145
  if (!page || page.blocks.length === 0) return /* @__PURE__ */ jsx("div", {
132050
132146
  className: "rb-p-6 rb-caption",
132051
132147
  style: textColorStyle("mutedText"),
@@ -132057,6 +132153,17 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
132057
132153
  return /* @__PURE__ */ jsx("div", { children: page.blocks.map((block, index) => {
132058
132154
  const blockPosition = pageBlockPosition(index, page.blocks.length);
132059
132155
  const blockKey = block.id ?? `${block.kind}-${index}`;
132156
+ const previousBlock = page.blocks[index - 1] ?? null;
132157
+ const nextBlock = page.blocks[index + 1] ?? null;
132158
+ const boundaryBefore = boundaryBetweenBlocks(previousBlock, block, boundaryByAdjacentBlockIds);
132159
+ const boundaryAfter = boundaryBetweenBlocks(block, nextBlock, boundaryByAdjacentBlockIds);
132160
+ const boundaryElement = renderBoundaryAfterBlock({
132161
+ block,
132162
+ nextBlock,
132163
+ blockKey,
132164
+ boundaryByAdjacentBlockIds,
132165
+ wrapBoundary
132166
+ });
132060
132167
  const cleanKind = block.kind.replace(/^block\./, "");
132061
132168
  const definition = getBlockDefinition(block.kind);
132062
132169
  const managesOwnWrapper = definition?.manifest.behaviours?.managesOwnWrapper;
@@ -132079,11 +132186,18 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
132079
132186
  imageResolveContext,
132080
132187
  previewAuthoring
132081
132188
  };
132082
- if (!shouldUseWrapper) return /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps }, blockKey);
132189
+ if (!shouldUseWrapper) {
132190
+ const rendered = /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps }, `${blockKey}:block`);
132191
+ return boundaryElement ? /* @__PURE__ */ jsxs(React$1.Fragment, { children: [rendered, boundaryElement] }, blockKey) : rendered;
132192
+ }
132083
132193
  const wrapperClassName = [`block-${cleanKind}`, wrapBlock ? "group relative" : null].filter(Boolean).join(" ");
132084
132194
  const styleGroup = typeof renderableContent.styleGroup === "string" ? renderableContent.styleGroup : void 0;
132085
132195
  const blockLook = typeof renderableContent.blockLook === "string" ? renderableContent.blockLook : void 0;
132086
132196
  const transitionStyle = transitionCssVarsStyle(renderableContent);
132197
+ const blockStyle = mergeStyleObjects(transitionStyle, boundaryReserveCssVarsStyle({
132198
+ before: boundaryBefore,
132199
+ after: boundaryAfter
132200
+ }));
132087
132201
  const blockElement = /* @__PURE__ */ jsx("div", {
132088
132202
  className: wrapperClassName,
132089
132203
  "data-block": cleanKind,
@@ -132093,11 +132207,14 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
132093
132207
  "data-block-variant": variantKey ?? void 0,
132094
132208
  "data-block-look": blockLook,
132095
132209
  "data-page-block-position": blockPosition,
132210
+ "data-site-style-boundary-before": boundaryBefore?.metrics.size,
132211
+ "data-site-style-boundary-after": boundaryAfter?.metrics.size,
132096
132212
  "data-style-group": styleGroup,
132097
- style: transitionStyle,
132213
+ style: blockStyle,
132098
132214
  children: /* @__PURE__ */ jsx(MemoBlockSection, { ...blockSectionProps })
132099
132215
  }, blockKey);
132100
- if (!isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
132216
+ if (boundaryElement) return /* @__PURE__ */ jsxs(React$1.Fragment, { children: [blockElement, boundaryElement] }, blockKey);
132217
+ if (usesRuntimeBoundaries || !isSiteStyleTransitionStyleGroup(styleGroup)) return blockElement;
132101
132218
  return /* @__PURE__ */ jsxs(React$1.Fragment, { children: [blockElement, /* @__PURE__ */ jsx("div", {
132102
132219
  "aria-hidden": "true",
132103
132220
  "data-block-transition": "",
@@ -132110,6 +132227,53 @@ function PageRenderer$1({ theme, page, usePlaceholders = false, dataContext, wra
132110
132227
  function isSiteStyleTransitionStyleGroup(value) {
132111
132228
  return value?.startsWith("site-style-transition-") === true;
132112
132229
  }
132230
+ function boundaryMapForAdjacentBlockIds(boundaries) {
132231
+ return new Map(boundaries.map((boundary) => [boundaryKey(boundary.previousBlockId, boundary.nextBlockId), boundary]));
132232
+ }
132233
+ function boundaryKey(previousBlockId, nextBlockId) {
132234
+ return `${previousBlockId}\u0000${nextBlockId}`;
132235
+ }
132236
+ function boundaryBetweenBlocks(previousBlock, nextBlock, boundaryByAdjacentBlockIds) {
132237
+ const previousBlockId = previousBlock?.id ?? null;
132238
+ const nextBlockId = nextBlock?.id ?? null;
132239
+ if (!previousBlockId || !nextBlockId) return null;
132240
+ return boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId)) ?? null;
132241
+ }
132242
+ function renderBoundaryAfterBlock(input) {
132243
+ const previousBlockId = input.block.id;
132244
+ const nextBlockId = input.nextBlock?.id ?? null;
132245
+ if (!previousBlockId || !nextBlockId) return null;
132246
+ const boundary = input.boundaryByAdjacentBlockIds.get(boundaryKey(previousBlockId, nextBlockId));
132247
+ if (!boundary) return null;
132248
+ const rendered = /* @__PURE__ */ jsx("div", {
132249
+ "aria-hidden": "true",
132250
+ "data-block-boundary": "",
132251
+ "data-boundary-id": boundary.boundaryId,
132252
+ "data-boundary-previous-block-id": boundary.previousBlockId,
132253
+ "data-boundary-next-block-id": boundary.nextBlockId,
132254
+ "data-style-group": boundary.styleGroup,
132255
+ style: boundaryCssVarsStyle(boundary)
132256
+ }, `${input.blockKey}:boundary`);
132257
+ return input.wrapBoundary ? input.wrapBoundary(boundary, rendered) : rendered;
132258
+ }
132259
+ function boundaryCssVarsStyle(boundary) {
132260
+ return {
132261
+ "--site-style-transition-from": boundary.cssVars.from,
132262
+ "--site-style-transition-to": boundary.cssVars.to
132263
+ };
132264
+ }
132265
+ function boundaryReserveCssVarsStyle(input) {
132266
+ const before = input.before ? boundaryReserveValueForTreatment(input.before) : null;
132267
+ const after = input.after ? boundaryReserveValueForTreatment(input.after) : null;
132268
+ if (!before && !after) return void 0;
132269
+ return {
132270
+ ...before ? { "--site-style-boundary-before-reserve": before } : {},
132271
+ ...after ? { "--site-style-boundary-after-reserve": after } : {}
132272
+ };
132273
+ }
132274
+ function boundaryReserveValueForTreatment(boundary) {
132275
+ return boundary.metrics.reserveCss;
132276
+ }
132113
132277
  function transitionCssVarsStyle(content) {
132114
132278
  const transitionStyles = isObjectRecord$1(content._transitionStyles) ? content._transitionStyles : null;
132115
132279
  const cssVars = isObjectRecord$1(transitionStyles?.cssVars) ? transitionStyles.cssVars : null;
@@ -132121,6 +132285,14 @@ function transitionCssVarsStyle(content) {
132121
132285
  ...to ? { "--site-style-transition-to": to } : {}
132122
132286
  };
132123
132287
  }
132288
+ function mergeStyleObjects(left, right) {
132289
+ if (!left) return right;
132290
+ if (!right) return left;
132291
+ return {
132292
+ ...left,
132293
+ ...right
132294
+ };
132295
+ }
132124
132296
  function pageBlockPosition(index, blockCount) {
132125
132297
  if (blockCount <= 1) return "only";
132126
132298
  if (index === 0) return "first";
@@ -134035,52 +134207,53 @@ const containerResponsiveThemeCss = `/*
134035
134207
 
134036
134208
  /* Semantic spacing tokens (replaces Tailwind maps in src/system/spacing.ts) */
134037
134209
  .rb-section-pad-none {
134038
- padding-top: 0;
134039
- padding-bottom: 0;
134210
+ --rb-section-pad-y: 0rem;
134211
+ padding-top: var(--rb-section-pad-y);
134212
+ padding-bottom: var(--rb-section-pad-y);
134040
134213
  }
134041
134214
  .rb-section-pad-compact {
134042
- padding-top: 1.5rem;
134043
- padding-bottom: 1.5rem;
134215
+ --rb-section-pad-y: 1.5rem;
134216
+ padding-top: var(--rb-section-pad-y);
134217
+ padding-bottom: var(--rb-section-pad-y);
134044
134218
  }
134045
134219
  .rb-section-pad-cozy {
134046
- padding-top: 2.5rem;
134047
- padding-bottom: 2.5rem;
134220
+ --rb-section-pad-y: 2.5rem;
134221
+ padding-top: var(--rb-section-pad-y);
134222
+ padding-bottom: var(--rb-section-pad-y);
134048
134223
  }
134049
134224
  .rb-section-pad-medium {
134050
- padding-top: 3rem;
134051
- padding-bottom: 3rem;
134225
+ --rb-section-pad-y: 3rem;
134226
+ padding-top: var(--rb-section-pad-y);
134227
+ padding-bottom: var(--rb-section-pad-y);
134052
134228
  }
134053
134229
  .rb-section-pad-comfortable {
134054
- padding-top: 4rem;
134055
- padding-bottom: 4rem;
134230
+ --rb-section-pad-y: 4rem;
134231
+ padding-top: var(--rb-section-pad-y);
134232
+ padding-bottom: var(--rb-section-pad-y);
134056
134233
  }
134057
134234
  .rb-section-pad-spacious {
134058
- padding-top: 5rem;
134059
- padding-bottom: 5rem;
134235
+ --rb-section-pad-y: 5rem;
134236
+ padding-top: var(--rb-section-pad-y);
134237
+ padding-bottom: var(--rb-section-pad-y);
134060
134238
  }
134061
134239
 
134062
134240
  @container rb-site (min-width: 640px) {
134063
134241
 
134064
134242
  @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
134065
134243
  .rb-section-pad-compact {
134066
- padding-top: 2rem;
134067
- padding-bottom: 2rem;
134244
+ --rb-section-pad-y: 2rem;
134068
134245
  }
134069
134246
  .rb-section-pad-cozy {
134070
- padding-top: 3.5rem;
134071
- padding-bottom: 3.5rem;
134247
+ --rb-section-pad-y: 3.5rem;
134072
134248
  }
134073
134249
  .rb-section-pad-medium {
134074
- padding-top: 4rem;
134075
- padding-bottom: 4rem;
134250
+ --rb-section-pad-y: 4rem;
134076
134251
  }
134077
134252
  .rb-section-pad-comfortable {
134078
- padding-top: 5rem;
134079
- padding-bottom: 5rem;
134253
+ --rb-section-pad-y: 5rem;
134080
134254
  }
134081
134255
  .rb-section-pad-spacious {
134082
- padding-top: 7rem;
134083
- padding-bottom: 7rem;
134256
+ --rb-section-pad-y: 7rem;
134084
134257
  }
134085
134258
  }
134086
134259
 
@@ -135470,30 +135643,122 @@ const containerResponsiveThemeCss = `/*
135470
135643
  :where(.theme-scope) .header-logo-text {
135471
135644
  font-size: 1.125rem; /* matches rb-text-lg */
135472
135645
  line-height: 1.75rem;
135646
+ margin-inline: -0.18em;
135647
+ padding-inline: 0.18em;
135473
135648
  transition: font-size 300ms var(--motion-ease, ease);
135474
135649
  }
135475
135650
 
135476
- /* Mobile: reduce site title size (~30%) to keep header compact */
135651
+ /* Centered variant uses larger title */
135652
+ :where(.theme-scope) .header-variant-centered .header-logo-text {
135653
+ font-size: 1.25rem; /* matches rb-text-xl */
135654
+ line-height: 1.75rem;
135655
+ }
135656
+
135657
+ :where(.theme-scope) .header-logo-size-compact .header-logo-text {
135658
+ font-size: 0.95rem;
135659
+ line-height: 1.5rem;
135660
+ }
135661
+ :where(.theme-scope) .header-logo-size-standard .header-logo-text {
135662
+ font-size: 1.125rem;
135663
+ line-height: 1.75rem;
135664
+ }
135665
+ :where(.theme-scope) .header-logo-size-generous .header-logo-text {
135666
+ font-size: 1.35rem;
135667
+ line-height: 1.9rem;
135668
+ }
135669
+ :where(.theme-scope) .header-logo-size-display .header-logo-text {
135670
+ font-size: 1.75rem;
135671
+ line-height: 2.25rem;
135672
+ }
135673
+
135674
+ :where(.theme-scope)
135675
+ .header-variant-centered
135676
+ .header-logo-size-compact
135677
+ .header-logo-text {
135678
+ font-size: 1.125rem;
135679
+ line-height: 1.75rem;
135680
+ }
135681
+ :where(.theme-scope)
135682
+ .header-variant-centered
135683
+ .header-logo-size-standard
135684
+ .header-logo-text {
135685
+ font-size: 1.25rem;
135686
+ line-height: 1.75rem;
135687
+ }
135688
+ :where(.theme-scope)
135689
+ .header-variant-centered
135690
+ .header-logo-size-generous
135691
+ .header-logo-text {
135692
+ font-size: 1.6rem;
135693
+ line-height: 2rem;
135694
+ }
135695
+ :where(.theme-scope)
135696
+ .header-variant-centered
135697
+ .header-logo-size-display
135698
+ .header-logo-text {
135699
+ font-size: 2.1rem;
135700
+ line-height: 2.5rem;
135701
+ }
135702
+
135703
+ /* Mobile: reduce site title size to keep header compact */
135477
135704
  @container rb-site (max-width: 767px) {
135478
135705
  @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
135479
- :where(.theme-scope) .header-logo-text {
135706
+ :where(.theme-scope) .header-logo-text,
135707
+ :where(.theme-scope) .header-logo-size-standard .header-logo-text {
135480
135708
  font-size: 0.8rem;
135481
135709
  line-height: 1.25rem;
135482
135710
  }
135483
135711
 
135484
- :where(.theme-scope) .header-variant-centered .header-logo-text {
135712
+ :where(.theme-scope) .header-logo-size-compact .header-logo-text {
135713
+ font-size: 0.75rem;
135714
+ line-height: 1.15rem;
135715
+ }
135716
+
135717
+ :where(.theme-scope) .header-logo-size-generous .header-logo-text {
135718
+ font-size: 1rem;
135719
+ line-height: 1.4rem;
135720
+ }
135721
+
135722
+ :where(.theme-scope) .header-logo-size-display .header-logo-text {
135723
+ font-size: 1.25rem;
135724
+ line-height: 1.65rem;
135725
+ }
135726
+
135727
+ :where(.theme-scope) .header-variant-centered .header-logo-text,
135728
+ :where(.theme-scope)
135729
+ .header-variant-centered
135730
+ .header-logo-size-standard
135731
+ .header-logo-text {
135485
135732
  font-size: 0.875rem;
135486
135733
  line-height: 1.25rem;
135487
135734
  }
135735
+
135736
+ :where(.theme-scope)
135737
+ .header-variant-centered
135738
+ .header-logo-size-compact
135739
+ .header-logo-text {
135740
+ font-size: 0.8rem;
135741
+ line-height: 1.2rem;
135742
+ }
135743
+
135744
+ :where(.theme-scope)
135745
+ .header-variant-centered
135746
+ .header-logo-size-generous
135747
+ .header-logo-text {
135748
+ font-size: 1.125rem;
135749
+ line-height: 1.5rem;
135750
+ }
135751
+
135752
+ :where(.theme-scope)
135753
+ .header-variant-centered
135754
+ .header-logo-size-display
135755
+ .header-logo-text {
135756
+ font-size: 1.35rem;
135757
+ line-height: 1.75rem;
135758
+ }
135488
135759
  }
135489
135760
  }
135490
135761
 
135491
- /* Centered variant uses larger title */
135492
- :where(.theme-scope) .header-variant-centered .header-logo-text {
135493
- font-size: 1.25rem; /* matches rb-text-xl */
135494
- line-height: 1.75rem;
135495
- }
135496
-
135497
135762
  /* =================================================================
135498
135763
  Shrink on Scroll - Logo & Title
135499
135764
  ================================================================= */
@@ -143845,7 +144110,7 @@ function toPageHydrationBootstrapConfig(props) {
143845
144110
  mediaAssets: props.mediaAssets
143846
144111
  };
143847
144112
  }
143848
- 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 }) {
144113
+ 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 }) {
143849
144114
  const baseTokens = providedTokens ?? buildThemeRuntime(theme).tokens;
143850
144115
  return renderWithSdkThemeRuntime({
143851
144116
  themeRuntime,
@@ -143853,6 +144118,7 @@ function PageContent({ page, theme, themeTokens: providedTokens, siteId, resolve
143853
144118
  children: /* @__PURE__ */ jsx(PageRenderer, {
143854
144119
  theme,
143855
144120
  page,
144121
+ runtimeBoundaries,
143856
144122
  themeTokens: sdkConfig?.theme?.palette ? {
143857
144123
  ...baseTokens,
143858
144124
  palette: {
@@ -147120,6 +147386,7 @@ async function loadPageWithDeps(deps, params) {
147120
147386
  }
147121
147387
  return {
147122
147388
  page: pageOutline,
147389
+ runtimeBoundaries: pageData.runtimeBoundaries,
147123
147390
  theme: support.theme,
147124
147391
  sdkConfig: support.sdkConfig,
147125
147392
  siteId,
@@ -149847,6 +150114,7 @@ async function loadContentFromContentResponseWithDeps(deps, params) {
149847
150114
  ogImageId: pageRecord.ogImageId ?? null
149848
150115
  },
149849
150116
  page: pageOutline,
150117
+ runtimeBoundaries: pageData.runtimeBoundaries,
149850
150118
  theme: support.theme,
149851
150119
  siteId,
149852
150120
  ...support.customBlocks ? { customBlocks: support.customBlocks } : {},