@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.
Files changed (381) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{PreviewEditorSidebar-DtpB3_sS.mjs → PreviewEditorSidebar-DvEPG3Z2.mjs} +202 -143
  3. package/dist/{PreviewEditorUI-DxTLgaHo.mjs → PreviewEditorUI-D6eb6fkx.mjs} +68 -60
  4. package/dist/{PreviewQueryProvider-Dd4dxOiU.mjs → PreviewQueryProvider-5znTyJuz.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DMMNCngt.mjs → SdkPreviewModeRuntime-DJ6utQ_R.mjs} +1191 -513
  6. package/dist/{SiteChromeCustomizeContext-DQXZXiqS.mjs → SiteChromeCustomizeContext-CFJYh6vo.mjs} +201798 -197304
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +0 -33
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +0 -3
  9. package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
  10. package/dist/_dts/api/src/accountApi.d.ts +1 -1
  11. package/dist/_dts/api/src/admin.d.ts +22 -22
  12. package/dist/_dts/api/src/aiPatch.d.ts +2 -2
  13. package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
  14. package/dist/_dts/api/src/analytics.d.ts +2 -2
  15. package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
  16. package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
  17. package/dist/_dts/api/src/auth.d.ts +10 -10
  18. package/dist/_dts/api/src/availability.d.ts +6 -6
  19. package/dist/_dts/api/src/billing.d.ts +42 -15
  20. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
  21. package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
  22. package/dist/_dts/api/src/blocks.d.ts +15 -14
  23. package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
  24. package/dist/_dts/api/src/bookingConfig.d.ts +0 -2
  25. package/dist/_dts/api/src/bookingOperations.d.ts +4 -4
  26. package/dist/_dts/api/src/bookingRecords.d.ts +1 -0
  27. package/dist/_dts/api/src/bookings.d.ts +7 -7
  28. package/dist/_dts/api/src/calendar.d.ts +9 -9
  29. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -6
  30. package/dist/_dts/api/src/common/envelope.d.ts +2 -2
  31. package/dist/_dts/api/src/content-editor.d.ts +2 -2
  32. package/dist/_dts/api/src/contentEntries.d.ts +17 -48
  33. package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
  34. package/dist/_dts/api/src/contentTypes.d.ts +11 -11
  35. package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
  36. package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
  37. package/dist/_dts/api/src/domains.d.ts +16 -16
  38. package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
  39. package/dist/_dts/api/src/emailSettings.d.ts +4 -4
  40. package/dist/_dts/api/src/endpoints.d.ts +133 -41
  41. package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
  42. package/dist/_dts/api/src/eventManagementContracts.d.ts +25 -0
  43. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +0 -8
  44. package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
  45. package/dist/_dts/api/src/footerSettings.d.ts +6 -6
  46. package/dist/_dts/api/src/index.d.ts +6 -5
  47. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  48. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  49. package/dist/_dts/api/src/navigation.d.ts +5 -5
  50. package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
  51. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
  52. package/dist/_dts/api/src/pages.d.ts +7 -7
  53. package/dist/_dts/api/src/performance.d.ts +1 -1
  54. package/dist/_dts/api/src/public/index.d.ts +1 -1
  55. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +2 -0
  56. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +4 -0
  57. package/dist/_dts/api/src/redirects.d.ts +3 -3
  58. package/dist/_dts/api/src/request.d.ts +10 -1
  59. package/dist/_dts/api/src/resources.d.ts +4 -4
  60. package/dist/_dts/api/src/routes.d.ts +8 -3
  61. package/dist/_dts/api/src/sdk-event-upsert.d.ts +0 -1
  62. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
  63. package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
  64. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
  65. package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
  66. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
  67. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +8 -1
  68. package/dist/_dts/api/src/seo.d.ts +4 -4
  69. package/dist/_dts/api/src/services.d.ts +4 -4
  70. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -8
  71. package/dist/_dts/api/src/siteMembers.d.ts +10 -10
  72. package/dist/_dts/api/src/siteOnboarding.d.ts +14 -0
  73. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
  74. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
  75. package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
  76. package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
  77. package/dist/_dts/billing/src/components/index.d.ts +25 -40
  78. package/dist/_dts/billing/src/membership/index.d.ts +1 -3
  79. package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
  80. package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
  81. package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
  82. package/dist/_dts/billing/src/plans/types.d.ts +5 -15
  83. package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
  84. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
  85. package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
  86. package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
  87. package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
  88. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
  89. package/dist/_dts/blocks/src/client/events.d.ts +3 -0
  90. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
  91. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +4 -13
  92. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
  93. package/dist/_dts/blocks/src/portal/types.d.ts +0 -2
  94. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
  95. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
  96. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +4 -4
  97. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +6 -1
  98. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
  99. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -0
  101. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +6 -0
  102. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
  103. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
  104. package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
  105. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -6
  106. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -3
  107. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -0
  108. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
  109. package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
  110. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +3 -1
  112. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +4 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +9 -0
  114. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
  115. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +15 -1
  116. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
  117. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +1 -0
  118. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +1 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
  120. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  121. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
  122. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -0
  124. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -5
  125. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -5
  126. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
  128. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
  130. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +5 -5
  132. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
  133. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
  134. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  135. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
  136. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
  137. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  138. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
  139. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
  140. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  141. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
  142. package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
  143. package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
  144. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
  145. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
  146. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
  147. package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
  148. package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
  149. package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
  150. package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
  151. package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
  152. package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
  153. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
  154. package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
  155. package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
  156. package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
  157. package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
  158. package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
  159. package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
  160. package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
  161. package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
  162. package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
  163. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
  164. package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
  165. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
  166. package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
  167. package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
  168. package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
  169. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
  170. package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
  171. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
  172. package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
  173. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
  174. package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
  175. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
  176. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
  177. package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
  178. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
  179. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
  180. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
  181. package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
  182. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
  183. package/dist/_dts/content-editor/src/index.d.ts +26 -7
  184. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
  185. package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
  186. package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
  187. package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
  188. package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
  189. package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
  190. package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
  191. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
  192. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
  193. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
  194. package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
  195. package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
  196. package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
  197. package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
  198. package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
  199. package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
  200. package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
  201. package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
  202. package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
  203. package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
  204. package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
  205. package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
  206. package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
  207. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
  208. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
  209. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
  210. package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
  211. package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
  212. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
  213. package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
  214. package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
  215. package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
  216. package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
  217. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
  218. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
  219. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
  220. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
  221. package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
  222. package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
  223. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  224. package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
  225. package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
  226. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
  227. package/dist/_dts/content-model/src/types.d.ts +0 -1
  228. package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
  229. package/dist/_dts/core/src/branded.d.ts +12 -0
  230. package/dist/_dts/core/src/currency-format.d.ts +8 -2
  231. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
  232. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
  233. package/dist/_dts/core/src/edit-lease.d.ts +55 -0
  234. package/dist/_dts/core/src/editor-state.d.ts +38 -13
  235. package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
  236. package/dist/_dts/core/src/html-entities.d.ts +6 -0
  237. package/dist/_dts/core/src/index.d.ts +4 -0
  238. package/dist/_dts/core/src/uuid.d.ts +7 -5
  239. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +159 -153
  240. package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
  241. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
  242. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
  243. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
  244. package/dist/_dts/editor/src/index.d.ts +1 -1
  245. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
  246. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
  247. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  248. package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
  249. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
  250. package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
  251. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
  252. package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
  253. package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
  254. package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
  255. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
  256. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
  257. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
  258. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
  259. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
  260. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
  261. package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
  262. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
  263. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
  264. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
  265. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
  266. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
  267. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
  268. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  269. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
  270. package/dist/_dts/media-editor/src/provider.d.ts +3 -2
  271. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  272. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
  273. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
  274. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +6 -3
  275. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
  276. package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
  277. package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
  278. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
  279. package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
  280. package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
  281. package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
  282. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
  283. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
  284. package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
  285. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  286. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +24 -14
  287. package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
  288. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
  289. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  290. package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
  291. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
  292. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
  293. package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
  294. package/dist/_dts/realtime/src/client.d.ts +3 -0
  295. package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
  296. package/dist/_dts/realtime/src/drafts.d.ts +210 -0
  297. package/dist/_dts/realtime/src/index.d.ts +3 -0
  298. package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
  299. package/dist/_dts/realtime/src/types.d.ts +113 -0
  300. package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
  301. package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
  302. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
  303. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  304. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
  305. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -0
  306. package/dist/_dts/sdk/src/version.d.ts +1 -1
  307. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  308. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  309. package/dist/client/{BookingMailingListNote-1n4Ch_u_.mjs → BookingMailingListNote-CzRt2dF_.mjs} +98 -96
  310. package/dist/client/DemoBookingPortalAccess-mxqwap3f.mjs +344 -0
  311. package/dist/client/{EventCombined.client-C0pgma9y.mjs → EventCombined.client-CDb11igO.mjs} +6 -6
  312. package/dist/client/{EventListing.client-4fhLOvHP.mjs → EventListing.client-EgYhzKPa.mjs} +2 -2
  313. package/dist/client/{LeafletStaticMap-DScC4F3w.mjs → LeafletStaticMap-gtmtaA2b.mjs} +1 -1
  314. package/dist/client/{TerminalPanel-B5ZUsYhe.mjs → TerminalPanel-DvNUP5ot.mjs} +1 -1
  315. package/dist/client/{ThemedButton-DoVIV1Ao.mjs → ThemedButton-C7CeUJjW.mjs} +1 -1
  316. package/dist/client/{accordion-CoT5g7zo.mjs → accordion-kjvt49rA.mjs} +1 -1
  317. package/dist/client/{bookingForm-BWxB46xD.mjs → bookingForm-pbRZordh.mjs} +212 -62
  318. package/dist/client/bookings.mjs +616 -225
  319. package/dist/client/{carousel-DtNYWFd3.mjs → carousel-f4Zbmicv.mjs} +1 -1
  320. package/dist/client/{cart-z4qZih1Y.mjs → cart-DO20An50.mjs} +3 -3
  321. package/dist/client/{checkout-DpL7euFH.mjs → checkout-Du5amDR_.mjs} +3 -3
  322. package/dist/client/{checkoutUrls-BEfR7kVu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
  323. package/dist/client/client.mjs +1753 -823
  324. package/dist/client/{context-C8TinPJc.mjs → context-eW97E945.mjs} +4 -3
  325. package/dist/client/{dates-vwwxTeB0.mjs → dates-jPCirRea.mjs} +56 -11
  326. package/dist/client/{eventCalendar-DIbHfJXO.mjs → eventCalendar-C2M-iE4j.mjs} +9 -9
  327. package/dist/client/{eventCombined-DoGMJ6cg.mjs → eventCombined-W6ns3LHg.mjs} +4 -4
  328. package/dist/client/{eventDetails-BjN9v6a1.mjs → eventDetails-CR-GT0f0.mjs} +4 -4
  329. package/dist/client/{eventListing-DajjWgOv.mjs → eventListing-BK8AfYZz.mjs} +4 -4
  330. package/dist/client/{eventRegistration-DMq9gMA-.mjs → eventRegistration-BJSd4KUu.mjs} +369 -242
  331. package/dist/client/{form-Qf6qTbos.mjs → form-BvpfbQaT.mjs} +3 -3
  332. package/dist/client/{headerSection-D7qJrqFX.mjs → headerSection-I5sUQ8x-.mjs} +3 -3
  333. package/dist/client/hooks.mjs +254 -53
  334. package/dist/client/{locationMap-CCF9-t_0.mjs → locationMap-BLvwf9_f.mjs} +3 -3
  335. package/dist/client/{media-CwBGetqC.mjs → media-Cl38iOMI.mjs} +10 -3
  336. package/dist/client/{newsletterForm-DzCLSP4S.mjs → newsletterForm-DrQ2weE8.mjs} +3 -3
  337. package/dist/client/{pricing-Cgxv2KLC.mjs → pricing-BES87mrR.mjs} +1 -1
  338. package/dist/client/{productDetail-ru9w5GHx.mjs → productDetail-Url9jcc5.mjs} +3 -3
  339. package/dist/client/{productList-zaapKSl-.mjs → productList-DE7ngEZJ.mjs} +3 -3
  340. package/dist/client/{propsDecoder-CwvvNOHx.mjs → propsDecoder-D1OtGXDV.mjs} +89 -17
  341. package/dist/client/rendering/client.mjs +1445 -658
  342. package/dist/client/rendering/islands.mjs +18 -18
  343. package/dist/client/rendering.mjs +2478 -1515
  344. package/dist/client/{routeIslandApiConfig-BwVFo0Y4.mjs → routeIslandApiConfig-BG9Y-SHg.mjs} +1 -1
  345. package/dist/client/{shop-mktkXvbV.mjs → shop-CJkuySJ3.mjs} +126 -79
  346. package/dist/client/{shop-commerce-De7gEnkA.mjs → shop-commerce-4rKj5n9h.mjs} +25 -13
  347. package/dist/client/{shop-commerce-store-B3MCxIBW.mjs → shop-commerce-store-Bxm75Pg6.mjs} +1 -1
  348. package/dist/client/{shopShared-TqExh235.mjs → shopShared-DpoQDWfz.mjs} +4 -4
  349. package/dist/client/{useEventFilters-n_OjkIjX.mjs → useEventFilters-D8HliSqR.mjs} +32 -17
  350. package/dist/preview-next/before-render.mjs +192 -83
  351. package/dist/preview-next/client/runtime.mjs +4 -4
  352. package/dist/preview-next/keepAlive.mjs +192 -83
  353. package/dist/preview-next/middleware.mjs +192 -83
  354. package/dist/{previewAuthStore-C_EHQ5XA.mjs → previewAuthStore-BXXF3hhW.mjs} +194 -83
  355. package/dist/{sdk-runtime-BIkJg5y1.mjs → sdk-runtime-C2a05WjL.mjs} +2 -2
  356. package/dist/{separator-C9qDP95Z.mjs → separator-CuNhBAhS.mjs} +1 -1
  357. package/dist/server/components.mjs +1720 -1392
  358. package/dist/server/config-validation.mjs +221 -37
  359. package/dist/server/config.mjs +221 -37
  360. package/dist/server/data.mjs +221 -37
  361. package/dist/server/index.mjs +195 -84
  362. package/dist/server/next.mjs +490 -196
  363. package/dist/server/page-converter.mjs +53 -14
  364. package/dist/server/prebuild.mjs +1 -1
  365. package/dist/server/rendering/server.mjs +1427 -1098
  366. package/dist/server/rendering.mjs +2693 -2365
  367. package/dist/server/routing.mjs +291 -55
  368. package/dist/server/server.mjs +281 -114
  369. package/package.json +1 -1
  370. package/dist/_dts/billing/src/plans/display.d.ts +0 -15
  371. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +0 -3
  372. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
  373. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
  374. package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
  375. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
  376. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
  377. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
  378. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
  379. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
  380. package/dist/_dts/content-editor/src/types.d.ts +0 -44
  381. package/dist/client/DiscountCodeDisclosure-CKJtz0mY.mjs +0 -137
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.147.0",
3
+ "version": "0.148.0",
4
4
  "description": "Riverbank CMS SDK for headless content consumption",
5
5
  "main": "./dist/server/index.mjs",
6
6
  "module": "./dist/server/index.mjs",
@@ -1,15 +0,0 @@
1
- import { type BillingPlanId } from './types';
2
- /**
3
- * What each plan is called in front of a customer.
4
- *
5
- * It lives apart from the registry because the registry reaches Stripe on
6
- * import, and a name is the one thing a browser bundle needs. The registry
7
- * reads its `name` fields from here, so there is still one source.
8
- */
9
- export declare const BILLING_PLAN_NAMES: {
10
- readonly free: "Free";
11
- readonly core: "Core";
12
- readonly solo: "Solo";
13
- readonly studio: "Studio";
14
- };
15
- export declare function billingPlanName(planId: BillingPlanId): string;
@@ -1,3 +0,0 @@
1
- import type { BookingMailingListNote } from '../../../../../core/src/index';
2
- export declare function saveAppointmentMailingListNote(sessionId: string, note: BookingMailingListNote | undefined): void;
3
- export declare function readAppointmentMailingListNote(sessionId: string): BookingMailingListNote | null;
@@ -1,4 +0,0 @@
1
- import { type EditorBlockPublishedBaselineInput } from '../../../core/src/index';
2
- import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
3
- export type BlockPublishedBaselineInput = EditorBlockPublishedBaselineInput;
4
- export declare function buildBlockPublishedBaselines(blocks: readonly BlockItem[]): BlockPublishedBaselineInput[];
@@ -1,16 +0,0 @@
1
- import type { PublishedBlockBaseline } from "../../../api/src/content-editor";
2
- import { type ContentEntrySnapshot, type RoutingHelpers } from "../../../content-model/src/index";
3
- import type { BlockPublishedBaselineInput } from "./buildBlockPublishedBaselines";
4
- export type PublishSuccessTransition = Readonly<{
5
- metadataPublishedBaseline: Record<string, unknown> | null;
6
- contentPublishedBaseline: Record<string, unknown> | null;
7
- blockPublishedBaselines: readonly BlockPublishedBaselineInput[] | null;
8
- }>;
9
- type BuildPublishSuccessTransitionInput = Readonly<{
10
- nextEntry: ContentEntrySnapshot;
11
- routing?: RoutingHelpers;
12
- publishedContent: Record<string, unknown> | null;
13
- publishedBlocks?: readonly PublishedBlockBaseline[] | undefined;
14
- }>;
15
- export declare function buildPublishSuccessTransition(input: BuildPublishSuccessTransitionInput): PublishSuccessTransition;
16
- export {};
@@ -1,14 +0,0 @@
1
- export type EntryEditorDriver = {
2
- fetchEntry?: (siteId: string, type: string, entryId: string) => Promise<unknown>;
3
- listBlocks?: (siteId: string, pageId: string) => Promise<unknown[]>;
4
- createBlock?: (siteId: string, pageId: string, input: Record<string, unknown>) => Promise<unknown>;
5
- reorderBlocks?: (siteId: string, pageId: string, order: Array<{
6
- id: string;
7
- position: number;
8
- }>) => Promise<void>;
9
- deleteBlock?: (siteId: string, blockId: string) => Promise<void>;
10
- saveBlockContent?: (siteId: string, blockId: string, content: Record<string, unknown>) => Promise<unknown>;
11
- updateMetadata?: (siteId: string, type: string, entryId: string, payload: Record<string, unknown>) => Promise<unknown>;
12
- publish?: (siteId: string, type: string, entryId: string, payload?: unknown) => Promise<void>;
13
- discard?: (siteId: string, type: string, entryId: string) => Promise<void>;
14
- };
@@ -1,7 +0,0 @@
1
- import { type BlockItem } from '../../../editor-blocks/src/index';
2
- import type { EditorUiState } from '../ui/editorUiStore';
3
- type StoreApi<T> = {
4
- getState: () => T;
5
- };
6
- export declare function seedDraftBaselinesFromBlocks(uiStore: StoreApi<EditorUiState>, blocks: readonly BlockItem[]): void;
7
- export {};
@@ -1,29 +0,0 @@
1
- import type { ContentEntrySnapshot } from '../../../content-model/src/index';
2
- import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
- type UseEntrySyncHelpersProps = {
4
- uiStore: EditorUiStoreInstance;
5
- setErrorMessage: (msg: string | null) => void;
6
- };
7
- /**
8
- * Hook that provides helpers for synchronizing entry snapshots with store state.
9
- *
10
- * Responsibilities:
11
- * - Create metadata snapshots from entry data
12
- * - Update store to match new snapshot
13
- * - Handle autosave success/error callbacks
14
- */
15
- export declare function useEntrySyncHelpers({ uiStore, setErrorMessage, }: UseEntrySyncHelpersProps): {
16
- syncEntry: (nextEntry: ContentEntrySnapshot, opts?: {
17
- clearError?: boolean;
18
- }) => {
19
- values: import("../../../content-model/src/index").RoutableMetadataValues | Record<string, never>;
20
- baseline: import("../../../content-model/src/index").RoutableMetadataValues | Record<string, never>;
21
- };
22
- resetFromSnapshot: (snapshot: {
23
- baseline: Record<string, unknown>;
24
- values: Record<string, unknown>;
25
- }) => void;
26
- handleMetadataAutosaveSuccess: (nextEntry: ContentEntrySnapshot) => void;
27
- markAutosaveError: (error: unknown) => string;
28
- };
29
- export {};
@@ -1,26 +0,0 @@
1
- import type { EditorSyncState } from '../../../core/src/index';
2
- import type { LinkedContentEntryId } from '../linkedEntries/domain';
3
- import type { AutosaveStatus } from '../ui/stores/types';
4
- export { unsafeAsLinkedContentEntryId, type LinkedContentEntryId, } from '../linkedEntries/domain';
5
- export type EditorAutosaveScope = Readonly<{
6
- kind: 'metadata';
7
- }> | Readonly<{
8
- kind: 'content';
9
- }> | Readonly<{
10
- kind: 'blocks';
11
- }> | Readonly<{
12
- kind: 'linkedEntry';
13
- entryId: LinkedContentEntryId;
14
- }>;
15
- export type EditorAutosaveSchedulerKey = 'metadata' | 'content' | 'blocks' | 'linkedEntries';
16
- export type AutosaveScopeSnapshot = Readonly<{
17
- scope: EditorAutosaveScope;
18
- syncState: EditorSyncState;
19
- }>;
20
- export type AutosaveStatusByScheduler = Readonly<Record<EditorAutosaveSchedulerKey, AutosaveStatus>>;
21
- export declare function autosaveScopeKey(scope: EditorAutosaveScope): string;
22
- export declare function autosaveSchedulerKey(scope: EditorAutosaveScope): EditorAutosaveSchedulerKey;
23
- export declare function uniqueAutosaveSchedulerKeys(scopes: readonly EditorAutosaveScope[]): EditorAutosaveSchedulerKey[];
24
- export declare function deriveDirtyAutosaveScopes(snapshots: readonly AutosaveScopeSnapshot[]): EditorAutosaveScope[];
25
- export declare function hasAutosaveStatusFailure(statuses: AutosaveStatusByScheduler): boolean;
26
- export declare function allAutosaveStatusesComplete(statuses: AutosaveStatusByScheduler): boolean;
@@ -1,64 +0,0 @@
1
- import type { DraftWorkflowStatus } from '../types';
2
- import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
- /**
4
- * Autosave hook backed by the shared debounced-latest-save scheduler.
5
- * New changes made while a save is in flight queue one follow-up save with the
6
- * latest snapshot instead of blocking the editor or starting parallel writes.
7
- *
8
- * Status is stored in the Zustand uiStore instead of local state, allowing
9
- * components to subscribe granularly via selectors.
10
- */
11
- type AutosaveConfig<TValues, TPayload> = {
12
- /** Function to call to save the data */
13
- saveFn: (payload: TPayload) => Promise<unknown>;
14
- /** Build the save payload from current values */
15
- buildPayload: (values: TValues) => TPayload;
16
- /** Get current values (e.g., from form) */
17
- getValues: () => TValues;
18
- /** Check if save should be skipped (e.g., empty title) */
19
- shouldSkip?: (values: TValues) => boolean;
20
- /** Callback after successful save - receives result AND ref to the values that were sent */
21
- onSuccess?: (result: unknown, sentValuesRef: {
22
- current: TValues | null;
23
- }) => void;
24
- /** Callback after failed save */
25
- onError?: (error: unknown) => void;
26
- /** Debounce delay in ms (default: 1500) */
27
- delay?: number;
28
- /** Maximum wait time in ms (default: 10000) */
29
- maxWait?: number;
30
- /** Whether autosave is enabled */
31
- enabled?: boolean;
32
- /** UI store instance for updating autosave status */
33
- uiStore: EditorUiStoreInstance;
34
- /** Which autosave scheduler this hook updates */
35
- type: 'metadata' | 'blocks' | 'content' | 'linkedEntries';
36
- };
37
- export type AutosaveHandle = {
38
- trigger: () => void;
39
- cancel: () => void;
40
- flush: () => void | Promise<void>;
41
- isPending: () => boolean;
42
- };
43
- export declare function useSimpleAutosave<TValues = Record<string, unknown>, TPayload = unknown>(config: AutosaveConfig<TValues, TPayload>): AutosaveHandle;
44
- /**
45
- * Hook for aggregating autosave status from the uiStore.
46
- * Reads metadata + blocks status and combines them for display.
47
- *
48
- * @deprecated Use useEditorUiStore with selector instead:
49
- * ```tsx
50
- * const status = useEditorUiStore(state => {
51
- * const meta = state.autosave.metadata
52
- * const blocks = state.autosave.blocks
53
- * // ... combine logic
54
- * })
55
- * ```
56
- */
57
- export declare function useMultiAutosave(instances: Array<{
58
- status: DraftWorkflowStatus;
59
- hasFailedSaves: boolean;
60
- }>): {
61
- status: DraftWorkflowStatus;
62
- hasFailedSaves: boolean;
63
- };
64
- export {};
@@ -1,48 +0,0 @@
1
- import { type RefObject } from 'react';
2
- import type { EditorBlockId } from '../../../core/src/index';
3
- import { type AutosaveHandle } from './useSimpleAutosave';
4
- import type { EditorUiStoreInstance } from '../ui/editorUiStore';
5
- /**
6
- * Scope for store-backed autosave.
7
- * Can be a string for simple scopes ('metadata', 'content') or an object for scoped instances (blocks).
8
- */
9
- export type AutosaveScope = 'metadata' | 'content' | {
10
- type: 'block';
11
- blockId: EditorBlockId;
12
- };
13
- /**
14
- * Configuration for unified store-backed autosave.
15
- */
16
- export type StoreAutosaveConfig<TPayload extends Record<string, unknown>, TResponse> = {
17
- /** Store scope to autosave (metadata, content, or block) */
18
- scope: AutosaveScope;
19
- /** UI store instance */
20
- uiStore: EditorUiStoreInstance;
21
- /** Function to save data to the server */
22
- saveFn: (payload: TPayload) => Promise<TResponse>;
23
- /** Extract saved values from server response for store update */
24
- extractSavedValues: (response: TResponse) => Record<string, unknown> | null;
25
- /** Optional error handler (called in addition to store.autosaveFailed) */
26
- onError?: (error: unknown) => void;
27
- /** Debounce delay in ms (default: 1500) */
28
- delay?: number;
29
- /** Maximum wait time in ms (default: 10000) */
30
- maxWait?: number;
31
- /** Optional ref to skip autosave (e.g., during initial hydration) */
32
- skipInitialRef?: RefObject<boolean>;
33
- /** Optional function to check if save should be skipped based on current values */
34
- shouldSkip?: (values: Record<string, unknown>) => boolean;
35
- };
36
- /**
37
- * Unified autosave hook for store-backed forms.
38
- *
39
- * Handles the common pattern:
40
- * 1. Get current values from store scope
41
- * 2. Save to server
42
- * 3. Extract saved values from response
43
- * 4. Update store baseline via autosaveSucceeded
44
- * 5. Handle concurrent edit detection
45
- *
46
- * This eliminates code duplication between metadata, content, and block autosave flows.
47
- */
48
- export declare function useStoreAutosave<TPayload extends Record<string, unknown>, TResponse>(config: StoreAutosaveConfig<TPayload, TResponse>): AutosaveHandle;
@@ -1,44 +0,0 @@
1
- import type { MutableRefObject } from 'react';
2
- import type { UseFormReturn } from 'react-hook-form';
3
- import type { ToolbarState } from '../../content-model/src/index';
4
- export type DraftWorkflowStatus = 'idle' | 'saving' | 'success' | 'error';
5
- export type MetadataKindConfig = {
6
- hasRoute: boolean;
7
- storage: string;
8
- };
9
- export type MetadataAutosaveConfig<TEntry, TValues extends Record<string, unknown>, TMetadataPayload extends Record<string, unknown>> = {
10
- skipInitialRef: MutableRefObject<boolean>;
11
- shouldSkipAutoSave: (values: TValues) => boolean;
12
- buildSavePayload: (values: TValues) => TMetadataPayload;
13
- saveMetadata: (payload: TMetadataPayload) => Promise<TEntry>;
14
- onEntrySaved: (entry: TEntry) => void;
15
- setErrorMessage: (message: string | null) => void;
16
- setStatus?: (status: DraftWorkflowStatus) => void;
17
- setLastSavedAt?: (timestamp: string | null) => void;
18
- form: UseFormReturn<TValues>;
19
- metadataKind: MetadataKindConfig;
20
- getBaseline: () => TValues;
21
- getValues: () => TValues;
22
- delay: number;
23
- };
24
- export type ContentEntryControllerOptions = {
25
- autoSaveDelay?: number;
26
- };
27
- export type ContentEntryControllerState<TEntry, TValues extends Record<string, unknown>, TMetadataPayload extends Record<string, unknown> = Record<string, unknown>> = {
28
- entry: TEntry;
29
- values: TValues;
30
- baseline: TValues;
31
- form: import('react-hook-form').UseFormReturn<TValues>;
32
- errorMessage: string | null;
33
- toolbar: ToolbarState<TValues>;
34
- setErrorMessage: (message: string | null) => void;
35
- metadataAutosave?: MetadataAutosaveConfig<TEntry, TValues, TMetadataPayload>;
36
- actions: {
37
- publish: (options?: {
38
- mode?: 'default' | 'now';
39
- }) => Promise<void>;
40
- discardDraft: () => Promise<void>;
41
- deleteEntry: () => Promise<void>;
42
- };
43
- };
44
- export type { ContentEntryDefinition, ContentEntrySnapshot, ToolbarState, } from '../../content-model/src/index';
@@ -1,137 +0,0 @@
1
- "use client";
2
- import { t as ThemedButton } from "./ThemedButton-DoVIV1Ao.mjs";
3
- import { useId } from "react";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
- //#region ../blocks/src/system/runtime/api/types/discounts.ts
6
- function discountAvailabilityHasDiscounts(availability) {
7
- return availability.type !== "none";
8
- }
9
- function discountAvailabilityAllowsManualEntry(availability) {
10
- return "manualCodeEntryAllowed" in availability && availability.manualCodeEntryAllowed;
11
- }
12
- function getAutoAppliedDiscountPreview(availability) {
13
- switch (availability.type) {
14
- case "none":
15
- case "manual": return null;
16
- case "auto":
17
- case "auto_and_manual": return availability.autoAppliedDiscount;
18
- }
19
- }
20
- //#endregion
21
- //#region ../blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.tsx
22
- const BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES = { "event-registration": {
23
- root: "er-discount",
24
- toggle: "er-discount__toggle",
25
- form: "er-discount__form",
26
- label: "er-discount__label",
27
- row: "er-discount__row",
28
- input: "er-discount__input",
29
- apply: "er-discount__apply",
30
- remove: "er-discount__remove",
31
- hint: "er-discount__hint",
32
- feedback: "er-discount__feedback"
33
- } };
34
- const themeFormClasses = {
35
- root: "rb-flex rb-flex-col rb-gap-2 rb-mb-4",
36
- toggle: `${["button", "link"].join("-")} rb-self-start`,
37
- form: "rb-flex rb-flex-col rb-gap-2",
38
- label: "form-label",
39
- row: "rb-flex rb-flex-col rb-gap-2 rb-sm-flex-row",
40
- input: "form-input",
41
- apply: "",
42
- remove: "",
43
- hint: "rb-caption status-muted",
44
- feedback: "rb-caption"
45
- };
46
- function getDiscountCodeDisclosureClasses(surface) {
47
- if (surface === "theme-form") return themeFormClasses;
48
- return BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES[surface];
49
- }
50
- function DiscountActionButton(props) {
51
- return props.surface === "theme-form" ? /* @__PURE__ */ jsx(ThemedButton, {
52
- type: "button",
53
- variant: "secondary",
54
- size: "sm",
55
- label: props.label,
56
- onClick: props.onClick,
57
- disabled: props.disabled
58
- }) : /* @__PURE__ */ jsx("button", {
59
- type: "button",
60
- className: props.className,
61
- onClick: props.onClick,
62
- disabled: props.disabled,
63
- children: props.label
64
- });
65
- }
66
- function DiscountCodeDisclosure({ surface, isOpen, code, onOpen, onChange, onRemove, onApply, id, toggleLabel = "Have a discount code?", label = "Discount code", placeholder = "Enter code", applyLabel = "Apply", removeLabel = "Remove", hint = "Applied at checkout.", feedback = null, isApplying = false, applyDisabled = false, disabled = false }) {
67
- const generatedId = useId();
68
- const inputId = id ?? `discount-code-${generatedId}`;
69
- const classes = getDiscountCodeDisclosureClasses(surface);
70
- const handleChange = (event) => {
71
- onChange(event.target.value);
72
- };
73
- const handleKeyDown = (event) => {
74
- if (!onApply || event.key !== "Enter") return;
75
- event.preventDefault();
76
- onApply();
77
- };
78
- const feedbackClassName = feedback ? `${classes.feedback} status-${feedback.tone}` : classes.feedback;
79
- return /* @__PURE__ */ jsx("div", {
80
- className: classes.root,
81
- children: !isOpen ? /* @__PURE__ */ jsx("button", {
82
- type: "button",
83
- className: classes.toggle,
84
- onClick: onOpen,
85
- children: toggleLabel
86
- }) : /* @__PURE__ */ jsxs("div", {
87
- className: classes.form,
88
- children: [
89
- /* @__PURE__ */ jsx("label", {
90
- htmlFor: inputId,
91
- className: classes.label,
92
- children: label
93
- }),
94
- /* @__PURE__ */ jsxs("div", {
95
- className: classes.row,
96
- children: [
97
- /* @__PURE__ */ jsx("input", {
98
- id: inputId,
99
- className: classes.input,
100
- value: code,
101
- onChange: handleChange,
102
- onKeyDown: handleKeyDown,
103
- placeholder,
104
- autoComplete: "off",
105
- disabled: disabled || isApplying
106
- }),
107
- onApply ? /* @__PURE__ */ jsx(DiscountActionButton, {
108
- surface,
109
- className: classes.apply,
110
- label: isApplying ? "Applying..." : applyLabel,
111
- onClick: onApply,
112
- disabled: disabled || isApplying || applyDisabled
113
- }) : null,
114
- /* @__PURE__ */ jsx(DiscountActionButton, {
115
- surface,
116
- className: classes.remove,
117
- label: removeLabel,
118
- onClick: onRemove,
119
- disabled: disabled || isApplying
120
- })
121
- ]
122
- }),
123
- /* @__PURE__ */ jsx("p", {
124
- className: classes.hint,
125
- children: hint
126
- }),
127
- feedback ? /* @__PURE__ */ jsx("p", {
128
- className: feedbackClassName,
129
- role: feedback.tone === "error" ? "alert" : "status",
130
- children: feedback.message
131
- }) : null
132
- ]
133
- })
134
- });
135
- }
136
- //#endregion
137
- export { getAutoAppliedDiscountPreview as i, discountAvailabilityAllowsManualEntry as n, discountAvailabilityHasDiscounts as r, DiscountCodeDisclosure as t };