@riverbankcms/sdk 0.138.0 → 0.139.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 (208) hide show
  1. package/README.md +11 -15
  2. package/dist/{PreviewEditorSidebar-BVPur_CU.mjs → PreviewEditorSidebar-BDeenhi3.mjs} +4 -4
  3. package/dist/{PreviewEditorUI-DLhWX8oh.mjs → PreviewEditorUI-DSRhgjF5.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BguJY1SW.mjs → PreviewQueryProvider-D2K8GLUG.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-Tda6qw4z.mjs → SdkPreviewModeRuntime-CL7wSnYu.mjs} +47 -27
  6. package/dist/{SiteChromeCustomizeContext-BHFgMjde.mjs → SiteChromeCustomizeContext-BhDn-5ir.mjs} +7771 -5863
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +99 -330
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +9 -30
  9. package/dist/_dts/api/src/billing.d.ts +10 -3
  10. package/dist/_dts/api/src/contentRuntime.d.ts +8 -1
  11. package/dist/_dts/api/src/endpoints.d.ts +182 -103
  12. package/dist/_dts/api/src/footerSettings.d.ts +2 -5
  13. package/dist/_dts/api/src/index.d.ts +11 -9
  14. package/dist/_dts/api/src/mailchimpIntegration.d.ts +2 -59
  15. package/dist/_dts/api/src/mailingListIntegration.d.ts +117 -0
  16. package/dist/_dts/api/src/navigation/locations.d.ts +1 -0
  17. package/dist/_dts/api/src/navigation.d.ts +1 -26
  18. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +109 -2
  19. package/dist/_dts/api/src/onboarding/surfaceData.d.ts +185 -0
  20. package/dist/_dts/api/src/privacyPolicy.d.ts +74 -2
  21. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +6 -6
  22. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +1 -1
  23. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +2 -4
  24. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +10 -24
  25. package/dist/_dts/api/src/publicReadEndpointDefinitions.d.ts +73 -0
  26. package/dist/_dts/api/src/schemas/site-api-keys.d.ts +1 -1
  27. package/dist/_dts/api/src/sdkContracts.d.ts +2 -10
  28. package/dist/_dts/api/src/sdkThemeWire.d.ts +2 -2
  29. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +0 -29
  30. package/dist/_dts/api/src/siteOnboarding.d.ts +91 -228
  31. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -9
  32. package/dist/_dts/api/src/siteSettings.d.ts +20 -1
  33. package/dist/_dts/api/src/types.d.ts +5 -4
  34. package/dist/_dts/billing/src/membership/index.d.ts +14 -7
  35. package/dist/_dts/billing/src/plans/display.d.ts +15 -0
  36. package/dist/_dts/billing/src/plans/registry.d.ts +2 -0
  37. package/dist/_dts/billing/src/plans/standing.d.ts +19 -0
  38. package/dist/_dts/billing/src/plans/types.d.ts +1 -7
  39. package/dist/_dts/billing/src/subscriptions/evidence.d.ts +12 -0
  40. package/dist/_dts/billing/src/subscriptions/standingEvidence.d.ts +31 -0
  41. package/dist/_dts/billing/src/subscriptions/store.d.ts +23 -5
  42. package/dist/_dts/blocks/src/PageRenderer.d.ts +6 -15
  43. package/dist/_dts/blocks/src/client.d.ts +1 -1
  44. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +32 -16
  45. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +4 -0
  46. package/dist/_dts/blocks/src/pageRenderingMode.d.ts +12 -6
  47. package/dist/_dts/blocks/src/system/blocks/appointment-services.d.ts +11 -0
  48. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +39 -66
  49. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +39 -114
  50. package/dist/_dts/blocks/src/system/blocks/offerings-preview/catalogue.d.ts +18 -0
  51. package/dist/_dts/blocks/src/system/blocks/offerings-preview/fields.d.ts +2 -0
  52. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +4 -0
  53. package/dist/_dts/blocks/src/system/blocks/site-footer-runtime.d.ts +7 -13
  54. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -2
  56. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  57. package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +2 -74
  58. package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +33 -100
  59. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +5 -15
  60. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -24
  61. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -12
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +3 -0
  63. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarToday.d.ts +22 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +51 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -1
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +28 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/bookability.d.ts +9 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +14 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/duration.d.ts +2 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +4 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/location.d.ts +2 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/quickDates.d.ts +16 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/AgendaEventCard.d.ts +9 -1
  76. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayCell.d.ts +2 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/CalendarDayHeaders.d.ts +4 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DayEventsModal.d.ts +2 -1
  79. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +5 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -1
  81. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventQuickDates.d.ts +15 -0
  82. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +7 -3
  83. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekTimetableView.d.ts +1 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +2 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/timetableModel.d.ts +1 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/useHydrationReady.d.ts +6 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +56 -33
  89. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.submission.d.ts +3 -3
  90. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +13 -31
  91. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-catalogue.d.ts +14 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview-content.d.ts +23 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +4 -2
  94. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +5 -0
  95. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  96. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +5 -12
  97. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +34 -0
  98. package/dist/_dts/content-editor/src/footerEngagementDraft.d.ts +6 -24
  99. package/dist/_dts/content-editor/src/useFooterComposerState.d.ts +1 -2
  100. package/dist/_dts/core/src/footer-engagement.d.ts +2 -6
  101. package/dist/_dts/core/src/index.d.ts +9 -1
  102. package/dist/_dts/core/src/mailing-list-identifiers.d.ts +21 -0
  103. package/dist/_dts/core/src/mailing-list-runtime.d.ts +42 -0
  104. package/dist/_dts/core/src/mailing-list-setup-parser.d.ts +14 -0
  105. package/dist/_dts/core/src/mailing-list-setup.d.ts +129 -0
  106. package/dist/_dts/core/src/mailing-list-submission.d.ts +244 -0
  107. package/dist/_dts/core/src/mailing-list-targeting-parser.d.ts +12 -0
  108. package/dist/_dts/core/src/mailing-list-targeting.d.ts +93 -0
  109. package/dist/_dts/core/src/navigation-locations.d.ts +28 -0
  110. package/dist/_dts/core/src/public-profile.d.ts +9 -1
  111. package/dist/_dts/core/src/public-read-cache-contract.d.ts +45 -0
  112. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +529 -373
  113. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +11 -0
  115. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/context.d.ts +13 -0
  116. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/index.d.ts +3 -0
  117. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/loaders.d.ts +6 -0
  118. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -0
  119. package/dist/_dts/sdk/src/client/publicAppointmentReadOperations.d.ts +12 -0
  120. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +2 -1
  121. package/dist/_dts/sdk/src/client/publicLoaderCacheAccess.d.ts +11 -4
  122. package/dist/_dts/sdk/src/config/content-types.d.ts +3 -13
  123. package/dist/_dts/sdk/src/config/content-validation.d.ts +5 -8
  124. package/dist/_dts/sdk/src/constants.d.ts +3 -3
  125. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  126. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +12 -31
  127. package/dist/_dts/sdk/src/navigation/index.d.ts +11 -29
  128. package/dist/_dts/sdk/src/next/index.d.ts +4 -4
  129. package/dist/_dts/sdk/src/prebuild/types.d.ts +1 -5
  130. package/dist/_dts/sdk/src/public-api/contracts.d.ts +33 -16
  131. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -0
  132. package/dist/_dts/sdk/src/rendering/client.d.ts +3 -20
  133. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -0
  134. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +4 -0
  135. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +1 -0
  136. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  137. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  138. package/dist/_dts/sdk/src/version.d.ts +1 -1
  139. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  140. package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +41 -0
  141. package/dist/_dts/theme-core/src/index.d.ts +1 -0
  142. package/dist/_dts/theme-core/src/runtime/buildThemeRuntime.d.ts +0 -1
  143. package/dist/_dts/theme-core/src/tokens/tokens.d.ts +7 -0
  144. package/dist/_dts/ui/src/badge.d.ts +1 -1
  145. package/dist/_dts/ui/src/callout.d.ts +1 -1
  146. package/dist/client/{BookingConsentAgreement-DQUik1Mx.mjs → BookingConsentAgreement-CZvTDtsK.mjs} +2 -2
  147. package/dist/client/{DiscountCodeDisclosure-CU67Q4vH.mjs → DiscountCodeDisclosure-D-DsLCMU.mjs} +1 -1
  148. package/dist/client/{EventCombined.client-a02TXUgg.mjs → EventCombined.client-dWqgd5ZO.mjs} +443 -199
  149. package/dist/client/{EventListing.client-99qx7jFl.mjs → EventListing.client-BMRa9IYp.mjs} +2 -2
  150. package/dist/client/{LeafletStaticMap-CWzcq73L.mjs → LeafletStaticMap-D21W9kBZ.mjs} +1 -1
  151. package/dist/client/{accordion-D1nb3-Oj.mjs → accordion-FxF_ta47.mjs} +1 -1
  152. package/dist/client/{bookingForm-BGrmLhaO.mjs → bookingForm-YnwW4TGw.mjs} +5 -5
  153. package/dist/client/bookings.mjs +43 -2
  154. package/dist/client/{carousel-DSmOx3ad.mjs → carousel-vng7fFT5.mjs} +1 -1
  155. package/dist/client/{cart-COWeOIUk.mjs → cart-DEPDsjNk.mjs} +3 -3
  156. package/dist/client/{checkout-CeysaIJK.mjs → checkout-CZRWu9rW.mjs} +3 -3
  157. package/dist/client/client.mjs +3331 -1407
  158. package/dist/client/{context-DBzX85Xc.mjs → context-DvU_WUmd.mjs} +4 -3
  159. package/dist/client/{dates-DCYhZBlW.mjs → dates-wnPMiRl5.mjs} +21 -3
  160. package/dist/client/{eventCalendar-BgsN73Ul.mjs → eventCalendar-BA3Q5L15.mjs} +80 -78
  161. package/dist/client/{eventCombined-DcZQAMQP.mjs → eventCombined-51wgR-1R.mjs} +3 -3
  162. package/dist/client/{eventDetails-BWwGJ54l.mjs → eventDetails-modaetpm.mjs} +4 -4
  163. package/dist/client/{eventListing-DqYqV8vp.mjs → eventListing-D8t2J3Kv.mjs} +3 -3
  164. package/dist/client/{eventRegistration-DQGDgu_e.mjs → eventRegistration-CYqtkCE_.mjs} +49 -9
  165. package/dist/client/{form-ClfpasVT.mjs → form-CBKXN5In.mjs} +2 -2
  166. package/dist/client/{headerSection-BuOMe98N.mjs → headerSection-DylDqNrs.mjs} +2 -2
  167. package/dist/client/hooks.mjs +1259 -555
  168. package/dist/client/{locationMap-CEqu_sfa.mjs → locationMap-CvWrG0vZ.mjs} +2 -2
  169. package/dist/client/{newsletterForm-IbrHjMxy.mjs → newsletterForm-Btwk70zw.mjs} +117 -38
  170. package/dist/client/{pricing-xj7MPZlK.mjs → pricing-Uzw-GQ6Y.mjs} +1 -1
  171. package/dist/client/{productDetail-vxqTt5Xj.mjs → productDetail-JLcUYKnd.mjs} +3 -3
  172. package/dist/client/{productList-OTdZu8sb.mjs → productList-FM0cbUzj.mjs} +3 -3
  173. package/dist/client/{propsDecoder-CY9gGEF7.mjs → propsDecoder-DYzafZb2.mjs} +592 -152
  174. package/dist/client/rendering/client.mjs +2259 -835
  175. package/dist/client/rendering/islands.mjs +17 -17
  176. package/dist/client/rendering.mjs +3308 -1236
  177. package/dist/client/{scrollToBlock--BFV6kl-.mjs → scrollToBlock-CvXszexS.mjs} +1 -1
  178. package/dist/client/{shop-CP4YbDL9.mjs → shop-BIcjvy5a.mjs} +6 -6
  179. package/dist/client/{shop-commerce-APs4XBXE.mjs → shop-commerce-BZQsy7xw.mjs} +5 -5
  180. package/dist/client/{shop-commerce-store-CAVLxLFr.mjs → shop-commerce-store-D5V7XAb5.mjs} +1 -1
  181. package/dist/client/{shopShared-BnSRrwXI.mjs → shopShared-DowkXevB.mjs} +3 -3
  182. package/dist/client/{useEventFilters-1a1by4c8.mjs → useEventFilters-oMoTw_JE.mjs} +56 -9
  183. package/dist/preview-next/before-render.mjs +238 -111
  184. package/dist/preview-next/client/runtime.mjs +4 -4
  185. package/dist/preview-next/keepAlive.mjs +238 -111
  186. package/dist/preview-next/middleware.mjs +238 -111
  187. package/dist/{previewAuthStore-BkEgnYPP.mjs → previewAuthStore-COUyAKaX.mjs} +238 -111
  188. package/dist/{sdk-runtime-DwGfsT0S.mjs → sdk-runtime-D4k2LSGF.mjs} +2 -2
  189. package/dist/{separator-BeqDLneQ.mjs → separator-UGtpag4Z.mjs} +1 -1
  190. package/dist/server/components.mjs +2697 -1023
  191. package/dist/server/config-validation.mjs +2424 -1720
  192. package/dist/server/config.mjs +2429 -1724
  193. package/dist/server/data.mjs +1164 -454
  194. package/dist/server/index.mjs +364 -280
  195. package/dist/server/navigation.mjs +16 -47
  196. package/dist/server/next.mjs +2915 -1380
  197. package/dist/server/page-converter.mjs +969 -522
  198. package/dist/server/prebuild.mjs +2 -3
  199. package/dist/server/rendering/server.mjs +2704 -1030
  200. package/dist/server/rendering.mjs +2742 -1063
  201. package/dist/server/routing.mjs +1386 -595
  202. package/dist/server/server.mjs +2878 -2324
  203. package/dist/server/theme-bridge.mjs +292 -24
  204. package/dist/styles/index.css +289 -25
  205. package/package.json +1 -1
  206. package/dist/_dts/api/src/navigation/identity.d.ts +0 -59
  207. package/dist/_dts/blocks/src/system/blocks/newsletter-signup-destination.d.ts +0 -291
  208. package/dist/_dts/core/src/newsletter-signup-destination.d.ts +0 -38
@@ -1,9 +1,70 @@
1
1
  export type SiteLegalJurisdiction = 'UK' | 'US' | 'EU' | 'CA' | 'AU' | 'OTHER';
2
+ /**
3
+ * Where a privacy identity field gets its value.
4
+ *
5
+ * `public` reads the site's own public business name or contact email at
6
+ * request time, so changing the public value changes the policy. `custom`
7
+ * uses the value saved on the legal profile.
8
+ */
9
+ export type SiteLegalIdentitySource = 'public' | 'custom';
2
10
  export type SiteLegalProfilePayload = {
3
11
  legalEntityName: string | null;
4
12
  privacyContactEmail: string | null;
5
13
  jurisdiction: SiteLegalJurisdiction;
14
+ legalEntityNameSource: SiteLegalIdentitySource;
15
+ privacyContactEmailSource: SiteLegalIdentitySource;
16
+ /**
17
+ * Whether the site serves its privacy policy. Absent on every profile saved
18
+ * before this flag existed, and absent reads as false, so no site publishes
19
+ * a policy page until an administrator turns it on.
20
+ */
21
+ privacyPolicyPublished: boolean;
6
22
  };
23
+ /**
24
+ * A legal profile saved before the source flags existed carries values an
25
+ * administrator typed by hand, so a saved value is an override and only an
26
+ * empty one falls back to the public value.
27
+ */
28
+ export declare function resolveLegalIdentitySource(source: SiteLegalIdentitySource | null | undefined, savedValue: string | null): SiteLegalIdentitySource;
29
+ export type ResolvedSitePrivacyIdentity = {
30
+ entityName: string | null;
31
+ contactEmail: string | null;
32
+ jurisdiction: SiteLegalJurisdiction;
33
+ entityNameSource: SiteLegalIdentitySource;
34
+ contactEmailSource: SiteLegalIdentitySource;
35
+ };
36
+ /**
37
+ * Resolves the identity the privacy policy speaks in, reading the public
38
+ * business name and contact email wherever the profile defers to them.
39
+ *
40
+ * Nothing is copied between the two stores: a profile that defers resolves
41
+ * afresh on every read, so a site that renames itself does not have a stale
42
+ * name in its policy.
43
+ */
44
+ export declare function resolveSitePrivacyIdentity(input: {
45
+ legalProfile: SiteLegalProfilePayload;
46
+ publicBusinessName: string | null;
47
+ publicContactEmail: string | null;
48
+ }): ResolvedSitePrivacyIdentity;
49
+ /**
50
+ * A policy can only name a data controller once an entity name resolves.
51
+ * The contact email is not required: the policy has a standing fallback that
52
+ * points at the contact details published on the site.
53
+ */
54
+ export declare function isSitePrivacyIdentityReady(identity: ResolvedSitePrivacyIdentity): boolean;
55
+ /**
56
+ * EU member states, used both to place a site in the EU privacy jurisdiction
57
+ * and to seed the shop's default shipping countries.
58
+ */
59
+ export declare const EU_MEMBER_COUNTRIES: readonly ["AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE"];
60
+ /**
61
+ * Maps an ISO 3166-1 alpha-2 country code to a privacy jurisdiction.
62
+ *
63
+ * Onboarding collects alpha-2, so the United Kingdom arrives as `GB` rather
64
+ * than `UK`. An unrecognised or absent code is `OTHER`, which has its own
65
+ * policy wording rather than a wrong regulator.
66
+ */
67
+ export declare function mapCountryToLegalJurisdiction(countryCode: string | null | undefined): SiteLegalJurisdiction;
7
68
  export type SitePrivacyPolicyCapabilities = {
8
69
  usesNecessaryCookies: boolean;
9
70
  usesAnalyticsCookies: boolean;
@@ -42,8 +103,14 @@ export type SensitiveClientRecordsSettings = {
42
103
  acceptedConfirmationKeys: SensitiveClientRecordsConfirmationKey[];
43
104
  disableRequiresSupport: boolean;
44
105
  };
106
+ /**
107
+ * What a client may send for the legal profile. The source and publication
108
+ * flags are optional so a caller that has no control for them (and any client
109
+ * written before they existed) leaves them to be derived from the values.
110
+ */
111
+ export type SiteLegalProfileInput = Omit<SiteLegalProfilePayload, 'legalEntityNameSource' | 'privacyContactEmailSource' | 'privacyPolicyPublished'> & Partial<Pick<SiteLegalProfilePayload, 'legalEntityNameSource' | 'privacyContactEmailSource' | 'privacyPolicyPublished'>>;
45
112
  export type SitePrivacySettingsPayload = {
46
- legalProfile: SiteLegalProfilePayload;
113
+ legalProfile: SiteLegalProfileInput;
47
114
  sensitiveClientRecords?: SensitiveClientRecordsUpdatePayload;
48
115
  };
49
116
  export type SitePrivacySettings = {
@@ -52,9 +119,14 @@ export type SitePrivacySettings = {
52
119
  };
53
120
  export type SitePrivacySettingsResponse = {
54
121
  settings: SitePrivacySettings;
122
+ /** What the policy currently says its controller and contact are. */
123
+ resolvedIdentity: ResolvedSitePrivacyIdentity;
55
124
  preview: {
56
125
  policyPath: string;
126
+ /** An entity name resolves, so a policy can be built. */
57
127
  isReady: boolean;
128
+ /** The administrator has turned the policy on. */
129
+ isPublished: boolean;
58
130
  capabilities: SitePrivacyPolicyCapabilities;
59
131
  document: SitePrivacyPolicyDocument | null;
60
132
  };
@@ -70,7 +142,7 @@ export declare const MANAGED_PRIVACY_POLICY_PATH: "/privacy";
70
142
  export declare const DEFAULT_SITE_LEGAL_JURISDICTION: SiteLegalJurisdiction;
71
143
  export declare const JURISDICTION_LABELS: Record<SiteLegalJurisdiction, string>;
72
144
  export declare function buildManagedPrivacyPolicyDocument(input: {
73
- legalProfile: SiteLegalProfilePayload;
145
+ identity: ResolvedSitePrivacyIdentity;
74
146
  capabilities: SitePrivacyPolicyCapabilities;
75
147
  effectiveDate: string;
76
148
  }): SitePrivacyPolicyDocument;
@@ -13,7 +13,7 @@ export declare const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS: {
13
13
  getPublicBookingServices: {
14
14
  path: "/public/bookings/services";
15
15
  method: "GET";
16
- revalidate: 60;
16
+ revalidate: number;
17
17
  tags: "riverbank:site:{siteId}:public-booking-services"[];
18
18
  auth: "public";
19
19
  responseKind: "json";
@@ -21,7 +21,7 @@ export declare const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS: {
21
21
  getPublicBookingService: {
22
22
  path: "/public/bookings/services/{serviceId}";
23
23
  method: "GET";
24
- revalidate: 60;
24
+ revalidate: number;
25
25
  tags: "riverbank:site:{siteId}:public-booking-services"[];
26
26
  auth: "public";
27
27
  responseKind: "json";
@@ -29,7 +29,7 @@ export declare const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS: {
29
29
  getPublicBookingResourcesReference: {
30
30
  path: "/public/bookings/resources/reference";
31
31
  method: "GET";
32
- revalidate: 60;
32
+ revalidate: number;
33
33
  tags: "riverbank:site:{siteId}:public-booking-services"[];
34
34
  auth: "public";
35
35
  responseKind: "json";
@@ -37,7 +37,7 @@ export declare const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS: {
37
37
  getPublicBookingAvailableDates: {
38
38
  path: "/public/bookings/availability/dates";
39
39
  method: "GET";
40
- revalidate: 60;
40
+ revalidate: number;
41
41
  tags: ("riverbank:site:{siteId}:public-booking-services" | "riverbank:site:{siteId}:public-booking-availability")[];
42
42
  auth: "public";
43
43
  responseKind: "json";
@@ -45,7 +45,7 @@ export declare const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS: {
45
45
  getPublicBookingAvailableSlots: {
46
46
  path: "/public/bookings/availability/slots";
47
47
  method: "GET";
48
- revalidate: 60;
48
+ revalidate: number;
49
49
  tags: ("riverbank:site:{siteId}:public-booking-services" | "riverbank:site:{siteId}:public-booking-availability")[];
50
50
  auth: "public";
51
51
  responseKind: "json";
@@ -53,7 +53,7 @@ export declare const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS: {
53
53
  getPublicWeeklySlotAvailability: {
54
54
  path: "/public/bookings/weekly-slot-availability";
55
55
  method: "GET";
56
- revalidate: 60;
56
+ revalidate: number;
57
57
  tags: ("riverbank:site:{siteId}:public-booking-services" | "riverbank:site:{siteId}:public-booking-availability")[];
58
58
  auth: "public";
59
59
  responseKind: "json";
@@ -24,7 +24,7 @@ export declare const PUBLIC_EVENT_ENDPOINT_DEFINITIONS: {
24
24
  resolveEventSubroute: {
25
25
  path: "/public/sites/{siteId}/events/subroutes/resolve";
26
26
  method: "GET";
27
- revalidate: 60;
27
+ revalidate: number;
28
28
  tags: ("riverbank:site:{siteId}:public-events" | "event-subroute")[];
29
29
  auth: "public";
30
30
  responseKind: "json";
@@ -5,13 +5,11 @@
5
5
  */
6
6
  import type { APIEndpoint } from "../apiEndpointTypes";
7
7
  import type { NewsletterSubscribeBody } from "./sharedTypes";
8
+ import type { MailingListPublicSignupResponse } from '../../../core/src/index';
8
9
  export type PublicNewsletterAPIEndpoints = {
9
10
  subscribeNewsletter: APIEndpoint<NewsletterSubscribeBody, {
10
11
  siteId: string;
11
- }, {
12
- subscribed: true;
13
- requiresConfirmation?: boolean;
14
- }>;
12
+ }, MailingListPublicSignupResponse>;
15
13
  confirmNewsletter: APIEndpoint<never, {
16
14
  siteId: string;
17
15
  token: string;
@@ -4,6 +4,8 @@
4
4
  * Re-exported from `../publicExperienceEndpoints`, which stays the public import site.
5
5
  */
6
6
  import type { AutoAppliedDiscountPreview } from '../bookingRecords';
7
+ import type { MailingListSignupSourceRef, MailingListVisitorSelection } from '../../../core/src/index';
8
+ export type { MailingListSignupSourceRef } from '../../../core/src/index';
7
9
  export declare const PUBLIC_EVENT_TICKET_SELECTION_CONTRACT_VERSION: "public-event-ticket-selection.v2";
8
10
  export type EventTicketSelectionRequest = {
9
11
  pricingOptionId?: string | null;
@@ -39,46 +41,30 @@ export type PublicEventLoaderParams = {
39
41
  includeOccurrenceId?: string;
40
42
  /**
41
43
  * What the read is asking for: `'occurrences'` (default) for a page of dates,
42
- * or `'runs'` for one row per whole-series run regardless of date.
44
+ * `'runs'` for one row per whole-series run regardless of date, or
45
+ * `'catalogue'` for one representative occurrence per series. Catalogue
46
+ * reads are complete when `limit` is omitted; cursors and explicit limits
47
+ * apply after representative selection.
43
48
  */
44
49
  readIntent?: string;
45
50
  detailLevel?: string;
46
51
  readProfile?: string;
47
52
  };
48
- export type NewsletterSignupPublicDestinationRef = {
49
- tag: 'block_ref';
50
- blockId: string;
51
- } | {
52
- tag: 'signed_destination_ref';
53
- token: string;
54
- };
55
- export type NewsletterSubscribeTarget = {
56
- tag: 'legacy_riverbank_list';
57
- listId: string;
58
- destinationRef?: NewsletterSignupPublicDestinationRef;
59
- } | {
60
- tag: 'published_block_ref';
61
- destinationRef: NewsletterSignupPublicDestinationRef;
62
- };
63
- type NewsletterSubscribeFields = {
53
+ export type NewsletterSubscribeBody = {
64
54
  email: string;
65
55
  firstName?: string | null;
66
56
  lastName?: string | null;
67
57
  name?: string | null;
68
58
  company?: string | null;
69
59
  phone?: string | null;
70
- tags?: string[];
60
+ sourceRef: MailingListSignupSourceRef;
61
+ setupRevision: number;
62
+ visitorSelection?: MailingListVisitorSelection;
71
63
  meta?: {
72
64
  honeypot?: string;
73
65
  altchaSolution?: string | null;
74
66
  };
75
67
  };
76
- export type NewsletterSubscribeBody = NewsletterSubscribeFields & ({
77
- target: NewsletterSubscribeTarget;
78
- } | {
79
- listId: string;
80
- destinationRef?: NewsletterSignupPublicDestinationRef;
81
- });
82
68
  export type PublicEventScheduleScope = 'any' | 'recurring' | 'oneOff';
83
69
  export type PublicEventRecurrence = Readonly<{
84
70
  kind: 'weekly';
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Direct public reads governed by the canonical public-read freshness policy.
3
+ * Keeping these definitions together makes the endpoint identity used to
4
+ * derive freshness reviewable beside its route and tags.
5
+ */
6
+ export declare const PUBLIC_READ_ENDPOINT_DEFINITIONS: {
7
+ getPublishedEntryPreview: {
8
+ path: "/public/content/{siteId}/{type}/{slug}/preview";
9
+ method: "GET";
10
+ revalidate: number;
11
+ tags: "content-{siteId}-{type}-{slug}"[];
12
+ auth: "public";
13
+ responseKind: "json";
14
+ };
15
+ listPublishedEntries: {
16
+ path: "/public/content/{siteId}/{type}/entries";
17
+ method: "GET";
18
+ revalidate: number;
19
+ tags: "content-{siteId}-{type}"[];
20
+ auth: "public";
21
+ responseKind: "json";
22
+ };
23
+ getPublicFormById: {
24
+ path: "/public/forms/{formId}";
25
+ method: "GET";
26
+ revalidate: number;
27
+ tags: "riverbank:form:{formId}"[];
28
+ auth: "public";
29
+ responseKind: "json";
30
+ };
31
+ listPublicEvents: {
32
+ path: "/public/sites/{siteId}/events";
33
+ method: "GET";
34
+ revalidate: number;
35
+ tags: "riverbank:site:{siteId}:public-events"[];
36
+ auth: "public";
37
+ responseKind: "json";
38
+ };
39
+ listPublicTeamMembers: {
40
+ path: "/public/sites/{siteId}/team-members";
41
+ method: "GET";
42
+ revalidate: number;
43
+ tags: "riverbank:site:{siteId}:public-team-members"[];
44
+ errors: never[];
45
+ auth: "public";
46
+ responseKind: "json";
47
+ };
48
+ listPublicPasses: {
49
+ path: "/public/sites/{siteId}/bookings/products/passes";
50
+ method: "GET";
51
+ revalidate: number;
52
+ tags: "riverbank:site:{siteId}:public-passes"[];
53
+ auth: "public";
54
+ responseKind: "json";
55
+ };
56
+ listPublicMemberships: {
57
+ path: "/public/sites/{siteId}/bookings/products/memberships";
58
+ method: "GET";
59
+ revalidate: number;
60
+ tags: "riverbank:site:{siteId}:public-memberships"[];
61
+ auth: "public";
62
+ responseKind: "json";
63
+ };
64
+ listPublicProducts: {
65
+ path: "/public/sites/{siteId}/products";
66
+ method: "GET";
67
+ revalidate: number;
68
+ tags: "riverbank:site:{siteId}:public-products"[];
69
+ errors: never[];
70
+ auth: "public";
71
+ responseKind: "json";
72
+ };
73
+ };
@@ -53,8 +53,8 @@ export declare const sitePreviewKeyParamsSchema: z.ZodObject<{
53
53
  export declare const createSiteApiKeyBodySchema: z.ZodObject<{
54
54
  name: z.ZodString;
55
55
  environment: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
56
- test: "test";
57
56
  live: "live";
57
+ test: "test";
58
58
  }>>>;
59
59
  }, z.core.$strip>;
60
60
  /** What a client sends: `environment` may be omitted. */
@@ -469,11 +469,7 @@ export interface SdkPullNavigationItem {
469
469
  export interface SdkPullNavigationMenu {
470
470
  id: string;
471
471
  siteId: string;
472
- identifier: string | null;
473
- name: string;
474
- isPrimary: boolean;
475
- isFooter: boolean;
476
- footerRole: 'main' | 'legal-policy' | null;
472
+ location: 'main' | 'footer' | 'legal';
477
473
  items: SdkPullNavigationItem[];
478
474
  createdAt: string;
479
475
  updatedAt: string;
@@ -1146,11 +1142,7 @@ export interface SdkEventOccurrenceResponse {
1146
1142
  }
1147
1143
  export type SdkUpsertNavigationMenuResponse = SdkCommandApplicationResult<{
1148
1144
  id: string;
1149
- identifier: string | null;
1150
- name: string;
1151
- isPrimary: boolean;
1152
- isFooter: boolean;
1153
- footerRole: 'main' | 'legal-policy' | null;
1145
+ location: 'main' | 'footer' | 'legal';
1154
1146
  items: SdkPullNavigationItem[];
1155
1147
  createdAt: string;
1156
1148
  updatedAt: string;
@@ -1767,7 +1767,7 @@ export declare const sdkThemeWireSchema: z.ZodType<{
1767
1767
  family: "organic-squiggle" | "short-center-rule";
1768
1768
  colorToken?: "text" | "primary" | "secondary" | "accent" | "muted" | "border" | undefined;
1769
1769
  } | null | undefined;
1770
- headingDecorationOverride?: "on" | "off" | "site-default" | null | undefined;
1770
+ headingDecorationOverride?: "off" | "on" | "site-default" | null | undefined;
1771
1771
  accordionIconTreatment?: {
1772
1772
  iconSet: "chevron" | "caret" | "plus" | "minimal-cross";
1773
1773
  colorToken: "text" | "current" | "primary" | "secondary" | "accent" | "muted";
@@ -3827,7 +3827,7 @@ export declare const sdkThemeWireSchema: z.ZodType<{
3827
3827
  family: "organic-squiggle" | "short-center-rule";
3828
3828
  colorToken?: "text" | "primary" | "secondary" | "accent" | "muted" | "border" | undefined;
3829
3829
  } | null | undefined;
3830
- headingDecorationOverride?: "on" | "off" | "site-default" | null | undefined;
3830
+ headingDecorationOverride?: "off" | "on" | "site-default" | null | undefined;
3831
3831
  accordionIconTreatment?: {
3832
3832
  iconSet: "chevron" | "caret" | "plus" | "minimal-cross";
3833
3833
  colorToken: "text" | "current" | "primary" | "secondary" | "accent" | "muted";
@@ -834,41 +834,12 @@ export type SiteManagementAPIEndpoints = {
834
834
  }, {
835
835
  menus: NavigationMenuWithItems[];
836
836
  }>;
837
- createNavigationMenu: APIEndpoint<{
838
- name: string;
839
- isPrimary?: boolean;
840
- isFooter?: boolean;
841
- footerRole?: 'main' | 'legal-policy' | null;
842
- position?: number;
843
- }, {
844
- siteId: string;
845
- }, {
846
- menus: NavigationMenuWithItems[];
847
- }>;
848
837
  getNavigationMenuItems: APIEndpoint<never, {
849
838
  siteId: string;
850
839
  menuId: string;
851
840
  }, {
852
841
  items: NavigationItemRecord[];
853
842
  }>;
854
- updateNavigationMenu: APIEndpoint<{
855
- name?: string;
856
- isPrimary?: boolean;
857
- isFooter?: boolean;
858
- footerRole?: 'main' | 'legal-policy' | null;
859
- position?: number;
860
- }, {
861
- siteId: string;
862
- menuId: string;
863
- }, {
864
- menus: NavigationMenuWithItems[];
865
- }>;
866
- deleteNavigationMenu: APIEndpoint<never, {
867
- siteId: string;
868
- menuId: string;
869
- }, {
870
- menus: NavigationMenuWithItems[];
871
- }>;
872
843
  createNavigationItem: APIEndpoint<{
873
844
  label: string;
874
845
  type: 'link' | 'dropdown';