@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
@@ -6,9 +6,13 @@ export type DrawerFocusTarget = {
6
6
  };
7
7
  export type DraftSyncState = 'baseline' | 'pending' | 'failed';
8
8
  interface EditorContextType {
9
+ /** Requested and allowed: the tab is editing right now. */
9
10
  isEditingMode: boolean;
11
+ /** The person asked to edit, whether or not editing is allowed yet (e.g. while the lease is held elsewhere). */
12
+ requestedEditingMode: boolean;
10
13
  toggleEditingMode: () => void;
11
14
  setEditingMode: (value: boolean) => void;
15
+ setEditingAllowed: (value: boolean) => void;
12
16
  editingElement: string | null;
13
17
  setEditingElement: (elementId: string | null) => void;
14
18
  currentBlockId?: string;
@@ -21,6 +25,7 @@ export declare const useEditor: () => EditorContextType;
21
25
  interface EditorProviderProps {
22
26
  children: ReactNode;
23
27
  initialEditingMode?: boolean;
28
+ initialEditingAllowed?: boolean;
24
29
  }
25
30
  export declare const EditorProvider: React.FC<EditorProviderProps>;
26
31
  export {};
@@ -1,5 +1,19 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type EditorHistoryBarControls, type EditorStatusBarToolbar, type StatusBarMenuItem } from './EditorStatusBar';
3
+ /**
4
+ * The status bar's toolbar: the caller's overrides, with anything they leave
5
+ * out following whether there is something unpublished.
6
+ */
7
+ export declare function resolveChromeToolbar(toolbarOverrides: Partial<EditorStatusBarToolbar> | undefined, draftSyncState: 'baseline' | 'pending' | 'failed'): EditorStatusBarToolbar;
8
+ /**
9
+ * The kebab menu: Discard draft when the editor offers it (greyed while there
10
+ * is nothing to go back to), then Leave edit mode.
11
+ */
12
+ export declare function buildChromeMenuItems(input: Readonly<{
13
+ onDiscard?: () => void | Promise<void>;
14
+ disableDiscard?: boolean;
15
+ leaveEditMode: () => void;
16
+ }>): StatusBarMenuItem[];
3
17
  type EditorChromeProps = {
4
18
  toolbarOverrides?: Partial<EditorStatusBarToolbar>;
5
19
  onPublish?: () => void | Promise<void>;
@@ -19,6 +19,7 @@ export type StatusBarMenuItem = {
19
19
  label: string;
20
20
  onClick: () => void;
21
21
  variant?: "default" | "destructive";
22
+ disabled?: boolean;
22
23
  };
23
24
  export type EditorStatusBarProps = {
24
25
  status: DraftWorkflowStatus;
@@ -1,7 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { DraftSyncState } from '../EditorProvider';
3
3
  import type { DraftWorkflowStatus, EditorStatusBarProps, EditorStatusBarToolbar, StatusBarMenuItem } from './EditorStatusBar';
4
- export declare function getLatestSavedAt(values: readonly (string | null)[]): string | null;
5
4
  export type EditorStatusBarPresentationInput = Readonly<{
6
5
  status: DraftWorkflowStatus;
7
6
  lastSavedAt: string | null;
@@ -1,6 +1,6 @@
1
1
  export { EditorChrome } from './chrome/EditorChrome';
2
2
  export { EditorStatusBar } from './chrome/EditorStatusBar';
3
- export { buildEditorStatusBarPresentationProps, getLatestSavedAt, } from './chrome/statusBarPresentation';
3
+ export { buildEditorStatusBarPresentationProps } from './chrome/statusBarPresentation';
4
4
  export type { DraftWorkflowStatus, EditorHistoryBarControls, EditorStatusBarProps, EditorStatusBarToolbar, StatusBarMenuItem, } from './chrome/EditorStatusBar';
5
5
  export type { EditorStatusBarPresentationInput } from './chrome/statusBarPresentation';
6
6
  export { EditingToggle } from './components/EditingToggle';
@@ -1,3 +1,4 @@
1
+ import type { EditorBlockCollectionReadBaseline } from '../../core/src/index';
1
2
  import { type ReactNode } from 'react';
2
3
  import { type StoreApi } from './utils/useStoreSelector';
3
4
  import { type ApiClient } from '../../api/src/request';
@@ -6,10 +7,12 @@ import type { PageDesignEditorReadModel } from '../../theme-core/src/site-styles
6
7
  import { type EditorStructuralCommand } from '../../core/src/index';
7
8
  import { type CustomBlockRegistryEntry, type SdkConfigForBlockPicker } from './block-editor/sdkBlockMerger';
8
9
  import { type BlockCreationCopy } from './block-editor/EmptyState';
10
+ import { type BlockCollectionSlice, type BlockCollectionSource } from './block-editor/hooks/useBlockBaselineSync';
11
+ import type { BlockInsertStore } from './block-editor/hooks/buildInsertBlockHistoryCommand';
9
12
  import { type BlockActionPresentation } from './block-editor/actionPresentation';
10
13
  import { type ReorderControlMode } from './block-editor/reorderControlMode';
11
14
  import { type BlockEditorOwner } from './block-editor/owner';
12
- import type { ArrayKeysManager, BlockEditorHandle, BlockItem, BlockFocusRequest, UiSlice, DraftsSlice } from './block-editor/types';
15
+ import type { ArrayKeysManager, BlockEditorHandle, BlockItem, BlockFocusRequest, UiSlice, DraftsSlice, FlushBlockValues } from './block-editor/types';
13
16
  import type { BlockDraftSaveability } from '../../block-form/src/blockDraftSaveability';
14
17
  import type { FieldWidgetComponent } from '../../block-form/src/index';
15
18
  type UiState = {
@@ -30,27 +33,25 @@ type UiState = {
30
33
  manifest: import('../../blocks/src/index').BlockManifest;
31
34
  }>[]) => void;
32
35
  };
33
- structure: {
34
- getList: () => readonly BlockItem[];
35
- };
36
+ structure: BlockCollectionSlice;
36
37
  history: {
37
38
  applyCommand?: (command: EditorStructuralCommand) => void;
38
39
  };
40
+ insertServerBlock: ReturnType<BlockInsertStore['getState']>['insertServerBlock'];
39
41
  generatedIconAssets: {
40
42
  setForBlock: (blockId: Parameters<DraftsSlice['setAtPath']>[0], assets: readonly import('../../blocks/src/system/icons/index').GeneratedBlockIconRenderAssetInput[]) => void;
41
43
  };
42
44
  autosave: {
43
- saveNow: (types: 'blocks'[]) => void;
44
- };
45
- drafts: DraftsSlice & {
46
- setFailed?: (blockId: Parameters<DraftsSlice['autosaveFailed']>[0], message?: string) => void;
45
+ flushValues: FlushBlockValues;
47
46
  };
47
+ drafts: DraftsSlice;
48
48
  };
49
49
  export type BlockEditorProps = {
50
50
  siteId: string;
51
51
  dashboardBaseUrl?: string | null;
52
52
  owner: BlockEditorOwner;
53
- blocks: readonly BlockItem[];
53
+ source: BlockCollectionSource;
54
+ collectionReads?: readonly EditorBlockCollectionReadBaseline[];
54
55
  recoveryConflictBlockIds?: readonly string[];
55
56
  recoveryConflictReviewRequestId?: number | null;
56
57
  uiStore: StoreApi<UiState>;
@@ -17,7 +17,7 @@ export type BlockFormUiStoreState = GeneratedIconApplyState & {
17
17
  showAllValidation: (blockId: EditorBlockId) => boolean;
18
18
  getBlockSaveability: (blockId: EditorBlockId) => BlockDraftSaveability;
19
19
  };
20
- drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'clearError' | 'setAtPath' | 'getAtPath'> & {
20
+ drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'setAtPath' | 'getAtPath'> & {
21
21
  updateBlockBaseline?: (blockId: EditorBlockId, data: Record<string, unknown> | null) => void;
22
22
  };
23
23
  arrayKeys: ArrayKeysManager;
@@ -20,7 +20,7 @@ type BlockCardStore = UiStore<Pick<UiSlice, 'activeBlockId' | 'setActiveBlockId'
20
20
  showAllValidation: (blockId: EditorBlockId) => boolean;
21
21
  getBlockSaveability: (blockId: EditorBlockId) => BlockDraftSaveability;
22
22
  };
23
- drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'getAtPath' | 'setAtPath' | 'edit' | 'initNewBlock' | 'updateBlockBaseline' | 'clearError'>;
23
+ drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'getAtPath' | 'setAtPath' | 'edit' | 'updateBlockBaseline'>;
24
24
  arrayKeys: ArrayKeysManager;
25
25
  } & GeneratedIconApplyState>;
26
26
  export declare function BlockCard({ interactionReady, siteId, block, manifest, isFirst, isLast, isMoving, onMove, onDuplicate, onDelete, dragListeners, canReorder, collapsed, onCollapsedChange, highlighted, hasRecoveryConflict, focusSignal, onFocusHandled, onBlockSave, theme, widgetOverrides, uiStore, hideThemeV2RawStyleFields, pageDesignBlock, reorderControlMode, actionPresentation, currentStyleGuideVersionId, iconStyleGuideSummary, iconStyleGuideEditHref, onGenerateIconSet, }: {
@@ -10,7 +10,7 @@ import { type GeneratedIconApplyState } from './generatedIconApplyCoordination';
10
10
  /** Drag listener props from dnd-kit */
11
11
  type DragListeners = SyntheticListenerMap | undefined;
12
12
  type BlockCardFrameStore = UiStore<GeneratedIconApplyState & Pick<UiSlice, 'focusRequest' | 'clearFocus'> & {
13
- drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'initNewBlock' | 'updateBlockBaseline' | 'clearError' | 'setAtPath' | 'getAtPath'>;
13
+ drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'updateBlockBaseline' | 'setAtPath' | 'getAtPath'>;
14
14
  arrayKeys: ArrayKeysManager;
15
15
  }>;
16
16
  /**
@@ -4,7 +4,7 @@ import type { SystemBlockDefinition, Theme } from '../../../blocks/src/index';
4
4
  import { type FieldWidgetComponent } from '../../../block-form/src/index';
5
5
  import type { ArrayKeysManager, BlockItem, BlockFocusRequest, DraftsSlice, UiSlice, UiStore } from './types';
6
6
  type BlockSettingsModalStore = UiStore<Pick<UiSlice, 'focusRequest' | 'clearFocus'> & {
7
- drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'clearError' | 'setAtPath' | 'getAtPath'>;
7
+ drafts: Pick<DraftsSlice, 'getBlockSnapshot' | 'getCurrentValues' | 'setAtPath' | 'getAtPath'>;
8
8
  arrayKeys: ArrayKeysManager;
9
9
  }>;
10
10
  export declare function settingsFocusPath(signal: BlockFocusRequest | null, blockId: EditorBlockId | null): string | null;
@@ -1,8 +1,7 @@
1
- type BlockFieldExtensions = Readonly<Record<string, {
1
+ export type BlockFieldExtensions = Readonly<Record<string, {
2
2
  fields?: ReadonlyArray<{
3
3
  id: string;
4
4
  defaultValue?: unknown;
5
5
  }>;
6
- }>> | null;
7
- export declare function applyExtendedFieldDefaults(blockKind: string, content: unknown, blockFieldExtensions: BlockFieldExtensions): Record<string, unknown> | null;
8
- export {};
6
+ }>>;
7
+ export declare function applyExtendedFieldDefaults(blockKind: string, content: unknown, blockFieldExtensions: BlockFieldExtensions | null): Record<string, unknown> | null;
@@ -1,15 +1,11 @@
1
1
  import { type EditorBlockBaselineInput, type EditorBlockId, type EditorDraftBlockBaselineUpdateMetaInput, type EditorDraftBlockInitMetaInput } from '../../../core/src/index';
2
- import type { BlockItem } from './types';
3
- export type BlockFieldExtensions = Readonly<Record<string, {
4
- fields?: ReadonlyArray<{
5
- id: string;
6
- defaultValue?: unknown;
7
- }>;
8
- }>>;
2
+ import { type BlockFieldExtensions } from './applyExtendedFieldDefaults';
3
+ import type { BlockItem, ServerBlockItem } from './types';
4
+ export type { BlockFieldExtensions } from './applyExtendedFieldDefaults';
9
5
  export type BlockDraftBaselineSeed = Readonly<{
10
6
  blockId: EditorBlockId;
11
7
  baseline: EditorBlockBaselineInput;
12
8
  initMeta: EditorDraftBlockInitMetaInput;
13
9
  refreshMeta: EditorDraftBlockBaselineUpdateMetaInput;
14
10
  }>;
15
- export declare function buildBlockDraftBaselineSeed(block: BlockItem, index: number, blockFieldExtensions?: BlockFieldExtensions | null): BlockDraftBaselineSeed | null;
11
+ export declare function buildBlockDraftBaselineSeed(block: BlockItem | ServerBlockItem, index: number, blockFieldExtensions?: BlockFieldExtensions | null): BlockDraftBaselineSeed | null;
@@ -0,0 +1,23 @@
1
+ import type { BlockListItem } from '../../../api/src/index';
2
+ import { type EditorBlockVersions, type EditorBlockVersionsEntry } from '../../../core/src/index';
3
+ import type { BlockItem, ServerBlockItem } from './types';
4
+ type WireBlock = Omit<BlockListItem, 'id'> & Readonly<{
5
+ id: string | null;
6
+ bindings?: Record<string, unknown> | null;
7
+ }>;
8
+ /** The one conversion from an API block to an editor block. */
9
+ export declare function toEditorBlockItem(wire: WireBlock): ServerBlockItem;
10
+ /** The wire identity fields for a block's versions. */
11
+ export declare function wireVersionsOf(versions: EditorBlockVersions): Pick<BlockListItem, 'draftContentId' | 'publishedContentId' | 'publishedContent'>;
12
+ /** The one conversion back to the API shape, for callers that update a block-list response. */
13
+ export declare function toBlockListItem(block: BlockItem & Readonly<{
14
+ id: string;
15
+ }>, versions: EditorBlockVersions): BlockListItem;
16
+ /**
17
+ * A block for lists the editor holds. Server versions live only in the store
18
+ * (recorded on ingestion), so held lists never carry them to go stale.
19
+ */
20
+ export declare function withoutServerVersions(block: ServerBlockItem): BlockItem;
21
+ /** The server versions carried by blocks just read from the API, for the store. */
22
+ export declare function serverVersionsEntries(blocks: readonly ServerBlockItem[]): readonly EditorBlockVersionsEntry[];
23
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { type GeneratedBlockIconRenderAssetInput } from '../../../blocks/src/system/icons/index';
2
2
  import type { EditorBlockId } from '../../../core/src/index';
3
- import type { DraftsSlice, UiStore } from './types';
3
+ import type { DraftsSlice, FlushBlockValues, UiStore } from './types';
4
4
  import { type FeatureCardGeneratedIconSetActionResult } from './featureCardIconActions';
5
5
  import type { GeneratedIconSetPreview } from './GeneratedIconSetDialog';
6
6
  export type GeneratedIconApplyState = {
@@ -9,12 +9,7 @@ export type GeneratedIconApplyState = {
9
9
  setForBlock: (blockId: EditorBlockId, assets: readonly GeneratedBlockIconRenderAssetInput[]) => void;
10
10
  };
11
11
  autosave: {
12
- saveNow: (types: 'blocks'[]) => void;
13
- blocks?: Readonly<{
14
- status: 'idle' | 'saving' | 'success' | 'error';
15
- lastSavedAt: string | null;
16
- hasFailedSaves: boolean;
17
- }>;
12
+ flushValues: FlushBlockValues;
18
13
  };
19
14
  };
20
15
  export type GeneratedIconApplyStore = UiStore<GeneratedIconApplyState>;
@@ -0,0 +1,4 @@
1
+ import type { EditorStructuralCommand } from '../../../../core/src/index';
2
+ import type { BlockItem } from '../types';
3
+ /** Keep history capture ahead of membership writes; standalone consumers lack history. */
4
+ export declare function applyBlockStructureChange<TCommand extends EditorStructuralCommand>(command: TCommand | null, applyCommand: ((command: TCommand) => void) | undefined, next: BlockItem[], setBlockList: (blocks: BlockItem[]) => void): void;
@@ -1,8 +1,17 @@
1
- import { type EditorInsertBlockCommand } from '../../../../core/src/index';
2
- import type { BlockItem } from '../types';
3
- export declare function buildInsertBlockHistoryCommand({ block, index, draftContent, publishedContent, }: {
4
- block: BlockItem;
1
+ import { type EditorBlockVersions, type EditorInsertBlockCommand } from '../../../../core/src/index';
2
+ import type { ServerBlockItem } from '../types';
3
+ export declare function buildInsertBlockHistoryCommand({ block, index, draftContent, }: {
4
+ block: ServerBlockItem;
5
5
  index: number;
6
6
  draftContent?: Record<string, unknown> | null;
7
- publishedContent?: Record<string, unknown> | null;
8
7
  }): EditorInsertBlockCommand | null;
8
+ export type BlockInsertStore = {
9
+ getState: () => {
10
+ insertServerBlock: (command: EditorInsertBlockCommand, versions: EditorBlockVersions) => void;
11
+ };
12
+ };
13
+ /**
14
+ * Record a server-created block in the editor: an undoable insert, plus its
15
+ * server versions, which live outside undo history.
16
+ */
17
+ export declare function applyBlockInsert(uiStore: BlockInsertStore | null | undefined, input: Parameters<typeof buildInsertBlockHistoryCommand>[0]): EditorInsertBlockCommand | null;
@@ -1,26 +1,28 @@
1
- import { type EditorBlockId, type EditorBlockBaselineInput, type EditorDraftBlockBaselineUpdateMetaInput, type EditorDraftBlockInitMetaInput } from '../../../../core/src/index';
2
- import type { BlockItem } from '../types';
3
- import { type BlockFieldExtensions } from '../blockDraftBaselineSeed';
4
- type DraftsSlice = {
5
- getBlockSnapshot: (blockId: EditorBlockId) => {
6
- id: EditorBlockId;
7
- } | null;
8
- initNewBlock: (blockId: EditorBlockId, baseline: EditorBlockBaselineInput, meta: EditorDraftBlockInitMetaInput) => void;
9
- updateBlockBaseline: (blockId: EditorBlockId, baseline: EditorBlockBaselineInput, meta?: EditorDraftBlockBaselineUpdateMetaInput) => void;
10
- inspect: () => Array<{
11
- id: EditorBlockId;
12
- }>;
13
- remove: (blockId: EditorBlockId) => void;
1
+ import { type EditorBlockCollectionOwner, type EditorBlockCollectionReadBaseline } from '../../../../core/src/index';
2
+ import type { BlockItem, ServerBlockItem } from '../types';
3
+ export type BlockCollectionSource = Readonly<{
4
+ kind: 'server';
5
+ blocks: readonly ServerBlockItem[];
6
+ }> | Readonly<{
7
+ kind: 'mounted';
8
+ }>;
9
+ export type BlockCollectionSlice = {
10
+ getOwner: () => EditorBlockCollectionOwner | null;
11
+ getList: () => readonly BlockItem[];
12
+ mount: (owner: EditorBlockCollectionOwner, blocks: readonly ServerBlockItem[], reads?: readonly EditorBlockCollectionReadBaseline[]) => void;
13
+ unmount: (owner: EditorBlockCollectionOwner) => void;
14
+ replaceList: (blocks: readonly BlockItem[]) => void;
14
15
  };
15
16
  type UiStore = {
16
17
  getState: () => {
17
- drafts: DraftsSlice;
18
+ structure: BlockCollectionSlice;
18
19
  };
19
20
  };
20
- export declare function useBlockBaselineSync({ enabled, blockList, blockFieldExtensions, uiStore, }: {
21
- enabled: boolean;
22
- blockList: readonly BlockItem[];
23
- blockFieldExtensions?: BlockFieldExtensions | null;
24
- uiStore: UiStore | null;
21
+ /** Server collections admit values and versions atomically; mounted page collections already have an owner. */
22
+ export declare function useBlockBaselineSync({ owner, source, collectionReads, uiStore }: {
23
+ owner: EditorBlockCollectionOwner | null;
24
+ source: BlockCollectionSource;
25
+ collectionReads?: readonly EditorBlockCollectionReadBaseline[];
26
+ uiStore: UiStore;
25
27
  }): void;
26
28
  export {};
@@ -1,15 +1,8 @@
1
1
  import type { ApiClient } from '../../../../api/src/request';
2
2
  import type { BlockDescriptor } from '../../../../blocks/src/index';
3
- import type { EditorInsertBlockCommand } from '../../../../core/src/index';
4
3
  import type { BlockItem, BlockFocusTarget } from '../types';
4
+ import { type BlockInsertStore } from './buildInsertBlockHistoryCommand';
5
5
  import { type BlockEditorOwner } from '../owner';
6
- type UiStore = {
7
- getState: () => {
8
- history: {
9
- applyCommand?: (command: EditorInsertBlockCommand) => void;
10
- };
11
- };
12
- };
13
6
  export declare function useBlockCreation({ allowCreation, apiClient, siteId, owner, blockList, setBlockList, onBlocksChange, triggerFocus, uiStore, onStructuralRevisionChange, }: {
14
7
  allowCreation: boolean;
15
8
  apiClient: ApiClient;
@@ -19,7 +12,7 @@ export declare function useBlockCreation({ allowCreation, apiClient, siteId, own
19
12
  setBlockList: (next: BlockItem[]) => void;
20
13
  onBlocksChange?: (blocks: BlockItem[]) => void;
21
14
  triggerFocus?: (target: BlockFocusTarget) => void;
22
- uiStore?: UiStore | null;
15
+ uiStore?: BlockInsertStore | null;
23
16
  onStructuralRevisionChange?: (revision: string) => void;
24
17
  }): {
25
18
  pickerOpen: boolean;
@@ -32,4 +25,3 @@ export declare function useBlockCreation({ allowCreation, apiClient, siteId, own
32
25
  closePicker: () => void;
33
26
  handleCreateBlock: (descriptor: BlockDescriptor) => Promise<void>;
34
27
  };
35
- export {};
@@ -1,23 +1,16 @@
1
1
  import type { ApiClient } from '../../../../api/src/request';
2
- import { type EditorInsertBlockCommand } from '../../../../core/src/index';
3
- import type { BlockItem, BlockFocusTarget } from '../types';
2
+ import { type SavedBlockContentVersion } from '../../../../core/src/index';
3
+ import type { BlockItem, BlockFocusTarget, ServerBlockItem } from '../types';
4
+ import { type BlockInsertStore } from './buildInsertBlockHistoryCommand';
4
5
  import { type BlockEditorOwner } from '../owner';
5
- type UiStore = {
6
- getState: () => {
7
- history: {
8
- applyCommand?: (command: EditorInsertBlockCommand) => void;
9
- };
10
- };
11
- };
12
6
  export declare function buildDuplicatedBlockItem(input: Readonly<{
13
- createdBlock: BlockItem;
7
+ createdBlock: ServerBlockItem;
14
8
  copiedContent: Record<string, unknown> | null;
15
- persistedCopy: Readonly<{
16
- data: unknown;
9
+ persistedCopy: (SavedBlockContentVersion & Readonly<{
17
10
  optimistic_hash?: string | null;
18
- }> | null;
11
+ }>) | null;
19
12
  orderIndex: number;
20
- }>): BlockItem;
13
+ }>): ServerBlockItem;
21
14
  export declare function requirePersistedDuplicateRevision(owner: BlockEditorOwner, persistedCopy: Readonly<{
22
15
  optimistic_hash?: string | null;
23
16
  }>): string | null;
@@ -31,10 +24,9 @@ export declare function useBlockDuplication({ allowCreation, apiClient, siteId,
31
24
  onBlocksChange?: (blocks: BlockItem[]) => void;
32
25
  triggerFocus?: (target: BlockFocusTarget) => void;
33
26
  setErrorMessage: (msg: string | null) => void;
34
- uiStore?: UiStore | null;
27
+ uiStore?: BlockInsertStore | null;
35
28
  onStructuralRevisionChange?: (revision: string) => void;
36
29
  }): {
37
30
  duplicatingBlockId: string | null;
38
31
  duplicateBlock: (blockId: string) => Promise<void>;
39
32
  };
40
- export {};
@@ -1,18 +1,12 @@
1
1
  import type { ApiClient } from '../../../api/src/request';
2
- export type BlockEditorOwner = Readonly<{
3
- kind: 'page';
4
- pageId: string;
5
- }> | Readonly<{
6
- kind: 'entry-slot';
7
- type: string;
8
- entryId: string;
9
- slotKey: string;
10
- }> | Readonly<{
2
+ import { type EditorBlockCollectionOwner } from '../../../core/src/index';
3
+ export type BlockEditorOwner = Extract<EditorBlockCollectionOwner, {
4
+ kind: 'page' | 'entry-slot';
5
+ }> | (Extract<EditorBlockCollectionOwner, {
11
6
  kind: 'surface-slot';
12
- pageSurfaceId: string;
13
- slotKey: string;
7
+ }> & Readonly<{
14
8
  compositionHash: string;
15
- }>;
9
+ }>);
16
10
  export type CreateEditableBlockInput = Readonly<{
17
11
  kind: string;
18
12
  position?: number;
@@ -21,12 +15,8 @@ export type CreateEditableBlockInput = Readonly<{
21
15
  }>;
22
16
  export declare function blockEditorOwnerKey(owner: BlockEditorOwner): string;
23
17
  export declare function createEditableBlockForOwner(apiClient: ApiClient, siteId: string, owner: BlockEditorOwner, input: CreateEditableBlockInput): Promise<{
24
- ok: boolean;
25
- block: Record<string, unknown>;
26
- } | {
27
18
  ok: boolean;
28
19
  block: import("../../../api/src/index").BlockListItem;
29
- compositionHash: string;
30
20
  }>;
31
21
  export declare function reorderEditableBlocksForOwner(apiClient: ApiClient, siteId: string, owner: BlockEditorOwner, blockIds: string[]): Promise<{
32
22
  ok: boolean;
@@ -1,14 +1,34 @@
1
- import type { EditorBlockId, EditorBlockBaselineInput, EditorDraftBlockBaselineUpdateMetaInput, EditorDraftBlockInitMetaInput, EditorStructuralDraftSnapshot, BlockContentIdentity } from '../../../core/src/index';
2
- export type BlockItem = Partial<BlockContentIdentity> & {
1
+ import type { EditorBlockId, EditorBlockBaselineInput, EditorDraftBlockBaselineUpdateMetaInput, EditorStructuralDraftSnapshot, EditorBlockVersions } from '../../../core/src/index';
2
+ type BlockItemFields = {
3
3
  id?: string | null;
4
4
  kind: string;
5
5
  content?: Record<string, unknown> | null;
6
6
  orderIndex?: number | null;
7
7
  draftContent?: Record<string, unknown> | null;
8
- publishedContent?: Record<string, unknown> | null;
9
8
  bindings?: Record<string, unknown> | null;
10
9
  purpose?: string | null;
11
10
  optimisticHash?: string | null;
11
+ /**
12
+ * Wire identity fields are rejected, so an API block can't be passed where an
13
+ * editor block is expected without going through `toEditorBlockItem`.
14
+ */
15
+ draftContentId?: never;
16
+ publishedContentId?: never;
17
+ publishedContent?: never;
18
+ };
19
+ /**
20
+ * A block the editor holds. It carries no server versions: those live only in
21
+ * the store, recorded when blocks are ingested, so held lists can't go stale.
22
+ */
23
+ export type BlockItem = BlockItemFields & {
24
+ versions?: never;
25
+ };
26
+ /**
27
+ * A block just read from the server (see `toEditorBlockItem`), carrying its
28
+ * versions until ingestion records them in the store.
29
+ */
30
+ export type ServerBlockItem = BlockItemFields & {
31
+ versions: EditorBlockVersions;
12
32
  };
13
33
  export type DraftBlockSnapshot = EditorStructuralDraftSnapshot;
14
34
  /**
@@ -19,19 +39,26 @@ export type DraftsSlice = {
19
39
  getBlockSnapshot: (blockId: EditorBlockId) => DraftBlockSnapshot | null;
20
40
  getCurrentValues: (blockId: EditorBlockId) => Record<string, unknown> | null;
21
41
  inspect: () => DraftBlockSnapshot[];
22
- initNewBlock: (blockId: EditorBlockId, baseline: EditorBlockBaselineInput, meta: EditorDraftBlockInitMetaInput) => void;
23
42
  updateBlockBaseline: (blockId: EditorBlockId, baseline: EditorBlockBaselineInput, meta?: EditorDraftBlockBaselineUpdateMetaInput) => void;
24
43
  edit: (blockId: EditorBlockId, content: Record<string, unknown> | null) => void;
25
44
  remove: (blockId: EditorBlockId) => void;
26
- clearError: (blockId: EditorBlockId) => void;
27
- setPending: (blockId: EditorBlockId) => void;
28
- clearPending: (blockId: EditorBlockId) => void;
29
- autosaveSucceeded: (blockId: EditorBlockId, content: Record<string, unknown> | null) => void;
30
- autosaveFailed: (blockId: EditorBlockId, message?: string) => void;
31
45
  setAtPath: (blockId: EditorBlockId, path: string, value: unknown) => void;
32
46
  getAtPath: <T = unknown>(blockId: EditorBlockId, path: string) => T | undefined;
33
47
  updateBlockOrder: (blockIds: EditorBlockId[]) => void;
34
48
  };
49
+ /**
50
+ * The editor's flush waiter, as block editing uses it: resolves once the given blocks
51
+ * are saved (`ready`), or can't be (`failed`, `blocked`); rejects on timeout.
52
+ */
53
+ export type FlushBlockValues = (policy: 'save-draft', options: Readonly<{
54
+ keys: readonly Readonly<{
55
+ kind: 'block';
56
+ blockId: EditorBlockId;
57
+ }>[];
58
+ timeoutMs?: number;
59
+ }>) => Promise<Readonly<{
60
+ kind: 'ready' | 'failed' | 'blocked' | 'operation-failed';
61
+ }>>;
35
62
  /**
36
63
  * UI state slice - methods for managing editor UI state (focus, active block, etc.)
37
64
  */
@@ -95,3 +122,4 @@ export type BlockFocusRequest = BlockFocusTarget & {
95
122
  export type BlockEditorHandle = {
96
123
  focusField: (target: BlockFocusTarget) => void;
97
124
  };
125
+ export {};
@@ -4,8 +4,9 @@ export type { BlockEditorOwner } from './block-editor/owner';
4
4
  export type { BlockCreationCopy } from './block-editor/EmptyState';
5
5
  export { createCustomBlockRegistry, mergeBlockDescriptorsWithRegistry, mergeBlockDescriptors, getBlockManifestFromSdkConfig, transformSdkBlockToManifest, transformSdkBlockToDefinition, transformToBlockDescriptor, } from './block-editor/sdkBlockMerger';
6
6
  export type { CustomBlockManifestSource, CustomBlockRegistry, CustomBlockRegistryEntry, ResolvedCustomBlockManifest, SdkCustomBlock, SdkConfigForBlockPicker, } from './block-editor/sdkBlockMerger';
7
- export type { BlockEditorHandle, BlockFocusRequest, BlockFocusTarget, BlockItem, } from './block-editor/types';
7
+ export type { BlockEditorHandle, BlockFocusRequest, BlockFocusTarget, BlockItem, ServerBlockItem, } from './block-editor/types';
8
8
  export { buildBlockDraftBaselineSeed, type BlockDraftBaselineSeed, type BlockFieldExtensions, } from './block-editor/blockDraftBaselineSeed';
9
+ export { toBlockListItem, toEditorBlockItem, serverVersionsEntries, wireVersionsOf, withoutServerVersions, } from './block-editor/editorBlockItem';
9
10
  export { useBlockListContext, useBlockListContextOptional, BlockListProvider, } from './block-editor/BlockListContext';
10
11
  export type { BlockListContextValue } from './block-editor/BlockListContext';
11
12
  export { BlockThumbnail } from './block-editor/BlockThumbnail';
@@ -3,7 +3,7 @@ import type { ApiClient } from '../../../../api/src/request';
3
3
  import type { SiteId } from '../../../../core/src/index';
4
4
  import type { EntryPickerItem, EntryPickerValueFrom } from './types';
5
5
  export type EntryPickerLoaderArgs = Readonly<{
6
- apiClient: ApiClient;
6
+ apiClient: ApiClient<'listContentEntries'>;
7
7
  siteId: SiteId;
8
8
  contentType: string;
9
9
  valueFrom?: EntryPickerValueFrom;
@@ -2,7 +2,7 @@ import type { RoutableContentItem } from '../../../../api/src/navigation';
2
2
  import type { ApiClient } from '../../../../api/src/request';
3
3
  import type { SiteId } from '../../../../core/src/index';
4
4
  export type RoutableContentLoaderArgs = Readonly<{
5
- apiClient: ApiClient;
5
+ apiClient: ApiClient<'getRoutableContent'>;
6
6
  siteId: SiteId;
7
7
  }>;
8
8
  export declare function loadRoutableContentItems({ apiClient, siteId, }: RoutableContentLoaderArgs): Promise<RoutableContentItem[]>;
@@ -2,6 +2,6 @@ import type { MailingListAuthoringContext } from '../../../../api/src/index';
2
2
  import type { ApiClient } from '../../../../api/src/request';
3
3
  import type { SiteId } from '../../../../core/src/index';
4
4
  export declare function loadMailingListAuthoringContext(input: Readonly<{
5
- apiClient: ApiClient;
5
+ apiClient: ApiClient<'getMailingListAuthoringContext'>;
6
6
  siteId: SiteId;
7
7
  }>): Promise<MailingListAuthoringContext>;
@@ -19,7 +19,7 @@ import type { BuiltInReferenceKind, ReferenceContentTypeKey } from '../../../../
19
19
  import { type SiteId } from '../../../../core/src/index';
20
20
  import type { ReferenceWidgetItem } from './types';
21
21
  export interface ReferenceLoaderArgs {
22
- apiClient: ApiClient;
22
+ apiClient: ApiClient<'listContentEntries' | 'listForms' | 'listBookingForms' | 'getAppointmentServicesReference' | 'getAppointmentResourcesReference' | 'getRoutableContent' | 'listNewsletterLists' | 'listMailchimpAudiences'>;
23
23
  siteId: SiteId;
24
24
  }
25
25
  export interface DynamicContentReferenceLoaderArgs extends ReferenceLoaderArgs {
@@ -80,10 +80,11 @@ export declare function mapAppointmentServiceCategoriesToSiteOptionItems(payload
80
80
  * calendar pickers keep their existing behaviour.
81
81
  */
82
82
  export declare const siteOptionSingleSelection: Partial<Readonly<Record<SiteOptionSource, SiteOptionSingleSelectionConfig>>>;
83
+ type SiteOptionApiClient = ApiClient<'listEvents' | 'listEventCategories' | 'listVenues' | 'listAppointmentResources' | 'listAppointmentServiceCategories'>;
83
84
  export declare function loadSiteOptionItemsFromApi({ apiClient, siteId, source }: SiteOptionLoadItemsArgs & Readonly<{
84
- apiClient: ApiClient;
85
+ apiClient: SiteOptionApiClient;
85
86
  }>): Promise<SiteOptionWidgetItem[]>;
86
- export declare function createSiteOptionApiLoader(apiClient: ApiClient): SiteOptionLoadItems;
87
+ export declare function createSiteOptionApiLoader(apiClient: SiteOptionApiClient): SiteOptionLoadItems;
87
88
  export declare function createSiteOptionWidgetAdapters({ loadItems, mapLoadError, renderManageLink, }: Readonly<{
88
89
  loadItems: SiteOptionLoadItems;
89
90
  mapLoadError?: SiteOptionLoadErrorMapper;
@@ -4,8 +4,12 @@ export declare const FILE_STORAGE_BUCKETS: {
4
4
  readonly publicSite: StorageBucketName;
5
5
  readonly privateSite: StorageBucketName;
6
6
  readonly temporary: StorageBucketName;
7
+ readonly siteAssets: StorageBucketName;
8
+ readonly siteFonts: StorageBucketName;
9
+ readonly bookingRequirementDocuments: StorageBucketName;
7
10
  };
8
11
  export declare const PUBLIC_SITE_FILE_STORAGE_BUCKETS: readonly [StorageBucketName, StorageBucketName, StorageBucketName];
12
+ export declare const SITE_STORAGE_BUCKETS: readonly [StorageBucketName, StorageBucketName, StorageBucketName, StorageBucketName, StorageBucketName, StorageBucketName];
9
13
  export declare const FILE_UPLOAD_STAGING_PREFIX = "temp-file-uploads";
10
14
  export declare const DURABLE_FILE_STORAGE_PREFIX = "sites";
11
15
  export declare const DURABLE_FILE_FOLDER = "files";
@@ -6,6 +6,8 @@ export type MediaPickerDialogProps = {
6
6
  onOpenChange: (open: boolean) => void;
7
7
  assets: MediaAssetWithLabels[];
8
8
  loading: boolean;
9
+ error?: Error | null;
10
+ retryLoad?: () => void;
9
11
  hasMore: boolean;
10
12
  selectAsset: (asset: MediaAssetWithLabels) => void;
11
13
  loadMore: () => void;
@@ -33,4 +35,4 @@ export type MediaPickerAssetSelection = Readonly<{
33
35
  tag: 'disabled';
34
36
  reason: string;
35
37
  }>;
36
- export declare const MediaPickerDialog: ({ allowedKinds, open, onOpenChange, assets, loading, hasMore, selectAsset, loadMore, enqueueUploads, uploads, closeOnSelect, disableSelection, statusMessage, statusTone, title, dialogMaxWidth, uploadButtonLabel, uploadAccept, showCameraInput, policy, }: MediaPickerDialogProps) => import("react").JSX.Element;
38
+ export declare const MediaPickerDialog: ({ allowedKinds, open, onOpenChange, assets, loading, error, retryLoad, hasMore, selectAsset, loadMore, enqueueUploads, uploads, closeOnSelect, disableSelection, statusMessage, statusTone, title, dialogMaxWidth, uploadButtonLabel, uploadAccept, showCameraInput, policy, }: MediaPickerDialogProps) => import("react").JSX.Element;