@riverbankcms/sdk 0.143.0 → 0.145.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 (254) hide show
  1. package/dist/{PreviewEditorSidebar-DROGfMKi.mjs → PreviewEditorSidebar-O-V6Pl5a.mjs} +20 -26
  2. package/dist/{PreviewEditorUI-BaRjhFu-.mjs → PreviewEditorUI-1UlX_9cw.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-BCYICImX.mjs → PreviewQueryProvider-BxGwdOCV.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-OIABYLES.mjs → SdkPreviewModeRuntime-DYbA_4iv.mjs} +431 -351
  5. package/dist/{SiteChromeCustomizeContext-ohjTvZbc.mjs → SiteChromeCustomizeContext-CNTKQ9nx.mjs} +3989 -2769
  6. package/dist/_dts/ai/src/contracts/proposals.d.ts +4719 -66
  7. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +429 -6
  8. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +49 -0
  9. package/dist/_dts/api/src/appointmentServiceCategoryEndpoints.d.ts +75 -0
  10. package/dist/_dts/api/src/appointmentServiceContracts.d.ts +80 -0
  11. package/dist/_dts/api/src/appointmentSetup.d.ts +8 -1
  12. package/dist/_dts/api/src/billing.d.ts +1 -1
  13. package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
  14. package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
  15. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -12
  16. package/dist/_dts/api/src/communications.d.ts +14 -22
  17. package/dist/_dts/api/src/contentRuntime.d.ts +2 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +105 -58
  19. package/dist/_dts/api/src/index.d.ts +1 -1
  20. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  21. package/dist/_dts/api/src/launchReadiness.d.ts +2 -0
  22. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
  23. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +0 -23
  24. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +3 -0
  25. package/dist/_dts/api/src/publicBookingService.d.ts +35 -1
  26. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +1 -0
  27. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +13 -0
  28. package/dist/_dts/api/src/publicNewsletterEndpointDefinitions.d.ts +58 -0
  29. package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +3 -3
  30. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  31. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
  32. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +2 -6
  33. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
  34. package/dist/_dts/api/src/siteSettings.d.ts +17 -7
  35. package/dist/_dts/api/src/types.d.ts +2 -1
  36. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  37. package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
  38. package/dist/_dts/block-form/src/client/index.d.ts +1 -0
  39. package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
  40. package/dist/_dts/block-form/src/context/index.d.ts +1 -0
  41. package/dist/_dts/block-form/src/index.d.ts +1 -0
  42. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
  43. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
  44. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
  45. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
  46. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
  47. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
  48. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
  49. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -4
  50. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  51. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +58 -10
  52. package/dist/_dts/blocks/src/index.d.ts +1 -1
  53. package/dist/_dts/blocks/src/pageRenderJoins.d.ts +68 -0
  54. package/dist/_dts/blocks/src/pageRenderPlan.d.ts +8 -27
  55. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +7 -4
  56. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +40 -23
  57. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
  58. package/dist/_dts/blocks/src/server.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +2 -0
  60. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +2 -2
  61. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +1 -1
  62. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  63. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  64. package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
  65. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +29 -3
  66. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +5 -0
  67. package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
  68. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -0
  69. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
  70. package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
  72. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
  73. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
  75. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
  76. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
  77. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
  78. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +22 -2
  79. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +3 -1
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +57 -2
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-categories.d.ts +29 -0
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.service-choices.d.ts +13 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +3 -3
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +13 -1
  86. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -2
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
  97. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
  98. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
  99. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
  100. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +6 -4
  101. package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
  103. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +20 -1
  104. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
  105. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
  106. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
  108. package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
  109. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  110. package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
  111. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  112. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
  113. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
  114. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -0
  115. package/dist/_dts/content-model/src/content-types/schema.d.ts +1 -1
  116. package/dist/_dts/core/src/appointment-service-categories.d.ts +108 -0
  117. package/dist/_dts/core/src/editor-state.d.ts +6 -0
  118. package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
  119. package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
  120. package/dist/_dts/core/src/index.d.ts +3 -0
  121. package/dist/_dts/core/src/public-profile.d.ts +9 -0
  122. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +676 -241
  123. package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
  124. package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
  125. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +6 -0
  126. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +16 -1
  127. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +13 -0
  128. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +29 -0
  129. package/dist/_dts/logger/src/console.d.ts +3 -0
  130. package/dist/_dts/preview-next/src/client/blocks/BoundaryControl.d.ts +7 -2
  131. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +1 -1
  132. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +1 -0
  133. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +1 -3
  134. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  135. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +2 -2
  136. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -0
  137. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
  138. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +8 -0
  139. package/dist/_dts/sdk/src/client/types.d.ts +4 -1
  140. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  141. package/dist/_dts/sdk/src/contracts/page.d.ts +7 -2
  142. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
  143. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +2 -2
  144. package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
  145. package/dist/_dts/sdk/src/public-api/contracts.d.ts +21 -15
  146. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
  147. package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
  148. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
  149. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
  150. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +4 -2
  151. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +1 -1
  152. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +1 -1
  153. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
  154. package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
  155. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  156. package/dist/_dts/sdk/src/version.d.ts +1 -1
  157. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  158. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
  159. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
  160. package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
  161. package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
  162. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/layout/boundaryCss.d.ts +3 -0
  164. package/dist/_dts/theme-core/src/site-styles/compositionBudget.d.ts +8 -0
  165. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +3 -2
  166. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +1 -3
  167. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +3 -0
  168. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  169. package/dist/_dts/theme-core/src/site-styles/joinTreatment.d.ts +132 -0
  170. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorBoundaries.d.ts +31 -0
  171. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +33 -29
  172. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +4 -4
  173. package/dist/_dts/theme-core/src/site-styles/pageFlowPresets.d.ts +36 -0
  174. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +4 -10
  175. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +17 -4
  176. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +20 -74
  177. package/dist/_dts/theme-core/src/site-styles/sectionBoundaryComposition.d.ts +95 -0
  178. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +80 -518
  179. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +9 -4
  180. package/dist/_dts/theme-core/src/site-styles/transitionCatalogue.d.ts +320 -0
  181. package/dist/_dts/theme-core/src/site-styles/types.d.ts +3 -18
  182. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  183. package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
  184. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
  185. package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
  186. package/dist/_dts/ui/src/index.d.ts +1 -0
  187. package/dist/client/{BookingConsentAgreement-BoCtvzzu.mjs → BookingConsentAgreement-DlVOmpW4.mjs} +4 -55
  188. package/dist/client/{DiscountCodeDisclosure-B5S30nZk.mjs → DiscountCodeDisclosure-T9q623PQ.mjs} +27 -17
  189. package/dist/client/{EventCombined.client-CeZ2-zSt.mjs → EventCombined.client-DnsUeONl.mjs} +54 -46
  190. package/dist/client/{EventListing.client-DJN3j8B3.mjs → EventListing.client-CNBFqJS4.mjs} +3 -4
  191. package/dist/client/{LeafletStaticMap-RjtGzDQT.mjs → LeafletStaticMap-C7higg52.mjs} +1 -1
  192. package/dist/client/ThemedButton-LAJTNrS8.mjs +412 -0
  193. package/dist/client/{accordion-DOmnDoyg.mjs → accordion-BcNF9TjX.mjs} +1 -1
  194. package/dist/client/{bookingForm-C0vk7pgS.mjs → bookingForm-BUaQ3S03.mjs} +161 -75
  195. package/dist/client/bookings.mjs +392 -182
  196. package/dist/client/{carousel-BZJ7pno3.mjs → carousel-CTdF6e0V.mjs} +2 -2
  197. package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
  198. package/dist/client/{cart-CaeVAHJl.mjs → cart-pGtyf_XU.mjs} +3 -3
  199. package/dist/client/{checkout-7wmoNDtG.mjs → checkout-Da9WSn7Y.mjs} +3 -3
  200. package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
  201. package/dist/client/client.mjs +3819 -2717
  202. package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
  203. package/dist/client/{context-BOimxE3U.mjs → context-BFeY_Wbm.mjs} +24 -8
  204. package/dist/client/{dates-BnzVksi4.mjs → dates-BhwVSxDg.mjs} +2 -2
  205. package/dist/client/{eventCalendar-l-fpaslC.mjs → eventCalendar-BAtdnR4s.mjs} +39 -50
  206. package/dist/client/{eventCombined-DGGvssK6.mjs → eventCombined-RksA3tRC.mjs} +5 -4
  207. package/dist/client/{eventDetails-DRiCm_hL.mjs → eventDetails-BB9hB4wR.mjs} +4 -4
  208. package/dist/client/{eventListing-dph8loYX.mjs → eventListing-BpJBkviM.mjs} +5 -4
  209. package/dist/client/{eventRegistration-ClBohmbY.mjs → eventRegistration-B18jFq_o.mjs} +83 -68
  210. package/dist/client/{form-BLVVAnd3.mjs → form-Dodt8Y8t.mjs} +9 -10
  211. package/dist/client/{headerSection-DHy4C8Ix.mjs → headerSection-B0qj9ttg.mjs} +23 -30
  212. package/dist/client/hooks.mjs +807 -162
  213. package/dist/client/{locationMap-6HuS28ck.mjs → locationMap-gn-iMk7a.mjs} +9 -10
  214. package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
  215. package/dist/client/{newsletterForm-xOdcOhZP.mjs → newsletterForm-oByLdFkr.mjs} +31 -11
  216. package/dist/client/{pricing-ChinRYFt.mjs → pricing-BOU0_Hai.mjs} +1 -1
  217. package/dist/client/{productDetail-0chA5gbK.mjs → productDetail-D9v1zH2j.mjs} +3 -3
  218. package/dist/client/{productList-OoINA0h1.mjs → productList-D-mItx1n.mjs} +3 -3
  219. package/dist/client/{propsDecoder-CIZ-hbIG.mjs → propsDecoder-C3TP_z4x.mjs} +158 -61
  220. package/dist/client/rendering/client.mjs +2785 -2000
  221. package/dist/client/rendering/islands.mjs +19 -19
  222. package/dist/client/rendering.mjs +3855 -2694
  223. package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-DzN1W0sq.mjs} +8 -1
  224. package/dist/client/{scrollToBlock-BPZl0gPZ.mjs → scrollToBlock-CWs8EIdo.mjs} +1 -1
  225. package/dist/client/{shop-CLJFqNIq.mjs → shop-Dufw7N7o.mjs} +45 -58
  226. package/dist/client/{shop-commerce-PpANg5wB.mjs → shop-commerce-gklw_hLF.mjs} +42 -55
  227. package/dist/client/{shop-commerce-store-TA_Kz2ku.mjs → shop-commerce-store-Sf1eyTaZ.mjs} +1 -1
  228. package/dist/client/{shopShared-DzcFcA5g.mjs → shopShared-B5nyA41S.mjs} +6 -5
  229. package/dist/client/{useEventFilters-CFU21QZo.mjs → useEventFilters-CLL829vy.mjs} +66 -355
  230. package/dist/preview-next/before-render.mjs +147 -77
  231. package/dist/preview-next/client/runtime.mjs +4 -4
  232. package/dist/preview-next/editor-chrome.css +8 -0
  233. package/dist/preview-next/keepAlive.mjs +147 -77
  234. package/dist/preview-next/middleware.mjs +147 -77
  235. package/dist/{previewAuthStore-JA6-I_sL.mjs → previewAuthStore-BxAFlu-j.mjs} +147 -77
  236. package/dist/{sdk-runtime-CDKl0Fr7.mjs → sdk-runtime-D0uZFev7.mjs} +2 -2
  237. package/dist/{separator-BTp96X32.mjs → separator-EvdCAn4V.mjs} +1 -1
  238. package/dist/server/components.mjs +2548 -1607
  239. package/dist/server/config-validation.mjs +794 -160
  240. package/dist/server/config.mjs +794 -160
  241. package/dist/server/data.mjs +806 -161
  242. package/dist/server/index.mjs +167 -85
  243. package/dist/server/navigation.mjs +28 -1
  244. package/dist/server/next.mjs +14930 -14036
  245. package/dist/server/page-converter.mjs +494 -113
  246. package/dist/server/prebuild.mjs +1 -1
  247. package/dist/server/rendering/server.mjs +2537 -1590
  248. package/dist/server/rendering.mjs +2571 -1618
  249. package/dist/server/routing.mjs +918 -200
  250. package/dist/server/server.mjs +819 -205
  251. package/dist/server/theme-bridge.mjs +1232 -28
  252. package/dist/server/theme.mjs +6 -4
  253. package/dist/styles/index.css +6 -0
  254. package/package.json +2 -1
@@ -0,0 +1,8 @@
1
+ import { type RefObject } from 'react';
2
+ /**
3
+ * When removing the last item swaps the list for a host's empty state, the
4
+ * removed row's controls are gone and focus would fall to the page. Move it to
5
+ * the empty state's first action instead — but only after a removal, never
6
+ * when a repeater simply starts out empty.
7
+ */
8
+ export declare function useEmptyStateFocusAfterRemoval(itemCount: number, showEmptyState: boolean): RefObject<HTMLDivElement | null>;
@@ -2,7 +2,21 @@
2
2
  * Build a summary preview text for a repeater item
3
3
  * Shows first 2 non-hidden, non-label-source field values
4
4
  */
5
- import type { RepeaterFieldConfig } from '../../../fields/types';
5
+ import type { RepeaterFieldConfig, FieldConfig } from '../../../fields/types';
6
6
  import type { FormBackend } from '../../../backend/types';
7
7
  export declare const DEFAULT_REPEATER_SUMMARY_MAX_CHARS = 96;
8
+ type SummaryPartOptions = Readonly<{
9
+ /** True when the repeater named this field in `summaryFields`. */
10
+ explicitlyListed: boolean;
11
+ }>;
12
+ /**
13
+ * The summary text for one field's value, resolved by the field's type:
14
+ * select values become their option labels (a value missing from the
15
+ * select's own options is omitted rather than shown as an internal key), and
16
+ * a boolean contributes its own label when true
17
+ * — but only when the repeater asked for it, so checkboxes don't start
18
+ * appearing in summaries that never had them.
19
+ */
20
+ export declare function resolveSummaryPart(field: FieldConfig, value: unknown, options: SummaryPartOptions): string | null;
8
21
  export declare function buildSummary(field: RepeaterFieldConfig, index: number, backend: FormBackend, basePath: string): string;
22
+ export {};
@@ -1,10 +1,10 @@
1
1
  export declare const REPEATER_ROW_COMPACT_ACTIONS_WIDTH = 640;
2
- export type RepeaterRowActionId = 'moveEarlier' | 'moveLater' | 'delete';
2
+ export type RepeaterRowActionId = 'moveEarlier' | 'moveLater' | 'duplicate' | 'delete';
3
3
  export type RepeaterRowActionAvailability = {
4
4
  kind: 'enabled';
5
5
  } | {
6
6
  kind: 'disabled';
7
- reason: 'first-item' | 'last-item' | 'minimum-items' | 'unavailable';
7
+ reason: 'first-item' | 'last-item' | 'minimum-items' | 'maximum-items' | 'unavailable';
8
8
  };
9
9
  export type RepeaterRowMenuAction = {
10
10
  id: RepeaterRowActionId;
@@ -32,6 +32,9 @@ export type RepeaterRowActionPresentationInput = {
32
32
  index: number;
33
33
  itemsLength: number;
34
34
  minItems: number;
35
+ /** Present when duplicating is offered; duplicates count towards it. */
36
+ maxItems?: number;
37
+ canDuplicate?: boolean;
35
38
  actionPresentation?: 'auto' | 'wide' | 'compact';
36
39
  };
37
40
  export type RepeaterRowActionRenderPlanInput = RepeaterRowActionPresentationInput & {
@@ -4,20 +4,20 @@ import type { PageOutline } from './structure/schema';
4
4
  import type { SdkCustomBlock } from './system/manifest/schema';
5
5
  import type { RouteMap } from './system/transforms';
6
6
  import { type OverrideOnlyRenderMode, type ThemedRenderMode, type TokensOnlyRenderMode } from './pageRenderingMode';
7
- import { type PageBoundaryWrapper, type PageRuntimeBoundary } from './pageRendererBoundaries';
7
+ import { type PageJoinRenderer, type PageRuntimeJoin } from './pageRendererBoundaries';
8
8
  import { type BlockOverrides, type PageRendererDataContext, type SdkConfigForRenderer } from './pageRendererContracts';
9
9
  import { type RenderablePageOutline } from './pageRenderAdmission';
10
10
  export type { PageBlockRenderAdmissionError, RenderablePageBlock, RenderablePageOutline, } from './pageRenderAdmission';
11
11
  export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, OccurrenceContextData, SdkConfigForRenderer, } from './pageRendererContracts';
12
12
  export { MissingBlockOverrideError } from './pageRenderingMode';
13
- export type { PageBlockPosition, PageRuntimeBoundary, } from './pageRendererBoundaries';
13
+ export type { PageBlockPosition, PageJoinRenderer, PageJoinSlot, PageRuntimeJoin, RenderedJoin, } from './pageRendererBoundaries';
14
14
  type PageRendererCommonProps<TPage> = {
15
15
  page: TPage | null;
16
- runtimeBoundaries?: readonly PageRuntimeBoundary[];
16
+ runtimeJoins?: readonly PageRuntimeJoin[];
17
17
  dataContext?: PageRendererDataContext;
18
18
  routeMap?: RouteMap;
19
19
  wrapBlock?: (blockId: string, rendered: React.ReactNode) => React.ReactNode;
20
- wrapBoundary?: PageBoundaryWrapper;
20
+ renderJoin?: PageJoinRenderer;
21
21
  registry?: ResolverContext['registry'];
22
22
  blockOverrides?: BlockOverrides;
23
23
  sdkConfig?: SdkConfigForRenderer | null;
@@ -6,8 +6,8 @@
6
6
  */
7
7
  export type { BindingSource, BindingDescriptor, BindingInput, BindingMap, BindingContext, BindingPath, BindingTransformName, KnownBindingTransformName, FieldBindingDescriptor, MetaBindingDescriptor, LiteralBindingDescriptor, TransformBindingDescriptor, FallbackBindingDescriptor, } from './types';
8
8
  export { TRANSFORMS, BINDING_SOURCES } from './types';
9
- export { asDesignBlockId, asContentTemplateDesignBlockId, asLayoutVariantKey, buildPageDesignEditorReadModel, compileContentTemplateRuntimeFields, parsePageDesignIntent, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, type DesignBlockId, parseContentTemplateDesignIntent, type CompiledBlockRuntimeFields, type CompiledBoundaryRuntime, type LayoutVariantKey, type PageDesignEditorBlockInput, type PageDesignIntent, type SurfaceResolutionContext, applyBlockContentVariantPolicy, deriveSiteStyleBlockPolicy, } from '../../../theme-core/src/site-styles/index';
10
- export { applyCompiledRuntimeFieldsToContent, buildEditorModelRuntimeBoundaries, buildEditorModelRuntimeFieldsByBlockId, compileEditorModelRuntime, retargetCompiledBoundaryRuntimeForContentAdjacency, retargetCompiledRuntimeFieldsForContentAdjacency, } from '../../../theme-core/src/site-styles/previewCompiler';
9
+ export { asDesignBlockId, asContentTemplateDesignBlockId, asLayoutVariantKey, buildPageDesignEditorReadModel, compileContentTemplateRuntimeFields, parsePageDesignIntent, surfaceResolutionContextFromTheme, designRuntimeRulesForTheme, type DesignBlockId, parseContentTemplateDesignIntent, type CompiledBlockRuntimeFields, type PageRuntimeJoin, type LayoutVariantKey, type PageDesignEditorBlockInput, type PageDesignIntent, type SurfaceResolutionContext, applyBlockContentVariantPolicy, deriveSiteStyleBlockPolicy, } from '../../../theme-core/src/site-styles/index';
10
+ export { applyCompiledRuntimeFieldsToContent, buildEditorModelRuntimeFieldsByBlockId, compileEditorModelRuntime, } from '../../../theme-core/src/site-styles/previewCompiler';
11
11
  export { blockDesignMetadataMapFromDefinitions } from '../system/designCapabilities';
12
12
  export { systemBlockDefinitions } from '../system/blocks';
13
13
  import type { BindingContext, BindingDescriptor, BindingInput, BindingMap, BindingPath, FieldBindingDescriptor, FallbackBindingDescriptor, KnownBindingTransformName, LiteralBindingDescriptor, MetaBindingDescriptor, TransformBindingDescriptor } from './types';
@@ -87,6 +87,12 @@ export declare const proofBlockIslandCodecs: {
87
87
  agreement: import("../../../core/src/index").RichTextDoc;
88
88
  checkboxLabel: string;
89
89
  }>;
90
+ categoryId?: string | null;
91
+ }>[];
92
+ serviceCategories?: readonly Readonly<{
93
+ id: string;
94
+ name: string;
95
+ description: string | null;
90
96
  }>[];
91
97
  spamProtectionEnabled?: boolean;
92
98
  }>;
@@ -169,6 +175,12 @@ export declare const proofBlockIslandCodecs: {
169
175
  agreement: import("../../../core/src/index").RichTextDoc;
170
176
  checkboxLabel: string;
171
177
  }>;
178
+ categoryId?: string | null;
179
+ }>[];
180
+ serviceCategories?: readonly Readonly<{
181
+ id: string;
182
+ name: string;
183
+ description: string | null;
172
184
  }>[];
173
185
  spamProtectionEnabled?: boolean;
174
186
  }>;
@@ -181,6 +193,7 @@ export declare const proofBlockIslandCodecs: {
181
193
  apiBaseUrl?: string;
182
194
  portalToken?: string | null;
183
195
  previewToken?: string | null;
196
+ readAuthority?: import("../api").BrowserReadAuthority;
184
197
  stage?: "preview" | "published";
185
198
  }> & {
186
199
  renderKind: "client-owned";
@@ -198,6 +211,7 @@ export declare const proofBlockIslandCodecs: {
198
211
  apiBaseUrl?: string;
199
212
  portalToken?: string | null;
200
213
  previewToken?: string | null;
214
+ readAuthority?: import("../api").BrowserReadAuthority;
201
215
  stage?: "preview" | "published";
202
216
  }> & {
203
217
  renderKind: "client-owned";
@@ -263,6 +277,7 @@ export declare const proofBlockIslandCodecs: {
263
277
  encode: (value: Readonly<Readonly<{
264
278
  siteId: string;
265
279
  apiBaseUrl?: string;
280
+ readAuthority?: import("../api").BrowserReadAuthority;
266
281
  stage?: "preview" | "published";
267
282
  }> & {
268
283
  renderKind: "progressive";
@@ -288,7 +303,6 @@ export declare const proofBlockIslandCodecs: {
288
303
  }>;
289
304
  hydration: Readonly<{
290
305
  siteId: string;
291
- stage?: "preview" | "published";
292
306
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
293
307
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
294
308
  showFilters: boolean;
@@ -309,6 +323,7 @@ export declare const proofBlockIslandCodecs: {
309
323
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
310
324
  siteId: string;
311
325
  apiBaseUrl?: string;
326
+ readAuthority?: import("../api").BrowserReadAuthority;
312
327
  stage?: "preview" | "published";
313
328
  }> & {
314
329
  renderKind: "progressive";
@@ -334,7 +349,6 @@ export declare const proofBlockIslandCodecs: {
334
349
  }>;
335
350
  hydration: Readonly<{
336
351
  siteId: string;
337
- stage?: "preview" | "published";
338
352
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
339
353
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
340
354
  showFilters: boolean;
@@ -357,6 +371,7 @@ export declare const proofBlockIslandCodecs: {
357
371
  encode: (value: Readonly<Readonly<{
358
372
  siteId: string;
359
373
  apiBaseUrl?: string;
374
+ readAuthority?: import("../api").BrowserReadAuthority;
360
375
  stage?: "preview" | "published";
361
376
  }> & {
362
377
  renderKind: "progressive";
@@ -367,7 +382,6 @@ export declare const proofBlockIslandCodecs: {
367
382
  hydration: Readonly<{
368
383
  calendarWindow?: import(".").CalendarWindowPage;
369
384
  siteId: string;
370
- stage?: "preview" | "published";
371
385
  prefetchedEvents: boolean;
372
386
  eventSurface: import("..").EventSurfaceScope;
373
387
  filterEventPresets: string | null;
@@ -386,6 +400,7 @@ export declare const proofBlockIslandCodecs: {
386
400
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
387
401
  siteId: string;
388
402
  apiBaseUrl?: string;
403
+ readAuthority?: import("../api").BrowserReadAuthority;
389
404
  stage?: "preview" | "published";
390
405
  }> & {
391
406
  renderKind: "progressive";
@@ -396,7 +411,6 @@ export declare const proofBlockIslandCodecs: {
396
411
  hydration: Readonly<{
397
412
  calendarWindow?: import(".").CalendarWindowPage;
398
413
  siteId: string;
399
- stage?: "preview" | "published";
400
414
  prefetchedEvents: boolean;
401
415
  eventSurface: import("..").EventSurfaceScope;
402
416
  filterEventPresets: string | null;
@@ -533,6 +547,7 @@ export declare const proofBlockIslandCodecs: {
533
547
  encode: (value: Readonly<Readonly<{
534
548
  siteId?: string;
535
549
  apiBaseUrl?: string;
550
+ readAuthority?: import("../api").BrowserReadAuthority;
536
551
  stage?: "preview" | "published";
537
552
  }> & {
538
553
  renderKind: "progressive";
@@ -579,6 +594,7 @@ export declare const proofBlockIslandCodecs: {
579
594
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
580
595
  siteId?: string;
581
596
  apiBaseUrl?: string;
597
+ readAuthority?: import("../api").BrowserReadAuthority;
582
598
  stage?: "preview" | "published";
583
599
  }> & {
584
600
  renderKind: "progressive";
@@ -627,6 +643,7 @@ export declare const proofBlockIslandCodecs: {
627
643
  encode: (value: Readonly<Readonly<{
628
644
  siteId?: string;
629
645
  apiBaseUrl?: string;
646
+ readAuthority?: import("../api").BrowserReadAuthority;
630
647
  stage?: "preview" | "published";
631
648
  }> & {
632
649
  renderKind: "progressive";
@@ -646,6 +663,7 @@ export declare const proofBlockIslandCodecs: {
646
663
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
647
664
  siteId?: string;
648
665
  apiBaseUrl?: string;
666
+ readAuthority?: import("../api").BrowserReadAuthority;
649
667
  stage?: "preview" | "published";
650
668
  }> & {
651
669
  renderKind: "progressive";
@@ -667,6 +685,7 @@ export declare const proofBlockIslandCodecs: {
667
685
  encode: (value: Readonly<Readonly<{
668
686
  siteId?: string;
669
687
  apiBaseUrl?: string;
688
+ readAuthority?: import("../api").BrowserReadAuthority;
670
689
  stage?: "preview" | "published";
671
690
  }> & {
672
691
  renderKind: "client-owned";
@@ -701,6 +720,7 @@ export declare const proofBlockIslandCodecs: {
701
720
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
702
721
  siteId?: string;
703
722
  apiBaseUrl?: string;
723
+ readAuthority?: import("../api").BrowserReadAuthority;
704
724
  stage?: "preview" | "published";
705
725
  }> & {
706
726
  renderKind: "client-owned";
@@ -737,6 +757,7 @@ export declare const proofBlockIslandCodecs: {
737
757
  encode: (value: Readonly<Readonly<{
738
758
  siteId?: string;
739
759
  apiBaseUrl?: string;
760
+ readAuthority?: import("../api").BrowserReadAuthority;
740
761
  stage?: "preview" | "published";
741
762
  }> & {
742
763
  renderKind: "client-owned";
@@ -760,6 +781,7 @@ export declare const proofBlockIslandCodecs: {
760
781
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
761
782
  siteId?: string;
762
783
  apiBaseUrl?: string;
784
+ readAuthority?: import("../api").BrowserReadAuthority;
763
785
  stage?: "preview" | "published";
764
786
  }> & {
765
787
  renderKind: "client-owned";
@@ -785,6 +807,7 @@ export declare const proofBlockIslandCodecs: {
785
807
  encode: (value: Readonly<Readonly<{
786
808
  siteId?: string;
787
809
  apiBaseUrl?: string;
810
+ readAuthority?: import("../api").BrowserReadAuthority;
788
811
  stage?: "preview" | "published";
789
812
  }> & {
790
813
  renderKind: "progressive";
@@ -836,6 +859,7 @@ export declare const proofBlockIslandCodecs: {
836
859
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
837
860
  siteId?: string;
838
861
  apiBaseUrl?: string;
862
+ readAuthority?: import("../api").BrowserReadAuthority;
839
863
  stage?: "preview" | "published";
840
864
  }> & {
841
865
  renderKind: "progressive";
@@ -891,6 +915,7 @@ export declare const runtimeIslandCodecs: {
891
915
  encode: (value: Readonly<Readonly<{
892
916
  siteId: string;
893
917
  apiBaseUrl?: string;
918
+ readAuthority?: import("../api").BrowserReadAuthority;
894
919
  stage?: "preview" | "published";
895
920
  }> & {
896
921
  renderKind: "progressive";
@@ -901,7 +926,6 @@ export declare const runtimeIslandCodecs: {
901
926
  hydration: Readonly<{
902
927
  calendarWindow?: import(".").CalendarWindowPage;
903
928
  siteId: string;
904
- stage?: "preview" | "published";
905
929
  prefetchedEvents: boolean;
906
930
  eventSurface: import("..").EventSurfaceScope;
907
931
  filterEventPresets: string | null;
@@ -920,6 +944,7 @@ export declare const runtimeIslandCodecs: {
920
944
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
921
945
  siteId: string;
922
946
  apiBaseUrl?: string;
947
+ readAuthority?: import("../api").BrowserReadAuthority;
923
948
  stage?: "preview" | "published";
924
949
  }> & {
925
950
  renderKind: "progressive";
@@ -930,7 +955,6 @@ export declare const runtimeIslandCodecs: {
930
955
  hydration: Readonly<{
931
956
  calendarWindow?: import(".").CalendarWindowPage;
932
957
  siteId: string;
933
- stage?: "preview" | "published";
934
958
  prefetchedEvents: boolean;
935
959
  eventSurface: import("..").EventSurfaceScope;
936
960
  filterEventPresets: string | null;
@@ -1025,6 +1049,12 @@ export declare const runtimeIslandCodecs: {
1025
1049
  agreement: import("../../../core/src/index").RichTextDoc;
1026
1050
  checkboxLabel: string;
1027
1051
  }>;
1052
+ categoryId?: string | null;
1053
+ }>[];
1054
+ serviceCategories?: readonly Readonly<{
1055
+ id: string;
1056
+ name: string;
1057
+ description: string | null;
1028
1058
  }>[];
1029
1059
  spamProtectionEnabled?: boolean;
1030
1060
  }>;
@@ -1107,6 +1137,12 @@ export declare const runtimeIslandCodecs: {
1107
1137
  agreement: import("../../../core/src/index").RichTextDoc;
1108
1138
  checkboxLabel: string;
1109
1139
  }>;
1140
+ categoryId?: string | null;
1141
+ }>[];
1142
+ serviceCategories?: readonly Readonly<{
1143
+ id: string;
1144
+ name: string;
1145
+ description: string | null;
1110
1146
  }>[];
1111
1147
  spamProtectionEnabled?: boolean;
1112
1148
  }>;
@@ -1119,6 +1155,7 @@ export declare const runtimeIslandCodecs: {
1119
1155
  apiBaseUrl?: string;
1120
1156
  portalToken?: string | null;
1121
1157
  previewToken?: string | null;
1158
+ readAuthority?: import("../api").BrowserReadAuthority;
1122
1159
  stage?: "preview" | "published";
1123
1160
  }> & {
1124
1161
  renderKind: "client-owned";
@@ -1136,6 +1173,7 @@ export declare const runtimeIslandCodecs: {
1136
1173
  apiBaseUrl?: string;
1137
1174
  portalToken?: string | null;
1138
1175
  previewToken?: string | null;
1176
+ readAuthority?: import("../api").BrowserReadAuthority;
1139
1177
  stage?: "preview" | "published";
1140
1178
  }> & {
1141
1179
  renderKind: "client-owned";
@@ -1201,6 +1239,7 @@ export declare const runtimeIslandCodecs: {
1201
1239
  encode: (value: Readonly<Readonly<{
1202
1240
  siteId: string;
1203
1241
  apiBaseUrl?: string;
1242
+ readAuthority?: import("../api").BrowserReadAuthority;
1204
1243
  stage?: "preview" | "published";
1205
1244
  }> & {
1206
1245
  renderKind: "progressive";
@@ -1226,7 +1265,6 @@ export declare const runtimeIslandCodecs: {
1226
1265
  }>;
1227
1266
  hydration: Readonly<{
1228
1267
  siteId: string;
1229
- stage?: "preview" | "published";
1230
1268
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
1231
1269
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
1232
1270
  showFilters: boolean;
@@ -1247,6 +1285,7 @@ export declare const runtimeIslandCodecs: {
1247
1285
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1248
1286
  siteId: string;
1249
1287
  apiBaseUrl?: string;
1288
+ readAuthority?: import("../api").BrowserReadAuthority;
1250
1289
  stage?: "preview" | "published";
1251
1290
  }> & {
1252
1291
  renderKind: "progressive";
@@ -1272,7 +1311,6 @@ export declare const runtimeIslandCodecs: {
1272
1311
  }>;
1273
1312
  hydration: Readonly<{
1274
1313
  siteId: string;
1275
- stage?: "preview" | "published";
1276
1314
  eventsPerPage: import("../system/runtime/nodes/events/shared/listOptions").EventPageSize;
1277
1315
  paginationAction: import("../system/runtime/nodes/events/shared/listOptions").EventListPaginationAction;
1278
1316
  showFilters: boolean;
@@ -1295,6 +1333,7 @@ export declare const runtimeIslandCodecs: {
1295
1333
  encode: (value: Readonly<Readonly<{
1296
1334
  siteId: string;
1297
1335
  apiBaseUrl?: string;
1336
+ readAuthority?: import("../api").BrowserReadAuthority;
1298
1337
  stage?: "preview" | "published";
1299
1338
  }> & {
1300
1339
  renderKind: "progressive";
@@ -1305,7 +1344,6 @@ export declare const runtimeIslandCodecs: {
1305
1344
  hydration: Readonly<{
1306
1345
  calendarWindow?: import(".").CalendarWindowPage;
1307
1346
  siteId: string;
1308
- stage?: "preview" | "published";
1309
1347
  prefetchedEvents: boolean;
1310
1348
  eventSurface: import("..").EventSurfaceScope;
1311
1349
  filterEventPresets: string | null;
@@ -1324,6 +1362,7 @@ export declare const runtimeIslandCodecs: {
1324
1362
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1325
1363
  siteId: string;
1326
1364
  apiBaseUrl?: string;
1365
+ readAuthority?: import("../api").BrowserReadAuthority;
1327
1366
  stage?: "preview" | "published";
1328
1367
  }> & {
1329
1368
  renderKind: "progressive";
@@ -1334,7 +1373,6 @@ export declare const runtimeIslandCodecs: {
1334
1373
  hydration: Readonly<{
1335
1374
  calendarWindow?: import(".").CalendarWindowPage;
1336
1375
  siteId: string;
1337
- stage?: "preview" | "published";
1338
1376
  prefetchedEvents: boolean;
1339
1377
  eventSurface: import("..").EventSurfaceScope;
1340
1378
  filterEventPresets: string | null;
@@ -1471,6 +1509,7 @@ export declare const runtimeIslandCodecs: {
1471
1509
  encode: (value: Readonly<Readonly<{
1472
1510
  siteId?: string;
1473
1511
  apiBaseUrl?: string;
1512
+ readAuthority?: import("../api").BrowserReadAuthority;
1474
1513
  stage?: "preview" | "published";
1475
1514
  }> & {
1476
1515
  renderKind: "progressive";
@@ -1517,6 +1556,7 @@ export declare const runtimeIslandCodecs: {
1517
1556
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1518
1557
  siteId?: string;
1519
1558
  apiBaseUrl?: string;
1559
+ readAuthority?: import("../api").BrowserReadAuthority;
1520
1560
  stage?: "preview" | "published";
1521
1561
  }> & {
1522
1562
  renderKind: "progressive";
@@ -1565,6 +1605,7 @@ export declare const runtimeIslandCodecs: {
1565
1605
  encode: (value: Readonly<Readonly<{
1566
1606
  siteId?: string;
1567
1607
  apiBaseUrl?: string;
1608
+ readAuthority?: import("../api").BrowserReadAuthority;
1568
1609
  stage?: "preview" | "published";
1569
1610
  }> & {
1570
1611
  renderKind: "progressive";
@@ -1584,6 +1625,7 @@ export declare const runtimeIslandCodecs: {
1584
1625
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1585
1626
  siteId?: string;
1586
1627
  apiBaseUrl?: string;
1628
+ readAuthority?: import("../api").BrowserReadAuthority;
1587
1629
  stage?: "preview" | "published";
1588
1630
  }> & {
1589
1631
  renderKind: "progressive";
@@ -1605,6 +1647,7 @@ export declare const runtimeIslandCodecs: {
1605
1647
  encode: (value: Readonly<Readonly<{
1606
1648
  siteId?: string;
1607
1649
  apiBaseUrl?: string;
1650
+ readAuthority?: import("../api").BrowserReadAuthority;
1608
1651
  stage?: "preview" | "published";
1609
1652
  }> & {
1610
1653
  renderKind: "client-owned";
@@ -1639,6 +1682,7 @@ export declare const runtimeIslandCodecs: {
1639
1682
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1640
1683
  siteId?: string;
1641
1684
  apiBaseUrl?: string;
1685
+ readAuthority?: import("../api").BrowserReadAuthority;
1642
1686
  stage?: "preview" | "published";
1643
1687
  }> & {
1644
1688
  renderKind: "client-owned";
@@ -1675,6 +1719,7 @@ export declare const runtimeIslandCodecs: {
1675
1719
  encode: (value: Readonly<Readonly<{
1676
1720
  siteId?: string;
1677
1721
  apiBaseUrl?: string;
1722
+ readAuthority?: import("../api").BrowserReadAuthority;
1678
1723
  stage?: "preview" | "published";
1679
1724
  }> & {
1680
1725
  renderKind: "client-owned";
@@ -1698,6 +1743,7 @@ export declare const runtimeIslandCodecs: {
1698
1743
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1699
1744
  siteId?: string;
1700
1745
  apiBaseUrl?: string;
1746
+ readAuthority?: import("../api").BrowserReadAuthority;
1701
1747
  stage?: "preview" | "published";
1702
1748
  }> & {
1703
1749
  renderKind: "client-owned";
@@ -1723,6 +1769,7 @@ export declare const runtimeIslandCodecs: {
1723
1769
  encode: (value: Readonly<Readonly<{
1724
1770
  siteId?: string;
1725
1771
  apiBaseUrl?: string;
1772
+ readAuthority?: import("../api").BrowserReadAuthority;
1726
1773
  stage?: "preview" | "published";
1727
1774
  }> & {
1728
1775
  renderKind: "progressive";
@@ -1774,6 +1821,7 @@ export declare const runtimeIslandCodecs: {
1774
1821
  decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
1775
1822
  siteId?: string;
1776
1823
  apiBaseUrl?: string;
1824
+ readAuthority?: import("../api").BrowserReadAuthority;
1777
1825
  stage?: "preview" | "published";
1778
1826
  }> & {
1779
1827
  renderKind: "progressive";
@@ -2,7 +2,7 @@ export { default as PageRenderer, EditorPageRenderer } from './PageRenderer';
2
2
  export type { RenderAudience as PageRenderAudience } from './pageRenderAudience';
3
3
  export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, planCustomBlockRegistryResolution, transformToBlockDescriptor, } from './customBlockRegistry';
4
4
  export type { CustomBlockConflictReason, CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryConflict, CustomBlockRegistryEntry, CustomBlockRegistryResolutionPlan, CustomBlockSourcePolicy, ResolvedCustomBlockManifest, SdkConfigForBlockPicker, } from './customBlockRegistry';
5
- export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, EditorPageRendererProps, PageBlockRenderAdmissionError, PageRendererProps, RenderablePageBlock, RenderablePageOutline, OccurrenceContextData, PageBlockPosition, PageRuntimeBoundary, SdkConfigForRenderer, } from './PageRenderer';
5
+ export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, EditorPageRendererProps, PageBlockRenderAdmissionError, PageRendererProps, RenderablePageBlock, RenderablePageOutline, OccurrenceContextData, PageBlockPosition, PageJoinRenderer, PageJoinSlot, PageRuntimeJoin, RenderedJoin, SdkConfigForRenderer, } from './PageRenderer';
6
6
  export { MissingBlockOverrideError } from './pageRenderingMode';
7
7
  export * from './subroutes';
8
8
  export * from './structure/schema';
@@ -0,0 +1,68 @@
1
+ import { type BoundaryLayout, type BoundaryOutcome, type DecorativeTransitionIntent, type DesignBoundaryId, type PageRuntimeJoin as ThemeCorePageRuntimeJoin } from '../../theme-core/src/site-styles/index';
2
+ /**
3
+ * A break between two adjacent blocks as the server sends it: intent only.
4
+ * Everything visual is decided here, from the content that finally renders
5
+ * (issue 1422).
6
+ */
7
+ export type PageRuntimeJoin = ThemeCorePageRuntimeJoin<string>;
8
+ /**
9
+ * A join after composition: its treatment plus whether and how it draws. The
10
+ * outcome comes from the same composition as the painted markup, so the
11
+ * editor's "won't show here" note can never disagree with the page.
12
+ */
13
+ export type RenderedJoin = Readonly<{
14
+ boundaryId: DesignBoundaryId;
15
+ previousBlockId: string;
16
+ nextBlockId: string;
17
+ treatment: DecorativeTransitionIntent;
18
+ outcome: BoundaryOutcome;
19
+ }>;
20
+ /**
21
+ * One adjacent pair of surviving blocks. `join` is null when the pair has no
22
+ * break at all; a join that exists but does not draw carries a not-shown
23
+ * outcome instead.
24
+ */
25
+ export type PageJoinSlot = Readonly<{
26
+ previousBlockId: string;
27
+ nextBlockId: string;
28
+ join: RenderedJoin | null;
29
+ }>;
30
+ /** The survivor facts composition needs: its id, kind and final content. */
31
+ export type JoinSurvivor = Readonly<{
32
+ id: string | null | undefined;
33
+ kind: string;
34
+ content: Record<string, unknown>;
35
+ }>;
36
+ /**
37
+ * Re-points joins across omitted blocks. Pure over joins.
38
+ *
39
+ * Joins are keyed by adjacent block-id pairs, so dropping B from [A, B, C]
40
+ * removes the A→C join as well as B's own, because no A→C join was ever
41
+ * resolved. For each surviving pair the original join is kept when the pair
42
+ * was already adjacent. Across a gap, the treatment comes from the join
43
+ * entering the omitted run (A→first omitted), falling back to the one leaving
44
+ * it (last omitted→C). Nothing visual is carried: the survivors are composed
45
+ * from their own content afterwards.
46
+ *
47
+ * `survivors` are compared by identity against `originalBlocks`.
48
+ */
49
+ export declare function retargetJoinsAcrossOmissions<TBlock extends Readonly<{
50
+ id?: string | null;
51
+ }>>(input: Readonly<{
52
+ joins: readonly PageRuntimeJoin[];
53
+ originalBlocks: readonly TBlock[];
54
+ survivingBlocks: ReadonlySet<TBlock>;
55
+ }>): readonly PageRuntimeJoin[];
56
+ /**
57
+ * The single composition site. For every adjacent pair of survivors with ids,
58
+ * finds its join and composes it from both survivors' final content: what
59
+ * each paints with and the frame each draws.
60
+ */
61
+ export declare function composePageJoins(input: Readonly<{
62
+ joins: readonly PageRuntimeJoin[];
63
+ survivors: readonly JoinSurvivor[];
64
+ }>): readonly PageJoinSlot[];
65
+ /** Placement, reserves and paint for a join that draws; null otherwise. */
66
+ export declare function renderedJoinLayout(join: RenderedJoin | null): BoundaryLayout | null;
67
+ /** Slot lookup key for an adjacent pair, in the one boundary-id scheme. */
68
+ export declare function joinSlotKey(previousBlockId: string, nextBlockId: string): DesignBoundaryId;
@@ -1,7 +1,7 @@
1
1
  import { getBlockDefinition } from './system';
2
2
  import type { SdkCustomBlock } from './system/manifest/schema';
3
3
  import type { PresentationBlock, PresentationPageOutline } from './pageRenderAdmission';
4
- import { type PageRuntimeBoundary } from './pageRendererBoundaries';
4
+ import { type PageRuntimeJoin } from './pageRenderJoins';
5
5
  import type { BlockOverrideComponent, BlockOverrides, SdkConfigForRenderer } from './pageRendererContracts';
6
6
  import type { NotRenderableReason, RenderAudience } from './pageRenderAudience';
7
7
  type ResolvedBlockDefinition = NonNullable<ReturnType<typeof getBlockDefinition>>;
@@ -70,12 +70,17 @@ export type OmittedBlockDebugFields = Readonly<{
70
70
  export type PageRenderPlan = Readonly<{
71
71
  entries: readonly PageBlockRenderPlanEntry[];
72
72
  omitted: readonly OmittedPageBlock[];
73
- runtimeBoundaries: readonly PageRuntimeBoundary[] | undefined;
73
+ /**
74
+ * Joins between the plan's entries, re-pointed across plan-time omissions.
75
+ * A caller that sent no joins gets an empty list: every pair still gets a
76
+ * join slot, with no treatment.
77
+ */
78
+ runtimeJoins: readonly PageRuntimeJoin[];
74
79
  }>;
75
80
  export type BuildPageRenderPlanInput = Readonly<{
76
81
  page: PresentationPageOutline;
77
82
  audience: RenderAudience;
78
- runtimeBoundaries: readonly PageRuntimeBoundary[] | undefined;
83
+ runtimeJoins: readonly PageRuntimeJoin[] | undefined;
79
84
  previewStage: 'published' | 'preview';
80
85
  sdkConfig: SdkConfigForRenderer | null | undefined;
81
86
  customBlocks: readonly SdkCustomBlock[] | undefined;
@@ -89,28 +94,4 @@ export type BuildPageRenderPlanInput = Readonly<{
89
94
  * runs inside a `useMemo` whose recomputation React makes no promises about.
90
95
  */
91
96
  export declare function buildPageRenderPlan(input: BuildPageRenderPlanInput): PageRenderPlan;
92
- /**
93
- * Re-points section boundaries across omitted blocks.
94
- *
95
- * Boundaries are keyed by adjacent block-id *pairs*, so dropping B from
96
- * [A, B, C] does not merely remove B's boundaries — it removes the boundary
97
- * between the survivors, because no `A→C` key was ever compiled.
98
- *
99
- * Per decision D2 the treatment for a merged gap comes from the boundary
100
- * entering the omitted run (`A→firstOmitted`), falling back to the one leaving
101
- * it (`lastOmitted→C`). The destination surface is a separate question: only
102
- * the exiting boundary knows what C looks like, so the merged boundary ends on
103
- * that endpoint rather than on the omitted block's. In the exiting-only
104
- * fallback the origin remains an approximation: `from` is the omitted block's
105
- * surface, because no compiled boundary carries A's. The hosted path no longer
106
- * needs this at all (site-renderer admits blocks before compiling boundaries);
107
- * it remains the safety net for an SDK whose compiled boundaries predate an
108
- * omission.
109
- */
110
- export declare function retargetBoundariesAcrossOmissions(input: Readonly<{
111
- boundaries: readonly PageRuntimeBoundary[] | undefined;
112
- originalBlocks: readonly PresentationBlock[];
113
- survivingBlocks: ReadonlySet<PresentationBlock>;
114
- previewStage: 'published' | 'preview';
115
- }>): readonly PageRuntimeBoundary[] | undefined;
116
97
  export {};
@@ -4,9 +4,9 @@ import type { ResolveImageUrlContext } from './system/runtime/nodes/media';
4
4
  import { type PageThemeResources } from './pageRenderingMode';
5
5
  import type { PresentationBlock } from './pageRenderAdmission';
6
6
  import type { RenderAudience } from './pageRenderAudience';
7
- import type { PageRuntimeBoundary } from './pageRendererBoundaries';
7
+ import { type PageJoinSlot } from './pageRenderJoins';
8
8
  import type { BlockOverrideProps, PageRendererDataContext } from './pageRendererContracts';
9
- import { type PageBlockRenderPlanEntry, type PageRenderPlan } from './pageRenderPlan';
9
+ import type { PageBlockRenderPlanEntry, PageRenderPlan } from './pageRenderPlan';
10
10
  /**
11
11
  * What preparing a block produced.
12
12
  *
@@ -46,7 +46,11 @@ export type PageRenderPreparation = Readonly<{
46
46
  * has to replay the overrides-only guard over the entry's own `override`.
47
47
  */
48
48
  constructionFailures: readonly PageBlockRenderPlanEntry[];
49
- runtimeBoundaries: readonly PageRuntimeBoundary[] | undefined;
49
+ /**
50
+ * One slot per adjacent pair of surviving entries, composed from their final
51
+ * content after both kinds of omission.
52
+ */
53
+ joins: readonly PageJoinSlot[];
50
54
  }>;
51
55
  export type PreparePageRenderInput = Readonly<{
52
56
  plan: PageRenderPlan;
@@ -55,7 +59,6 @@ export type PreparePageRenderInput = Readonly<{
55
59
  routeMap: RouteMap | undefined;
56
60
  themeResources: PageThemeResources;
57
61
  imageResolveContext: ResolveImageUrlContext;
58
- previewStage: 'published' | 'preview';
59
62
  }>;
60
63
  /**
61
64
  * Stage two of the render plan.