@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
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  import { C as unsafeAsPassId, b as unsafeAsCustomerPassId, v as unsafeAsAppointmentResourceId, x as unsafeAsFormId, y as unsafeAsAppointmentServiceId } from "./colorStyles-j5U9v5JA.mjs";
3
- import { a as buildBookingPaymentSelectionViewModel, i as usePolling, n as BookingConsentAgreement, r as StepIndicator, t as BookingMailingListNote } from "./BookingMailingListNote-1n4Ch_u_.mjs";
4
- import { At as resolveAppointmentCheckoutVerificationState, Ct as formatBookingSubmissionPreparationError, Dt as isBookingServiceSlidingAmountInRange, Et as getBookingSuccessMessage, Ft as projectSelectedAppointmentConsentIntoForm, Gt as okWith, Ht as clearWorkflowFeedback, It as resolveSelectedAppointmentConsent, Kt as reportWorkflowError, Lt as BOOKING_FORM_DATA_RESERVED_KEYS, Mt as resolveBookingSiteId, Nt as resolveDefaultBookingServiceId, Ot as parseBookingCurrencyInputToCents, Pt as toSelectedCollectionOptionKind, Qt as addLocalScheduleDays, Rt as isBookingRequirementConsentFieldId, St as formatBookingCentsAsCurrencyInput, Tt as getBookingServiceSlidingScale, Ut as err, Vt as assertNever, Zt as resolveBookingSignupOffer, bn as formatCurrencyAmount, bt as logger, cn as resolveBookingTimeZoneId, in as formatLocalScheduleDate, jt as resolveBookingPaymentStep, kt as prepareBookingSubmission, nn as formatBookingInstant, qt as reportWorkflowSuccess, sn as parseBookingLocalDate, t as defineIslandPropsDecoder, wt as getBookingRedirectStateFromLocation, xt as deriveBookingFormViewState } from "./propsDecoder-CwvvNOHx.mjs";
5
- import { n as useBlockApi, t as BlockApiProvider } from "./context-C8TinPJc.mjs";
3
+ import { a as buildBookingPaymentSelectionViewModel, i as usePolling, n as BookingConsentAgreement, p as useBookingNowIso, r as StepIndicator, t as BookingMailingListNote } from "./BookingMailingListNote-Cr3EeTP5.mjs";
4
+ import { At as isBookingServiceSlidingAmountInRange, Bt as BOOKING_FORM_DATA_RESERVED_KEYS, Cn as formatCurrencyAmount, Ct as formatBookingSubmissionPreparationError, Dt as getBookingSuccessCopy, Et as getBookingServiceSlidingScale, Ft as resolveBookingSiteId, Gt as clearWorkflowFeedback, It as resolveDefaultBookingServiceId, Jt as okWith, Kt as err, Lt as toSelectedCollectionOptionKind, Mt as prepareBookingSubmission, Nt as resolveAppointmentCheckoutVerificationState, Pt as resolveBookingPaymentStep, Rt as projectSelectedAppointmentConsentIntoForm, St as formatBookingCentsAsCurrencyInput, Tt as getBookingServicePaymentSelectionMode, Vt as isBookingRequirementConsentFieldId, Wt as assertNever, Xt as reportWorkflowSuccess, Yt as reportWorkflowError, an as formatBookingInstant, bt as logger, dn as resolveBookingTimeZoneId, en as resolveBookingSignupOffer, jt as parseBookingCurrencyInputToCents, sn as formatLocalScheduleDate, t as defineIslandPropsDecoder, tn as addLocalScheduleDays, un as parseBookingLocalDate, wt as getBookingRedirectStateFromLocation, xt as deriveBookingFormViewState, zt as resolveSelectedAppointmentConsent } from "./propsDecoder-DZd6RJeA.mjs";
5
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-DFmaZa-Q.mjs";
6
6
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
7
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CKJtz0mY.mjs";
8
- import { a as useDiscountCodeUi, i as CheckIcon, n as StateIcon, r as scrollToBlock, t as TerminalPanel } from "./TerminalPanel-B5ZUsYhe.mjs";
9
- import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-DoVIV1Ao.mjs";
7
+ import { o as DiscountCodeDisclosure, p as storeDemoBookingPassIfAvailable, t as BookingConfirmation } from "./DemoBookingPortalAccess-BFGB1Fay.mjs";
8
+ import { a as useDiscountCodeUi, i as CheckIcon, n as StateIcon, r as scrollToBlock, t as TerminalPanel } from "./TerminalPanel-JjmgxEsR.mjs";
9
+ import { i as SpinnerNode, t as ThemedButton } from "./ThemedButton-CKV1Jh2m.mjs";
10
10
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
11
11
  import { i as getFieldValidationControlProps, r as FieldValidationMessage } from "./mailingListSignupCopy-DZSHZrm6.mjs";
12
- import { t as buildCheckoutReturnUrls } from "./checkoutUrls-BEfR7kVu.mjs";
12
+ import { t as buildCheckoutReturnUrls } from "./checkoutUrls-CXhko2Rv.mjs";
13
13
  import { t as CheckboxChoice } from "./CheckboxChoice-B33MqoUo.mjs";
14
14
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
15
- import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-BwVFo0Y4.mjs";
15
+ import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-E1EkhhYY.mjs";
16
16
  import React, { useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useRef, useState } from "react";
17
17
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
18
  //#region ../core/src/appointment-service-categories.ts
@@ -55,6 +55,32 @@ function layoutServicesByCategory(categories, services, options) {
55
55
  };
56
56
  }
57
57
  //#endregion
58
+ //#region ../blocks/src/system/runtime/nodes/booking-form.payment-confirmation.ts
59
+ function bookingServiceRequiresPaymentBeforeBooking(input) {
60
+ switch (getBookingServicePaymentSelectionMode(input.service)) {
61
+ case "implicit_upfront":
62
+ case "implicit_instalment_plan":
63
+ case "implicit_flexible_balance": return true;
64
+ case "choice_required": return input.selectedCollectionOptionKind !== void 0 && input.selectedCollectionOptionKind !== "deferred_manual";
65
+ case "implicit_deferred_manual":
66
+ case "pending_stripe_setup":
67
+ case "unsupported": return false;
68
+ }
69
+ }
70
+ function resolveBookingPaymentConfirmationSummary(input) {
71
+ const service = input.service;
72
+ if (!service || input.hasSelectedAppointmentPackage || !Number.isFinite(input.priceAmount) || input.priceAmount <= 0 || !service.durationMinutes || !bookingServiceRequiresPaymentBeforeBooking({
73
+ service,
74
+ selectedCollectionOptionKind: input.selectedCollectionOptionKind
75
+ })) return null;
76
+ return {
77
+ serviceTitle: service.title,
78
+ durationMinutes: service.durationMinutes,
79
+ priceAmount: input.priceAmount,
80
+ priceCurrency: service.priceCurrency ?? service.pricing?.currency ?? "USD"
81
+ };
82
+ }
83
+ //#endregion
58
84
  //#region ../blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.ts
59
85
  function useSelectedAppointmentConsentForm(form, selectedService) {
60
86
  return useMemo(() => projectSelectedAppointmentConsentIntoForm(form, resolveSelectedAppointmentConsent(selectedService)), [form, selectedService]);
@@ -638,6 +664,7 @@ function useBookingSubmission(_siteId) {
638
664
  successUrl: data.successUrl,
639
665
  cancelUrl: data.cancelUrl
640
666
  });
667
+ storeDemoBookingPassIfAvailable(response.customer.email, response.demoBookingPass);
641
668
  dispatch({
642
669
  type: "submission-succeeded",
643
670
  message: response.type === "checkout_redirect" ? "Redirecting to secure checkout..." : "Booking submitted successfully."
@@ -676,15 +703,18 @@ function completeBookingSubmission(input) {
676
703
  kind: "checkout_redirect",
677
704
  checkoutUrl: data.checkoutUrl,
678
705
  sessionId: data.sessionId,
706
+ customerEmail: data.customer.email,
707
+ ...data.demoBookingPass ? { demoBookingPass: data.demoBookingPass } : {},
679
708
  ...data.mailingListSignupNote ? { mailingListSignupNote: data.mailingListSignupNote } : {}
680
709
  }
681
710
  };
682
711
  }
712
+ const successCopy = getBookingSuccessCopy(input.successMessage);
683
713
  input.dispatch({
684
714
  type: "feedback-set",
685
715
  feedback: {
686
716
  kind: "success",
687
- message: getBookingSuccessMessage(input.successMessage),
717
+ message: successCopy.defaultEmailSentence ? `${successCopy.message} ${successCopy.defaultEmailSentence}`.trim() : successCopy.message,
688
718
  resourceName: data.appointment.resourceName
689
719
  }
690
720
  });
@@ -694,6 +724,8 @@ function completeBookingSubmission(input) {
694
724
  kind: "booked",
695
725
  appointmentId: data.appointment.id,
696
726
  resourceName: data.appointment.resourceName,
727
+ customerEmail: data.customer.email,
728
+ ...data.demoBookingPass ? { demoBookingPass: data.demoBookingPass } : {},
697
729
  ...data.mailingListSignupNote ? { mailingListSignupNote: data.mailingListSignupNote } : {}
698
730
  }
699
731
  };
@@ -1896,18 +1928,27 @@ function useHeadlessBookingFlow(options) {
1896
1928
  defaultServiceId,
1897
1929
  options.services
1898
1930
  ]);
1931
+ const bookingNowIso = useBookingNowIso();
1899
1932
  const paymentSelection = useMemo(() => selectedService && paymentResolution.mode !== "unsupported" ? buildBookingPaymentSelectionViewModel({
1900
1933
  serviceTitle: selectedService.title,
1901
1934
  paymentTerms: selectedService.paymentTerms,
1902
1935
  priceAmount: selectedAppointmentPriceAmount,
1903
1936
  priceCurrency: selectedService.priceCurrency,
1904
- bookingStartAt: state.selectedSlot?.startAt
1937
+ bookingStartAt: state.selectedSlot?.startAt,
1938
+ nowIso: bookingNowIso
1905
1939
  }) : null, [
1940
+ bookingNowIso,
1906
1941
  paymentResolution.mode,
1907
1942
  selectedAppointmentPriceAmount,
1908
1943
  selectedService,
1909
1944
  state.selectedSlot?.startAt
1910
1945
  ]);
1946
+ const paymentConfirmationSummary = resolveBookingPaymentConfirmationSummary({
1947
+ service: selectedService,
1948
+ priceAmount: selectedAppointmentPriceAmount,
1949
+ selectedCollectionOptionKind: state.selectedCollectionOptionKind,
1950
+ hasSelectedAppointmentPackage: Boolean(state.selectedAppointmentPackageId)
1951
+ });
1911
1952
  const appointmentPackageItems = appointmentPackages.tag === "loaded" ? appointmentPackages.value : [];
1912
1953
  const selectedAppointmentPackage = appointmentPackageItems.find((appointmentPackage) => appointmentPackage.customerPassId === state.selectedAppointmentPackageId) ?? null;
1913
1954
  const spamProtectionEnabled = options.spamProtectionEnabled ?? isSpamProtectionEnabled();
@@ -1937,7 +1978,8 @@ function useHeadlessBookingFlow(options) {
1937
1978
  selectedSlidingAmount,
1938
1979
  slidingScale: selectedServiceSlidingScale,
1939
1980
  appointmentPackages: appointmentPackagesModel,
1940
- errorMessage: paymentResolution.errorMessage ?? "This service cannot be booked right now."
1981
+ errorMessage: paymentResolution.errorMessage ?? "This service cannot be booked right now.",
1982
+ confirmationSummary: null
1941
1983
  } : {
1942
1984
  kind: "ok",
1943
1985
  mode: paymentResolution.mode,
@@ -1947,7 +1989,8 @@ function useHeadlessBookingFlow(options) {
1947
1989
  selectedSlidingAmountInput: state.selectedSlidingAmountInput,
1948
1990
  selectedSlidingAmount,
1949
1991
  slidingScale: selectedServiceSlidingScale,
1950
- appointmentPackages: appointmentPackagesModel
1992
+ appointmentPackages: appointmentPackagesModel,
1993
+ confirmationSummary: paymentConfirmationSummary
1951
1994
  };
1952
1995
  return {
1953
1996
  mailingList,
@@ -2043,6 +2086,10 @@ function useLatestRef(value) {
2043
2086
  }
2044
2087
  //#endregion
2045
2088
  //#region ../blocks/src/system/runtime/hooks/useAppointmentCheckoutVerification.ts
2089
+ const APPOINTMENT_CHECKOUT_MAX_ATTEMPTS = 12;
2090
+ function resolveAppointmentCheckoutPollInterval(attempt) {
2091
+ return Math.min(1e3 * 2 ** (attempt - 1), 4e3);
2092
+ }
2046
2093
  const appointmentCheckoutVerificationDeps = {
2047
2094
  useBlockApi,
2048
2095
  usePolling
@@ -2052,16 +2099,25 @@ function useAppointmentCheckoutVerification(config) {
2052
2099
  }
2053
2100
  function useAppointmentCheckoutVerificationWithDeps(config, deps) {
2054
2101
  const api = deps.useBlockApi();
2102
+ const sessionId = config?.sessionId ?? null;
2103
+ const maxAttempts = config?.maxAttempts;
2104
+ const pollInterval = config?.pollInterval;
2055
2105
  const pollingConfig = useMemo(() => {
2056
- if (!config) return null;
2106
+ if (sessionId === null) return null;
2057
2107
  return {
2058
- pollFn: () => api.getAppointmentBookingStatus({ sessionId: config.sessionId }),
2108
+ restartKey: sessionId,
2109
+ pollFn: () => api.getAppointmentBookingStatus({ sessionId }),
2059
2110
  isComplete: (result) => (result.paymentStatus === "completed" || result.paymentStatus === "not_required") && result.appointmentStatus === "confirmed",
2060
2111
  isFailed: (result) => result.paymentStatus === "failed" || result.paymentStatus === "cancelled" || result.paymentStatus === "refunded" || result.appointmentStatus === "cancelled",
2061
- maxAttempts: config.maxAttempts,
2062
- interval: config.pollInterval
2112
+ maxAttempts: maxAttempts ?? APPOINTMENT_CHECKOUT_MAX_ATTEMPTS,
2113
+ interval: pollInterval ?? resolveAppointmentCheckoutPollInterval
2063
2114
  };
2064
- }, [api, config]);
2115
+ }, [
2116
+ api,
2117
+ sessionId,
2118
+ maxAttempts,
2119
+ pollInterval
2120
+ ]);
2065
2121
  const polling = deps.usePolling(pollingConfig);
2066
2122
  return {
2067
2123
  state: resolveAppointmentCheckoutVerificationState({
@@ -2358,6 +2414,72 @@ function ServiceChoiceGrid({ booking, choices }) {
2358
2414
  });
2359
2415
  }
2360
2416
  //#endregion
2417
+ //#region ../blocks/src/system/runtime/nodes/booking-form.submit-actions.tsx
2418
+ function resolvePrimaryActionLabel(isLastStep, requiresPayment) {
2419
+ if (!isLastStep) return "Continue";
2420
+ return requiresPayment ? "Continue to payment" : "Complete";
2421
+ }
2422
+ function formatBookingConfirmationDateTime(booking) {
2423
+ const startAt = booking.currentStep?.id === "datetime-selection" ? booking.availability.selectedSlot?.startAt : void 0;
2424
+ return startAt ? new Intl.DateTimeFormat(void 0, {
2425
+ dateStyle: "medium",
2426
+ timeStyle: "short",
2427
+ timeZone: booking.availability.timezone
2428
+ }).format(new Date(startAt)) : null;
2429
+ }
2430
+ function BookingPaymentConfirmationText({ booking, summary }) {
2431
+ if (!summary) return null;
2432
+ const dateTime = formatBookingConfirmationDateTime(booking);
2433
+ return /* @__PURE__ */ jsxs("p", {
2434
+ className: "ab-text rb-on-surface--muted",
2435
+ children: [
2436
+ summary.serviceTitle,
2437
+ " · ",
2438
+ summary.durationMinutes,
2439
+ " min ·",
2440
+ " ",
2441
+ formatCurrencyAmount(summary.priceAmount, summary.priceCurrency, { decimals: "auto" }),
2442
+ dateTime ? ` · ${dateTime}` : ""
2443
+ ]
2444
+ });
2445
+ }
2446
+ function BookingFormSubmitActions({ booking, onSubmit }) {
2447
+ const currentStepIndex = booking.currentStep?.visibleIndex ?? 0;
2448
+ const isFirstStep = currentStepIndex === 0;
2449
+ const isLastStep = currentStepIndex === booking.steps.length - 1;
2450
+ const isSubmitting = booking.status.tag === "submitting";
2451
+ const paymentSummary = isLastStep && booking.payment.kind === "ok" ? booking.payment.confirmationSummary : null;
2452
+ const handlePrimaryAction = async () => {
2453
+ if ((await booking.actions.next()).ok && isLastStep) await onSubmit();
2454
+ };
2455
+ return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(BookingPaymentConfirmationText, {
2456
+ booking,
2457
+ summary: paymentSummary
2458
+ }), /* @__PURE__ */ jsxs("div", {
2459
+ className: "rb-wizard-actions",
2460
+ children: [!isFirstStep ? /* @__PURE__ */ jsx(ThemedButton, {
2461
+ type: "button",
2462
+ onClick: booking.actions.back,
2463
+ variant: "outline",
2464
+ size: "md",
2465
+ label: "Back"
2466
+ }) : null, /* @__PURE__ */ jsx(ThemedButton, {
2467
+ type: "button",
2468
+ onClick: () => {
2469
+ handlePrimaryAction();
2470
+ },
2471
+ disabled: isSubmitting,
2472
+ variant: "primary",
2473
+ size: "md",
2474
+ label: resolvePrimaryActionLabel(isLastStep, Boolean(paymentSummary)),
2475
+ pending: isSubmitting ? {
2476
+ label: "Submitting...",
2477
+ srLabel: "Submitting"
2478
+ } : void 0
2479
+ })]
2480
+ })] });
2481
+ }
2482
+ //#endregion
2361
2483
  //#region ../blocks/src/system/runtime/nodes/booking-form.default-ui.tsx
2362
2484
  function formatBookingAmount(amount, currency) {
2363
2485
  return formatCurrencyAmount(amount, currency, { decimals: "auto" });
@@ -2366,13 +2488,6 @@ function HeadlessBookingDefaultForm({ booking, onSubmit }) {
2366
2488
  const currentStep = booking.currentStep;
2367
2489
  const errorSummaryId = React.useId();
2368
2490
  const currentStepIndex = currentStep?.visibleIndex ?? 0;
2369
- const isFirstStep = currentStepIndex === 0;
2370
- const isLastStep = currentStepIndex === booking.steps.length - 1;
2371
- const isSubmitting = booking.status.tag === "submitting";
2372
- const handlePrimaryAction = async () => {
2373
- if (!(await booking.actions.next()).ok) return;
2374
- if (isLastStep) await onSubmit();
2375
- };
2376
2491
  if (!currentStep) return /* @__PURE__ */ jsx("div", {
2377
2492
  className: "rb-text-center rb-py-12",
2378
2493
  children: /* @__PURE__ */ jsx("p", {
@@ -2400,28 +2515,9 @@ function HeadlessBookingDefaultForm({ booking, onSubmit }) {
2400
2515
  errors: currentStep.errors,
2401
2516
  id: errorSummaryId
2402
2517
  }),
2403
- /* @__PURE__ */ jsxs("div", {
2404
- className: "rb-wizard-actions",
2405
- children: [!isFirstStep ? /* @__PURE__ */ jsx(ThemedButton, {
2406
- type: "button",
2407
- onClick: booking.actions.back,
2408
- variant: "outline",
2409
- size: "md",
2410
- label: "Back"
2411
- }) : null, /* @__PURE__ */ jsx(ThemedButton, {
2412
- type: "button",
2413
- onClick: () => {
2414
- handlePrimaryAction();
2415
- },
2416
- disabled: isSubmitting,
2417
- variant: "primary",
2418
- size: "md",
2419
- label: isLastStep ? "Complete" : "Continue",
2420
- pending: isSubmitting ? {
2421
- label: "Submitting...",
2422
- srLabel: "Submitting"
2423
- } : void 0
2424
- })]
2518
+ /* @__PURE__ */ jsx(BookingFormSubmitActions, {
2519
+ booking,
2520
+ onSubmit
2425
2521
  }),
2426
2522
  /* @__PURE__ */ jsx(DefaultBookingDiscount, { booking }),
2427
2523
  /* @__PURE__ */ jsx(DefaultBookingFeedback, { booking }),
@@ -3029,7 +3125,7 @@ function DefaultBookingErrorSummary({ errors, id }) {
3029
3125
  }
3030
3126
  //#endregion
3031
3127
  //#region ../blocks/src/system/runtime/components/booking/SuccessMessage.tsx
3032
- const SuccessMessage = ({ message, resourceName, className }) => {
3128
+ const SuccessMessage = ({ copy, resourceName, className, demoEmailSuppressed = false, customerEmail = null }) => {
3033
3129
  return /* @__PURE__ */ jsx(TerminalPanel, {
3034
3130
  tone: "success",
3035
3131
  title: "Booking confirmed",
@@ -3037,9 +3133,15 @@ const SuccessMessage = ({ message, resourceName, className }) => {
3037
3133
  variant: "success",
3038
3134
  children: /* @__PURE__ */ jsx(CheckIcon, { strokeWidth: 3 })
3039
3135
  }),
3040
- body: /* @__PURE__ */ jsx("p", {
3041
- className: "ab-text",
3042
- children: message
3136
+ body: /* @__PURE__ */ jsx(BookingConfirmation, {
3137
+ demoEmailSuppressed,
3138
+ email: customerEmail,
3139
+ copy,
3140
+ messagePresentation: {
3141
+ kind: "paragraph",
3142
+ className: "ab-text"
3143
+ },
3144
+ noteClassName: "ab-text"
3043
3145
  }),
3044
3146
  secondaryBody: resourceName ? /* @__PURE__ */ jsxs("p", {
3045
3147
  className: "ab-text rb-on-surface--muted",
@@ -3052,31 +3154,54 @@ const SuccessMessage = ({ message, resourceName, className }) => {
3052
3154
  });
3053
3155
  };
3054
3156
  //#endregion
3055
- //#region ../blocks/src/system/runtime/nodes/booking-form.mailing-list-note.ts
3157
+ //#region ../blocks/src/system/runtime/nodes/booking-form.checkout-return-context.ts
3056
3158
  function storageKey(sessionId) {
3057
3159
  return `riverbank:booking:mailing-list:${sessionId}`;
3058
3160
  }
3059
- function saveAppointmentMailingListNote(sessionId, note) {
3060
- if (!note) return;
3161
+ function saveAppointmentCheckoutReturnContext(sessionId, context) {
3162
+ if (!context.customerEmail && !context.mailingListNote) return;
3061
3163
  try {
3062
- window.sessionStorage.setItem(storageKey(sessionId), note);
3164
+ window.sessionStorage.setItem(storageKey(sessionId), JSON.stringify(context));
3063
3165
  } catch {}
3064
3166
  }
3065
- function readAppointmentMailingListNote(sessionId) {
3167
+ function readAppointmentCheckoutReturnContext(sessionId) {
3066
3168
  try {
3067
3169
  const stored = window.sessionStorage.getItem(storageKey(sessionId));
3068
- return stored === "confirmation_required" || stored === "not_confirmed" ? stored : null;
3170
+ if (!stored) return null;
3171
+ return parseContext(stored);
3069
3172
  } catch {
3070
3173
  return null;
3071
3174
  }
3072
3175
  }
3176
+ function parseContext(value) {
3177
+ try {
3178
+ const parsed = JSON.parse(value);
3179
+ return isContext(parsed) ? parsed : null;
3180
+ } catch {
3181
+ return value === "confirmation_required" || value === "not_confirmed" ? {
3182
+ customerEmail: null,
3183
+ mailingListNote: value
3184
+ } : null;
3185
+ }
3186
+ }
3187
+ function isContext(value) {
3188
+ if (!isRecord(value)) return false;
3189
+ return (typeof value.customerEmail === "string" || value.customerEmail === null) && (value.mailingListNote === null || value.mailingListNote === "confirmation_required" || value.mailingListNote === "not_confirmed");
3190
+ }
3191
+ function isRecord(value) {
3192
+ return typeof value === "object" && value !== null && !Array.isArray(value);
3193
+ }
3073
3194
  //#endregion
3074
3195
  //#region ../blocks/src/system/runtime/nodes/booking-form.completion.tsx
3075
- function BookingFormCompletion({ resourceName, successMessage, redirectState, localNote }) {
3076
- const note = redirectState.kind === "success" ? readAppointmentMailingListNote(redirectState.sessionId) : localNote;
3196
+ function BookingFormCompletion({ resourceName, successMessage, redirectState, localNote, customerEmail, demoEmailSuppressed = false }) {
3197
+ const returnContext = redirectState.kind === "success" ? readAppointmentCheckoutReturnContext(redirectState.sessionId) : null;
3198
+ const note = redirectState.kind === "success" ? returnContext?.mailingListNote ?? null : localNote;
3199
+ const confirmedEmail = returnContext?.customerEmail ?? customerEmail;
3077
3200
  return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SuccessMessage, {
3078
- message: getBookingSuccessMessage(successMessage),
3079
- resourceName
3201
+ copy: getBookingSuccessCopy(successMessage),
3202
+ resourceName,
3203
+ demoEmailSuppressed,
3204
+ customerEmail: confirmedEmail
3080
3205
  }), note ? /* @__PURE__ */ jsx(BookingMailingListNote, {
3081
3206
  note,
3082
3207
  context: "booking",
@@ -3100,12 +3225,17 @@ function createBookingFormSubmitHandler(input) {
3100
3225
  cancelUrl: appendRebookFlag(cancelUrl, input.isPortalRebook)
3101
3226
  });
3102
3227
  if (!result.ok) return;
3228
+ storeDemoBookingPassIfAvailable(result.outcome.customerEmail, result.outcome.demoBookingPass);
3103
3229
  if (result.outcome.kind === "checkout_redirect") {
3104
- saveAppointmentMailingListNote(result.outcome.sessionId, result.outcome.mailingListSignupNote);
3230
+ saveAppointmentCheckoutReturnContext(result.outcome.sessionId, {
3231
+ customerEmail: result.outcome.customerEmail,
3232
+ mailingListNote: result.outcome.mailingListSignupNote ?? null
3233
+ });
3105
3234
  window.location.href = result.outcome.checkoutUrl;
3106
3235
  return;
3107
3236
  }
3108
3237
  input.setLocalMailingListNote(result.outcome.mailingListSignupNote ?? null);
3238
+ input.setLocalCustomerEmail(result.outcome.customerEmail);
3109
3239
  };
3110
3240
  }
3111
3241
  //#endregion
@@ -3145,6 +3275,7 @@ const BookingFormClient = ({ siteId: siteIdProp, render }) => {
3145
3275
  const hasLoggedRebookCompletionRef = useRef(false);
3146
3276
  const [redirectState] = useState(() => getBookingRedirectStateFromLocation(getBookingRedirectLocationSnapshot()));
3147
3277
  const [localMailingListNote, setLocalMailingListNote] = useState(null);
3278
+ const [localCustomerEmail, setLocalCustomerEmail] = useState(null);
3148
3279
  const showSpamProtection = render.hydration.spamProtectionEnabled ?? isSpamProtectionEnabled();
3149
3280
  const api = useBlockApi();
3150
3281
  const hasPortalAuth = api.config.auth.type === "bearer" || api.config.authOverrides?.portal?.type === "bearer";
@@ -3227,7 +3358,8 @@ const BookingFormClient = ({ siteId: siteIdProp, render }) => {
3227
3358
  booking,
3228
3359
  bookingAnchorId,
3229
3360
  isPortalRebook,
3230
- setLocalMailingListNote
3361
+ setLocalMailingListNote,
3362
+ setLocalCustomerEmail
3231
3363
  });
3232
3364
  if (viewState.kind === "success") return /* @__PURE__ */ jsx(BookingSurface, {
3233
3365
  id: bookingAnchorId,
@@ -3236,7 +3368,9 @@ const BookingFormClient = ({ siteId: siteIdProp, render }) => {
3236
3368
  successMessage: render.display.successMessage,
3237
3369
  resourceName: viewState.resourceName,
3238
3370
  redirectState,
3239
- localNote: localMailingListNote
3371
+ localNote: localMailingListNote,
3372
+ customerEmail: localCustomerEmail,
3373
+ demoEmailSuppressed: render.hydration.demoEmailSuppressed
3240
3374
  })
3241
3375
  });
3242
3376
  if (viewState.kind === "verifying") return /* @__PURE__ */ jsx(BookingSurface, {
@@ -3252,6 +3386,25 @@ const BookingFormClient = ({ siteId: siteIdProp, render }) => {
3252
3386
  })
3253
3387
  })
3254
3388
  });
3389
+ if (viewState.kind === "timeout") return /* @__PURE__ */ jsxs(BookingSurface, {
3390
+ id: bookingAnchorId,
3391
+ className: render.display.className,
3392
+ children: [/* @__PURE__ */ jsx(FeedbackMessage, {
3393
+ tone: "info",
3394
+ className: "alert alert-info",
3395
+ role: "status",
3396
+ children: /* @__PURE__ */ jsx("p", {
3397
+ className: "ab-text",
3398
+ children: viewState.message
3399
+ })
3400
+ }), /* @__PURE__ */ jsx(ThemedButton, {
3401
+ type: "button",
3402
+ variant: "primary",
3403
+ size: "md",
3404
+ label: "Check again",
3405
+ onClick: verification.retry
3406
+ })]
3407
+ });
3255
3408
  return /* @__PURE__ */ jsxs(BookingSurface, {
3256
3409
  id: bookingAnchorId,
3257
3410
  className: render.display.className,