@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.
- package/CHANGELOG.md +16 -0
- package/README.md +1 -1
- package/dist/{PreviewEditorSidebar-DtpB3_sS.mjs → PreviewEditorSidebar-DBKln68M.mjs} +301 -205
- package/dist/{PreviewEditorUI-DxTLgaHo.mjs → PreviewEditorUI-DpRX4Mum.mjs} +68 -63
- package/dist/{PreviewQueryProvider-Dd4dxOiU.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
- package/dist/{SdkPreviewModeRuntime-DMMNCngt.mjs → SdkPreviewModeRuntime-DJPmPY-r.mjs} +1247 -541
- package/dist/{SiteChromeCustomizeContext-DQXZXiqS.mjs → SiteChromeCustomizeContext-JYA0cJ_Z.mjs} +209720 -204978
- package/dist/_dts/ai/src/contracts/proposals.d.ts +0 -33
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +0 -3
- package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
- package/dist/_dts/api/src/accountApi.d.ts +1 -1
- package/dist/_dts/api/src/admin.d.ts +22 -22
- package/dist/_dts/api/src/aiPatch.d.ts +2 -2
- package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
- package/dist/_dts/api/src/analytics.d.ts +2 -2
- package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
- package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
- package/dist/_dts/api/src/auth.d.ts +10 -10
- package/dist/_dts/api/src/availability.d.ts +6 -6
- package/dist/_dts/api/src/billing.d.ts +42 -15
- package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
- package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
- package/dist/_dts/api/src/blocks.d.ts +15 -14
- package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +33 -50
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
- package/dist/_dts/api/src/bookingOperations.d.ts +9 -11
- package/dist/_dts/api/src/bookingRecords.d.ts +16 -11
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
- package/dist/_dts/api/src/bookings.d.ts +7 -7
- package/dist/_dts/api/src/calendar.d.ts +9 -9
- package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -8
- package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
- package/dist/_dts/api/src/common/envelope.d.ts +2 -2
- package/dist/_dts/api/src/content-editor.d.ts +2 -2
- package/dist/_dts/api/src/contentEntries.d.ts +17 -48
- package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
- package/dist/_dts/api/src/contentTypes.d.ts +11 -11
- package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +1 -1
- package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
- package/dist/_dts/api/src/domains.d.ts +16 -16
- package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
- package/dist/_dts/api/src/emailSettings.d.ts +4 -4
- package/dist/_dts/api/src/endpoints.d.ts +135 -51
- package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
- package/dist/_dts/api/src/eventManagementContracts.d.ts +29 -7
- package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +0 -8
- package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
- package/dist/_dts/api/src/footerSettings.d.ts +6 -6
- package/dist/_dts/api/src/index.d.ts +8 -7
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
- package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
- package/dist/_dts/api/src/navigation.d.ts +5 -5
- package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
- package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
- package/dist/_dts/api/src/pages.d.ts +7 -7
- package/dist/_dts/api/src/performance.d.ts +1 -1
- package/dist/_dts/api/src/public/index.d.ts +1 -1
- package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +4 -2
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +6 -29
- package/dist/_dts/api/src/redirects.d.ts +3 -3
- package/dist/_dts/api/src/request.d.ts +11 -2
- package/dist/_dts/api/src/resources.d.ts +4 -4
- package/dist/_dts/api/src/routes.d.ts +8 -3
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -2
- package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
- package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
- package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
- package/dist/_dts/api/src/sdkPullEventContracts.d.ts +9 -2
- package/dist/_dts/api/src/seo.d.ts +4 -4
- package/dist/_dts/api/src/services.d.ts +4 -4
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -8
- package/dist/_dts/api/src/siteMembers.d.ts +10 -10
- package/dist/_dts/api/src/siteOnboarding.d.ts +14 -0
- package/dist/_dts/api/src/siteOperations.d.ts +6 -2
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
- package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
- package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
- package/dist/_dts/billing/src/components/index.d.ts +25 -40
- package/dist/_dts/billing/src/membership/index.d.ts +1 -3
- package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
- package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
- package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
- package/dist/_dts/billing/src/plans/types.d.ts +5 -15
- package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
- package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
- package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
- package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
- package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
- package/dist/_dts/blocks/src/client/events.d.ts +3 -0
- package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +54 -14
- package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +4 -13
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
- package/dist/_dts/blocks/src/portal/types.d.ts +9 -8
- package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +28 -28
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +7 -2
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -2
- package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +72 -12
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +36 -6
- package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +17 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -29
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +54 -6
- package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
- package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
- package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
- package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
- package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +2 -2
- package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +1 -3
- package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
- package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
- package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
- package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
- package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +3 -1
- package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
- package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
- package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
- package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
- package/dist/_dts/commerce/src/purchase/types.d.ts +2 -1
- package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
- package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
- package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
- package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
- package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
- package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
- package/dist/_dts/content-editor/src/controller/editLeaseHandover.d.ts +30 -0
- package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
- package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
- package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
- package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
- package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
- package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
- package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
- package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
- package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
- package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
- package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
- package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
- package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
- package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
- package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
- package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
- package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
- package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
- package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
- package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
- package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
- package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
- package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
- package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
- package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
- package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
- package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
- package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
- package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
- package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
- package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
- package/dist/_dts/content-editor/src/index.d.ts +26 -7
- package/dist/_dts/content-editor/src/lib/browserStorage.d.ts +5 -0
- package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
- package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
- package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
- package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
- package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
- package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
- package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
- package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
- package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
- package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
- package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
- package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
- package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
- package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
- package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
- package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
- package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
- package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
- package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
- package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
- package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
- package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
- package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
- package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
- package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
- package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
- package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
- package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
- package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
- package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
- package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
- package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
- package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
- package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
- package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
- package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
- package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
- package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
- package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
- package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
- package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
- package/dist/_dts/content-model/src/types.d.ts +0 -1
- package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
- package/dist/_dts/core/src/booking-flexible-balance.d.ts +2 -2
- package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
- package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
- package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
- package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
- package/dist/_dts/core/src/branded.d.ts +15 -0
- package/dist/_dts/core/src/currency-format.d.ts +8 -2
- package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
- package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
- package/dist/_dts/core/src/edit-lease.d.ts +60 -0
- package/dist/_dts/core/src/editor-state.d.ts +38 -13
- package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
- package/dist/_dts/core/src/html-entities.d.ts +6 -0
- package/dist/_dts/core/src/index.d.ts +7 -0
- package/dist/_dts/core/src/uuid.d.ts +7 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +456 -189
- package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
- package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
- package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
- package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
- package/dist/_dts/editor/src/index.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
- package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
- package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
- package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
- package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
- package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
- package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
- package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -0
- package/dist/_dts/media-editor/src/context.d.ts +1 -1
- package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
- package/dist/_dts/media-editor/src/index.d.ts +2 -0
- package/dist/_dts/media-editor/src/provider.d.ts +3 -2
- package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
- package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
- package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +6 -3
- package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
- package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
- package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
- package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +23 -14
- package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
- package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
- package/dist/_dts/preview-next/src/client/previewAuthStore.d.ts +7 -0
- package/dist/_dts/preview-next/src/constants.d.ts +4 -0
- package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -0
- package/dist/_dts/realtime/src/client.d.ts +3 -0
- package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
- package/dist/_dts/realtime/src/drafts.d.ts +210 -0
- package/dist/_dts/realtime/src/index.d.ts +3 -0
- package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
- package/dist/_dts/realtime/src/types.d.ts +113 -0
- package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
- package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
- package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
- package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/surfaces/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
- package/dist/_dts/ui/src/color-picker.d.ts +1 -1
- package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
- package/dist/client/{BookingMailingListNote-1n4Ch_u_.mjs → BookingMailingListNote-Cr3EeTP5.mjs} +504 -163
- package/dist/client/DemoBookingPortalAccess-BFGB1Fay.mjs +344 -0
- package/dist/client/{EventCombined.client-C0pgma9y.mjs → EventCombined.client-DKYV0_ft.mjs} +6 -6
- package/dist/client/{EventListing.client-4fhLOvHP.mjs → EventListing.client-B9UIcEYc.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DScC4F3w.mjs → LeafletStaticMap-CFLPkP0K.mjs} +1 -1
- package/dist/client/{TerminalPanel-B5ZUsYhe.mjs → TerminalPanel-JjmgxEsR.mjs} +1 -1
- package/dist/client/{ThemedButton-DoVIV1Ao.mjs → ThemedButton-CKV1Jh2m.mjs} +1 -1
- package/dist/client/{accordion-CoT5g7zo.mjs → accordion-DXWIfT3T.mjs} +1 -1
- package/dist/client/{bookingForm-BWxB46xD.mjs → bookingForm-CjZgHNvv.mjs} +216 -63
- package/dist/client/bookings.mjs +1187 -692
- package/dist/client/{carousel-DtNYWFd3.mjs → carousel-DSLikmvZ.mjs} +1 -1
- package/dist/client/{cart-z4qZih1Y.mjs → cart-HDjWReFt.mjs} +3 -3
- package/dist/client/{checkout-DpL7euFH.mjs → checkout-CUvRZA3W.mjs} +3 -3
- package/dist/client/{checkoutUrls-BEfR7kVu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
- package/dist/client/client.mjs +2711 -1684
- package/dist/client/{context-C8TinPJc.mjs → context-DFmaZa-Q.mjs} +4 -3
- package/dist/client/{dates-vwwxTeB0.mjs → dates-BBep1JnF.mjs} +56 -11
- package/dist/client/{eventCalendar-DIbHfJXO.mjs → eventCalendar-zEobhxo4.mjs} +9 -9
- package/dist/client/{eventCombined-DoGMJ6cg.mjs → eventCombined-Dp7bz5k-.mjs} +4 -4
- package/dist/client/{eventDetails-BjN9v6a1.mjs → eventDetails-FE-zqTt7.mjs} +4 -4
- package/dist/client/{eventListing-DajjWgOv.mjs → eventListing-BMt5snal.mjs} +4 -4
- package/dist/client/{eventRegistration-DMq9gMA-.mjs → eventRegistration-O6ZxHfOb.mjs} +422 -570
- package/dist/client/{form-Qf6qTbos.mjs → form-DFa1D8vt.mjs} +3 -3
- package/dist/client/{headerSection-D7qJrqFX.mjs → headerSection-CmjHLR-N.mjs} +3 -3
- package/dist/client/hooks.mjs +414 -182
- package/dist/client/{locationMap-CCF9-t_0.mjs → locationMap-BXKP_lGh.mjs} +3 -3
- package/dist/client/{media-CwBGetqC.mjs → media-Cl38iOMI.mjs} +10 -3
- package/dist/client/{newsletterForm-DzCLSP4S.mjs → newsletterForm-CU-HmxGx.mjs} +3 -3
- package/dist/client/{pricing-Cgxv2KLC.mjs → pricing-KEAEsibq.mjs} +1 -1
- package/dist/client/{productDetail-ru9w5GHx.mjs → productDetail-Ckp7MGnt.mjs} +3 -3
- package/dist/client/{productList-zaapKSl-.mjs → productList-D91V0sYa.mjs} +3 -3
- package/dist/client/{propsDecoder-CwvvNOHx.mjs → propsDecoder-DZd6RJeA.mjs} +244 -94
- package/dist/client/rendering/client.mjs +2656 -1705
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +3430 -2352
- package/dist/client/{routeIslandApiConfig-BwVFo0Y4.mjs → routeIslandApiConfig-E1EkhhYY.mjs} +1 -1
- package/dist/client/{shop-mktkXvbV.mjs → shop-4F2jLQPI.mjs} +131 -85
- package/dist/client/{shop-commerce-De7gEnkA.mjs → shop-commerce-BbfCJjB3.mjs} +25 -13
- package/dist/client/{shop-commerce-store-B3MCxIBW.mjs → shop-commerce-store-vicweP2K.mjs} +1 -1
- package/dist/client/{shopShared-TqExh235.mjs → shopShared-DlONJt0T.mjs} +4 -4
- package/dist/client/{useEventFilters-n_OjkIjX.mjs → useEventFilters-COYyL3m7.mjs} +32 -17
- package/dist/preview-next/before-render.mjs +207 -105
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/constants.mjs +5 -1
- package/dist/preview-next/index.mjs +5 -1
- package/dist/preview-next/keepAlive.mjs +341 -165
- package/dist/preview-next/middleware.mjs +207 -105
- package/dist/{previewAuthStore-C_EHQ5XA.mjs → previewAuthStore-BBmV7UsW.mjs} +243 -112
- package/dist/{sdk-runtime-BIkJg5y1.mjs → sdk-runtime-CwvFFjB-.mjs} +2 -2
- package/dist/{separator-C9qDP95Z.mjs → separator-ByL72zUT.mjs} +1 -1
- package/dist/server/components.mjs +1839 -1475
- package/dist/server/config-validation.mjs +381 -166
- package/dist/server/config.mjs +381 -166
- package/dist/server/data.mjs +381 -166
- package/dist/server/index.mjs +214 -110
- package/dist/server/next.mjs +663 -351
- package/dist/server/page-converter.mjs +198 -79
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1536 -1169
- package/dist/server/rendering.mjs +2432 -2068
- package/dist/server/routing.mjs +456 -173
- package/dist/server/server.mjs +447 -267
- package/package.json +1 -1
- package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
- package/dist/_dts/billing/src/plans/display.d.ts +0 -15
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +0 -3
- package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
- package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
- package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
- package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
- package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
- package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
- package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
- package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
- package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
- package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
- package/dist/_dts/content-editor/src/types.d.ts +0 -44
- package/dist/client/DiscountCodeDisclosure-CKJtz0mY.mjs +0 -137
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { EditorBlockId, EditorBlockValues, EditorValueRecord } from '../../../core/src/index';
|
|
2
|
+
import type { EditorUiState, EditorUiStoreInstance } from '../ui/editorUiStore';
|
|
3
|
+
import type { HeldOperation, LifecycleFailure, LifecycleOperation, LifecycleOutcome } from '../ui/stores/types';
|
|
4
|
+
import { type FlushPolicy, type LifecycleDrain } from './sendPlanning';
|
|
5
|
+
import { type OwnWriteSince } from './valueSync';
|
|
6
|
+
/**
|
|
7
|
+
* The one shell for the document's lifecycle operations (issue 1553, B-ownership). Save
|
|
8
|
+
* draft and restore replay run under the lifecycle status; publish, schedule, cancel,
|
|
9
|
+
* discard draft and delete also hold the document while their request is out, because
|
|
10
|
+
* they write the same route or draft that autosave does. What each held operation
|
|
11
|
+
* settles first, and what its response's edits are measured from, is data
|
|
12
|
+
* (`LIFECYCLE_RECONCILIATION`), not branches here.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DONE: LifecycleOutcome;
|
|
15
|
+
export declare const failed: (failure: LifecycleFailure) => LifecycleOutcome;
|
|
16
|
+
/**
|
|
17
|
+
* What a held operation settles before its request, and what the person's edits are
|
|
18
|
+
* measured from when its response comes back (the "Reconciliation per operation" table).
|
|
19
|
+
* - `settle`: a flush policy. The hold starts immediately. Sending policies drain a
|
|
20
|
+
* frozen checkpoint under that hold; later typing waits. `grant-wait` sends nothing
|
|
21
|
+
* and waits only for requests already out before the operation writes.
|
|
22
|
+
* - `since`: `baseline` keeps every edit (publish, schedule, cancel); `displayed` makes
|
|
23
|
+
* the edits present when the person confirmed part of what the operation throws away
|
|
24
|
+
* (discard draft, rows X1–X4). Delete applies nothing: on success the editor goes.
|
|
25
|
+
*/
|
|
26
|
+
type LifecycleReconciliation = Readonly<{
|
|
27
|
+
settle: FlushPolicy;
|
|
28
|
+
since: 'baseline' | 'displayed';
|
|
29
|
+
}>;
|
|
30
|
+
export declare const LIFECYCLE_RECONCILIATION: Readonly<Record<HeldOperation, LifecycleReconciliation>>;
|
|
31
|
+
/** What the document's values were when the hold started, for the response's rebase. */
|
|
32
|
+
export type DocumentSince = Readonly<{
|
|
33
|
+
metadata: OwnWriteSince<EditorValueRecord | null>;
|
|
34
|
+
content: OwnWriteSince<EditorValueRecord | null>;
|
|
35
|
+
blocks: ReadonlyMap<EditorBlockId, OwnWriteSince<EditorBlockValues | null>>;
|
|
36
|
+
}>;
|
|
37
|
+
export declare function documentSince(state: EditorUiState, kind: LifecycleReconciliation['since']): DocumentSince;
|
|
38
|
+
/**
|
|
39
|
+
* Runs a document lifecycle operation under the store's lifecycle status: running while
|
|
40
|
+
* it's under way, then idle or failed with its typed failure, which the banner and the
|
|
41
|
+
* status derive from. A rejected request is the operation's `server` failure; callers
|
|
42
|
+
* get the outcome rather than a throw.
|
|
43
|
+
*/
|
|
44
|
+
export declare function runLifecycle(uiStore: EditorUiStoreInstance, operation: LifecycleOperation, action: () => Promise<LifecycleOutcome>): Promise<LifecycleOutcome>;
|
|
45
|
+
/** Waits until the values are settled under `policy`; a refusal is the operation's failure. */
|
|
46
|
+
export declare function flushBefore(uiStore: EditorUiStoreInstance, policy: FlushPolicy, drain?: LifecycleDrain): Promise<LifecycleOutcome | null>;
|
|
47
|
+
export type HeldLifecycle = Readonly<{
|
|
48
|
+
operation: HeldOperation;
|
|
49
|
+
/** A refusal before anything settles or is held (publish's validation), else null. */
|
|
50
|
+
precheck?: () => LifecycleOutcome | null;
|
|
51
|
+
/**
|
|
52
|
+
* The request, and applying its response (as own writes rebased against `since`).
|
|
53
|
+
* The document is held throughout; the hold ends when this settles.
|
|
54
|
+
*/
|
|
55
|
+
write: (since: DocumentSince) => Promise<LifecycleOutcome>;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Runs a held operation: its precheck, what it settles first, then its request with the
|
|
59
|
+
* document held. Edits typed during the hold aren't sent; once the hold ends they're
|
|
60
|
+
* rebased on the response and autosave sends them against the new revision (rows R2, X3).
|
|
61
|
+
* On failure nothing was applied, so they send as usual (row X5).
|
|
62
|
+
*/
|
|
63
|
+
export declare function runHeldLifecycle(uiStore: EditorUiStoreInstance, lifecycle: HeldLifecycle): Promise<LifecycleOutcome>;
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { EditorUiState } from '../ui/editorUiStore';
|
|
2
|
+
import type { AutosaveStatus, AutosaveType } from '../ui/stores/types';
|
|
3
|
+
import { type ScheduledValue, type SchedulerValue, type LifecycleDrain } from './sendPlanning';
|
|
4
|
+
import { type FailureFacts } from './lifecycleFailure';
|
|
5
|
+
/**
|
|
6
|
+
* Loads the planners' inputs from the editor store: every value with the scheduler that
|
|
7
|
+
* saves it. The document's own linked entry is its content, so it is listed once.
|
|
8
|
+
*/
|
|
9
|
+
export declare function scheduledValues(state: EditorUiState): readonly ScheduledValue[];
|
|
10
|
+
/**
|
|
11
|
+
* Every value with whether this tab may send it now. A document value (metadata, content,
|
|
12
|
+
* a block) isn't writable while a lifecycle operation holds the document: the operation
|
|
13
|
+
* writes the same route or draft, so edits typed meanwhile wait and send once it ends
|
|
14
|
+
* (rows R2, X3). Linked entries have their own revisions and aren't held.
|
|
15
|
+
*/
|
|
16
|
+
export declare function schedulerValues(state: EditorUiState, drain?: LifecycleDrain): readonly SchedulerValue[];
|
|
17
|
+
/**
|
|
18
|
+
* The derived autosave status, for one scheduler or the whole document. The document
|
|
19
|
+
* lifecycle counts toward metadata and the whole.
|
|
20
|
+
*/
|
|
21
|
+
export declare function selectAutosaveStatus(state: EditorUiState, scheduler?: AutosaveType): AutosaveStatus;
|
|
22
|
+
/**
|
|
23
|
+
* The error banner (rows B1–B7), from the same active failure as the status.
|
|
24
|
+
* `publishBlockedMessage` is the current publish validation message while it blocks.
|
|
25
|
+
*/
|
|
26
|
+
export declare function selectBannerMessage(state: EditorUiState, publishBlockedMessage: string | null): string | null;
|
|
27
|
+
export declare function failureFacts(state: EditorUiState, publishBlockedMessage: string | null): FailureFacts;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { EditorValueRecord, SendId, ValueSync } from '../../../core/src/index';
|
|
2
|
+
import type { EditorValueKey } from '../ui/editorSnapshot';
|
|
3
|
+
import type { AutosaveStatus, AutosaveType, LifecycleStatus } from '../ui/stores/types';
|
|
4
|
+
import { type SendMode } from './valueSync';
|
|
5
|
+
import type { ActiveFailure } from './lifecycleFailure';
|
|
6
|
+
/**
|
|
7
|
+
* Pure planners over the editor's values (issue 1553): what autosave sends, when a
|
|
8
|
+
* flush is done, and the status the status bars show. The store loads the inputs
|
|
9
|
+
* (`schedulerValues`); the hooks and `flushValues` perform the effects.
|
|
10
|
+
*/
|
|
11
|
+
/** One value as the planners see it. */
|
|
12
|
+
export type ScheduledValue = Readonly<{
|
|
13
|
+
key: EditorValueKey;
|
|
14
|
+
scheduler: AutosaveType;
|
|
15
|
+
sync: ValueSync<EditorValueRecord | null>;
|
|
16
|
+
}>;
|
|
17
|
+
/** A value plus whether this tab may send it now. */
|
|
18
|
+
export type SchedulerValue = ScheduledValue & Readonly<{
|
|
19
|
+
/** The tab holds write authority for it (`canWriteDraftTarget`). */
|
|
20
|
+
writable: boolean;
|
|
21
|
+
/** Its values may be sent: blocks pass validation, metadata has a title. */
|
|
22
|
+
saveable: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
/** How a flush treats a failed value: Save draft retries it, publish refuses, a grant only waits. */
|
|
25
|
+
export type FlushPolicy = 'save-draft' | 'publish' | 'grant-wait';
|
|
26
|
+
export type LifecycleDrain = Extract<LifecycleStatus, {
|
|
27
|
+
kind: 'holding';
|
|
28
|
+
}>;
|
|
29
|
+
export type FlushCheckpoint = Readonly<{
|
|
30
|
+
key: EditorValueKey;
|
|
31
|
+
values: EditorValueRecord | null;
|
|
32
|
+
saveable: boolean;
|
|
33
|
+
drain?: LifecycleDrain;
|
|
34
|
+
}>;
|
|
35
|
+
export type SendAcknowledgement = Readonly<{
|
|
36
|
+
key: EditorValueKey;
|
|
37
|
+
values: EditorValueRecord | null;
|
|
38
|
+
kind: 'accepted' | 'failed' | 'blocked';
|
|
39
|
+
}>;
|
|
40
|
+
export type FlushRequest = Readonly<{
|
|
41
|
+
scheduler: AutosaveType;
|
|
42
|
+
keys: readonly EditorValueKey[];
|
|
43
|
+
checkpoints?: readonly FlushCheckpoint[];
|
|
44
|
+
signal?: AbortSignal;
|
|
45
|
+
}>;
|
|
46
|
+
export type FlushPlan = Readonly<{
|
|
47
|
+
kind: 'ready';
|
|
48
|
+
}> | Readonly<{
|
|
49
|
+
kind: 'wait';
|
|
50
|
+
}> | Readonly<{
|
|
51
|
+
kind: 'send';
|
|
52
|
+
requests: readonly FlushRequest[];
|
|
53
|
+
}> | Readonly<{
|
|
54
|
+
kind: 'failed';
|
|
55
|
+
keys: readonly EditorValueKey[];
|
|
56
|
+
}> | Readonly<{
|
|
57
|
+
kind: 'blocked';
|
|
58
|
+
keys: readonly EditorValueKey[];
|
|
59
|
+
}>;
|
|
60
|
+
/** How a flush finished. */
|
|
61
|
+
export type FlushResult = Exclude<FlushPlan, Readonly<{
|
|
62
|
+
kind: 'wait' | 'send';
|
|
63
|
+
}>>;
|
|
64
|
+
/** The values that may send now: edited, writable, saveable and allowed by `canSend`. */
|
|
65
|
+
export declare function planSends(values: readonly SchedulerValue[], mode: SendMode): readonly SchedulerValue[];
|
|
66
|
+
/**
|
|
67
|
+
* What an autosave trigger watches: each sendable value with its displayed values and
|
|
68
|
+
* request. It changes on an edit, when a request settles with newer edits, and when a
|
|
69
|
+
* value becomes writable again (rows S2, S5, D2).
|
|
70
|
+
*/
|
|
71
|
+
export type SendSignature = readonly unknown[];
|
|
72
|
+
export declare function sendSignature(sendable: readonly SchedulerValue[]): SendSignature;
|
|
73
|
+
export declare function sameSignature(left: SendSignature, right: SendSignature): boolean;
|
|
74
|
+
export declare function valueKeyId(key: EditorValueKey): string;
|
|
75
|
+
/**
|
|
76
|
+
* Whether "saved before X" holds yet. Outstanding requests (in flight or abandoned)
|
|
77
|
+
* are waited for; sendable values are sent; what can never send ends the flush.
|
|
78
|
+
* `retrying` holds the failures this flush may send again (Save draft, row S3b).
|
|
79
|
+
*/
|
|
80
|
+
export declare function planFlush(values: readonly SchedulerValue[], policy: FlushPolicy, retrying?: ReadonlySet<SendId>): FlushPlan;
|
|
81
|
+
/** The failures a flush sends again: those it was asked to retry. */
|
|
82
|
+
export declare function retryableFailures(values: readonly ScheduledValue[]): ReadonlySet<SendId>;
|
|
83
|
+
export type AutosaveStatusInput = Readonly<{
|
|
84
|
+
syncs: readonly ValueSync<EditorValueRecord | null>[];
|
|
85
|
+
lifecycle: LifecycleStatus;
|
|
86
|
+
/** The lifecycle failure that still holds (`activeFailure`), the same one the banner reads. */
|
|
87
|
+
failure: ActiveFailure | null;
|
|
88
|
+
lastSavedAt: string | null;
|
|
89
|
+
}>;
|
|
90
|
+
/**
|
|
91
|
+
* The autosave status the status bars show, derived from the values' states plus the
|
|
92
|
+
* document lifecycle. A failure outranks saving, as the per-scheduler statuses it
|
|
93
|
+
* replaced did. Of the lifecycle failures only a refused request (`server`) is an error
|
|
94
|
+
* here: failed values already count through their own states, and blocked or invalid
|
|
95
|
+
* values are the banner's alone (rows B4, B5).
|
|
96
|
+
*/
|
|
97
|
+
export declare function deriveAutosaveStatus(input: AutosaveStatusInput): AutosaveStatus;
|
|
98
|
+
/** An operation is under way: settling what it needs first, or holding while its request is out. */
|
|
99
|
+
export declare function isLifecycleRunning(lifecycle: LifecycleStatus): boolean;
|
|
100
|
+
/**
|
|
101
|
+
* The message of the first value whose save failed, which the error banner shows. It's
|
|
102
|
+
* null once no value is failed (a retry succeeded, the edit went back, or was discarded).
|
|
103
|
+
*/
|
|
104
|
+
export declare function saveFailureMessage(values: readonly ScheduledValue[]): string | null;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { BaselineRevision, EditorValueRecord, SaveFailure, SendId, ValueBaseline, ValueSync } from '../../../core/src/index';
|
|
2
|
+
export { displayedValues, syncStateOf, valueStatus, type ValueStatus } from '../../../core/src/index';
|
|
3
|
+
/**
|
|
4
|
+
* The one sync model for editor values (issue 1553). Metadata, content, blocks and
|
|
5
|
+
* linked entries all move through `applyValueSyncEvent`; every rule here is a row in
|
|
6
|
+
* the plan's sequence tables and in `valueSync.test.ts`. Pure: the clock and send ids
|
|
7
|
+
* come in as event data.
|
|
8
|
+
*/
|
|
9
|
+
export type SyncValues = EditorValueRecord | null;
|
|
10
|
+
/** Values at the operation boundary, and the server baseline they were based on. */
|
|
11
|
+
export type OwnWriteSince<V extends SyncValues> = Readonly<{
|
|
12
|
+
values: V;
|
|
13
|
+
basis: BaselineRevision;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* How a refresh (a server read) treats a value the person has edited:
|
|
17
|
+
* - keep-local: an ordinary refresh; the edits stay.
|
|
18
|
+
* - take-back: the tab regained the lease; the edits survive only if nobody else changed the value.
|
|
19
|
+
* - replace: the server draft was discarded; the edits go.
|
|
20
|
+
*
|
|
21
|
+
* A response to this tab's own write isn't a read: it's the `own-write` event, rebased
|
|
22
|
+
* rather than refreshed (`rebaseOnOwnWrite`).
|
|
23
|
+
*/
|
|
24
|
+
export type RefreshPolicy = 'keep-local' | 'take-back' | 'replace';
|
|
25
|
+
export type ValueSyncEvent<V extends SyncValues> = Readonly<{
|
|
26
|
+
kind: 'edited';
|
|
27
|
+
values: V;
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
kind: 'send-started';
|
|
30
|
+
id: SendId;
|
|
31
|
+
checkpoint?: V;
|
|
32
|
+
}> | Readonly<{
|
|
33
|
+
kind: 'send-succeeded';
|
|
34
|
+
id: SendId;
|
|
35
|
+
values: V;
|
|
36
|
+
revision: BaselineRevision;
|
|
37
|
+
at: string;
|
|
38
|
+
published?: Readonly<{
|
|
39
|
+
kind: 'known';
|
|
40
|
+
values: V;
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'unknown';
|
|
43
|
+
}>;
|
|
44
|
+
}> | Readonly<{
|
|
45
|
+
kind: 'send-failed';
|
|
46
|
+
id: SendId;
|
|
47
|
+
failure: SaveFailure;
|
|
48
|
+
}> | Readonly<{
|
|
49
|
+
kind: 'discarded';
|
|
50
|
+
}> | Readonly<{
|
|
51
|
+
kind: 'refreshed';
|
|
52
|
+
baseline: ValueBaseline<V>;
|
|
53
|
+
policy: RefreshPolicy;
|
|
54
|
+
}>
|
|
55
|
+
/** This tab's own write returned `baseline`; `since` is what the person's edits are measured from. */
|
|
56
|
+
| Readonly<{
|
|
57
|
+
kind: 'own-write';
|
|
58
|
+
baseline: ValueBaseline<V>;
|
|
59
|
+
since: OwnWriteSince<V>;
|
|
60
|
+
}>;
|
|
61
|
+
/** `accepted` records `lastSavedAt`; `discarded` asks for the "edited in another tab" notice. */
|
|
62
|
+
export type ValueSyncOutcome = Readonly<{
|
|
63
|
+
kind: 'none';
|
|
64
|
+
}> | Readonly<{
|
|
65
|
+
kind: 'accepted';
|
|
66
|
+
at: string;
|
|
67
|
+
}> | Readonly<{
|
|
68
|
+
kind: 'discarded';
|
|
69
|
+
}>;
|
|
70
|
+
export type ValueSyncTransition<V extends SyncValues> = Readonly<{
|
|
71
|
+
sync: ValueSync<V>;
|
|
72
|
+
outcome: ValueSyncOutcome;
|
|
73
|
+
}>;
|
|
74
|
+
/** `background` sends leave a failure alone until its values change; `explicit` retries it. */
|
|
75
|
+
export type SendMode = 'background' | 'explicit';
|
|
76
|
+
export declare function applyValueSyncEvent<V extends SyncValues>(sync: ValueSync<V>, event: ValueSyncEvent<V>): ValueSyncTransition<V>;
|
|
77
|
+
/** Send ids are unique per store; the store's closure owns the only allocator. */
|
|
78
|
+
export declare function createSendIdAllocator(): () => SendId;
|
|
79
|
+
export declare function isEdited<V extends SyncValues>(sync: ValueSync<V>): boolean;
|
|
80
|
+
/** A request is in flight or abandoned: flushes and grants wait for it to settle. */
|
|
81
|
+
export declare function hasOutstandingRequest<V extends SyncValues>(sync: ValueSync<V>): boolean;
|
|
82
|
+
/** The baseline revision as the wire carries it; `undefined` until the editor receives one. */
|
|
83
|
+
export declare function revisionValue(revision: BaselineRevision): string | null | undefined;
|
|
84
|
+
export declare function baselineRevisionOf<V extends SyncValues>(sync: ValueSync<V>): string | null | undefined;
|
|
85
|
+
/** An optional wire revision (`undefined` means none was received) as a `BaselineRevision`. */
|
|
86
|
+
export declare function revisionFromWire(value: string | null | undefined): BaselineRevision;
|
|
87
|
+
/**
|
|
88
|
+
* Whether a send may start. A failure waits for new values in the background, so a
|
|
89
|
+
* rejected save isn't retried in a loop; an explicit Save draft retries it.
|
|
90
|
+
*/
|
|
91
|
+
export declare function canSend<V extends SyncValues>(sync: ValueSync<V>, mode: SendMode): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* The same server baseline, for take-back. Two revisions decide it when both are
|
|
94
|
+
* present; otherwise the revisions (possibly missing) and the values must both match.
|
|
95
|
+
*/
|
|
96
|
+
export declare function sameServerBaseline<V extends SyncValues>(left: ValueBaseline<V>, right: ValueBaseline<V>): boolean;
|
|
97
|
+
export declare function valueSyncEqual<V extends SyncValues>(left: ValueSync<V>, right: ValueSync<V>): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Undo and redo restore what the person sees, never sync state: the target's displayed
|
|
100
|
+
* values become an edit over the present baseline and request (row U1, U2).
|
|
101
|
+
*/
|
|
102
|
+
export declare function restoreDisplayedValues<V extends SyncValues>(present: ValueSync<V>, target: ValueSync<V>): ValueSync<V>;
|
|
103
|
+
/** A record brought back from history: its request is long gone (row U3). */
|
|
104
|
+
export declare function withIdleRequest<V extends SyncValues>(sync: ValueSync<V>): ValueSync<V>;
|
|
105
|
+
/**
|
|
106
|
+
* A response to this tab's own write (publish, schedule, cancel, discard). The displayed
|
|
107
|
+
* value keeps changes since the operation's snapshot: an edit is any
|
|
108
|
+
* top-level key whose presence or value differs between `since` and the local values, so
|
|
109
|
+
* a removed key stays removed and a key set to `null` counts. Nested values are whole
|
|
110
|
+
* fields (no deep merge), and where both sides changed a key the person's edit wins.
|
|
111
|
+
* Keys the person didn't touch take the server's value, including its removals. The
|
|
112
|
+
* request is kept: one based on the old revision isn't accepted over the new one (R6).
|
|
113
|
+
*/
|
|
114
|
+
export declare function rebaseOnOwnWrite<V extends SyncValues>(sync: ValueSync<V>, server: ValueBaseline<V>, since: OwnWriteSince<V>): ValueSync<V>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type EditorBlockCollectionOwner, type EditorBlockCollectionReadBaseline } from '../../../core/src/index';
|
|
2
|
+
import { type DraftBlockRefresh, type EditorBlockItem, type EditorHistorySnapshot } from './editorSnapshot';
|
|
3
|
+
/** A collection read enters through one boundary; a held lifecycle supplies its own result. */
|
|
4
|
+
export declare function mountBlockCollection(snapshot: EditorHistorySnapshot, owner: EditorBlockCollectionOwner, blocks: readonly EditorBlockItem[], seeds: readonly DraftBlockRefresh[], held: boolean, reads?: readonly EditorBlockCollectionReadBaseline[]): EditorHistorySnapshot;
|
|
5
|
+
export declare function unmountBlockCollection(snapshot: EditorHistorySnapshot, owner: EditorBlockCollectionOwner): EditorHistorySnapshot;
|
|
6
|
+
/** Query facts are not history edits; a held write will supply the authoritative receipt. */
|
|
7
|
+
export declare function refreshCollectionReadBaselines(snapshot: EditorHistorySnapshot, reads: readonly EditorBlockCollectionReadBaseline[], held?: boolean): EditorHistorySnapshot;
|
|
8
|
+
export declare function hasUnpublishedCollectionChanges(snapshot: EditorHistorySnapshot): boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DocumentBlockState } from '../../../api/src/content-editor';
|
|
2
|
+
import { type BlockFieldExtensions } from '../../../editor-blocks/src/block-editor/blockDraftBaselineSeed';
|
|
3
|
+
import type { DocumentSince } from '../sync/runLifecycle';
|
|
4
|
+
import { type OwnWrite, type PublishSuccessRefresh } from './editorRefresh';
|
|
5
|
+
import { type EditorHistorySnapshot } from './editorSnapshot';
|
|
6
|
+
/** A complete document operation always reconciles its block collections too. */
|
|
7
|
+
export type DocumentLifecycleResult = Readonly<{
|
|
8
|
+
blockState: DocumentBlockState;
|
|
9
|
+
since: DocumentSince;
|
|
10
|
+
}> & (Readonly<{
|
|
11
|
+
operation: 'publish';
|
|
12
|
+
values: PublishSuccessRefresh;
|
|
13
|
+
}> | Readonly<{
|
|
14
|
+
operation: 'discard';
|
|
15
|
+
values: readonly OwnWrite[];
|
|
16
|
+
}>);
|
|
17
|
+
/** Apply one receipt atomically: entry values, block values and block membership. */
|
|
18
|
+
export declare function documentLifecycleSnapshot(snapshot: EditorHistorySnapshot, result: DocumentLifecycleResult, extensions?: BlockFieldExtensions | null): EditorHistorySnapshot;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { EditorEditability } from '../controller/editorEditability';
|
|
2
|
+
export type EditorLeaseUiState = {
|
|
3
|
+
editability: EditorEditability;
|
|
4
|
+
setEditability: (editability: EditorEditability) => void;
|
|
5
|
+
leaseDiscardedChanges: boolean;
|
|
6
|
+
setLeaseDiscardedChanges: (discarded: boolean) => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type EditorBlockValues, type EditorBlockVersions, type EditorValueRecord } from '../../../core/src/index';
|
|
2
|
+
import type { OwnWriteSince, RefreshPolicy } from '../sync/valueSync';
|
|
3
|
+
import { type DraftBlockRefresh, type EditorHistorySnapshot } from './editorSnapshot';
|
|
4
|
+
/**
|
|
5
|
+
* A server read of one value, applied as a `refreshed` sync event (issue 1553). Every path
|
|
6
|
+
* that sets a baseline without a save response goes through here: the RSC reconciliation
|
|
7
|
+
* hooks, block seeding, both grant reads and discard draft. Responses to this tab's own
|
|
8
|
+
* writes are rebased instead (`OwnWrite`).
|
|
9
|
+
*
|
|
10
|
+
* A metadata or content refresh without a `revision` keeps the baseline's own: publish and
|
|
11
|
+
* discard-draft responses don't always carry one, and wiping it would make the next save
|
|
12
|
+
* fail. `published`, when present, moves the published baseline too.
|
|
13
|
+
*/
|
|
14
|
+
export type ValueRefresh = Readonly<{
|
|
15
|
+
kind: 'metadata' | 'content';
|
|
16
|
+
values: EditorValueRecord | null;
|
|
17
|
+
revision?: string | null;
|
|
18
|
+
published?: EditorValueRecord | null;
|
|
19
|
+
}> | Readonly<{
|
|
20
|
+
kind: 'linked-entry';
|
|
21
|
+
entryId: string;
|
|
22
|
+
values: EditorValueRecord | null;
|
|
23
|
+
revision: string | null;
|
|
24
|
+
}> | Readonly<{
|
|
25
|
+
kind: 'block';
|
|
26
|
+
block: DraftBlockRefresh;
|
|
27
|
+
versions?: EditorBlockVersions;
|
|
28
|
+
}>;
|
|
29
|
+
/** A metadata or content refresh, as the value's own facade takes it. */
|
|
30
|
+
export type DocumentValueRefreshInput = Omit<Extract<ValueRefresh, {
|
|
31
|
+
kind: 'metadata' | 'content';
|
|
32
|
+
}>, 'kind'>;
|
|
33
|
+
/** `discarded` asks for the "edited in another tab" notice: a take-back threw local edits away. */
|
|
34
|
+
export type RefreshTransition = Readonly<{
|
|
35
|
+
snapshot: EditorHistorySnapshot;
|
|
36
|
+
discarded: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
export declare function refreshValuesSnapshot(snapshot: EditorHistorySnapshot, refreshes: readonly ValueRefresh[], policy: RefreshPolicy): RefreshTransition;
|
|
39
|
+
/**
|
|
40
|
+
* What this tab's own write (publish, schedule, cancel, discard draft) returned for one
|
|
41
|
+
* document value. It's rebased rather than refreshed (`rebaseOnOwnWrite`): an edit typed
|
|
42
|
+
* during the round trip survives on top of the new baseline (rows P6, R1–R11, X1–X4).
|
|
43
|
+
* `since` is what the edits are measured from: the baseline when the operation started,
|
|
44
|
+
* or for discard what was displayed when the person confirmed. A missing `revision`
|
|
45
|
+
* keeps the baseline's own, as a refresh does.
|
|
46
|
+
*/
|
|
47
|
+
export type OwnWrite = DocumentOwnWrite | Readonly<{
|
|
48
|
+
kind: 'block';
|
|
49
|
+
block: DraftBlockRefresh;
|
|
50
|
+
since: OwnWriteSince<EditorBlockValues | null>;
|
|
51
|
+
}>;
|
|
52
|
+
type DocumentOwnWrite = Readonly<{
|
|
53
|
+
kind: 'metadata' | 'content';
|
|
54
|
+
values: EditorValueRecord | null;
|
|
55
|
+
revision?: string | null;
|
|
56
|
+
published?: EditorValueRecord | null;
|
|
57
|
+
since: OwnWriteSince<EditorValueRecord | null>;
|
|
58
|
+
}>;
|
|
59
|
+
export declare function ownWritesSnapshot(snapshot: EditorHistorySnapshot, writes: readonly OwnWrite[]): EditorHistorySnapshot;
|
|
60
|
+
/**
|
|
61
|
+
* What a successful publish tells the editor. Metadata is the route the publish wrote.
|
|
62
|
+
* Content is what it wrote (`written`), or `unchanged` when it wrote none, in which case
|
|
63
|
+
* the content baseline and revision stay and only its published baseline moves (WR5b).
|
|
64
|
+
*/
|
|
65
|
+
export type PublishSuccessRefresh = Readonly<{
|
|
66
|
+
metadata: Omit<DocumentOwnWrite, 'kind'> & Readonly<{
|
|
67
|
+
published: EditorValueRecord | null;
|
|
68
|
+
}>;
|
|
69
|
+
content: Readonly<{
|
|
70
|
+
published: EditorValueRecord | null;
|
|
71
|
+
write: Readonly<{
|
|
72
|
+
kind: 'written';
|
|
73
|
+
values: EditorValueRecord;
|
|
74
|
+
revision: string;
|
|
75
|
+
since: OwnWriteSince<EditorValueRecord | null>;
|
|
76
|
+
}> | Readonly<{
|
|
77
|
+
kind: 'unchanged';
|
|
78
|
+
}>;
|
|
79
|
+
}>;
|
|
80
|
+
}>;
|
|
81
|
+
export declare function publishSuccessSnapshot(snapshot: EditorHistorySnapshot, publish: PublishSuccessRefresh): EditorHistorySnapshot;
|
|
82
|
+
export {};
|