@riverbankcms/sdk 0.138.0 → 0.140.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 (293) hide show
  1. package/README.md +12 -16
  2. package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-CUyTzd5z.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-Agkw4v5i.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-DdbeAdS8.mjs} +62 -28
  6. package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-CqGOz-Kv.mjs} +8467 -5616
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +264 -495
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +221 -242
  9. package/dist/_dts/api/src/accessAdmin.d.ts +74 -104
  10. package/dist/_dts/api/src/aiEndpoints.d.ts +5 -1
  11. package/dist/_dts/api/src/authSubmission.d.ts +46 -0
  12. package/dist/_dts/api/src/billing.d.ts +18 -7
  13. package/dist/_dts/api/src/billingEndpointDefinitions.d.ts +23 -0
  14. package/dist/_dts/api/src/billingEndpointTypes.d.ts +26 -0
  15. package/dist/_dts/api/src/blocks.d.ts +2 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +1 -2
  17. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +8 -1
  18. package/dist/_dts/api/src/communications.d.ts +0 -1
  19. package/dist/_dts/api/src/contentRuntime.d.ts +16 -4
  20. package/dist/_dts/api/src/endpoints.d.ts +275 -167
  21. package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
  22. package/dist/_dts/api/src/footerSettings.d.ts +10 -10
  23. package/dist/_dts/api/src/index.d.ts +11 -10
  24. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  25. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  26. package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
  27. package/dist/_dts/api/src/mailingListIntegration.d.ts +123 -0
  28. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  29. package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
  30. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  31. package/dist/_dts/api/src/navigation.d.ts +1 -26
  32. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
  33. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
  34. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
  35. package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
  36. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +14 -6
  37. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
  38. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
  39. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
  40. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
  41. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +9 -49
  42. package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
  43. package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
  44. package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
  45. package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
  46. package/dist/_dts/api/src/sdkContracts.d.ts +5 -32
  47. package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
  48. package/dist/_dts/api/src/sdkThemeWire.d.ts +46 -46
  49. package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
  50. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +9 -34
  51. package/dist/_dts/api/src/siteOnboarding.d.ts +84 -228
  52. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +3 -13
  53. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
  54. package/dist/_dts/api/src/siteSettings.d.ts +38 -6
  55. package/dist/_dts/api/src/types.d.ts +78 -77
  56. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
  57. package/dist/_dts/billing/src/membership/index.d.ts +17 -7
  58. package/dist/_dts/billing/src/plans/display.d.ts +15 -0
  59. package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
  60. package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
  61. package/dist/_dts/billing/src/plans/types.d.ts +4 -7
  62. package/dist/_dts/billing/src/site-arrangements.d.ts +14 -3
  63. package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
  64. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
  65. package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
  66. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
  67. package/dist/_dts/blocks/src/client.d.ts +1 -1
  68. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +48 -20
  69. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
  70. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +9 -0
  71. package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
  72. package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
  73. package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
  74. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
  75. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
  76. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
  77. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  78. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  79. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
  80. package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
  81. package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
  82. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
  83. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
  84. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  85. package/dist/_dts/blocks/src/system/data/index.d.ts +4 -4
  86. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  87. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +2 -1
  88. package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
  89. package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
  90. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
  91. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  92. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
  93. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
  95. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
  96. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  97. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
  98. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +78 -30
  99. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +39 -15
  100. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
  101. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
  102. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +94 -0
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +12 -2
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -7
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
  116. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
  117. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
  118. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
  120. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
  121. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
  122. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
  123. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
  125. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
  126. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  127. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
  128. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
  130. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
  131. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
  134. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
  135. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
  136. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +62 -33
  137. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
  138. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +14 -31
  139. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
  140. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
  141. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  142. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
  143. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
  144. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  145. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
  146. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
  147. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  148. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  149. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +32 -16
  150. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
  151. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
  152. package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
  153. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
  154. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +4 -2
  155. package/dist/_dts/core/src/branded.d.ts +0 -8
  156. package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
  157. package/dist/_dts/core/src/index.d.ts +10 -1
  158. package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
  159. package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
  160. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
  161. package/dist/_dts/core/src/mailing-list-setup.d.ts +142 -0
  162. package/dist/_dts/core/src/mailing-list-submission.d.ts +224 -0
  163. package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
  164. package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
  165. package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
  166. package/dist/_dts/core/src/participants.d.ts +2 -29
  167. package/dist/_dts/core/src/public-experience.d.ts +4 -0
  168. package/dist/_dts/core/src/public-profile.d.ts +35 -1
  169. package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
  170. package/dist/_dts/core/src/site-route-target.d.ts +9 -2
  171. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +797 -954
  172. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  173. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
  174. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +12 -0
  175. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +14 -0
  176. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
  177. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +7 -0
  178. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
  179. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  180. package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
  181. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
  182. package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
  183. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
  184. package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
  185. package/dist/_dts/sdk/src/constants.d.ts +3 -3
  186. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  187. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
  188. package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
  189. package/dist/_dts/sdk/src/next/index.d.ts +4 -4
  190. package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
  191. package/dist/_dts/sdk/src/public-api/contracts.d.ts +44 -33
  192. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +5 -0
  193. package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
  194. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +5 -0
  195. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
  196. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +8 -1
  197. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
  198. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  199. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  200. package/dist/_dts/sdk/src/version.d.ts +1 -1
  201. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  202. package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
  203. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  204. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
  205. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
  206. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
  207. package/dist/_dts/theme-core/src/index.d.ts +1 -0
  208. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  209. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
  210. package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
  211. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
  212. package/dist/_dts/theme-core/src/schema.d.ts +84 -84
  213. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
  214. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  215. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
  216. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  217. package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
  218. package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
  219. package/dist/_dts/ui/src/badge.d.ts +1 -1
  220. package/dist/_dts/ui/src/callout.d.ts +1 -1
  221. package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
  222. package/dist/_dts/ui/src/pending-button.d.ts +10 -0
  223. package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CuKa82V4.mjs} +4 -4
  224. package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-BbYieKWB.mjs} +1 -1
  225. package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-LTfR1Aby.mjs} +444 -200
  226. package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-DUHpYSuo.mjs} +2 -2
  227. package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-CHRupL6m.mjs} +1 -1
  228. package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-6HiIFxNL.mjs} +1 -1
  229. package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-Dlmid43H.mjs} +7 -7
  230. package/dist/client/bookings.mjs +368 -142
  231. package/dist/client/{carousel-DSmOx3ad.mjs → carousel-DmkZRRq_.mjs} +2 -2
  232. package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
  233. package/dist/client/{cart-COWeOIUk.mjs → cart-CIC24330.mjs} +3 -3
  234. package/dist/client/{checkout-CeysaIJK.mjs → checkout-D1Zw9imo.mjs} +3 -3
  235. package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
  236. package/dist/client/client.mjs +5017 -2258
  237. package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
  238. package/dist/client/{context-DBzX85Xc.mjs → context-Cy1OayHx.mjs} +9 -21
  239. package/dist/client/{dates-DCYhZBlW.mjs → dates-aDcfoLHr.mjs} +21 -3
  240. package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-FQxMPAjf.mjs} +81 -79
  241. package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-Dr3ac6Hb.mjs} +3 -3
  242. package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-D-AzUHFQ.mjs} +4 -4
  243. package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-B3XxBf3i.mjs} +3 -3
  244. package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-I6EaokFD.mjs} +543 -155
  245. package/dist/client/{form-ClfpasVT.mjs → form-BbWckVWY.mjs} +3 -3
  246. package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-C9qU4Y7x.mjs} +2 -2
  247. package/dist/client/hooks.mjs +1685 -716
  248. package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CLCShvlG.mjs} +3 -3
  249. package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
  250. package/dist/client/newsletterForm-Briukxzi.mjs +444 -0
  251. package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Copadu-2.mjs} +1 -1
  252. package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-oujlRd-r.mjs} +3 -3
  253. package/dist/client/{productList-OTdZu8sb.mjs → productList-BRiIRUcd.mjs} +3 -3
  254. package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-CB2KS_ko.mjs} +706 -160
  255. package/dist/client/rendering/client.mjs +3161 -1226
  256. package/dist/client/rendering/islands.mjs +19 -19
  257. package/dist/client/rendering.mjs +4864 -1914
  258. package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-B1IS1_ua.mjs} +1 -1
  259. package/dist/client/{shop-CP4YbDL9.mjs → shop-Vn6yNFED.mjs} +6 -6
  260. package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BVTqipYp.mjs} +7 -7
  261. package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-BVnJVy7v.mjs} +1 -1
  262. package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-COIeK77T.mjs} +4 -4
  263. package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-DzIUcS9n.mjs} +58 -11
  264. package/dist/preview-next/before-render.mjs +357 -175
  265. package/dist/preview-next/client/runtime.mjs +4 -4
  266. package/dist/preview-next/keepAlive.mjs +357 -175
  267. package/dist/preview-next/middleware.mjs +357 -175
  268. package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-Gjb6r6vz.mjs} +357 -175
  269. package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-CnCLvZRv.mjs} +2 -2
  270. package/dist/{separator-BeqDLneQ.mjs → separator-DKDRJ1oH.mjs} +1 -1
  271. package/dist/server/components.mjs +3389 -1251
  272. package/dist/server/config-validation.mjs +2737 -1784
  273. package/dist/server/config.mjs +2742 -1788
  274. package/dist/server/data.mjs +1586 -615
  275. package/dist/server/index.mjs +496 -352
  276. package/dist/server/navigation.mjs +16 -47
  277. package/dist/server/next.mjs +3978 -2007
  278. package/dist/server/page-converter.mjs +1109 -553
  279. package/dist/server/prebuild.mjs +2 -3
  280. package/dist/server/rendering/server.mjs +4101 -1951
  281. package/dist/server/rendering.mjs +3416 -1259
  282. package/dist/server/routing.mjs +1869 -786
  283. package/dist/server/server.mjs +3260 -2482
  284. package/dist/server/theme-bridge.mjs +725 -124
  285. package/dist/server/theme.mjs +8 -2
  286. package/dist/styles/index.css +526 -68
  287. package/package.json +1 -1
  288. package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
  289. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
  290. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
  291. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
  292. package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
  293. package/dist/client/newsletterForm-IbrHjMxy.mjs +0 -322
@@ -0,0 +1,94 @@
1
+ import React from 'react';
2
+ import { z } from 'zod';
3
+ declare const publicLocationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4
+ mode: z.ZodLiteral<"online">;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ mode: z.ZodLiteral<"in_person">;
7
+ venue: z.ZodNullable<z.ZodObject<{
8
+ name: z.ZodString;
9
+ area: z.ZodNullable<z.ZodString>;
10
+ }, z.core.$strip>>;
11
+ }, z.core.$strip>, z.ZodObject<{
12
+ mode: z.ZodLiteral<"either">;
13
+ venue: z.ZodNullable<z.ZodObject<{
14
+ name: z.ZodString;
15
+ area: z.ZodNullable<z.ZodString>;
16
+ }, z.core.$strip>>;
17
+ }, z.core.$strip>], "mode">;
18
+ type PublicAppointmentLocation = z.infer<typeof publicLocationSchema>;
19
+ declare const publicAppointmentServiceSchema: z.ZodObject<{
20
+ id: z.ZodString;
21
+ title: z.ZodString;
22
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ durationMinutes: z.ZodNumber;
24
+ pricing: z.ZodOptional<z.ZodObject<{
25
+ pricingStrategy: z.ZodEnum<{
26
+ free: "free";
27
+ single: "single";
28
+ tiered: "tiered";
29
+ sliding_scale: "sliding_scale";
30
+ }>;
31
+ currency: z.ZodString;
32
+ singlePriceAmount: z.ZodNullable<z.ZodNumber>;
33
+ slidingMinAmount: z.ZodNullable<z.ZodNumber>;
34
+ slidingMaxAmount: z.ZodNullable<z.ZodNumber>;
35
+ options: z.ZodReadonly<z.ZodArray<z.ZodObject<{
36
+ priceAmount: z.ZodNumber;
37
+ isActive: z.ZodBoolean;
38
+ saleStartsAt: z.ZodNullable<z.ZodString>;
39
+ saleEndsAt: z.ZodNullable<z.ZodString>;
40
+ }, z.core.$strip>>>;
41
+ }, z.core.$strip>>;
42
+ priceAmount: z.ZodNullable<z.ZodNumber>;
43
+ priceCurrency: z.ZodNullable<z.ZodString>;
44
+ location: z.ZodDiscriminatedUnion<[z.ZodObject<{
45
+ mode: z.ZodLiteral<"online">;
46
+ }, z.core.$strip>, z.ZodObject<{
47
+ mode: z.ZodLiteral<"in_person">;
48
+ venue: z.ZodNullable<z.ZodObject<{
49
+ name: z.ZodString;
50
+ area: z.ZodNullable<z.ZodString>;
51
+ }, z.core.$strip>>;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ mode: z.ZodLiteral<"either">;
54
+ venue: z.ZodNullable<z.ZodObject<{
55
+ name: z.ZodString;
56
+ area: z.ZodNullable<z.ZodString>;
57
+ }, z.core.$strip>>;
58
+ }, z.core.$strip>], "mode">;
59
+ }, z.core.$strip>;
60
+ type PublicAppointmentService = z.infer<typeof publicAppointmentServiceSchema>;
61
+ export type AppointmentServiceRow = Readonly<{
62
+ id: string;
63
+ title: string;
64
+ description: string | null;
65
+ durationLabel: string;
66
+ locationLabel: string | null;
67
+ priceLabel: string | null;
68
+ href: string;
69
+ }>;
70
+ export type AppointmentServicesView = Readonly<{
71
+ kind: 'items';
72
+ rows: readonly AppointmentServiceRow[];
73
+ }> | Readonly<{
74
+ kind: 'empty';
75
+ message: string;
76
+ }> | Readonly<{
77
+ kind: 'error';
78
+ message: string;
79
+ }>;
80
+ export type AppointmentServicesNodeProps = Readonly<{
81
+ sectionHeading?: unknown;
82
+ services?: unknown;
83
+ pathname?: unknown;
84
+ className?: string | null;
85
+ }>;
86
+ export declare function formatAppointmentDuration(durationMinutes: number): string;
87
+ export declare function formatAppointmentLocation(location: PublicAppointmentLocation): string | null;
88
+ export declare function formatAppointmentPrice(service: PublicAppointmentService): string | null;
89
+ export declare function buildAppointmentServicesView(input: Readonly<{
90
+ services: unknown;
91
+ pathname: string | undefined;
92
+ }>): AppointmentServicesView;
93
+ export declare function AppointmentServicesNode({ sectionHeading, services, pathname, className, }: AppointmentServicesNodeProps): React.ReactElement;
94
+ export default AppointmentServicesNode;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
3
2
  export type EventPortalAuthCopy = Readonly<{
4
3
  title: string;
@@ -21,4 +20,4 @@ export declare function EventRegistrationSurface(props: Readonly<{
21
20
  buttonClass: string;
22
21
  supportEmail?: string;
23
22
  successMessage: string;
24
- }>): React.JSX.Element;
23
+ }>): import("react").JSX.Element;
@@ -10,6 +10,8 @@ type TicketSelectionStepProps = {
10
10
  occurrenceContext?: OccurrenceContext | null;
11
11
  selectedAttendanceMode?: RegistrationAttendanceMode | null;
12
12
  onAttendanceModeChange?: (attendanceMode: RegistrationAttendanceMode) => void;
13
+ checkoutRecovery?: boolean;
14
+ onCheckoutRecovery?: () => void;
13
15
  ticketsCount: number;
14
16
  maxTickets: number;
15
17
  visibleTicketTypes?: ReturnType<typeof getVisibleTicketTypes>;
@@ -0,0 +1,14 @@
1
+ import type { PublicEventPricingOptionAvailability } from '../../../../../../core/src/index';
2
+ import type { EligibilityData, RegistrationEvent } from './types';
3
+ /** Recovery may select held places; checkout still owns admission and payment validation. */
4
+ export declare function checkoutRecoveryOptionAvailability(availability: PublicEventPricingOptionAvailability): PublicEventPricingOptionAvailability;
5
+ /**
6
+ * A form-only projection for the explicit existing-checkout path. It permits
7
+ * collecting the original selection without claiming a new place is available.
8
+ * The public checkout service identifies the customer and remains the admission
9
+ * authority; no reservation/customer data is exposed through this projection.
10
+ */
11
+ export declare function getCheckoutRecoveryFormEligibility(eligibility: EligibilityData | null): EligibilityData | null;
12
+ export declare function isSoldOutEventSelectable(event: RegistrationEvent, waitlistAvailable: boolean): boolean;
13
+ export declare function canJoinWaitlistOutsideRecovery(event: RegistrationEvent | null, attendanceMode: 'in_person' | 'online' | null, checkoutRecovery: boolean): boolean;
14
+ export declare function canRecoverEventCheckout(event: RegistrationEvent | null): boolean;
@@ -0,0 +1,56 @@
1
+ import { z } from 'zod';
2
+ import type { PublicEvent } from '../../../blocks/events/shared/types';
3
+ import type { PublicEventsRequest } from '../../api/types/events';
4
+ export declare const eventRecoveryRequestSchema: z.ZodObject<{
5
+ limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
6
+ eventSurface: z.ZodOptional<z.ZodEnum<{
7
+ custom: "custom";
8
+ all: "all";
9
+ regularClassSchedule: "regularClassSchedule";
10
+ specialDatedEvents: "specialDatedEvents";
11
+ }>>;
12
+ scheduleScope: z.ZodOptional<z.ZodEnum<{
13
+ any: "any";
14
+ recurring: "recurring";
15
+ oneOff: "oneOff";
16
+ }>>;
17
+ detailLevel: z.ZodOptional<z.ZodEnum<{
18
+ full: "full";
19
+ listing: "listing";
20
+ }>>;
21
+ stage: z.ZodOptional<z.ZodEnum<{
22
+ published: "published";
23
+ preview: "preview";
24
+ }>>;
25
+ from: z.ZodOptional<z.ZodString>;
26
+ to: z.ZodOptional<z.ZodString>;
27
+ afterStartsAt: z.ZodOptional<z.ZodString>;
28
+ afterId: z.ZodOptional<z.ZodString>;
29
+ categoryIds: z.ZodOptional<z.ZodString>;
30
+ venueId: z.ZodOptional<z.ZodString>;
31
+ staffMemberId: z.ZodOptional<z.ZodString>;
32
+ eventPresets: z.ZodOptional<z.ZodString>;
33
+ seriesId: z.ZodOptional<z.ZodString>;
34
+ seriesIds: z.ZodOptional<z.ZodString>;
35
+ runSeriesId: z.ZodOptional<z.ZodString>;
36
+ seriesSlug: z.ZodOptional<z.ZodString>;
37
+ includeOccurrenceId: z.ZodOptional<z.ZodString>;
38
+ readIntent: z.ZodOptional<z.ZodString>;
39
+ readProfile: z.ZodOptional<z.ZodString>;
40
+ }, z.core.$strip>;
41
+ export type EventRecoveryRequest = Omit<PublicEventsRequest, 'siteId'>;
42
+ export type EventRegistrationEventSource = Readonly<{
43
+ kind: 'loaded';
44
+ events: PublicEvent[];
45
+ }> | Readonly<{
46
+ kind: 'unresolved';
47
+ request: EventRecoveryRequest | null;
48
+ }>;
49
+ type EventSourceInput = Readonly<{
50
+ events?: PublicEvent[] | null;
51
+ wholeSeriesRunEvents?: PublicEvent[] | null;
52
+ failures?: Readonly<Record<string, unknown>> | null;
53
+ }>;
54
+ export declare function resolveEventRegistrationEventSource(input: EventSourceInput): EventRegistrationEventSource;
55
+ export declare function parseEventLoaderRecoveryRequest(value: unknown): EventRecoveryRequest | null;
56
+ export {};
@@ -1,15 +1,13 @@
1
1
  import type { PublicEventPricing } from '../../../../../../core/src/index';
2
- import type { EventRegistrationPricingOption } from '../../../blocks/event-registration';
3
- import type { PublicEvent, PublicEventPricingOption, PublicEventPricingOptionAvailability } from '../../../blocks/events/shared/types';
2
+ import type { EventRegistrationAvailablePaymentOption, EventRegistrationOptionsResponse, EventRegistrationPricingOption } from '../../../blocks/event-registration';
4
3
  import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
5
- import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop.shared';
6
- import type { PublicRunSession } from '../../../blocks/events/shared/types';
7
- import type { AvailablePass, AvailableMembership, DirectCheckoutCollectionOptionKind, EventTicketLineSummary } from '../../api/types';
4
+ import type { PublicEvent, PublicEventPricingOption, PublicEventPricingOptionAvailability, PublicRunSession } from '../../../blocks/events/shared/types';
8
5
  import type { BlockBookingPaymentTerms } from '../../../blocks/shared/bookingPaymentTerms';
9
- import type { EventRegistrationPageSurfaceSubject } from './eventScope';
6
+ import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop.shared';
10
7
  import type { BlockButtonRole } from '../../../constants/buttonRoles';
11
- import type { EventRegistrationAvailablePaymentOption, EventRegistrationOptionsResponse } from '../../../blocks/event-registration';
12
- export type { PublicEvent, OccurrenceContext };
8
+ import type { AvailableMembership, AvailablePass, DirectCheckoutCollectionOptionKind, EventTicketLineSummary } from '../../api/types';
9
+ import type { EventRegistrationPageSurfaceSubject } from './eventScope';
10
+ export type { OccurrenceContext, PublicEvent };
13
11
  export type { FormData } from '../../shared';
14
12
  /**
15
13
  * Guest details for additional attendees (when "collect all attendee details" is enabled)
@@ -0,0 +1,8 @@
1
+ import type { EligibilityData, RegistrationEvent, RegistrationStep } from './types';
2
+ /** Recovery belongs to the selected booking subject; changing events resets its scope. */
3
+ export declare function useCheckoutRecovery(event: RegistrationEvent | null, setStep: (step: RegistrationStep) => void): {
4
+ checkoutRecovery: boolean;
5
+ startCheckoutRecovery: () => void;
6
+ };
7
+ /** Authenticated pending bookings enter the same form-only recovery path as guests. */
8
+ export declare function useCheckoutRecoveryEligibility(eligibility: EligibilityData | null, step: RegistrationStep, checkoutRecovery: boolean, startCheckoutRecovery: () => void): EligibilityData | null;
@@ -1,10 +1,9 @@
1
- import type { BlockApiClient } from '../../api';
2
1
  import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
3
- import { savePendingRegistration } from './sessionStorage';
4
- import type { EventTicketSelectionLine, FormData, Guest, RegistrationResult, RegistrationStep, PaymentSelection } from './types';
5
- import type { PaymentMethod } from '../../api/types';
6
- import type { EventRegistrationStatusReference } from '../../api/types';
2
+ import type { BlockApiClient } from '../../api';
3
+ import type { EventRegistrationStatusReference, PaymentMethod } from '../../api/types';
7
4
  import type { RegistrationTarget } from './registrationDerivations';
5
+ import { savePendingRegistration } from './sessionStorage';
6
+ import type { EventTicketSelectionLine, FormData, Guest, PaymentSelection, RegistrationResult, RegistrationStep } from './types';
8
7
  export type EventRegistrationSubmitOptions = Readonly<{
9
8
  redirect?: 'auto' | 'manual';
10
9
  }>;
@@ -24,6 +23,7 @@ export type EventRegistrationSubmitResult = Readonly<{
24
23
  reason: 'blocked' | 'missing-target' | 'submission-failed';
25
24
  message: string;
26
25
  }>;
26
+ export type EventRegistrationSubmit = (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
27
27
  export type UseEventRegistrationSubmitInput = {
28
28
  api: BlockApiClient;
29
29
  registrationTarget: RegistrationTarget | null;
@@ -36,6 +36,7 @@ export type UseEventRegistrationSubmitInput = {
36
36
  guests: Guest[];
37
37
  discountCode: string;
38
38
  claimToken: string | null;
39
+ waitlistEntryId?: string | null;
39
40
  setPendingRegistrationReference: (reference: EventRegistrationStatusReference) => void;
40
41
  setStep: (step: RegistrationStep) => void;
41
42
  setErrorAction?: (action: EventRegistrationErrorAction) => void;
@@ -55,6 +56,6 @@ type ClientCommandIdCryptoSource = Readonly<{
55
56
  getRandomValues: (bytes: Uint8Array<ArrayBuffer>) => Uint8Array<ArrayBuffer>;
56
57
  }>;
57
58
  export declare function createClientCommandId(cryptoSource?: ClientCommandIdCryptoSource): string;
58
- export declare function useEventRegistrationSubmit(options: UseEventRegistrationSubmitInput): (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
59
- export declare function useEventRegistrationSubmitWithDeps(options: UseEventRegistrationSubmitInput, deps: EventRegistrationSubmitDeps): (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
59
+ export declare function useEventRegistrationSubmit(options: UseEventRegistrationSubmitInput): EventRegistrationSubmit;
60
+ export declare function useEventRegistrationSubmitWithDeps(options: UseEventRegistrationSubmitInput, deps: EventRegistrationSubmitDeps): EventRegistrationSubmit;
60
61
  export {};
@@ -52,6 +52,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
52
52
  scopedEvents: RegistrationEvent[];
53
53
  preSelectedEvent: RegistrationEvent | null;
54
54
  hasPreSelectedContext: boolean;
55
+ checkoutRecovery: boolean;
56
+ startCheckoutRecovery: () => void;
55
57
  step: RegistrationStep;
56
58
  setStep: (nextStep: RegistrationStep) => void;
57
59
  selectedEvent: RegistrationEvent | null;
@@ -117,6 +119,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
117
119
  isMembershipFastTrack: boolean;
118
120
  waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
119
121
  eligibility: EligibilityData | null;
122
+ registrationOptionsState: import("./hooks.state").EligibilityLookupState;
120
123
  eligibilityLoading: boolean;
121
124
  eligibilityError: string | null;
122
125
  existingRegistration: import("../../api").CustomerEventRegistration | null;
@@ -126,6 +129,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
126
129
  kind: "none";
127
130
  }> | Readonly<{
128
131
  kind: "booked";
132
+ }> | Readonly<{
133
+ kind: "pending_payment";
129
134
  }> | Readonly<{
130
135
  kind: "waitlisted";
131
136
  }>;
@@ -147,7 +152,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
147
152
  handlePaymentSelect: () => Promise<void>;
148
153
  handleUseCardInsteadOfPass: () => void;
149
154
  handleBookForSomeoneElse: () => void;
150
- handleSubmit: (method: import("./PaymentSelectionStep").PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: import("./useEventRegistrationSubmit").EventRegistrationSubmitOptions) => Promise<import("./useEventRegistrationSubmit").EventRegistrationSubmitResult>;
155
+ handleSubmit: import("./useEventRegistrationSubmit").EventRegistrationSubmit;
151
156
  handleEventSelect: (event: RegistrationEvent) => void;
152
157
  handleRetry: () => void;
153
158
  };
@@ -173,6 +178,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
173
178
  scopedEvents: RegistrationEvent[];
174
179
  preSelectedEvent: RegistrationEvent | null;
175
180
  hasPreSelectedContext: boolean;
181
+ checkoutRecovery: boolean;
182
+ startCheckoutRecovery: () => void;
176
183
  step: RegistrationStep;
177
184
  setStep: (nextStep: RegistrationStep) => void;
178
185
  selectedEvent: RegistrationEvent | null;
@@ -238,6 +245,7 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
238
245
  isMembershipFastTrack: boolean;
239
246
  waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
240
247
  eligibility: EligibilityData | null;
248
+ registrationOptionsState: import("./hooks.state").EligibilityLookupState;
241
249
  eligibilityLoading: boolean;
242
250
  eligibilityError: string | null;
243
251
  existingRegistration: import("../../api").CustomerEventRegistration | null;
@@ -247,6 +255,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
247
255
  kind: "none";
248
256
  }> | Readonly<{
249
257
  kind: "booked";
258
+ }> | Readonly<{
259
+ kind: "pending_payment";
250
260
  }> | Readonly<{
251
261
  kind: "waitlisted";
252
262
  }>;
@@ -268,7 +278,7 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
268
278
  handlePaymentSelect: () => Promise<void>;
269
279
  handleUseCardInsteadOfPass: () => void;
270
280
  handleBookForSomeoneElse: () => void;
271
- handleSubmit: (method: import("./PaymentSelectionStep").PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: import("./useEventRegistrationSubmit").EventRegistrationSubmitOptions) => Promise<import("./useEventRegistrationSubmit").EventRegistrationSubmitResult>;
281
+ handleSubmit: import("./useEventRegistrationSubmit").EventRegistrationSubmit;
272
282
  handleEventSelect: (event: RegistrationEvent) => void;
273
283
  handleRetry: () => void;
274
284
  };
@@ -0,0 +1,18 @@
1
+ import { useBlockApi } from '../../api';
2
+ import type { PublicEvent } from '../../../blocks/events/shared/types';
3
+ import type { EventRegistrationEventSource } from './eventSourceRecovery';
4
+ export type EventSourceRecovery = Readonly<{
5
+ kind: 'ready';
6
+ events: PublicEvent[];
7
+ }> | Readonly<{
8
+ kind: 'loading';
9
+ }> | Readonly<{
10
+ kind: 'exhausted';
11
+ retry: () => void;
12
+ }>;
13
+ type RecoveryDeps = Readonly<{
14
+ useApi: typeof useBlockApi;
15
+ wait: (milliseconds: number, signal: AbortSignal) => Promise<void>;
16
+ }>;
17
+ export declare function useEventSourceRecovery(source: EventRegistrationEventSource, deps?: RecoveryDeps): EventSourceRecovery;
18
+ export {};
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { EventRegistrationClientProps as InternalEventRegistrationClientProps } from './event-registration/types';
3
- import type { EventRegistrationInteractiveIslandProps } from './event-registration.interactive';
3
+ import { type EventRegistrationInteractiveIslandProps } from './event-registration.interactive';
4
4
  export type { PublicEvent, OccurrenceContext } from './event-registration/types';
5
5
  export type EventRegistrationClientProps = InternalEventRegistrationClientProps;
6
6
  export type EventRegistrationIslandClientProps = EventRegistrationInteractiveIslandProps;
@@ -5,6 +5,7 @@ import type { OccurrenceContext } from '../../blocks/event-registration.shared';
5
5
  import type { EventRegistrationClientProps as InternalEventRegistrationClientProps } from './event-registration/types';
6
6
  import { type EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
7
7
  import { type InteractiveIslandProps } from '../../../contracts/islands';
8
+ import { type EventRegistrationEventSource } from './event-registration/eventSourceRecovery';
8
9
  export declare const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS: readonly ["Date", "Tickets", "Details"];
9
10
  declare const EVENT_REGISTRATION_SHELL_STEP_LABELS: readonly ["Event", "Date", "Tickets", "Details", "Payment"];
10
11
  export type EventRegistrationGenericShellStepLabels = typeof EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
@@ -19,6 +20,7 @@ export type EventRegistrationSourceProps = Readonly<{
19
20
  events?: PublicEvent[] | null;
20
21
  /** Runs for a whole-series page, loaded independently of the date page. */
21
22
  wholeSeriesRunEvents?: PublicEvent[] | null;
23
+ eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
22
24
  className?: string | null;
23
25
  buttonText?: string | null;
24
26
  maxTickets?: string | null;
@@ -48,7 +50,9 @@ export type EventRegistrationDisplay = Readonly<{
48
50
  titleText: string;
49
51
  bodyText: string;
50
52
  }>;
51
- export type EventRegistrationHydration = Readonly<Omit<InternalEventRegistrationClientProps, 'siteId' | 'stage' | 'buttonText' | 'className'>>;
53
+ export type EventRegistrationHydration = Readonly<Omit<InternalEventRegistrationClientProps, 'siteId' | 'stage' | 'buttonText' | 'className' | 'events'> & {
54
+ eventSource: EventRegistrationEventSource;
55
+ }>;
52
56
  type EventRegistrationIslandMeta = Readonly<{
53
57
  siteId?: string;
54
58
  apiBaseUrl?: string;
@@ -56,7 +60,7 @@ type EventRegistrationIslandMeta = Readonly<{
56
60
  previewToken?: string | null;
57
61
  stage?: 'preview' | 'published';
58
62
  }>;
59
- export declare function buildEventRegistrationDisplay(source: EventRegistrationSourceProps): EventRegistrationDisplay;
63
+ export declare function buildEventRegistrationDisplayFromScopedEvents(source: EventRegistrationSourceProps, scopedSourceEvents: readonly PublicEvent[]): EventRegistrationDisplay;
60
64
  export type EventRegistrationInteractiveIslandProps = InteractiveIslandProps<EventRegistrationIslandMeta, 'event-registration', typeof eventRegistrationBlockRuntime>;
61
65
  export declare const eventRegistrationBlockRuntime: Readonly<{
62
66
  kind: "client-owned";
@@ -70,6 +74,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
70
74
  events?: PublicEvent[] | null;
71
75
  /** Runs for a whole-series page, loaded independently of the date page. */
72
76
  wholeSeriesRunEvents?: PublicEvent[] | null;
77
+ eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
73
78
  className?: string | null;
74
79
  buttonText?: string | null;
75
80
  maxTickets?: string | null;
@@ -89,7 +94,9 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
89
94
  }> | null;
90
95
  }>) => Readonly<{
91
96
  display: EventRegistrationDisplay;
92
- hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
97
+ hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
98
+ eventSource: EventRegistrationEventSource;
99
+ }>;
93
100
  }>;
94
101
  contracts: Readonly<{
95
102
  source: Readonly<{
@@ -103,6 +110,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
103
110
  events?: PublicEvent[] | null;
104
111
  /** Runs for a whole-series page, loaded independently of the date page. */
105
112
  wholeSeriesRunEvents?: PublicEvent[] | null;
113
+ eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
106
114
  className?: string | null;
107
115
  buttonText?: string | null;
108
116
  maxTickets?: string | null;
@@ -131,6 +139,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
131
139
  events?: PublicEvent[] | null;
132
140
  /** Runs for a whole-series page, loaded independently of the date page. */
133
141
  wholeSeriesRunEvents?: PublicEvent[] | null;
142
+ eventLoaderFailures?: Readonly<Record<string, unknown>> | null;
134
143
  className?: string | null;
135
144
  buttonText?: string | null;
136
145
  maxTickets?: string | null;
@@ -153,11 +162,15 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
153
162
  render: Readonly<{
154
163
  encode: (value: Readonly<{
155
164
  display: EventRegistrationDisplay;
156
- hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
165
+ hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
166
+ eventSource: EventRegistrationEventSource;
167
+ }>;
157
168
  }>) => unknown;
158
169
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
159
170
  display: EventRegistrationDisplay;
160
- hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
171
+ hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
172
+ eventSource: EventRegistrationEventSource;
173
+ }>;
161
174
  }>>;
162
175
  }>;
163
176
  }>;
@@ -175,7 +188,9 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
175
188
  mode: "event-registration";
176
189
  } & Readonly<{
177
190
  display: EventRegistrationDisplay;
178
- hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
191
+ hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
192
+ eventSource: EventRegistrationEventSource;
193
+ }>;
179
194
  }>>;
180
195
  }>) => unknown;
181
196
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
@@ -190,7 +205,9 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
190
205
  mode: "event-registration";
191
206
  } & Readonly<{
192
207
  display: EventRegistrationDisplay;
193
- hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
208
+ hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
209
+ eventSource: EventRegistrationEventSource;
210
+ }>;
194
211
  }>>;
195
212
  }>>;
196
213
  }>;
@@ -1,13 +1,15 @@
1
1
  import React from 'react';
2
2
  import { type EventRegistrationSourceProps } from './event-registration.interactive';
3
- type EventRegistrationProps = Omit<EventRegistrationSourceProps, 'subject'> & Readonly<{
3
+ import type { BlockLoaderFailures } from '../../data/types';
4
+ type EventRegistrationProps = Omit<EventRegistrationSourceProps, 'subject' | 'eventLoaderFailures'> & Readonly<{
4
5
  blockId?: string | null;
5
6
  children?: React.ReactNode;
6
7
  subject?: unknown;
8
+ loaderFailures?: BlockLoaderFailures | null;
7
9
  }>;
8
10
  /**
9
11
  * Server-safe placeholder for event registration.
10
12
  * Provides a static container for island hydration without importing client hooks.
11
13
  */
12
- export declare function EventRegistrationSSR({ blockId, subject, children, ...sourceProps }: EventRegistrationProps): React.JSX.Element;
14
+ export declare function EventRegistrationSSR({ blockId, subject, loaderFailures, children, ...sourceProps }: EventRegistrationProps): React.JSX.Element;
13
15
  export default EventRegistrationSSR;
@@ -1,9 +1,12 @@
1
1
  import React from "react";
2
2
  import type { PublicEvent, ButtonVariant, EventLayout, ColumnOption, WeekStart, CalendarTabViews, FilterAutoShow, CalendarView, EventScheduleScope, EventSurfaceScope } from "../../../blocks/events/shared/types";
3
3
  import type { CardRole } from "../../../../../../theme-core/src/cards/index";
4
+ import { type CalendarViewLoadState } from "../../hooks/useCalendarEvents";
4
5
  import type { EventCombinedInteractiveIslandProps } from "./EventCombined.interactive";
5
6
  import type { EventCollectionHydration } from './shared/eventCollectionContract';
7
+ import { type CalendarDate, type CalendarViewport } from "./shared";
6
8
  import { type EventListPaginationAction, type EventPageSize } from "./shared/listOptions";
9
+ import { type CalendarViewToggleOption } from "./shared/calendarViewOptions";
7
10
  export type EventCombinedClientProps = Readonly<{
8
11
  events?: PublicEvent[] | null;
9
12
  siteId: string;
@@ -37,6 +40,31 @@ export type EventCombinedClientProps = Readonly<{
37
40
  calendarWindow?: EventCollectionHydration['calendarWindow'];
38
41
  }>;
39
42
  export type EventCombinedIslandClientProps = EventCombinedInteractiveIslandProps;
43
+ type EventCombinedCalendarTabProps = Readonly<{
44
+ calendarTabViews: CalendarTabViews;
45
+ calendarView: CalendarView;
46
+ calendarViewOptions: readonly CalendarViewToggleOption[];
47
+ onCalendarViewChange: (view: CalendarView) => void;
48
+ calendarEvents: PublicEvent[];
49
+ eventsByDate: Map<string, PublicEvent[]>;
50
+ viewDate: CalendarDate;
51
+ viewport: CalendarViewport;
52
+ calendarLoadState: CalendarViewLoadState;
53
+ dayNames: readonly string[];
54
+ calendarContext: EventCollectionHydration["calendarContext"];
55
+ today: CalendarDate;
56
+ goToPrevious: () => void;
57
+ goToNext: () => void;
58
+ goToToday: () => void;
59
+ emptyMessage: string;
60
+ showCapacity: boolean;
61
+ showVenue: boolean;
62
+ cardRole: CardRole;
63
+ buttonVariant: ButtonVariant;
64
+ buttonText: string;
65
+ showEmptyState: boolean;
66
+ }>;
67
+ export declare const EventCombinedCalendarTab: React.FC<EventCombinedCalendarTabProps>;
40
68
  /**
41
69
  * EventCombined Component
42
70
  *
@@ -0,0 +1,9 @@
1
+ import type { PublicEvent } from '../../../../blocks/events/shared/types';
2
+ /**
3
+ * Whether a public event has a registration path a visitor can take.
4
+ *
5
+ * Lifecycle admission comes from the public booking-availability contract;
6
+ * capacity comes from the shared event-domain helpers so uncapped, fallback,
7
+ * and hybrid attendance-mode cases agree with the registration runtime.
8
+ */
9
+ export declare function isBookableEvent(event: PublicEvent): boolean;
@@ -11,6 +11,8 @@ type DateTimeFormatOptions = {
11
11
  timeZone?: string | null;
12
12
  locale?: string;
13
13
  };
14
+ /** Use the event timezone when present, otherwise the calendar/site timezone. */
15
+ export declare function resolveEventTimeZone(event: Pick<PublicEvent, 'timeZone'>, calendarTimeZone: string): string;
14
16
  /**
15
17
  * Format date for display.
16
18
  * Returns: "Monday, January 15, 2025"
@@ -36,7 +38,19 @@ export type EventCompactDateRail = Readonly<{
36
38
  month: string;
37
39
  label: string;
38
40
  }>;
41
+ export type EventNextDateFact = Readonly<{
42
+ dateTime: string;
43
+ value: string;
44
+ label: string;
45
+ }>;
39
46
  export declare function formatEventCompactDateRail(isoTimestamp: string, options?: DateTimeFormatOptions): EventCompactDateRail;
47
+ /**
48
+ * Format the next occurrence for the image-free catalogue card treatment.
49
+ *
50
+ * The compact rail already owns this short, booking-local date vocabulary;
51
+ * keep the fact panel on the same date and timezone rules as event rows.
52
+ */
53
+ export declare function formatEventNextDateFact(event: Pick<PublicEvent, 'startsAt' | 'timeZone'>): EventNextDateFact;
40
54
  export { addDays, addMonths, buildCalendarViewport, formatCalendarTitle, formatDateKey, getEndOfMonth, getMonthCalendarDays, getOrderedDayNames, getStartOfMonth, getWeekCalendarDays, getWeekCalendarDayTuple, isToday, MAX_EVENTS_PER_DAY, shiftCalendarAnchorDate, } from '../../../../../../../calendar/src/index';
41
55
  export type { CalendarDate, CalendarViewport, CalendarViewportKind, MonthCalendarViewport, WeekCalendarDays, WeekCalendarViewport, } from '../../../../../../../calendar/src/index';
42
56
  /**
@@ -0,0 +1,2 @@
1
+ import type { PublicEvent } from '../../../../blocks/events/shared/types';
2
+ export declare function formatEventDuration(event: Pick<PublicEvent, 'startsAt' | 'endsAt'>): string;
@@ -7,8 +7,12 @@
7
7
  * Components in ../shared and the registration wizard import from this barrel.
8
8
  */
9
9
  export * from './capacity';
10
+ export * from './bookability';
10
11
  export * from './cta';
11
12
  export * from './dates';
12
13
  export * from './destination';
14
+ export * from './duration';
15
+ export * from './location';
13
16
  export * from './people';
14
17
  export * from './pricing';
18
+ export * from './quickDates';
@@ -0,0 +1,2 @@
1
+ import type { PublicEvent } from '../../../../blocks/events/shared/types';
2
+ export declare function formatEventLocation(event: Pick<PublicEvent, 'deliveryMode' | 'venue'>): string;
@@ -0,0 +1,16 @@
1
+ import type { PublicEvent } from '../../../../blocks/events/shared/types';
2
+ export declare const QUICK_EVENT_DATE_LIMIT = 4;
3
+ export type EventQuickDateFact = Readonly<{
4
+ dateTime: string;
5
+ label: string;
6
+ }>;
7
+ /**
8
+ * Select the next occurrence-targeted events for a quick-book rail.
9
+ *
10
+ * The API normally returns valid timestamps, but malformed values sort after
11
+ * valid events so one bad record cannot displace an otherwise useful rail.
12
+ * Sorting before deduplication means a duplicate occurrence keeps its earliest
13
+ * deterministic representation.
14
+ */
15
+ export declare function selectQuickDateEvents(events: readonly PublicEvent[]): readonly PublicEvent[];
16
+ export declare function formatEventQuickDate(event: Pick<PublicEvent, 'startsAt' | 'timeZone'>): EventQuickDateFact;
@@ -1,9 +1,17 @@
1
1
  import React from 'react';
2
- import type { PublicEvent } from '../../../../blocks/events/shared/types';
2
+ import type { ButtonVariant, PublicEvent } from '../../../../blocks/events/shared/types';
3
3
  type AgendaEventCardProps = {
4
4
  event: PublicEvent;
5
5
  /** Whether to render the capacity indicator. */
6
6
  showCapacity: boolean;
7
+ /** Whether the published agenda row should include its public location. */
8
+ showVenue?: boolean;
9
+ /** Theme button role used by the agenda booking action. */
10
+ buttonVariant?: ButtonVariant;
11
+ /** Optional override for the canonical booking action label. */
12
+ buttonText?: string;
13
+ /** Calendar/site timezone used when legacy events omit their own timezone. */
14
+ calendarTimeZone: string;
7
15
  /** When provided, renders as button and calls onClick instead of navigating */
8
16
  onClick?: (event: PublicEvent) => void;
9
17
  };