@riverbankcms/sdk 0.139.0 → 0.141.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 (232) hide show
  1. package/README.md +1 -1
  2. package/dist/{PreviewEditorSidebar-BDeenhi3.mjs → PreviewEditorSidebar-Q-fy9GYw.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DSRhgjF5.mjs → PreviewEditorUI-LYGzgk85.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-D2K8GLUG.mjs → PreviewQueryProvider-CN0ewic5.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-CL7wSnYu.mjs → SdkPreviewModeRuntime-CoPYI5Jq.mjs} +90 -50
  6. package/dist/{SiteChromeCustomizeContext-BhDn-5ir.mjs → SiteChromeCustomizeContext-D8LePX8x.mjs} +2731 -1303
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +212 -212
  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 +8 -4
  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 +17 -31
  20. package/dist/_dts/api/src/domainConnection.d.ts +4 -0
  21. package/dist/_dts/api/src/endpoints.d.ts +93 -64
  22. package/dist/_dts/api/src/event-destination-policy.d.ts +2 -1
  23. package/dist/_dts/api/src/footerCompositionContracts.d.ts +25 -0
  24. package/dist/_dts/api/src/footerSettings.d.ts +9 -6
  25. package/dist/_dts/api/src/index.d.ts +6 -7
  26. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  27. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  28. package/dist/_dts/api/src/launchReadiness.d.ts +1 -0
  29. package/dist/_dts/api/src/mailingListIntegration.d.ts +8 -2
  30. package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +1 -1
  31. package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +2 -1
  32. package/dist/_dts/api/src/navigation/types.d.ts +1 -1
  33. package/dist/_dts/api/src/onboarding/confirmationResend.d.ts +25 -0
  34. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +32 -32
  35. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +8 -0
  36. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +1 -0
  37. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +11 -3
  38. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +3 -29
  39. package/dist/_dts/api/src/publicOnboardingAttemptEndpointDefinitions.d.ts +65 -0
  40. package/dist/_dts/api/src/saveOutcome.d.ts +20 -0
  41. package/dist/_dts/api/src/sdkContracts.d.ts +3 -22
  42. package/dist/_dts/api/src/sdkPushContracts.d.ts +18 -0
  43. package/dist/_dts/api/src/sdkThemeWire.d.ts +44 -44
  44. package/dist/_dts/api/src/settings/permissions.d.ts +12 -0
  45. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +10 -29
  46. package/dist/_dts/api/src/siteOnboarding.d.ts +9 -9
  47. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -4
  48. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -1
  49. package/dist/_dts/api/src/siteSettings.d.ts +20 -7
  50. package/dist/_dts/api/src/types.d.ts +77 -77
  51. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +2 -37
  52. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  53. package/dist/_dts/billing/src/plans/types.d.ts +3 -0
  54. package/dist/_dts/billing/src/site-arrangements.d.ts +23 -3
  55. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -4
  56. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +2 -0
  57. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +7 -0
  58. package/dist/_dts/blocks/src/portal/types.d.ts +2 -4
  59. package/dist/_dts/blocks/src/portal/waitlist-types.d.ts +35 -0
  60. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +2 -0
  61. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -0
  62. package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +122 -0
  63. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +2 -1
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/eventSelection.d.ts +11 -0
  65. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +42 -0
  66. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +4 -0
  67. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  68. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
  69. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  70. package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +7 -1
  71. package/dist/_dts/blocks/src/system/data/types.d.ts +9 -0
  72. package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
  73. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +27 -1
  74. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  75. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -28
  76. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  77. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +7 -3
  78. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  79. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -2
  80. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +42 -186
  81. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -93
  82. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +48 -1
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +1 -2
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +2 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +14 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +56 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +4 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.state.d.ts +5 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -8
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +8 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +3 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +10 -3
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +9 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +8 -7
  96. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +14 -7
  97. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +18 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useSettledCommerceView.d.ts +37 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.client.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -6
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +4 -2
  102. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +4 -3
  103. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
  104. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +11 -101
  105. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +7 -2
  106. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +2 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +1 -0
  109. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +1 -0
  110. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -6
  111. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  112. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +2 -0
  113. package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +12 -0
  114. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +4 -0
  115. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -0
  116. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +27 -4
  117. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -1
  118. package/dist/_dts/content-editor/src/hooks/useBlockAutosave.d.ts +3 -1
  119. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +3 -0
  120. package/dist/_dts/core/src/branded.d.ts +0 -8
  121. package/dist/_dts/core/src/index.d.ts +1 -0
  122. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +1 -1
  123. package/dist/_dts/core/src/mailing-list-setup.d.ts +14 -1
  124. package/dist/_dts/core/src/mailing-list-submission.d.ts +7 -27
  125. package/dist/_dts/core/src/participants.d.ts +2 -29
  126. package/dist/_dts/core/src/public-experience.d.ts +4 -0
  127. package/dist/_dts/core/src/public-profile.d.ts +27 -1
  128. package/dist/_dts/core/src/site-route-target.d.ts +9 -2
  129. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +296 -606
  130. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListGlobalSettingsSummary.d.ts +10 -0
  131. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +3 -2
  132. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +3 -2
  133. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +3 -2
  134. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +19 -0
  135. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +27 -1
  136. package/dist/_dts/sdk/src/public-api/contracts.d.ts +14 -20
  137. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -0
  138. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  139. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +7 -1
  140. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +1 -0
  141. package/dist/_dts/sdk/src/version.d.ts +1 -1
  142. package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +17 -1
  143. package/dist/_dts/theme-core/src/accordions/types.d.ts +3 -3
  144. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +17 -0
  145. package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +1 -1
  146. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +16 -0
  147. package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +0 -6
  148. package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +4 -4
  149. package/dist/_dts/theme-core/src/cards/types.d.ts +21 -21
  150. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  151. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +8 -2
  152. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +2 -2
  153. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +54 -12
  154. package/dist/_dts/theme-core/src/index.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  156. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +54 -54
  157. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -4
  158. package/dist/_dts/theme-core/src/schema.d.ts +84 -84
  159. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
  160. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  161. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +77 -0
  162. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  163. package/dist/_dts/theme-core/src/typography/generateTypographyCss.d.ts +2 -2
  164. package/dist/_dts/ui/src/lib/use-delayed-flag.d.ts +9 -0
  165. package/dist/_dts/ui/src/pending-button.d.ts +10 -0
  166. package/dist/client/{BookingConsentAgreement-CZvTDtsK.mjs → BookingConsentAgreement-xJeYNdnb.mjs} +4 -4
  167. package/dist/client/{DiscountCodeDisclosure-D-DsLCMU.mjs → DiscountCodeDisclosure-DdT6uzl9.mjs} +1 -1
  168. package/dist/client/{EventCombined.client-dWqgd5ZO.mjs → EventCombined.client-Cp28uYuM.mjs} +12 -16
  169. package/dist/client/{EventListing.client-BMRa9IYp.mjs → EventListing.client-CD6AJsMr.mjs} +4 -17
  170. package/dist/client/{LeafletStaticMap-D21W9kBZ.mjs → LeafletStaticMap-DBsAi9-e.mjs} +1 -1
  171. package/dist/client/{accordion-FxF_ta47.mjs → accordion-6dwbOKYR.mjs} +1 -1
  172. package/dist/client/{bookingForm-YnwW4TGw.mjs → bookingForm-CZE9_qPQ.mjs} +7 -7
  173. package/dist/client/bookings.mjs +500 -233
  174. package/dist/client/{carousel-vng7fFT5.mjs → carousel-7VHGQARz.mjs} +2 -2
  175. package/dist/client/{carousel.client-59G_WMr4.mjs → carousel.client-DQTjCVQT.mjs} +1 -1
  176. package/dist/client/{cart-DEPDsjNk.mjs → cart-Qg_mvQhh.mjs} +3 -3
  177. package/dist/client/{checkout-CZRWu9rW.mjs → checkout-D84rpgdr.mjs} +3 -3
  178. package/dist/client/{checkoutUrls-BuseL0dw.mjs → checkoutUrls-FL6lRkrt.mjs} +1 -1
  179. package/dist/client/client.mjs +2315 -1017
  180. package/dist/client/{colorStyles-CrxJrPjJ.mjs → colorStyles-3013aRAY.mjs} +3 -1
  181. package/dist/client/{context-DvU_WUmd.mjs → context-Ctp3T0Wr.mjs} +6 -19
  182. package/dist/client/{dates-wnPMiRl5.mjs → dates-DJKFcI_N.mjs} +2 -2
  183. package/dist/client/{eventCalendar-BA3Q5L15.mjs → eventCalendar-CK31z3vs.mjs} +12 -8
  184. package/dist/client/{eventCombined-51wgR-1R.mjs → eventCombined-DiXd-ewn.mjs} +3 -3
  185. package/dist/client/{eventDetails-modaetpm.mjs → eventDetails-CTRgt2DK.mjs} +4 -4
  186. package/dist/client/{eventListing-D8t2J3Kv.mjs → eventListing-Dy9vi_j_.mjs} +3 -3
  187. package/dist/client/{eventRegistration-CYqtkCE_.mjs → eventRegistration-CnalYMr2.mjs} +618 -177
  188. package/dist/client/{form-CBKXN5In.mjs → form-eUiMveTT.mjs} +3 -3
  189. package/dist/client/{headerSection-DylDqNrs.mjs → headerSection-Dy9kQpB1.mjs} +2 -2
  190. package/dist/client/hooks.mjs +692 -212
  191. package/dist/client/{locationMap-CvWrG0vZ.mjs → locationMap-DalCmWU0.mjs} +3 -3
  192. package/dist/client/{media-BOHuueS5.mjs → media-DHpfFwd3.mjs} +1 -1
  193. package/dist/client/{newsletterForm-Btwk70zw.mjs → newsletterForm-SDDPvhS0.mjs} +150 -94
  194. package/dist/client/{pricing-Uzw-GQ6Y.mjs → pricing-OcMz4SnX.mjs} +1 -1
  195. package/dist/client/{productDetail-JLcUYKnd.mjs → productDetail-BQrgHElM.mjs} +3 -3
  196. package/dist/client/{productList-FM0cbUzj.mjs → productList-OnPn_UJj.mjs} +3 -3
  197. package/dist/client/{propsDecoder-DYzafZb2.mjs → propsDecoder-zBdsnS-N.mjs} +168 -32
  198. package/dist/client/rendering/client.mjs +1355 -519
  199. package/dist/client/rendering/islands.mjs +19 -19
  200. package/dist/client/rendering.mjs +2294 -953
  201. package/dist/client/{scrollToBlock-CvXszexS.mjs → scrollToBlock-BNM4Ob2Y.mjs} +28 -11
  202. package/dist/client/{shop-BIcjvy5a.mjs → shop-Bv1fPTwQ.mjs} +6 -6
  203. package/dist/client/{shop-commerce-BZQsy7xw.mjs → shop-commerce-D4KNGaW8.mjs} +7 -7
  204. package/dist/client/{shop-commerce-store-D5V7XAb5.mjs → shop-commerce-store-2N5EV0Rc.mjs} +1 -1
  205. package/dist/client/{shopShared-DowkXevB.mjs → shopShared-DvJGdHTV.mjs} +4 -4
  206. package/dist/client/{useEventFilters-oMoTw_JE.mjs → useEventFilters-BBBvGDHQ.mjs} +19 -13
  207. package/dist/preview-next/before-render.mjs +119 -64
  208. package/dist/preview-next/client/runtime.mjs +4 -4
  209. package/dist/preview-next/editor-chrome.css +4 -8
  210. package/dist/preview-next/keepAlive.mjs +119 -64
  211. package/dist/preview-next/middleware.mjs +119 -64
  212. package/dist/{previewAuthStore-COUyAKaX.mjs → previewAuthStore-Gjb6r6vz.mjs} +119 -64
  213. package/dist/{sdk-runtime-D4k2LSGF.mjs → sdk-runtime-Defnbfzw.mjs} +2 -2
  214. package/dist/{separator-UGtpag4Z.mjs → separator-CZXO3Sb0.mjs} +1 -1
  215. package/dist/server/components.mjs +1170 -384
  216. package/dist/server/config-validation.mjs +560 -105
  217. package/dist/server/config.mjs +564 -109
  218. package/dist/server/data.mjs +688 -212
  219. package/dist/server/index.mjs +126 -66
  220. package/dist/server/next.mjs +1429 -662
  221. package/dist/server/page-converter.mjs +372 -99
  222. package/dist/server/prebuild.mjs +1 -1
  223. package/dist/server/rendering/server.mjs +1624 -817
  224. package/dist/server/rendering.mjs +1200 -391
  225. package/dist/server/routing.mjs +767 -247
  226. package/dist/server/server.mjs +715 -276
  227. package/dist/server/theme-bridge.mjs +475 -110
  228. package/dist/server/theme.mjs +9 -3
  229. package/dist/styles/index.css +265 -45
  230. package/package.json +1 -1
  231. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionCompactRow.d.ts +0 -29
  232. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingOptionList.d.ts +0 -13
@@ -1,6 +1,9 @@
1
1
  import type { Brand, SiteId } from './branded';
2
- import type { BrevoAccountId, BrevoConfirmationTemplateId, BrevoConnectionId, BrevoListId, MailchimpAccountId, MailchimpAudienceId, MailchimpConnectionId, NewsletterListId } from './mailing-list-identifiers';
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';
3
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;
4
7
  export type NativeMailingListTopicId = NewsletterListId;
5
8
  export type MailingListSetupRevision = Brand<number, 'MailingListSetupRevision'>;
6
9
  export type MailingListProfileField = 'name' | 'first_name' | 'last_name' | 'company' | 'phone';
@@ -22,8 +25,15 @@ export type MailingListGlobalForm = Readonly<{
22
25
  fields: MailingListGlobalFields;
23
26
  includeOptionalPhone: boolean;
24
27
  buttonLabel: string;
28
+ successMessage: string;
25
29
  privacyNote: string | null;
26
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.";
27
37
  export type ToggleConfirmation = Readonly<{
28
38
  tag: 'off';
29
39
  }> | Readonly<{
@@ -126,4 +136,7 @@ export type MailingListProviderScope = Readonly<{
126
136
  provider: 'brevo';
127
137
  accountId: BrevoAccountId;
128
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;
129
142
  export declare function countDefaultMailingListPlacements(placementModes: readonly ('default' | 'custom')[]): number;
@@ -34,23 +34,22 @@ export type MailingListSignupSource = Readonly<{
34
34
  export type MailingListSignupSourceRef = Readonly<{
35
35
  tag: 'block_ref';
36
36
  blockId: MailingListBlockId;
37
+ contentVersionId: ContentVersionId;
37
38
  }> | Readonly<{
38
39
  tag: 'signed_source_ref';
39
40
  token: MailingListSignedSourceToken;
40
41
  }>;
41
42
  /** Source identity signed into managed-footer and SDK-footer form tokens. */
42
43
  export type MailingListSignupTokenSource = Readonly<{
43
- kind: 'block';
44
- blockId: MailingListBlockId;
45
- }> | Readonly<{
46
44
  kind: 'footer-composition';
47
45
  sectionId: FooterModuleId;
46
+ revision: MailingListFooterRevision;
48
47
  }> | Readonly<{
49
48
  kind: 'sdk-footer-block';
50
49
  blockId: MailingListSdkFooterBlockId;
51
50
  contentHash: MailingListSdkContentHash;
52
51
  }>;
53
- export declare function buildMailingListSignupBlockSourceRef(blockId: unknown): MailingListSignupSourceRef | null;
52
+ export declare function buildMailingListSignupBlockSourceRef(blockId: unknown, contentVersionId: unknown): MailingListSignupSourceRef | null;
54
53
  type MailingListSignupProfileBase = Readonly<{
55
54
  email: NormalizedSubscriberEmail;
56
55
  phone: Readonly<{
@@ -108,27 +107,6 @@ type ResolvedMailingListSignupIntentBase = Readonly<{
108
107
  source: MailingListSignupSource;
109
108
  consentedAt: string;
110
109
  }>;
111
- type ResolvedMailingListFormProfile = Readonly<{
112
- formPreset: 'emailOnly';
113
- profile: Extract<MailingListSignupProfile, {
114
- preset: 'emailOnly';
115
- }>;
116
- }> | Readonly<{
117
- formPreset: 'emailName';
118
- profile: Extract<MailingListSignupProfile, {
119
- preset: 'emailName';
120
- }>;
121
- }> | Readonly<{
122
- formPreset: 'emailFirstLast';
123
- profile: Extract<MailingListSignupProfile, {
124
- preset: 'emailFirstLast';
125
- }>;
126
- }> | Readonly<{
127
- formPreset: 'emailNameCompany';
128
- profile: Extract<MailingListSignupProfile, {
129
- preset: 'emailNameCompany';
130
- }>;
131
- }>;
132
110
  type ResolvedMailingListProviderIntent = Readonly<{
133
111
  provider: 'native';
134
112
  target: Extract<ResolvedMailingListTarget, {
@@ -150,7 +128,9 @@ type ResolvedMailingListProviderIntent = Readonly<{
150
128
  }>;
151
129
  confirmation: BrevoConfirmation;
152
130
  }>;
153
- export type ResolvedMailingListSignupIntent = ResolvedMailingListSignupIntentBase & ResolvedMailingListFormProfile & ResolvedMailingListProviderIntent;
131
+ export type ResolvedMailingListSignupIntent = ResolvedMailingListSignupIntentBase & Readonly<{
132
+ profile: MailingListSignupProfile;
133
+ }> & ResolvedMailingListProviderIntent;
154
134
  export type MailingListProviderAcknowledgement = Readonly<{
155
135
  tag: 'subscribed';
156
136
  }> | Readonly<{
@@ -199,7 +179,7 @@ export type MailingListPublicSignupResponse = Readonly<{
199
179
  reason: 'profile_rejected';
200
180
  }> | Readonly<{
201
181
  tag: 'unavailable';
202
- reason: 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | 'subscriber_suppressed' | 'rate_limited' | 'temporarily_unavailable';
182
+ reason: 'configuration_unavailable' | 'stale_configuration' | 'authentication_failed' | 'target_unavailable' | 'rate_limited' | 'temporarily_unavailable';
203
183
  }> | Readonly<{
204
184
  tag: 'uncertain';
205
185
  reason: 'deadline_exceeded' | 'network_interrupted';
@@ -1,4 +1,4 @@
1
- import { type AppointmentId, type AttendeeId, type Brand, type CustomerId, type EventSeriesRegistrationId, type EventAttendeeGuestId, type ParticipantId } from './branded';
1
+ import { type AppointmentId, type AttendeeId, type Brand, type CustomerId, type EventSeriesRegistrationId, type ParticipantId } from './branded';
2
2
  import { type Result } from './result';
3
3
  export type ParticipantEmail = Brand<string, 'ParticipantEmail'>;
4
4
  export type ParticipantSlotKey = Brand<string, 'ParticipantSlotKey'>;
@@ -14,26 +14,6 @@ export type ParticipantCountParseError = {
14
14
  } | {
15
15
  kind: 'non_positive_participant_count';
16
16
  };
17
- export type ProvisionalParticipantIdentity = Readonly<{
18
- kind: 'event_guest';
19
- eventAttendeeGuestId: EventAttendeeGuestId;
20
- slotKey: ParticipantSlotKey;
21
- }>;
22
- export type ProvisionalParticipantIdentityMetadata = Readonly<{
23
- kind: 'event_guest';
24
- source: 'event_guest_backfill';
25
- eventAttendeeGuestId: EventAttendeeGuestId;
26
- slotKey: ParticipantSlotKey;
27
- }>;
28
- export type ProvisionalParticipantIdentityParseError = {
29
- kind: 'not_an_object';
30
- } | {
31
- kind: 'unsupported_identity_kind';
32
- } | {
33
- kind: 'missing_event_attendee_guest_id';
34
- } | {
35
- kind: 'missing_slot_key';
36
- };
37
17
  export declare function unsafeAsParticipantSlotKey(value: string): ParticipantSlotKey;
38
18
  export declare function unsafeAsParticipantCount(value: number): ParticipantCount;
39
19
  /**
@@ -45,12 +25,6 @@ export declare function unsafeAsParticipantCount(value: number): ParticipantCoun
45
25
  export declare function normalizeParticipantEmail(value: string | null | undefined): ParticipantEmail | null;
46
26
  export declare function parseParticipantEmail(value: string | null | undefined): Result<ParticipantEmail, ParticipantEmailNormalizationError>;
47
27
  export declare function parseParticipantCount(value: number): Result<ParticipantCount, ParticipantCountParseError>;
48
- export declare function provisionalEventGuestParticipantIdentity(input: Readonly<{
49
- eventAttendeeGuestId: EventAttendeeGuestId;
50
- slotKey: ParticipantSlotKey;
51
- }>): ProvisionalParticipantIdentity;
52
- export declare function encodeProvisionalParticipantIdentity(identity: ProvisionalParticipantIdentity): ProvisionalParticipantIdentityMetadata;
53
- export declare function parseProvisionalParticipantIdentity(value: unknown): Result<ProvisionalParticipantIdentity, ProvisionalParticipantIdentityParseError>;
54
28
  export declare function deriveParticipantDisplayLabel(input: Readonly<{
55
29
  displayName: string | null;
56
30
  emailNormalized: ParticipantEmail | null;
@@ -100,7 +74,7 @@ export type ParticipantParticipation = {
100
74
  } | {
101
75
  kind: 'event_guest';
102
76
  attendeeId: AttendeeId;
103
- guestId: EventAttendeeGuestId;
77
+ guestIndex: number;
104
78
  } | {
105
79
  kind: 'event_series_registration';
106
80
  registrationId: EventSeriesRegistrationId;
@@ -177,7 +151,6 @@ export type EventRegistrationParticipantProjectionInput = Readonly<{
177
151
  customerId: CustomerId;
178
152
  };
179
153
  guests: readonly (ParticipantContactInput & {
180
- guestId: EventAttendeeGuestId;
181
154
  guestIndex: number;
182
155
  })[];
183
156
  }>;
@@ -0,0 +1,4 @@
1
+ export declare const PUBLIC_EXPERIENCES: readonly ["website", "hosted_booking"];
2
+ export type PublicExperience = (typeof PUBLIC_EXPERIENCES)[number];
3
+ export declare function isPublicExperience(value: unknown): value is PublicExperience;
4
+ export declare function parsePublicExperience(value: unknown): PublicExperience | null;
@@ -62,14 +62,35 @@ export type PublicSocialLink = Readonly<{
62
62
  * `shown`.
63
63
  */
64
64
  export type PublicAddressVisibility = 'shown' | 'hidden';
65
+ /**
66
+ * Whether each contact method is published on the site. Both default to shown,
67
+ * because that is what a saved contact has always meant. A hidden email can
68
+ * still be the privacy policy's contact: hiding it withholds it from the page,
69
+ * not from the policy.
70
+ */
71
+ export type PublicContactVisibility = Readonly<{
72
+ phone: PublicAddressVisibility;
73
+ email: PublicAddressVisibility;
74
+ }>;
65
75
  export type PublicProfile = Readonly<{
66
76
  contact: PublicContactDetails | null;
77
+ contactVisibility: PublicContactVisibility;
67
78
  openingHours: WeeklyOpeningHours | null;
68
79
  socialLinks: readonly PublicSocialLink[];
69
80
  addressVisibility: PublicAddressVisibility;
81
+ /**
82
+ * Whether the business runs from a place people come to, which is what the
83
+ * address and opening hours belong to.
84
+ *
85
+ * Null means nobody has answered yet, and it stays null rather than
86
+ * defaulting to false: a site that already has a saved address plainly has
87
+ * premises, and only the caller holding that address can say so. Resolve it
88
+ * with `resolvePublicProfilePremises`.
89
+ */
90
+ premises: boolean | null;
70
91
  }>;
71
92
  export type PublicProfileParseError = Readonly<{
72
- code: 'invalid_shape' | 'contact_method_required' | 'invalid_email' | 'invalid_phone' | 'invalid_timezone' | 'invalid_weekdays' | 'invalid_time' | 'invalid_interval' | 'overlapping_intervals' | 'invalid_social_link' | 'invalid_address_visibility' | 'duplicate_social_link_id';
93
+ code: 'invalid_shape' | 'contact_method_required' | 'invalid_email' | 'invalid_phone' | 'invalid_timezone' | 'invalid_weekdays' | 'invalid_time' | 'invalid_interval' | 'overlapping_intervals' | 'invalid_social_link' | 'invalid_address_visibility' | 'invalid_contact_visibility' | 'invalid_premises' | 'duplicate_social_link_id';
73
94
  path: string;
74
95
  message: string;
75
96
  }>;
@@ -78,4 +99,9 @@ export declare function parsePublicProfileTimeZone(value: unknown): Result<Publi
78
99
  export declare function parseWeeklyOpeningHours(value: unknown): Result<WeeklyOpeningHours, PublicProfileParseError>;
79
100
  export declare function parsePublicSocialLinks(value: unknown): Result<readonly PublicSocialLink[], PublicProfileParseError>;
80
101
  export declare function parsePublicProfile(value: unknown): Result<PublicProfile, PublicProfileParseError>;
102
+ /**
103
+ * Resolves whether a site has premises, falling back to whether it already
104
+ * holds a business address for every profile saved before the switch existed.
105
+ */
106
+ export declare function resolvePublicProfilePremises(profile: PublicProfile, hasBusinessAddress: boolean): boolean;
81
107
  export declare function emptyPublicProfile(): PublicProfile;
@@ -1,6 +1,6 @@
1
- import { type BrandedIdParseError, type ContentEntryId, type PageId, type PageSurfaceId } from './branded';
1
+ import { type BrandedIdParseError, type ContentEntryId, type AppointmentServiceId, type PageId, type PageSurfaceId } from './branded';
2
2
  import { type Result } from './result';
3
- export declare const SITE_ROUTE_NODE_TYPES: readonly ["page", "content_entry", "page_surface"];
3
+ export declare const SITE_ROUTE_NODE_TYPES: readonly ["page", "content_entry", "page_surface", "appointment_service"];
4
4
  export type SiteRouteNodeType = (typeof SITE_ROUTE_NODE_TYPES)[number];
5
5
  export type SiteRouteTarget = Readonly<{
6
6
  kind: 'page';
@@ -11,6 +11,9 @@ export type SiteRouteTarget = Readonly<{
11
11
  }> | Readonly<{
12
12
  kind: 'pageSurface';
13
13
  surfaceId: PageSurfaceId;
14
+ }> | Readonly<{
15
+ kind: 'appointmentService';
16
+ serviceId: AppointmentServiceId;
14
17
  }>;
15
18
  export type SiteRouteTargetParseError = Readonly<{
16
19
  kind: 'invalid-node-type';
@@ -27,6 +30,9 @@ export type SiteRouteTargetParseError = Readonly<{
27
30
  }> | Readonly<{
28
31
  kind: 'invalid-page-surface-id';
29
32
  error: BrandedIdParseError;
33
+ }> | Readonly<{
34
+ kind: 'invalid-appointment-service-id';
35
+ error: BrandedIdParseError;
30
36
  }>;
31
37
  export declare function parseSiteRouteTarget(input: Readonly<{
32
38
  nodeType: unknown;
@@ -37,4 +43,5 @@ export declare function foldSiteRouteTarget<TValue>(target: SiteRouteTarget, cas
37
43
  page: (pageId: PageId) => TValue;
38
44
  contentEntry: (entryId: ContentEntryId) => TValue;
39
45
  pageSurface: (surfaceId: PageSurfaceId) => TValue;
46
+ appointmentService: (serviceId: AppointmentServiceId) => TValue;
40
47
  }>): TValue;