@riverbankcms/sdk 0.145.0 → 0.147.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 (254) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
  3. package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +311 -186
  6. package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +3808 -2395
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1122 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +102 -0
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/bookingConfig.d.ts +24 -1
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +11 -26
  12. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  13. package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
  14. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  15. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  18. package/dist/_dts/api/src/bookings.d.ts +1 -0
  19. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  20. package/dist/_dts/api/src/communications.d.ts +20 -4
  21. package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
  22. package/dist/_dts/api/src/endpoints.d.ts +816 -655
  23. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  24. package/dist/_dts/api/src/eventManagementContracts.d.ts +72 -4
  25. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  26. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  27. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  28. package/dist/_dts/api/src/index.d.ts +9 -2
  29. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  30. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  31. package/dist/_dts/api/src/launchReadiness.d.ts +19 -6
  32. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  33. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  34. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  35. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  36. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +57 -0
  37. package/dist/_dts/api/src/occurrenceScheduling.d.ts +29 -0
  38. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  39. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  40. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
  41. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  42. package/dist/_dts/api/src/sdk-event-upsert.d.ts +55 -1
  43. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  44. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  45. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  46. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  47. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  48. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  49. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  50. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  51. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  52. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  53. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  54. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -49
  55. package/dist/_dts/api/src/siteOnboarding.d.ts +72 -18
  56. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  57. package/dist/_dts/api/src/types.d.ts +7 -1
  58. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  59. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  60. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
  61. package/dist/_dts/blocks/src/index.d.ts +2 -0
  62. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +29 -1
  63. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -1
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  65. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  66. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  67. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
  70. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
  71. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
  72. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
  73. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
  97. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +34 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  101. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  103. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +4 -1
  104. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  105. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  106. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  107. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  108. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  109. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  110. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  111. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  112. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  113. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  114. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  115. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
  116. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  117. package/dist/_dts/core/src/editor-state.d.ts +2 -7
  118. package/dist/_dts/core/src/index.d.ts +2 -1
  119. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  120. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  121. package/dist/_dts/core/src/mailing-list-submission.d.ts +9 -1
  122. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  123. package/dist/_dts/core/src/participants.d.ts +0 -38
  124. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  125. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  126. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +151 -24
  127. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  128. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  129. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  130. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
  131. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  132. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  133. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +5 -5
  134. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
  135. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  136. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
  137. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  138. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
  139. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  140. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  141. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  142. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
  143. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  144. package/dist/_dts/sdk/src/version.d.ts +1 -1
  145. package/dist/_dts/surfaces/src/index.d.ts +9 -0
  146. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  148. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  149. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  150. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  151. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  152. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  153. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  154. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  156. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  157. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  158. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  159. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  160. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  161. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  162. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  164. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  165. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  166. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  168. package/dist/_dts/ui/src/badge.d.ts +2 -1
  169. package/dist/_dts/ui/src/button.d.ts +1 -1
  170. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  171. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  172. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  173. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  174. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  175. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  176. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  177. package/dist/_dts/ui/src/index.d.ts +4 -1
  178. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  179. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  180. package/dist/_dts/ui/src/popover.d.ts +7 -1
  181. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  182. package/dist/_dts/ui/src/surface.d.ts +1 -1
  183. package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
  184. package/dist/client/CheckboxChoice-B33MqoUo.mjs +24 -0
  185. package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
  186. package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
  187. package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
  188. package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
  189. package/dist/client/{scrollToBlock-CWs8EIdo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
  190. package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
  191. package/dist/client/{accordion-BcNF9TjX.mjs → accordion-CoT5g7zo.mjs} +1 -1
  192. package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-BWxB46xD.mjs} +251 -150
  193. package/dist/client/bookings.mjs +415 -234
  194. package/dist/client/{carousel-CTdF6e0V.mjs → carousel-DtNYWFd3.mjs} +2 -2
  195. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  196. package/dist/client/{cart-pGtyf_XU.mjs → cart-z4qZih1Y.mjs} +3 -3
  197. package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-DpL7euFH.mjs} +3 -3
  198. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
  199. package/dist/client/client.mjs +3721 -2220
  200. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  201. package/dist/client/{context-BFeY_Wbm.mjs → context-C8TinPJc.mjs} +1 -1
  202. package/dist/client/{dates-BhwVSxDg.mjs → dates-vwwxTeB0.mjs} +2 -3
  203. package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
  204. package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
  205. package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
  206. package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-DajjWgOv.mjs} +4 -4
  207. package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-DMq9gMA-.mjs} +121 -54
  208. package/dist/client/{form-Dodt8Y8t.mjs → form-Qf6qTbos.mjs} +136 -105
  209. package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-D7qJrqFX.mjs} +3 -3
  210. package/dist/client/hooks.mjs +1148 -179
  211. package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-CCF9-t_0.mjs} +4 -4
  212. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  213. package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
  214. package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-DzCLSP4S.mjs} +206 -104
  215. package/dist/client/{pricing-BOU0_Hai.mjs → pricing-Cgxv2KLC.mjs} +1 -1
  216. package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-ru9w5GHx.mjs} +3 -3
  217. package/dist/client/{productList-D-mItx1n.mjs → productList-zaapKSl-.mjs} +3 -3
  218. package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-CwvvNOHx.mjs} +91 -28
  219. package/dist/client/rendering/client.mjs +1441 -826
  220. package/dist/client/rendering/islands.mjs +19 -19
  221. package/dist/client/rendering.mjs +3652 -2005
  222. package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
  223. package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
  224. package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
  225. package/dist/client/{shop-Dufw7N7o.mjs → shop-mktkXvbV.mjs} +7 -7
  226. package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-TqExh235.mjs} +5 -5
  227. package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
  228. package/dist/preview-next/before-render.mjs +490 -153
  229. package/dist/preview-next/client/runtime.mjs +4 -4
  230. package/dist/preview-next/editor-base.css +64 -2
  231. package/dist/preview-next/editor-chrome.css +7 -4
  232. package/dist/preview-next/keepAlive.mjs +450 -153
  233. package/dist/preview-next/middleware.mjs +451 -153
  234. package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-C_EHQ5XA.mjs} +475 -153
  235. package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
  236. package/dist/{separator-EvdCAn4V.mjs → separator-C9qDP95Z.mjs} +1 -1
  237. package/dist/server/components.mjs +4957 -3509
  238. package/dist/server/config-validation.mjs +1115 -189
  239. package/dist/server/config.mjs +1115 -189
  240. package/dist/server/data.mjs +1113 -188
  241. package/dist/server/index.mjs +492 -154
  242. package/dist/server/navigation.mjs +13 -2
  243. package/dist/server/next.mjs +4798 -3462
  244. package/dist/server/page-converter.mjs +143 -89
  245. package/dist/server/prebuild.mjs +1 -1
  246. package/dist/server/rendering/server.mjs +3862 -2414
  247. package/dist/server/rendering.mjs +5648 -4154
  248. package/dist/server/routing.mjs +1223 -329
  249. package/dist/server/server.mjs +1172 -314
  250. package/dist/server/theme-bridge.mjs +533 -128
  251. package/dist/server/theme.mjs +5 -1
  252. package/dist/styles/index.css +218 -69
  253. package/package.json +1 -1
  254. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
@@ -25,7 +25,7 @@ export type SystemBlockComponentProps<TContent = Record<string, unknown>> = {
25
25
  data?: Record<string, unknown>;
26
26
  pathBase?: string;
27
27
  blockId?: string | null;
28
- contentVersionId?: string | null;
28
+ newsletterBlockSubmission?: ResolverContext['newsletterBlockSubmission'];
29
29
  blockKind?: string;
30
30
  blockBindings?: Record<string, unknown>;
31
31
  editableRouteMetadataFieldIds?: ResolverContext['editableRouteMetadataFieldIds'];
@@ -1,3 +1,4 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
1
2
  /**
2
3
  * Appointment booking, availability, service and resource types
3
4
  *
@@ -12,6 +13,7 @@ export interface BookingSubmitRequest {
12
13
  startAt: string;
13
14
  endAt: string;
14
15
  customFields: Record<string, unknown>;
16
+ mailingListOptIn?: boolean;
15
17
  timezone: string;
16
18
  discountCode?: string;
17
19
  selectedSlidingAmount?: number;
@@ -43,6 +45,7 @@ export type BookingSubmitResponse = {
43
45
  orderNumber: string;
44
46
  appointment: BookingAppointmentSummary;
45
47
  customer: BookingCustomerSummary;
48
+ mailingListSignupNote?: BookingSignupNote;
46
49
  } | {
47
50
  type: "checkout_redirect";
48
51
  orderId: string;
@@ -51,6 +54,7 @@ export type BookingSubmitResponse = {
51
54
  sessionId: string;
52
55
  appointment: BookingAppointmentSummary;
53
56
  customer: BookingCustomerSummary;
57
+ mailingListSignupNote?: BookingSignupNote;
54
58
  };
55
59
  export type EligibleAppointmentPackage = {
56
60
  customerPassId: string;
@@ -1,3 +1,4 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
1
2
  /**
2
3
  * Public event, registration, checkout and eligibility types
3
4
  *
@@ -124,6 +125,7 @@ export interface EventRegisterRequest {
124
125
  notes?: string;
125
126
  formData?: Record<string, unknown>;
126
127
  consentAccepted?: boolean;
128
+ mailingListOptIn?: boolean;
127
129
  altchaSolution?: string | null;
128
130
  paymentMethod?: PaymentMethod;
129
131
  customerPassId?: string;
@@ -154,6 +156,7 @@ export type EventRegisterResponse = {
154
156
  kind: 'bookingComplete';
155
157
  reference: EventRegistrationStatusReference;
156
158
  summary: EventRegistrationSummary;
159
+ mailingListSignupNote?: BookingSignupNote;
157
160
  } | {
158
161
  kind: 'paymentDeferred';
159
162
  reference: EventRegistrationStatusReference;
@@ -162,16 +165,20 @@ export type EventRegisterResponse = {
162
165
  amountCents: number;
163
166
  currency: string;
164
167
  };
168
+ mailingListSignupNote?: BookingSignupNote;
165
169
  } | {
166
170
  kind: 'checkoutRequired';
167
171
  reference: EventRegistrationStatusReference;
168
172
  checkoutUrl: string;
169
173
  submissionId: string;
174
+ mailingListSignupNote?: BookingSignupNote;
170
175
  } | {
171
176
  kind: 'paymentStatusRequired';
172
177
  subject: EventRegistrationPaymentSubject;
178
+ mailingListSignupNote?: BookingSignupNote;
173
179
  } | {
174
180
  kind: 'waitlisted';
181
+ mailingListSignupNote?: BookingSignupNote;
175
182
  waitlist: {
176
183
  reference: {
177
184
  scope: 'occurrence';
@@ -214,6 +221,7 @@ export type EventCheckoutRequest = EventCheckoutRequestCommon & ({
214
221
  phone?: string;
215
222
  formData?: Record<string, unknown>;
216
223
  consentAccepted?: boolean;
224
+ mailingListOptIn?: boolean;
217
225
  altchaSolution?: string | null;
218
226
  guests?: EventRegisterGuest[];
219
227
  claimToken?: string;
@@ -226,6 +234,7 @@ type OccurrenceCheckoutResponse = Readonly<{
226
234
  checkoutUrl: string | null;
227
235
  sessionId: string | null;
228
236
  bypassed: boolean;
237
+ mailingListSignupNote?: BookingSignupNote;
229
238
  }>;
230
239
  type WholeSeriesCheckoutResponse = Readonly<{
231
240
  scope: 'wholeSeries';
@@ -235,12 +244,14 @@ type WholeSeriesCheckoutResponse = Readonly<{
235
244
  checkoutUrl: string | null;
236
245
  sessionId: string | null;
237
246
  bypassed: boolean;
247
+ mailingListSignupNote?: BookingSignupNote;
238
248
  }>;
239
249
  type WholeSeriesPaymentStatusRequired = Readonly<{
240
250
  scope: 'wholeSeries';
241
251
  status: 'paymentStatusRequired';
242
252
  checkoutAttemptId: string;
243
253
  recoverableUntil: string;
254
+ mailingListSignupNote?: BookingSignupNote;
244
255
  }>;
245
256
  type WholeSeriesWaitlistResponse = Readonly<{
246
257
  scope: 'wholeSeries';
@@ -248,6 +259,7 @@ type WholeSeriesWaitlistResponse = Readonly<{
248
259
  waitlistEntryId: string;
249
260
  waitlistPosition: number | null;
250
261
  alreadyRegistered?: boolean;
262
+ mailingListSignupNote?: BookingSignupNote;
251
263
  }>;
252
264
  export type EventCheckoutResponse = OccurrenceCheckoutResponse | WholeSeriesCheckoutResponse | WholeSeriesPaymentStatusRequired | WholeSeriesWaitlistResponse;
253
265
  export interface EligiblePass {
@@ -1570,6 +1570,8 @@ export declare const runtimeBackedBlockClientEntries: {
1570
1570
  siteMemberships?: Readonly<{
1571
1571
  memberships: readonly import("../..").PublicMembershipProduct[];
1572
1572
  }> | null;
1573
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1574
+ siteName?: string;
1573
1575
  }>) => Readonly<{
1574
1576
  display: import("../nodes/event-registration.interactive").EventRegistrationDisplay;
1575
1577
  hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
@@ -1606,6 +1608,8 @@ export declare const runtimeBackedBlockClientEntries: {
1606
1608
  siteMemberships?: Readonly<{
1607
1609
  memberships: readonly import("../..").PublicMembershipProduct[];
1608
1610
  }> | null;
1611
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1612
+ siteName?: string;
1609
1613
  }>) => unknown;
1610
1614
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
1611
1615
  siteId?: string;
@@ -1635,6 +1639,8 @@ export declare const runtimeBackedBlockClientEntries: {
1635
1639
  siteMemberships?: Readonly<{
1636
1640
  memberships: readonly import("../..").PublicMembershipProduct[];
1637
1641
  }> | null;
1642
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1643
+ siteName?: string;
1638
1644
  }>>;
1639
1645
  }>;
1640
1646
  render: Readonly<{
@@ -1686,6 +1692,8 @@ export declare const runtimeBackedBlockClientEntries: {
1686
1692
  siteMemberships?: Readonly<{
1687
1693
  memberships: readonly import("../..").PublicMembershipProduct[];
1688
1694
  }> | null;
1695
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1696
+ siteName?: string;
1689
1697
  }>) => Readonly<{
1690
1698
  display: import("../nodes/event-registration.interactive").EventRegistrationDisplay;
1691
1699
  hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
@@ -1722,6 +1730,8 @@ export declare const runtimeBackedBlockClientEntries: {
1722
1730
  siteMemberships?: Readonly<{
1723
1731
  memberships: readonly import("../..").PublicMembershipProduct[];
1724
1732
  }> | null;
1733
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1734
+ siteName?: string;
1725
1735
  }>) => unknown;
1726
1736
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
1727
1737
  siteId?: string;
@@ -1751,6 +1761,8 @@ export declare const runtimeBackedBlockClientEntries: {
1751
1761
  siteMemberships?: Readonly<{
1752
1762
  memberships: readonly import("../..").PublicMembershipProduct[];
1753
1763
  }> | null;
1764
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1765
+ siteName?: string;
1754
1766
  }>>;
1755
1767
  }>;
1756
1768
  render: Readonly<{
@@ -799,6 +799,8 @@ export declare const runtimeBackedBlockServerEntries: {
799
799
  siteMemberships?: Readonly<{
800
800
  memberships: readonly import("../..").PublicMembershipProduct[];
801
801
  }> | null;
802
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
803
+ siteName?: string;
802
804
  }>) => Readonly<{
803
805
  display: import("../nodes/event-registration.interactive").EventRegistrationDisplay;
804
806
  hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
@@ -835,6 +837,8 @@ export declare const runtimeBackedBlockServerEntries: {
835
837
  siteMemberships?: Readonly<{
836
838
  memberships: readonly import("../..").PublicMembershipProduct[];
837
839
  }> | null;
840
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
841
+ siteName?: string;
838
842
  }>) => unknown;
839
843
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
840
844
  siteId?: string;
@@ -864,6 +868,8 @@ export declare const runtimeBackedBlockServerEntries: {
864
868
  siteMemberships?: Readonly<{
865
869
  memberships: readonly import("../..").PublicMembershipProduct[];
866
870
  }> | null;
871
+ mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
872
+ siteName?: string;
867
873
  }>>;
868
874
  }>;
869
875
  render: Readonly<{
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import type { MailingListRuntimeContext } from "../../../../../core/src/index";
2
3
  import { type BlockApiConfig } from "../api";
3
4
  import type { AutoAppliedDiscountPreview } from "../api/types";
4
5
  import type { BookingFormConfig, BookingFormData, BookingFormService, BookingFormServiceCategory, BookingSelectedCollectionOptionKind } from "../nodes/booking-form.state";
@@ -8,6 +9,8 @@ export type { BlockApiConfig };
8
9
  export type { BookingAppointmentPackagesModel };
9
10
  export { createBookingBlockApiConfig };
10
11
  export type HeadlessBookingFlowOptions = Readonly<{
12
+ mailingList?: MailingListRuntimeContext;
13
+ siteName?: string;
11
14
  siteId: string;
12
15
  formId: string;
13
16
  form: BookingFormConfig | null;
@@ -111,6 +114,7 @@ export type BookingFlowActions = Readonly<{
111
114
  selectDate: (date: string | null) => void;
112
115
  selectSlot: (slot: BookingSlotSelection | null) => void;
113
116
  updateField: (fieldId: string, value: BookingFieldValue) => void;
117
+ setMailingListOptIn: (checked: boolean) => void;
114
118
  markFieldTouched: (fieldId: string) => void;
115
119
  selectPaymentOption: (kind: BookingSelectedCollectionOptionKind | null) => void;
116
120
  selectAppointmentPackage: (packageId: string | null) => void;
@@ -131,6 +135,10 @@ export type BookingFlowActions = Readonly<{
131
135
  clearFeedback: () => void;
132
136
  }>;
133
137
  export type HeadlessBookingFlow = Readonly<{
138
+ mailingList: Readonly<{
139
+ siteName: string;
140
+ }> | null;
141
+ mailingListOptIn: boolean;
134
142
  status: BookingFlowStatus;
135
143
  view: BookingFlowView;
136
144
  steps: readonly BookingFlowStep[];
@@ -21,6 +21,8 @@ export type HeadlessEventRegistrationFlowOptions = Readonly<{
21
21
  events?: readonly NonNullable<EventRegistrationClientProps['events']>[number][];
22
22
  maxTickets?: string | number;
23
23
  spamProtectionEnabled?: boolean;
24
+ mailingList?: EventRegistrationClientProps['mailingList'];
25
+ siteName?: string;
24
26
  }>;
25
27
  export type HeadlessEventRegistrationProviderProps = Readonly<{
26
28
  config: BlockApiConfig;
@@ -0,0 +1,9 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../core/src/index';
2
+ import React from "react";
3
+ import { type BookingRedirectState } from "./booking-form.state";
4
+ export declare function BookingFormCompletion({ resourceName, successMessage, redirectState, localNote, }: Readonly<{
5
+ resourceName?: string | null;
6
+ successMessage?: string | null;
7
+ redirectState: BookingRedirectState;
8
+ localNote: BookingSignupNote | null;
9
+ }>): React.ReactElement;
@@ -1,3 +1,4 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../core/src/index';
1
2
  import type { AppointmentResourceId, AppointmentServiceId, Brand, CustomerPassId, FormId, PassId, SiteId } from "../../../../../core/src/index";
2
3
  import type { BlockApiConfig, EligibleAppointmentPackage } from "../api/types";
3
4
  import type { TimeSlot } from "../api/types";
@@ -136,12 +137,15 @@ export type BookingSubmitActionResult = Readonly<{
136
137
  kind: "booked";
137
138
  appointmentId: string;
138
139
  resourceName: string | null;
140
+ mailingListSignupNote?: BookingSignupNote;
139
141
  };
140
142
  }> | Readonly<{
141
143
  ok: true;
142
144
  outcome: {
143
145
  kind: "checkout_redirect";
144
146
  checkoutUrl: string;
147
+ sessionId: string;
148
+ mailingListSignupNote?: BookingSignupNote;
145
149
  };
146
150
  }> | Exclude<BookingFlowActionResult, Readonly<{
147
151
  ok: true;
@@ -170,6 +174,7 @@ export type BookingFlowReducerState = Readonly<{
170
174
  selectedDate?: string;
171
175
  selectedSlot: BookingSlotView | null;
172
176
  fieldValues: Readonly<Record<string, BookingFieldValue>>;
177
+ mailingListOptIn: boolean;
173
178
  touchedFields: Readonly<Record<string, boolean>>;
174
179
  /**
175
180
  * Steps the user has tried to advance past. Step validation is derived
@@ -205,6 +210,9 @@ export type BookingFlowEvent = Readonly<{
205
210
  }> | Readonly<{
206
211
  type: "field-touched";
207
212
  fieldId: BookingFieldId;
213
+ }> | Readonly<{
214
+ type: "mailing-list-opt-in-set";
215
+ checked: boolean;
208
216
  }> | Readonly<{
209
217
  type: "step-advance-attempted";
210
218
  stepId: BookingFlowStepId;
@@ -504,6 +512,7 @@ export declare function buildBookingSubmitPlan(input: Readonly<{
504
512
  redirect: BookingSubmitRedirectMode;
505
513
  successUrl?: string;
506
514
  cancelUrl?: string;
515
+ mailingListEligible?: boolean;
507
516
  }>): BookingSubmitPlan;
508
517
  export declare function getAppointmentBookingOverrideInput(props: AppointmentBookingOverridePropsLike): AppointmentBookingOverrideInputResult;
509
518
  export declare function createBookingBlockApiConfig(input: Readonly<{
@@ -1,3 +1,4 @@
1
+ import { type MailingListRuntimeContext } from "../../../../../core/src/index";
1
2
  import { type InteractiveIslandProps } from "../../../contracts/islands";
2
3
  import { type BookingFormService, type BookingFormServiceCategory, type BookingFormConfig, type BookingFormServicesSource } from "./booking-form.state";
3
4
  import { type BookingFormRebookContext, type BookingFormSourceProps } from "./booking-runtime-sources";
@@ -12,6 +13,8 @@ export type BookingFormDisplay = Readonly<{
12
13
  message: string | null;
13
14
  }>;
14
15
  export type BookingFormHydration = Readonly<{
16
+ mailingList?: MailingListRuntimeContext;
17
+ siteName?: string;
15
18
  formId: string | null;
16
19
  serviceId: string | null;
17
20
  resourceId: string | null;
@@ -43,6 +46,8 @@ export declare const bookingFormBlockRuntime: Readonly<{
43
46
  siteId?: string;
44
47
  apiBaseUrl?: string;
45
48
  portalToken?: string | null;
49
+ mailingList?: MailingListRuntimeContext;
50
+ siteName?: string;
46
51
  formId?: string;
47
52
  serviceId?: string | null;
48
53
  resourceId?: string | null;
@@ -89,6 +94,8 @@ export declare const bookingFormBlockRuntime: Readonly<{
89
94
  message: string | null;
90
95
  }>;
91
96
  hydration: Readonly<{
97
+ mailingList?: MailingListRuntimeContext;
98
+ siteName?: string;
92
99
  formId: string | null;
93
100
  serviceId: string | null;
94
101
  resourceId: string | null;
@@ -168,6 +175,8 @@ export declare const bookingFormBlockRuntime: Readonly<{
168
175
  siteId?: string;
169
176
  apiBaseUrl?: string;
170
177
  portalToken?: string | null;
178
+ mailingList?: MailingListRuntimeContext;
179
+ siteName?: string;
171
180
  formId?: string;
172
181
  serviceId?: string | null;
173
182
  resourceId?: string | null;
@@ -209,6 +218,8 @@ export declare const bookingFormBlockRuntime: Readonly<{
209
218
  siteId?: string;
210
219
  apiBaseUrl?: string;
211
220
  portalToken?: string | null;
221
+ mailingList?: MailingListRuntimeContext;
222
+ siteName?: string;
212
223
  formId?: string;
213
224
  serviceId?: string | null;
214
225
  resourceId?: string | null;
@@ -258,6 +269,8 @@ export declare const bookingFormBlockRuntime: Readonly<{
258
269
  message: string | null;
259
270
  }>;
260
271
  hydration: Readonly<{
272
+ mailingList?: MailingListRuntimeContext;
273
+ siteName?: string;
261
274
  formId: string | null;
262
275
  serviceId: string | null;
263
276
  resourceId: string | null;
@@ -341,6 +354,8 @@ export declare const bookingFormBlockRuntime: Readonly<{
341
354
  message: string | null;
342
355
  }>;
343
356
  hydration: Readonly<{
357
+ mailingList?: MailingListRuntimeContext;
358
+ siteName?: string;
344
359
  formId: string | null;
345
360
  serviceId: string | null;
346
361
  resourceId: string | null;
@@ -436,6 +451,8 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
436
451
  message: string | null;
437
452
  }>;
438
453
  hydration: Readonly<{
454
+ mailingList?: MailingListRuntimeContext;
455
+ siteName?: string;
439
456
  formId: string | null;
440
457
  serviceId: string | null;
441
458
  resourceId: string | null;
@@ -528,6 +545,8 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
528
545
  message: string | null;
529
546
  }>;
530
547
  hydration: Readonly<{
548
+ mailingList?: MailingListRuntimeContext;
549
+ siteName?: string;
531
550
  formId: string | null;
532
551
  serviceId: string | null;
533
552
  resourceId: string | null;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import type { HeadlessBookingFlow } from "../hooks/useHeadlessBookingFlow";
3
+ export declare function BookingMailingListChoice({ booking, }: Readonly<{
4
+ booking: HeadlessBookingFlow;
5
+ }>): React.ReactElement | null;
@@ -0,0 +1,3 @@
1
+ import type { BookingMailingListNote } from '../../../../../core/src/index';
2
+ export declare function saveAppointmentMailingListNote(sessionId: string, note: BookingMailingListNote | undefined): void;
3
+ export declare function readAppointmentMailingListNote(sessionId: string): BookingMailingListNote | null;
@@ -0,0 +1,9 @@
1
+ import type { BookingFormData } from "./booking-form.state";
2
+ import type { BookingFlowReducerState, BookingFlowEvent } from "./booking-form.headless.state";
3
+ export declare function bookingFormDataWithEligibleOptIn(data: BookingFormData, eligible: boolean): BookingFormData;
4
+ type ContactEvent = Extract<BookingFlowEvent, {
5
+ type: "field-updated" | "field-touched" | "mailing-list-opt-in-set";
6
+ }>;
7
+ export declare function isBookingContactEvent(event: BookingFlowEvent): event is ContactEvent;
8
+ export declare function applyBookingContactEvent(state: BookingFlowReducerState, event: ContactEvent): BookingFlowReducerState;
9
+ export {};
@@ -1,5 +1,5 @@
1
1
  export declare const APPOINTMENT_BOOKING_BLOCK_ID: "block.appointment-booking";
2
- export declare const BOOKING_FORM_DATA_RESERVED_KEY_VALUES: readonly ["serviceId", "resourceId", "selectedDate", "selectedSlot", "discountCode", "selectedSlidingAmountInput", "selectedCollectionOptionKind", "selectedAppointmentPackageId"];
2
+ export declare const BOOKING_FORM_DATA_RESERVED_KEY_VALUES: readonly ["serviceId", "resourceId", "selectedDate", "selectedSlot", "discountCode", "selectedSlidingAmountInput", "selectedCollectionOptionKind", "selectedAppointmentPackageId", "mailingListOptIn"];
3
3
  export type BookingFormDataReservedKey = (typeof BOOKING_FORM_DATA_RESERVED_KEY_VALUES)[number];
4
4
  export type BookingReservedFieldCollision = Readonly<{
5
5
  fieldId: BookingFormDataReservedKey;
@@ -17,5 +17,5 @@ type BookingFormProps = BookingFormSourceProps & Readonly<{
17
17
  * own `.rb-reg-surface`, and leaves no stale loading state on the mounted form.
18
18
  * `event-registration.server.tsx` follows the same shape.
19
19
  */
20
- export declare function BookingFormSSR({ blockId, siteId, apiBaseUrl, portalToken, formId, serviceId, resourceId, initialData, noticeMessage, requiresServiceSelection, requiresResourceSelection, shouldAutoSelectSingleResource, rebookContext, submitLabel, successMessage, form, services, spamProtectionEnabled, className, children, }: BookingFormProps): React.JSX.Element;
20
+ export declare function BookingFormSSR({ blockId, children, ...sourceProps }: BookingFormProps): React.JSX.Element;
21
21
  export default BookingFormSSR;
@@ -83,6 +83,7 @@ export type BookingFormData<TCustomFieldId extends string = never> = Readonly<{
83
83
  selectedSlidingAmountInput?: string;
84
84
  selectedCollectionOptionKind?: BookingSelectedCollectionOptionKind;
85
85
  selectedAppointmentPackageId?: string;
86
+ mailingListOptIn?: boolean;
86
87
  }> & BookingCustomFieldData<TCustomFieldId>;
87
88
  type RuntimeBookingFormData = BookingFormData<string>;
88
89
  type BookingSubmissionCommon = Readonly<{
@@ -92,6 +93,7 @@ type BookingSubmissionCommon = Readonly<{
92
93
  startAt: string;
93
94
  endAt: string;
94
95
  customFields: Readonly<Record<string, unknown>>;
96
+ mailingListOptIn?: boolean;
95
97
  timezone: string;
96
98
  }>;
97
99
  export type BookingSubmissionData = (BookingSubmissionCommon & Readonly<{
@@ -0,0 +1,8 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../core/src/index';
2
+ import type { HeadlessBookingFlow } from "../hooks/useHeadlessBookingFlow";
3
+ export declare function createBookingFormSubmitHandler(input: Readonly<{
4
+ booking: HeadlessBookingFlow;
5
+ bookingAnchorId: string;
6
+ isPortalRebook: boolean;
7
+ setLocalMailingListNote: (note: BookingSignupNote | null) => void;
8
+ }>): () => Promise<void>;
@@ -0,0 +1,9 @@
1
+ import type { BookingSubmitResponse } from "../api/types";
2
+ import type { BookingFlowEvent, BookingSubmitActionResult } from "./booking-form.headless.state";
3
+ export declare function completeBookingSubmission(input: Readonly<{
4
+ data: BookingSubmitResponse;
5
+ redirect: "auto" | "manual";
6
+ successMessage?: string | null;
7
+ navigateToCheckout: (url: string) => void;
8
+ dispatch: (event: BookingFlowEvent) => void;
9
+ }>): BookingSubmitActionResult;
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import type { MailingListRuntimeContext } from "../../../../../core/src/index";
2
3
  import type { PublicEvent } from "../../blocks/events/shared/types";
3
4
  import type { StandardBookingFormField, BookingFormService, BookingFormServiceCategory, BookingFormServicesSource, BookingFormSettings, BookingFormSourceRecord } from "./booking-form.state";
4
5
  import type { EventRegistrationSourceProps } from "./event-registration.interactive";
@@ -10,6 +11,8 @@ export type BookingFormSourceProps = Readonly<{
10
11
  siteId?: string;
11
12
  apiBaseUrl?: string;
12
13
  portalToken?: string | null;
14
+ mailingList?: MailingListRuntimeContext;
15
+ siteName?: string;
13
16
  formId?: string;
14
17
  serviceId?: string | null;
15
18
  resourceId?: string | null;
@@ -24,6 +24,9 @@ type AttendeeDetailsStepProps = {
24
24
  /** Callback when guest section shake animation ends */
25
25
  onGuestShakeEnd?: () => void;
26
26
  consent: BlockBookingConsent | null;
27
+ mailingListSignup?: Readonly<{
28
+ siteName: string;
29
+ }> | null;
27
30
  };
28
31
  /**
29
32
  * Attendee Details Step
@@ -1,8 +1,11 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
1
2
  import React from 'react';
2
3
  type SuccessStepProps = {
3
4
  title?: string;
4
5
  message: string;
5
6
  variant?: 'success' | 'info';
7
+ mailingListSignupNote?: BookingSignupNote;
8
+ context?: 'booking' | 'waitlist';
6
9
  };
7
10
  /**
8
11
  * Success Step
@@ -122,6 +122,9 @@ export type EventRegistrationTicketsModel = Readonly<{
122
122
  export type EventRegistrationAttendeeModel = Readonly<{
123
123
  values: FormData;
124
124
  errors: Partial<Record<keyof FormData, string>>;
125
+ mailingListSignup: Readonly<{
126
+ siteName: string;
127
+ }> | null;
125
128
  }>;
126
129
  export type EventRegistrationGuestsModel = Readonly<{
127
130
  required: boolean;
@@ -36,6 +36,7 @@ export declare const eventRecoveryRequestSchema: z.ZodObject<{
36
36
  seriesSlug: z.ZodOptional<z.ZodString>;
37
37
  includeOccurrenceId: z.ZodOptional<z.ZodString>;
38
38
  readIntent: z.ZodOptional<z.ZodString>;
39
+ detailAdmission: z.ZodOptional<z.ZodString>;
39
40
  readProfile: z.ZodOptional<z.ZodString>;
40
41
  }, z.core.$strip>;
41
42
  export type EventRecoveryRequest = Omit<PublicEventsRequest, 'siteId'>;
@@ -1,3 +1,4 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
1
2
  /**
2
3
  * SessionStorage utilities for preserving form state across Stripe redirects.
3
4
  *
@@ -22,6 +23,7 @@ type PendingRegistrationV5 = {
22
23
  paymentSelection: PaymentSelection & {
23
24
  method: Exclude<PaymentSelection['method'], null>;
24
25
  };
26
+ mailingListSignupNote?: BookingSignupNote;
25
27
  timestamp: number;
26
28
  };
27
29
  export type PendingRegistration = PendingRegistrationV5;
@@ -1,4 +1,6 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
1
2
  import type { PublicEventPricing } from '../../../../../../core/src/index';
3
+ import type { MailingListRuntimeContext } from '../../../../../../core/src/index';
2
4
  import type { EventRegistrationAvailablePaymentOption, EventRegistrationOptionsResponse, EventRegistrationPricingOption } from '../../../blocks/event-registration';
3
5
  import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
4
6
  import type { PublicEvent, PublicEventPricingOption, PublicEventPricingOptionAvailability, PublicRunSession } from '../../../blocks/events/shared/types';
@@ -34,9 +36,11 @@ export type RegistrationResult = {
34
36
  title?: string;
35
37
  message?: string;
36
38
  variant?: 'success' | 'info';
39
+ mailingListSignupNote?: BookingSignupNote;
37
40
  };
38
41
  export type PaymentStatusRecoveryState = Readonly<{
39
42
  subject: import('../../api/types').EventRegistrationPaymentSubject;
43
+ mailingListSignupNote?: BookingSignupNote;
40
44
  }> & (Readonly<{
41
45
  kind: 'ready' | 'checking' | 'processing' | 'temporarilyUnavailable' | 'retryAvailable' | 'assistanceRequired';
42
46
  }> | Readonly<{
@@ -188,4 +192,6 @@ export type EventRegistrationClientProps = {
188
192
  sitePasses?: PublicPassProductCollection | null;
189
193
  /** Site-wide public membership products; filtered against the selected event before prompting. */
190
194
  siteMemberships?: PublicMembershipProductCollection | null;
195
+ mailingList?: MailingListRuntimeContext;
196
+ siteName?: string;
191
197
  };
@@ -37,6 +37,9 @@ export type UseEventRegistrationSubmitInput = {
37
37
  ticketSelections: readonly EventTicketSelectionLine[];
38
38
  selectedSlidingAmount: number | null;
39
39
  formData: FormData;
40
+ mailingListSignup: Readonly<{
41
+ siteName: string;
42
+ }> | null;
40
43
  altchaSolution: string | null;
41
44
  requireGuestDetails: boolean;
42
45
  guests: Guest[];
@@ -19,6 +19,8 @@ export type UseEventRegistrationWizardOptions = Readonly<{
19
19
  subject?: EventRegistrationClientProps['subject'];
20
20
  events: PublicEvent[];
21
21
  maxTicketsNum: number;
22
+ mailingList?: EventRegistrationClientProps['mailingList'];
23
+ siteName?: string;
22
24
  }>;
23
25
  export type EventRegistrationWizardDeps = Readonly<{
24
26
  usePortalAuth: typeof usePortalAuth;
@@ -91,6 +93,9 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
91
93
  hasValidTicketSelection: boolean;
92
94
  eventRequiresPayment: boolean;
93
95
  formData: FormData;
96
+ mailingListSignup: Readonly<{
97
+ siteName: string;
98
+ }> | null;
94
99
  setFormData: import("react").Dispatch<import("react").SetStateAction<FormData>>;
95
100
  errors: Partial<Record<keyof FormData, string>>;
96
101
  guests: Guest[];
@@ -220,6 +225,9 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
220
225
  hasValidTicketSelection: boolean;
221
226
  eventRequiresPayment: boolean;
222
227
  formData: FormData;
228
+ mailingListSignup: Readonly<{
229
+ siteName: string;
230
+ }> | null;
223
231
  setFormData: import("react").Dispatch<import("react").SetStateAction<FormData>>;
224
232
  errors: Partial<Record<keyof FormData, string>>;
225
233
  guests: Guest[];
@@ -1,3 +1,4 @@
1
+ import { type MailingListRuntimeContext } from '../../../../../core/src/index';
1
2
  import type { BrowserReadAuthority } from '../api/types';
2
3
  import type { BlockButtonRole } from '../../constants/buttonRoles';
3
4
  import type { PublicEvent } from '../../blocks/events/shared/types';
@@ -36,6 +37,8 @@ export type EventRegistrationSourceProps = Readonly<{
36
37
  supportEmail?: string;
37
38
  sitePasses?: PublicPassProductCollection | null;
38
39
  siteMemberships?: PublicMembershipProductCollection | null;
40
+ mailingList?: MailingListRuntimeContext;
41
+ siteName?: string;
39
42
  }>;
40
43
  export type EventRegistrationDisplay = Readonly<{
41
44
  kind: 'event-registration';
@@ -96,6 +99,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
96
99
  siteMemberships?: Readonly<{
97
100
  memberships: readonly import("./shop.client").PublicMembershipProduct[];
98
101
  }> | null;
102
+ mailingList?: MailingListRuntimeContext;
103
+ siteName?: string;
99
104
  }>) => Readonly<{
100
105
  display: EventRegistrationDisplay;
101
106
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
@@ -133,6 +138,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
133
138
  siteMemberships?: Readonly<{
134
139
  memberships: readonly import("./shop.client").PublicMembershipProduct[];
135
140
  }> | null;
141
+ mailingList?: MailingListRuntimeContext;
142
+ siteName?: string;
136
143
  }>) => unknown;
137
144
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
138
145
  siteId?: string;
@@ -163,6 +170,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
163
170
  siteMemberships?: Readonly<{
164
171
  memberships: readonly import("./shop.client").PublicMembershipProduct[];
165
172
  }> | null;
173
+ mailingList?: MailingListRuntimeContext;
174
+ siteName?: string;
166
175
  }>>;
167
176
  }>;
168
177
  render: Readonly<{