@riverbankcms/sdk 0.147.0 → 0.148.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/dist/{PreviewEditorSidebar-DtpB3_sS.mjs → PreviewEditorSidebar-DvEPG3Z2.mjs} +202 -143
- package/dist/{PreviewEditorUI-DxTLgaHo.mjs → PreviewEditorUI-D6eb6fkx.mjs} +68 -60
- package/dist/{PreviewQueryProvider-Dd4dxOiU.mjs → PreviewQueryProvider-5znTyJuz.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-DMMNCngt.mjs → SdkPreviewModeRuntime-DJ6utQ_R.mjs} +1191 -513
- package/dist/{SiteChromeCustomizeContext-DQXZXiqS.mjs → SiteChromeCustomizeContext-CFJYh6vo.mjs} +201798 -197304
- 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 +0 -2
- package/dist/_dts/api/src/bookingOperations.d.ts +4 -4
- package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
- 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/commercePortalEndpoints.d.ts +7 -6
- 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/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 +133 -41
- package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
- package/dist/_dts/api/src/eventManagementContracts.d.ts +25 -0
- 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 +6 -5
- 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 +2 -0
- package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +4 -0
- package/dist/_dts/api/src/redirects.d.ts +3 -3
- package/dist/_dts/api/src/request.d.ts +10 -1
- 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 +0 -1
- 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 +8 -1
- 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/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/proof-block-islands.d.ts +16 -4
- 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 +0 -2
- 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 +4 -4
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -1
- 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 +2 -0
- 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 +24 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -3
- 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 +15 -1
- 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/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/SuccessStep.d.ts +4 -1
- 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.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 +5 -5
- 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 +13 -0
- 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/event-registration-errors.d.ts +4 -0
- 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/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/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/branded.d.ts +12 -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 +55 -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 +4 -0
- package/dist/_dts/core/src/uuid.d.ts +7 -5
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +159 -153
- 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/context.d.ts +1 -1
- package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
- 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 +24 -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/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/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/client/{BookingMailingListNote-1n4Ch_u_.mjs → BookingMailingListNote-CzRt2dF_.mjs} +98 -96
- package/dist/client/DemoBookingPortalAccess-mxqwap3f.mjs +344 -0
- package/dist/client/{EventCombined.client-C0pgma9y.mjs → EventCombined.client-CDb11igO.mjs} +6 -6
- package/dist/client/{EventListing.client-4fhLOvHP.mjs → EventListing.client-EgYhzKPa.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DScC4F3w.mjs → LeafletStaticMap-gtmtaA2b.mjs} +1 -1
- package/dist/client/{TerminalPanel-B5ZUsYhe.mjs → TerminalPanel-DvNUP5ot.mjs} +1 -1
- package/dist/client/{ThemedButton-DoVIV1Ao.mjs → ThemedButton-C7CeUJjW.mjs} +1 -1
- package/dist/client/{accordion-CoT5g7zo.mjs → accordion-kjvt49rA.mjs} +1 -1
- package/dist/client/{bookingForm-BWxB46xD.mjs → bookingForm-pbRZordh.mjs} +212 -62
- package/dist/client/bookings.mjs +616 -225
- package/dist/client/{carousel-DtNYWFd3.mjs → carousel-f4Zbmicv.mjs} +1 -1
- package/dist/client/{cart-z4qZih1Y.mjs → cart-DO20An50.mjs} +3 -3
- package/dist/client/{checkout-DpL7euFH.mjs → checkout-Du5amDR_.mjs} +3 -3
- package/dist/client/{checkoutUrls-BEfR7kVu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
- package/dist/client/client.mjs +1753 -823
- package/dist/client/{context-C8TinPJc.mjs → context-eW97E945.mjs} +4 -3
- package/dist/client/{dates-vwwxTeB0.mjs → dates-jPCirRea.mjs} +56 -11
- package/dist/client/{eventCalendar-DIbHfJXO.mjs → eventCalendar-C2M-iE4j.mjs} +9 -9
- package/dist/client/{eventCombined-DoGMJ6cg.mjs → eventCombined-W6ns3LHg.mjs} +4 -4
- package/dist/client/{eventDetails-BjN9v6a1.mjs → eventDetails-CR-GT0f0.mjs} +4 -4
- package/dist/client/{eventListing-DajjWgOv.mjs → eventListing-BK8AfYZz.mjs} +4 -4
- package/dist/client/{eventRegistration-DMq9gMA-.mjs → eventRegistration-BJSd4KUu.mjs} +369 -242
- package/dist/client/{form-Qf6qTbos.mjs → form-BvpfbQaT.mjs} +3 -3
- package/dist/client/{headerSection-D7qJrqFX.mjs → headerSection-I5sUQ8x-.mjs} +3 -3
- package/dist/client/hooks.mjs +254 -53
- package/dist/client/{locationMap-CCF9-t_0.mjs → locationMap-BLvwf9_f.mjs} +3 -3
- package/dist/client/{media-CwBGetqC.mjs → media-Cl38iOMI.mjs} +10 -3
- package/dist/client/{newsletterForm-DzCLSP4S.mjs → newsletterForm-DrQ2weE8.mjs} +3 -3
- package/dist/client/{pricing-Cgxv2KLC.mjs → pricing-BES87mrR.mjs} +1 -1
- package/dist/client/{productDetail-ru9w5GHx.mjs → productDetail-Url9jcc5.mjs} +3 -3
- package/dist/client/{productList-zaapKSl-.mjs → productList-DE7ngEZJ.mjs} +3 -3
- package/dist/client/{propsDecoder-CwvvNOHx.mjs → propsDecoder-D1OtGXDV.mjs} +89 -17
- package/dist/client/rendering/client.mjs +1445 -658
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +2478 -1515
- package/dist/client/{routeIslandApiConfig-BwVFo0Y4.mjs → routeIslandApiConfig-BG9Y-SHg.mjs} +1 -1
- package/dist/client/{shop-mktkXvbV.mjs → shop-CJkuySJ3.mjs} +126 -79
- package/dist/client/{shop-commerce-De7gEnkA.mjs → shop-commerce-4rKj5n9h.mjs} +25 -13
- package/dist/client/{shop-commerce-store-B3MCxIBW.mjs → shop-commerce-store-Bxm75Pg6.mjs} +1 -1
- package/dist/client/{shopShared-TqExh235.mjs → shopShared-DpoQDWfz.mjs} +4 -4
- package/dist/client/{useEventFilters-n_OjkIjX.mjs → useEventFilters-D8HliSqR.mjs} +32 -17
- package/dist/preview-next/before-render.mjs +192 -83
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +192 -83
- package/dist/preview-next/middleware.mjs +192 -83
- package/dist/{previewAuthStore-C_EHQ5XA.mjs → previewAuthStore-BXXF3hhW.mjs} +194 -83
- package/dist/{sdk-runtime-BIkJg5y1.mjs → sdk-runtime-C2a05WjL.mjs} +2 -2
- package/dist/{separator-C9qDP95Z.mjs → separator-CuNhBAhS.mjs} +1 -1
- package/dist/server/components.mjs +1720 -1392
- package/dist/server/config-validation.mjs +221 -37
- package/dist/server/config.mjs +221 -37
- package/dist/server/data.mjs +221 -37
- package/dist/server/index.mjs +195 -84
- package/dist/server/next.mjs +490 -196
- package/dist/server/page-converter.mjs +53 -14
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1427 -1098
- package/dist/server/rendering.mjs +2693 -2365
- package/dist/server/routing.mjs +291 -55
- package/dist/server/server.mjs +281 -114
- package/package.json +1 -1
- 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/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,80 @@
|
|
|
1
|
+
import { type BillingPlanId, type BrandingTier, type FormsTier, type NewsletterTier, type PlanBooleanFeatureKey, type PlanEntitlements, type SeoTier, type StorageBytes, type StorageQuota, type TeamTier, type WebsiteCollaborationTier, type WebsiteTier } from './types';
|
|
2
|
+
type MinimumTier<TTier extends string> = Readonly<{
|
|
3
|
+
minimum: TTier;
|
|
4
|
+
}>;
|
|
5
|
+
export type PlanEntitlementRequirementSpec = Readonly<{
|
|
6
|
+
features?: readonly PlanBooleanFeatureKey[];
|
|
7
|
+
website?: MinimumTier<WebsiteTier>;
|
|
8
|
+
/** Commission isn't a tier: the only requirement is that there is none. */
|
|
9
|
+
stripeBookingCommission?: Readonly<{
|
|
10
|
+
kind: 'none';
|
|
11
|
+
}>;
|
|
12
|
+
/** Extra sites aren't a tier either: the plan either prices them or doesn't offer them. */
|
|
13
|
+
extraSite?: Readonly<{
|
|
14
|
+
kind: 'supported';
|
|
15
|
+
}>;
|
|
16
|
+
forms?: MinimumTier<FormsTier>;
|
|
17
|
+
seo?: MinimumTier<SeoTier>;
|
|
18
|
+
newsletter?: MinimumTier<NewsletterTier>;
|
|
19
|
+
branding?: MinimumTier<BrandingTier>;
|
|
20
|
+
team?: MinimumTier<TeamTier>;
|
|
21
|
+
websiteCollaboration?: MinimumTier<WebsiteCollaborationTier>;
|
|
22
|
+
}>;
|
|
23
|
+
export type StorageQuotaCheckResult = Readonly<{
|
|
24
|
+
tag: 'unlimited';
|
|
25
|
+
usedBytes: StorageBytes;
|
|
26
|
+
incomingBytes: StorageBytes;
|
|
27
|
+
}> | Readonly<{
|
|
28
|
+
tag: 'within_limit';
|
|
29
|
+
usedBytes: StorageBytes;
|
|
30
|
+
incomingBytes: StorageBytes;
|
|
31
|
+
remainingBytes: StorageBytes;
|
|
32
|
+
maxBytes: StorageBytes;
|
|
33
|
+
}> | Readonly<{
|
|
34
|
+
tag: 'at_limit';
|
|
35
|
+
usedBytes: StorageBytes;
|
|
36
|
+
incomingBytes: StorageBytes;
|
|
37
|
+
remainingBytes: StorageBytes;
|
|
38
|
+
maxBytes: StorageBytes;
|
|
39
|
+
}> | Readonly<{
|
|
40
|
+
tag: 'would_exceed_limit';
|
|
41
|
+
usedBytes: StorageBytes;
|
|
42
|
+
incomingBytes: StorageBytes;
|
|
43
|
+
remainingBytes: StorageBytes;
|
|
44
|
+
maxBytes: StorageBytes;
|
|
45
|
+
overByBytes: StorageBytes;
|
|
46
|
+
}>;
|
|
47
|
+
export declare function definePlanEntitlementRequirements<const TRequirements extends PlanEntitlementRequirementSpec>(requirements: TRequirements): TRequirements;
|
|
48
|
+
export declare function isPlanBooleanFeatureEnabled(entitlements: PlanEntitlements, feature: PlanBooleanFeatureKey): boolean;
|
|
49
|
+
export declare function meetsPlanEntitlementRequirements(entitlements: PlanEntitlements, requirements: PlanEntitlementRequirementSpec): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The cheapest plan that grants `requirements`, by list price: the plan an
|
|
52
|
+
* upgrade prompt names. Price order, not registry order, so a plan added
|
|
53
|
+
* anywhere in the ladder is still found correctly.
|
|
54
|
+
*/
|
|
55
|
+
export declare function cheapestPlanMeetingRequirements(requirements: PlanEntitlementRequirementSpec): BillingPlanId | null;
|
|
56
|
+
/**
|
|
57
|
+
* What choosing `planId` at launch commits the site to: the entitlements a
|
|
58
|
+
* launched site depends on (the website, a team, its own domain, no
|
|
59
|
+
* commission). A current plan satisfies the selection when it grants all of
|
|
60
|
+
* them, so plans that differ in other ways (storage, analytics) never block a
|
|
61
|
+
* launch, and a plan outside a single ladder (Team, alongside Solo) needs no
|
|
62
|
+
* rank.
|
|
63
|
+
*/
|
|
64
|
+
export declare function launchRequirementFor(planId: BillingPlanId): PlanEntitlementRequirementSpec;
|
|
65
|
+
/**
|
|
66
|
+
* The plan an upgrade prompt names when an account on `currentPlanId` needs
|
|
67
|
+
* `addition`: the cheapest plan that keeps everything a launched site on the
|
|
68
|
+
* current plan depends on and adds it. A Team account that needs extra sites
|
|
69
|
+
* is pointed to Studio, not Solo, because Solo would lose the team. Null when
|
|
70
|
+
* no plan does.
|
|
71
|
+
*/
|
|
72
|
+
export declare function upgradeTargetAdding(currentPlanId: BillingPlanId, addition: PlanEntitlementRequirementSpec): BillingPlanId | null;
|
|
73
|
+
/** Whether an account on `currentPlanId` can launch a site that selected `selectedPlanId`. */
|
|
74
|
+
export declare function planSatisfiesLaunchSelection(currentPlanId: BillingPlanId | null, selectedPlanId: BillingPlanId): boolean;
|
|
75
|
+
export declare function checkStorageQuota(quota: StorageQuota, input: Readonly<{
|
|
76
|
+
usedBytes: StorageBytes;
|
|
77
|
+
incomingBytes: StorageBytes;
|
|
78
|
+
}>): StorageQuotaCheckResult;
|
|
79
|
+
export declare function listBooleanPlanFeatureKeys(): readonly PlanBooleanFeatureKey[];
|
|
80
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type BillingPlanId, type PlanDefinition } from './types';
|
|
2
2
|
export declare function listPlans(): PlanDefinition[];
|
|
3
3
|
export declare function isBillingPlanId(planId: string): planId is BillingPlanId;
|
|
4
4
|
export declare function ensureBillingPlanId(planId: string): BillingPlanId;
|
|
@@ -8,23 +8,23 @@ export declare function getKnownPlan(planId: BillingPlanId): PlanDefinition;
|
|
|
8
8
|
export declare function ensurePlan(planId: string): PlanDefinition;
|
|
9
9
|
export declare function getPlanEntitlements(planId: string): PlanDefinition['entitlements'];
|
|
10
10
|
export declare function getMacadamiaSiteAllowance(planId: string): PlanDefinition['entitlements']['macadamiaSiteAllowance'];
|
|
11
|
-
/**
|
|
12
|
-
* @deprecated Use database pricing with resolveUserPrice() instead.
|
|
13
|
-
* This function fetches pre-created Stripe Price IDs which is being replaced
|
|
14
|
-
* by inline price_data creation from database prices.
|
|
15
|
-
*/
|
|
16
|
-
export declare function getStripePriceId(planId: string, interval: BillingInterval): Promise<string>;
|
|
17
|
-
/**
|
|
18
|
-
* @deprecated Use database pricing with getPlanPrice() and resolveUserPrice() instead.
|
|
19
|
-
* This function fetches prices from Stripe which is being replaced by database pricing.
|
|
20
|
-
*/
|
|
21
|
-
export declare function calculatePlanPricing(planId: string): Promise<DisplayPricing>;
|
|
22
|
-
/**
|
|
23
|
-
* @deprecated Use database pricing instead. This function fetches prices from Stripe.
|
|
24
|
-
*/
|
|
25
|
-
export declare function listPricing(): Promise<DisplayPricing[]>;
|
|
26
11
|
/**
|
|
27
12
|
* Check if a plan is a paid plan.
|
|
28
13
|
* A plan is paid if it's not the 'free' plan.
|
|
29
14
|
*/
|
|
30
15
|
export declare function isPaidPlan(planId: string): boolean;
|
|
16
|
+
/** What a plan costs and charges, derived from the registry. Not a second store. */
|
|
17
|
+
export type PlanCommercials = Readonly<{
|
|
18
|
+
planId: BillingPlanId;
|
|
19
|
+
/** The monthly list price, before any per-user override or site costs. */
|
|
20
|
+
monthlyPricePence: number;
|
|
21
|
+
/** Macadamia's commission on Stripe-paid bookings; 0 when the plan has none. */
|
|
22
|
+
commissionPercent: number;
|
|
23
|
+
/**
|
|
24
|
+
* The monthly online revenue at which Free's commission equals this plan's
|
|
25
|
+
* price. Null for Free itself, and for any plan that does not charge less
|
|
26
|
+
* commission than Free.
|
|
27
|
+
*/
|
|
28
|
+
breakEvenMonthlyOnlineRevenuePence: number | null;
|
|
29
|
+
}>;
|
|
30
|
+
export declare function planCommercials(planId: BillingPlanId): PlanCommercials;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SubscriptionStandingEvidence, SubscriptionStandingEvidenceError, SubscriptionStandingInput } from '../subscriptions/standingEvidence';
|
|
2
|
-
import { type SubscriptionRead } from '../subscriptions/store';
|
|
3
|
-
type PaidStandingDetails = Pick<SubscriptionStandingEvidence, 'planId' | '
|
|
2
|
+
import { type SubscriptionRead, type SubscriptionStatus } from '../subscriptions/store';
|
|
3
|
+
type PaidStandingDetails = Pick<SubscriptionStandingEvidence, 'planId' | 'currentPeriodEnd' | 'cancelAtPeriodEnd'>;
|
|
4
4
|
export type PlanStanding = Readonly<{
|
|
5
5
|
kind: 'paid';
|
|
6
6
|
} & PaidStandingDetails> | Readonly<{
|
|
@@ -16,4 +16,11 @@ export type PlanStanding = Readonly<{
|
|
|
16
16
|
export declare function resolvePlanStanding(input: SubscriptionStandingInput): PlanStanding;
|
|
17
17
|
/** Repository reads have already parsed provider evidence; never validate it again here. */
|
|
18
18
|
export declare function resolveStoredPlanStanding(record: SubscriptionRead): PlanStanding;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the provider still holds this subscription: it can be recovered,
|
|
21
|
+
* updated, cancelled or acted on by an arrangement change. This is presence,
|
|
22
|
+
* not entitlement: an unpaid subscription is present but grants free standing,
|
|
23
|
+
* so read `resolvePlanStanding` for what a plan allows.
|
|
24
|
+
*/
|
|
25
|
+
export declare function hasProviderSubscriptionPresence(status: SubscriptionStatus): boolean;
|
|
19
26
|
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export type BillingInterval = 'monthly' | 'annual';
|
|
2
1
|
declare const storageBytesBrand: unique symbol;
|
|
3
2
|
export type StorageBytes = number & {
|
|
4
3
|
readonly [storageBytesBrand]: 'StorageBytes';
|
|
@@ -24,10 +23,11 @@ export declare function storageGigabytes(value: number): StorageBytes;
|
|
|
24
23
|
export declare function limitedStorageQuota(maxBytes: StorageBytes): StorageQuota;
|
|
25
24
|
export declare function formatStorageBytes(bytes: StorageBytes): string;
|
|
26
25
|
export declare function formatStorageQuota(quota: StorageQuota): string;
|
|
27
|
-
|
|
26
|
+
/** The ladder in reading order: the booking-page plans, then the website plans. */
|
|
27
|
+
export declare const BILLING_PLAN_IDS: readonly ["free", "core", "team", "solo", "studio"];
|
|
28
28
|
export type BillingPlanId = (typeof BILLING_PLAN_IDS)[number];
|
|
29
|
-
export
|
|
30
|
-
export
|
|
29
|
+
export type PaidBillingPlanId = Exclude<BillingPlanId, 'free'>;
|
|
30
|
+
export declare function isPaidBillingPlanId(planId: BillingPlanId): planId is PaidBillingPlanId;
|
|
31
31
|
export declare const FORMS_TIERS: readonly ["limited", "full"];
|
|
32
32
|
export type FormsTier = (typeof FORMS_TIERS)[number];
|
|
33
33
|
export declare const SEO_TIERS: readonly ["none", "basic", "advanced"];
|
|
@@ -73,8 +73,7 @@ export type StripeBookingCommission = Readonly<{
|
|
|
73
73
|
}>;
|
|
74
74
|
export interface PlanEntitlements {
|
|
75
75
|
planId: BillingPlanId;
|
|
76
|
-
monthlyPricePence: number
|
|
77
|
-
availableIntervals: readonly BillingInterval[];
|
|
76
|
+
monthlyPricePence: number;
|
|
78
77
|
macadamiaSiteAllowance: Readonly<{
|
|
79
78
|
includedLiveSiteCount: number;
|
|
80
79
|
extraSite: Readonly<{
|
|
@@ -106,13 +105,9 @@ export interface PlanDefinition {
|
|
|
106
105
|
name: string;
|
|
107
106
|
description: string;
|
|
108
107
|
defaultCurrency: string;
|
|
109
|
-
annualDiscountPercent?: number;
|
|
110
|
-
/** @deprecated Use database pricing instead. Will be removed in Phase 6. */
|
|
111
|
-
stripePriceLookupKeys?: Partial<Record<BillingInterval, string>>;
|
|
112
108
|
/** @deprecated Stripe products are now auto-created via ensurePlatformProduct(). */
|
|
113
109
|
stripeProductId?: string;
|
|
114
110
|
entitlements: PlanEntitlements;
|
|
115
|
-
trialDays?: number;
|
|
116
111
|
metadata?: Record<string, string | number | boolean>;
|
|
117
112
|
}
|
|
118
113
|
export interface DisplayPricing {
|
|
@@ -122,10 +117,5 @@ export interface DisplayPricing {
|
|
|
122
117
|
amountPence: number;
|
|
123
118
|
formatted: string;
|
|
124
119
|
};
|
|
125
|
-
annual: {
|
|
126
|
-
amountPence: number;
|
|
127
|
-
formatted: string;
|
|
128
|
-
discountPercent?: number;
|
|
129
|
-
};
|
|
130
120
|
}
|
|
131
121
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type PositiveCents, type Result } from '../../core/src/index';
|
|
2
|
+
import type { SubscriptionStatus } from './subscriptions/store';
|
|
2
3
|
export declare const SITE_BILLING_ARRANGEMENT_KINDS: readonly ["self_serve", "managed_platform_subscription", "managed_manual"];
|
|
3
4
|
export type SiteBillingArrangementKind = (typeof SITE_BILLING_ARRANGEMENT_KINDS)[number];
|
|
4
5
|
export declare const MANAGED_MANUAL_BILLING_REASONS: readonly ["bank_transfer", "testing_exchange", "complimentary", "other"];
|
|
@@ -56,7 +57,7 @@ export type ActiveSiteLinkedPlatformAddOn = Readonly<{
|
|
|
56
57
|
export type SiteBillingSubscriptionSnapshot = Readonly<{
|
|
57
58
|
id: string;
|
|
58
59
|
origin: BillingSubscriptionOrigin | null;
|
|
59
|
-
status:
|
|
60
|
+
status: SubscriptionStatus;
|
|
60
61
|
}> | null;
|
|
61
62
|
export type SiteBillingManualReviewReason = 'ambiguous_subscription_origin' | 'active_site_linked_add_on' | 'admin_requested_manual_review' | 'missing_admin_subscription_choice' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'subscription_action_failed' | 'multiple_platform_subscriptions' | 'platform_subscription_recovery_failed' | 'commission_reconciliation_exhausted';
|
|
62
63
|
export declare const SITE_BILLING_MANUAL_REVIEW_REASONS: readonly ["ambiguous_subscription_origin", "active_site_linked_add_on", "admin_requested_manual_review", "missing_admin_subscription_choice", "practitioner_limit_exceeded", "live_site_allowance_exceeded", "subscription_action_failed", "multiple_platform_subscriptions", "platform_subscription_recovery_failed", "commission_reconciliation_exhausted"];
|
|
@@ -175,4 +176,3 @@ export declare function planSiteBillingArrangementChange(input: Readonly<{
|
|
|
175
176
|
activeSiteLinkedAddOns: readonly ActiveSiteLinkedPlatformAddOn[];
|
|
176
177
|
adminSubscriptionAction?: AdminManagedSubscriptionActionChoice | null;
|
|
177
178
|
}>): SiteBillingArrangementChangePlan;
|
|
178
|
-
export declare function isSubscriptionActiveForArrangementPlanning(status: string): boolean;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { type Result, type UtcIsoDateTimeString } from '../../../core/src/index';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PaidBillingPlanId } from '../plans/types';
|
|
3
3
|
import type { SubscriptionStatus } from './store';
|
|
4
4
|
/** Untrusted stored columns, before defaults, casts or membership projection. */
|
|
5
5
|
export type RawSubscriptionStandingEvidence = Readonly<{
|
|
6
6
|
planId: unknown;
|
|
7
|
-
interval: unknown;
|
|
8
7
|
status: unknown;
|
|
9
8
|
currentPeriodEnd: unknown;
|
|
10
9
|
cancelAtPeriodEnd: unknown;
|
|
11
10
|
}>;
|
|
12
|
-
export type SubscriptionStandingEvidenceError = 'invalid_plan' | '
|
|
11
|
+
export type SubscriptionStandingEvidenceError = 'invalid_plan' | 'invalid_status' | 'invalid_period_end' | 'invalid_cancellation';
|
|
13
12
|
export type SubscriptionStandingEvidence = Readonly<{
|
|
14
13
|
planId: PaidBillingPlanId;
|
|
15
|
-
interval: BillingInterval;
|
|
16
14
|
status: SubscriptionStatus;
|
|
17
15
|
currentPeriodEnd: UtcIsoDateTimeString;
|
|
18
16
|
cancelAtPeriodEnd: boolean;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
+
import { type StripeCustomerId, type StripeSubscriptionId } from '../../../core/src/index';
|
|
1
2
|
import type { ProviderSubscriptionRecord } from './evidence';
|
|
2
3
|
import { type RawSubscriptionStandingEvidence, type SubscriptionStandingEvidenceError } from './standingEvidence';
|
|
3
|
-
import type { BillingInterval } from '../plans/types';
|
|
4
4
|
import type { BillingSubscriptionOrigin } from '../site-arrangements';
|
|
5
5
|
export type SubscriptionStatus = 'incomplete_expired' | 'paused' | 'incomplete' | 'trialing' | 'active' | 'past_due' | 'canceled' | 'unpaid';
|
|
6
6
|
export interface SubscriptionRecord {
|
|
7
|
-
id:
|
|
7
|
+
id: StripeSubscriptionId;
|
|
8
8
|
userId: string;
|
|
9
|
-
customerId:
|
|
9
|
+
customerId: StripeCustomerId;
|
|
10
10
|
planId: string;
|
|
11
11
|
origin: BillingSubscriptionOrigin | null;
|
|
12
|
-
interval: BillingInterval;
|
|
13
12
|
status: SubscriptionStatus;
|
|
14
13
|
currentPeriodEnd: string;
|
|
15
14
|
cancelAtPeriodEnd: boolean;
|
|
@@ -18,9 +17,9 @@ export interface SubscriptionRecord {
|
|
|
18
17
|
}
|
|
19
18
|
export type InvalidSubscriptionRecord = Readonly<{
|
|
20
19
|
kind: 'invalid';
|
|
21
|
-
id:
|
|
20
|
+
id: StripeSubscriptionId;
|
|
22
21
|
userId: string;
|
|
23
|
-
customerId:
|
|
22
|
+
customerId: StripeCustomerId;
|
|
24
23
|
reason: SubscriptionStandingEvidenceError;
|
|
25
24
|
}>;
|
|
26
25
|
export type SubscriptionRead = ProviderSubscriptionRecord | InvalidSubscriptionRecord | null;
|
|
@@ -31,18 +30,25 @@ export declare class InvalidSubscriptionEvidenceError extends Error {
|
|
|
31
30
|
}
|
|
32
31
|
/** For mutation boundaries that cannot operate without valid subscription evidence. */
|
|
33
32
|
export declare function requireSubscriptionRecord(value: SubscriptionRead): ProviderSubscriptionRecord | null;
|
|
34
|
-
|
|
33
|
+
/**
|
|
34
|
+
* The parse boundary for a stored row: the Stripe ids arrive as the column
|
|
35
|
+
* strings and leave as branded ids, whether or not the rest is valid.
|
|
36
|
+
*/
|
|
37
|
+
export declare function readSubscriptionRecord(raw: Omit<SubscriptionRecord, keyof RawSubscriptionStandingEvidence | 'id' | 'customerId'> & RawSubscriptionStandingEvidence & Readonly<{
|
|
38
|
+
id: string;
|
|
39
|
+
customerId: string;
|
|
40
|
+
}>): ProviderSubscriptionRecord | InvalidSubscriptionRecord;
|
|
35
41
|
export interface SubscriptionRepository {
|
|
36
42
|
upsert(record: SubscriptionRecord): Promise<void>;
|
|
37
43
|
getByUserId(userId: string): Promise<SubscriptionRead>;
|
|
38
|
-
getBySubscriptionId(subscriptionId:
|
|
39
|
-
removeBySubscriptionId(subscriptionId:
|
|
44
|
+
getBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<SubscriptionRead>;
|
|
45
|
+
removeBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<void>;
|
|
40
46
|
}
|
|
41
47
|
export declare class InMemorySubscriptionRepository implements SubscriptionRepository {
|
|
42
48
|
private byUser;
|
|
43
49
|
private byId;
|
|
44
50
|
upsert(record: SubscriptionRecord): Promise<void>;
|
|
45
51
|
getByUserId(userId: string): Promise<SubscriptionRead>;
|
|
46
|
-
getBySubscriptionId(subscriptionId:
|
|
47
|
-
removeBySubscriptionId(subscriptionId:
|
|
52
|
+
getBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<SubscriptionRead>;
|
|
53
|
+
removeBySubscriptionId(subscriptionId: StripeSubscriptionId): Promise<void>;
|
|
48
54
|
}
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
* Integrates with EditorUiStore for autosave-enabled form management.
|
|
5
5
|
* Supports blocks (per-block data), metadata, content, and linkedContent (embedded entry data).
|
|
6
6
|
*/
|
|
7
|
-
import type
|
|
7
|
+
import { type EditorBlockId, type EditorValueRecord, type ValueSync } from '../../../core/src/index';
|
|
8
8
|
import { type BlockDraftSaveability } from '../blockDraftSaveability';
|
|
9
9
|
import type { FormBackend, StoreBackendOptions } from './types';
|
|
10
10
|
type StoreSnapshot = {
|
|
11
|
-
|
|
12
|
-
baseline: Record<string, unknown> | null;
|
|
13
|
-
syncState: EditorSyncState;
|
|
11
|
+
sync: ValueSync<EditorValueRecord | null>;
|
|
14
12
|
version?: number;
|
|
15
13
|
};
|
|
16
14
|
interface BlocksSlice {
|
|
@@ -18,7 +16,6 @@ interface BlocksSlice {
|
|
|
18
16
|
setAtPath: (blockId: EditorBlockId, path: string, value: unknown) => void;
|
|
19
17
|
getCurrentValues: (blockId: EditorBlockId) => Record<string, unknown> | null;
|
|
20
18
|
getBlockSnapshot?: (blockId: EditorBlockId) => StoreSnapshot | null;
|
|
21
|
-
clearError?: (blockId: EditorBlockId) => void;
|
|
22
19
|
updateBlockBaseline?: (blockId: EditorBlockId, data: Record<string, unknown> | null) => void;
|
|
23
20
|
}
|
|
24
21
|
interface RootSlice {
|
|
@@ -27,8 +24,10 @@ interface RootSlice {
|
|
|
27
24
|
setAtPath: (path: string, value: unknown) => void;
|
|
28
25
|
getCurrentValues: () => Record<string, unknown> | null;
|
|
29
26
|
getSnapshot?: () => StoreSnapshot | null;
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
/** Applies server values as a refresh; `replace` throws local edits away. */
|
|
28
|
+
refresh?: (input: Readonly<{
|
|
29
|
+
values: Record<string, unknown> | null;
|
|
30
|
+
}>, policy: 'replace') => unknown;
|
|
32
31
|
}
|
|
33
32
|
interface ArrayKeysManager {
|
|
34
33
|
get: (scope: string, path: string) => string[] | undefined;
|
|
@@ -133,6 +133,13 @@ export type StoreBackendOptions<TState = unknown> = {
|
|
|
133
133
|
store: ZustandLikeStore<TState>;
|
|
134
134
|
blockId?: EditorBlockId;
|
|
135
135
|
validateFn?: (values: Record<string, unknown>) => ZodIssue[];
|
|
136
|
+
/**
|
|
137
|
+
* Read-only values beside the scope's own, keyed by top-level field id. A read of a key
|
|
138
|
+
* the values don't hold falls back to these, so a widget can watch a sibling that isn't
|
|
139
|
+
* a value (slug auto-generation's `statusFieldId` reads the entry's lifecycle status
|
|
140
|
+
* this way). They're never written, sent or edited.
|
|
141
|
+
*/
|
|
142
|
+
context?: Readonly<Record<string, unknown>>;
|
|
136
143
|
};
|
|
137
144
|
/**
|
|
138
145
|
* Type guards for discriminating backend types
|
|
@@ -9,6 +9,8 @@ export type FieldFrameProps = {
|
|
|
9
9
|
fieldPath?: string;
|
|
10
10
|
label?: ReactNode;
|
|
11
11
|
required?: boolean;
|
|
12
|
+
/** Marks the label "optional", for forms that mark what can be left blank rather than what can't. */
|
|
13
|
+
optional?: boolean;
|
|
12
14
|
labelClassName?: string;
|
|
13
15
|
description?: ReactNode;
|
|
14
16
|
descriptionClassName?: string;
|
|
@@ -29,4 +31,4 @@ export declare function FieldFrameMessage({ id, error, hint }: FieldFrameMessage
|
|
|
29
31
|
export declare function FieldLabelText({ label, required, }: {
|
|
30
32
|
label: ReactNode;
|
|
31
33
|
required?: boolean;
|
|
32
|
-
}): import("react").JSX.Element
|
|
34
|
+
}): import("react").JSX.Element;
|
|
@@ -4,3 +4,6 @@ export { EventDetailsIslandClient, type EventDetailsIslandClientProps, } from '.
|
|
|
4
4
|
export { EventCalendarClient, type EventCalendarClientProps, } from '../system/runtime/nodes/events/EventCalendar.client';
|
|
5
5
|
export { EventCombinedIslandClient, type EventCombinedClientProps, type EventCombinedIslandClientProps, } from '../system/runtime/nodes/events/EventCombined.client';
|
|
6
6
|
export { EventListingClient, type EventListingClientProps, } from '../system/runtime/nodes/events/EventListing.client';
|
|
7
|
+
export { EventCardClient, type EventCardClientProps, } from '../system/runtime/nodes/events/shared/EventCard.client';
|
|
8
|
+
export { catalogueEventCardProps, type EventCardDisplayProps, } from '../system/runtime/nodes/events/shared/eventCardPresentations';
|
|
9
|
+
export { defaultEventListingCardProps } from '../system/runtime/nodes/events/EventListing.interactive';
|
|
@@ -28,6 +28,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
28
28
|
message: string | null;
|
|
29
29
|
}>;
|
|
30
30
|
hydration: Readonly<{
|
|
31
|
+
demoEmailSuppressed?: boolean;
|
|
31
32
|
mailingList?: import("../../../core/src/index").MailingListRuntimeContext;
|
|
32
33
|
siteName?: string;
|
|
33
34
|
formId: string | null;
|
|
@@ -118,6 +119,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
118
119
|
message: string | null;
|
|
119
120
|
}>;
|
|
120
121
|
hydration: Readonly<{
|
|
122
|
+
demoEmailSuppressed?: boolean;
|
|
121
123
|
mailingList?: import("../../../core/src/index").MailingListRuntimeContext;
|
|
122
124
|
siteName?: string;
|
|
123
125
|
formId: string | null;
|
|
@@ -205,7 +207,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
205
207
|
mode: "event-registration";
|
|
206
208
|
} & Readonly<{
|
|
207
209
|
display: EventRegistrationDisplay;
|
|
208
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "
|
|
210
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "stage" | "siteId" | "className" | "events" | "buttonText"> & {
|
|
209
211
|
eventSource: import("../system/runtime/nodes/event-registration/eventSourceRecovery").EventRegistrationEventSource;
|
|
210
212
|
}>;
|
|
211
213
|
}>>;
|
|
@@ -223,7 +225,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
223
225
|
mode: "event-registration";
|
|
224
226
|
} & Readonly<{
|
|
225
227
|
display: EventRegistrationDisplay;
|
|
226
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "
|
|
228
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "stage" | "siteId" | "className" | "events" | "buttonText"> & {
|
|
227
229
|
eventSource: import("../system/runtime/nodes/event-registration/eventSourceRecovery").EventRegistrationEventSource;
|
|
228
230
|
}>;
|
|
229
231
|
}>>;
|
|
@@ -779,6 +781,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
779
781
|
hydration: Readonly<{
|
|
780
782
|
emptyStateText: string;
|
|
781
783
|
submitButtonText: string;
|
|
784
|
+
demoEmailSuppressed?: boolean;
|
|
782
785
|
}>;
|
|
783
786
|
}>>;
|
|
784
787
|
}>) => unknown;
|
|
@@ -803,6 +806,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
803
806
|
hydration: Readonly<{
|
|
804
807
|
emptyStateText: string;
|
|
805
808
|
submitButtonText: string;
|
|
809
|
+
demoEmailSuppressed?: boolean;
|
|
806
810
|
}>;
|
|
807
811
|
}>>;
|
|
808
812
|
}>>;
|
|
@@ -857,6 +861,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
857
861
|
memberships: readonly import("..").PublicMembershipProduct[];
|
|
858
862
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
859
863
|
buttonVariant: import("..").BlockButtonRole;
|
|
864
|
+
demoEmailSuppressed?: boolean;
|
|
860
865
|
}>;
|
|
861
866
|
}>>;
|
|
862
867
|
}>) => unknown;
|
|
@@ -909,6 +914,7 @@ export declare const proofBlockIslandCodecs: {
|
|
|
909
914
|
memberships: readonly import("..").PublicMembershipProduct[];
|
|
910
915
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
911
916
|
buttonVariant: import("..").BlockButtonRole;
|
|
917
|
+
demoEmailSuppressed?: boolean;
|
|
912
918
|
}>;
|
|
913
919
|
}>>;
|
|
914
920
|
}>>;
|
|
@@ -994,6 +1000,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
994
1000
|
message: string | null;
|
|
995
1001
|
}>;
|
|
996
1002
|
hydration: Readonly<{
|
|
1003
|
+
demoEmailSuppressed?: boolean;
|
|
997
1004
|
mailingList?: import("../../../core/src/index").MailingListRuntimeContext;
|
|
998
1005
|
siteName?: string;
|
|
999
1006
|
formId: string | null;
|
|
@@ -1084,6 +1091,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1084
1091
|
message: string | null;
|
|
1085
1092
|
}>;
|
|
1086
1093
|
hydration: Readonly<{
|
|
1094
|
+
demoEmailSuppressed?: boolean;
|
|
1087
1095
|
mailingList?: import("../../../core/src/index").MailingListRuntimeContext;
|
|
1088
1096
|
siteName?: string;
|
|
1089
1097
|
formId: string | null;
|
|
@@ -1171,7 +1179,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1171
1179
|
mode: "event-registration";
|
|
1172
1180
|
} & Readonly<{
|
|
1173
1181
|
display: EventRegistrationDisplay;
|
|
1174
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "
|
|
1182
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "stage" | "siteId" | "className" | "events" | "buttonText"> & {
|
|
1175
1183
|
eventSource: import("../system/runtime/nodes/event-registration/eventSourceRecovery").EventRegistrationEventSource;
|
|
1176
1184
|
}>;
|
|
1177
1185
|
}>>;
|
|
@@ -1189,7 +1197,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1189
1197
|
mode: "event-registration";
|
|
1190
1198
|
} & Readonly<{
|
|
1191
1199
|
display: EventRegistrationDisplay;
|
|
1192
|
-
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "
|
|
1200
|
+
hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "stage" | "siteId" | "className" | "events" | "buttonText"> & {
|
|
1193
1201
|
eventSource: import("../system/runtime/nodes/event-registration/eventSourceRecovery").EventRegistrationEventSource;
|
|
1194
1202
|
}>;
|
|
1195
1203
|
}>>;
|
|
@@ -1745,6 +1753,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1745
1753
|
hydration: Readonly<{
|
|
1746
1754
|
emptyStateText: string;
|
|
1747
1755
|
submitButtonText: string;
|
|
1756
|
+
demoEmailSuppressed?: boolean;
|
|
1748
1757
|
}>;
|
|
1749
1758
|
}>>;
|
|
1750
1759
|
}>) => unknown;
|
|
@@ -1769,6 +1778,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1769
1778
|
hydration: Readonly<{
|
|
1770
1779
|
emptyStateText: string;
|
|
1771
1780
|
submitButtonText: string;
|
|
1781
|
+
demoEmailSuppressed?: boolean;
|
|
1772
1782
|
}>;
|
|
1773
1783
|
}>>;
|
|
1774
1784
|
}>>;
|
|
@@ -1823,6 +1833,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1823
1833
|
memberships: readonly import("..").PublicMembershipProduct[];
|
|
1824
1834
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
1825
1835
|
buttonVariant: import("..").BlockButtonRole;
|
|
1836
|
+
demoEmailSuppressed?: boolean;
|
|
1826
1837
|
}>;
|
|
1827
1838
|
}>>;
|
|
1828
1839
|
}>) => unknown;
|
|
@@ -1875,6 +1886,7 @@ export declare const runtimeIslandCodecs: {
|
|
|
1875
1886
|
memberships: readonly import("..").PublicMembershipProduct[];
|
|
1876
1887
|
passPurchaseMode: "add_to_cart" | "buy_now";
|
|
1877
1888
|
buttonVariant: import("..").BlockButtonRole;
|
|
1889
|
+
demoEmailSuppressed?: boolean;
|
|
1878
1890
|
}>;
|
|
1879
1891
|
}>>;
|
|
1880
1892
|
}>>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PublishedBlockPlacementRead } from '../../core/src/index';
|
|
1
2
|
import type { Block, PageOutline } from './structure/schema';
|
|
2
3
|
import type { ManifestContentAdmissionError, RenderableManifestContent } from './system/manifest/validation';
|
|
3
4
|
export type PageBlockRenderAdmissionError = Readonly<{
|
|
@@ -6,17 +7,7 @@ export type PageBlockRenderAdmissionError = Readonly<{
|
|
|
6
7
|
}> | Readonly<{
|
|
7
8
|
kind: 'manifest_unavailable';
|
|
8
9
|
}>;
|
|
9
|
-
export type PublishedBlockPlacement
|
|
10
|
-
id: string;
|
|
11
|
-
content: Record<string, unknown>;
|
|
12
|
-
}>;
|
|
13
|
-
export type PublishedBlockPlacementRead = PublishedBlockPlacement | Readonly<{
|
|
14
|
-
kind: 'incomplete';
|
|
15
|
-
id: string | null;
|
|
16
|
-
content: Record<string, unknown> | null;
|
|
17
|
-
}> | null;
|
|
18
|
-
/** Pair a published version with the content it authorises at the render boundary. */
|
|
19
|
-
export declare function readPublishedBlockPlacement(id: string | null | undefined, content: Record<string, unknown> | null | undefined): PublishedBlockPlacementRead;
|
|
10
|
+
export { readPublishedBlockPlacement, type PublishedBlockPlacement, type PublishedBlockPlacementRead, } from '../../core/src/index';
|
|
20
11
|
export type RenderablePageBlock = Readonly<{
|
|
21
12
|
id: Block['id'];
|
|
22
13
|
kind: Block['kind'];
|
|
@@ -54,11 +45,11 @@ export type PresentationBlock = Block & Readonly<{
|
|
|
54
45
|
export type PresentationPageOutline = Omit<PageOutline, 'blocks'> & Readonly<{
|
|
55
46
|
blocks: readonly PresentationBlock[];
|
|
56
47
|
}>;
|
|
48
|
+
/** A content-read page for the editor: render blocks plus their server versions. */
|
|
57
49
|
export type EditorRenderablePageOutline = Omit<PageOutline, 'blocks'> & Readonly<{
|
|
58
50
|
blocks: (Block & Readonly<{
|
|
59
51
|
draftContentId: string | null;
|
|
60
|
-
|
|
61
|
-
publishedContent: Record<string, unknown> | null;
|
|
52
|
+
publishedPlacement: PublishedBlockPlacementRead;
|
|
62
53
|
}>)[];
|
|
63
54
|
}>;
|
|
64
55
|
export type EditorPageOutlineWithPlacement = Omit<PageOutline, 'blocks'> & Readonly<{
|
|
@@ -48,6 +48,7 @@ export type BlockOverrideProps<TContent = Record<string, unknown>> = {
|
|
|
48
48
|
data?: Record<string, unknown>;
|
|
49
49
|
/** Site UUID (useful for media URL resolution in override components) */
|
|
50
50
|
siteId?: string;
|
|
51
|
+
demoEmailSuppressed?: boolean;
|
|
51
52
|
/** Dashboard API URL for client-side block runtime calls. */
|
|
52
53
|
apiBaseUrl?: string;
|
|
53
54
|
/** Canonical site timezone for calendar/date behavior. */
|
|
@@ -137,6 +138,7 @@ export type SdkConfigForRenderer = {
|
|
|
137
138
|
*/
|
|
138
139
|
export type PageRendererDataContext = {
|
|
139
140
|
siteId?: string;
|
|
141
|
+
demoEmailSuppressed?: boolean;
|
|
140
142
|
/** Public business name from sites.title. */
|
|
141
143
|
siteName?: string;
|
|
142
144
|
pageId?: string;
|
|
@@ -124,8 +124,6 @@ export interface CustomerEventSeriesRegistration {
|
|
|
124
124
|
eventTitle: string;
|
|
125
125
|
/** Path to the Event page (published route) when available */
|
|
126
126
|
eventPath?: string | null;
|
|
127
|
-
/** Rich text description in ProseMirror/TipTap JSON format, or null if not set */
|
|
128
|
-
eventDescription: unknown;
|
|
129
127
|
status: 'pending_payment' | 'enrolled' | 'waitlist' | 'cancelled' | 'completed';
|
|
130
128
|
paymentMethod: 'free' | 'membership' | 'stripe' | null;
|
|
131
129
|
paymentStatus: 'not_required' | 'pending' | 'completed' | 'failed' | 'refunded' | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SystemBlockDefinition } from "../registry";
|
|
2
|
-
import type { SectionStylesContent } from "../fields/boxStyles";
|
|
2
|
+
import type { ContainerStylesContent, SectionStylesContent } from "../fields/boxStyles";
|
|
3
3
|
import { type RichTextDoc } from "./form";
|
|
4
4
|
import type { MailingListPlacementTargeting } from '../../../../core/src/index';
|
|
5
5
|
export declare const contactNewsletterManifest: import("..").DefinedBlockManifest<import("..").BlockContentShapeInput<{
|
|
@@ -142,6 +142,7 @@ export type ContactNewsletterContent = {
|
|
|
142
142
|
formSlug: string;
|
|
143
143
|
contactSubmitLabel?: string | null;
|
|
144
144
|
contactSuccessMessage?: string | null;
|
|
145
|
+
_containerStyles?: ContainerStylesContent;
|
|
145
146
|
_sectionStyles?: SectionStylesContent;
|
|
146
147
|
};
|
|
147
148
|
export declare const contactNewsletterBlockDefinition: SystemBlockDefinition<ContactNewsletterContent>;
|
|
@@ -92,8 +92,10 @@ export declare const eventRegistrationManifest: import("..").DefinedBlockManifes
|
|
|
92
92
|
readonly description: "Message shown after successful registration";
|
|
93
93
|
readonly required: false;
|
|
94
94
|
readonly multiline: true;
|
|
95
|
-
readonly defaultValue: "Thank you for registering! Check your email for confirmation details.";
|
|
96
95
|
readonly maxLength: 500;
|
|
96
|
+
readonly ui: {
|
|
97
|
+
readonly placeholder: "Thank you for registering! Check your email for confirmation details.";
|
|
98
|
+
};
|
|
97
99
|
}, {
|
|
98
100
|
readonly id: "buttonText";
|
|
99
101
|
readonly type: "text";
|