@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
@@ -58,6 +58,19 @@ const CURRENCY_LOCALE_BY_CODE = {
58
58
  function resolveCurrencyLocale(currencyCode, override) {
59
59
  return override ?? CURRENCY_LOCALE_BY_CODE[currencyCode] ?? "en";
60
60
  }
61
+ function fractionDigitsFor(decimals, exactFormatter) {
62
+ switch (decimals) {
63
+ case "exact": return {};
64
+ case "auto": return {
65
+ minimumFractionDigits: 0,
66
+ maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
67
+ };
68
+ case "whole": return {
69
+ minimumFractionDigits: 0,
70
+ maximumFractionDigits: 0
71
+ };
72
+ }
73
+ }
61
74
  /**
62
75
  * The single currency-amount formatter for the product: minor units in,
63
76
  * localized string out.
@@ -68,6 +81,13 @@ function resolveCurrencyLocale(currencyCode, override) {
68
81
  * own `Intl.NumberFormat`.
69
82
  */
70
83
  function formatCurrencyAmount(amountCents, currency, options) {
84
+ return formatCurrencyMajorUnits(amountCents / 100, currency, options);
85
+ }
86
+ /**
87
+ * `formatCurrencyAmount` for an amount already in MAJOR units (29.99 = £29.99),
88
+ * such as a registrar price. Prefer minor units everywhere else.
89
+ */
90
+ function formatCurrencyMajorUnits(amount, currency, options) {
71
91
  const currencyCode = currency.toUpperCase();
72
92
  const locale = resolveCurrencyLocale(currencyCode, options?.locale);
73
93
  try {
@@ -75,17 +95,13 @@ function formatCurrencyAmount(amountCents, currency, options) {
75
95
  style: "currency",
76
96
  currency: currencyCode
77
97
  });
78
- const fractionDigits = options?.decimals === "auto" ? {
79
- minimumFractionDigits: 0,
80
- maximumFractionDigits: exactFormatter.resolvedOptions().maximumFractionDigits
81
- } : {};
82
98
  return new Intl.NumberFormat(locale, {
83
99
  style: "currency",
84
100
  currency: currencyCode,
85
- ...fractionDigits
86
- }).format(amountCents / 100);
101
+ ...fractionDigitsFor(options?.decimals ?? "exact", exactFormatter)
102
+ }).format(amount);
87
103
  } catch {
88
- return `${(amountCents / 100).toFixed(2)} ${currencyCode}`;
104
+ return `${amount.toFixed(2)} ${currencyCode}`;
89
105
  }
90
106
  }
91
107
  //#endregion
@@ -328,6 +344,16 @@ function isRecord$16(value) {
328
344
  return typeof value === "object" && value !== null && !Array.isArray(value);
329
345
  }
330
346
  //#endregion
347
+ //#region ../core/src/booking-payment-options.ts
348
+ /** Automatic instalments and a flexible balance cannot share one booking offer. */
349
+ function validateBookingPaymentOptionKinds(kinds) {
350
+ if (kinds.length === 0) return err("no_options");
351
+ const uniqueKinds = new Set(kinds);
352
+ if (uniqueKinds.size !== kinds.length) return err("duplicate_kind");
353
+ if (uniqueKinds.has("instalment_plan") && uniqueKinds.has("flexible_balance")) return err("incompatible_collection_options");
354
+ return ok(void 0);
355
+ }
356
+ //#endregion
331
357
  //#region ../core/src/booking-time-zone.ts
332
358
  const TIME_ZONE_VALIDITY_CACHE_LIMIT = 100;
333
359
  const timeZoneValidityCache = /* @__PURE__ */ new Map();
@@ -494,6 +520,26 @@ function toLocationCoordinates(value) {
494
520
  };
495
521
  }
496
522
  //#endregion
523
+ //#region ../core/src/block-content-identity.ts
524
+ function readContentVersionId(value) {
525
+ const parsed = parseContentVersionId(value);
526
+ return parsed.ok ? parsed.value : null;
527
+ }
528
+ /** The one pairing of a published id with its content. */
529
+ function readPublishedBlockPlacement(id, content) {
530
+ if (id == null && content == null) return null;
531
+ const versionId = readContentVersionId(id);
532
+ return versionId !== null && content != null ? {
533
+ kind: "published",
534
+ id: versionId,
535
+ content
536
+ } : {
537
+ kind: "incomplete",
538
+ id: id ?? null,
539
+ content: content ?? null
540
+ };
541
+ }
542
+ //#endregion
497
543
  //#region ../core/src/mailing-list-identifiers.ts
498
544
  const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu;
499
545
  const OPAQUE_ID_PATTERN = /^[A-Za-z0-9_-]{1,100}$/u;
@@ -8125,68 +8171,115 @@ function isRichTextDoc(value) {
8125
8171
  return RichTextDocSchema.safeParse(value).success;
8126
8172
  }
8127
8173
  //#endregion
8128
- //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
8129
- const bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
8130
- const bookingInstalmentPlanSchema$1 = z.union([
8131
- z.object({
8132
- kind: z.literal("deposit_plus_one_remainder"),
8133
- depositAmountCents: z.number().int().min(0),
8134
- depositRefundability: bookingDepositRefundPolicySchema$1,
8135
- remainderDueCount: z.number().int().positive(),
8136
- intervalUnit: z.enum([
8137
- "day",
8138
- "week",
8139
- "month"
8140
- ])
8141
- }),
8142
- z.object({
8143
- kind: z.literal("deposit_plus_scheduled_instalments"),
8144
- depositAmountCents: z.number().int().min(0),
8145
- depositRefundability: bookingDepositRefundPolicySchema$1,
8146
- instalmentCount: z.number().int().positive(),
8147
- intervalCount: z.number().int().positive(),
8148
- intervalUnit: z.enum([
8149
- "day",
8150
- "week",
8151
- "month"
8152
- ])
8153
- }),
8154
- z.object({
8155
- kind: z.literal("equal_scheduled_instalments"),
8156
- instalmentCount: z.number().int().positive(),
8157
- intervalCount: z.number().int().positive(),
8158
- intervalUnit: z.enum([
8159
- "day",
8160
- "week",
8161
- "month"
8162
- ])
8163
- })
8174
+ //#region ../core/src/booking-payment-schemas.ts
8175
+ const stripObject = (shape) => z.object(shape);
8176
+ const strictObject = (shape) => z.strictObject(shape);
8177
+ const depositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
8178
+ const intervalUnitSchema = z.enum([
8179
+ "day",
8180
+ "week",
8181
+ "month"
8164
8182
  ]);
8165
- const bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
8166
- kind: z.literal("relative_to_start_date"),
8167
- daysBeforeStart: z.number().int().positive()
8168
- }), z.object({
8169
- kind: z.literal("fixed_calendar_date"),
8170
- dueAt: z.string().datetime()
8171
- })]);
8172
- const bookingFlexibleBalanceConfigSchema$1 = z.object({
8173
- upfrontAmountCents: z.number().int().min(0),
8174
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
8175
- depositRefundability: bookingDepositRefundPolicySchema$1
8176
- });
8177
- const blockBookingPaymentCollectionOptionSchema = z.union([
8178
- z.object({ kind: z.literal("upfront") }),
8179
- z.object({ kind: z.literal("deferred_manual") }),
8180
- z.object({
8181
- kind: z.literal("instalment_plan"),
8182
- plan: bookingInstalmentPlanSchema$1
8183
- }),
8184
- z.object({
8185
- kind: z.literal("flexible_balance"),
8186
- config: bookingFlexibleBalanceConfigSchema$1
8187
- })
8188
- ]);
8189
- const blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
8183
+ const nonNegativeIntegerSchema = z.number().int().nonnegative();
8184
+ const positiveIntegerSchema = z.number().int().positive();
8185
+ function createInstalmentPlanSchema(object) {
8186
+ return z.discriminatedUnion("kind", [
8187
+ object({
8188
+ kind: z.literal("deposit_plus_one_remainder"),
8189
+ depositAmountCents: nonNegativeIntegerSchema,
8190
+ depositRefundability: depositRefundPolicySchema,
8191
+ remainderDueCount: positiveIntegerSchema,
8192
+ intervalUnit: intervalUnitSchema
8193
+ }),
8194
+ object({
8195
+ kind: z.literal("deposit_plus_scheduled_instalments"),
8196
+ depositAmountCents: nonNegativeIntegerSchema,
8197
+ depositRefundability: depositRefundPolicySchema,
8198
+ instalmentCount: positiveIntegerSchema,
8199
+ intervalCount: positiveIntegerSchema,
8200
+ intervalUnit: intervalUnitSchema
8201
+ }),
8202
+ object({
8203
+ kind: z.literal("equal_scheduled_instalments"),
8204
+ instalmentCount: positiveIntegerSchema,
8205
+ intervalCount: positiveIntegerSchema,
8206
+ intervalUnit: intervalUnitSchema
8207
+ })
8208
+ ]);
8209
+ }
8210
+ function createFlexibleBalanceSchemas(object) {
8211
+ const dueDateRule = z.discriminatedUnion("kind", [object({
8212
+ kind: z.literal("relative_to_start_date"),
8213
+ daysBeforeStart: positiveIntegerSchema
8214
+ }), object({
8215
+ kind: z.literal("fixed_calendar_date"),
8216
+ dueAt: z.string().datetime()
8217
+ })]);
8218
+ return {
8219
+ dueDateRule,
8220
+ config: object({
8221
+ upfrontAmountCents: nonNegativeIntegerSchema,
8222
+ dueDateRule,
8223
+ depositRefundability: depositRefundPolicySchema
8224
+ })
8225
+ };
8226
+ }
8227
+ const paymentOptionKindsMessages = {
8228
+ no_options: "Choose at least one way for customers to pay.",
8229
+ duplicate_kind: "Choose each payment option only once.",
8230
+ incompatible_collection_options: "Offer instalments or a deposit with the rest paid later, but not both."
8231
+ };
8232
+ function buildBookingPaymentOptionSchemas(object) {
8233
+ const instalmentPlan = createInstalmentPlanSchema(object);
8234
+ const flexibleBalance = createFlexibleBalanceSchemas(object);
8235
+ const paymentCollectionOption = z.discriminatedUnion("kind", [
8236
+ object({ kind: z.literal("upfront") }),
8237
+ object({ kind: z.literal("deferred_manual") }),
8238
+ object({
8239
+ kind: z.literal("instalment_plan"),
8240
+ plan: instalmentPlan
8241
+ }),
8242
+ object({
8243
+ kind: z.literal("flexible_balance"),
8244
+ config: flexibleBalance.config
8245
+ })
8246
+ ]);
8247
+ const paymentTerms = object({ allowedOptions: z.array(paymentCollectionOption) }).superRefine(({ allowedOptions }, ctx) => {
8248
+ const result = validateBookingPaymentOptionKinds(allowedOptions.map(({ kind }) => kind));
8249
+ if (!result.ok) ctx.addIssue({
8250
+ code: "custom",
8251
+ path: ["allowedOptions"],
8252
+ message: paymentOptionKindsMessages[result.error]
8253
+ });
8254
+ });
8255
+ const paymentOptionsChoice = z.discriminatedUnion("source", [z.strictObject({ source: z.literal("default") }), z.strictObject({
8256
+ source: z.literal("custom"),
8257
+ paymentTerms
8258
+ })]);
8259
+ return {
8260
+ depositRefundPolicy: depositRefundPolicySchema,
8261
+ instalmentPlan,
8262
+ flexibleBalanceDueDateRule: flexibleBalance.dueDateRule,
8263
+ flexibleBalanceConfig: flexibleBalance.config,
8264
+ paymentCollectionOption,
8265
+ paymentTerms,
8266
+ paymentOptionsChoice
8267
+ };
8268
+ }
8269
+ function createBookingPaymentOptionSchemas(mode) {
8270
+ return mode === "strict" ? buildBookingPaymentOptionSchemas(strictObject) : buildBookingPaymentOptionSchemas(stripObject);
8271
+ }
8272
+ const bookingPaymentOptionSchemas = createBookingPaymentOptionSchemas("strip");
8273
+ bookingPaymentOptionSchemas.depositRefundPolicy;
8274
+ bookingPaymentOptionSchemas.instalmentPlan;
8275
+ bookingPaymentOptionSchemas.flexibleBalanceDueDateRule;
8276
+ bookingPaymentOptionSchemas.flexibleBalanceConfig;
8277
+ bookingPaymentOptionSchemas.paymentCollectionOption;
8278
+ const bookingPaymentTermsSchema = bookingPaymentOptionSchemas.paymentTerms;
8279
+ bookingPaymentOptionSchemas.paymentOptionsChoice;
8280
+ //#endregion
8281
+ //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
8282
+ const blockBookingPaymentTermsSchema = bookingPaymentTermsSchema;
8190
8283
  //#endregion
8191
8284
  //#region ../blocks/src/system/blocks/shared/bookingConsent.ts
8192
8285
  const blockBookingConsentSchema = z.object({
@@ -8431,7 +8524,6 @@ const publicEventBaseSchema = z.object({
8431
8524
  description: z.string().nullable(),
8432
8525
  content: z.object({ body: RichTextDocSchema.nullable().optional() }).optional(),
8433
8526
  presentation: z.object({
8434
- cardTitleOverride: z.string().nullable().optional(),
8435
8527
  summary: z.string().nullable().optional(),
8436
8528
  image: mediaSchema.nullable().optional()
8437
8529
  }).optional(),
@@ -8464,6 +8556,7 @@ const publicEventBaseSchema = z.object({
8464
8556
  "archived"
8465
8557
  ]).optional(),
8466
8558
  timeZone: z.string(),
8559
+ siteTimeZone: z.string().optional(),
8467
8560
  pricing: publicEventPricingSchema,
8468
8561
  paymentTerms: blockBookingPaymentTermsSchema,
8469
8562
  cancellationPolicy: z.object({ refunds: z.object({
@@ -10307,6 +10400,7 @@ const SDK_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
10307
10400
  responseKind: "json",
10308
10401
  errors: [
10309
10402
  "resource:not_found",
10403
+ "validation:invalid_input",
10310
10404
  "resource:conflict",
10311
10405
  "server:internal_error"
10312
10406
  ]
@@ -10761,28 +10855,6 @@ const EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
10761
10855
  "resource:conflict",
10762
10856
  "server:internal_error"
10763
10857
  ]
10764
- },
10765
- /**
10766
- * The Content tab's one write: the short introduction, image and
10767
- * description of an event's page, published without its layout.
10768
- */
10769
- saveEventPageWords: {
10770
- path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/words",
10771
- method: "PUT",
10772
- tags: [
10773
- TAG_TEMPLATES.siteCollection,
10774
- TAG_TEMPLATES.siteRoutableContent,
10775
- TAG_TEMPLATES.pageSurfaceById
10776
- ],
10777
- auth: "user",
10778
- responseKind: "json",
10779
- errors: [
10780
- "auth:forbidden",
10781
- "validation:invalid_input",
10782
- "resource:not_found",
10783
- "resource:conflict",
10784
- "server:internal_error"
10785
- ]
10786
10858
  }
10787
10859
  });
10788
10860
  //#endregion
@@ -11207,6 +11279,15 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11207
11279
  auth: "user",
11208
11280
  responseKind: "json"
11209
11281
  },
11282
+ /** Continue on Free from the onboarding card page; only the attempt's owner. */
11283
+ continueOnboardingOnFree: {
11284
+ path: "/onboarding/attempts/{attemptToken}/plan/free",
11285
+ method: "POST",
11286
+ tags: ["billing"],
11287
+ auth: "user",
11288
+ errors: [],
11289
+ responseKind: "json"
11290
+ },
11210
11291
  createBillingPortalSession: {
11211
11292
  path: "/billing/portal/session",
11212
11293
  method: "POST",
@@ -11216,6 +11297,161 @@ const BILLING_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
11216
11297
  }
11217
11298
  });
11218
11299
  //#endregion
11300
+ //#region ../api/src/editLeaseEndpoints.ts
11301
+ const path = "/sites/{siteId}/edit-leases/{nodeType}/{nodeId}";
11302
+ const lifecycleErrors = [
11303
+ "auth:lease_required",
11304
+ "auth:forbidden",
11305
+ "resource:not_found",
11306
+ "validation:invalid_input",
11307
+ "server:internal_error"
11308
+ ];
11309
+ const EDIT_LEASE_ENDPOINT_DEFINITIONS = {
11310
+ readEditLease: {
11311
+ path,
11312
+ method: "GET",
11313
+ editLease: "lifecycle",
11314
+ errors: lifecycleErrors,
11315
+ auth: "user",
11316
+ responseKind: "json"
11317
+ },
11318
+ acquireEditLease: {
11319
+ path,
11320
+ method: "POST",
11321
+ editLease: "lifecycle",
11322
+ errors: lifecycleErrors,
11323
+ auth: "user",
11324
+ responseKind: "json"
11325
+ },
11326
+ takeOverEditLease: {
11327
+ path,
11328
+ method: "PUT",
11329
+ editLease: "lifecycle",
11330
+ errors: lifecycleErrors,
11331
+ auth: "user",
11332
+ responseKind: "json"
11333
+ },
11334
+ heartbeatEditLease: {
11335
+ path,
11336
+ method: "PATCH",
11337
+ editLease: "lifecycle",
11338
+ errors: [...lifecycleErrors, "auth:lease_lost"],
11339
+ auth: "user",
11340
+ responseKind: "json"
11341
+ },
11342
+ releaseEditLease: {
11343
+ path,
11344
+ method: "DELETE",
11345
+ editLease: "lifecycle",
11346
+ errors: lifecycleErrors,
11347
+ auth: "user",
11348
+ responseKind: "json"
11349
+ }
11350
+ };
11351
+ //#endregion
11352
+ //#region ../api/src/pageSurfaceEditorEndpoints.ts
11353
+ const surfaceTags = [TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById];
11354
+ const PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS = {
11355
+ getPageSurfaceEditorDocument: {
11356
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
11357
+ method: "GET",
11358
+ errors: [
11359
+ "auth:forbidden",
11360
+ "validation:invalid_input",
11361
+ "resource:not_found",
11362
+ "resource:conflict",
11363
+ "server:internal_error"
11364
+ ],
11365
+ tags: surfaceTags,
11366
+ auth: "user",
11367
+ responseKind: "json"
11368
+ },
11369
+ updatePageSurfaceDraftContent: {
11370
+ editLease: "managed",
11371
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content",
11372
+ method: "PUT",
11373
+ errors: [
11374
+ "validation:invalid_input",
11375
+ "resource:not_found",
11376
+ "resource:conflict",
11377
+ "server:internal_error"
11378
+ ],
11379
+ tags: surfaceTags,
11380
+ auth: "user",
11381
+ responseKind: "json"
11382
+ },
11383
+ discardPageSurfaceDraftContent: {
11384
+ editLease: "managed",
11385
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/content/draft",
11386
+ method: "DELETE",
11387
+ errors: [
11388
+ "validation:invalid_input",
11389
+ "resource:not_found",
11390
+ "resource:conflict",
11391
+ "server:internal_error"
11392
+ ],
11393
+ tags: surfaceTags,
11394
+ auth: "user",
11395
+ responseKind: "json"
11396
+ },
11397
+ updatePageSurfaceRouteMetadata: {
11398
+ editLease: "managed",
11399
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/metadata",
11400
+ method: "PATCH",
11401
+ errors: [
11402
+ "validation:invalid_input",
11403
+ "resource:not_found",
11404
+ "resource:conflict",
11405
+ "server:internal_error"
11406
+ ],
11407
+ tags: [
11408
+ TAG_TEMPLATES.siteCollection,
11409
+ TAG_TEMPLATES.siteRoutableContent,
11410
+ TAG_TEMPLATES.pageSurfaceById
11411
+ ],
11412
+ auth: "user",
11413
+ responseKind: "json"
11414
+ },
11415
+ publishPageSurface: {
11416
+ editLease: "managed",
11417
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/publication",
11418
+ method: "POST",
11419
+ errors: [
11420
+ "auth:forbidden",
11421
+ "validation:invalid_input",
11422
+ "resource:not_found",
11423
+ "resource:conflict",
11424
+ "server:internal_error"
11425
+ ],
11426
+ tags: [
11427
+ TAG_TEMPLATES.siteCollection,
11428
+ TAG_TEMPLATES.siteRoutableContent,
11429
+ TAG_TEMPLATES.pageSurfaceById
11430
+ ],
11431
+ auth: "user",
11432
+ responseKind: "json"
11433
+ },
11434
+ saveEventContentTab: {
11435
+ editLease: "managed",
11436
+ path: "/sites/{siteId}/page-surfaces/{pageSurfaceId}/event-content",
11437
+ method: "PUT",
11438
+ errors: [
11439
+ "auth:forbidden",
11440
+ "validation:invalid_input",
11441
+ "resource:not_found",
11442
+ "resource:conflict",
11443
+ "server:internal_error"
11444
+ ],
11445
+ tags: [
11446
+ TAG_TEMPLATES.siteCollection,
11447
+ TAG_TEMPLATES.siteRoutableContent,
11448
+ TAG_TEMPLATES.pageSurfaceById
11449
+ ],
11450
+ auth: "user",
11451
+ responseKind: "json"
11452
+ }
11453
+ };
11454
+ //#endregion
11219
11455
  //#region ../api/src/bookingPeopleEndpointDefinitions.ts
11220
11456
  /**
11221
11457
  * People endpoints (#1356): the People list, its CSV export, and deleting a
@@ -11279,7 +11515,8 @@ const CLIENT_ERROR_REPORT_LIMITS = {
11279
11515
  stack: 8e3,
11280
11516
  digest: 128,
11281
11517
  componentStack: 8e3,
11282
- sourceLocation: 1024
11518
+ sourceLocation: 1024,
11519
+ navigationAgeMs: 6e4
11283
11520
  };
11284
11521
  const clientErrorEventSchema = z.enum([
11285
11522
  "dashboard:route-error",
@@ -11296,7 +11533,17 @@ z.object({
11296
11533
  stack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.stack).nullable(),
11297
11534
  digest: z.string().max(CLIENT_ERROR_REPORT_LIMITS.digest).nullable(),
11298
11535
  componentStack: z.string().max(CLIENT_ERROR_REPORT_LIMITS.componentStack).nullable(),
11299
- sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable()
11536
+ sourceLocation: z.string().max(CLIENT_ERROR_REPORT_LIMITS.sourceLocation).nullable(),
11537
+ navigation: z.object({
11538
+ fromPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
11539
+ toPathname: z.string().regex(/^\/[^?#]*$/).max(CLIENT_ERROR_REPORT_LIMITS.pathname),
11540
+ type: z.enum([
11541
+ "push",
11542
+ "replace",
11543
+ "traverse"
11544
+ ]),
11545
+ ageMs: z.number().int().min(0).max(CLIENT_ERROR_REPORT_LIMITS.navigationAgeMs)
11546
+ }).strict().nullable().optional()
11300
11547
  }).strict();
11301
11548
  ({
11302
11549
  ...SITE_LIFECYCLE_ENDPOINT_DEFINITIONS,
@@ -11308,12 +11555,14 @@ z.object({
11308
11555
  ...GIFTING_ENDPOINT_DEFINITIONS,
11309
11556
  ...PUBLIC_READ_ENDPOINT_DEFINITIONS,
11310
11557
  ...BILLING_ENDPOINT_DEFINITIONS,
11558
+ ...EDIT_LEASE_ENDPOINT_DEFINITIONS,
11559
+ ...PAGE_SURFACE_EDITOR_ENDPOINT_DEFINITIONS,
11311
11560
  ...SITE_MANAGEMENT_ENDPOINT_DEFINITIONS
11312
11561
  }), 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, {
11313
11562
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
11314
11563
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
11315
11564
  ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
11316
- }, 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 };
11565
+ }, 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 };
11317
11566
  z.object({ refreshToken: z.string().min(1).max(4096) }).strict();
11318
11567
  z.object({
11319
11568
  accessToken: z.string().min(1).max(4096),
@@ -11540,21 +11789,6 @@ const navigationLinkInputSchemaOptions = [
11540
11789
  ];
11541
11790
  z.discriminatedUnion("kind", navigationLinkInputSchemaOptions);
11542
11791
  //#endregion
11543
- //#region ../blocks/src/pageRenderAdmission.ts
11544
- /** Pair a published version with the content it authorises at the render boundary. */
11545
- function readPublishedBlockPlacement(id, content) {
11546
- if (id == null && content == null) return null;
11547
- if (id == null || content == null) return {
11548
- kind: "incomplete",
11549
- id: id ?? null,
11550
- content: content ?? null
11551
- };
11552
- return {
11553
- id,
11554
- content
11555
- };
11556
- }
11557
- //#endregion
11558
11792
  //#region ../theme-core/src/site-styles/styleTags.ts
11559
11793
  /**
11560
11794
  * Descriptive style-axis metadata for button personalities and palette
@@ -31015,6 +31249,10 @@ const bookingDescription = richText({}, bind("content.description"), when("conte
31015
31249
  * that hydration never rewrites.
31016
31250
  */
31017
31251
  const bookingWizard = bookingForm(withApiBindings({
31252
+ demoEmailSuppressed: { $bind: {
31253
+ from: "$root.demoEmailSuppressed",
31254
+ fallback: false
31255
+ } },
31018
31256
  portalToken: { $bind: {
31019
31257
  from: "$root.portalToken",
31020
31258
  fallback: null
@@ -31658,7 +31896,7 @@ const publicPassProductCollectionSchema = z.object({ passes: z.array(publicPassP
31658
31896
  /**
31659
31897
  * Public membership product for shop display
31660
31898
  */
31661
- const publicMembershipProductSchema = z.object({
31899
+ const publicMembershipProductFields = {
31662
31900
  id: z.string(),
31663
31901
  name: z.string(),
31664
31902
  description: z.string().nullable(),
@@ -31667,7 +31905,16 @@ const publicMembershipProductSchema = z.object({
31667
31905
  billingInterval: z.enum(["month", "year"]),
31668
31906
  eligibleCategoryIds: z.array(z.string()),
31669
31907
  eligibleCategoryNames: z.array(z.string())
31908
+ };
31909
+ const purchasablePublicMembershipProductSchema = z.object({
31910
+ ...publicMembershipProductFields,
31911
+ purchaseAvailability: z.literal("purchasable")
31670
31912
  });
31913
+ const publicMembershipProductSchema = z.discriminatedUnion("purchaseAvailability", [purchasablePublicMembershipProductSchema, z.object({
31914
+ ...publicMembershipProductFields,
31915
+ purchaseAvailability: z.literal("display_only"),
31916
+ unavailabilityReason: z.literal("online_payments_unavailable")
31917
+ })]);
31671
31918
  const publicMembershipProductCollectionSchema = z.object({ memberships: z.array(publicMembershipProductSchema) });
31672
31919
  //#endregion
31673
31920
  //#region ../blocks/src/system/blocks/event-registration.shared.ts
@@ -31928,6 +32175,7 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
31928
32175
  ];
31929
32176
  const eventRegistrationPublicEventSchema = z.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
31930
32177
  const eventRegistrationHydrationSchemaShape = {
32178
+ demoEmailSuppressed: z.boolean().optional(),
31931
32179
  occurrenceContext: occurrenceContextSchema.optional(),
31932
32180
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
31933
32181
  maxTickets: z.string().optional(),
@@ -32108,6 +32356,7 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
32108
32356
  ...eventSource,
32109
32357
  events: [...scopedSourceEvents]
32110
32358
  } : eventSource,
32359
+ demoEmailSuppressed: source.demoEmailSuppressed,
32111
32360
  maxTickets: source.maxTickets ?? void 0,
32112
32361
  showVenue: source.showVenue,
32113
32362
  showCapacity: source.showCapacity,
@@ -32236,8 +32485,8 @@ const eventRegistrationBlockDefinition = {
32236
32485
  description: "Message shown after successful registration",
32237
32486
  required: false,
32238
32487
  multiline: true,
32239
- defaultValue: "Thank you for registering! Check your email for confirmation details.",
32240
- maxLength: 500
32488
+ maxLength: 500,
32489
+ ui: { placeholder: "Thank you for registering! Check your email for confirmation details." }
32241
32490
  },
32242
32491
  {
32243
32492
  id: "buttonText",
@@ -32258,6 +32507,10 @@ const eventRegistrationBlockDefinition = {
32258
32507
  text({ as: "h2" }, bind("content.heading"), when("content.heading")),
32259
32508
  richText({ className: "rb-prose rb-max-w-none" }, bind("content.description"), when("content.description")),
32260
32509
  eventRegistration(withApiBindings({
32510
+ demoEmailSuppressed: { $bind: {
32511
+ from: "$root.demoEmailSuppressed",
32512
+ fallback: false
32513
+ } },
32261
32514
  readAuthority: { $bind: { from: "$root.readAuthority" } },
32262
32515
  occurrenceContext: { $bind: { from: "$root.occurrenceContext" } },
32263
32516
  subject: { $bind: { from: "$root.subject" } },
@@ -37458,7 +37711,7 @@ function buildPassesMembershipsDisplay(options) {
37458
37711
  product: pass
37459
37712
  } : {
37460
37713
  kind: "unavailable",
37461
- label: "Online purchasing coming soon."
37714
+ label: "Online purchasing is unavailable."
37462
37715
  }
37463
37716
  };
37464
37717
  });
@@ -37468,7 +37721,14 @@ function buildPassesMembershipsDisplay(options) {
37468
37721
  description: options.showDescriptions ? membership.description : null,
37469
37722
  priceLabel: formatCommercePrice(membership.price, membership.currency),
37470
37723
  intervalLabel: formatInterval(membership.billingInterval),
37471
- actionLabel: options.membershipActionLabel
37724
+ action: membership.purchaseAvailability === "purchasable" ? {
37725
+ kind: "purchase",
37726
+ label: options.membershipActionLabel,
37727
+ product: membership
37728
+ } : {
37729
+ kind: "unavailable",
37730
+ label: "Online purchasing is unavailable."
37731
+ }
37472
37732
  }));
37473
37733
  return {
37474
37734
  kind: "passes-memberships",
@@ -37620,6 +37880,7 @@ const shopSourceSchema = z.object({
37620
37880
  memberships: z.array(publicMembershipProductSchema).nullable().optional(),
37621
37881
  products: z.array(publicProductSchema).nullable().optional(),
37622
37882
  siteId: z.string().optional(),
37883
+ demoEmailSuppressed: z.boolean().optional(),
37623
37884
  apiBaseUrl: z.string().optional(),
37624
37885
  readAuthority: browserReadAuthoritySchema.optional(),
37625
37886
  stage: previewStageSchema.optional()
@@ -37687,7 +37948,14 @@ const membershipCardDisplaySchema = z.object({
37687
37948
  description: z.string().nullable(),
37688
37949
  priceLabel: z.string(),
37689
37950
  intervalLabel: z.string(),
37690
- actionLabel: z.string()
37951
+ action: z.discriminatedUnion("kind", [z.object({
37952
+ kind: z.literal("purchase"),
37953
+ label: z.string(),
37954
+ product: purchasablePublicMembershipProductSchema
37955
+ }), z.object({
37956
+ kind: z.literal("unavailable"),
37957
+ label: z.string()
37958
+ })])
37691
37959
  });
37692
37960
  const passesMembershipsDisplaySchema = z.object({
37693
37961
  kind: z.literal("passes-memberships"),
@@ -37739,7 +38007,8 @@ const checkoutDisplaySchema = z.object({
37739
38007
  const passesMembershipsHydrationSchema = z.object({
37740
38008
  memberships: z.array(publicMembershipProductSchema),
37741
38009
  passPurchaseMode: z.enum(["add_to_cart", "buy_now"]),
37742
- buttonVariant: blockButtonRoleSchema
38010
+ buttonVariant: blockButtonRoleSchema,
38011
+ demoEmailSuppressed: z.boolean().optional()
37743
38012
  });
37744
38013
  const productListHydrationSchema = z.object({
37745
38014
  products: z.array(publicProductSchema),
@@ -37761,7 +38030,8 @@ const cartHydrationSchema = z.object({
37761
38030
  });
37762
38031
  const checkoutHydrationSchema = z.object({
37763
38032
  emptyStateText: z.string(),
37764
- submitButtonText: z.string()
38033
+ submitButtonText: z.string(),
38034
+ demoEmailSuppressed: z.boolean().optional()
37765
38035
  });
37766
38036
  const passesMembershipsRenderSchema = z.object({
37767
38037
  display: passesMembershipsDisplaySchema,
@@ -37820,7 +38090,8 @@ const shopBlockRuntime = defineProgressiveBlockRuntime({
37820
38090
  hydration: {
37821
38091
  memberships: source.showMemberships === false ? [] : source.memberships ?? [],
37822
38092
  passPurchaseMode,
37823
- buttonVariant: source.buttonVariant ?? "primary"
38093
+ buttonVariant: source.buttonVariant ?? "primary",
38094
+ demoEmailSuppressed: source.demoEmailSuppressed
37824
38095
  }
37825
38096
  };
37826
38097
  }
@@ -37913,7 +38184,8 @@ const checkoutBlockRuntime = defineClientOwnedBlockRuntime({
37913
38184
  }),
37914
38185
  hydration: {
37915
38186
  emptyStateText: source.emptyStateText ?? "Add something to your cart to continue.",
37916
- submitButtonText: source.submitButtonText ?? "Checkout"
38187
+ submitButtonText: source.submitButtonText ?? "Checkout",
38188
+ demoEmailSuppressed: source.demoEmailSuppressed
37917
38189
  }
37918
38190
  })
37919
38191
  });
@@ -38131,6 +38403,10 @@ const shopBlockDefinition = {
38131
38403
  spacing: "spacious",
38132
38404
  children: sectionContainer([shop(withApiBindings({
38133
38405
  readAuthority: { $bind: { from: "$root.readAuthority" } },
38406
+ demoEmailSuppressed: { $bind: {
38407
+ from: "$root.demoEmailSuppressed",
38408
+ fallback: false
38409
+ } },
38134
38410
  mode: "passes-memberships",
38135
38411
  showPasses: { $bind: {
38136
38412
  from: "content.showPasses",
@@ -38673,6 +38949,10 @@ const checkoutBlockDefinition = {
38673
38949
  baseClass: "",
38674
38950
  spacing: "spacious",
38675
38951
  children: sectionContainer([checkout(withApiBindings({
38952
+ demoEmailSuppressed: { $bind: {
38953
+ from: "$root.demoEmailSuppressed",
38954
+ fallback: false
38955
+ } },
38676
38956
  readAuthority: { $bind: { from: "$root.readAuthority" } },
38677
38957
  mode: "checkout",
38678
38958
  heading: { $bind: {
@@ -42515,6 +42795,7 @@ const CANONICAL_REFUND_PLANNER_ERROR_CODES = [
42515
42795
  "refund_failed"
42516
42796
  ];
42517
42797
  const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
42798
+ "refund_blocked_by_live_payment_terms",
42518
42799
  ...CANONICAL_REFUND_PLANNER_ERROR_CODES,
42519
42800
  "payment_intent_not_found",
42520
42801
  "stripe_error",
@@ -42530,6 +42811,7 @@ const CANONICAL_ADMIN_REFUND_FAILURE_CODES = [
42530
42811
  //#endregion
42531
42812
  //#region ../api/src/bookingRefundOutcomes.ts
42532
42813
  const STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
42814
+ "refund_blocked_by_live_payment_terms",
42533
42815
  "missing_amount",
42534
42816
  "invalid_amount",
42535
42817
  "amount_exceeds_remaining",
@@ -42919,68 +43201,6 @@ function parsePublicProductCategorySelector(value) {
42919
43201
  }
42920
43202
  z.enum(["public", "unlisted"], { error: "visibility must be 'public' or 'unlisted'" });
42921
43203
  //#endregion
42922
- //#region ../api/src/bookingPaymentTermSchemas.ts
42923
- const bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
42924
- const bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
42925
- z.object({
42926
- kind: z.literal("deposit_plus_one_remainder"),
42927
- depositAmountCents: z.number().int().nonnegative(),
42928
- depositRefundability: bookingDepositRefundPolicySchema,
42929
- remainderDueCount: z.number().int().positive(),
42930
- intervalUnit: z.enum([
42931
- "day",
42932
- "week",
42933
- "month"
42934
- ])
42935
- }),
42936
- z.object({
42937
- kind: z.literal("deposit_plus_scheduled_instalments"),
42938
- depositAmountCents: z.number().int().nonnegative(),
42939
- depositRefundability: bookingDepositRefundPolicySchema,
42940
- instalmentCount: z.number().int().positive(),
42941
- intervalCount: z.number().int().positive(),
42942
- intervalUnit: z.enum([
42943
- "day",
42944
- "week",
42945
- "month"
42946
- ])
42947
- }),
42948
- z.object({
42949
- kind: z.literal("equal_scheduled_instalments"),
42950
- instalmentCount: z.number().int().positive(),
42951
- intervalCount: z.number().int().positive(),
42952
- intervalUnit: z.enum([
42953
- "day",
42954
- "week",
42955
- "month"
42956
- ])
42957
- })
42958
- ]);
42959
- const bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
42960
- kind: z.literal("relative_to_start_date"),
42961
- daysBeforeStart: z.number().int().positive()
42962
- }), z.object({
42963
- kind: z.literal("fixed_calendar_date"),
42964
- dueAt: z.string().datetime()
42965
- })]);
42966
- const bookingFlexibleBalanceConfigSchema = z.object({
42967
- upfrontAmountCents: z.number().int().nonnegative(),
42968
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
42969
- depositRefundability: bookingDepositRefundPolicySchema
42970
- });
42971
- z.discriminatedUnion("kind", [
42972
- z.object({ kind: z.literal("upfront") }),
42973
- z.object({ kind: z.literal("deferred_manual") }),
42974
- z.object({
42975
- kind: z.literal("instalment_plan"),
42976
- plan: bookingInstalmentPlanSchema
42977
- }),
42978
- z.object({
42979
- kind: z.literal("flexible_balance"),
42980
- config: bookingFlexibleBalanceConfigSchema
42981
- })
42982
- ]);
42983
- //#endregion
42984
43204
  //#region ../api/src/aiPlayground.ts
42985
43205
  /**
42986
43206
  * RFC-6902 JSON Patch Operations
@@ -43399,9 +43619,17 @@ function readBlockContentId(value, name) {
43399
43619
  function readTransportedBlockIdentity(block, kind, stage) {
43400
43620
  return {
43401
43621
  draftContentId: readBlockContentId(block.draftContentId, "draft content id"),
43402
- publishedPlacement: stage === "preview" ? readPublishedBlockPlacement(readBlockContentId(block.publishedContentId, "published content id"), sanitizeNullableSdkRuntimeBlockContent(kind, readNestedContentRecord(block.publishedContent))) : null
43622
+ publishedPlacement: stage === "preview" ? readSdkPreviewPublishedPlacement(block, kind) : null
43403
43623
  };
43404
43624
  }
43625
+ /** Pair SDK preview publication data whether it is transported or already admitted. */
43626
+ function readSdkPreviewPublishedPlacement(block, kind) {
43627
+ if (block.publishedPlacement !== void 0 && block.publishedPlacement !== null) {
43628
+ if (!isRecord(block.publishedPlacement)) throw new Error("Invalid published placement in page");
43629
+ return readPublishedBlockPlacement(readBlockContentId(block.publishedPlacement.id, "published content id"), sanitizeNullableSdkRuntimeBlockContent(kind, readContentRecord(block.publishedPlacement.content) ?? null));
43630
+ }
43631
+ return readPublishedBlockPlacement(readBlockContentId(block.publishedContentId, "published content id"), sanitizeNullableSdkRuntimeBlockContent(kind, readSdkPublishedContentRecord(block.publishedContent)));
43632
+ }
43405
43633
  function convertPageResponseBlock(block, stage) {
43406
43634
  if (!isRecord(block)) throw new Error("Invalid block format in page API response");
43407
43635
  const header = readTransportedBlockHeader(block);
@@ -43510,6 +43738,10 @@ function readNestedContentRecord(value) {
43510
43738
  if (!isRecord(value)) return null;
43511
43739
  return readContentRecord(value.data) ?? null;
43512
43740
  }
43741
+ function readSdkPublishedContentRecord(value) {
43742
+ if (!isRecord(value)) return null;
43743
+ return "data" in value ? readContentRecord(value.data) ?? null : value;
43744
+ }
43513
43745
  function sanitizeSdkRuntimeBlockContent(blockKind, content) {
43514
43746
  if (blockKind !== "block.newsletter-signup") return content;
43515
43747
  const sanitized = sanitizeNewsletterSignupPublicContent(content);