@riverbankcms/sdk 0.147.0 → 0.149.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DtpB3_sS.mjs → PreviewEditorSidebar-DBKln68M.mjs} +301 -205
  4. package/dist/{PreviewEditorUI-DxTLgaHo.mjs → PreviewEditorUI-DpRX4Mum.mjs} +68 -63
  5. package/dist/{PreviewQueryProvider-Dd4dxOiU.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
  6. package/dist/{SdkPreviewModeRuntime-DMMNCngt.mjs → SdkPreviewModeRuntime-DJPmPY-r.mjs} +1247 -541
  7. package/dist/{SiteChromeCustomizeContext-DQXZXiqS.mjs → SiteChromeCustomizeContext-JYA0cJ_Z.mjs} +209720 -204978
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +0 -33
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +0 -3
  10. package/dist/_dts/api/src/accessAdmin.d.ts +0 -4
  11. package/dist/_dts/api/src/accountApi.d.ts +1 -1
  12. package/dist/_dts/api/src/admin.d.ts +22 -22
  13. package/dist/_dts/api/src/aiPatch.d.ts +2 -2
  14. package/dist/_dts/api/src/aiPlayground.d.ts +1 -0
  15. package/dist/_dts/api/src/analytics.d.ts +2 -2
  16. package/dist/_dts/api/src/apiEndpointTypes.d.ts +2 -0
  17. package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
  18. package/dist/_dts/api/src/auth.d.ts +10 -10
  19. package/dist/_dts/api/src/availability.d.ts +6 -6
  20. package/dist/_dts/api/src/billing.d.ts +42 -15
  21. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +8 -0
  22. package/dist/_dts/api/src/billingEndpointTypes.d.ts +15 -6
  23. package/dist/_dts/api/src/blocks.d.ts +15 -14
  24. package/dist/_dts/api/src/blocksKeys.d.ts +2 -0
  25. package/dist/_dts/api/src/bookingConfig.d.ts +33 -50
  26. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
  27. package/dist/_dts/api/src/bookingOperations.d.ts +9 -11
  28. package/dist/_dts/api/src/bookingRecords.d.ts +16 -11
  29. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
  30. package/dist/_dts/api/src/bookings.d.ts +7 -7
  31. package/dist/_dts/api/src/calendar.d.ts +9 -9
  32. package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
  33. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -8
  34. package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
  35. package/dist/_dts/api/src/common/envelope.d.ts +2 -2
  36. package/dist/_dts/api/src/content-editor.d.ts +2 -2
  37. package/dist/_dts/api/src/contentEntries.d.ts +17 -48
  38. package/dist/_dts/api/src/contentRuntime.d.ts +51 -37
  39. package/dist/_dts/api/src/contentTypes.d.ts +11 -11
  40. package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +6 -6
  41. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +1 -1
  42. package/dist/_dts/api/src/documentLifecycle.d.ts +67 -0
  43. package/dist/_dts/api/src/domains.d.ts +16 -16
  44. package/dist/_dts/api/src/editLeaseEndpoints.d.ts +72 -0
  45. package/dist/_dts/api/src/emailSettings.d.ts +4 -4
  46. package/dist/_dts/api/src/endpoints.d.ts +135 -51
  47. package/dist/_dts/api/src/eventEmailTemplates.d.ts +2 -2
  48. package/dist/_dts/api/src/eventManagementContracts.d.ts +29 -7
  49. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +0 -8
  50. package/dist/_dts/api/src/eventPageWords.d.ts +7 -12
  51. package/dist/_dts/api/src/footerSettings.d.ts +6 -6
  52. package/dist/_dts/api/src/index.d.ts +8 -7
  53. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  54. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  55. package/dist/_dts/api/src/navigation.d.ts +5 -5
  56. package/dist/_dts/api/src/pageSurfaceEditorEndpoints.d.ts +55 -0
  57. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +28 -7
  58. package/dist/_dts/api/src/pages.d.ts +7 -7
  59. package/dist/_dts/api/src/performance.d.ts +1 -1
  60. package/dist/_dts/api/src/public/index.d.ts +1 -1
  61. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +4 -2
  62. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +6 -29
  63. package/dist/_dts/api/src/redirects.d.ts +3 -3
  64. package/dist/_dts/api/src/request.d.ts +11 -2
  65. package/dist/_dts/api/src/resources.d.ts +4 -4
  66. package/dist/_dts/api/src/routes.d.ts +8 -3
  67. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -2
  68. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +21 -0
  69. package/dist/_dts/api/src/sdkContracts.d.ts +5 -28
  70. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +1 -1
  71. package/dist/_dts/api/src/sdkEventOccurrenceRequestContracts.d.ts +43 -0
  72. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +4 -2
  73. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +9 -2
  74. package/dist/_dts/api/src/seo.d.ts +4 -4
  75. package/dist/_dts/api/src/services.d.ts +4 -4
  76. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -8
  77. package/dist/_dts/api/src/siteMembers.d.ts +10 -10
  78. package/dist/_dts/api/src/siteOnboarding.d.ts +14 -0
  79. package/dist/_dts/api/src/siteOperations.d.ts +6 -2
  80. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +7 -3
  81. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +5 -12
  82. package/dist/_dts/api/src/siteRuntimeEntry.d.ts +31 -0
  83. package/dist/_dts/billing/src/checkout/platform.d.ts +77 -0
  84. package/dist/_dts/billing/src/components/index.d.ts +25 -40
  85. package/dist/_dts/billing/src/membership/index.d.ts +1 -3
  86. package/dist/_dts/billing/src/plans/entitlements.d.ts +80 -0
  87. package/dist/_dts/billing/src/plans/registry.d.ts +16 -16
  88. package/dist/_dts/billing/src/plans/standing.d.ts +9 -2
  89. package/dist/_dts/billing/src/plans/types.d.ts +5 -15
  90. package/dist/_dts/billing/src/site-arrangements.d.ts +2 -2
  91. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +2 -4
  92. package/dist/_dts/billing/src/subscriptions/store.d.ts +17 -11
  93. package/dist/_dts/block-form/src/backend/store-backend.d.ts +6 -7
  94. package/dist/_dts/block-form/src/backend/types.d.ts +7 -0
  95. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +3 -1
  96. package/dist/_dts/blocks/src/client/events.d.ts +3 -0
  97. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  98. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
  99. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +54 -14
  100. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +4 -13
  101. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
  102. package/dist/_dts/blocks/src/portal/types.d.ts +9 -8
  103. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +2 -1
  104. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +3 -1
  105. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +28 -28
  106. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +7 -2
  107. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
  108. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
  109. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
  110. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -2
  111. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  112. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -2
  113. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
  114. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +6 -0
  115. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +6 -0
  116. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +4 -0
  117. package/dist/_dts/blocks/src/system/runtime/components/booking/SuccessMessage.d.ts +4 -1
  118. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +72 -12
  119. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +36 -6
  120. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
  121. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -0
  122. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -1
  123. package/dist/_dts/blocks/src/system/runtime/hooks/usePolling.d.ts +7 -48
  124. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.checkout-return-context.d.ts +7 -0
  125. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +3 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +4 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +9 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.payment-confirmation.d.ts +13 -0
  129. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +17 -2
  130. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-actions.d.ts +8 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +1 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +1 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +2 -1
  134. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
  135. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
  136. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  137. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +5 -0
  138. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +2 -0
  139. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -1
  140. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +2 -0
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +2 -5
  143. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -0
  144. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -5
  145. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +6 -0
  146. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +37 -3
  147. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.client.d.ts +1 -1
  148. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +16 -1
  149. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCardPresentations.d.ts +13 -0
  150. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +29 -29
  151. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -14
  152. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.state.d.ts +12 -0
  153. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +54 -6
  154. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
  155. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoBookingPortalAccess.d.ts +22 -0
  156. package/dist/_dts/blocks/src/system/runtime/shared/components/DemoPortalSignInLink.d.ts +4 -0
  157. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  158. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoBookingPassStorage.d.ts +10 -0
  159. package/dist/_dts/blocks/src/system/runtime/shared/utils/demoPortalMagicLink.d.ts +29 -0
  160. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
  161. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
  162. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
  163. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
  164. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
  165. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +2 -2
  166. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
  167. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  168. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -3
  169. package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
  170. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
  171. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
  172. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
  173. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +3 -1
  174. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
  175. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
  176. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
  177. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
  178. package/dist/_dts/commerce/src/purchase/types.d.ts +2 -1
  179. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -7
  180. package/dist/_dts/content-editor/src/controller/EditLeaseController.d.ts +39 -0
  181. package/dist/_dts/content-editor/src/controller/EditorWriteGate.d.ts +38 -0
  182. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +25 -61
  183. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseBanner.d.ts +7 -0
  184. package/dist/_dts/content-editor/src/controller/LinkedEntryLeaseControllers.d.ts +14 -0
  185. package/dist/_dts/content-editor/src/controller/deriveEditorUnpublishedState.d.ts +6 -0
  186. package/dist/_dts/content-editor/src/controller/documentValueBaseline.d.ts +25 -0
  187. package/dist/_dts/content-editor/src/controller/editLeaseHandover.d.ts +30 -0
  188. package/dist/_dts/content-editor/src/controller/editLeaseLossSignal.d.ts +6 -0
  189. package/dist/_dts/content-editor/src/controller/editLeaseNotice.d.ts +28 -0
  190. package/dist/_dts/content-editor/src/controller/editorClientId.d.ts +2 -0
  191. package/dist/_dts/content-editor/src/controller/editorEditability.d.ts +38 -0
  192. package/dist/_dts/content-editor/src/controller/editorLeaseParticipation.d.ts +34 -0
  193. package/dist/_dts/content-editor/src/controller/normalizedMetadataBaseline.d.ts +29 -0
  194. package/dist/_dts/content-editor/src/controller/pageSurfaceDocumentBaselines.d.ts +14 -0
  195. package/dist/_dts/content-editor/src/controller/pageSurfaceLifecycle.d.ts +11 -0
  196. package/dist/_dts/content-editor/src/controller/planDocumentBaselineRefresh.d.ts +19 -0
  197. package/dist/_dts/content-editor/src/controller/readDocumentLeaseBaselines.d.ts +19 -0
  198. package/dist/_dts/content-editor/src/controller/refreshDocumentLeaseBaseline.d.ts +12 -0
  199. package/dist/_dts/content-editor/src/controller/refreshLinkedEntry.d.ts +17 -0
  200. package/dist/_dts/content-editor/src/controller/replayRestoredEditorEffects.d.ts +2 -3
  201. package/dist/_dts/content-editor/src/controller/routeWrites.d.ts +26 -0
  202. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +16 -17
  203. package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +6 -2
  204. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +3 -3
  205. package/dist/_dts/content-editor/src/controller/useEntryValueAutosaves.d.ts +21 -0
  206. package/dist/_dts/content-editor/src/controller/useInitialEditorUiStore.d.ts +24 -0
  207. package/dist/_dts/content-editor/src/controller/useServerBaselineReconciliation.d.ts +17 -0
  208. package/dist/_dts/content-editor/src/footerComposerPanelTypes.d.ts +1 -1
  209. package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +5 -1
  210. package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +8 -47
  211. package/dist/_dts/content-editor/src/hooks/editLeaseMachine.d.ts +120 -0
  212. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +6 -10
  213. package/dist/_dts/content-editor/src/hooks/useAutosaveStatus.d.ts +3 -0
  214. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +5 -15
  215. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +7 -5
  216. package/dist/_dts/content-editor/src/hooks/useEditLease.d.ts +28 -0
  217. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +25 -39
  218. package/dist/_dts/content-editor/src/hooks/useEntryMutations.d.ts +17 -19
  219. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +5 -8
  220. package/dist/_dts/content-editor/src/hooks/useValueAutosave.d.ts +64 -0
  221. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +0 -7
  222. package/dist/_dts/content-editor/src/index.d.ts +26 -7
  223. package/dist/_dts/content-editor/src/lib/browserStorage.d.ts +5 -0
  224. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +12 -0
  225. package/dist/_dts/content-editor/src/linkedEntries/owner.d.ts +9 -0
  226. package/dist/_dts/content-editor/src/liveDrafts/draftProjection.d.ts +66 -0
  227. package/dist/_dts/content-editor/src/liveDrafts/linkedSaveHandovers.d.ts +37 -0
  228. package/dist/_dts/content-editor/src/liveDrafts/remoteDraftOverlay.d.ts +113 -0
  229. package/dist/_dts/content-editor/src/liveDrafts/useLiveDrafts.d.ts +32 -0
  230. package/dist/_dts/content-editor/src/liveDrafts/useRetentionTicks.d.ts +7 -0
  231. package/dist/_dts/content-editor/src/primitives/shared/activePreviewField.d.ts +6 -0
  232. package/dist/_dts/content-editor/src/primitives/shared/storeBinding.d.ts +1 -0
  233. package/dist/_dts/content-editor/src/services/contentEntryServices.d.ts +96 -19
  234. package/dist/_dts/content-editor/src/services/editorApiClient.d.ts +13 -0
  235. package/dist/_dts/content-editor/src/services/index.d.ts +2 -0
  236. package/dist/_dts/content-editor/src/services/pageSurfaceEditorServices.d.ts +23 -0
  237. package/dist/_dts/content-editor/src/sync/flushValues.d.ts +13 -0
  238. package/dist/_dts/content-editor/src/sync/lifecycleFailure.d.ts +51 -0
  239. package/dist/_dts/content-editor/src/sync/runLifecycle.d.ts +64 -0
  240. package/dist/_dts/content-editor/src/sync/schedulerValues.d.ts +27 -0
  241. package/dist/_dts/content-editor/src/sync/sendPlanning.d.ts +104 -0
  242. package/dist/_dts/content-editor/src/sync/valueSync.d.ts +114 -0
  243. package/dist/_dts/content-editor/src/ui/blockCollection.d.ts +8 -0
  244. package/dist/_dts/content-editor/src/ui/documentLifecycle.d.ts +18 -0
  245. package/dist/_dts/content-editor/src/ui/editorLeaseUiState.d.ts +7 -0
  246. package/dist/_dts/content-editor/src/ui/editorRefresh.d.ts +82 -0
  247. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +102 -127
  248. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +1 -1
  249. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +126 -72
  250. package/dist/_dts/content-editor/src/ui/editorValueSnapshot.d.ts +18 -0
  251. package/dist/_dts/content-editor/src/ui/serverBlockAdmission.d.ts +26 -0
  252. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +16 -27
  253. package/dist/_dts/content-editor/src/ui/stores/blockVersionsStore.d.ts +24 -0
  254. package/dist/_dts/content-editor/src/ui/stores/linkedEntryLeaseStore.d.ts +54 -0
  255. package/dist/_dts/content-editor/src/ui/stores/linkedSaveHandoversStore.d.ts +11 -0
  256. package/dist/_dts/content-editor/src/ui/stores/remoteDraftsStore.d.ts +10 -0
  257. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +63 -3
  258. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +2 -2
  259. package/dist/_dts/content-editor/src/useFooterNavigationLayout.d.ts +1 -1
  260. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +4 -4
  261. package/dist/_dts/content-model/src/content-types/builtins.d.ts +4 -4
  262. package/dist/_dts/content-model/src/definitions/shared.d.ts +11 -2
  263. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  264. package/dist/_dts/content-model/src/entry-slots/serializeAllowedBlocks.d.ts +2 -0
  265. package/dist/_dts/content-model/src/metadataConfig.d.ts +10 -38
  266. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -1
  267. package/dist/_dts/content-model/src/types.d.ts +0 -1
  268. package/dist/_dts/core/src/block-content-identity.d.ts +49 -1
  269. package/dist/_dts/core/src/booking-flexible-balance.d.ts +2 -2
  270. package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
  271. package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
  272. package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
  273. package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
  274. package/dist/_dts/core/src/branded.d.ts +15 -0
  275. package/dist/_dts/core/src/currency-format.d.ts +8 -2
  276. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +2 -2
  277. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +8 -0
  278. package/dist/_dts/core/src/edit-lease.d.ts +60 -0
  279. package/dist/_dts/core/src/editor-state.d.ts +38 -13
  280. package/dist/_dts/core/src/editor-value-sync.d.ts +79 -0
  281. package/dist/_dts/core/src/html-entities.d.ts +6 -0
  282. package/dist/_dts/core/src/index.d.ts +7 -0
  283. package/dist/_dts/core/src/uuid.d.ts +7 -5
  284. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +456 -189
  285. package/dist/_dts/editor/src/EditorProvider.d.ts +5 -0
  286. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +14 -0
  287. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +1 -0
  288. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +0 -1
  289. package/dist/_dts/editor/src/index.d.ts +1 -1
  290. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +10 -9
  291. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +1 -1
  292. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  293. package/dist/_dts/editor-blocks/src/block-editor/BlockCardFrame.d.ts +1 -1
  294. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +1 -1
  295. package/dist/_dts/editor-blocks/src/block-editor/applyExtendedFieldDefaults.d.ts +3 -4
  296. package/dist/_dts/editor-blocks/src/block-editor/blockDraftBaselineSeed.d.ts +4 -8
  297. package/dist/_dts/editor-blocks/src/block-editor/editorBlockItem.d.ts +23 -0
  298. package/dist/_dts/editor-blocks/src/block-editor/generatedIconApplyCoordination.d.ts +2 -7
  299. package/dist/_dts/editor-blocks/src/block-editor/hooks/applyBlockStructureChange.d.ts +4 -0
  300. package/dist/_dts/editor-blocks/src/block-editor/hooks/buildInsertBlockHistoryCommand.d.ts +14 -5
  301. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockBaselineSync.d.ts +21 -19
  302. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +2 -10
  303. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +8 -16
  304. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +6 -16
  305. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +37 -9
  306. package/dist/_dts/editor-blocks/src/index.d.ts +2 -1
  307. package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +1 -1
  308. package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +1 -1
  309. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +1 -1
  310. package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +1 -1
  311. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +3 -2
  312. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -0
  313. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +3 -1
  314. package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -0
  315. package/dist/_dts/media-editor/src/context.d.ts +1 -1
  316. package/dist/_dts/media-editor/src/createMediaEditorProvider.d.ts +1 -2
  317. package/dist/_dts/media-editor/src/index.d.ts +2 -0
  318. package/dist/_dts/media-editor/src/provider.d.ts +3 -2
  319. package/dist/_dts/media-react/src/hooks/internal/classification.d.ts +1 -1
  320. package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +3 -1
  321. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +8 -3
  322. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +6 -3
  323. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +22 -2
  324. package/dist/_dts/preview-next/src/client/blocks/previewProjection/entryFieldRebinding.d.ts +13 -0
  325. package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +2 -1
  326. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +11 -1
  327. package/dist/_dts/preview-next/src/client/blocks/renderPrecedence.d.ts +17 -0
  328. package/dist/_dts/preview-next/src/client/blocks/useLinkedSaveHandoverRetention.d.ts +20 -0
  329. package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
  330. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +2 -1
  331. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +2 -1
  332. package/dist/_dts/preview-next/src/client/preview/PreviewAccessBanners.d.ts +7 -0
  333. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  334. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +23 -14
  335. package/dist/_dts/preview-next/src/client/preview/PreviewLeaseEditingMode.d.ts +2 -0
  336. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +9 -2
  337. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  338. package/dist/_dts/preview-next/src/client/preview/previewCustomizeAutosave.d.ts +5 -0
  339. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +3 -4
  340. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +1 -0
  341. package/dist/_dts/preview-next/src/client/preview/usePreviewCustomizeWorkflowState.d.ts +4 -0
  342. package/dist/_dts/preview-next/src/client/previewAuthStore.d.ts +7 -0
  343. package/dist/_dts/preview-next/src/constants.d.ts +4 -0
  344. package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -0
  345. package/dist/_dts/realtime/src/client.d.ts +3 -0
  346. package/dist/_dts/realtime/src/draftChannel.d.ts +91 -0
  347. package/dist/_dts/realtime/src/drafts.d.ts +210 -0
  348. package/dist/_dts/realtime/src/index.d.ts +3 -0
  349. package/dist/_dts/realtime/src/leaseChangeSubscriptions.d.ts +8 -0
  350. package/dist/_dts/realtime/src/types.d.ts +113 -0
  351. package/dist/_dts/realtime/src/useDraftChannel.d.ts +34 -0
  352. package/dist/_dts/realtime/src/useSiteRealtimeReload.d.ts +27 -0
  353. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -55
  354. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  355. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
  356. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -0
  357. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
  358. package/dist/_dts/sdk/src/version.d.ts +1 -1
  359. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  360. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  361. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
  362. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  363. package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
  364. package/dist/client/{BookingMailingListNote-1n4Ch_u_.mjs → BookingMailingListNote-Cr3EeTP5.mjs} +504 -163
  365. package/dist/client/DemoBookingPortalAccess-BFGB1Fay.mjs +344 -0
  366. package/dist/client/{EventCombined.client-C0pgma9y.mjs → EventCombined.client-DKYV0_ft.mjs} +6 -6
  367. package/dist/client/{EventListing.client-4fhLOvHP.mjs → EventListing.client-B9UIcEYc.mjs} +2 -2
  368. package/dist/client/{LeafletStaticMap-DScC4F3w.mjs → LeafletStaticMap-CFLPkP0K.mjs} +1 -1
  369. package/dist/client/{TerminalPanel-B5ZUsYhe.mjs → TerminalPanel-JjmgxEsR.mjs} +1 -1
  370. package/dist/client/{ThemedButton-DoVIV1Ao.mjs → ThemedButton-CKV1Jh2m.mjs} +1 -1
  371. package/dist/client/{accordion-CoT5g7zo.mjs → accordion-DXWIfT3T.mjs} +1 -1
  372. package/dist/client/{bookingForm-BWxB46xD.mjs → bookingForm-CjZgHNvv.mjs} +216 -63
  373. package/dist/client/bookings.mjs +1187 -692
  374. package/dist/client/{carousel-DtNYWFd3.mjs → carousel-DSLikmvZ.mjs} +1 -1
  375. package/dist/client/{cart-z4qZih1Y.mjs → cart-HDjWReFt.mjs} +3 -3
  376. package/dist/client/{checkout-DpL7euFH.mjs → checkout-CUvRZA3W.mjs} +3 -3
  377. package/dist/client/{checkoutUrls-BEfR7kVu.mjs → checkoutUrls-CXhko2Rv.mjs} +1 -1
  378. package/dist/client/client.mjs +2711 -1684
  379. package/dist/client/{context-C8TinPJc.mjs → context-DFmaZa-Q.mjs} +4 -3
  380. package/dist/client/{dates-vwwxTeB0.mjs → dates-BBep1JnF.mjs} +56 -11
  381. package/dist/client/{eventCalendar-DIbHfJXO.mjs → eventCalendar-zEobhxo4.mjs} +9 -9
  382. package/dist/client/{eventCombined-DoGMJ6cg.mjs → eventCombined-Dp7bz5k-.mjs} +4 -4
  383. package/dist/client/{eventDetails-BjN9v6a1.mjs → eventDetails-FE-zqTt7.mjs} +4 -4
  384. package/dist/client/{eventListing-DajjWgOv.mjs → eventListing-BMt5snal.mjs} +4 -4
  385. package/dist/client/{eventRegistration-DMq9gMA-.mjs → eventRegistration-O6ZxHfOb.mjs} +422 -570
  386. package/dist/client/{form-Qf6qTbos.mjs → form-DFa1D8vt.mjs} +3 -3
  387. package/dist/client/{headerSection-D7qJrqFX.mjs → headerSection-CmjHLR-N.mjs} +3 -3
  388. package/dist/client/hooks.mjs +414 -182
  389. package/dist/client/{locationMap-CCF9-t_0.mjs → locationMap-BXKP_lGh.mjs} +3 -3
  390. package/dist/client/{media-CwBGetqC.mjs → media-Cl38iOMI.mjs} +10 -3
  391. package/dist/client/{newsletterForm-DzCLSP4S.mjs → newsletterForm-CU-HmxGx.mjs} +3 -3
  392. package/dist/client/{pricing-Cgxv2KLC.mjs → pricing-KEAEsibq.mjs} +1 -1
  393. package/dist/client/{productDetail-ru9w5GHx.mjs → productDetail-Ckp7MGnt.mjs} +3 -3
  394. package/dist/client/{productList-zaapKSl-.mjs → productList-D91V0sYa.mjs} +3 -3
  395. package/dist/client/{propsDecoder-CwvvNOHx.mjs → propsDecoder-DZd6RJeA.mjs} +244 -94
  396. package/dist/client/rendering/client.mjs +2656 -1705
  397. package/dist/client/rendering/islands.mjs +18 -18
  398. package/dist/client/rendering.mjs +3430 -2352
  399. package/dist/client/{routeIslandApiConfig-BwVFo0Y4.mjs → routeIslandApiConfig-E1EkhhYY.mjs} +1 -1
  400. package/dist/client/{shop-mktkXvbV.mjs → shop-4F2jLQPI.mjs} +131 -85
  401. package/dist/client/{shop-commerce-De7gEnkA.mjs → shop-commerce-BbfCJjB3.mjs} +25 -13
  402. package/dist/client/{shop-commerce-store-B3MCxIBW.mjs → shop-commerce-store-vicweP2K.mjs} +1 -1
  403. package/dist/client/{shopShared-TqExh235.mjs → shopShared-DlONJt0T.mjs} +4 -4
  404. package/dist/client/{useEventFilters-n_OjkIjX.mjs → useEventFilters-COYyL3m7.mjs} +32 -17
  405. package/dist/preview-next/before-render.mjs +207 -105
  406. package/dist/preview-next/client/runtime.mjs +4 -4
  407. package/dist/preview-next/constants.mjs +5 -1
  408. package/dist/preview-next/index.mjs +5 -1
  409. package/dist/preview-next/keepAlive.mjs +341 -165
  410. package/dist/preview-next/middleware.mjs +207 -105
  411. package/dist/{previewAuthStore-C_EHQ5XA.mjs → previewAuthStore-BBmV7UsW.mjs} +243 -112
  412. package/dist/{sdk-runtime-BIkJg5y1.mjs → sdk-runtime-CwvFFjB-.mjs} +2 -2
  413. package/dist/{separator-C9qDP95Z.mjs → separator-ByL72zUT.mjs} +1 -1
  414. package/dist/server/components.mjs +1839 -1475
  415. package/dist/server/config-validation.mjs +381 -166
  416. package/dist/server/config.mjs +381 -166
  417. package/dist/server/data.mjs +381 -166
  418. package/dist/server/index.mjs +214 -110
  419. package/dist/server/next.mjs +663 -351
  420. package/dist/server/page-converter.mjs +198 -79
  421. package/dist/server/prebuild.mjs +1 -1
  422. package/dist/server/rendering/server.mjs +1536 -1169
  423. package/dist/server/rendering.mjs +2432 -2068
  424. package/dist/server/routing.mjs +456 -173
  425. package/dist/server/server.mjs +447 -267
  426. package/package.json +1 -1
  427. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
  428. package/dist/_dts/billing/src/plans/display.d.ts +0 -15
  429. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +0 -3
  430. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
  431. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
  432. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
  433. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +0 -4
  434. package/dist/_dts/content-editor/src/controller/buildPublishSuccessTransition.d.ts +0 -16
  435. package/dist/_dts/content-editor/src/controller/driver.d.ts +0 -14
  436. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +0 -7
  437. package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +0 -29
  438. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +0 -26
  439. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +0 -64
  440. package/dist/_dts/content-editor/src/hooks/useStoreAutosave.d.ts +0 -48
  441. package/dist/_dts/content-editor/src/types.d.ts +0 -44
  442. package/dist/client/DiscountCodeDisclosure-CKJtz0mY.mjs +0 -137
@@ -57,6 +57,19 @@ const CURRENCY_LOCALE_BY_CODE = {
57
57
  function resolveCurrencyLocale(currencyCode, override) {
58
58
  return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
59
59
  }
60
+ function fractionDigitsFor(decimals, exactFormatter) {
61
+ switch (decimals) {
62
+ case "exact": return {};
63
+ case "auto": return {
64
+ minimumFractionDigits: 0,
65
+ maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
66
+ };
67
+ case "whole": return {
68
+ minimumFractionDigits: 0,
69
+ maximumFractionDigits: 0
70
+ };
71
+ }
72
+ }
60
73
  /**
61
74
  * The single currency-amount formatter for the product: minor units in,
62
75
  * localized string out.
@@ -67,6 +80,13 @@ function resolveCurrencyLocale(currencyCode, override) {
67
80
  * own `Intl.NumberFormat`.
68
81
  */
69
82
  function formatCurrencyAmount(amountCents, currency, options) {
83
+ return formatCurrencyMajorUnits(amountCents / 100, currency, options);
84
+ }
85
+ /**
86
+ * `formatCurrencyAmount` for an amount already in MAJOR units (29.99 = £29.99),
87
+ * such as a registrar price. Prefer minor units everywhere else.
88
+ */
89
+ function formatCurrencyMajorUnits(amount, currency, options) {
70
90
  const currencyCode = currency.toUpperCase();
71
91
  const locale = resolveCurrencyLocale(currencyCode, options?.locale);
72
92
  try {
@@ -74,17 +94,13 @@ function formatCurrencyAmount(amountCents, currency, options) {
74
94
  style: "currency",
75
95
  currency: currencyCode
76
96
  });
77
- const fractionDigits = options?.decimals === "auto" ? {
78
- minimumFractionDigits: 0,
79
- maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
80
- } : {};
81
97
  return new Intl.NumberFormat(locale, {
82
98
  style: "currency",
83
99
  currency: currencyCode,
84
- ...fractionDigits
85
- }).format(amountCents / 100);
100
+ ...fractionDigitsFor(options?.decimals ?? "exact", exactFormatter)
101
+ }).format(amount);
86
102
  } catch {
87
- return `${(amountCents / 100).toFixed(2)} ${currencyCode}`;
103
+ return `${amount.toFixed(2)} ${currencyCode}`;
88
104
  }
89
105
  }
90
106
  //#endregion
@@ -327,6 +343,16 @@ function isRecord$13(value) {
327
343
  return typeof value === "object" && value !== null && !Array.isArray(value);
328
344
  }
329
345
  //#endregion
346
+ //#region ../core/src/booking-payment-options.ts
347
+ /** Automatic instalments and a flexible balance cannot share one booking offer. */
348
+ function validateBookingPaymentOptionKinds(kinds) {
349
+ if (kinds.length === 0) return err("no_options");
350
+ const uniqueKinds = new Set(kinds);
351
+ if (uniqueKinds.size !== kinds.length) return err("duplicate_kind");
352
+ if (uniqueKinds.has("instalment_plan") && uniqueKinds.has("flexible_balance")) return err("incompatible_collection_options");
353
+ return ok(void 0);
354
+ }
355
+ //#endregion
330
356
  //#region ../core/src/booking-time-zone.ts
331
357
  const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
332
358
  const timeZoneValidityCache = /* @__PURE__ */ new Map();
@@ -8079,68 +8105,115 @@ const RichTextDocSchema = z.object({
8079
8105
  content: z.array(TipTapNodeSchema)
8080
8106
  }).strict();
8081
8107
  //#endregion
8082
- //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
8083
- const bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
8084
- const bookingInstalmentPlanSchema$1 = z.union([
8085
- z.object({
8086
- kind: z.literal("deposit_plus_one_remainder"),
8087
- depositAmountCents: z.number().int().min(0),
8088
- depositRefundability: bookingDepositRefundPolicySchema$1,
8089
- remainderDueCount: z.number().int().positive(),
8090
- intervalUnit: z.enum([
8091
- "day",
8092
- "week",
8093
- "month"
8094
- ])
8095
- }),
8096
- z.object({
8097
- kind: z.literal("deposit_plus_scheduled_instalments"),
8098
- depositAmountCents: z.number().int().min(0),
8099
- depositRefundability: bookingDepositRefundPolicySchema$1,
8100
- instalmentCount: z.number().int().positive(),
8101
- intervalCount: z.number().int().positive(),
8102
- intervalUnit: z.enum([
8103
- "day",
8104
- "week",
8105
- "month"
8106
- ])
8107
- }),
8108
- z.object({
8109
- kind: z.literal("equal_scheduled_instalments"),
8110
- instalmentCount: z.number().int().positive(),
8111
- intervalCount: z.number().int().positive(),
8112
- intervalUnit: z.enum([
8113
- "day",
8114
- "week",
8115
- "month"
8116
- ])
8117
- })
8118
- ]);
8119
- const bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
8120
- kind: z.literal("relative_to_start_date"),
8121
- daysBeforeStart: z.number().int().positive()
8122
- }), z.object({
8123
- kind: z.literal("fixed_calendar_date"),
8124
- dueAt: z.string().datetime()
8125
- })]);
8126
- const bookingFlexibleBalanceConfigSchema$1 = z.object({
8127
- upfrontAmountCents: z.number().int().min(0),
8128
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
8129
- depositRefundability: bookingDepositRefundPolicySchema$1
8130
- });
8131
- const blockBookingPaymentCollectionOptionSchema = z.union([
8132
- z.object({ kind: z.literal("upfront") }),
8133
- z.object({ kind: z.literal("deferred_manual") }),
8134
- z.object({
8135
- kind: z.literal("instalment_plan"),
8136
- plan: bookingInstalmentPlanSchema$1
8137
- }),
8138
- z.object({
8139
- kind: z.literal("flexible_balance"),
8140
- config: bookingFlexibleBalanceConfigSchema$1
8141
- })
8108
+ //#region ../core/src/booking-payment-schemas.ts
8109
+ const stripObject = (shape) => z.object(shape);
8110
+ const strictObject = (shape) => z.strictObject(shape);
8111
+ const depositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
8112
+ const intervalUnitSchema = z.enum([
8113
+ "day",
8114
+ "week",
8115
+ "month"
8142
8116
  ]);
8143
- const blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
8117
+ const nonNegativeIntegerSchema = z.number().int().nonnegative();
8118
+ const positiveIntegerSchema = z.number().int().positive();
8119
+ function createInstalmentPlanSchema(object) {
8120
+ return z.discriminatedUnion("kind", [
8121
+ object({
8122
+ kind: z.literal("deposit_plus_one_remainder"),
8123
+ depositAmountCents: nonNegativeIntegerSchema,
8124
+ depositRefundability: depositRefundPolicySchema,
8125
+ remainderDueCount: positiveIntegerSchema,
8126
+ intervalUnit: intervalUnitSchema
8127
+ }),
8128
+ object({
8129
+ kind: z.literal("deposit_plus_scheduled_instalments"),
8130
+ depositAmountCents: nonNegativeIntegerSchema,
8131
+ depositRefundability: depositRefundPolicySchema,
8132
+ instalmentCount: positiveIntegerSchema,
8133
+ intervalCount: positiveIntegerSchema,
8134
+ intervalUnit: intervalUnitSchema
8135
+ }),
8136
+ object({
8137
+ kind: z.literal("equal_scheduled_instalments"),
8138
+ instalmentCount: positiveIntegerSchema,
8139
+ intervalCount: positiveIntegerSchema,
8140
+ intervalUnit: intervalUnitSchema
8141
+ })
8142
+ ]);
8143
+ }
8144
+ function createFlexibleBalanceSchemas(object) {
8145
+ const dueDateRule = z.discriminatedUnion("kind", [object({
8146
+ kind: z.literal("relative_to_start_date"),
8147
+ daysBeforeStart: positiveIntegerSchema
8148
+ }), object({
8149
+ kind: z.literal("fixed_calendar_date"),
8150
+ dueAt: z.string().datetime()
8151
+ })]);
8152
+ return {
8153
+ dueDateRule,
8154
+ config: object({
8155
+ upfrontAmountCents: nonNegativeIntegerSchema,
8156
+ dueDateRule,
8157
+ depositRefundability: depositRefundPolicySchema
8158
+ })
8159
+ };
8160
+ }
8161
+ const paymentOptionKindsMessages = {
8162
+ no_options: "Choose at least one way for customers to pay.",
8163
+ duplicate_kind: "Choose each payment option only once.",
8164
+ incompatible_collection_options: "Offer instalments or a deposit with the rest paid later, but not both."
8165
+ };
8166
+ function buildBookingPaymentOptionSchemas(object) {
8167
+ const instalmentPlan = createInstalmentPlanSchema(object);
8168
+ const flexibleBalance = createFlexibleBalanceSchemas(object);
8169
+ const paymentCollectionOption = z.discriminatedUnion("kind", [
8170
+ object({ kind: z.literal("upfront") }),
8171
+ object({ kind: z.literal("deferred_manual") }),
8172
+ object({
8173
+ kind: z.literal("instalment_plan"),
8174
+ plan: instalmentPlan
8175
+ }),
8176
+ object({
8177
+ kind: z.literal("flexible_balance"),
8178
+ config: flexibleBalance.config
8179
+ })
8180
+ ]);
8181
+ const paymentTerms = object({ allowedOptions: z.array(paymentCollectionOption) }).superRefine(({ allowedOptions }, ctx) => {
8182
+ const result = validateBookingPaymentOptionKinds(allowedOptions.map(({ kind }) => kind));
8183
+ if (!result.ok) ctx.addIssue({
8184
+ code: "custom",
8185
+ path: ["allowedOptions"],
8186
+ message: paymentOptionKindsMessages[result.error]
8187
+ });
8188
+ });
8189
+ const paymentOptionsChoice = z.discriminatedUnion("source", [z.strictObject({ source: z.literal("default") }), z.strictObject({
8190
+ source: z.literal("custom"),
8191
+ paymentTerms
8192
+ })]);
8193
+ return {
8194
+ depositRefundPolicy: depositRefundPolicySchema,
8195
+ instalmentPlan,
8196
+ flexibleBalanceDueDateRule: flexibleBalance.dueDateRule,
8197
+ flexibleBalanceConfig: flexibleBalance.config,
8198
+ paymentCollectionOption,
8199
+ paymentTerms,
8200
+ paymentOptionsChoice
8201
+ };
8202
+ }
8203
+ function createBookingPaymentOptionSchemas(mode) {
8204
+ return mode === "strict" ? buildBookingPaymentOptionSchemas(strictObject) : buildBookingPaymentOptionSchemas(stripObject);
8205
+ }
8206
+ const bookingPaymentOptionSchemas = createBookingPaymentOptionSchemas("strip");
8207
+ bookingPaymentOptionSchemas.depositRefundPolicy;
8208
+ bookingPaymentOptionSchemas.instalmentPlan;
8209
+ bookingPaymentOptionSchemas.flexibleBalanceDueDateRule;
8210
+ bookingPaymentOptionSchemas.flexibleBalanceConfig;
8211
+ bookingPaymentOptionSchemas.paymentCollectionOption;
8212
+ const bookingPaymentTermsSchema = bookingPaymentOptionSchemas.paymentTerms;
8213
+ bookingPaymentOptionSchemas.paymentOptionsChoice;
8214
+ //#endregion
8215
+ //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
8216
+ const blockBookingPaymentTermsSchema = bookingPaymentTermsSchema;
8144
8217
  //#endregion
8145
8218
  //#region ../blocks/src/system/blocks/shared/bookingConsent.ts
8146
8219
  const blockBookingConsentSchema = z.object({
@@ -8385,7 +8458,6 @@ const publicEventBaseSchema = z.object({
8385
8458
  description: z.string().nullable(),
8386
8459
  content: z.object({ body: RichTextDocSchema.nullable().optional() }).optional(),
8387
8460
  presentation: z.object({
8388
- cardTitleOverride: z.string().nullable().optional(),
8389
8461
  summary: z.string().nullable().optional(),
8390
8462
  image: mediaSchema.nullable().optional()
8391
8463
  }).optional(),
@@ -8418,6 +8490,7 @@ const publicEventBaseSchema = z.object({
8418
8490
  "archived"
8419
8491
  ]).optional(),
8420
8492
  timeZone: z.string(),
8493
+ siteTimeZone: z.string().optional(),
8421
8494
  pricing: publicEventPricingSchema,
8422
8495
  paymentTerms: blockBookingPaymentTermsSchema,
8423
8496
  cancellationPolicy: z.object({ refunds: z.object({
@@ -10261,6 +10334,7 @@ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
10261
10334
  responseKind: "json",
10262
10335
  errors: [
10263
10336
  "resource:not_found",
10337
+ "validation:invalid_input",
10264
10338
  "resource:conflict",
10265
10339
  "server:internal_error"
10266
10340
  ]
@@ -10715,28 +10789,6 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
10715
10789
  "resource:conflict",
10716
10790
  "server:internal_error"
10717
10791
  ]
10718
- },
10719
- /**
10720
- * The Content tab's one write: the short introduction, image and
10721
- * description of an event's page, published without its layout.
10722
- */
10723
- saveEventPageWords: {
10724
- path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
10725
- method: "PUT",
10726
- tags: [
10727
- TAG_TEMPLATES.siteCollection,
10728
- TAG_TEMPLATES.siteRoutableContent,
10729
- TAG_TEMPLATES.pageSurfaceById
10730
- ],
10731
- auth: "user",
10732
- responseKind: "json",
10733
- errors: [
10734
- "auth:forbidden",
10735
- "validation:invalid_input",
10736
- "resource:not_found",
10737
- "resource:conflict",
10738
- "server:internal_error"
10739
- ]
10740
10792
  }
10741
10793
  });
10742
10794
  //#endregion
@@ -11161,6 +11213,15 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11161
11213
  auth: "user",
11162
11214
  responseKind: "json"
11163
11215
  },
11216
+ /** Continue on Free from the onboarding card page; only the attempt's owner. */
11217
+ continueOnboardingOnFree: {
11218
+ path: "/onboarding/attempts/{attemptToken}/plan/free",
11219
+ method: "POST",
11220
+ tags: ["billing"],
11221
+ auth: "user",
11222
+ errors: [],
11223
+ responseKind: "json"
11224
+ },
11164
11225
  createBillingPortalSession: {
11165
11226
  path: "/billing/portal/session",
11166
11227
  method: "POST",
@@ -11170,6 +11231,161 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11170
11231
  }
11171
11232
  });
11172
11233
  //#endregion
11234
+ //#region ../api/src/editLeaseEndpoints.ts
11235
+ const path = "/sites/{siteId}/edit-leases/{nodeType}/{nodeId}";
11236
+ const lifecycleErrors = [
11237
+ "auth:lease_required",
11238
+ "auth:forbidden",
11239
+ "resource:not_found",
11240
+ "validation:invalid_input",
11241
+ "server:internal_error"
11242
+ ];
11243
+ const EDIT_LEASE_ENDPOINT_DEFINITIONS = {
11244
+ readEditLease: {
11245
+ path,
11246
+ method: "GET",
11247
+ editLease: "lifecycle",
11248
+ errors: lifecycleErrors,
11249
+ auth: "user",
11250
+ responseKind: "json"
11251
+ },
11252
+ acquireEditLease: {
11253
+ path,
11254
+ method: "POST",
11255
+ editLease: "lifecycle",
11256
+ errors: lifecycleErrors,
11257
+ auth: "user",
11258
+ responseKind: "json"
11259
+ },
11260
+ takeOverEditLease: {
11261
+ path,
11262
+ method: "PUT",
11263
+ editLease: "lifecycle",
11264
+ errors: lifecycleErrors,
11265
+ auth: "user",
11266
+ responseKind: "json"
11267
+ },
11268
+ heartbeatEditLease: {
11269
+ path,
11270
+ method: "PATCH",
11271
+ editLease: "lifecycle",
11272
+ errors: [...lifecycleErrors, "auth:lease_lost"],
11273
+ auth: "user",
11274
+ responseKind: "json"
11275
+ },
11276
+ releaseEditLease: {
11277
+ path,
11278
+ method: "DELETE",
11279
+ editLease: "lifecycle",
11280
+ errors: lifecycleErrors,
11281
+ auth: "user",
11282
+ responseKind: "json"
11283
+ }
11284
+ };
11285
+ //#endregion
11286
+ //#region ../api/src/pageSurfaceEditorEndpoints.ts
11287
+ const surfaceTags = [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById];
11288
+ const PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS = {
11289
+ getPageSurfaceEditorDocument: {
11290
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
11291
+ method: "GET",
11292
+ errors: [
11293
+ "auth:forbidden",
11294
+ "validation:invalid_input",
11295
+ "resource:not_found",
11296
+ "resource:conflict",
11297
+ "server:internal_error"
11298
+ ],
11299
+ tags: surfaceTags,
11300
+ auth: "user",
11301
+ responseKind: "json"
11302
+ },
11303
+ updatePageSurfaceDraftContent: {
11304
+ editLease: "managed",
11305
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
11306
+ method: "PUT",
11307
+ errors: [
11308
+ "validation:invalid_input",
11309
+ "resource:not_found",
11310
+ "resource:conflict",
11311
+ "server:internal_error"
11312
+ ],
11313
+ tags: surfaceTags,
11314
+ auth: "user",
11315
+ responseKind: "json"
11316
+ },
11317
+ discardPageSurfaceDraftContent: {
11318
+ editLease: "managed",
11319
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content/draft",
11320
+ method: "DELETE",
11321
+ errors: [
11322
+ "validation:invalid_input",
11323
+ "resource:not_found",
11324
+ "resource:conflict",
11325
+ "server:internal_error"
11326
+ ],
11327
+ tags: surfaceTags,
11328
+ auth: "user",
11329
+ responseKind: "json"
11330
+ },
11331
+ updatePageSurfaceRouteMetadata: {
11332
+ editLease: "managed",
11333
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/metadata",
11334
+ method: "PATCH",
11335
+ errors: [
11336
+ "validation:invalid_input",
11337
+ "resource:not_found",
11338
+ "resource:conflict",
11339
+ "server:internal_error"
11340
+ ],
11341
+ tags: [
11342
+ TAG_TEMPLATES.siteCollection,
11343
+ TAG_TEMPLATES.siteRoutableContent,
11344
+ TAG_TEMPLATES.pageSurfaceById
11345
+ ],
11346
+ auth: "user",
11347
+ responseKind: "json"
11348
+ },
11349
+ publishPageSurface: {
11350
+ editLease: "managed",
11351
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/publication",
11352
+ method: "POST",
11353
+ errors: [
11354
+ "auth:forbidden",
11355
+ "validation:invalid_input",
11356
+ "resource:not_found",
11357
+ "resource:conflict",
11358
+ "server:internal_error"
11359
+ ],
11360
+ tags: [
11361
+ TAG_TEMPLATES.siteCollection,
11362
+ TAG_TEMPLATES.siteRoutableContent,
11363
+ TAG_TEMPLATES.pageSurfaceById
11364
+ ],
11365
+ auth: "user",
11366
+ responseKind: "json"
11367
+ },
11368
+ saveEventContentTab: {
11369
+ editLease: "managed",
11370
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/event-content",
11371
+ method: "PUT",
11372
+ errors: [
11373
+ "auth:forbidden",
11374
+ "validation:invalid_input",
11375
+ "resource:not_found",
11376
+ "resource:conflict",
11377
+ "server:internal_error"
11378
+ ],
11379
+ tags: [
11380
+ TAG_TEMPLATES.siteCollection,
11381
+ TAG_TEMPLATES.siteRoutableContent,
11382
+ TAG_TEMPLATES.pageSurfaceById
11383
+ ],
11384
+ auth: "user",
11385
+ responseKind: "json"
11386
+ }
11387
+ };
11388
+ //#endregion
11173
11389
  //#region ../api/src/bookingPeopleEndpointDefinitions.ts
11174
11390
  /**
11175
11391
  * People endpoints (#1356): the People list, its CSV export, and deleting a
@@ -11233,7 +11449,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
11233
11449
  stack: 8e3,
11234
11450
  digest: 128,
11235
11451
  componentStack: 8e3,
11236
- sourceLocation: 1024
11452
+ sourceLocation: 1024,
11453
+ navigationAgeMs: 6e4
11237
11454
  };
11238
11455
  const clientErrorEventSchema = z.enum([
11239
11456
  "dashboard:route-error",
@@ -11250,7 +11467,17 @@ z.object({
11250
11467
  stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
11251
11468
  digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
11252
11469
  componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
11253
- sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
11470
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
11471
+ navigation: z.object({
11472
+ fromPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
11473
+ toPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
11474
+ type: z.enum([
11475
+ "push",
11476
+ "replace",
11477
+ "traverse"
11478
+ ]),
11479
+ ageMs: z.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
11480
+ }).strict().nullable().optional()
11254
11481
  }).strict();
11255
11482
  ({
11256
11483
  ...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
@@ -11262,12 +11489,14 @@ z.object({
11262
11489
  ...GIFTING_ENDPOINT_DEFINITIONS,
11263
11490
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
11264
11491
  ...BILLING_ENDPOINT_DEFINITIONS,
11492
+ ...EDIT_LEASE_ENDPOINT_DEFINITIONS,
11493
+ ...PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS,
11265
11494
  ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
11266
11495
  }), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
11267
11496
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
11268
11497
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
11269
11498
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
11270
- }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...BOOKING_PEOPLE_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS }, { ...SDK_EVENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
11499
+ }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicBookingServices, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, { ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEventFilters, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, { ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...BOOKING_PEOPLE_ENDPOINT_DEFINITIONS }, { ...SDK_MEDIA_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_PAGE_DESIGN_ENDPOINT_DEFINITIONS }, { ...SDK_EVENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
11271
11500
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
11272
11501
  z.object({
11273
11502
  accessToken: z.string().min(1).max(4096),
@@ -29139,6 +29368,10 @@ const bookingDescription = richText({}, bind("content.description"), when("conte
29139
29368
  * that hydration never rewrites.
29140
29369
  */
29141
29370
  const bookingWizard = bookingForm(withApiBindings({
29371
+ demoEmailSuppressed: { $bind: {
29372
+ from: "$root.demoEmailSuppressed",
29373
+ fallback: false
29374
+ } },
29142
29375
  portalToken: { $bind: {
29143
29376
  from: "$root.portalToken",
29144
29377
  fallback: null
@@ -29782,7 +30015,7 @@ const publicPassProductCollectionSchema = z.object({ passes: z.array(publicPassP
29782
30015
  /**
29783
30016
  * Public membership product for shop display
29784
30017
  */
29785
- const publicMembershipProductSchema = z.object({
30018
+ const publicMembershipProductFields = {
29786
30019
  id: z.string(),
29787
30020
  name: z.string(),
29788
30021
  description: z.string().nullable(),
@@ -29791,7 +30024,16 @@ const publicMembershipProductSchema = z.object({
29791
30024
  billingInterval: z.enum(["month", "year"]),
29792
30025
  eligibleCategoryIds: z.array(z.string()),
29793
30026
  eligibleCategoryNames: z.array(z.string())
30027
+ };
30028
+ const purchasablePublicMembershipProductSchema = z.object({
30029
+ ...publicMembershipProductFields,
30030
+ purchaseAvailability: z.literal("purchasable")
29794
30031
  });
30032
+ const publicMembershipProductSchema = z.discriminatedUnion("purchaseAvailability", [purchasablePublicMembershipProductSchema, z.object({
30033
+ ...publicMembershipProductFields,
30034
+ purchaseAvailability: z.literal("display_only"),
30035
+ unavailabilityReason: z.literal("online_payments_unavailable")
30036
+ })]);
29795
30037
  const publicMembershipProductCollectionSchema = z.object({ memberships: z.array(publicMembershipProductSchema) });
29796
30038
  //#endregion
29797
30039
  //#region ../blocks/src/system/blocks/event-registration.shared.ts
@@ -30052,6 +30294,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
30052
30294
  ];
30053
30295
  const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
30054
30296
  const eventRegistrationHydrationSchemaShape = {
30297
+ demoEmailSuppressed: z.boolean().optional(),
30055
30298
  occurrenceContext: occurrenceContextSchema.optional(),
30056
30299
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
30057
30300
  maxTickets: z.string().optional(),
@@ -30232,6 +30475,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
30232
30475
  ...eventSource,
30233
30476
  events: [...scopedSourceEvents]
30234
30477
  } : eventSource,
30478
+ demoEmailSuppressed: source.demoEmailSuppressed,
30235
30479
  maxTickets: source.maxTickets ?? void 0,
30236
30480
  showVenue: source.showVenue,
30237
30481
  showCapacity: source.showCapacity,
@@ -30360,8 +30604,8 @@ const eventRegistrationBlockDefinition = {
30360
30604
  description: "Message shown after successful registration",
30361
30605
  required: false,
30362
30606
  multiline: true,
30363
- defaultValue: "Thank you for registering! Check your email for confirmation details.",
30364
- maxLength: 500
30607
+ maxLength: 500,
30608
+ ui: { placeholder: "Thank you for registering! Check your email for confirmation details." }
30365
30609
  },
30366
30610
  {
30367
30611
  id: "buttonText",
@@ -30382,6 +30626,10 @@ const eventRegistrationBlockDefinition = {
30382
30626
  text({ as: "h2" }, bind("content.heading"), when("content.heading")),
30383
30627
  richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
30384
30628
  eventRegistration(withApiBindings({
30629
+ demoEmailSuppressed: { $bind: {
30630
+ from: "$root.demoEmailSuppressed",
30631
+ fallback: false
30632
+ } },
30385
30633
  readAuthority: { $bind: { from: "$root.readAuthority" } },
30386
30634
  occurrenceContext: { $bind: { from: "$root.occurrenceContext" } },
30387
30635
  subject: { $bind: { from: "$root.subject" } },
@@ -35582,7 +35830,7 @@ function buildPassesMembershipsDisplay(options) {
35582
35830
  product: pass
35583
35831
  } : {
35584
35832
  kind: "unavailable",
35585
- label: "Online purchasing coming soon."
35833
+ label: "Online purchasing is unavailable."
35586
35834
  }
35587
35835
  };
35588
35836
  });
@@ -35592,7 +35840,14 @@ function buildPassesMembershipsDisplay(options) {
35592
35840
  description: options.showDescriptions ? membership.description : null,
35593
35841
  priceLabel: formatCommercePrice(membership.price, membership.currency),
35594
35842
  intervalLabel: formatInterval(membership.billingInterval),
35595
- actionLabel: options.membershipActionLabel
35843
+ action: membership.purchaseAvailability === "purchasable" ? {
35844
+ kind: "purchase",
35845
+ label: options.membershipActionLabel,
35846
+ product: membership
35847
+ } : {
35848
+ kind: "unavailable",
35849
+ label: "Online purchasing is unavailable."
35850
+ }
35596
35851
  }));
35597
35852
  return {
35598
35853
  kind: "passes-memberships",
@@ -35744,6 +35999,7 @@ const shopSourceSchema = z.object({
35744
35999
  memberships: z.array(publicMembershipProductSchema).nullable().optional(),
35745
36000
  products: z.array(publicProductSchema).nullable().optional(),
35746
36001
  siteId: z.string().optional(),
36002
+ demoEmailSuppressed: z.boolean().optional(),
35747
36003
  apiBaseUrl: z.string().optional(),
35748
36004
  readAuthority: browserReadAuthoritySchema.optional(),
35749
36005
  stage: previewStageSchema.optional()
@@ -35811,7 +36067,14 @@ const membershipCardDisplaySchema = z.object({
35811
36067
  description: z.string().nullable(),
35812
36068
  priceLabel: z.string(),
35813
36069
  intervalLabel: z.string(),
35814
- actionLabel: z.string()
36070
+ action: z.discriminatedUnion("kind", [z.object({
36071
+ kind: z.literal("purchase"),
36072
+ label: z.string(),
36073
+ product: purchasablePublicMembershipProductSchema
36074
+ }), z.object({
36075
+ kind: z.literal("unavailable"),
36076
+ label: z.string()
36077
+ })])
35815
36078
  });
35816
36079
  const passesMembershipsDisplaySchema = z.object({
35817
36080
  kind: z.literal("passes-memberships"),
@@ -35863,7 +36126,8 @@ const checkoutDisplaySchema = z.object({
35863
36126
  const passesMembershipsHydrationSchema = z.object({
35864
36127
  memberships: z.array(publicMembershipProductSchema),
35865
36128
  passPurchaseMode: z.enum(["add_to_cart", "buy_now"]),
35866
- buttonVariant: blockButtonRoleSchema
36129
+ buttonVariant: blockButtonRoleSchema,
36130
+ demoEmailSuppressed: z.boolean().optional()
35867
36131
  });
35868
36132
  const productListHydrationSchema = z.object({
35869
36133
  products: z.array(publicProductSchema),
@@ -35885,7 +36149,8 @@ const cartHydrationSchema = z.object({
35885
36149
  });
35886
36150
  const checkoutHydrationSchema = z.object({
35887
36151
  emptyStateText: z.string(),
35888
- submitButtonText: z.string()
36152
+ submitButtonText: z.string(),
36153
+ demoEmailSuppressed: z.boolean().optional()
35889
36154
  });
35890
36155
  const passesMembershipsRenderSchema = z.object({
35891
36156
  display: passesMembershipsDisplaySchema,
@@ -35944,7 +36209,8 @@ const shopBlockRuntime = defineProgressiveBlockRuntime({
35944
36209
  hydration: {
35945
36210
  memberships: source.showMemberships === false ? [] : source.memberships ?? [],
35946
36211
  passPurchaseMode,
35947
- buttonVariant: source.buttonVariant ?? "primary"
36212
+ buttonVariant: source.buttonVariant ?? "primary",
36213
+ demoEmailSuppressed: source.demoEmailSuppressed
35948
36214
  }
35949
36215
  };
35950
36216
  }
@@ -36037,7 +36303,8 @@ const checkoutBlockRuntime = defineClientOwnedBlockRuntime({
36037
36303
  }),
36038
36304
  hydration: {
36039
36305
  emptyStateText: source.emptyStateText ?? "Add something to your cart to continue.",
36040
- submitButtonText: source.submitButtonText ?? "Checkout"
36306
+ submitButtonText: source.submitButtonText ?? "Checkout",
36307
+ demoEmailSuppressed: source.demoEmailSuppressed
36041
36308
  }
36042
36309
  })
36043
36310
  });
@@ -36255,6 +36522,10 @@ const shopBlockDefinition = {
36255
36522
  spacing: "spacious",
36256
36523
  children: sectionContainer([shop(withApiBindings({
36257
36524
  readAuthority: { $bind: { from: "$root.readAuthority" } },
36525
+ demoEmailSuppressed: { $bind: {
36526
+ from: "$root.demoEmailSuppressed",
36527
+ fallback: false
36528
+ } },
36258
36529
  mode: "passes-memberships",
36259
36530
  showPasses: { $bind: {
36260
36531
  from: "content.showPasses",
@@ -36797,6 +37068,10 @@ const checkoutBlockDefinition = {
36797
37068
  baseClass: "",
36798
37069
  spacing: "spacious",
36799
37070
  children: sectionContainer([checkout(withApiBindings({
37071
+ demoEmailSuppressed: { $bind: {
37072
+ from: "$root.demoEmailSuppressed",
37073
+ fallback: false
37074
+ } },
36800
37075
  readAuthority: { $bind: { from: "$root.readAuthority" } },
36801
37076
  mode: "checkout",
36802
37077
  heading: { $bind: {
@@ -40634,6 +40909,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
40634
40909
  "refund_failed"
40635
40910
  ];
40636
40911
  const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
40912
+ "refund_blocked_by_live_payment_terms",
40637
40913
  ...CANONICAL_REFUND_PLANNER_ERROR_CODES,
40638
40914
  "payment_intent_not_found",
40639
40915
  "stripe_error",
@@ -40649,6 +40925,7 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
40649
40925
  //#endregion
40650
40926
  //#region ../api/src/bookingRefundOutcomes.ts
40651
40927
  const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
40928
+ "refund_blocked_by_live_payment_terms",
40652
40929
  "missing_amount",
40653
40930
  "invalid_amount",
40654
40931
  "amount_exceeds_remaining",
@@ -41038,68 +41315,6 @@ function parsePublicProductCategorySelector(value) {
41038
41315
  }
41039
41316
  z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
41040
41317
  //#endregion
41041
- //#region ../api/src/bookingPaymentTermSchemas.ts
41042
- const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
41043
- const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
41044
- z.object({
41045
- kind: z.literal("deposit_plus_one_remainder"),
41046
- depositAmountCents: z.number().int().nonnegative(),
41047
- depositRefundability: bookingDepositRefundPolicySchema,
41048
- remainderDueCount: z.number().int().positive(),
41049
- intervalUnit: z.enum([
41050
- "day",
41051
- "week",
41052
- "month"
41053
- ])
41054
- }),
41055
- z.object({
41056
- kind: z.literal("deposit_plus_scheduled_instalments"),
41057
- depositAmountCents: z.number().int().nonnegative(),
41058
- depositRefundability: bookingDepositRefundPolicySchema,
41059
- instalmentCount: z.number().int().positive(),
41060
- intervalCount: z.number().int().positive(),
41061
- intervalUnit: z.enum([
41062
- "day",
41063
- "week",
41064
- "month"
41065
- ])
41066
- }),
41067
- z.object({
41068
- kind: z.literal("equal_scheduled_instalments"),
41069
- instalmentCount: z.number().int().positive(),
41070
- intervalCount: z.number().int().positive(),
41071
- intervalUnit: z.enum([
41072
- "day",
41073
- "week",
41074
- "month"
41075
- ])
41076
- })
41077
- ]);
41078
- const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
41079
- kind: z.literal("relative_to_start_date"),
41080
- daysBeforeStart: z.number().int().positive()
41081
- }), z.object({
41082
- kind: z.literal("fixed_calendar_date"),
41083
- dueAt: z.string().datetime()
41084
- })]);
41085
- const bookingFlexibleBalanceConfigSchema = z.object({
41086
- upfrontAmountCents: z.number().int().nonnegative(),
41087
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
41088
- depositRefundability: bookingDepositRefundPolicySchema
41089
- });
41090
- z.discriminatedUnion("kind", [
41091
- z.object({ kind: z.literal("upfront") }),
41092
- z.object({ kind: z.literal("deferred_manual") }),
41093
- z.object({
41094
- kind: z.literal("instalment_plan"),
41095
- plan: bookingInstalmentPlanSchema
41096
- }),
41097
- z.object({
41098
- kind: z.literal("flexible_balance"),
41099
- config: bookingFlexibleBalanceConfigSchema
41100
- })
41101
- ]);
41102
- //#endregion
41103
41318
  //#region ../api/src/aiPlayground.ts
41104
41319
  /**
41105
41320
  * RFC-6902 JSON Patch Operations