@riverbankcms/sdk 0.145.0 → 0.147.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/CHANGELOG.md +29 -0
  2. package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
  3. package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +311 -186
  6. package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +3808 -2395
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1122 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +102 -0
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/bookingConfig.d.ts +24 -1
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +11 -26
  12. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  13. package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
  14. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  15. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  18. package/dist/_dts/api/src/bookings.d.ts +1 -0
  19. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  20. package/dist/_dts/api/src/communications.d.ts +20 -4
  21. package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
  22. package/dist/_dts/api/src/endpoints.d.ts +816 -655
  23. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  24. package/dist/_dts/api/src/eventManagementContracts.d.ts +72 -4
  25. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  26. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  27. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  28. package/dist/_dts/api/src/index.d.ts +9 -2
  29. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  30. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  31. package/dist/_dts/api/src/launchReadiness.d.ts +19 -6
  32. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  33. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  34. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  35. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  36. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +57 -0
  37. package/dist/_dts/api/src/occurrenceScheduling.d.ts +29 -0
  38. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  39. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  40. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
  41. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  42. package/dist/_dts/api/src/sdk-event-upsert.d.ts +55 -1
  43. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  44. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  45. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  46. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  47. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  48. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  49. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  50. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  51. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  52. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  53. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  54. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -49
  55. package/dist/_dts/api/src/siteOnboarding.d.ts +72 -18
  56. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  57. package/dist/_dts/api/src/types.d.ts +7 -1
  58. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  59. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  60. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
  61. package/dist/_dts/blocks/src/index.d.ts +2 -0
  62. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +29 -1
  63. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -1
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  65. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  66. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  67. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
  70. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
  71. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
  72. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
  73. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
  97. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +34 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  101. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  103. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +4 -1
  104. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  105. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  106. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  107. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  108. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  109. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  110. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  111. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  112. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  113. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  114. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  115. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
  116. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  117. package/dist/_dts/core/src/editor-state.d.ts +2 -7
  118. package/dist/_dts/core/src/index.d.ts +2 -1
  119. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  120. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  121. package/dist/_dts/core/src/mailing-list-submission.d.ts +9 -1
  122. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  123. package/dist/_dts/core/src/participants.d.ts +0 -38
  124. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  125. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  126. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +151 -24
  127. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  128. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  129. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  130. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
  131. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  132. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  133. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +5 -5
  134. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
  135. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  136. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
  137. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  138. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
  139. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  140. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  141. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  142. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
  143. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  144. package/dist/_dts/sdk/src/version.d.ts +1 -1
  145. package/dist/_dts/surfaces/src/index.d.ts +9 -0
  146. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  148. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  149. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  150. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  151. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  152. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  153. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  154. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  156. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  157. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  158. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  159. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  160. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  161. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  162. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  164. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  165. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  166. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  168. package/dist/_dts/ui/src/badge.d.ts +2 -1
  169. package/dist/_dts/ui/src/button.d.ts +1 -1
  170. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  171. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  172. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  173. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  174. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  175. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  176. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  177. package/dist/_dts/ui/src/index.d.ts +4 -1
  178. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  179. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  180. package/dist/_dts/ui/src/popover.d.ts +7 -1
  181. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  182. package/dist/_dts/ui/src/surface.d.ts +1 -1
  183. package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
  184. package/dist/client/CheckboxChoice-B33MqoUo.mjs +24 -0
  185. package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
  186. package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
  187. package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
  188. package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
  189. package/dist/client/{scrollToBlock-CWs8EIdo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
  190. package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
  191. package/dist/client/{accordion-BcNF9TjX.mjs → accordion-CoT5g7zo.mjs} +1 -1
  192. package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-BWxB46xD.mjs} +251 -150
  193. package/dist/client/bookings.mjs +415 -234
  194. package/dist/client/{carousel-CTdF6e0V.mjs → carousel-DtNYWFd3.mjs} +2 -2
  195. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  196. package/dist/client/{cart-pGtyf_XU.mjs → cart-z4qZih1Y.mjs} +3 -3
  197. package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-DpL7euFH.mjs} +3 -3
  198. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
  199. package/dist/client/client.mjs +3721 -2220
  200. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  201. package/dist/client/{context-BFeY_Wbm.mjs → context-C8TinPJc.mjs} +1 -1
  202. package/dist/client/{dates-BhwVSxDg.mjs → dates-vwwxTeB0.mjs} +2 -3
  203. package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
  204. package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
  205. package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
  206. package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-DajjWgOv.mjs} +4 -4
  207. package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-DMq9gMA-.mjs} +121 -54
  208. package/dist/client/{form-Dodt8Y8t.mjs → form-Qf6qTbos.mjs} +136 -105
  209. package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-D7qJrqFX.mjs} +3 -3
  210. package/dist/client/hooks.mjs +1148 -179
  211. package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-CCF9-t_0.mjs} +4 -4
  212. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  213. package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
  214. package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-DzCLSP4S.mjs} +206 -104
  215. package/dist/client/{pricing-BOU0_Hai.mjs → pricing-Cgxv2KLC.mjs} +1 -1
  216. package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-ru9w5GHx.mjs} +3 -3
  217. package/dist/client/{productList-D-mItx1n.mjs → productList-zaapKSl-.mjs} +3 -3
  218. package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-CwvvNOHx.mjs} +91 -28
  219. package/dist/client/rendering/client.mjs +1441 -826
  220. package/dist/client/rendering/islands.mjs +19 -19
  221. package/dist/client/rendering.mjs +3652 -2005
  222. package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
  223. package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
  224. package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
  225. package/dist/client/{shop-Dufw7N7o.mjs → shop-mktkXvbV.mjs} +7 -7
  226. package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-TqExh235.mjs} +5 -5
  227. package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
  228. package/dist/preview-next/before-render.mjs +490 -153
  229. package/dist/preview-next/client/runtime.mjs +4 -4
  230. package/dist/preview-next/editor-base.css +64 -2
  231. package/dist/preview-next/editor-chrome.css +7 -4
  232. package/dist/preview-next/keepAlive.mjs +450 -153
  233. package/dist/preview-next/middleware.mjs +451 -153
  234. package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-C_EHQ5XA.mjs} +475 -153
  235. package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
  236. package/dist/{separator-EvdCAn4V.mjs → separator-C9qDP95Z.mjs} +1 -1
  237. package/dist/server/components.mjs +4957 -3509
  238. package/dist/server/config-validation.mjs +1115 -189
  239. package/dist/server/config.mjs +1115 -189
  240. package/dist/server/data.mjs +1113 -188
  241. package/dist/server/index.mjs +492 -154
  242. package/dist/server/navigation.mjs +13 -2
  243. package/dist/server/next.mjs +4798 -3462
  244. package/dist/server/page-converter.mjs +143 -89
  245. package/dist/server/prebuild.mjs +1 -1
  246. package/dist/server/rendering/server.mjs +3862 -2414
  247. package/dist/server/rendering.mjs +5648 -4154
  248. package/dist/server/routing.mjs +1223 -329
  249. package/dist/server/server.mjs +1172 -314
  250. package/dist/server/theme-bridge.mjs +533 -128
  251. package/dist/server/theme.mjs +5 -1
  252. package/dist/styles/index.css +218 -69
  253. package/package.json +1 -1
  254. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
@@ -7914,6 +7914,8 @@ export type Database = {
7914
7914
  event_attendees: {
7915
7915
  Row: {
7916
7916
  attendance_mode: string;
7917
+ booking_terms: Json;
7918
+ cancelled_reason: string | null;
7917
7919
  checked_in_count: number;
7918
7920
  checked_in_last_at: string | null;
7919
7921
  checked_in_last_by: string | null;
@@ -7940,6 +7942,8 @@ export type Database = {
7940
7942
  };
7941
7943
  Insert: {
7942
7944
  attendance_mode?: string;
7945
+ booking_terms?: Json;
7946
+ cancelled_reason?: string | null;
7943
7947
  checked_in_count?: number;
7944
7948
  checked_in_last_at?: string | null;
7945
7949
  checked_in_last_by?: string | null;
@@ -7966,6 +7970,8 @@ export type Database = {
7966
7970
  };
7967
7971
  Update: {
7968
7972
  attendance_mode?: string;
7973
+ booking_terms?: Json;
7974
+ cancelled_reason?: string | null;
7969
7975
  checked_in_count?: number;
7970
7976
  checked_in_last_at?: string | null;
7971
7977
  checked_in_last_by?: string | null;
@@ -9178,6 +9184,7 @@ export type Database = {
9178
9184
  event_series_registrations: {
9179
9185
  Row: {
9180
9186
  attendance_mode: string;
9187
+ booking_terms: Json;
9181
9188
  cancelled_at: string | null;
9182
9189
  canonical_selection_key: string;
9183
9190
  checkout_attempt_id: string | null;
@@ -9201,6 +9208,7 @@ export type Database = {
9201
9208
  };
9202
9209
  Insert: {
9203
9210
  attendance_mode?: string;
9211
+ booking_terms?: Json;
9204
9212
  cancelled_at?: string | null;
9205
9213
  canonical_selection_key: string;
9206
9214
  checkout_attempt_id?: string | null;
@@ -9224,6 +9232,7 @@ export type Database = {
9224
9232
  };
9225
9233
  Update: {
9226
9234
  attendance_mode?: string;
9235
+ booking_terms?: Json;
9227
9236
  cancelled_at?: string | null;
9228
9237
  canonical_selection_key?: string;
9229
9238
  checkout_attempt_id?: string | null;
@@ -10566,6 +10575,7 @@ export type Database = {
10566
10575
  };
10567
10576
  mailing_list_setups: {
10568
10577
  Row: {
10578
+ booking_opt_in_enabled: boolean;
10569
10579
  created_at: string;
10570
10580
  global_form: Json;
10571
10581
  last_acknowledged_signup_at: string | null;
@@ -10578,6 +10588,7 @@ export type Database = {
10578
10588
  updated_at: string;
10579
10589
  };
10580
10590
  Insert: {
10591
+ booking_opt_in_enabled?: boolean;
10581
10592
  created_at?: string;
10582
10593
  global_form: Json;
10583
10594
  last_acknowledged_signup_at?: string | null;
@@ -10590,6 +10601,7 @@ export type Database = {
10590
10601
  updated_at?: string;
10591
10602
  };
10592
10603
  Update: {
10604
+ booking_opt_in_enabled?: boolean;
10593
10605
  created_at?: string;
10594
10606
  global_form?: Json;
10595
10607
  last_acknowledged_signup_at?: string | null;
@@ -13463,6 +13475,13 @@ export type Database = {
13463
13475
  isOneToOne: false;
13464
13476
  referencedRelation: "booking_participants";
13465
13477
  referencedColumns: ["id"];
13478
+ },
13479
+ {
13480
+ foreignKeyName: "participant_identity_audit_events_site_id_fkey";
13481
+ columns: ["site_id"];
13482
+ isOneToOne: false;
13483
+ referencedRelation: "sites";
13484
+ referencedColumns: ["id"];
13466
13485
  }
13467
13486
  ];
13468
13487
  };
@@ -18140,6 +18159,21 @@ export type Database = {
18140
18159
  locked_until: string;
18141
18160
  }[];
18142
18161
  };
18162
+ add_course_run_session_v1: {
18163
+ Args: {
18164
+ p_actor_user_id: string;
18165
+ p_ends_at: string;
18166
+ p_event_series_id: string;
18167
+ p_now: string;
18168
+ p_overrides_json: Json;
18169
+ p_site_id: string;
18170
+ p_starts_at: string;
18171
+ };
18172
+ Returns: {
18173
+ added_occurrence_id: string;
18174
+ outcome: string;
18175
+ }[];
18176
+ };
18143
18177
  adjust_product_inventory: {
18144
18178
  Args: {
18145
18179
  p_enforce_available?: boolean;
@@ -18188,6 +18222,15 @@ export type Database = {
18188
18222
  };
18189
18223
  Returns: string;
18190
18224
  };
18225
+ apply_course_booking_settings_v1_atomic: {
18226
+ Args: {
18227
+ p_event_offering_id: string;
18228
+ p_settings: Json;
18229
+ p_site_id: string;
18230
+ p_user_id: string;
18231
+ };
18232
+ Returns: Json;
18233
+ };
18191
18234
  apply_customer_profile_rectification: {
18192
18235
  Args: {
18193
18236
  audit_actor_user_id: string;
@@ -18546,6 +18589,13 @@ export type Database = {
18546
18589
  };
18547
18590
  Returns: string;
18548
18591
  };
18592
+ booking_person_deletion_blockers: {
18593
+ Args: {
18594
+ p_person_id: string;
18595
+ p_site_id: string;
18596
+ };
18597
+ Returns: Json;
18598
+ };
18549
18599
  booking_record_entry_key_version_counts: {
18550
18600
  Args: never;
18551
18601
  Returns: {
@@ -18684,20 +18734,6 @@ export type Database = {
18684
18734
  };
18685
18735
  Returns: Json;
18686
18736
  };
18687
- cancel_dated_offering_occurrence_attendance_v2_atomic: {
18688
- Args: {
18689
- p_event_series_id: string;
18690
- p_now: string;
18691
- p_occurrence_id: string;
18692
- p_site_id: string;
18693
- };
18694
- Returns: {
18695
- attendance_rows: number;
18696
- outcome: string;
18697
- stateful_rows: number;
18698
- stateless_rows: number;
18699
- }[];
18700
- };
18701
18737
  cancel_event_occurrence_if_unregistered_v1: {
18702
18738
  Args: {
18703
18739
  p_event_series_id: string;
@@ -19597,6 +19633,13 @@ export type Database = {
19597
19633
  };
19598
19634
  Returns: string;
19599
19635
  };
19636
+ delete_booking_person: {
19637
+ Args: {
19638
+ p_person_id: string;
19639
+ p_site_id: string;
19640
+ };
19641
+ Returns: undefined;
19642
+ };
19600
19643
  delete_event_occurrence_if_unregistered: {
19601
19644
  Args: {
19602
19645
  p_occurrence_id: string;
@@ -19678,6 +19721,17 @@ export type Database = {
19678
19721
  holds_cancelled: number;
19679
19722
  }[];
19680
19723
  };
19724
+ drop_course_run_session_v1: {
19725
+ Args: {
19726
+ p_actor_user_id: string;
19727
+ p_event_series_id: string;
19728
+ p_metadata: Json;
19729
+ p_now: string;
19730
+ p_occurrence_id: string;
19731
+ p_site_id: string;
19732
+ };
19733
+ Returns: string;
19734
+ };
19681
19735
  email_apply_webhook_receipt_atomic: {
19682
19736
  Args: {
19683
19737
  p_receipt_id: string;
@@ -19697,6 +19751,17 @@ export type Database = {
19697
19751
  };
19698
19752
  Returns: Json;
19699
19753
  };
19754
+ email_issue_group_evidence: {
19755
+ Args: {
19756
+ p_group_id: string;
19757
+ p_limit?: number;
19758
+ };
19759
+ Returns: Json;
19760
+ };
19761
+ email_issue_rows: {
19762
+ Args: never;
19763
+ Returns: Json[];
19764
+ };
19700
19765
  email_reconcile_receipt_audits: {
19701
19766
  Args: {
19702
19767
  p_limit?: number;
@@ -20107,6 +20172,31 @@ export type Database = {
20107
20172
  waitlist_entry_id: string;
20108
20173
  }[];
20109
20174
  };
20175
+ list_booking_people: {
20176
+ Args: {
20177
+ p_direction: string;
20178
+ p_filter: string;
20179
+ p_limit: number;
20180
+ p_offset: number;
20181
+ p_search: string;
20182
+ p_site_id: string;
20183
+ p_sort: string;
20184
+ };
20185
+ Returns: {
20186
+ active_memberships_count: number;
20187
+ active_passes_count: number;
20188
+ added_at: string;
20189
+ customer_created_at: string;
20190
+ customer_id: string;
20191
+ email: string;
20192
+ has_bought: boolean;
20193
+ last_booking_at: string;
20194
+ name: string;
20195
+ person_id: string;
20196
+ phone: string;
20197
+ total_count: number;
20198
+ }[];
20199
+ };
20110
20200
  list_effective_occurrence_staff_members: {
20111
20201
  Args: {
20112
20202
  p_occurrence_id: string;
@@ -20290,7 +20380,9 @@ export type Database = {
20290
20380
  Returns: boolean;
20291
20381
  };
20292
20382
  newsletter_complete_idle_campaigns: {
20293
- Args: never;
20383
+ Args: {
20384
+ p_limit?: number;
20385
+ };
20294
20386
  Returns: string[];
20295
20387
  };
20296
20388
  newsletter_confirm_atomic: {
@@ -20353,6 +20445,19 @@ export type Database = {
20353
20445
  };
20354
20446
  Returns: string;
20355
20447
  };
20448
+ newsletter_schedule_campaign_atomic: {
20449
+ Args: {
20450
+ p_actor_user_id: string;
20451
+ p_campaign_id: string;
20452
+ p_expected_updated_at: string;
20453
+ p_intended_start_at: string;
20454
+ p_scheduled_at: string;
20455
+ p_site_id: string;
20456
+ p_snapshot: Json;
20457
+ p_timezone: string;
20458
+ };
20459
+ Returns: boolean;
20460
+ };
20356
20461
  newsletter_signup_atomic: {
20357
20462
  Args: {
20358
20463
  p_confirmation_expires_at: string;
@@ -20802,7 +20907,7 @@ export type Database = {
20802
20907
  rename_event_slug_atomic_guarded: {
20803
20908
  Args: {
20804
20909
  p_event_offering_id?: string;
20805
- p_event_series_id: string;
20910
+ p_event_series_id?: string;
20806
20911
  p_expected_old_path: string;
20807
20912
  p_expected_series_ids: string[];
20808
20913
  p_page_surface_id?: string;
@@ -20985,6 +21090,16 @@ export type Database = {
20985
21090
  };
20986
21091
  Returns: boolean;
20987
21092
  };
21093
+ restore_course_run_session_v1: {
21094
+ Args: {
21095
+ p_actor_user_id: string;
21096
+ p_event_series_id: string;
21097
+ p_now: string;
21098
+ p_occurrence_id: string;
21099
+ p_site_id: string;
21100
+ };
21101
+ Returns: string;
21102
+ };
20988
21103
  restore_customer_credit_for_pass_redemption: {
20989
21104
  Args: {
20990
21105
  p_actor_kind?: string;
@@ -21108,6 +21223,18 @@ export type Database = {
21108
21223
  theme_id: string;
21109
21224
  }[];
21110
21225
  };
21226
+ save_event_page_words_v1: {
21227
+ Args: {
21228
+ p_data: Json;
21229
+ p_expected_draft_updated_at: string;
21230
+ p_expected_draft_version_id: string;
21231
+ p_expected_published_version_id: string;
21232
+ p_page_surface_id: string;
21233
+ p_site_id: string;
21234
+ p_user_id: string;
21235
+ };
21236
+ Returns: Json;
21237
+ };
21111
21238
  select_dated_offering_run_cancellation_settlement_v1_atomic: {
21112
21239
  Args: {
21113
21240
  p_enrollment_id: string;
@@ -21137,6 +21264,14 @@ export type Database = {
21137
21264
  selection_outcome: string;
21138
21265
  }[];
21139
21266
  };
21267
+ set_mailing_list_booking_opt_in_v1: {
21268
+ Args: {
21269
+ p_enabled: boolean;
21270
+ p_expected_revision: number;
21271
+ p_site_id: string;
21272
+ };
21273
+ Returns: Json;
21274
+ };
21140
21275
  shorten_dated_offering_whole_series_hold_deadline_v1_atomic: {
21141
21276
  Args: {
21142
21277
  p_expires_at: string;
@@ -21218,14 +21353,6 @@ export type Database = {
21218
21353
  isSetofReturn: false;
21219
21354
  };
21220
21355
  };
21221
- staff_member_has_customer_record_relationship: {
21222
- Args: {
21223
- p_customer_id: string;
21224
- p_site_id: string;
21225
- p_staff_member_id: string;
21226
- };
21227
- Returns: boolean;
21228
- };
21229
21356
  staff_member_has_participant_record_relationship: {
21230
21357
  Args: {
21231
21358
  p_participant_id: string;
@@ -5,6 +5,7 @@ import { type Theme } from '../../blocks/src/index';
5
5
  import type { PageDesignEditorReadModel } from '../../theme-core/src/site-styles/index';
6
6
  import { type EditorStructuralCommand } from '../../core/src/index';
7
7
  import { type CustomBlockRegistryEntry, type SdkConfigForBlockPicker } from './block-editor/sdkBlockMerger';
8
+ import { type BlockCreationCopy } from './block-editor/EmptyState';
8
9
  import { type BlockActionPresentation } from './block-editor/actionPresentation';
9
10
  import { type ReorderControlMode } from './block-editor/reorderControlMode';
10
11
  import { type BlockEditorOwner } from './block-editor/owner';
@@ -70,6 +71,8 @@ export type BlockEditorProps = {
70
71
  customBlocks?: readonly CustomBlockRegistryEntry[];
71
72
  allowedBlockKinds?: readonly string[] | null;
72
73
  emptyUnavailableMessage?: string;
74
+ /** The empty state's words and the add button's label. */
75
+ creationCopy?: BlockCreationCopy;
73
76
  initialCollapsed?: boolean;
74
77
  reorderControlMode?: ReorderControlMode;
75
78
  actionPresentation?: BlockActionPresentation;
@@ -1,3 +1,15 @@
1
- export declare const EmptyState: ({ onAdd }: {
1
+ /**
2
+ * The words the editor uses for adding. A host that calls blocks something
3
+ * else, such as an event page's extra sections, passes its own.
4
+ */
5
+ export type BlockCreationCopy = Readonly<{
6
+ emptyTitle: string;
7
+ emptyDescription: string;
8
+ addLabel: string;
9
+ }>;
10
+ export declare const DEFAULT_BLOCK_CREATION_COPY: BlockCreationCopy;
11
+ export declare function addBlockLabel(copy?: BlockCreationCopy): string;
12
+ export declare const EmptyState: ({ onAdd, copy, }: {
2
13
  onAdd: () => void;
14
+ copy?: BlockCreationCopy;
3
15
  }) => import("react").JSX.Element;
@@ -4,6 +4,7 @@ export type BlockCustomizePresentation = Readonly<{
4
4
  }> | Readonly<{
5
5
  kind: 'external';
6
6
  onSelect: (blockId: EditorBlockId) => void;
7
+ onAfterMenuClose?: () => void;
7
8
  }>;
8
9
  export type BlockActionPresentation = Readonly<{
9
10
  kind: 'inline';
@@ -1,12 +1,6 @@
1
- import type { EditorBlockId, EditorBlockBaselineInput, EditorDraftBlockBaselineUpdateMetaInput, EditorDraftBlockInitMetaInput, EditorStructuralDraftSnapshot } from '../../../core/src/index';
2
- export type BlockItem = {
1
+ import type { EditorBlockId, EditorBlockBaselineInput, EditorDraftBlockBaselineUpdateMetaInput, EditorDraftBlockInitMetaInput, EditorStructuralDraftSnapshot, BlockContentIdentity } from '../../../core/src/index';
2
+ export type BlockItem = Partial<BlockContentIdentity> & {
3
3
  id?: string | null;
4
- /**
5
- * The content version the block was loaded with. Runtime blocks that
6
- * submit to the API (newsletter signup) cite it so the server can verify
7
- * the placement; dropping it turns the form off in preview.
8
- */
9
- contentVersionId?: string | null;
10
4
  kind: string;
11
5
  content?: Record<string, unknown> | null;
12
6
  orderIndex?: number | null;
@@ -1,6 +1,7 @@
1
1
  export { BlockEditor } from './BlockEditor';
2
2
  export type { BlockEditorProps } from './BlockEditor';
3
3
  export type { BlockEditorOwner } from './block-editor/owner';
4
+ export type { BlockCreationCopy } from './block-editor/EmptyState';
4
5
  export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, mergeBlockDescriptors, getBlockManifestFromSdkConfig, transformSdkBlockToManifest, transformSdkBlockToDefinition, transformToBlockDescriptor, } from './block-editor/sdkBlockMerger';
5
6
  export type { CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryEntry, ResolvedCustomBlockManifest, SdkCustomBlock, SdkConfigForBlockPicker, } from './block-editor/sdkBlockMerger';
6
7
  export type { BlockEditorHandle, BlockFocusRequest, BlockFocusTarget, BlockItem, } from './block-editor/types';
@@ -1,8 +1,14 @@
1
1
  import { EditorPageRenderer as PageRenderer } from '../../../../blocks/src/index';
2
+ import type { PageOutline } from '../../../../blocks/src/index';
2
3
  import type { ApiClient as DashboardApiClient } from '../../../../api/src/request';
3
4
  import React, { type ComponentProps } from 'react';
4
5
  type PageRendererProps = ComponentProps<typeof PageRenderer>;
5
- type EditablePageRendererProps = PageRendererProps & {
6
+ type WithEditorPage<T> = T extends {
7
+ page: unknown;
8
+ } ? Omit<T, 'page'> & {
9
+ page: PageOutline | null;
10
+ } : never;
11
+ type EditablePageRendererProps = WithEditorPage<PageRendererProps> & {
6
12
  blockDataApiClient?: DashboardApiClient | null;
7
13
  };
8
14
  export declare function EditablePageRenderer(props: EditablePageRendererProps): React.JSX.Element;
@@ -1,6 +1,6 @@
1
- import type { PageOutline } from '../../../../../blocks/src/index';
1
+ import type { PageOutline, PublishedBlockPlacementRead } from '../../../../../blocks/src/index';
2
2
  import type { EditorPreviewInspectorStore } from '../../../../../content-editor/src/index';
3
- import type { EditorBlockId } from '../../../../../core/src/index';
3
+ import type { BlockContentIdentity, EditorBlockId } from '../../../../../core/src/index';
4
4
  import type { BlockItem } from '../../../../../editor-blocks/src/index';
5
5
  import type { CanonicalBlockContent, PreviewProjection, PreviewRenderContent } from '../previewProjection';
6
6
  import type { LinkedEntryRenderOverlay } from '../linkedEntryRenderOverlay';
@@ -11,7 +11,8 @@ export type BlockWithContent = {
11
11
  purpose: string;
12
12
  content?: PreviewRenderContent;
13
13
  draftContent?: PreviewRenderContent | null;
14
- publishedContent?: PreviewRenderContent | null;
14
+ publishedPlacement: PublishedBlockPlacementRead;
15
+ contentVersionId: string | null;
15
16
  bindings?: Record<string, unknown>;
16
17
  };
17
18
  export type DraftSnapshot = {
@@ -19,9 +20,8 @@ export type DraftSnapshot = {
19
20
  baseline: CanonicalBlockContent | null;
20
21
  current: CanonicalBlockContent | null;
21
22
  };
22
- export type EnrichedBlock = {
23
+ export type EnrichedBlock = BlockContentIdentity & {
23
24
  id: string | null;
24
- contentVersionId: string | null;
25
25
  kind: string;
26
26
  purpose: string;
27
27
  orderIndex: number;
@@ -3,7 +3,6 @@ import type { ApiClient } from '../../../../api/src/request';
3
3
  import { type ContentTypeSchema } from '../../../../content-model/src/index';
4
4
  export type PreviewBlock = {
5
5
  id: string | null;
6
- contentVersionId?: string | null;
7
6
  kind: string;
8
7
  purpose?: string | null;
9
8
  orderIndex?: number | null;
@@ -12,7 +11,7 @@ export type PreviewBlock = {
12
11
  publishedContent?: Record<string, unknown> | null;
13
12
  bindings?: Record<string, unknown> | null;
14
13
  optimisticHash?: string | null;
15
- };
14
+ } & Partial<import('../../../../core/src/index').BlockContentIdentity>;
16
15
  export type PreviewPageMetadata = {
17
16
  draftTitle: string;
18
17
  draftPath: string;
@@ -11,7 +11,6 @@ type CommonRenderInput = Readonly<{
11
11
  content: LoadContentResult;
12
12
  entrySubrouteContext: ReturnType<typeof toEntrySubrouteContext>;
13
13
  portalToken: string | null;
14
- preview: boolean;
15
14
  }>;
16
15
  export type SdkContentRenderInput = CommonRenderInput & (Readonly<{
17
16
  kind: 'themed';
@@ -20,6 +20,7 @@ type MissingBlockOverrideErrorConstructor = Readonly<{
20
20
  export declare const MissingBlockOverrideError: MissingBlockOverrideErrorConstructor;
21
21
  export type PageRendererDataContext = {
22
22
  siteId?: string;
23
+ siteName?: string;
23
24
  pageId?: string;
24
25
  /** Canonical request pathname used by blocks when resolving same-site destinations. */
25
26
  pathname?: string;
@@ -28,7 +29,7 @@ export type PageRendererDataContext = {
28
29
  bookingOfferingPresets?: readonly SiteBookingOfferingPresetSummary[];
29
30
  mailingList?: import('../../../core/src/index').MailingListRuntimeContext;
30
31
  bookingTimeZone?: string;
31
- previewStage?: 'published' | 'preview';
32
+ previewStage: 'published' | 'preview';
32
33
  routes?: RouteMap;
33
34
  pagesByIdentifier?: Record<string, string>;
34
35
  entriesByIdentifier?: Record<string, Record<string, string>>;
@@ -57,7 +58,7 @@ export type SdkConfigForRenderer = {
57
58
  type PageRendererCommonProps<TPage> = {
58
59
  page: TPage | null;
59
60
  runtimeJoins?: readonly PageRuntimeJoin[];
60
- dataContext?: PageRendererDataContext;
61
+ dataContext: PageRendererDataContext;
61
62
  routeMap?: RouteMap;
62
63
  wrapBlock?: (blockId: string, rendered: React.ReactNode) => React.ReactNode;
63
64
  registry?: ComponentRegistry;
@@ -60,8 +60,9 @@ type PageCommonProps = {
60
60
  * Additional context data for content entry pages.
61
61
  * Used to pass occurrence context and content entry data to blocks.
62
62
  */
63
- dataContext?: {
63
+ dataContext: {
64
64
  readAuthority?: import('../../../../blocks/src/api').BrowserReadAuthority;
65
+ siteName?: string;
65
66
  /** Mailing-list runtime projected for the placements on this page. */
66
67
  mailingList?: import('../../../../core/src/index').MailingListRuntimeContext;
67
68
  /** Occurrence context for event pages (from URL like /events/yoga/2025-01-15) */
@@ -77,7 +78,7 @@ type PageCommonProps = {
77
78
  /** Editable route metadata keys for template-page inline editing */
78
79
  editableRouteMetadataFieldIds?: ReadonlyArray<string> | null;
79
80
  /** Preview stage: 'preview' for draft content, 'published' for live content */
80
- previewStage?: 'preview' | 'published';
81
+ previewStage: 'preview' | 'published';
81
82
  /** Canonical request pathname used by blocks when resolving same-site destinations. */
82
83
  pathname?: string;
83
84
  };
@@ -11,7 +11,7 @@ import type { MailingListRuntimeContext } from '../../../../core/src/index';
11
11
  import type { PageProps } from '../components/Page';
12
12
  import type { ResolvedBlockData } from '../../data/prefetchBlockData';
13
13
  import { type ResolveBlockDataDeps } from '../../data/resolveBlockData';
14
- import type { DataLoaderOverrides, DataLoaderSearchParams } from '../../data/types';
14
+ import type { DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderSearchParams } from '../../data/types';
15
15
  import type { SdkCustomBlock } from '../../config/types';
16
16
  import { type RuntimeSdkConfig } from './pageRuntimeSupport';
17
17
  /**
@@ -93,6 +93,9 @@ export type PagePreviewMetadata = {
93
93
  */
94
94
  export type PageContentResult = {
95
95
  type: 'page';
96
+ dataContext: {
97
+ previewStage: DataLoaderPreviewStage;
98
+ };
96
99
  /** Page UUID (required for preview editing / block mutations) */
97
100
  pageId: string;
98
101
  /** Route UUID for this page (used by preview mode metadata editing) */
@@ -153,6 +156,7 @@ export type EntryContentResult = {
153
156
  bookingTimeZone?: string;
154
157
  /** Data context for template blocks (includes entry content for bindings) */
155
158
  dataContext: {
159
+ previewStage: DataLoaderPreviewStage;
156
160
  contentEntry: Record<string, unknown>;
157
161
  };
158
162
  /** Site theme for styling (useful if rendering with SDK components) */
@@ -217,6 +221,7 @@ export type PageSurfaceContentResult = {
217
221
  mailingList?: MailingListRuntimeContext;
218
222
  bookingTimeZone?: string;
219
223
  dataContext: {
224
+ previewStage: DataLoaderPreviewStage;
220
225
  pageSurface: Record<string, unknown>;
221
226
  subject: PageSurfaceContentData['subject'];
222
227
  };
@@ -6,7 +6,7 @@
6
6
  import type { RiverbankClient } from '../../client/types';
7
7
  import type { PageProps } from '../components/Page';
8
8
  import { type ResolveBlockDataDeps } from '../../data/resolveBlockData';
9
- import type { DataLoaderOverrides, DataLoaderSearchParams } from '../../data/types';
9
+ import type { DataLoaderOverrides, DataLoaderPreviewStage, DataLoaderSearchParams } from '../../data/types';
10
10
  import { type RuntimeSdkConfig } from './pageRuntimeSupport';
11
11
  /**
12
12
  * SDK config from API response (without siteId which is stripped at storage).
@@ -79,7 +79,10 @@ export type LoadPageParams = {
79
79
  */
80
80
  searchParams?: DataLoaderSearchParams;
81
81
  };
82
- export type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'blockOverrides' | 'sdkConfig'> & {
82
+ export type LoadPageResult = Omit<PageProps, 'registry' | 'wrapBlock' | 'blockOverrides' | 'sdkConfig' | 'dataContext'> & {
83
+ dataContext: PageProps['dataContext'] & {
84
+ previewStage: DataLoaderPreviewStage;
85
+ };
83
86
  /**
84
87
  * SDK site configuration, if available.
85
88
  * Contains SDK-defined theme palette, section backgrounds, and style options.
@@ -2,7 +2,8 @@ import type { MediaAssetIndexItem, PageOutline, RouteMap, Theme } from '../../co
2
2
  import type { SiteBookingOfferingPresetSummary } from '../../public-api/contracts';
3
3
  import type { SiteResponse } from '../../client/types';
4
4
  import type { SdkCustomBlock } from '../../config/types';
5
- import { type BlockManifest, type FieldDefinition, type PageBlockRenderAdmissionError, type RenderablePageBlock, type RenderablePageOutline } from '../../../../blocks/src/index';
5
+ import { type BlockManifest, type FieldDefinition, type PageBlockRenderAdmissionError, type PublishedBlockPlacementRead, type RenderablePageBlock, type RenderablePageOutline } from '../../../../blocks/src/index';
6
+ import type { DataLoaderPreviewStage } from '../../data/types';
6
7
  export type RuntimeSdkConfig = NonNullable<SiteResponse['sdkConfig']>;
7
8
  export type SiteData = SiteResponse['site'];
8
9
  export type SiteRenderSupport = Readonly<{
@@ -40,6 +41,8 @@ export declare function buildSiteRenderSupport(site: SiteResponse, mediaAssets:
40
41
  export declare function collectMediaAssetSidecar(mediaAssets: readonly MediaAssetIndexItem[] | null | undefined): readonly MediaAssetIndexItem[] | undefined;
41
42
  type TransportedPageBlock = PageOutline['blocks'][number] & Readonly<{
42
43
  contentVersionId?: string | null;
44
+ draftContentId: string | null;
45
+ publishedPlacement: PublishedBlockPlacementRead;
43
46
  }>;
44
47
  export declare function readInvalidBlockAdmission(value: unknown): Readonly<{
45
48
  kind: 'invalid';
@@ -51,6 +54,7 @@ export declare function buildPageOutline(input: Readonly<{
51
54
  fallbackPath: string;
52
55
  purpose: string;
53
56
  blocks: readonly unknown[];
57
+ previewStage: DataLoaderPreviewStage;
54
58
  }>): Omit<PageOutline, 'blocks'> & Readonly<{
55
59
  blocks: TransportedPageBlock[];
56
60
  }>;
@@ -60,6 +64,7 @@ export declare function buildRenderablePageOutline(input: Readonly<{
60
64
  fallbackPath: string;
61
65
  purpose: string;
62
66
  blocks: readonly unknown[];
67
+ previewStage: DataLoaderPreviewStage;
63
68
  customBlocks?: readonly SdkCustomBlock[];
64
69
  }>): RenderablePageOutline;
65
70
  export declare function projectRenderablePageOutline(page: RenderablePageOutline): PageOutline;
@@ -22,6 +22,8 @@ type EntrySlotBlock = {
22
22
  id: string;
23
23
  blockId?: string;
24
24
  contentVersionId: string;
25
+ draftContentId?: string | null;
26
+ publishedContentId?: string | null;
25
27
  kind: string;
26
28
  purpose: string;
27
29
  content: Record<string, unknown> | null;
@@ -8,6 +8,7 @@ import type { MediaAssetIndexItem, Theme } from '../../contracts';
8
8
  import type { RiverbankClient } from '../../client/types';
9
9
  import type { PageProps } from '../components/Page';
10
10
  import type { ResolvedBlockData } from '../../data/prefetchBlockData';
11
+ import type { DataLoaderPreviewStage } from '../../data/types';
11
12
  import type { ContentEntryData } from '../helpers/loadContent';
12
13
  export type UseContentParams = {
13
14
  client: RiverbankClient;
@@ -61,6 +62,9 @@ type PageSuccessState = {
61
62
  theme: Theme | null;
62
63
  siteId: string;
63
64
  resolvedData: ResolvedBlockData;
65
+ dataContext: {
66
+ previewStage: DataLoaderPreviewStage;
67
+ };
64
68
  supabaseUrl?: string;
65
69
  mediaAssets?: readonly MediaAssetIndexItem[];
66
70
  };
@@ -117,7 +121,7 @@ export declare function isEntryContentResult(result: UseContentResult): result i
117
121
  *
118
122
  * if (isPageContentResult(content)) {
119
123
  * if (!content.theme) return <div>This site needs a theme before it can be displayed.</div>;
120
- * return <Page page={content.page} theme={content.theme} siteId={content.siteId} resolvedData={content.resolvedData} />;
124
+ * return <Page page={content.page} theme={content.theme} siteId={content.siteId} resolvedData={content.resolvedData} dataContext={content.dataContext} />;
121
125
  * }
122
126
  *
123
127
  * // Render entry with custom UI