@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
@@ -1,16 +1,11 @@
1
+ import { type StripeBookingCommissionOrderItemMetadata } from './stripeCommissionMetadata';
2
+ export { parseStripeBookingCommissionMetadata, type StripeBookingCommissionOrderItemMetadata } from './stripeCommissionMetadata';
1
3
  import { type BrandedIdParseError, type CheckoutLineId, type RetiredCourseId, type CustomerId, type DatedOfferingCapacityHoldAuditRef, type DatedOfferingCapacityHoldId, type EventSeriesId, type EventInstanceId, type OccurrenceId, type PassId, type PricingOptionId, type Result } from '../../../core/src/index';
2
4
  import type { OrderItemKind } from './orderTypes';
3
5
  export type CheckoutLineMetadata = Readonly<{
4
6
  checkoutLineId?: CheckoutLineId;
5
7
  displayName?: string;
6
8
  }>;
7
- export type StripeBookingCommissionOrderItemMetadata = Readonly<{
8
- stripeBookingCommission?: Readonly<{
9
- kind: 'application_fee_amount';
10
- amountCents: number;
11
- percent: number;
12
- }>;
13
- }>;
14
9
  export type SlidingScaleOrderItemPricingSnapshot = Readonly<{
15
10
  kind: 'sliding_scale';
16
11
  version: 1;
@@ -31,8 +26,17 @@ export declare const DATED_OFFERING_ORDER_ITEM_ENGINE_METADATA_KEYS: {
31
26
  readonly courseId: "courseId";
32
27
  readonly customerId: "customerId";
33
28
  readonly eventSeriesId: "eventSeriesId";
34
- readonly nonCashProjectionIdempotencyKey: "datedOfferingNonCashProjectionIdempotencyKey";
29
+ readonly settlementKind: "datedOfferingEngineSettlementKind";
35
30
  };
31
+ /**
32
+ * How a shared whole-series registration order item was settled.
33
+ *
34
+ * A checkout item is the one that consumed a capacity hold and carries its
35
+ * ids; a non-cash item names its settlement outright, because there is no hold
36
+ * to identify it by. The registration itself is `event_series_registration_id`
37
+ * on the row.
38
+ */
39
+ export type DatedOfferingOrderItemSettlementKind = 'non_cash_registration';
36
40
  export type DatedOfferingOrderItemEngineMetadata = Readonly<{
37
41
  datedOfferingEngineContractVersion: 'shared_v1';
38
42
  datedOfferingEngineRouteKind: 'shared_whole_series_registration';
@@ -44,10 +48,24 @@ export type DatedOfferingOrderItemEngineMetadata = Readonly<{
44
48
  export type DatedOfferingNonCashOrderItemEngineMetadata = Readonly<{
45
49
  datedOfferingEngineContractVersion: 'shared_v1';
46
50
  datedOfferingEngineRouteKind: 'shared_whole_series_registration';
47
- datedOfferingNonCashProjectionIdempotencyKey: string;
51
+ datedOfferingEngineSettlementKind: DatedOfferingOrderItemSettlementKind;
48
52
  customerId: CustomerId;
49
53
  eventSeriesId: EventSeriesId;
50
54
  }>;
55
+ /**
56
+ * What each arm forbids the other from carrying.
57
+ *
58
+ * Both arms share the same version and route literals, so without these a
59
+ * hybrid carrying hold identity *and* a settlement kind satisfies the union —
60
+ * exactly the object both parsers below reject.
61
+ */
62
+ type NoDatedOfferingSettlementKind = Readonly<{
63
+ datedOfferingEngineSettlementKind?: never;
64
+ }>;
65
+ type NoDatedOfferingCapacityHold = Readonly<{
66
+ datedOfferingCapacityHoldId?: never;
67
+ datedOfferingCapacityHoldAuditRef?: never;
68
+ }>;
51
69
  export type DatedOfferingOrderItemEngineMetadataParseError = Readonly<{
52
70
  kind: 'invalid_engine_contract';
53
71
  }> | Readonly<{
@@ -71,11 +89,11 @@ export type DatedOfferingMetadataRefParseError = Readonly<{
71
89
  kind: 'invalid_uuid';
72
90
  }>;
73
91
  type LegacyDatedOfferingOrderItemEngineMetadata = Readonly<{
74
- [TKey in keyof DatedOfferingOrderItemEngineMetadata]?: never;
92
+ [TKey in keyof DatedOfferingOrderItemEngineMetadata | keyof DatedOfferingNonCashOrderItemEngineMetadata]?: never;
75
93
  }>;
76
94
  export type EventSeriesRegistrationEngineMetadata = (LegacyDatedOfferingOrderItemEngineMetadata & Readonly<{
77
95
  courseId: RetiredCourseId;
78
- }>) | DatedOfferingOrderItemEngineMetadata | DatedOfferingNonCashOrderItemEngineMetadata;
96
+ }>) | (DatedOfferingOrderItemEngineMetadata & NoDatedOfferingSettlementKind) | (DatedOfferingNonCashOrderItemEngineMetadata & NoDatedOfferingCapacityHold);
79
97
  export type EventTicketOrderItemMetadata = CheckoutLineMetadata & StripeBookingCommissionOrderItemMetadata & BookableOrderItemPricingMetadata & Readonly<{
80
98
  eventSeriesId: string;
81
99
  occurrenceId: OccurrenceId;
@@ -87,7 +105,7 @@ export type EventTicketOrderItemMetadata = CheckoutLineMetadata & StripeBookingC
87
105
  attendeeEmail: string;
88
106
  attendeeName: string;
89
107
  }>;
90
- export type ProductOrderItemMetadata = CheckoutLineMetadata & Readonly<{
108
+ export type ProductOrderItemMetadata = CheckoutLineMetadata & StripeBookingCommissionOrderItemMetadata & Readonly<{
91
109
  productType?: 'physical' | 'digital';
92
110
  requiresShipping?: boolean;
93
111
  }>;
@@ -101,7 +119,7 @@ export type PassBundleFulfillmentMetadata = Readonly<{
101
119
  }>;
102
120
  export type CreditProductUseCase = 'event_pass' | 'appointment_package';
103
121
  export declare function normalizeOrderCreditProductUseCase(value: unknown): Result<CreditProductUseCase, string>;
104
- export type PassOrderItemMetadata = CheckoutLineMetadata & Readonly<{
122
+ export type PassOrderItemMetadata = CheckoutLineMetadata & StripeBookingCommissionOrderItemMetadata & Readonly<{
105
123
  passId: PassId;
106
124
  productUseCase?: CreditProductUseCase;
107
125
  creditsTotal: number;
@@ -131,7 +149,7 @@ export type MembershipBundleFulfillmentMetadata = Readonly<{
131
149
  attendeeName: string;
132
150
  membershipName: string;
133
151
  }>;
134
- export type MembershipOrderItemMetadata = CheckoutLineMetadata & Readonly<{
152
+ export type MembershipOrderItemMetadata = CheckoutLineMetadata & StripeBookingCommissionOrderItemMetadata & Readonly<{
135
153
  bundleFulfillment?: MembershipBundleFulfillmentMetadata;
136
154
  }>;
137
155
  export type OrderItemMetadataByKind = {
@@ -143,7 +161,6 @@ export type OrderItemMetadataByKind = {
143
161
  membership: MembershipOrderItemMetadata;
144
162
  };
145
163
  export type OrderItemMetadata = OrderItemMetadataByKind[OrderItemKind];
146
- export declare function parseStripeBookingCommissionMetadata(raw: Record<string, unknown>): Result<StripeBookingCommissionOrderItemMetadata, string>;
147
164
  export declare function parseBookableOrderItemPricingMetadata(raw: Record<string, unknown>): Result<BookableOrderItemPricingMetadata, string>;
148
165
  export declare function parseOrderItemMetadata(kind: 'event_ticket', raw: unknown): Result<EventTicketOrderItemMetadata, string>;
149
166
  export declare function parseOrderItemMetadata(kind: 'product', raw: unknown): Result<ProductOrderItemMetadata, string>;
@@ -151,4 +168,3 @@ export declare function parseOrderItemMetadata(kind: 'pass', raw: unknown): Resu
151
168
  export declare function parseOrderItemMetadata(kind: 'event_series_registration', raw: unknown): Result<EventSeriesRegistrationOrderItemMetadata, string>;
152
169
  export declare function parseOrderItemMetadata(kind: 'appointment', raw: unknown): Result<AppointmentOrderItemMetadata, string>;
153
170
  export declare function parseOrderItemMetadata(kind: 'membership', raw: unknown): Result<MembershipOrderItemMetadata, string>;
154
- export {};
@@ -0,0 +1,34 @@
1
+ import { type Result } from '../../../core/src/index';
2
+ import { z } from 'zod';
3
+ /** Reasons are payment evidence, not an independent pricing policy. */
4
+ export declare const STRIPE_COMMISSION_FREE_REASONS: readonly ["managed_billing", "no_commission_plan", "billing_evidence_invalid", "fee_rounds_to_zero", "non_commissionable_scope", "payment_not_stripe"];
5
+ export type StripeCommissionFreeReason = (typeof STRIPE_COMMISSION_FREE_REASONS)[number];
6
+ declare const commissionEvidenceSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7
+ currency: z.ZodOptional<z.ZodString>;
8
+ sourcePlanId: z.ZodOptional<z.ZodString>;
9
+ kind: z.ZodLiteral<"commission_free">;
10
+ reason: z.ZodEnum<{
11
+ managed_billing: "managed_billing";
12
+ no_commission_plan: "no_commission_plan";
13
+ billing_evidence_invalid: "billing_evidence_invalid";
14
+ fee_rounds_to_zero: "fee_rounds_to_zero";
15
+ non_commissionable_scope: "non_commissionable_scope";
16
+ payment_not_stripe: "payment_not_stripe";
17
+ }>;
18
+ }, z.core.$strip>, z.ZodObject<{
19
+ currency: z.ZodOptional<z.ZodString>;
20
+ sourcePlanId: z.ZodOptional<z.ZodString>;
21
+ kind: z.ZodLiteral<"application_fee_amount">;
22
+ amountCents: z.ZodNumber;
23
+ percent: z.ZodNumber;
24
+ }, z.core.$strip>, z.ZodObject<{
25
+ currency: z.ZodOptional<z.ZodString>;
26
+ sourcePlanId: z.ZodOptional<z.ZodString>;
27
+ kind: z.ZodLiteral<"application_fee_percent">;
28
+ percent: z.ZodNumber;
29
+ }, z.core.$strip>], "kind">;
30
+ export type StripeBookingCommissionOrderItemMetadata = Readonly<{
31
+ stripeBookingCommission?: z.infer<typeof commissionEvidenceSchema>;
32
+ }>;
33
+ export declare function parseStripeBookingCommissionMetadata(raw: Record<string, unknown>): Result<StripeBookingCommissionOrderItemMetadata, string>;
34
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { type ContentEntrySnapshot, type ContentTypeSchema, type ToolbarState } from '../../../content-model/src/index';
2
- import type { EditorBlockId } from '../../../core/src/index';
2
+ import type { EditorBlockId, MailingListProviderScope } from '../../../core/src/index';
3
3
  import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
4
4
  import { type ReactNode } from 'react';
5
5
  import { type PublishOptions } from '../hooks/useEntryActions';
@@ -90,6 +90,7 @@ type BaseInternalProps = {
90
90
  onEntryUpdated?: (response: unknown) => void;
91
91
  historyShortcutsEnabled?: boolean;
92
92
  resolveBlockManifest?: ResolveBlockManifest;
93
+ getExpectedMailingListProviderScope?: () => MailingListProviderScope | null;
93
94
  };
94
95
  type EditorOwnerServiceProps = Readonly<{
95
96
  owner: {
@@ -1,26 +1,15 @@
1
- import { type FooterEngagementSection, type Result } from '../../core/src/index';
1
+ import { type FooterEngagementSection, type MailingListPlacementTargeting, type Result } from '../../core/src/index';
2
2
  type FooterEngagementDraftBase = Readonly<{
3
3
  treatment: FooterEngagementSection['treatment'];
4
4
  heading: string;
5
5
  intro: string;
6
6
  }>;
7
- type FooterMailingCopyDraft = Readonly<{
8
- buttonLabel: string;
9
- successMessage: string;
10
- privacyNote: string;
11
- }>;
12
7
  export type FooterEngagementDraft = (FooterEngagementDraftBase & Readonly<{
13
8
  kind: 'standard-contact';
14
9
  formId: string;
15
- }>) | (FooterEngagementDraftBase & FooterMailingCopyDraft & Readonly<{
10
+ }>) | (FooterEngagementDraftBase & Readonly<{
16
11
  kind: 'mailing-list';
17
- destination: Readonly<{
18
- provider: 'riverbank';
19
- listId: string;
20
- }> | Readonly<{
21
- provider: 'mailchimp';
22
- audienceId: string;
23
- }>;
12
+ targeting: MailingListPlacementTargeting;
24
13
  }>);
25
14
  export type FooterEngagementDraftEvent = Readonly<{
26
15
  type: 'select-kind';
@@ -38,20 +27,13 @@ export type FooterEngagementDraftEvent = Readonly<{
38
27
  type: 'set-form';
39
28
  formId: string;
40
29
  }> | Readonly<{
41
- type: 'select-mailing-provider';
42
- provider: 'riverbank' | 'mailchimp';
43
- }> | Readonly<{
44
- type: 'set-mailing-destination';
45
- id: string;
46
- }> | Readonly<{
47
- type: 'set-mailing-copy';
48
- field: keyof FooterMailingCopyDraft;
49
- value: string;
30
+ type: 'set-mailing-targeting';
31
+ targeting: MailingListPlacementTargeting;
50
32
  }>;
51
33
  export declare function reduceFooterEngagementDraft(draft: FooterEngagementDraft, event: FooterEngagementDraftEvent): FooterEngagementDraft;
52
34
  export declare function createFooterEngagementDraft(section: FooterEngagementSection | null): FooterEngagementDraft;
53
35
  type DraftParseError = Readonly<{
54
36
  message: string;
55
37
  }>;
56
- export declare function parseFooterEngagementDraft(draft: FooterEngagementDraft, currentId: string, mailchimpConnectionId: string): Result<FooterEngagementSection, DraftParseError>;
38
+ export declare function parseFooterEngagementDraft(draft: FooterEngagementDraft, currentId: string): Result<FooterEngagementSection, DraftParseError>;
57
39
  export {};
@@ -1,3 +1,4 @@
1
+ import { type MailingListProviderScope } from '../../../core/src/index';
1
2
  import type { ApiClient } from '../services';
2
3
  import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
4
  export type BlockAutosaveOptions = {
@@ -10,6 +11,7 @@ export type BlockAutosaveOptions = {
10
11
  /** Whether this entry has a route (pages have blocks, content entries don't) */
11
12
  hasRoute: boolean;
12
13
  owner: BlockAutosaveOwner;
14
+ getExpectedMailingListProviderScope?: () => MailingListProviderScope | null;
13
15
  };
14
16
  export type BlockAutosaveOwner = Readonly<{
15
17
  kind: 'contentEntry';
@@ -32,4 +34,4 @@ export declare function planBlockSaveRevisionForOwner(owner: BlockAutosaveOwner,
32
34
  *
33
35
  * Only enabled for pages (hasRoute=true), as content entries don't have blocks.
34
36
  */
35
- export declare function useBlockAutosave({ uiStore, apiClient, siteId, hasRoute, owner, }: BlockAutosaveOptions): import("./useSimpleAutosave").AutosaveHandle;
37
+ export declare function useBlockAutosave({ uiStore, apiClient, siteId, hasRoute, owner, getExpectedMailingListProviderScope, }: BlockAutosaveOptions): import("./useSimpleAutosave").AutosaveHandle;
@@ -32,8 +32,10 @@ export declare function useFooterComposerState({ apiClient, canEdit, initialTarg
32
32
  compositionSnapshot: FooterCompositionSnapshot | null;
33
33
  engagementOptions: Readonly<{
34
34
  forms: readonly import("../../api/src/footerSettings").FooterFormSummary[];
35
- newsletterLists: readonly import("../../api/src/index").NewsletterListRecord[];
36
- mailchimp: import("../../api/src/index").ListMailchimpAudiencesResponse;
35
+ mailingList: import("../../core/src/index").MailingListRuntimeContext;
36
+ expectedMailingListProviderScope: import("../../core/src/index").MailingListProviderScope | null;
37
+ confirmation: import("../../core/src/index").ConfiguredMailingListProvider["confirmation"] | null;
38
+ canManageMailingListSetup: boolean;
37
39
  }> | null;
38
40
  load: () => Promise<void>;
39
41
  loadError: string | null;
@@ -60,7 +60,6 @@ export type BookingSessionId = Brand<string, 'BookingSessionId'>;
60
60
  export type DatedOfferingCapacityHoldId = Brand<string, 'DatedOfferingCapacityHoldId'>;
61
61
  export type DatedOfferingCapacityHoldAuditRef = Brand<string, 'DatedOfferingCapacityHoldAuditRef'>;
62
62
  export type DatedOfferingRevocationAuditEventId = Brand<string, 'DatedOfferingRevocationAuditEventId'>;
63
- export type DatedOfferingNonCashProjectionClaimToken = Brand<string, 'DatedOfferingNonCashProjectionClaimToken'>;
64
63
  export type DatedOfferingWaitlistCapacityEffectId = Brand<string, 'DatedOfferingWaitlistCapacityEffectId'>;
65
64
  export type DatedOfferingWaitlistCapacityEffectClaimToken = Brand<string, 'DatedOfferingWaitlistCapacityEffectClaimToken'>;
66
65
  export type DatedOfferingRunCancellationOperationId = Brand<string, 'DatedOfferingRunCancellationOperationId'>;
@@ -99,7 +98,6 @@ export type EventRegistrationCommandId = Brand<string, 'EventRegistrationCommand
99
98
  * is meant.
100
99
  */
101
100
  export type EventRegistrationCommandRowId = Brand<string, 'EventRegistrationCommandRowId'>;
102
- export type EventRegistrationProjectionClaimToken = Brand<string, 'EventRegistrationProjectionClaimToken'>;
103
101
  export type CustomerPassId = Brand<string, 'CustomerPassId'>;
104
102
  export type CustomerMembershipId = Brand<string, 'CustomerMembershipId'>;
105
103
  export type AppointmentId = Brand<string, 'AppointmentId'>;
@@ -146,7 +144,6 @@ export type ParticipantId = Brand<string, 'ParticipantId'>;
146
144
  export type ParticipantParticipationId = Brand<string, 'ParticipantParticipationId'>;
147
145
  export type ParticipantRosterAssertionJobId = Brand<string, 'ParticipantRosterAssertionJobId'>;
148
146
  export type ParticipantBookingQuestionsTaskId = Brand<string, 'ParticipantBookingQuestionsTaskId'>;
149
- export type EventAttendeeGuestId = Brand<string, 'EventAttendeeGuestId'>;
150
147
  export type PersonRecordId = Brand<string, 'PersonRecordId'>;
151
148
  export type EncounterRecordId = Brand<string, 'EncounterRecordId'>;
152
149
  export type RecordEntryId = Brand<string, 'RecordEntryId'>;
@@ -212,7 +209,6 @@ export declare const unsafeAsBookingSessionId: (id: string) => BookingSessionId;
212
209
  export declare const unsafeAsDatedOfferingCapacityHoldId: (value: string) => DatedOfferingCapacityHoldId;
213
210
  export declare const unsafeAsDatedOfferingCapacityHoldAuditRef: (value: string) => DatedOfferingCapacityHoldAuditRef;
214
211
  export declare const unsafeAsDatedOfferingRevocationAuditEventId: (value: string) => DatedOfferingRevocationAuditEventId;
215
- export declare const unsafeAsDatedOfferingNonCashProjectionClaimToken: (value: string) => DatedOfferingNonCashProjectionClaimToken;
216
212
  export declare const unsafeAsDatedOfferingWaitlistCapacityEffectId: (value: string) => DatedOfferingWaitlistCapacityEffectId;
217
213
  export declare const unsafeAsDatedOfferingWaitlistCapacityEffectClaimToken: (value: string) => DatedOfferingWaitlistCapacityEffectClaimToken;
218
214
  export declare const unsafeAsDatedOfferingRunCancellationOperationId: (value: string) => DatedOfferingRunCancellationOperationId;
@@ -236,7 +232,6 @@ export declare const unsafeAsCheckoutLineId: (id: string) => CheckoutLineId;
236
232
  export declare const unsafeAsAttendeeId: (id: string) => AttendeeId;
237
233
  export declare const unsafeAsEventRegistrationCommandId: (id: string) => EventRegistrationCommandId;
238
234
  export declare const unsafeAsEventRegistrationCommandRowId: (id: string) => EventRegistrationCommandRowId;
239
- export declare const unsafeAsEventRegistrationProjectionClaimToken: (id: string) => EventRegistrationProjectionClaimToken;
240
235
  export declare const unsafeAsCustomerPassId: (id: string) => CustomerPassId;
241
236
  export declare const unsafeAsCustomerMembershipId: (id: string) => CustomerMembershipId;
242
237
  export declare const unsafeAsAppointmentId: (id: string) => AppointmentId;
@@ -282,7 +277,6 @@ export declare const unsafeAsParticipantId: (id: string) => ParticipantId;
282
277
  export declare const unsafeAsParticipantParticipationId: (id: string) => ParticipantParticipationId;
283
278
  export declare const unsafeAsParticipantRosterAssertionJobId: (id: string) => ParticipantRosterAssertionJobId;
284
279
  export declare const unsafeAsParticipantBookingQuestionsTaskId: (id: string) => ParticipantBookingQuestionsTaskId;
285
- export declare const unsafeAsEventAttendeeGuestId: (id: string) => EventAttendeeGuestId;
286
280
  export declare const unsafeAsPersonRecordId: (id: string) => PersonRecordId;
287
281
  export declare const unsafeAsEncounterRecordId: (id: string) => EncounterRecordId;
288
282
  export declare const unsafeAsRecordEntryId: (id: string) => RecordEntryId;
@@ -318,11 +312,9 @@ export declare const parseAppointmentReservationRunId: (value: unknown) => Resul
318
312
  export declare const parseAttendeeId: (value: unknown) => Result<AttendeeId, BrandedIdParseError>;
319
313
  export declare const parseEventRegistrationCommandId: (value: unknown) => Result<EventRegistrationCommandId, BrandedIdParseError>;
320
314
  export declare const parseEventRegistrationCommandRowId: (value: unknown) => Result<EventRegistrationCommandRowId, BrandedIdParseError>;
321
- export declare const parseEventRegistrationProjectionClaimToken: (value: unknown) => Result<EventRegistrationProjectionClaimToken, BrandedIdParseError>;
322
315
  export declare const parseDatedOfferingCapacityHoldId: (value: unknown) => Result<DatedOfferingCapacityHoldId, BrandedIdParseError>;
323
316
  export declare const parseDatedOfferingCapacityHoldAuditRef: (value: unknown) => Result<DatedOfferingCapacityHoldAuditRef, BrandedIdParseError>;
324
317
  export declare const parseDatedOfferingRevocationAuditEventId: (value: unknown) => Result<DatedOfferingRevocationAuditEventId, BrandedIdParseError>;
325
- export declare const parseDatedOfferingNonCashProjectionClaimToken: (value: unknown) => Result<DatedOfferingNonCashProjectionClaimToken, BrandedIdParseError>;
326
318
  export declare const parseDatedOfferingWaitlistCapacityEffectId: (value: unknown) => Result<DatedOfferingWaitlistCapacityEffectId, BrandedIdParseError>;
327
319
  export declare const parseDatedOfferingWaitlistCapacityEffectClaimToken: (value: unknown) => Result<DatedOfferingWaitlistCapacityEffectClaimToken, BrandedIdParseError>;
328
320
  export declare const parseDatedOfferingRunCancellationOperationId: (value: unknown) => Result<DatedOfferingRunCancellationOperationId, BrandedIdParseError>;
@@ -1,5 +1,5 @@
1
1
  import { type FormId } from './branded';
2
- import { type NewsletterSignupAuthoringDestination } from './newsletter-signup-destination';
2
+ import type { MailingListPlacementTargeting } from './mailing-list-targeting';
3
3
  import { type Result } from './result';
4
4
  import type { FooterCompositionError, FooterModuleId } from './footer-composition-types';
5
5
  export type FooterEngagementTreatment = 'integrated' | 'separate-row';
@@ -9,12 +9,8 @@ export type FooterEngagementSource = Readonly<{
9
9
  intro: string | null;
10
10
  }> | Readonly<{
11
11
  kind: 'mailing-list';
12
- destination: NewsletterSignupAuthoringDestination;
12
+ targeting: MailingListPlacementTargeting;
13
13
  intro: string | null;
14
- buttonLabel: string;
15
- successMessage: string;
16
- privacyNote: string | null;
17
- fieldPreset: 'emailOnly';
18
14
  }>;
19
15
  export type FooterEngagementSection = Readonly<{
20
16
  id: FooterModuleId;
@@ -35,13 +35,20 @@ export * from './participants';
35
35
  export * from './participant-identity';
36
36
  export * from './public-url-validation';
37
37
  export * from './public-profile';
38
+ export * from './public-experience';
38
39
  export * from './rich-text';
39
40
  export * from './footer-composition';
40
41
  export * from './footer-navigation-layout';
41
42
  export * from './footer-arrangement';
42
43
  export * from './footer-composition-types';
43
44
  export * from './footer-engagement';
44
- export * from './newsletter-signup-destination';
45
+ export * from './mailing-list-identifiers';
46
+ export * from './mailing-list-setup';
47
+ export * from './mailing-list-setup-parser';
48
+ export * from './mailing-list-targeting';
49
+ export * from './mailing-list-runtime';
50
+ export * from './mailing-list-targeting-parser';
51
+ export * from './mailing-list-submission';
45
52
  export * from './number-input';
46
53
  export * from './field-errors';
47
54
  export * from './form-submission-preview';
@@ -63,5 +70,7 @@ export { disabledSelection, enabledSelection, plannerNoChange, plannerPatch, pla
63
70
  export type { DisabledSelection, EnabledSelection, OptionalSelection, PlannerNoChange, PlannerPatch, PlannerUpdate, PlanningClock, PlanningDateInput, PlanningTimeOptions, } from './planner';
64
71
  export { isValidBookingTimeZone, parseBookingTimeZone, type BookingTimeZone, type BookingTimeZoneParseError, } from './booking-time-zone';
65
72
  export { CANCELLED_SESSION_STATUS, firstLiveRunSessionStartMs, isWholeSeriesRegistrationOpen, orderedLiveRunSessions, resolveWholeSeriesBookingPhase, resolveWholeSeriesRunLifecycle, type WholeSeriesBookingPhase, type WholeSeriesRunLifecycle, type WholeSeriesScheduleSession, } from './whole-series-run-schedule';
73
+ export * from './public-read-cache-contract';
66
74
  export * from './booking-verticals';
67
75
  export * from './event-series-behaviour';
76
+ export * from './navigation-locations';
@@ -0,0 +1,21 @@
1
+ import type { Brand } from './branded';
2
+ export type NewsletterListId = Brand<string, 'NewsletterListId'>;
3
+ export type MailchimpConnectionId = Brand<string, 'MailchimpConnectionId'>;
4
+ export type MailchimpAccountId = Brand<string, 'MailchimpAccountId'>;
5
+ export type MailchimpAudienceId = Brand<string, 'MailchimpAudienceId'>;
6
+ export type MailchimpInterestId = Brand<string, 'MailchimpInterestId'>;
7
+ export type MailchimpTagName = Brand<string, 'MailchimpTagName'>;
8
+ export type BrevoConnectionId = Brand<string, 'BrevoConnectionId'>;
9
+ export type BrevoAccountId = Brand<string, 'BrevoAccountId'>;
10
+ export type BrevoListId = Brand<number, 'BrevoListId'>;
11
+ export type BrevoConfirmationTemplateId = Brand<number, 'BrevoConfirmationTemplateId'>;
12
+ export declare function parseNewsletterListId(value: unknown): NewsletterListId | null;
13
+ export declare function parseMailchimpConnectionId(value: unknown): MailchimpConnectionId | null;
14
+ export declare function parseMailchimpAccountId(value: unknown): MailchimpAccountId | null;
15
+ export declare function parseMailchimpAudienceId(value: unknown): MailchimpAudienceId | null;
16
+ export declare function parseMailchimpInterestId(value: unknown): MailchimpInterestId | null;
17
+ export declare function parseMailchimpTagName(value: unknown): MailchimpTagName | null;
18
+ export declare function parseBrevoConnectionId(value: unknown): BrevoConnectionId | null;
19
+ export declare function parseBrevoAccountId(value: unknown): BrevoAccountId | null;
20
+ export declare function parseBrevoListId(value: unknown): BrevoListId | null;
21
+ export declare function parseBrevoConfirmationTemplateId(value: unknown): BrevoConfirmationTemplateId | null;
@@ -0,0 +1,42 @@
1
+ import type { BrevoListId, MailchimpAudienceId, MailchimpInterestId } from './mailing-list-identifiers';
2
+ import { type Result } from './result';
3
+ import type { MailingListGlobalForm, MailingListSetupRevision, NativeMailingListTopicId } from './mailing-list-setup';
4
+ export type MailingListRuntimeContext = Readonly<{
5
+ tag: 'not_configured';
6
+ }> | Readonly<{
7
+ tag: 'configured';
8
+ revision: MailingListSetupRevision;
9
+ form: MailingListGlobalForm;
10
+ provider: MailingListRuntimeProvider;
11
+ }>;
12
+ export type MailingListRuntimeProvider = Readonly<{
13
+ provider: 'native';
14
+ defaultTopicId: NativeMailingListTopicId;
15
+ topics: readonly Readonly<{
16
+ id: NativeMailingListTopicId;
17
+ name: string;
18
+ }>[];
19
+ }> | Readonly<{
20
+ provider: 'brevo';
21
+ defaultListId: BrevoListId;
22
+ lists: readonly Readonly<{
23
+ id: BrevoListId;
24
+ name: string;
25
+ }>[];
26
+ }> | Readonly<{
27
+ provider: 'mailchimp';
28
+ defaultAudienceId: MailchimpAudienceId;
29
+ audiences: readonly Readonly<{
30
+ id: MailchimpAudienceId;
31
+ name: string;
32
+ interests: readonly Readonly<{
33
+ id: MailchimpInterestId;
34
+ name: string;
35
+ categoryName: string;
36
+ }>[];
37
+ }>[];
38
+ }>;
39
+ export type MailingListRuntimeContextParseError = Readonly<{
40
+ tag: 'invalid_mailing_list_runtime_context';
41
+ }>;
42
+ export declare function parseMailingListRuntimeContext(value: unknown): Result<MailingListRuntimeContext, MailingListRuntimeContextParseError>;
@@ -0,0 +1,14 @@
1
+ import type { ConfiguredMailingListProvider, MailingListGlobalForm, MailingListSetupRevision, MailingListSiteSetup } from './mailing-list-setup';
2
+ import { type Result } from './result';
3
+ export type MailingListSetupParseError = Readonly<{
4
+ tag: 'invalid_mailing_list_setup';
5
+ field: 'shape' | 'tag' | 'siteId' | 'revision' | 'form' | 'provider' | 'connectionId' | 'accountId' | 'defaultTargetId' | 'confirmation';
6
+ }>;
7
+ export type MailingListGlobalFormParseError = Readonly<{
8
+ tag: 'invalid_mailing_list_global_form';
9
+ field: 'shape' | 'fields' | 'includeOptionalPhone' | 'buttonLabel' | 'successMessage' | 'privacyNote';
10
+ }>;
11
+ export declare function parseMailingListGlobalForm(value: unknown): Result<MailingListGlobalForm, MailingListGlobalFormParseError>;
12
+ export declare function parseMailingListSiteSetup(value: unknown): Result<MailingListSiteSetup, MailingListSetupParseError>;
13
+ export declare function parseConfiguredMailingListProvider(value: unknown): Result<ConfiguredMailingListProvider, MailingListSetupParseError>;
14
+ export declare function parseMailingListSetupRevision(value: unknown): MailingListSetupRevision | null;
@@ -0,0 +1,142 @@
1
+ import type { Brand, SiteId } from './branded';
2
+ import { type BrevoAccountId, type BrevoConfirmationTemplateId, type BrevoConnectionId, type BrevoListId, type MailchimpAccountId, type MailchimpAudienceId, type MailchimpConnectionId, type NewsletterListId } from './mailing-list-identifiers';
3
+ import { type Result } from './result';
4
+ export type MailingListProvider = 'native' | 'mailchimp' | 'brevo';
5
+ /** The name shown to people for each provider; the native one is the product brand. */
6
+ export declare function mailingListProviderName(provider: MailingListProvider): string;
7
+ export type NativeMailingListTopicId = NewsletterListId;
8
+ export type MailingListSetupRevision = Brand<number, 'MailingListSetupRevision'>;
9
+ export type MailingListProfileField = 'name' | 'first_name' | 'last_name' | 'company' | 'phone';
10
+ export type MailingListGlobalFields = Readonly<{
11
+ preset: 'emailOnly';
12
+ }> | Readonly<{
13
+ preset: 'emailName';
14
+ name: 'required' | 'optional';
15
+ }> | Readonly<{
16
+ preset: 'emailFirstLast';
17
+ firstName: 'required' | 'optional';
18
+ lastName: 'required' | 'optional';
19
+ }> | Readonly<{
20
+ preset: 'emailNameCompany';
21
+ name: 'required' | 'optional';
22
+ company: 'required' | 'optional';
23
+ }>;
24
+ export type MailingListGlobalForm = Readonly<{
25
+ fields: MailingListGlobalFields;
26
+ includeOptionalPhone: boolean;
27
+ buttonLabel: string;
28
+ successMessage: string;
29
+ privacyNote: string | null;
30
+ }>;
31
+ export declare const DEFAULT_MAILING_LIST_SUCCESS_MESSAGE = "Thanks \u2014 you're on the list.";
32
+ /**
33
+ * Seeded into a new setup so every signup form carries a preferences/unsubscribe
34
+ * reassurance out of the box. Administrators can edit or clear it.
35
+ */
36
+ export declare const DEFAULT_MAILING_LIST_PRIVACY_NOTE = "Change your preferences or unsubscribe at any time.";
37
+ export type ToggleConfirmation = Readonly<{
38
+ tag: 'off';
39
+ }> | Readonly<{
40
+ tag: 'on';
41
+ }>;
42
+ export type BrevoConfirmation = Readonly<{
43
+ tag: 'off';
44
+ }> | Readonly<{
45
+ tag: 'on';
46
+ templateId: BrevoConfirmationTemplateId;
47
+ redirectUrl: string;
48
+ }>;
49
+ export type NativeMailingListSetup = Readonly<{
50
+ provider: 'native';
51
+ defaultTopicId: NativeMailingListTopicId;
52
+ confirmation: ToggleConfirmation;
53
+ }>;
54
+ export type MailchimpMailingListSetup = Readonly<{
55
+ provider: 'mailchimp';
56
+ connectionId: MailchimpConnectionId;
57
+ accountId: MailchimpAccountId;
58
+ defaultAudienceId: MailchimpAudienceId;
59
+ confirmation: ToggleConfirmation;
60
+ }>;
61
+ export type BrevoMailingListSetup = Readonly<{
62
+ provider: 'brevo';
63
+ connectionId: BrevoConnectionId;
64
+ accountId: BrevoAccountId;
65
+ defaultListId: BrevoListId;
66
+ confirmation: BrevoConfirmation;
67
+ }>;
68
+ export type ConfiguredMailingListProvider = NativeMailingListSetup | MailchimpMailingListSetup | BrevoMailingListSetup;
69
+ export type MailingListSiteSetup = Readonly<{
70
+ tag: 'not_configured';
71
+ siteId: SiteId;
72
+ }> | Readonly<{
73
+ tag: 'configured';
74
+ siteId: SiteId;
75
+ revision: MailingListSetupRevision;
76
+ form: MailingListGlobalForm;
77
+ provider: ConfiguredMailingListProvider;
78
+ }>;
79
+ export type MailingListDestinationFieldRequirements = Readonly<{
80
+ destinationKey: string;
81
+ requiredFields: readonly MailingListProfileField[];
82
+ acceptedFields: readonly MailingListProfileField[];
83
+ }>;
84
+ export type MailingListFieldCompatibilityIssue = Readonly<{
85
+ tag: 'destination_requires_uncollected_field';
86
+ destinationKey: string;
87
+ field: MailingListProfileField;
88
+ }> | Readonly<{
89
+ tag: 'destination_requires_site_required_field';
90
+ destinationKey: string;
91
+ field: MailingListProfileField;
92
+ }> | Readonly<{
93
+ tag: 'destination_rejects_required_site_field';
94
+ destinationKey: string;
95
+ field: MailingListProfileField;
96
+ }> | Readonly<{
97
+ tag: 'destination_rejects_collected_site_field';
98
+ destinationKey: string;
99
+ field: MailingListProfileField;
100
+ }>;
101
+ export type MailingListFieldCompatibilityPlan = Readonly<{
102
+ tag: 'compatible';
103
+ }> | Readonly<{
104
+ tag: 'blocked';
105
+ issues: readonly [
106
+ MailingListFieldCompatibilityIssue,
107
+ ...MailingListFieldCompatibilityIssue[]
108
+ ];
109
+ }>;
110
+ export declare function planMailingListFieldCompatibility(input: Readonly<{
111
+ form: MailingListGlobalForm;
112
+ destinations: readonly MailingListDestinationFieldRequirements[];
113
+ }>): MailingListFieldCompatibilityPlan;
114
+ export type MailingListSetupSwitchPlan = Readonly<{
115
+ tag: 'activate';
116
+ affectedPlacementCount: 0;
117
+ }> | Readonly<{
118
+ tag: 'update_same_scope';
119
+ affectedPlacementCount: number;
120
+ }> | Readonly<{
121
+ tag: 'replace_scope';
122
+ affectedPlacementCount: number;
123
+ }>;
124
+ export declare function planMailingListSetupSwitch(input: Readonly<{
125
+ previousScope: MailingListProviderScope | null;
126
+ nextScope: MailingListProviderScope;
127
+ placementModes: readonly ('default' | 'custom')[];
128
+ defaultChanged: boolean;
129
+ }>): MailingListSetupSwitchPlan;
130
+ export type MailingListProviderScope = Readonly<{
131
+ provider: 'native';
132
+ }> | Readonly<{
133
+ provider: 'mailchimp';
134
+ accountId: MailchimpAccountId;
135
+ }> | Readonly<{
136
+ provider: 'brevo';
137
+ accountId: BrevoAccountId;
138
+ }>;
139
+ export declare function mailingListProviderScopeFromConfigured(provider: ConfiguredMailingListProvider): MailingListProviderScope;
140
+ export declare function parseMailingListProviderScope(value: unknown): Result<MailingListProviderScope, 'invalid_mailing_list_provider_scope'>;
141
+ export declare function sameMailingListProviderScope(previous: MailingListProviderScope, next: MailingListProviderScope): boolean;
142
+ export declare function countDefaultMailingListPlacements(placementModes: readonly ('default' | 'custom')[]): number;