@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
@@ -8,6 +8,8 @@ export type CalendarDayCellProps = {
8
8
  events: PublicEvent[];
9
9
  /** Whether this date is in the currently viewed month */
10
10
  isCurrentMonth: boolean;
11
+ /** Calendar/site timezone used when an event omits its own timezone. */
12
+ calendarTimeZone: string;
11
13
  today: CalendarDate;
12
14
  };
13
15
  /**
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare function CalendarDayHeaders({ dayNames, }: Readonly<{
3
+ dayNames: readonly string[];
4
+ }>): React.ReactElement;
@@ -5,6 +5,7 @@ type DayEventsModalProps = {
5
5
  date: CalendarDate;
6
6
  events: PublicEvent[];
7
7
  showCapacity: boolean;
8
+ calendarTimeZone: string;
8
9
  onClose: () => void;
9
10
  onSelectEvent: (event: PublicEvent) => void;
10
11
  portalRoot?: HTMLElement | null;
@@ -15,5 +16,5 @@ type DayEventsModalProps = {
15
16
  * Uses AgendaEventCard with onClick prop to display events.
16
17
  * Clicking an event triggers onSelectEvent (typically opens EventDetailModal).
17
18
  */
18
- export declare function DayEventsModal({ date, events, showCapacity, onClose, onSelectEvent, portalRoot, }: DayEventsModalProps): React.ReactElement;
19
+ export declare function DayEventsModal({ date, events, showCapacity, calendarTimeZone, onClose, onSelectEvent, portalRoot, }: DayEventsModalProps): React.ReactElement;
19
20
  export default DayEventsModal;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { CardRole } from '../../../../../../../theme-core/src/cards/index';
3
3
  import type { ButtonVariant, CardOrientation, PublicEvent } from '../../../../blocks/events/shared/types';
4
+ type EventCardPresentation = 'default' | 'catalogue';
4
5
  type EventCardProps = {
5
6
  event: PublicEvent;
6
7
  cardRole?: CardRole;
@@ -18,6 +19,10 @@ type EventCardProps = {
18
19
  showSummary?: boolean;
19
20
  /** Card orientation - 'vertical' for grid, 'horizontal' for stack */
20
21
  orientation?: CardOrientation;
22
+ /** Catalogue cards add the date media fallback and canonical price footer. */
23
+ presentation?: EventCardPresentation;
24
+ /** Heading level used by the containing page's document outline. */
25
+ headingLevel?: 3 | 4;
21
26
  };
22
27
  /**
23
28
  * EventCard Component
@@ -6,6 +6,7 @@ type EventModalsProps = {
6
6
  cardRole?: CardRole;
7
7
  buttonVariant?: ButtonVariant;
8
8
  buttonText?: string;
9
+ calendarTimeZone: string;
9
10
  };
10
11
  /**
11
12
  * EventModals - Renders the appropriate modal based on context state
@@ -15,5 +16,5 @@ type EventModalsProps = {
15
16
  * - EventDetailModal for single event view
16
17
  * - DayEventsModal for day events list (clicking an event switches to event modal)
17
18
  */
18
- export declare function EventModals({ showCapacity, cardRole, buttonVariant, buttonText, }: EventModalsProps): React.ReactElement | null;
19
+ export declare function EventModals({ showCapacity, cardRole, buttonVariant, buttonText, calendarTimeZone, }: EventModalsProps): React.ReactElement | null;
19
20
  export default EventModals;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { ButtonVariant, PublicEvent } from '../../../../blocks/events/shared/types';
3
+ export type EventQuickDatesProps = Readonly<{
4
+ events: readonly PublicEvent[];
5
+ pathname: string;
6
+ buttonVariant?: ButtonVariant;
7
+ }>;
8
+ /**
9
+ * Render a bounded rail of direct occurrence booking choices.
10
+ *
11
+ * The heading belongs to this runtime component so it stays with the
12
+ * bounded rail. Native events target the occurrence booking route while
13
+ * external events retain their canonical destination and target behaviour.
14
+ */
15
+ export declare function EventQuickDates({ events, pathname, buttonVariant, }: EventQuickDatesProps): React.ReactElement | null;
@@ -1,20 +1,24 @@
1
1
  import React from 'react';
2
2
  import { type CalendarDate } from '../../../../../../../calendar/src/index';
3
- import type { PublicEvent } from '../../../../blocks/events/shared/types';
3
+ import type { ButtonVariant, PublicEvent } from '../../../../blocks/events/shared/types';
4
4
  import { type WeekCalendarDays } from '../domain';
5
5
  type WeekAgendaViewProps = {
6
6
  days: WeekCalendarDays;
7
7
  events: PublicEvent[];
8
8
  showCapacity: boolean;
9
+ showVenue?: boolean;
9
10
  emptyMessage?: string;
11
+ showEmptyState: boolean;
10
12
  calendarTimeZone: string;
11
13
  today: CalendarDate;
14
+ buttonVariant?: ButtonVariant;
15
+ buttonText?: string;
12
16
  };
13
17
  /**
14
18
  * WeekAgendaView Component
15
19
  *
16
- * Displays a week of events in an agenda/list style with rich event details.
17
- * Shows all 7 days with date headers, empty days show "No events scheduled".
20
+ * Displays populated days in a week as an agenda/list with rich event details.
21
+ * A week without events has one empty state instead of seven repeated messages.
18
22
  */
19
23
  export declare const WeekAgendaView: React.FC<WeekAgendaViewProps>;
20
24
  export default WeekAgendaView;
@@ -7,6 +7,7 @@ type WeekTimetableViewProps = {
7
7
  events: PublicEvent[];
8
8
  startOfWeek: WeekStart;
9
9
  showCapacity: boolean;
10
+ calendarTimeZone: string;
10
11
  emptyMessage?: string;
11
12
  };
12
13
  export declare const WeekTimetableView: React.FC<WeekTimetableViewProps>;
@@ -5,6 +5,8 @@ export * from '../domain';
5
5
  export * from './listingLayout';
6
6
  export { EventCard } from './EventCard';
7
7
  export { EventCompactRow } from './EventCompactRow';
8
+ export { EventQuickDates } from './EventQuickDates';
8
9
  export { EmptyState } from './EmptyState';
9
10
  export { DateTimeTile } from './DateTimeTile';
11
+ export { CalendarDayHeaders } from './CalendarDayHeaders';
10
12
  export { OfferingTitle } from './OfferingTitle';
@@ -44,6 +44,7 @@ type BuildTimetableModelInput = {
44
44
  viewDate: CalendarDate;
45
45
  today: CalendarDate;
46
46
  startOfWeek: WeekStart;
47
+ calendarTimeZone: string;
47
48
  };
48
49
  export declare function buildTimetableModel(input: BuildTimetableModelInput): TimetableModel;
49
50
  export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The first client render must retain the server's data-dependent shell.
3
+ * State becomes ready after hydration so subsequent loading transitions can
4
+ * use the live calendar state without changing the server markup mid-hydrate.
5
+ */
6
+ export declare function useHydrationReady(): boolean;
@@ -15,6 +15,7 @@ export type NewsletterFormSubmissionState = Readonly<{
15
15
  error: NewsletterFormError;
16
16
  }> | Readonly<{
17
17
  tag: 'success';
18
+ outcome: 'subscribed' | 'confirmation_required';
18
19
  }>;
19
20
  export type NewsletterFormSubmissionAction = Readonly<{
20
21
  type: 'submitted';
@@ -23,6 +24,7 @@ export type NewsletterFormSubmissionAction = Readonly<{
23
24
  error: NewsletterFormError;
24
25
  }> | Readonly<{
25
26
  type: 'succeeded';
27
+ outcome: 'subscribed' | 'confirmation_required';
26
28
  }>;
27
29
  export declare const initialNewsletterFormSubmissionState: NewsletterFormSubmissionState;
28
30
  export declare function newsletterFormSubmissionReducer(state: NewsletterFormSubmissionState, action: NewsletterFormSubmissionAction): NewsletterFormSubmissionState;
@@ -30,5 +32,6 @@ export declare function newsletterFieldError(fieldId: string, message: string):
30
32
  export declare function newsletterFormError(message: string): NewsletterFormError;
31
33
  export declare function isNewsletterFormSubmitting(state: NewsletterFormSubmissionState): boolean;
32
34
  export declare function isNewsletterFormSuccess(state: NewsletterFormSubmissionState): boolean;
35
+ export declare function getNewsletterSuccessOutcome(state: NewsletterFormSubmissionState): 'subscribed' | 'confirmation_required' | null;
33
36
  export declare function getNewsletterSubmissionFieldError(state: NewsletterFormSubmissionState, fieldId: string): string | null;
34
37
  export declare function getNewsletterSubmissionFormError(state: NewsletterFormSubmissionState): string | null;
@@ -1,38 +1,42 @@
1
+ import { type MailingListSignupSourceRef } from '../../../../../core/src/index';
1
2
  import { type InteractiveIslandProps } from '../../../contracts/islands';
2
- import { type NewsletterSignupPublicDestinationRef } from '../../blocks/newsletter-signup-destination';
3
- import { type NewsletterButtonVariant, type NewsletterFieldDef, type NewsletterFormProps, type NewsletterPreset } from './newsletter-form.types';
3
+ import { type NewsletterButtonVariant, type NewsletterFieldDef, type NewsletterFormProps } from './newsletter-form.types';
4
4
  export type NewsletterFormSourceProps = NewsletterFormProps;
5
5
  export type NewsletterFormDisplay = Readonly<{
6
6
  kind: 'newsletter-form';
7
+ availability: 'ready' | 'unavailable';
7
8
  className: string | null;
8
9
  buttonLabel: string;
10
+ successMessage: string;
9
11
  buttonVariant: NewsletterButtonVariant;
10
- successMessage: string | null;
11
12
  privacyNote: string | null;
12
13
  fields: readonly NewsletterFieldDef[];
14
+ choices: readonly Readonly<{
15
+ id: string;
16
+ label: string;
17
+ }>[];
13
18
  }>;
14
19
  export type NewsletterFormHydration = Readonly<{
15
20
  target: NewsletterFormHydrationTarget;
16
- preset: NewsletterPreset;
17
- includePhone: boolean;
18
- tags?: string | null;
21
+ setupRevision: number | null;
22
+ choiceProvider: 'native' | 'brevo' | 'mailchimp' | null;
23
+ choicePresentation: 'hidden' | 'automatic' | 'visitor_choice';
19
24
  spamProtectionEnabled?: boolean;
20
25
  }>;
21
26
  export type NewsletterFormHydrationTarget = Readonly<{
22
27
  tag: 'block-source';
23
- destinationRef: NewsletterSignupBlockDestinationRef | null;
28
+ sourceRef: MailingListSignupBlockSourceRef | null;
24
29
  }> | Readonly<{
25
30
  tag: 'signed-footer-source';
26
- destinationRef: NewsletterSignupSignedDestinationRef;
31
+ sourceRef: MailingListSignupSignedSourceRef;
27
32
  }> | Readonly<{
28
- tag: 'legacy-direct-list';
29
- listId: string | null;
33
+ tag: 'preview';
30
34
  }>;
31
- type NewsletterSignupBlockDestinationRef = Extract<NewsletterSignupPublicDestinationRef, {
35
+ type MailingListSignupBlockSourceRef = Extract<MailingListSignupSourceRef, {
32
36
  tag: 'block_ref';
33
37
  }>;
34
- type NewsletterSignupSignedDestinationRef = Extract<NewsletterSignupPublicDestinationRef, {
35
- tag: 'signed_destination_ref';
38
+ type MailingListSignupSignedSourceRef = Extract<MailingListSignupSourceRef, {
39
+ tag: 'signed_source_ref';
36
40
  }>;
37
41
  type NewsletterIslandMeta = Readonly<{
38
42
  siteId?: string;
@@ -45,18 +49,23 @@ export declare const newsletterFormBlockRuntime: Readonly<{
45
49
  buildRender: (source: NewsletterFormProps) => Readonly<{
46
50
  display: Readonly<{
47
51
  kind: "newsletter-form";
52
+ availability: "ready" | "unavailable";
48
53
  className: string | null;
49
54
  buttonLabel: string;
55
+ successMessage: string;
50
56
  buttonVariant: NewsletterButtonVariant;
51
- successMessage: string | null;
52
57
  privacyNote: string | null;
53
58
  fields: readonly NewsletterFieldDef[];
59
+ choices: readonly Readonly<{
60
+ id: string;
61
+ label: string;
62
+ }>[];
54
63
  }>;
55
64
  hydration: Readonly<{
56
65
  target: NewsletterFormHydrationTarget;
57
- preset: NewsletterPreset;
58
- includePhone: boolean;
59
- tags?: string | null;
66
+ setupRevision: number | null;
67
+ choiceProvider: "native" | "brevo" | "mailchimp" | null;
68
+ choicePresentation: "hidden" | "automatic" | "visitor_choice";
60
69
  spamProtectionEnabled?: boolean;
61
70
  }>;
62
71
  }>;
@@ -69,36 +78,46 @@ export declare const newsletterFormBlockRuntime: Readonly<{
69
78
  encode: (value: Readonly<{
70
79
  display: Readonly<{
71
80
  kind: "newsletter-form";
81
+ availability: "ready" | "unavailable";
72
82
  className: string | null;
73
83
  buttonLabel: string;
84
+ successMessage: string;
74
85
  buttonVariant: NewsletterButtonVariant;
75
- successMessage: string | null;
76
86
  privacyNote: string | null;
77
87
  fields: readonly NewsletterFieldDef[];
88
+ choices: readonly Readonly<{
89
+ id: string;
90
+ label: string;
91
+ }>[];
78
92
  }>;
79
93
  hydration: Readonly<{
80
94
  target: NewsletterFormHydrationTarget;
81
- preset: NewsletterPreset;
82
- includePhone: boolean;
83
- tags?: string | null;
95
+ setupRevision: number | null;
96
+ choiceProvider: "native" | "brevo" | "mailchimp" | null;
97
+ choicePresentation: "hidden" | "automatic" | "visitor_choice";
84
98
  spamProtectionEnabled?: boolean;
85
99
  }>;
86
100
  }>) => unknown;
87
101
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
88
102
  display: Readonly<{
89
103
  kind: "newsletter-form";
104
+ availability: "ready" | "unavailable";
90
105
  className: string | null;
91
106
  buttonLabel: string;
107
+ successMessage: string;
92
108
  buttonVariant: NewsletterButtonVariant;
93
- successMessage: string | null;
94
109
  privacyNote: string | null;
95
110
  fields: readonly NewsletterFieldDef[];
111
+ choices: readonly Readonly<{
112
+ id: string;
113
+ label: string;
114
+ }>[];
96
115
  }>;
97
116
  hydration: Readonly<{
98
117
  target: NewsletterFormHydrationTarget;
99
- preset: NewsletterPreset;
100
- includePhone: boolean;
101
- tags?: string | null;
118
+ setupRevision: number | null;
119
+ choiceProvider: "native" | "brevo" | "mailchimp" | null;
120
+ choicePresentation: "hidden" | "automatic" | "visitor_choice";
102
121
  spamProtectionEnabled?: boolean;
103
122
  }>;
104
123
  }>>;
@@ -117,18 +136,23 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
117
136
  } & Readonly<{
118
137
  display: Readonly<{
119
138
  kind: "newsletter-form";
139
+ availability: "ready" | "unavailable";
120
140
  className: string | null;
121
141
  buttonLabel: string;
142
+ successMessage: string;
122
143
  buttonVariant: NewsletterButtonVariant;
123
- successMessage: string | null;
124
144
  privacyNote: string | null;
125
145
  fields: readonly NewsletterFieldDef[];
146
+ choices: readonly Readonly<{
147
+ id: string;
148
+ label: string;
149
+ }>[];
126
150
  }>;
127
151
  hydration: Readonly<{
128
152
  target: NewsletterFormHydrationTarget;
129
- preset: NewsletterPreset;
130
- includePhone: boolean;
131
- tags?: string | null;
153
+ setupRevision: number | null;
154
+ choiceProvider: "native" | "brevo" | "mailchimp" | null;
155
+ choicePresentation: "hidden" | "automatic" | "visitor_choice";
132
156
  spamProtectionEnabled?: boolean;
133
157
  }>;
134
158
  }>>;
@@ -143,18 +167,23 @@ export declare const newsletterFormInteractiveIslandPropsCodec: Readonly<{
143
167
  } & Readonly<{
144
168
  display: Readonly<{
145
169
  kind: "newsletter-form";
170
+ availability: "ready" | "unavailable";
146
171
  className: string | null;
147
172
  buttonLabel: string;
173
+ successMessage: string;
148
174
  buttonVariant: NewsletterButtonVariant;
149
- successMessage: string | null;
150
175
  privacyNote: string | null;
151
176
  fields: readonly NewsletterFieldDef[];
177
+ choices: readonly Readonly<{
178
+ id: string;
179
+ label: string;
180
+ }>[];
152
181
  }>;
153
182
  hydration: Readonly<{
154
183
  target: NewsletterFormHydrationTarget;
155
- preset: NewsletterPreset;
156
- includePhone: boolean;
157
- tags?: string | null;
184
+ setupRevision: number | null;
185
+ choiceProvider: "native" | "brevo" | "mailchimp" | null;
186
+ choicePresentation: "hidden" | "automatic" | "visitor_choice";
158
187
  spamProtectionEnabled?: boolean;
159
188
  }>;
160
189
  }>>;
@@ -1,4 +1,4 @@
1
- import type { NewsletterSubscribeTarget } from '../api/types';
1
+ import { type MailingListSignupSourceRef } from '../../../../../core/src/index';
2
2
  import type { NewsletterFormHydrationTarget } from './newsletter-form.interactive';
3
3
  export type NewsletterFormRawSubmissionFields = Readonly<{
4
4
  email: FormDataEntryValue | null;
@@ -20,10 +20,10 @@ export type NewsletterFormSubmissionFields = Readonly<{
20
20
  }>;
21
21
  export type NewsletterSubmitTargetResolution = Readonly<{
22
22
  tag: 'ready';
23
- target: NewsletterSubscribeTarget;
23
+ sourceRef: MailingListSignupSourceRef;
24
24
  }> | Readonly<{
25
25
  tag: 'unavailable';
26
- reason: 'missing_block_source' | 'missing_legacy_list';
26
+ reason: 'missing_block_source';
27
27
  }>;
28
28
  export declare function mapNewsletterFormFieldsToSubscriberInput(fields: NewsletterFormRawSubmissionFields): NewsletterFormSubmissionFields;
29
29
  export declare function resolveNewsletterSubmitTarget(input: NewsletterFormHydrationTarget): NewsletterSubmitTargetResolution;
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * Shared types for the newsletter form server and client components.
5
5
  */
6
- import type { NewsletterSignupDestinationProvider, NewsletterSignupFieldPreset, NewsletterSignupPublicDestinationRef } from '../../blocks/newsletter-signup-destination';
6
+ import type { MailingListGlobalForm, MailingListPlacementTargeting, MailingListRuntimeContext, MailingListSignupSourceRef } from '../../../../../core/src/index';
7
7
  import type { BlockButtonRole } from '../../constants/buttonRoles';
8
- export type NewsletterPreset = NewsletterSignupFieldPreset;
8
+ export type NewsletterPreset = MailingListGlobalForm['fields']['preset'];
9
9
  export type NewsletterFieldDef = {
10
10
  id: string;
11
11
  type: 'email' | 'text';
@@ -13,27 +13,18 @@ export type NewsletterFieldDef = {
13
13
  required: boolean;
14
14
  placeholder?: string;
15
15
  };
16
- export type NewsletterDestinationProvider = 'riverbank' | 'mailchimp';
17
16
  export type NewsletterButtonVariant = BlockButtonRole;
18
17
  type NewsletterFormCommonProps = {
19
18
  /** Site ID for API calls */
20
19
  siteId?: string;
21
20
  /** API base URL for client-side fetching */
22
21
  apiBaseUrl?: string;
23
- /** Field preset configuration */
24
- preset?: NewsletterPreset;
25
- /** Adds an optional phone field to the selected preset */
26
- includePhone?: boolean;
27
- /** Submit button label */
28
- buttonLabel?: string | null;
22
+ /** Site-owned fields/copy and safe provider choice labels. */
23
+ mailingList?: MailingListRuntimeContext;
24
+ /** The only placement-owned mailing-list behaviour. */
25
+ targeting?: MailingListPlacementTargeting;
29
26
  /** Site-style button role for the submit action */
30
27
  buttonVariant?: NewsletterButtonVariant | null;
31
- /** Message shown after successful subscription */
32
- successMessage?: string | null;
33
- /** Optional privacy note below the form */
34
- privacyNote?: string | null;
35
- /** Optional tags (comma/semicolon separated) applied on subscribe */
36
- tags?: string | null;
37
28
  /** Enable spam protection (ALTCHA) */
38
29
  spamProtectionEnabled?: boolean;
39
30
  /** Additional CSS class */
@@ -42,31 +33,23 @@ type NewsletterFormCommonProps = {
42
33
  type BlockNewsletterFormSource = Readonly<{
43
34
  source: 'block';
44
35
  blockId?: string | null;
45
- destinationProvider?: NewsletterSignupDestinationProvider | null;
46
- /** Authoring state only; public submission authority is always blockId. */
47
- listId?: string | null;
36
+ contentVersionId?: string | null;
48
37
  }>;
49
38
  type SignedFooterNewsletterFormSource = Readonly<{
50
39
  source: 'signed-footer';
51
- destinationRef: Extract<NewsletterSignupPublicDestinationRef, {
52
- tag: 'signed_destination_ref';
40
+ sourceRef: Extract<MailingListSignupSourceRef, {
41
+ tag: 'signed_source_ref';
53
42
  }>;
54
43
  blockId?: never;
55
- destinationProvider?: never;
56
- listId?: never;
57
44
  }>;
58
- type LegacyDirectListNewsletterFormSource = Readonly<{
59
- source: 'legacy-direct-list';
60
- listId: string | null;
45
+ type PreviewNewsletterFormSource = Readonly<{
46
+ source: 'preview';
61
47
  blockId?: never;
62
- destinationRef?: never;
63
- destinationProvider?: never;
48
+ sourceRef?: never;
64
49
  }>;
65
- export type NewsletterFormProps = NewsletterFormCommonProps & (BlockNewsletterFormSource | SignedFooterNewsletterFormSource | LegacyDirectListNewsletterFormSource);
50
+ export type NewsletterFormProps = NewsletterFormCommonProps & (BlockNewsletterFormSource | SignedFooterNewsletterFormSource | PreviewNewsletterFormSource);
66
51
  /**
67
52
  * Get form fields based on preset configuration.
68
53
  */
69
- export declare function getPresetFields(preset: NewsletterPreset, options?: {
70
- includePhone?: boolean;
71
- }): NewsletterFieldDef[];
54
+ export declare function getGlobalFormFields(form: MailingListGlobalForm): NewsletterFieldDef[];
72
55
  export {};
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { ButtonVariant, PublicEvent } from '../../blocks/events/shared/types';
3
+ import { type BookingOfferingPresetSummary } from '../../blocks/offerings-preview/model';
4
+ export type OfferingsCatalogueProps = Readonly<{
5
+ children?: React.ReactNode;
6
+ bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
7
+ catalogueEvents?: readonly PublicEvent[] | null;
8
+ quickDateEvents?: readonly PublicEvent[] | null;
9
+ pathname?: string;
10
+ buttonVariant?: ButtonVariant | null;
11
+ emptyMessage?: string | null;
12
+ failedMessage?: string | null;
13
+ }>;
14
+ export declare function OfferingsCatalogue(props: OfferingsCatalogueProps): React.ReactNode;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import type { ButtonVariant } from '../../blocks/events/shared/types';
3
+ import { type OfferingsPreviewGroupPresentation, type OfferingsPreviewGroupRenderState, type OfferingsPreviewItem, type OfferingsPreviewRouteCandidate } from '../../blocks/offerings-preview/model';
4
+ export type OfferingsPreviewGroupFrame = Readonly<{
5
+ containerClassName: string;
6
+ containerStyle?: React.CSSProperties;
7
+ contentClassName: string;
8
+ }>;
9
+ type OfferingsPreviewContentProps = Readonly<{
10
+ now: Date;
11
+ states: readonly OfferingsPreviewGroupRenderState[];
12
+ buttonVariant: ButtonVariant;
13
+ buttonText: string;
14
+ routeCandidates: readonly OfferingsPreviewRouteCandidate[];
15
+ groupFrame: OfferingsPreviewGroupFrame;
16
+ renderGroupItems: (presentation: OfferingsPreviewGroupPresentation, items: readonly OfferingsPreviewItem[], options: Readonly<{
17
+ buttonVariant: ButtonVariant;
18
+ buttonText: string;
19
+ now: Date;
20
+ }>) => React.ReactNode;
21
+ }>;
22
+ export declare function OfferingsPreviewContent(props: OfferingsPreviewContentProps): React.ReactElement;
23
+ export {};
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
+ import { type OfferingsCatalogueProps } from './offerings-preview-catalogue';
2
3
  import type { ButtonVariant, PublicEvent } from '../../blocks/events/shared/types';
3
4
  import type { CardStylesContent } from '../../fields/boxStyles';
4
5
  import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOrder, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from '../../blocks/offerings-preview/model';
5
- type OfferingsPreviewProps = Readonly<{
6
+ type OfferingsPreviewProps = OfferingsCatalogueProps & Readonly<{
6
7
  now?: Date;
8
+ displayMode?: 'preview' | 'catalogue';
7
9
  bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
8
10
  groupOrder?: OfferingsPreviewGroupOrder | null;
9
11
  groupOverrides?: readonly OfferingsPreviewGroupOverride[] | null;
@@ -19,5 +21,5 @@ type OfferingsPreviewProps = Readonly<{
19
21
  }> | null;
20
22
  wholeSeriesRunEvents?: readonly PublicEvent[] | null;
21
23
  }> & Partial<Record<OfferingsPreviewEventDataKey, readonly PublicEvent[] | null>>;
22
- export declare function OfferingsPreviewNode(props: OfferingsPreviewProps): React.JSX.Element | null;
24
+ export declare function OfferingsPreviewNode(props: OfferingsPreviewProps): React.JSX.Element;
23
25
  export default OfferingsPreviewNode;
@@ -30,6 +30,7 @@ export type ResolverContext = {
30
30
  entriesByIdentifier?: EntryIdentifierMap;
31
31
  pathBase?: string;
32
32
  blockId?: string | null;
33
+ contentVersionId?: string | null;
33
34
  blockKind?: string;
34
35
  blockContent?: unknown;
35
36
  blockBindings?: Record<string, unknown>;
@@ -8,10 +8,6 @@ export { BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, } from
8
8
  export type { DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, } from './DiscountCodeDisclosure';
9
9
  export { ActionRow } from './ActionRow';
10
10
  export type { ActionRowProps } from './ActionRow';
11
- export { BookingOptionCompactRow } from './BookingOptionCompactRow';
12
- export type { BookingOptionCompactRowAction, BookingOptionCompactRowProps, BookingOptionCompactRowViewModel, BookingOptionMetaItem, } from './BookingOptionCompactRow';
13
- export { BookingOptionList } from './BookingOptionList';
14
- export type { BookingOptionGroupViewModel, BookingOptionListProps, } from './BookingOptionList';
15
11
  export { FieldValidationMessage, getFieldValidationControlProps, } from './FieldValidationMessage';
16
12
  export type { FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, } from './FieldValidationMessage';
17
13
  export { FeedbackMessage } from './FeedbackMessage';
@@ -24,8 +20,8 @@ export { ModalShell } from './ModalShell';
24
20
  export type { ModalShellProps } from './ModalShell';
25
21
  export { TabBarFragment } from './TabBarFragment';
26
22
  export { TerminalPanel } from './TerminalPanel';
27
- export type { TerminalPanelProps, TerminalPanelTitleElement } from './TerminalPanel';
23
+ export type { TerminalPanelProps, TerminalPanelTitleElement, } from './TerminalPanel';
28
24
  export { StepIndicator } from './StepIndicator';
29
- export type { StepIndicatorBaseProps, StepIndicatorProps } from './StepIndicator';
25
+ export type { StepIndicatorBaseProps, StepIndicatorProps, } from './StepIndicator';
30
26
  export { RB_OPTION_CARD_CLASSES, SelectableOptionCard, } from './SelectableOptionCard';
31
27
  export type { SelectableOptionCardProps } from './SelectableOptionCard';
@@ -8,5 +8,5 @@ export { DEFAULT_CURRENCY } from './types';
8
8
  export { BOOK_TARGET_PARAMS, buildCheckoutReturnUrls, resolveDedicatedBookingHref, resolveDedicatedBookingPath, resolveDedicatedBookingTarget, formatPrice, scrollToBlock, consumeSearchParam, consumeSearchParams, validateFormData, getStepNumber, } from './utils';
9
9
  export type { DedicatedBookingTarget, UniversalBookingRouteTarget, } from './utils';
10
10
  export { createBodyThemePortalRoot } from './utils';
11
- export { ActionRow, BookingOptionCompactRow, BookingOptionList, CheckIcon, ClockIcon, CrossIcon, BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, RB_OPTION_CARD_CLASSES, SelectableOptionCard, StateIcon, StepIndicator, TerminalPanel, } from './components';
12
- export type { ActionRowProps, SelectableOptionCardProps, BookingOptionCompactRowAction, BookingOptionCompactRowProps, BookingOptionCompactRowViewModel, BookingOptionGroupViewModel, BookingOptionListProps, BookingOptionMetaItem, DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
11
+ export { ActionRow, CheckIcon, ClockIcon, CrossIcon, BLOCK_DISCOUNT_CODE_DISCLOSURE_CLASSES, DiscountCodeDisclosure, FieldValidationMessage, FeedbackMessage, getFieldValidationControlProps, MembershipHero, ModalShell, RB_OPTION_CARD_CLASSES, SelectableOptionCard, StateIcon, StepIndicator, TerminalPanel, } from './components';
12
+ export type { ActionRowProps, SelectableOptionCardProps, DiscountCodeDisclosureProps, DiscountCodeDisclosureSurface, FieldValidationControlInput, FieldValidationControlProps, FieldValidationMessageProps, FeedbackLiveMode, FeedbackMessageProps, FeedbackTone, ModalShellProps, StepIndicatorBaseProps, StepIndicatorProps, TerminalPanelProps, TerminalPanelTitleElement, } from './components';
@@ -1,8 +1,10 @@
1
1
  import { useBlockApi } from "../api";
2
2
  import type { ResolveWaitlistClaimResponse } from "../api/types";
3
3
  export declare function getWaitlistClaimTokenFromUrl(): string | null;
4
+ export declare function getWaitlistClaimEntryIdFromUrl(): string | null;
4
5
  export type UseWaitlistClaimResult = {
5
6
  token: string | null;
7
+ entryId: string | null;
6
8
  claim: ResolveWaitlistClaimResponse | null;
7
9
  error: string | null;
8
10
  loginMessage: string | null;
@@ -6,6 +6,7 @@ export declare const fallbackTransform: TransformDefinition<{
6
6
  }>;
7
7
  export declare const dateFormatShort: TransformDefinition;
8
8
  export declare const arrayLengthTransform: TransformDefinition;
9
+ export declare const booleanNotTransform: TransformDefinition;
9
10
  export declare const jsonArrayTransform: TransformDefinition;
10
11
  export declare const csvTransform: TransformDefinition;
11
12
  declare const marqueeLoopOptionsSchema: z.ZodObject<{
@@ -26,5 +27,9 @@ declare const mapTokenOptionsSchema: z.ZodObject<{
26
27
  * fallback is given, so the style property is simply omitted.
27
28
  */
28
29
  export declare const mapTokenTransform: TransformDefinition<z.infer<typeof mapTokenOptionsSchema>>;
30
+ /** Compare a finite content value without storing derived loader flags. */
31
+ export declare const equalsTransform: TransformDefinition<{
32
+ value: string;
33
+ }>;
29
34
  export declare const formattingTransforms: TransformDefinition[];
30
35
  export {};
@@ -8,6 +8,10 @@ export declare const eventRegistrationErrors: {
8
8
  readonly message: "We’re checking your booking and payment. Please don’t try to book again yet. If you’ve already paid, you don’t need to pay again.";
9
9
  readonly action: "payment-status";
10
10
  };
11
+ readonly paymentProviderUnavailable: {
12
+ readonly message: "We couldn’t reach the payment provider. Please try again in a minute.";
13
+ readonly action: "retry";
14
+ };
11
15
  readonly paymentPageUnavailable: {
12
16
  readonly message: "We couldn’t open the payment page. Please refresh this page and try again. If this keeps happening, contact the organiser for help.";
13
17
  readonly action: "retry";
@@ -56,3 +56,4 @@ export * from './stripeMinimumCharge';
56
56
  export * from './stripeCheckoutReturnUrl';
57
57
  export * from './stateTransitions';
58
58
  export * from './event-registration-errors';
59
+ export { STRIPE_COMMISSION_FREE_REASONS, type StripeCommissionFreeReason } from './stripeCommissionMetadata';