@riverbankcms/sdk 0.147.0 → 0.149.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 (442) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DtpB3_sS.mjs → PreviewEditorSidebar-DBKln68M.mjs} +301 -205
  4. package/dist/{PreviewEditorUI-DxTLgaHo.mjs → PreviewEditorUI-DpRX4Mum.mjs} +68 -63
  5. package/dist/{PreviewQueryProvider-Dd4dxOiU.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
  6. package/dist/{SdkPreviewModeRuntime-DMMNCngt.mjs → SdkPreviewModeRuntime-DJPmPY-r.mjs} +1247 -541
  7. package/dist/{SiteChromeCustomizeContext-DQXZXiqS.mjs → SiteChromeCustomizeContext-JYA0cJ_Z.mjs} +209720 -204978
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +0 -33
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +0 -3
  10. package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
  11. package/dist/_dts/api/src/accountApi.d.ts +1 -1
  12. package/dist/_dts/api/src/admin.d.ts +22 -22
  13. package/dist/_dts/api/src/aiPatch.d.ts +2 -2
  14. package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
  15. package/dist/_dts/api/src/analytics.d.ts +2 -2
  16. package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
  17. package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
  18. package/dist/_dts/api/src/auth.d.ts +10 -10
  19. package/dist/_dts/api/src/availability.d.ts +6 -6
  20. package/dist/_dts/api/src/billing.d.ts +42 -15
  21. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
  22. package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
  23. package/dist/_dts/api/src/blocks.d.ts +15 -14
  24. package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
  25. package/dist/_dts/api/src/bookingConfig.d.ts +33 -50
  26. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
  27. package/dist/_dts/api/src/bookingOperations.d.ts +9 -11
  28. package/dist/_dts/api/src/bookingRecords.d.ts +16 -11
  29. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
  30. package/dist/_dts/api/src/bookings.d.ts +7 -7
  31. package/dist/_dts/api/src/calendar.d.ts +9 -9
  32. package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
  33. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -8
  34. package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
  35. package/dist/_dts/api/src/common/envelope.d.ts +2 -2
  36. package/dist/_dts/api/src/content-editor.d.ts +2 -2
  37. package/dist/_dts/api/src/contentEntries.d.ts +17 -48
  38. package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
  39. package/dist/_dts/api/src/contentTypes.d.ts +11 -11
  40. package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
  41. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +1 -1
  42. package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
  43. package/dist/_dts/api/src/domains.d.ts +16 -16
  44. package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
  45. package/dist/_dts/api/src/emailSettings.d.ts +4 -4
  46. package/dist/_dts/api/src/endpoints.d.ts +135 -51
  47. package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
  48. package/dist/_dts/api/src/eventManagementContracts.d.ts +29 -7
  49. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +0 -8
  50. package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
  51. package/dist/_dts/api/src/footerSettings.d.ts +6 -6
  52. package/dist/_dts/api/src/index.d.ts +8 -7
  53. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  54. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  55. package/dist/_dts/api/src/navigation.d.ts +5 -5
  56. package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
  57. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
  58. package/dist/_dts/api/src/pages.d.ts +7 -7
  59. package/dist/_dts/api/src/performance.d.ts +1 -1
  60. package/dist/_dts/api/src/public/index.d.ts +1 -1
  61. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +4 -2
  62. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +6 -29
  63. package/dist/_dts/api/src/redirects.d.ts +3 -3
  64. package/dist/_dts/api/src/request.d.ts +11 -2
  65. package/dist/_dts/api/src/resources.d.ts +4 -4
  66. package/dist/_dts/api/src/routes.d.ts +8 -3
  67. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -2
  68. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
  69. package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
  70. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
  71. package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
  72. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
  73. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +9 -2
  74. package/dist/_dts/api/src/seo.d.ts +4 -4
  75. package/dist/_dts/api/src/services.d.ts +4 -4
  76. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -8
  77. package/dist/_dts/api/src/siteMembers.d.ts +10 -10
  78. package/dist/_dts/api/src/siteOnboarding.d.ts +14 -0
  79. package/dist/_dts/api/src/siteOperations.d.ts +6 -2
  80. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
  81. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
  82. package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
  83. package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
  84. package/dist/_dts/billing/src/components/index.d.ts +25 -40
  85. package/dist/_dts/billing/src/membership/index.d.ts +1 -3
  86. package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
  87. package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
  88. package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
  89. package/dist/_dts/billing/src/plans/types.d.ts +5 -15
  90. package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
  91. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
  92. package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
  93. package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
  94. package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
  95. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
  96. package/dist/_dts/blocks/src/client/events.d.ts +3 -0
  97. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  98. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
  99. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +54 -14
  100. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +4 -13
  101. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
  102. package/dist/_dts/blocks/src/portal/types.d.ts +9 -8
  103. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
  104. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
  105. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +28 -28
  106. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +7 -2
  107. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
  108. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
  109. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
  110. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
  111. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  112. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -2
  113. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
  114. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +6 -0
  115. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
  116. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
  117. package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
  118. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +72 -12
  119. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +36 -6
  120. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
  121. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -0
  122. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
  123. package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
  124. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
  125. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +3 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +4 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +9 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
  129. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +17 -2
  130. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +1 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +1 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
  134. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
  135. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
  136. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  137. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
  138. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +2 -0
  139. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -1
  140. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -0
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -5
  143. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -0
  144. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -5
  145. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
  146. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
  147. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
  148. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
  149. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
  150. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -29
  151. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
  152. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
  153. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +54 -6
  154. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
  155. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
  156. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
  157. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  158. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
  159. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
  160. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
  161. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
  162. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
  163. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
  164. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
  165. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +2 -2
  166. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
  167. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  168. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -3
  169. package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
  170. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
  171. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
  172. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
  173. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +3 -1
  174. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
  175. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
  176. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
  177. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
  178. package/dist/_dts/commerce/src/purchase/types.d.ts +2 -1
  179. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
  180. package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
  181. package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
  182. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
  183. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
  184. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
  185. package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
  186. package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
  187. package/dist/_dts/content-editor/src/controller/editLeaseHandover.d.ts +30 -0
  188. package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
  189. package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
  190. package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
  191. package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
  192. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
  193. package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
  194. package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
  195. package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
  196. package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
  197. package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
  198. package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
  199. package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
  200. package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
  201. package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
  202. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
  203. package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
  204. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
  205. package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
  206. package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
  207. package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
  208. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
  209. package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
  210. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
  211. package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
  212. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
  213. package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
  214. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
  215. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
  216. package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
  217. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
  218. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
  219. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
  220. package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
  221. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
  222. package/dist/_dts/content-editor/src/index.d.ts +26 -7
  223. package/dist/_dts/content-editor/src/lib/browserStorage.d.ts +5 -0
  224. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
  225. package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
  226. package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
  227. package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
  228. package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
  229. package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
  230. package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
  231. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
  232. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
  233. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
  234. package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
  235. package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
  236. package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
  237. package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
  238. package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
  239. package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
  240. package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
  241. package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
  242. package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
  243. package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
  244. package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
  245. package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
  246. package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
  247. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
  248. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
  249. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
  250. package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
  251. package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
  252. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
  253. package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
  254. package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
  255. package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
  256. package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
  257. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
  258. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
  259. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
  260. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
  261. package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
  262. package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
  263. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  264. package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
  265. package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
  266. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
  267. package/dist/_dts/content-model/src/types.d.ts +0 -1
  268. package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
  269. package/dist/_dts/core/src/booking-flexible-balance.d.ts +2 -2
  270. package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
  271. package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
  272. package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
  273. package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
  274. package/dist/_dts/core/src/branded.d.ts +15 -0
  275. package/dist/_dts/core/src/currency-format.d.ts +8 -2
  276. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
  277. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
  278. package/dist/_dts/core/src/edit-lease.d.ts +60 -0
  279. package/dist/_dts/core/src/editor-state.d.ts +38 -13
  280. package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
  281. package/dist/_dts/core/src/html-entities.d.ts +6 -0
  282. package/dist/_dts/core/src/index.d.ts +7 -0
  283. package/dist/_dts/core/src/uuid.d.ts +7 -5
  284. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +456 -189
  285. package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
  286. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
  287. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
  288. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
  289. package/dist/_dts/editor/src/index.d.ts +1 -1
  290. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
  291. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
  292. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  293. package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
  294. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
  295. package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
  296. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
  297. package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
  298. package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
  299. package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
  300. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
  301. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
  302. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
  303. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
  304. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
  305. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
  306. package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
  307. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
  308. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
  309. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
  310. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
  311. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
  312. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
  313. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +3 -1
  314. package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -0
  315. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  316. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
  317. package/dist/_dts/media-editor/src/index.d.ts +2 -0
  318. package/dist/_dts/media-editor/src/provider.d.ts +3 -2
  319. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  320. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
  321. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
  322. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +6 -3
  323. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
  324. package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
  325. package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
  326. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
  327. package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
  328. package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
  329. package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
  330. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
  331. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
  332. package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
  333. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  334. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +23 -14
  335. package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
  336. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
  337. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  338. package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
  339. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
  340. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
  341. package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
  342. package/dist/_dts/preview-next/src/client/previewAuthStore.d.ts +7 -0
  343. package/dist/_dts/preview-next/src/constants.d.ts +4 -0
  344. package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -0
  345. package/dist/_dts/realtime/src/client.d.ts +3 -0
  346. package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
  347. package/dist/_dts/realtime/src/drafts.d.ts +210 -0
  348. package/dist/_dts/realtime/src/index.d.ts +3 -0
  349. package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
  350. package/dist/_dts/realtime/src/types.d.ts +113 -0
  351. package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
  352. package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
  353. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
  354. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  355. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
  356. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -0
  357. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
  358. package/dist/_dts/sdk/src/version.d.ts +1 -1
  359. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  360. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  361. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
  362. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  363. package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
  364. package/dist/client/{BookingMailingListNote-1n4Ch_u_.mjs → BookingMailingListNote-Cr3EeTP5.mjs} +504 -163
  365. package/dist/client/DemoBookingPortalAccess-BFGB1Fay.mjs +344 -0
  366. package/dist/client/{EventCombined.client-C0pgma9y.mjs → EventCombined.client-DKYV0_ft.mjs} +6 -6
  367. package/dist/client/{EventListing.client-4fhLOvHP.mjs → EventListing.client-B9UIcEYc.mjs} +2 -2
  368. package/dist/client/{LeafletStaticMap-DScC4F3w.mjs → LeafletStaticMap-CFLPkP0K.mjs} +1 -1
  369. package/dist/client/{TerminalPanel-B5ZUsYhe.mjs → TerminalPanel-JjmgxEsR.mjs} +1 -1
  370. package/dist/client/{ThemedButton-DoVIV1Ao.mjs → ThemedButton-CKV1Jh2m.mjs} +1 -1
  371. package/dist/client/{accordion-CoT5g7zo.mjs → accordion-DXWIfT3T.mjs} +1 -1
  372. package/dist/client/{bookingForm-BWxB46xD.mjs → bookingForm-CjZgHNvv.mjs} +216 -63
  373. package/dist/client/bookings.mjs +1187 -692
  374. package/dist/client/{carousel-DtNYWFd3.mjs → carousel-DSLikmvZ.mjs} +1 -1
  375. package/dist/client/{cart-z4qZih1Y.mjs → cart-HDjWReFt.mjs} +3 -3
  376. package/dist/client/{checkout-DpL7euFH.mjs → checkout-CUvRZA3W.mjs} +3 -3
  377. package/dist/client/{checkoutUrls-BEfR7kVu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
  378. package/dist/client/client.mjs +2711 -1684
  379. package/dist/client/{context-C8TinPJc.mjs → context-DFmaZa-Q.mjs} +4 -3
  380. package/dist/client/{dates-vwwxTeB0.mjs → dates-BBep1JnF.mjs} +56 -11
  381. package/dist/client/{eventCalendar-DIbHfJXO.mjs → eventCalendar-zEobhxo4.mjs} +9 -9
  382. package/dist/client/{eventCombined-DoGMJ6cg.mjs → eventCombined-Dp7bz5k-.mjs} +4 -4
  383. package/dist/client/{eventDetails-BjN9v6a1.mjs → eventDetails-FE-zqTt7.mjs} +4 -4
  384. package/dist/client/{eventListing-DajjWgOv.mjs → eventListing-BMt5snal.mjs} +4 -4
  385. package/dist/client/{eventRegistration-DMq9gMA-.mjs → eventRegistration-O6ZxHfOb.mjs} +422 -570
  386. package/dist/client/{form-Qf6qTbos.mjs → form-DFa1D8vt.mjs} +3 -3
  387. package/dist/client/{headerSection-D7qJrqFX.mjs → headerSection-CmjHLR-N.mjs} +3 -3
  388. package/dist/client/hooks.mjs +414 -182
  389. package/dist/client/{locationMap-CCF9-t_0.mjs → locationMap-BXKP_lGh.mjs} +3 -3
  390. package/dist/client/{media-CwBGetqC.mjs → media-Cl38iOMI.mjs} +10 -3
  391. package/dist/client/{newsletterForm-DzCLSP4S.mjs → newsletterForm-CU-HmxGx.mjs} +3 -3
  392. package/dist/client/{pricing-Cgxv2KLC.mjs → pricing-KEAEsibq.mjs} +1 -1
  393. package/dist/client/{productDetail-ru9w5GHx.mjs → productDetail-Ckp7MGnt.mjs} +3 -3
  394. package/dist/client/{productList-zaapKSl-.mjs → productList-D91V0sYa.mjs} +3 -3
  395. package/dist/client/{propsDecoder-CwvvNOHx.mjs → propsDecoder-DZd6RJeA.mjs} +244 -94
  396. package/dist/client/rendering/client.mjs +2656 -1705
  397. package/dist/client/rendering/islands.mjs +18 -18
  398. package/dist/client/rendering.mjs +3430 -2352
  399. package/dist/client/{routeIslandApiConfig-BwVFo0Y4.mjs → routeIslandApiConfig-E1EkhhYY.mjs} +1 -1
  400. package/dist/client/{shop-mktkXvbV.mjs → shop-4F2jLQPI.mjs} +131 -85
  401. package/dist/client/{shop-commerce-De7gEnkA.mjs → shop-commerce-BbfCJjB3.mjs} +25 -13
  402. package/dist/client/{shop-commerce-store-B3MCxIBW.mjs → shop-commerce-store-vicweP2K.mjs} +1 -1
  403. package/dist/client/{shopShared-TqExh235.mjs → shopShared-DlONJt0T.mjs} +4 -4
  404. package/dist/client/{useEventFilters-n_OjkIjX.mjs → useEventFilters-COYyL3m7.mjs} +32 -17
  405. package/dist/preview-next/before-render.mjs +207 -105
  406. package/dist/preview-next/client/runtime.mjs +4 -4
  407. package/dist/preview-next/constants.mjs +5 -1
  408. package/dist/preview-next/index.mjs +5 -1
  409. package/dist/preview-next/keepAlive.mjs +341 -165
  410. package/dist/preview-next/middleware.mjs +207 -105
  411. package/dist/{previewAuthStore-C_EHQ5XA.mjs → previewAuthStore-BBmV7UsW.mjs} +243 -112
  412. package/dist/{sdk-runtime-BIkJg5y1.mjs → sdk-runtime-CwvFFjB-.mjs} +2 -2
  413. package/dist/{separator-C9qDP95Z.mjs → separator-ByL72zUT.mjs} +1 -1
  414. package/dist/server/components.mjs +1839 -1475
  415. package/dist/server/config-validation.mjs +381 -166
  416. package/dist/server/config.mjs +381 -166
  417. package/dist/server/data.mjs +381 -166
  418. package/dist/server/index.mjs +214 -110
  419. package/dist/server/next.mjs +663 -351
  420. package/dist/server/page-converter.mjs +198 -79
  421. package/dist/server/prebuild.mjs +1 -1
  422. package/dist/server/rendering/server.mjs +1536 -1169
  423. package/dist/server/rendering.mjs +2432 -2068
  424. package/dist/server/routing.mjs +456 -173
  425. package/dist/server/server.mjs +447 -267
  426. package/package.json +1 -1
  427. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
  428. package/dist/_dts/billing/src/plans/display.d.ts +0 -15
  429. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +0 -3
  430. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
  431. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
  432. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
  433. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
  434. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
  435. package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
  436. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
  437. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
  438. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
  439. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
  440. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
  441. package/dist/_dts/content-editor/src/types.d.ts +0 -44
  442. package/dist/client/DiscountCodeDisclosure-CKJtz0mY.mjs +0 -137
@@ -0,0 +1,10 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { MediaPickerMiniRenderProps } from '../../media-react/src/index';
3
+ import { type MediaPickerDialogProps } from './MediaPickerDialog';
4
+ type LibraryDialogKeys = 'open' | 'onOpenChange' | 'assets' | 'loading' | 'error' | 'retryLoad' | 'hasMore' | 'selectAsset' | 'loadMore' | 'enqueueUploads' | 'uploads';
5
+ export type MediaPickerMiniDialogProps = Omit<MediaPickerDialogProps, LibraryDialogKeys> & {
6
+ picker: MediaPickerMiniRenderProps;
7
+ component?: ComponentType<MediaPickerDialogProps>;
8
+ };
9
+ export declare function MediaPickerMiniDialog({ picker, component: DialogComponent, ...props }: MediaPickerMiniDialogProps): import("react").JSX.Element;
10
+ export {};
@@ -6,7 +6,7 @@ import type { ResolveImageUrlContext } from '../../blocks/src/index';
6
6
  type MediaEditorUploaderOptions = Omit<UseApiMediaUploaderOptions, 'siteId' | 'apiClient' | 'bucket'>;
7
7
  export type MediaEditorContextValue = {
8
8
  siteId: string;
9
- apiClient: ApiClient;
9
+ apiClient: ApiClient<'mediaGet'> & UseApiMediaUploaderOptions['apiClient'];
10
10
  repo: MediaStorageRepo;
11
11
  uploader: (file: File, onProgress?: UploadProgressHandler) => Promise<MediaAssetWithLabels>;
12
12
  uploaderOptions?: MediaEditorUploaderOptions;
@@ -1,12 +1,11 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { ApiClient } from '../../api/src/request';
3
2
  import { type MediaEditorProviderProps } from './provider';
4
3
  type BaseProviderProps = {
5
4
  siteId: string;
6
5
  children: ReactNode;
7
6
  };
8
7
  type CreateMediaEditorProviderOptions<P extends BaseProviderProps> = {
9
- resolveApiClient: (props: P) => ApiClient;
8
+ resolveApiClient: (props: P) => MediaEditorProviderProps['apiClient'];
10
9
  resolveProviderProps?: (props: P) => Partial<Omit<MediaEditorProviderProps, 'apiClient' | 'children' | 'siteId'>>;
11
10
  augmentRequest?: MediaEditorProviderProps['augmentRequest'];
12
11
  getPublicUrl?: MediaEditorProviderProps['getPublicUrl'];
@@ -1,6 +1,8 @@
1
1
  export { MediaEditor } from './MediaEditor';
2
2
  export type { MediaEditorProps } from './MediaEditor';
3
3
  export { MediaPickerDialog } from './MediaPickerDialog';
4
+ export { MediaPickerMiniDialog } from './MediaPickerMiniDialog';
5
+ export type { MediaPickerMiniDialogProps } from './MediaPickerMiniDialog';
4
6
  export type { MediaPickerAssetSelection, MediaPickerDialogProps, MediaPickerPolicy, } from './MediaPickerDialog';
5
7
  export { FileAssetPreview, classifyMimeForPreview } from './FileAssetPreview';
6
8
  export { CropDialog } from './CropDialog';
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
- import type { ApiClient, APICallParamsStrict, APIEndpoints } from '../../api/src/request';
2
+ import type { APICallParamsStrict, APIEndpoints } from '../../api/src/request';
3
+ import { type ApiClientFn } from '@riverbankcms/media-storage-api';
3
4
  import type { MediaAssetWithLabels } from '@riverbankcms/media-storage-supabase';
4
5
  import { type MediaAssetIndexItem } from '../../blocks/src/index';
5
6
  import { type UseApiMediaUploaderOptions } from '../../media-react/src/index';
@@ -9,7 +10,7 @@ type RequestContext = {
9
10
  type RequestAugmenter = <E extends keyof APIEndpoints>(request: APICallParamsStrict<E>, context: RequestContext) => APICallParamsStrict<E>;
10
11
  export type MediaEditorProviderProps = {
11
12
  siteId: string;
12
- apiClient: ApiClient;
13
+ apiClient: ApiClientFn & UseApiMediaUploaderOptions['apiClient'];
13
14
  children: ReactNode;
14
15
  /**
15
16
  * Public bucket fallback used only when an asset record does not yet carry its
@@ -19,7 +19,7 @@ export type ClassificationHook = (payload: {
19
19
  summary?: ClassificationSummary;
20
20
  }) => void;
21
21
  export declare const triggerClassification: ({ apiClient, assetId, labelHints, onClassification, log, }: {
22
- apiClient: ApiClient;
22
+ apiClient: ApiClient<"classifyMediaAsset">;
23
23
  assetId: string;
24
24
  labelHints?: string[];
25
25
  onClassification?: ClassificationHook;
@@ -7,6 +7,7 @@ import type { Result } from '../../../core/src/index';
7
7
  import type { UploadProgressHandler } from './useUploads';
8
8
  import type { BrowserVideoPrepError, BrowserVideoPrepInput, BrowserVideoPrepResult } from '../videoPrepBrowser';
9
9
  import { type ClassificationHook, type LoggerLike } from './internal/classification';
10
+ type MediaUploadApiClient = ApiClient<'createMediaUploadUrl' | 'mediaUpload' | 'mediaUpdate' | 'classifyMediaAsset'>;
10
11
  export type UploadIntentResolver = UploadIntentContract | ((file: File) => UploadIntentContract | undefined);
11
12
  export type VideoPrepIntentResolver = VideoPrepIntent | ((file: File) => VideoPrepIntent | undefined);
12
13
  export type BrowserVideoPreparer = (input: BrowserVideoPrepInput) => Promise<Result<BrowserVideoPrepResult, BrowserVideoPrepError>>;
@@ -28,7 +29,7 @@ export declare class MediaUploaderError extends Error {
28
29
  export declare function getMediaUploaderErrorCode(error: Error | undefined): ApiErrorCode | undefined;
29
30
  export type UseApiMediaUploaderOptions = {
30
31
  siteId: string;
31
- apiClient: ApiClient;
32
+ apiClient: MediaUploadApiClient;
32
33
  autoClassify?: boolean;
33
34
  uploadIntent?: UploadIntentResolver;
34
35
  videoPrepIntent?: VideoPrepIntentResolver;
@@ -38,3 +39,4 @@ export type UseApiMediaUploaderOptions = {
38
39
  logger?: LoggerLike;
39
40
  };
40
41
  export declare const useApiMediaUploader: ({ siteId, apiClient, autoClassify, uploadIntent, videoPrepIntent, loadVideoPrep, onClassification, onUploadError, logger: providedLogger, }: UseApiMediaUploaderOptions) => (file: File, onProgress?: UploadProgressHandler) => Promise<MediaAssetWithLabels>;
42
+ export {};
@@ -1,7 +1,12 @@
1
- import type { EditorBlockId } from '../../../../../core/src/index';
1
+ import { type EditorBlockId, type EditorBlockVersions } from '../../../../../core/src/index';
2
2
  import type { BlockItem } from '../../../../../editor-blocks/src/index';
3
3
  import type { DraftSnapshot, EditorDraftInspectorStore, EnrichedBlock } from './types';
4
- import { type PreviewProjection } from '../previewProjection';
4
+ import { type CanonicalBlockContent, type PreviewProjection, type PreviewRenderContent } from '../previewProjection';
5
5
  import { type LinkedEntryRenderOverlay } from '../linkedEntryRenderOverlay';
6
+ /**
7
+ * Draft snapshots as the preview renders them: `current` follows the tab's render
8
+ * source (its own edits, or another tab's live drafts while it only views).
9
+ */
6
10
  export declare function getDraftSnapshots(uiStore: EditorDraftInspectorStore): Map<EditorBlockId, DraftSnapshot>;
7
- export declare function mergeBlockWithDraft(block: BlockItem, draftMap: Map<EditorBlockId, DraftSnapshot>, index: number, projections?: readonly PreviewProjection[], linkedEntryOverlays?: LinkedEntryRenderOverlay): EnrichedBlock;
11
+ export declare function mergeBlockWithDraft(block: BlockItem, draftMap: Map<EditorBlockId, DraftSnapshot>, index: number, projections?: readonly PreviewProjection[], linkedEntryOverlays?: LinkedEntryRenderOverlay, versions?: EditorBlockVersions): EnrichedBlock;
12
+ export declare function renderBlockContent(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projections: readonly PreviewProjection[], linkedEntryOverlays?: LinkedEntryRenderOverlay): PreviewRenderContent | null;
@@ -1,6 +1,6 @@
1
1
  import type { PageOutline, PublishedBlockPlacementRead } from '../../../../../blocks/src/index';
2
2
  import type { EditorPreviewInspectorStore } from '../../../../../content-editor/src/index';
3
- import type { BlockContentIdentity, EditorBlockId } from '../../../../../core/src/index';
3
+ import type { EditorBlockId, EditorBlockVersions } 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';
@@ -20,16 +20,18 @@ export type DraftSnapshot = {
20
20
  baseline: CanonicalBlockContent | null;
21
21
  current: CanonicalBlockContent | null;
22
22
  };
23
- export type EnrichedBlock = BlockContentIdentity & {
23
+ export type EnrichedBlock = {
24
24
  id: string | null;
25
25
  kind: string;
26
26
  purpose: string;
27
27
  orderIndex: number;
28
28
  content: PreviewRenderContent | null;
29
29
  draftContent: PreviewRenderContent | null;
30
- publishedContent: PreviewRenderContent | null;
30
+ versions: EditorBlockVersions;
31
31
  bindings: Record<string, unknown> | null;
32
32
  };
33
+ /** The editor's server versions for a block, or null until known. */
34
+ export type BlockVersionsLookup = (blockId: EditorBlockId) => EditorBlockVersions | null;
33
35
  export type CachedBlockTransform = {
34
36
  src: EnrichedBlock;
35
37
  out: BlockWithContent;
@@ -47,4 +49,5 @@ export type ComposePreviewRenderPageArgs = {
47
49
  draftSnapshots: readonly DraftSnapshot[];
48
50
  projections: readonly PreviewProjection[];
49
51
  linkedEntryOverlays?: LinkedEntryRenderOverlay;
52
+ blockVersions: BlockVersionsLookup;
50
53
  };
@@ -1,11 +1,31 @@
1
- import { type LinkedContentEntryId } from '../../../../content-editor/src/index';
1
+ import { type EditorPreviewInspectorStore, type LinkedContentEntryId, type RenderedLinkedRevisions } from '../../../../content-editor/src/index';
2
+ /**
3
+ * `optimisticHash` is the local draft's revision; it is absent for another tab's
4
+ * live draft, which keeps the revision the entry was rendered with.
5
+ * `handoverRevision` marks an accepted save handing over to the rendered data
6
+ * (issue 1553, D): it applies only to occurrences not yet rendered at that revision.
7
+ */
2
8
  export type LinkedEntryRenderOverlay = ReadonlyMap<LinkedContentEntryId, Readonly<{
3
9
  content: Record<string, unknown>;
4
- optimisticHash: string | null;
10
+ optimisticHash?: string | null;
11
+ handoverRevision?: string;
5
12
  }>>;
13
+ /**
14
+ * The linked-entry values the preview renders, following the tab's render source
15
+ * (its own edits, or another tab's live drafts while it only views). Entries only
16
+ * another tab is editing are included too. A viewer never reads its own handovers,
17
+ * so a later external write is never masked (row H8).
18
+ */
19
+ export declare function linkedEntryRenderOverlaysFromStore(uiStore: EditorPreviewInspectorStore): LinkedEntryRenderOverlay;
6
20
  type DataContextWithResolvedData = Readonly<{
7
21
  resolvedData?: Record<string, Record<string, unknown>>;
8
22
  }>;
9
23
  export declare function applyLinkedEntryRenderOverlay<T>(value: T, overlays: LinkedEntryRenderOverlay): T;
10
24
  export declare function applyLinkedEntryRenderOverlayToDataContext<T extends DataContextWithResolvedData | undefined>(dataContext: T, overlays: LinkedEntryRenderOverlay): T;
25
+ /**
26
+ * Each linked entry's rendered revisions, one per occurrence in the loader data, read
27
+ * before any overlay. Local handover retention compares them with the saved revision
28
+ * (issue 1553, DP7).
29
+ */
30
+ export declare function renderedLinkedRevisions(dataContext: DataContextWithResolvedData | undefined): RenderedLinkedRevisions;
11
31
  export {};
@@ -0,0 +1,13 @@
1
+ import type { BlockItem } from '../../../../../editor-blocks/src/index';
2
+ import type { CanonicalBlockContent, EntryFieldRebindingProjection, PreviewRenderContent } from './types';
3
+ /**
4
+ * Only the entry fields that changed are bound in again: unchanged fields keep
5
+ * the server's materialised value, which may be richer than the stored one
6
+ * (media the loaders have hydrated, for instance).
7
+ */
8
+ export declare function entryFieldRebindingProjection(changedFields: Readonly<Record<string, unknown>>): EntryFieldRebindingProjection | null;
9
+ /**
10
+ * Binds the changed entry fields into a block with template bindings. A binding
11
+ * whose source did not change resolves to nothing and leaves the content as it is.
12
+ */
13
+ export declare function applyEntryFieldRebindingProjection(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projection: EntryFieldRebindingProjection): CanonicalBlockContent | PreviewRenderContent | null;
@@ -1,4 +1,5 @@
1
1
  export { applyContentFieldOverrideProjection, applyStructureProjection, blockHasContentFieldOverrideProjection, previewProjectionsFromAiOverlays, } from './aiProposalProjection';
2
2
  export { applyPreviewContentFieldProjections, applyPreviewRuntimeContentProjections, applyPreviewStructureProjections, blockHasPreviewContentFieldProjection, } from './applyPreviewProjections';
3
+ export { entryFieldRebindingProjection } from './entryFieldRebinding';
3
4
  export { applyRuntimeContentDecorationProjection, runtimeContentDecorationProjectionFromEditorModel, } from './runtimeContentDecoration';
4
- export type { AiProposalProjectionState, CanonicalBlockContent, ContentFieldOverrideProjection, PreviewFieldOverride, PreviewProjection, PreviewProjectionAddedBlock, PreviewRenderContent, RuntimeContentDecorationProjection, StructureProjection, } from './types';
5
+ export type { AiProposalProjectionState, CanonicalBlockContent, ContentFieldOverrideProjection, EntryFieldRebindingProjection, PreviewFieldOverride, PreviewProjection, PreviewProjectionAddedBlock, PreviewRenderContent, RuntimeContentDecorationProjection, StructureProjection, } from './types';
@@ -51,7 +51,7 @@ export type PreviewProjection = Readonly<{
51
51
  source: 'ai-proposal';
52
52
  viewMode: 'before' | 'after';
53
53
  overrides: ReadonlyMap<string, PreviewFieldOverride>;
54
- }> | Readonly<{
54
+ }> | EntryFieldRebindingProjection | Readonly<{
55
55
  kind: 'runtime-content-decoration';
56
56
  source: 'page-design';
57
57
  fieldsByBlockId: ReadonlyMap<DesignBlockId, CompiledBlockRuntimeFields>;
@@ -71,3 +71,13 @@ export type ContentProjectionTarget = Readonly<{
71
71
  editorBlockId: EditorBlockId | null;
72
72
  content: CanonicalBlockContent | null;
73
73
  }>;
74
+ /**
75
+ * An entry template page's blocks arrive with the entry's values already bound
76
+ * in by the server. When the entry's own fields change in the editor (locally,
77
+ * or live from another tab), the fields that changed are bound in again.
78
+ */
79
+ export type EntryFieldRebindingProjection = Readonly<{
80
+ kind: 'entry-field-rebinding';
81
+ source: 'entry-draft';
82
+ changedFields: Readonly<Record<string, unknown>>;
83
+ }>;
@@ -0,0 +1,17 @@
1
+ import type { ComponentProps } from 'react';
2
+ import type { EditorPageRenderer } from '../../../../blocks/src/index';
3
+ import { type EditorUiStoreInstance } from '../../../../content-editor/src/index';
4
+ import type { EditorBlockId } from '../../../../core/src/index';
5
+ import type { ResolvedBlockData } from '../../../../blocks/src/system/data/index';
6
+ type PageRendererDataContext = ComponentProps<typeof EditorPageRenderer>['dataContext'];
7
+ /** A block's content as the preview renders it, from the tab's render source. */
8
+ export declare function renderedBlockContent(uiStore: Pick<EditorUiStoreInstance, 'getState'>, blockId: EditorBlockId): Readonly<Record<string, unknown>> | null;
9
+ /**
10
+ * An entry template page renders the entry's own fields from `contentEntry`. The
11
+ * server sent them as they were on load; the editor's rendered values (local
12
+ * edits, then another tab's live draft) take over from there.
13
+ */
14
+ export declare function withRenderedContentEntry(dataContext: PageRendererDataContext | undefined, content: Readonly<Record<string, unknown>> | null): PageRendererDataContext | undefined;
15
+ /** Loader data fetched in the browser replaces the server's, block by block. */
16
+ export declare function mergeResolvedDataContext(dataContext: PageRendererDataContext | undefined, liveResolvedData: ResolvedBlockData | null): PageRendererDataContext | undefined;
17
+ export {};
@@ -0,0 +1,20 @@
1
+ import { type ComponentProps } from 'react';
2
+ import type { EditorPageRenderer } from '../../../../blocks/src/index';
3
+ import type { ResolvedBlockData } from '../../../../blocks/src/system/data/index';
4
+ import { type EditorUiStoreInstance, type LinkedSaveHandovers } from '../../../../content-editor/src/index';
5
+ type PageRendererDataContext = ComponentProps<typeof EditorPageRenderer>['dataContext'];
6
+ /**
7
+ * The host's refresh of its server data: the same callback live drafts give a viewer
8
+ * whose saved remote draft lags. Absent when the host supplies none.
9
+ */
10
+ export declare const PreviewRefreshBaselinesContext: import("react").Context<(() => void) | null>;
11
+ /** Changes whenever a handover is recorded or dropped, so the renderer re-renders. */
12
+ export declare function linkedSaveHandoversVersion(handovers: LinkedSaveHandovers): string;
13
+ /**
14
+ * Local retention of this tab's linked-entry save handovers (issue 1553, DP7). The
15
+ * renderer holds the rendered data, so it decides catch-up: a handover whose entry is
16
+ * rendered at the saved revision everywhere drops with no refresh (row H1b); otherwise
17
+ * the shared timing asks the host for one refresh, then drops it (row H2).
18
+ */
19
+ export declare function useLinkedSaveHandoverRetention(uiStore: EditorUiStoreInstance, dataContext: PageRendererDataContext | undefined, liveResolvedData: ResolvedBlockData | null): void;
20
+ export {};
@@ -18,7 +18,7 @@ export { PreviewZoomControls } from './preview/PreviewZoomControls';
18
18
  export { PreviewEditorUI } from './preview/PreviewEditorUI';
19
19
  export { PreviewOpenEditorButton } from './preview/PreviewOpenEditorButton';
20
20
  export { MaintenanceModeBadge } from './preview/MaintenanceModeBadge';
21
- export type { PreviewBlock, PreviewContentEntryData, PreviewPageMetadata, } from './preview/PreviewEntryControllerProvider';
21
+ export type { PreviewContentEntryData, PreviewPageMetadata, } from './preview/PreviewEntryControllerProvider';
22
22
  export { PreviewEntryControllerProvider } from './preview/PreviewEntryControllerProvider';
23
23
  export { PAGE_CONTENT_TYPE_SCHEMA } from './preview/pageSchema';
24
24
  export { PreviewThemeOverlayProvider, usePreviewThemeOverlay, } from './preview/themeOverlay';
@@ -12,6 +12,7 @@ type EntryEditorPanelProps = {
12
12
  siteId: string;
13
13
  dashboardBaseUrl?: string | null;
14
14
  entryData: NonNullable<PreviewEditorSidebarProps['entryData']>;
15
+ pageSurfaceId?: string | null;
15
16
  contentTypeSchema?: ContentTypeSchema | null;
16
17
  referenceContentTypeKeys: readonly string[];
17
18
  draftContent?: Record<string, unknown> | null;
@@ -30,5 +31,5 @@ type EntryEditorPanelProps = {
30
31
  onViewportWidthChange: (width: ViewportWidth) => void;
31
32
  onZoomChange: (zoom: ZoomLevel) => void;
32
33
  };
33
- export declare function EntryEditorPanel({ siteId, dashboardBaseUrl, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, apiClient, entrySubrouteContext, metadataPanel, linkedEntrySection, widgets, sdkConfig, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: EntryEditorPanelProps): React.JSX.Element;
34
+ export declare function EntryEditorPanel({ siteId, dashboardBaseUrl, entryData, pageSurfaceId, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, apiClient, entrySubrouteContext, metadataPanel, linkedEntrySection, widgets, sdkConfig, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: EntryEditorPanelProps): React.JSX.Element;
34
35
  export {};
@@ -8,10 +8,11 @@ type EntrySlotBlockEditorPanelProps = {
8
8
  dashboardBaseUrl?: string | null;
9
9
  typeKey: string;
10
10
  entryId: string;
11
+ pageSurfaceId?: string | null;
11
12
  theme?: Theme | null;
12
13
  apiClient: ApiClient;
13
14
  sdkConfig?: SdkConfigForBlockPicker | null;
14
15
  widgets: Record<string, FieldWidgetComponent>;
15
16
  };
16
- export declare function EntrySlotBlockEditorPanel({ siteId, dashboardBaseUrl, typeKey, entryId, theme, apiClient, sdkConfig, widgets, }: EntrySlotBlockEditorPanelProps): React.JSX.Element | null;
17
+ export declare function EntrySlotBlockEditorPanel({ siteId, dashboardBaseUrl, typeKey, entryId, pageSurfaceId, theme, apiClient, sdkConfig, widgets, }: EntrySlotBlockEditorPanelProps): React.JSX.Element | null;
17
18
  export {};
@@ -0,0 +1,7 @@
1
+ import type { SurfaceId } from '../../../../surfaces/src/index';
2
+ export declare function PreviewAccessBanners({ dashboardBaseUrl, surfaceId, isEntry, pageNodeType }: Readonly<{
3
+ dashboardBaseUrl: string | null;
4
+ surfaceId: SurfaceId;
5
+ isEntry: boolean;
6
+ pageNodeType?: 'page' | 'page_surface';
7
+ }>): import("react").JSX.Element;
@@ -24,6 +24,7 @@ export type PreviewEditorSidebarProps = {
24
24
  siteId: string;
25
25
  dashboardBaseUrl?: string | null;
26
26
  pageId: string | null;
27
+ pageNodeType?: 'page' | 'page_surface';
27
28
  entryData?: PreviewEntryData | null;
28
29
  contentTypeSchema?: ContentTypeSchema | null;
29
30
  referenceContentTypeKeys?: readonly string[];
@@ -58,4 +59,4 @@ export type PreviewEditorSidebarProps = {
58
59
  onViewportWidthChange: (width: ViewportWidth) => void;
59
60
  onZoomChange: (zoom: ZoomLevel) => void;
60
61
  };
61
- export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, themeSelectionButtonStyleRepairs, themeSelectionHeaderSelection, themeSelectionFooterLookId, themeSelectionHeaderLogo, apiClient, bearerToken, entrySubrouteContext, assistantPanel, sdkConfig, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
62
+ export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, pageNodeType, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionVersion, themeSelectionUpdatedAt, themeSelectionButtonStyleSelection, themeSelectionButtonStyleRepairs, themeSelectionHeaderSelection, themeSelectionFooterLookId, themeSelectionHeaderLogo, apiClient, bearerToken, entrySubrouteContext, assistantPanel, sdkConfig, bookingOfferingPresets, siteStyleAccess, activeTab, onTabChange, onClose, onFooterSaved, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): React.JSX.Element;
@@ -1,18 +1,11 @@
1
+ import type { SdkEditorRevision } from '../../../../api/src/index';
2
+ import type { EditLeaseChangeSubscription, LiveDraftsClient } from '../../../../content-editor/src/index';
1
3
  import React, { type ReactNode } from 'react';
2
4
  import type { ApiClient } from '../../../../api/src/request';
3
5
  import { type ContentTypeSchema } from '../../../../content-model/src/index';
4
- export type PreviewBlock = {
5
- id: string | null;
6
- kind: string;
7
- purpose?: string | null;
8
- orderIndex?: number | null;
9
- content?: Record<string, unknown> | null;
10
- draftContent?: Record<string, unknown> | null;
11
- publishedContent?: Record<string, unknown> | null;
12
- bindings?: Record<string, unknown> | null;
13
- optimisticHash?: string | null;
14
- } & Partial<import('../../../../core/src/index').BlockContentIdentity>;
6
+ import type { ServerBlockItem } from '../../../../editor-blocks/src/index';
15
7
  export type PreviewPageMetadata = {
8
+ draftUpdatedAt?: string | null;
16
9
  draftTitle: string;
17
10
  draftPath: string;
18
11
  draftStatus: string;
@@ -28,6 +21,7 @@ export type PreviewPageMetadata = {
28
21
  };
29
22
  export type PreviewContentEntryData = {
30
23
  id: string;
24
+ editorRevision?: SdkEditorRevision;
31
25
  type?: string | null;
32
26
  title?: string | null;
33
27
  slug?: string | null;
@@ -41,19 +35,34 @@ export type PreviewContentEntryData = {
41
35
  draftMetaDescription?: string | null;
42
36
  ogImageId?: string | null;
43
37
  content?: Record<string, unknown> | null;
38
+ /** A page surface's published content; null when it has never been published. */
39
+ publishedContent?: Record<string, unknown> | null;
44
40
  };
45
41
  type PreviewEntryControllerProviderProps = {
46
42
  children: ReactNode;
47
43
  siteId: string;
48
44
  pageId: string | null;
45
+ pageNodeType?: 'page' | 'page_surface';
49
46
  routeId: string | null;
50
47
  entryData?: PreviewContentEntryData | null;
51
48
  contentTypeSchema?: ContentTypeSchema | null;
52
- draftContent?: Record<string, unknown> | null;
53
49
  initialStatus?: 'draft' | 'scheduled' | 'published';
54
- initialBlocks?: PreviewBlock[];
50
+ blockFieldExtensions?: import('../../../../editor-blocks/src/index').BlockFieldExtensions | null;
51
+ initialBlocks?: ServerBlockItem[];
55
52
  pageMetadata?: PreviewPageMetadata;
56
53
  apiClient: ApiClient;
54
+ subscribeToLeaseChanges?: EditLeaseChangeSubscription;
55
+ onLeaseGranted?: () => void;
56
+ liveDrafts?: PreviewLiveDrafts;
57
57
  };
58
- export declare function PreviewEntryControllerProvider({ children, siteId, pageId, routeId: providedRouteId, entryData, contentTypeSchema, draftContent, initialStatus, initialBlocks, pageMetadata, apiClient, }: PreviewEntryControllerProviderProps): React.JSX.Element;
58
+ /**
59
+ * Live drafts in preview (issue 1545): the host's own Supabase client, authorised
60
+ * with the preview token, and how it refreshes server props when a saved value
61
+ * has not arrived.
62
+ */
63
+ export type PreviewLiveDrafts = Readonly<{
64
+ client: LiveDraftsClient;
65
+ refreshBaselines: () => void;
66
+ }>;
67
+ export declare function PreviewEntryControllerProvider({ children, siteId, pageId, pageNodeType, routeId: providedRouteId, entryData, contentTypeSchema, initialStatus, initialBlocks, blockFieldExtensions, pageMetadata, apiClient, subscribeToLeaseChanges, onLeaseGranted, liveDrafts, }: PreviewEntryControllerProviderProps): React.JSX.Element;
59
68
  export {};
@@ -0,0 +1,2 @@
1
+ /** Derives preview editing permission from the live auth and lease authorities. */
2
+ export declare function PreviewLeaseEditingMode(): null;
@@ -1,3 +1,4 @@
1
+ import type { EditLeaseChangeSubscription } from '../../../../content-editor/src/index';
1
2
  import React, { type ComponentProps, type ReactNode } from 'react';
2
3
  import { BlockApiProvider } from '../../../../blocks/src/client';
3
4
  import type { ButtonStyleSelection, ButtonStyleSelectionRepair } from '../../../../theme-core/src/buttons/index';
@@ -5,8 +6,9 @@ import type { FooterLookId, HeaderLayoutStyleSelection, HeaderLogoContext } from
5
6
  import type { EntrySubrouteContextData, BookingOfferingPresetSummary, MediaAssetIndexItem, Theme } from '../../../../blocks/src/index';
6
7
  import type { ContentTypeSchema } from '../../../../content-model/src/index';
7
8
  import type { SdkConfigForPreview } from './sdkConfig';
9
+ import type { ServerBlockItem } from '../../../../editor-blocks/src/index';
8
10
  import type { SurfaceId } from '../../../../surfaces/src/index';
9
- import { type PreviewBlock, type PreviewContentEntryData, type PreviewPageMetadata } from './PreviewEntryControllerProvider';
11
+ import { type PreviewContentEntryData, type PreviewLiveDrafts, type PreviewPageMetadata } from './PreviewEntryControllerProvider';
10
12
  import { type PreviewRenderingMode, type PreviewThemeRuntime } from './themeRuntime';
11
13
  import type { PreviewEditorSidebarProps, PreviewTemplateData } from './PreviewEditorSidebar';
12
14
  import { type PreviewRuntimeSession } from '../../auth-contract';
@@ -27,6 +29,11 @@ type PreviewShellCommonProps = {
27
29
  siteId: string;
28
30
  siteSlug: string;
29
31
  editableId: string | null;
32
+ pageNodeType?: 'page' | 'page_surface';
33
+ subscribeToLeaseChanges?: EditLeaseChangeSubscription;
34
+ onLeaseGranted?: () => void;
35
+ /** Live drafts between tabs; the host supplies a Supabase client dedicated to the preview token. */
36
+ liveDrafts?: PreviewLiveDrafts | null;
30
37
  previewSession: PreviewRuntimeSession | null;
31
38
  previewToken: string;
32
39
  dashboardBaseUrl?: string | null;
@@ -64,7 +71,7 @@ type PreviewShellCommonProps = {
64
71
  draftContent?: Record<string, unknown> | null;
65
72
  currentTemplate?: PreviewTemplateData | null;
66
73
  initialStatus?: 'draft' | 'scheduled' | 'published';
67
- initialBlocks?: PreviewBlock[];
74
+ initialBlocks?: ServerBlockItem[];
68
75
  pageMetadata?: PreviewPageMetadata;
69
76
  isSiteLaunched: boolean;
70
77
  maintenanceModeEnabled: boolean;
@@ -15,6 +15,7 @@ type PreviewShellLayoutCommonProps = {
15
15
  siteId: string;
16
16
  dashboardBaseUrl?: string | null;
17
17
  pageId: string | null;
18
+ pageNodeType?: 'page' | 'page_surface';
18
19
  entryData?: PreviewEntryData | null;
19
20
  contentTypeSchema?: ContentTypeSchema | null;
20
21
  referenceContentTypeKeys?: readonly string[];
@@ -0,0 +1,5 @@
1
+ import type { PreviewCustomizeWorkflowState, PreviewCustomizeSaveBatch } from './previewCustomizeWorkflowState';
2
+ /** Work selection and checkpoint capture share the existing transaction objects. */
3
+ export declare function previewCustomizeCanAutosave(workflow: PreviewCustomizeWorkflowState): boolean;
4
+ /** Preserve transaction identity and history while a checkpoint waits for an active save. */
5
+ export declare function previewCustomizePendingBatch(workflow: PreviewCustomizeWorkflowState): PreviewCustomizeSaveBatch;
@@ -82,8 +82,8 @@ export type PreviewCustomizeWorkflowState = Readonly<{
82
82
  mutation: PreviewCustomizeMutationState;
83
83
  }>;
84
84
  type PreviewCustomizeTargetKey = `block:${string}:layout` | `block:${string}:look` | `block:${string}:facet:${string}` | `block:${string}:background` | `boundary:${string}:${string}`;
85
- type PreviewCustomizePendingAction = EditorTransaction<PreviewCustomizeAction, PreviewCustomizeHistoryEntry, PreviewCustomizeTargetKey>;
86
- type PreviewCustomizeSaveBatch = EditorSaveBatch<PreviewCustomizeAction, PreviewCustomizeHistoryEntry, PreviewCustomizeTargetKey>;
85
+ export type PreviewCustomizePendingAction = EditorTransaction<PreviewCustomizeAction, PreviewCustomizeHistoryEntry, PreviewCustomizeTargetKey>;
86
+ export type PreviewCustomizeSaveBatch = EditorSaveBatch<PreviewCustomizeAction, PreviewCustomizeHistoryEntry, PreviewCustomizeTargetKey>;
87
87
  export type PreviewCustomizeBeginResult = Readonly<{
88
88
  kind: 'started';
89
89
  state: PreviewCustomizeWorkflowState;
@@ -100,7 +100,7 @@ export declare function failedPreviewCustomizeWorkflowState(message: string): Pr
100
100
  export declare function previewCustomizeLoadSucceeded(pageState: ApiPageDesignEditorStateResponse): PreviewCustomizeWorkflowState;
101
101
  export declare function previewCustomizeWorkflowPageState(workflow: PreviewCustomizeWorkflowState): PreviewPageDesignEditorState;
102
102
  export declare function beginPreviewCustomizeApply(workflow: PreviewCustomizeWorkflowState, action: PreviewCustomizeAction): PreviewCustomizeBeginResult;
103
- export declare function beginPreviewCustomizeAutosave(workflow: PreviewCustomizeWorkflowState): PreviewCustomizeBeginResult;
103
+ export declare function beginPreviewCustomizeAutosave(workflow: PreviewCustomizeWorkflowState, captured?: PreviewCustomizeSaveBatch): PreviewCustomizeBeginResult;
104
104
  export declare function beginPreviewCustomizeUndo(workflow: PreviewCustomizeWorkflowState): PreviewCustomizeBeginResult;
105
105
  export declare function beginPreviewCustomizeRedo(workflow: PreviewCustomizeWorkflowState): PreviewCustomizeBeginResult;
106
106
  export declare function confirmPreviewCustomizeMutation(workflow: PreviewCustomizeWorkflowState, response: ApplyPageDesignEditorActionResponse): PreviewCustomizeWorkflowState;
@@ -117,5 +117,4 @@ export declare function applyPreviewCustomizeActionToState(state: PreviewPageDes
117
117
  export declare function skippedPreviewCustomizeOutcome(reason: PreviewCustomizeSkipReason): Extract<PreviewPageDesignEditorApplyOutcome, {
118
118
  kind: 'skipped';
119
119
  }>;
120
- export declare function previewCustomizePendingActions(workflow: PreviewCustomizeWorkflowState): readonly PreviewCustomizeAction[];
121
120
  export {};
@@ -2,5 +2,6 @@ import type { SdkSiteLayoutConfig } from '../../../../api/src/index';
2
2
  import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
3
3
  /** SDK config fields consumed by preview editing, beyond the block picker. */
4
4
  export type SdkConfigForPreview = SdkConfigForBlockPicker & {
5
+ blockFieldExtensions?: import('../../../../editor-blocks/src/index').BlockFieldExtensions;
5
6
  layout?: Pick<SdkSiteLayoutConfig, 'footerMode'>;
6
7
  };
@@ -0,0 +1,4 @@
1
+ import { type SetStateAction } from 'react';
2
+ import { type PreviewCustomizeWorkflowState } from './previewCustomizeWorkflowState';
3
+ /** Update the scheduler's authoritative workflow before its next serialized request. */
4
+ export declare function usePreviewCustomizeWorkflowState(): readonly [PreviewCustomizeWorkflowState, (next: SetStateAction<PreviewCustomizeWorkflowState>) => void, import("react").RefObject<PreviewCustomizeWorkflowState>];
@@ -1,3 +1,4 @@
1
+ import { type ApiClient } from "../../../api/src/request";
1
2
  import { type PreviewRuntimeSession, type PreviewSessionAuthMode } from "../auth-contract";
2
3
  export type PreviewAuthState = "ok" | "expired";
3
4
  export type PreviewAuthFailureSource = "keep-alive" | "inline-save" | "publish" | "block-editor" | "metadata" | "draft-action" | "query" | "unknown";
@@ -22,6 +23,8 @@ export declare function usePreviewAuth(): PreviewAuthSnapshot;
22
23
  * Returns null if no token is available (falls back to proxy).
23
24
  */
24
25
  export declare function usePreviewToken(): string | null;
26
+ export declare function getPreviewAccessToken(): string;
27
+ export declare function setPreviewAccessToken(token: string): void;
25
28
  type PreviewAuthInitInput = {
26
29
  siteId: string;
27
30
  siteSlug: string;
@@ -38,5 +41,9 @@ export declare function initPreviewAuth(input: PreviewAuthInitInput): void;
38
41
  export declare function __getPreviewAuthStateForTests(): Readonly<PreviewAuthSnapshot>;
39
42
  export declare function __resetPreviewAuthStateForTests(): void;
40
43
  export declare function markPreviewAuthExpired(source: PreviewAuthFailureSource): void;
44
+ /** Handle bearer 401s at the request boundary, including calls outside the query cache. */
45
+ export declare function createGuardedPreviewApiClient(baseUrl: string): ApiClient;
46
+ /** Query callbacks receive the same error after the request guard has decided auth state. */
47
+ export declare function wasPreviewApiAuthErrorHandled(error: unknown): boolean;
41
48
  export declare function usePreviewAuthFetch(baseFetch: BaseFetch): PreviewAuthFetch;
42
49
  export {};
@@ -3,3 +3,7 @@ export declare const PREVIEW_REFRESH_COOKIE_NAME = "preview_refresh_token";
3
3
  export declare const PREVIEW_COOKIE_MAX_AGE: number;
4
4
  export declare const PREVIEW_CODE_PARAM = "preview_code";
5
5
  export declare const PREVIEW_THEME_COOKIE_NAME = "preview_theme_id";
6
+ export declare const PREVIEW_KEEP_ALIVE_INTERVAL_MS: number;
7
+ export declare const PREVIEW_KEEP_ALIVE_JITTER_RATIO = 0.1;
8
+ export declare const PREVIEW_KEEP_ALIVE_MAX_INTERVAL_MS: number;
9
+ export declare const PREVIEW_REFRESH_THRESHOLD_SECONDS: number;
@@ -1,6 +1,7 @@
1
1
  import type { CookieStoreLike } from './session';
2
2
  export type PreviewKeepAliveLogger = {
3
3
  debug?: (message: string, meta?: Record<string, unknown>) => void;
4
+ info?: (message: string, meta?: Record<string, unknown>) => void;
4
5
  warn?: (message: string, meta?: Record<string, unknown>) => void;
5
6
  error?: (message: string, meta?: Record<string, unknown>) => void;
6
7
  };
@@ -0,0 +1,3 @@
1
+ export { useSiteRealtimeReload, type SiteRealtimeReloadOptions, type RealtimeStatus, } from './useSiteRealtimeReload';
2
+ export { joinDraftChannel, planDraftAuthChange, toDraftChannelStatus, type DraftBroadcastChannel, type DraftChannelOptions, type DraftRealtimeClient, type DraftSendResult, type DraftChannelAuth, type DraftChannelStatus, type DraftChannelHandlers, type DraftChannelConnection, } from './draftChannel';
3
+ export { useDraftChannel, type UseDraftChannelAuth, type UseDraftChannelOptions, type DraftChannelHookStatus, type DraftHookSendResult, } from './useDraftChannel';