@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,18 @@
1
+ import { type EditorBlockValues, type EditorContentValues, type EditorMetadataValues, type EditorValueRecord, type ValueSync } from '../../../core/src/index';
2
+ /**
3
+ * One editor value: its sync state (baseline, local intent and request) plus the
4
+ * published baseline. `version` counts changes for history, subscriptions and publish
5
+ * reconciliation; it is never a save acknowledgement.
6
+ */
7
+ export type EditorValueSnapshot<TValue extends EditorValueRecord | null> = Readonly<{
8
+ version: number;
9
+ sync: ValueSync<TValue>;
10
+ publishedBaseline: TValue;
11
+ }>;
12
+ export type EditorBrandedValues = EditorMetadataValues | EditorContentValues | EditorBlockValues;
13
+ export type NullableEditorValues<TValue extends EditorBrandedValues> = TValue | null;
14
+ export declare function createValueSnapshot<TValue extends EditorBrandedValues>(): EditorValueSnapshot<NullableEditorValues<TValue>>;
15
+ type ValueSnapshotUpdates<TValue extends EditorValueRecord | null> = Partial<Pick<EditorValueSnapshot<TValue>, 'sync' | 'publishedBaseline'>>;
16
+ /** Applies updates, bumping `version` only when something changed. */
17
+ export declare function updateValueSnapshot<TValue extends EditorValueRecord | null>(snapshot: EditorValueSnapshot<TValue>, updates: ValueSnapshotUpdates<TValue>): EditorValueSnapshot<TValue>;
18
+ export {};
@@ -0,0 +1,26 @@
1
+ import type { EditorBlockId, EditorBlockVersions } from '../../../core/src/index';
2
+ import { type BlockFieldExtensions } from '../../../editor-blocks/src/block-editor/blockDraftBaselineSeed';
3
+ import type { ServerBlockItem } from '../../../editor-blocks/src/block-editor/types';
4
+ import type { RefreshPolicy } from '../sync/valueSync';
5
+ import type { EditorHistorySnapshot } from './editorSnapshot';
6
+ export type ServerBlockAdmission = Readonly<{
7
+ block: ServerBlockItem;
8
+ action: 'reconcile' | 'replace';
9
+ }>;
10
+ /** Seed preparation and the request-aware refresh reducer are the sole draft admission transition. */
11
+ export declare function prepareServerBlockAdmissions(entries: readonly ServerBlockAdmission[], extensions?: BlockFieldExtensions | null): {
12
+ action: "replace" | "reconcile";
13
+ seed: Readonly<{
14
+ blockId: EditorBlockId;
15
+ baseline: import("../../../core/src/index").EditorBlockBaselineInput;
16
+ initMeta: import("../../../core/src/index").EditorDraftBlockInitMetaInput;
17
+ refreshMeta: import("../../../core/src/index").EditorDraftBlockBaselineUpdateMetaInput;
18
+ }>;
19
+ versions: Readonly<{
20
+ draftContentId: import("../../../core/src/index").ContentVersionId | null;
21
+ publishedPlacement: import("../../../core/src/index").PublishedBlockPlacementRead;
22
+ }>;
23
+ }[];
24
+ export declare function admitBlockDrafts(snapshot: EditorHistorySnapshot, entries: ReturnType<typeof prepareServerBlockAdmissions>, policy?: RefreshPolicy): EditorHistorySnapshot;
25
+ /** History can restore admitted blocks; it cannot invent server identity. */
26
+ export declare function assertAdmittedDrafts(previous: EditorHistorySnapshot, next: EditorHistorySnapshot, requireVersions: (id: EditorBlockId) => EditorBlockVersions): void;
@@ -1,36 +1,25 @@
1
1
  /**
2
- * Autosave slice for managing autosave status and handle registration.
3
- *
4
- * This slice is critical for the publish workflow:
5
- * 1. Autosave hooks register handles via registerAutosave()
6
- * 2. Before publish, saveNow() / flushAllPending() may be called to ensure all changes are saved
7
- * 3. useEntryActions waits for all saves to complete via status subscriptions
2
+ * The autosave handle registry. Each scheduler registers its handle; `flushValues`
3
+ * is the one waiter for "saved before X" (publish, Save draft, slot switches, generated
4
+ * icons) and asks the handles to send through `sendRequests`. Status isn't stored here:
5
+ * it's derived from the values (`selectAutosaveStatus`, issue 1553).
8
6
  */
9
- import type { AutosaveStatus, AutosaveHandle, AutosaveType } from './types';
7
+ import type { FlushPolicy, FlushRequest, FlushResult, SendAcknowledgement } from '../../sync/sendPlanning';
8
+ import type { FlushOptions } from '../../sync/flushValues';
9
+ import type { AutosaveHandle, AutosaveType } from './types';
10
10
  export type AutosaveState = {
11
- metadata: AutosaveStatus;
12
- content: AutosaveStatus;
13
- blocks: AutosaveStatus;
14
- linkedEntries: AutosaveStatus;
15
- setMetadataStatus: (status: Partial<AutosaveStatus>) => void;
16
- setContentStatus: (status: Partial<AutosaveStatus>) => void;
17
- setBlocksStatus: (status: Partial<AutosaveStatus>) => void;
18
- setLinkedEntriesStatus: (status: Partial<AutosaveStatus>) => void;
19
11
  registerAutosave: (type: AutosaveType, handle: AutosaveHandle) => void;
20
12
  unregisterAutosave: (type: AutosaveType) => void;
21
- /**
22
- * Immediately saves the given autosave types by triggering and flushing their handles.
23
- *
24
- * Unlike flushAllPending(), this does not rely on a debounced callback being pending, so it
25
- * works for manual-save mode where background triggers are disabled.
26
- */
27
- saveNow: (types: AutosaveType[]) => Promise<void>;
28
- flushAllPending: () => void;
13
+ registeredSchedulers: () => readonly AutosaveType[];
14
+ /** Sends each request's values in its scheduler's next batch; resolves once the batches finish. */
15
+ sendRequests: (requests: readonly FlushRequest[]) => Promise<readonly SendAcknowledgement[]>;
16
+ /** Resolves once the values in scope are saved, or can't be (`planFlush`). */
17
+ flushValues: (policy: FlushPolicy, options?: FlushOptions) => Promise<FlushResult>;
18
+ cancelPending: (scheduler: AutosaveType) => void;
29
19
  cancelAllPending: () => void;
30
20
  };
31
21
  /**
32
- * Creates the autosave slice for managing autosave status and handles.
33
- *
34
- * @param triggerUpdate - Callback to trigger React re-renders
22
+ * Creates the autosave registry. `flush` is the store-bound `flushValues`; the registry
23
+ * holds no status of its own.
35
24
  */
36
- export declare function createAutosaveSlice(triggerUpdate: () => void): AutosaveState;
25
+ export declare function createAutosaveSlice(flush: (policy: FlushPolicy, options?: FlushOptions) => Promise<FlushResult>): AutosaveState;
@@ -0,0 +1,24 @@
1
+ import { type EditorBlockId, type EditorBlockVersions, type EditorBlockVersionsEntry, type SavedBlockContentVersion } from '../../../../core/src/index';
2
+ /**
3
+ * Server versions per block. Server-owned, so this lives outside undo history:
4
+ * undoing an edit never brings back an id the server has already replaced.
5
+ */
6
+ export type BlockVersionsState = Readonly<{
7
+ revision: number;
8
+ /** Null for blocks not admitted to this editor. */
9
+ get: (blockId: EditorBlockId) => EditorBlockVersions | null;
10
+ require: (blockId: EditorBlockId) => EditorBlockVersions;
11
+ set: (entries: readonly EditorBlockVersionsEntry[]) => void;
12
+ applySaved: (blockId: EditorBlockId, saved: SavedBlockContentVersion) => void;
13
+ }>;
14
+ type BlockVersionsSnapshot = Readonly<{
15
+ byId: ReadonlyMap<EditorBlockId, EditorBlockVersions>;
16
+ revision: number;
17
+ }>;
18
+ export declare function withBlockVersions(snapshot: BlockVersionsSnapshot, entries: readonly EditorBlockVersionsEntry[]): BlockVersionsSnapshot;
19
+ /** Internal record operation lets the editor commit versions and drafts before notifying. */
20
+ export declare function createBlockVersionsSlice(triggerUpdate: () => void): Readonly<{
21
+ state: BlockVersionsState;
22
+ record: (entries: readonly EditorBlockVersionsEntry[]) => boolean;
23
+ }>;
24
+ export {};
@@ -0,0 +1,54 @@
1
+ import type { ApiClient } from '../../../../api/src/request';
2
+ import type { DraftTarget } from '../../../../realtime/src/index';
3
+ import { type EditorEditability } from '../../controller/editorEditability';
4
+ export type LinkedEntryLeaseBinding = Readonly<{
5
+ contentTypeKey: string;
6
+ apiClient: ApiClient;
7
+ takeOver: () => void;
8
+ retry: () => void;
9
+ }>;
10
+ export type LinkedEntryLeaseSession = LinkedEntryLeaseBinding & (Readonly<{
11
+ kind: 'linked';
12
+ editability: EditorEditability;
13
+ discarded: boolean;
14
+ }> | Readonly<{
15
+ kind: 'parent';
16
+ }>);
17
+ type WriteAuthorityState = Pick<LinkedEntryLeaseState, 'linkedEntryLeases'> & Readonly<{
18
+ editability: EditorEditability;
19
+ }>;
20
+ type LeaseOwnerState = Pick<LinkedEntryLeaseState, 'linkedEntryLeases'> & Readonly<{
21
+ editability: EditorEditability;
22
+ leaseDiscardedChanges: boolean;
23
+ }>;
24
+ export declare function readLinkedEntryLease(state: LeaseOwnerState, entryId: string): (Readonly<{
25
+ contentTypeKey: string;
26
+ apiClient: ApiClient;
27
+ takeOver: () => void;
28
+ retry: () => void;
29
+ }> & Readonly<{
30
+ kind: "linked";
31
+ editability: EditorEditability;
32
+ discarded: boolean;
33
+ }>) | {
34
+ editability: EditorEditability;
35
+ discarded: boolean;
36
+ contentTypeKey: string;
37
+ apiClient: ApiClient;
38
+ takeOver: () => void;
39
+ retry: () => void;
40
+ kind: "parent";
41
+ } | undefined;
42
+ export type LinkedEntryLeaseState = {
43
+ linkedEntryLeases: Readonly<Record<string, LinkedEntryLeaseSession | undefined>>;
44
+ registerLinkedEntryLease: (entryId: string, binding: LinkedEntryLeaseBinding, kind: LinkedEntryLeaseSession['kind']) => void;
45
+ setLinkedEntryLease: (entryId: string, session: LinkedEntryLeaseSession | undefined) => void;
46
+ };
47
+ export declare function createLinkedEntryLeaseSlice(set: (update: (state: LinkedEntryLeaseState) => Partial<LinkedEntryLeaseState>) => void): LinkedEntryLeaseState;
48
+ export declare function canWriteLinkedEntry(state: WriteAuthorityState, entryId: string): boolean;
49
+ /**
50
+ * Per-item write authority, shared by autosave and the live-drafts projection: the
51
+ * document's own values follow the document lease; a linked entry follows its own.
52
+ */
53
+ export declare function canWriteDraftTarget(state: WriteAuthorityState, target: DraftTarget): boolean;
54
+ export {};
@@ -0,0 +1,11 @@
1
+ import { type LinkedSaveHandovers } from '../../liveDrafts/linkedSaveHandovers';
2
+ /**
3
+ * This tab's accepted linked-entry saves, handing over to the rendered data (issue 1553, D).
4
+ * Outside history, snapshots and autosave, beside `remoteDrafts`: `settle` records them,
5
+ * and the renderer's retention replaces the map as they drop.
6
+ */
7
+ export type LinkedSaveHandoversState = {
8
+ linkedSaveHandovers: LinkedSaveHandovers;
9
+ setLinkedSaveHandovers: (handovers: LinkedSaveHandovers) => void;
10
+ };
11
+ export declare function createLinkedSaveHandoversSlice(set: (update: (state: LinkedSaveHandoversState) => Partial<LinkedSaveHandoversState>) => void): LinkedSaveHandoversState;
@@ -0,0 +1,10 @@
1
+ import { type RemoteDraftOverlay } from '../../liveDrafts/remoteDraftOverlay';
2
+ /**
3
+ * Read-only overlay of another tab's live drafts (issue 1545). Deliberately outside
4
+ * history, snapshots, autosave and linked-entry save inputs: only the renderer reads it.
5
+ */
6
+ export type RemoteDraftsState = {
7
+ remoteDrafts: RemoteDraftOverlay;
8
+ setRemoteDrafts: (overlay: RemoteDraftOverlay) => void;
9
+ };
10
+ export declare function createRemoteDraftsSlice(set: (update: (state: RemoteDraftsState) => Partial<RemoteDraftsState>) => void): RemoteDraftsState;
@@ -1,17 +1,77 @@
1
- import type { EditorBlockId } from '../../../../core/src/index';
1
+ import type { EditorBlockId, SendId } from '../../../../core/src/index';
2
+ import type { FlushCheckpoint, SendAcknowledgement } from '../../sync/sendPlanning';
3
+ import type { EditorValueKey } from '../editorSnapshot';
2
4
  export type AutosaveStatusValue = 'idle' | 'saving' | 'success' | 'error';
3
5
  export type AutosaveStatus = {
4
6
  status: AutosaveStatusValue;
5
7
  lastSavedAt: string | null;
6
8
  hasFailedSaves: boolean;
7
9
  };
10
+ /**
11
+ * One autosave scheduler's handle. `sendNow` sends the given values in the scheduler's
12
+ * next batch, retrying failures explicitly, alongside anything the background would send.
13
+ */
8
14
  export type AutosaveHandle = {
9
15
  trigger: () => void;
10
- cancel?: () => void;
11
- flush: () => void | Promise<void>;
16
+ cancel: () => void;
17
+ flush: () => Promise<void>;
12
18
  isPending: () => boolean;
19
+ sendNow: (keys: readonly EditorValueKey[], checkpoints?: readonly FlushCheckpoint[], signal?: AbortSignal) => Promise<readonly SendAcknowledgement[]>;
13
20
  };
14
21
  export type AutosaveType = 'metadata' | 'content' | 'blocks' | 'linkedEntries';
22
+ /**
23
+ * Operations that write the document's route or draft on the server; while one's request
24
+ * is out, the document's values are held (issue 1553, B-ownership).
25
+ */
26
+ export type HeldOperation = 'publish' | 'schedule' | 'cancel-schedule' | 'discard-draft' | 'delete';
27
+ /** Operations on the whole document; their status sits beside the values' (issue 1553). */
28
+ export type LifecycleOperation = 'save-draft' | 'restore-replay' | HeldOperation;
29
+ /**
30
+ * Why an operation didn't happen. `server` is a refused request; the others are refusals
31
+ * before any request: values whose saves failed, values that can't be sent (not writable
32
+ * or not saveable), and blocks that fail publish validation.
33
+ */
34
+ export type LifecycleFailure = Readonly<{
35
+ kind: 'server';
36
+ message: string;
37
+ }> | Readonly<{
38
+ kind: 'values-failed';
39
+ ids: readonly SendId[];
40
+ }> | Readonly<{
41
+ kind: 'values-blocked';
42
+ keys: readonly EditorValueKey[];
43
+ }> | Readonly<{
44
+ kind: 'invalid-blocks';
45
+ }>;
46
+ /**
47
+ * A failed status records the failure and how many saves had been accepted when it
48
+ * failed, so whether it still holds is derived (`activeFailure`) rather than cleared.
49
+ * `holding` is a held operation whose request is out (or about to be): the document's
50
+ * values aren't sent until it ends, and edits typed meanwhile wait (`schedulerValues`).
51
+ */
52
+ export type LifecycleStatus = Readonly<{
53
+ kind: 'idle';
54
+ }> | Readonly<{
55
+ kind: 'running';
56
+ operation: LifecycleOperation;
57
+ }> | Readonly<{
58
+ kind: 'holding';
59
+ operation: HeldOperation;
60
+ }> | Readonly<{
61
+ kind: 'failed';
62
+ operation: LifecycleOperation;
63
+ failure: LifecycleFailure;
64
+ acceptedSaves: number;
65
+ }>;
66
+ /** What a lifecycle action tells its caller. Expected refusals are results, not throws. */
67
+ export type LifecycleOutcome = Readonly<{
68
+ kind: 'done';
69
+ }> | Readonly<{
70
+ kind: 'no-changes';
71
+ }> | Readonly<{
72
+ kind: 'failed';
73
+ failure: LifecycleFailure;
74
+ }>;
15
75
  export type FocusSettingsTab = 'display' | 'behavior' | 'style';
16
76
  export type FocusTarget = Readonly<{
17
77
  kind: 'block';
@@ -1,12 +1,12 @@
1
1
  import { type FooterCompositionSnapshot, type PublicProfileSnapshot } from '../../api/src/footer-settings';
2
- import type { ApiClient } from '../../api/src/request';
2
+ import type { FooterComposerPanelProps } from './footerComposerPanelTypes';
3
3
  import { type FooterCompositionV1, type PublicProfile } from '../../core/src/index';
4
4
  import type { FooterEditorTarget } from './footerComposer';
5
5
  import { type FooterNavigationLayoutAccess } from './useFooterNavigationLayout';
6
6
  export type SaveState = 'idle' | 'saving' | 'saved' | 'conflict' | 'failed';
7
7
  export type CompositionSaveOutcome = 'saved' | 'conflict' | 'failed';
8
8
  type FooterComposerStateOptions = Readonly<{
9
- apiClient: ApiClient;
9
+ apiClient: FooterComposerPanelProps['apiClient'];
10
10
  canEdit: boolean;
11
11
  initialTarget?: FooterEditorTarget;
12
12
  initialTargetRequestId?: number;
@@ -11,7 +11,7 @@ export type FooterNavigationLayoutAccess = Readonly<{
11
11
  selectionVersion: number;
12
12
  }>;
13
13
  export declare function useFooterNavigationLayout({ apiClient, siteId, access, onSaved, onSaveStateChange, onMessageChange, }: Readonly<{
14
- apiClient: ApiClient;
14
+ apiClient: ApiClient<'applySiteStyleSelection'>;
15
15
  siteId: string;
16
16
  access: FooterNavigationLayoutAccess;
17
17
  onSaved?: () => void;
@@ -58,18 +58,18 @@ export declare const EVENT_CONTENT_TYPE_SCHEMA: {
58
58
  readonly id: "summary";
59
59
  readonly type: "textarea";
60
60
  readonly label: "Short introduction";
61
- readonly description: "Write one or two sentences that help people quickly understand what this is. It appears wherever the event is listed and near the top of its page.";
61
+ readonly description: "Shown in your listings and search results, and at the top of its page.";
62
62
  readonly rows: 3;
63
63
  }, {
64
64
  readonly id: "image";
65
65
  readonly type: "media";
66
66
  readonly label: "Event image";
67
- readonly description: "Choose the main image people will see wherever the event is listed and on its page.";
67
+ readonly description: "At the top of its page and beside it in your listings.";
68
68
  }, {
69
69
  readonly id: "body";
70
70
  readonly type: "richText";
71
- readonly label: "About this event";
72
- readonly description: "Add the main information people need before booking—what to expect, who it’s for, what’s included, and anything they should bring or know.";
71
+ readonly label: "Full description";
72
+ readonly description: "The main text on its page, under the introduction.";
73
73
  }];
74
74
  readonly routing: {
75
75
  readonly enabled: true;
@@ -161,18 +161,18 @@ export declare const BUILTIN_CONTENT_TYPE_SCHEMAS: {
161
161
  readonly id: "summary";
162
162
  readonly type: "textarea";
163
163
  readonly label: "Short introduction";
164
- readonly description: "Write one or two sentences that help people quickly understand what this is. It appears wherever the event is listed and near the top of its page.";
164
+ readonly description: "Shown in your listings and search results, and at the top of its page.";
165
165
  readonly rows: 3;
166
166
  }, {
167
167
  readonly id: "image";
168
168
  readonly type: "media";
169
169
  readonly label: "Event image";
170
- readonly description: "Choose the main image people will see wherever the event is listed and on its page.";
170
+ readonly description: "At the top of its page and beside it in your listings.";
171
171
  }, {
172
172
  readonly id: "body";
173
173
  readonly type: "richText";
174
- readonly label: "About this event";
175
- readonly description: "Add the main information people need before booking—what to expect, who it’s for, what’s included, and anything they should bring or know.";
174
+ readonly label: "Full description";
175
+ readonly description: "The main text on its page, under the introduction.";
176
176
  }];
177
177
  readonly routing: {
178
178
  readonly enabled: true;
@@ -69,8 +69,6 @@ type EnsureRecord<T extends Record<string, unknown>> = T;
69
69
  export type RoutableMetadataValues = EnsureRecord<{
70
70
  draftTitle: string;
71
71
  draftSlug: string;
72
- draftStatus: string;
73
- scheduledPublishAt: string | null;
74
72
  draftMetaTitle: string | null;
75
73
  draftMetaDescription: string | null;
76
74
  ogImageId: string | null;
@@ -87,6 +85,17 @@ export declare function createMetadataStateFromSnapshot(snapshot: ContentEntrySn
87
85
  values: RoutableMetadataValues | Record<string, never>;
88
86
  baseline: RoutableMetadataValues | Record<string, never>;
89
87
  };
88
+ /**
89
+ * The route's lifecycle fields as the editor reads them: from the entry snapshot, never
90
+ * from metadata values (issue 1553, FO2). Lifecycle operations (publish, schedule,
91
+ * cancel, discard) own them; forms get them read-only, e.g. slug auto-generation's
92
+ * `statusFieldId`. Non-routable content has none.
93
+ */
94
+ export type RouteLifecycleContext = Readonly<{
95
+ draftStatus: string;
96
+ scheduledPublishAt: string | null;
97
+ }>;
98
+ export declare function routeLifecycleContext(snapshot: ContentEntrySnapshot): RouteLifecycleContext | null;
90
99
  /**
91
100
  * Extract published metadata values from a snapshot.
92
101
  * Used to set the publishedBaseline for unpublished changes detection.
@@ -1,2 +1,3 @@
1
1
  export * from './types';
2
+ export * from './serializeAllowedBlocks';
2
3
  export * from './sdkBlocks';
@@ -0,0 +1,2 @@
1
+ import type { EntrySlotAllowedBlocks, EntrySlotDefinition } from './types';
2
+ export declare function serializeEntrySlotAllowedBlocks(definition: EntrySlotDefinition): EntrySlotAllowedBlocks;
@@ -33,7 +33,7 @@ export type RouteMetadataPresentation = Readonly<{
33
33
  manifest: RouteMetadataManifest;
34
34
  typeKey: string | null;
35
35
  }>;
36
- export type RouteMetadataFieldId = "draftTitle" | "draftSlug" | "draftStatus" | "scheduledPublishAt" | "draftMetaTitle" | "draftMetaDescription" | "ogImageId";
36
+ export type RouteMetadataFieldId = "draftTitle" | "draftSlug" | "draftMetaTitle" | "draftMetaDescription" | "ogImageId";
37
37
  type RouteMetadataTextField = {
38
38
  id: "draftTitle" | "draftMetaTitle" | "draftMetaDescription" | "ogImageId";
39
39
  type: "text";
@@ -54,39 +54,17 @@ type RouteMetadataSlugField = {
54
54
  description: string;
55
55
  required: true;
56
56
  sourceFieldId?: "draftTitle";
57
+ /**
58
+ * Auto-generation runs only while this reads "draft". It isn't a metadata value: the
59
+ * form backend supplies it read-only from the entry snapshot (`routeLifecycleContext`).
60
+ */
57
61
  statusFieldId: "draftStatus";
58
62
  maxLength: number;
59
63
  ui: {
60
64
  showSlugPreview: true;
61
65
  };
62
66
  };
63
- type RouteMetadataSelectField = {
64
- id: "draftStatus";
65
- type: "select";
66
- label: string;
67
- description: string;
68
- required: true;
69
- defaultValue: string;
70
- options: Array<{
71
- value: string;
72
- label: string;
73
- }>;
74
- multiple: false;
75
- };
76
- type RouteMetadataDatetimeField = {
77
- id: "scheduledPublishAt";
78
- type: "datetime";
79
- label: string;
80
- description: string;
81
- required: false;
82
- ui: {
83
- visibleWhen: {
84
- field: "draftStatus";
85
- equals: "scheduled";
86
- };
87
- };
88
- };
89
- export type RouteMetadataField = RouteMetadataTextField | RouteMetadataSlugField | RouteMetadataSelectField | RouteMetadataDatetimeField;
67
+ export type RouteMetadataField = RouteMetadataTextField | RouteMetadataSlugField;
90
68
  export type RouteMetadataManifest = {
91
69
  name: string;
92
70
  version: string;
@@ -97,22 +75,16 @@ export type RouteMetadataManifest = {
97
75
  slots: [];
98
76
  };
99
77
  export declare const ROUTE_METADATA_MANIFEST: RouteMetadataManifest;
100
- export declare const METADATA_WORKFLOW_FIELDS: {
101
- readonly title: "draftTitle";
102
- readonly slug: "draftSlug";
103
- readonly status: "draftStatus";
104
- readonly publishAt: "scheduledPublishAt";
105
- };
106
78
  export declare function pageRouteSlugFromEditorValue(value: string | null | undefined): PageRouteSlug;
107
79
  export declare function pageRouteSlugToEditorValue(slug: PageRouteSlug): string;
108
80
  export declare function pageRouteSlugToStoredValue(slug: PageRouteSlug): string | null;
109
81
  export declare function isHomepagePageRouteSlug(slug: PageRouteSlug): boolean;
110
82
  export declare function resolvePageRouteSlug(entry: ContentEntrySnapshot, currentSlug?: string | null): PageRouteSlug | null;
111
83
  export declare const ROUTE_METADATA_MANAGED_FIELDS_BY_TYPE: {
112
- readonly event: readonly ["draftTitle", "draftSlug", "draftStatus", "scheduledPublishAt"];
113
- readonly product: readonly ["draftTitle", "draftSlug", "draftStatus", "scheduledPublishAt"];
114
- readonly "product-category": readonly ["draftTitle", "draftSlug", "draftStatus", "scheduledPublishAt"];
115
- readonly "team-member": readonly ["draftTitle", "draftSlug", "draftStatus", "scheduledPublishAt"];
84
+ readonly event: readonly ["draftTitle", "draftSlug"];
85
+ readonly product: readonly ["draftTitle", "draftSlug"];
86
+ readonly "product-category": readonly ["draftTitle", "draftSlug"];
87
+ readonly "team-member": readonly ["draftTitle", "draftSlug"];
116
88
  };
117
89
  export declare function getManagedRouteMetadataFieldIdsForType(typeKey: string | null | undefined): ReadonlyArray<RouteMetadataFieldId>;
118
90
  export declare function isRouteMetadataFieldEditableForType(typeKey: string | null | undefined, fieldId: string): boolean;
@@ -154,7 +154,6 @@ export declare const DEFAULT_TEMPLATE_DEFINITIONS: {
154
154
  readonly maxTickets: "5";
155
155
  readonly showVenue: true;
156
156
  readonly showCapacity: true;
157
- readonly successMessage: "Thank you for registering! Check your email for confirmation details.";
158
157
  readonly buttonText: "Complete Registration";
159
158
  readonly buttonVariant: "primary";
160
159
  };
@@ -74,7 +74,6 @@ export type ContentEntryDefinition<TEntry extends ContentEntrySnapshot, TValues
74
74
  routing: RoutingHelpers;
75
75
  hasRoute: boolean;
76
76
  services: {
77
- saveMetadata: (payload: TMetadataPayload) => Promise<TMetadataResponse>;
78
77
  publish: (payload: TPublishPayload | undefined) => Promise<TEntry>;
79
78
  discardDraft: () => Promise<TEntry>;
80
79
  deleteEntry: () => Promise<void>;
@@ -1,5 +1,53 @@
1
- /** A block version ID is meaningful only with its draft or published stage. */
1
+ import { type ContentVersionId } from './branded';
2
+ /** A block version ID is meaningful only with its draft or published stage (wire shape). */
2
3
  export type BlockContentIdentity = Readonly<{
3
4
  draftContentId: string | null;
4
5
  publishedContentId: string | null;
5
6
  }>;
7
+ /** A published version paired with the content it authorises. */
8
+ export type PublishedBlockPlacement = Readonly<{
9
+ kind: 'published';
10
+ id: ContentVersionId;
11
+ content: Record<string, unknown>;
12
+ }>;
13
+ /**
14
+ * A published pointer the server sent without its content, or with an id that
15
+ * isn't a content version id. It can't be cited as published.
16
+ */
17
+ export type IncompleteBlockPlacement = Readonly<{
18
+ kind: 'incomplete';
19
+ id: string | null;
20
+ content: Record<string, unknown> | null;
21
+ }>;
22
+ /** What a read of a block's published version finds; `null` when it was never published. */
23
+ export type PublishedBlockPlacementRead = PublishedBlockPlacement | IncompleteBlockPlacement | null;
24
+ /** The one pairing of a published id with its content. */
25
+ export declare function readPublishedBlockPlacement(id: string | null | undefined, content: Record<string, unknown> | null | undefined): PublishedBlockPlacementRead;
26
+ /**
27
+ * The server's versions of one editor block. This is server-owned state: the
28
+ * editor keeps it outside undo history, so undo never restores a replaced id.
29
+ */
30
+ export type EditorBlockVersions = Readonly<{
31
+ draftContentId: ContentVersionId | null;
32
+ publishedPlacement: PublishedBlockPlacementRead;
33
+ }>;
34
+ export declare const NO_BLOCK_VERSIONS: EditorBlockVersions;
35
+ /** The one conversion from wire identity to editor identity. */
36
+ export declare function readEditorBlockVersions(wire: Partial<BlockContentIdentity> & Readonly<{
37
+ publishedContent?: Record<string, unknown> | null;
38
+ }>): EditorBlockVersions;
39
+ /** Editor identity from a render block, whose published placement is already paired. */
40
+ export declare function readEditorBlockVersionsFromPlacement(draftContentId: string | null | undefined, publishedPlacement: PublishedBlockPlacementRead): EditorBlockVersions;
41
+ /** The published version a block can cite, if it has a complete one. */
42
+ export declare function publishedVersionOf(versions: EditorBlockVersions | undefined): PublishedBlockPlacement | null;
43
+ /** The content version a block renders: its draft if it has one, else its published version. */
44
+ export declare function selectedContentVersionId(versions: EditorBlockVersions): ContentVersionId | null;
45
+ /** Published content the editor treats as its dirty-state baseline. */
46
+ export declare function publishedContentOf(versions: EditorBlockVersions | undefined): Record<string, unknown> | null;
47
+ export type SavedBlockContentVersion = Readonly<{
48
+ contentId: string;
49
+ stage: 'draft' | 'published';
50
+ data: unknown;
51
+ }>;
52
+ /** A block's versions after the server acknowledges one content save. */
53
+ export declare function applySavedBlockContentVersion(versions: EditorBlockVersions, saved: SavedBlockContentVersion): EditorBlockVersions;
@@ -11,7 +11,7 @@ export type BookingFlexibleBalanceConfig = Readonly<{
11
11
  dueDateRule: BookingFlexibleBalanceDueDateRule;
12
12
  depositRefundability: BookingDepositRefundPolicy;
13
13
  }>;
14
- export type BookingFlexibleBalanceContractStatus = 'active' | 'payment_pending' | 'overdue' | 'completed' | 'waived' | 'cancelled_due_to_non_payment' | 'refunded';
14
+ export type BookingFlexibleBalanceContractStatus = 'active' | 'payment_pending' | 'overdue' | 'completed' | 'waived' | 'cancelled_due_to_non_payment' | 'refunded' | 'closed_order_failed';
15
15
  export type BookingFlexibleBalanceReminderKind = 'due_7_days' | 'due_1_day' | 'overdue_1_day';
16
16
  export declare const DEFAULT_FLEXIBLE_BALANCE_STRIPE_MINIMUM_CHARGE_CENTS = 50;
17
17
  export type BookingFlexibleBalanceReminderState = Readonly<{
@@ -30,7 +30,7 @@ export type FlexibleBalancePaymentEligibility = Readonly<{
30
30
  reason: 'overdue' | 'dust_balance';
31
31
  }> | Readonly<{
32
32
  kind: 'unavailable';
33
- reason: 'already_settled' | 'payment_pending' | 'cancelled_due_to_non_payment' | 'refunded' | 'waived';
33
+ reason: 'already_settled' | 'payment_pending' | 'cancelled_due_to_non_payment' | 'refunded' | 'waived' | 'order_failed';
34
34
  }>;
35
35
  export declare function resolveFlexibleBalanceInitialPaymentCents(input: Readonly<{
36
36
  totalAmountCents: number;
@@ -0,0 +1,20 @@
1
+ import { type Result } from './result';
2
+ import { type BookingInstalmentPlanConfig } from './booking-instalments';
3
+ import type { BookingPaymentCollectionOption } from './booking-payment-options';
4
+ /** A plan that starts with a deposit whose deposit is below the card minimum. */
5
+ export type InstalmentDepositBelowMinimum = Readonly<{
6
+ kind: 'instalment_deposit_below_minimum';
7
+ minimumCents: number;
8
+ }>;
9
+ /**
10
+ * A plan that starts with a deposit takes it by card when the customer books
11
+ * and saves the card for the later payments, so the deposit must be at least
12
+ * the card minimum for the site's currency. Plans without a deposit step
13
+ * (equal instalments) charge their first instalment instead and are not
14
+ * checked here.
15
+ */
16
+ export declare function checkInstalmentPlanDeposit(plan: BookingInstalmentPlanConfig, minimumCents: number): Result<void, InstalmentDepositBelowMinimum>;
17
+ /** The deposit check for whichever instalment option a set of payment options offers. */
18
+ export declare function checkPaymentOptionsInstalmentDeposit(allowedOptions: readonly BookingPaymentCollectionOption[], minimumCents: number): Result<void, InstalmentDepositBelowMinimum>;
19
+ /** The one message for a deposit below the minimum, shown in the editor and returned by the server. */
20
+ export declare function describeInstalmentDepositBelowMinimum(failure: InstalmentDepositBelowMinimum, currency: string): string;