@riverbankcms/sdk 0.146.0 → 0.147.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 (195) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{PreviewEditorSidebar-kg2r2Fyi.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
  3. package/dist/{PreviewEditorUI-sWMLp5dT.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-Cg51xq1w.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-h2ti3Hch.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +39 -12
  6. package/dist/{SiteChromeCustomizeContext-DEACFH9m.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +2499 -1682
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +18 -0
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/bookingConfig.d.ts +16 -0
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +4 -13
  12. package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
  13. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  14. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  15. package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
  16. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  17. package/dist/_dts/api/src/bookings.d.ts +1 -0
  18. package/dist/_dts/api/src/endpoints.d.ts +587 -561
  19. package/dist/_dts/api/src/eventManagementContracts.d.ts +23 -8
  20. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +1 -1
  21. package/dist/_dts/api/src/index.d.ts +3 -2
  22. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  23. package/dist/_dts/api/src/launchReadiness.d.ts +1 -6
  24. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  25. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  26. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +15 -0
  27. package/dist/_dts/api/src/occurrenceScheduling.d.ts +19 -0
  28. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
  29. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  30. package/dist/_dts/api/src/sdk-event-upsert.d.ts +15 -0
  31. package/dist/_dts/api/src/sdkCourseBooking.d.ts +4 -4
  32. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  33. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +5 -18
  34. package/dist/_dts/api/src/siteOnboarding.d.ts +2 -14
  35. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  36. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
  37. package/dist/_dts/blocks/src/index.d.ts +1 -1
  38. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +22 -4
  39. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
  40. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  41. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
  42. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
  43. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
  44. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
  45. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
  46. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  47. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
  48. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +2 -4
  68. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +2 -0
  69. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  70. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  71. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  72. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  73. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  74. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  75. package/dist/_dts/core/src/index.d.ts +1 -1
  76. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  77. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  78. package/dist/_dts/core/src/mailing-list-submission.d.ts +6 -0
  79. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  80. package/dist/_dts/core/src/participants.d.ts +0 -38
  81. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +102 -22
  82. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  83. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  84. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -3
  85. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  86. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +1 -0
  87. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +1 -1
  88. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +2 -2
  89. package/dist/_dts/sdk/src/version.d.ts +1 -1
  90. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  91. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  92. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  93. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  94. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  95. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  96. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  97. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  98. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  99. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  100. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  101. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  102. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  103. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  104. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  105. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  106. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  107. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  108. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  109. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  110. package/dist/_dts/ui/src/badge.d.ts +2 -1
  111. package/dist/_dts/ui/src/button.d.ts +1 -1
  112. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  113. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  114. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  115. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  116. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  117. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  118. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  119. package/dist/_dts/ui/src/index.d.ts +4 -1
  120. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  121. package/dist/_dts/ui/src/popover.d.ts +7 -1
  122. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  123. package/dist/_dts/ui/src/surface.d.ts +1 -1
  124. package/dist/client/{BookingConsentAgreement-BQKL045f.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
  125. package/dist/client/{CheckboxChoice--W2n6yKs.mjs → CheckboxChoice-B33MqoUo.mjs} +1 -1
  126. package/dist/client/{DiscountCodeDisclosure-CsOtjFY7.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
  127. package/dist/client/{EventCombined.client-BdRjVbhH.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
  128. package/dist/client/{EventListing.client-DBxC6xOU.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
  129. package/dist/client/{LeafletStaticMap-mHEJKrTs.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
  130. package/dist/client/{scrollToBlock-BNgaEUpo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
  131. package/dist/client/{ThemedButton-CE5KYT6z.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
  132. package/dist/client/{accordion-BEQNSptH.mjs → accordion-CoT5g7zo.mjs} +1 -1
  133. package/dist/client/{bookingForm-AMr-s5vw.mjs → bookingForm-BWxB46xD.mjs} +226 -106
  134. package/dist/client/bookings.mjs +367 -188
  135. package/dist/client/{carousel-Bbt_QgJy.mjs → carousel-DtNYWFd3.mjs} +2 -2
  136. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  137. package/dist/client/{cart-CnWi30zJ.mjs → cart-z4qZih1Y.mjs} +3 -3
  138. package/dist/client/{checkout-f3nkWgd4.mjs → checkout-DpL7euFH.mjs} +3 -3
  139. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
  140. package/dist/client/client.mjs +2125 -1420
  141. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  142. package/dist/client/{context-Bc8T6pCe.mjs → context-C8TinPJc.mjs} +1 -1
  143. package/dist/client/{dates-DUsCEzLb.mjs → dates-vwwxTeB0.mjs} +2 -2
  144. package/dist/client/{eventCalendar-CKwgXui5.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
  145. package/dist/client/{eventCombined-CBAOSTGR.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
  146. package/dist/client/{eventDetails-Dh-_WiBD.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
  147. package/dist/client/{eventListing-CA3frIH5.mjs → eventListing-DajjWgOv.mjs} +4 -4
  148. package/dist/client/{eventRegistration-BHtsgdcg.mjs → eventRegistration-DMq9gMA-.mjs} +109 -41
  149. package/dist/client/{form-C2h3YAcg.mjs → form-Qf6qTbos.mjs} +5 -5
  150. package/dist/client/{headerSection-lwMuMTH9.mjs → headerSection-D7qJrqFX.mjs} +3 -3
  151. package/dist/client/hooks.mjs +661 -116
  152. package/dist/client/{locationMap-DJ2bLODV.mjs → locationMap-CCF9-t_0.mjs} +4 -4
  153. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  154. package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
  155. package/dist/client/{newsletterForm-8Pu5K32g.mjs → newsletterForm-DzCLSP4S.mjs} +6 -6
  156. package/dist/client/{pricing-HHx3IgBz.mjs → pricing-Cgxv2KLC.mjs} +1 -1
  157. package/dist/client/{productDetail-C_1odnAf.mjs → productDetail-ru9w5GHx.mjs} +3 -3
  158. package/dist/client/{productList-CtCv-Nmx.mjs → productList-zaapKSl-.mjs} +3 -3
  159. package/dist/client/{propsDecoder-Dcgsncxb.mjs → propsDecoder-CwvvNOHx.mjs} +52 -6
  160. package/dist/client/rendering/client.mjs +951 -369
  161. package/dist/client/rendering/islands.mjs +19 -19
  162. package/dist/client/rendering.mjs +2153 -1393
  163. package/dist/client/{routeIslandApiConfig-CWLP7wu3.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
  164. package/dist/client/{shop-commerce-B88zmWWo.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
  165. package/dist/client/{shop-commerce-store-DtSfkKuX.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
  166. package/dist/client/{shop-DQXrQ8kJ.mjs → shop-mktkXvbV.mjs} +7 -7
  167. package/dist/client/{shopShared-cuaONpkJ.mjs → shopShared-TqExh235.mjs} +5 -5
  168. package/dist/client/{useEventFilters-Bukew6Gb.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
  169. package/dist/preview-next/before-render.mjs +122 -50
  170. package/dist/preview-next/client/runtime.mjs +4 -4
  171. package/dist/preview-next/editor-base.css +53 -2
  172. package/dist/preview-next/editor-chrome.css +7 -4
  173. package/dist/preview-next/keepAlive.mjs +122 -50
  174. package/dist/preview-next/middleware.mjs +122 -50
  175. package/dist/{previewAuthStore-h5IgbSp4.mjs → previewAuthStore-C_EHQ5XA.mjs} +122 -50
  176. package/dist/{sdk-runtime-DTc1uIXn.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
  177. package/dist/{separator-BpHS1KZK.mjs → separator-C9qDP95Z.mjs} +1 -1
  178. package/dist/server/components.mjs +25345 -24942
  179. package/dist/server/config-validation.mjs +711 -163
  180. package/dist/server/config.mjs +711 -163
  181. package/dist/server/data.mjs +709 -162
  182. package/dist/server/index.mjs +123 -51
  183. package/dist/server/navigation.mjs +13 -2
  184. package/dist/server/next.mjs +4538 -4169
  185. package/dist/server/page-converter.mjs +107 -64
  186. package/dist/server/prebuild.mjs +1 -1
  187. package/dist/server/rendering/server.mjs +2509 -2104
  188. package/dist/server/rendering.mjs +25526 -25104
  189. package/dist/server/routing.mjs +750 -289
  190. package/dist/server/server.mjs +671 -148
  191. package/dist/server/theme-bridge.mjs +66 -17
  192. package/dist/server/theme.mjs +5 -1
  193. package/dist/styles/index.css +32 -4
  194. package/package.json +1 -1
  195. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
@@ -1,4 +1,6 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
1
2
  import type { PublicEventPricing } from '../../../../../../core/src/index';
3
+ import type { MailingListRuntimeContext } from '../../../../../../core/src/index';
2
4
  import type { EventRegistrationAvailablePaymentOption, EventRegistrationOptionsResponse, EventRegistrationPricingOption } from '../../../blocks/event-registration';
3
5
  import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
4
6
  import type { PublicEvent, PublicEventPricingOption, PublicEventPricingOptionAvailability, PublicRunSession } from '../../../blocks/events/shared/types';
@@ -34,9 +36,11 @@ export type RegistrationResult = {
34
36
  title?: string;
35
37
  message?: string;
36
38
  variant?: 'success' | 'info';
39
+ mailingListSignupNote?: BookingSignupNote;
37
40
  };
38
41
  export type PaymentStatusRecoveryState = Readonly<{
39
42
  subject: import('../../api/types').EventRegistrationPaymentSubject;
43
+ mailingListSignupNote?: BookingSignupNote;
40
44
  }> & (Readonly<{
41
45
  kind: 'ready' | 'checking' | 'processing' | 'temporarilyUnavailable' | 'retryAvailable' | 'assistanceRequired';
42
46
  }> | Readonly<{
@@ -188,4 +192,6 @@ export type EventRegistrationClientProps = {
188
192
  sitePasses?: PublicPassProductCollection | null;
189
193
  /** Site-wide public membership products; filtered against the selected event before prompting. */
190
194
  siteMemberships?: PublicMembershipProductCollection | null;
195
+ mailingList?: MailingListRuntimeContext;
196
+ siteName?: string;
191
197
  };
@@ -37,6 +37,9 @@ export type UseEventRegistrationSubmitInput = {
37
37
  ticketSelections: readonly EventTicketSelectionLine[];
38
38
  selectedSlidingAmount: number | null;
39
39
  formData: FormData;
40
+ mailingListSignup: Readonly<{
41
+ siteName: string;
42
+ }> | null;
40
43
  altchaSolution: string | null;
41
44
  requireGuestDetails: boolean;
42
45
  guests: Guest[];
@@ -19,6 +19,8 @@ export type UseEventRegistrationWizardOptions = Readonly<{
19
19
  subject?: EventRegistrationClientProps['subject'];
20
20
  events: PublicEvent[];
21
21
  maxTicketsNum: number;
22
+ mailingList?: EventRegistrationClientProps['mailingList'];
23
+ siteName?: string;
22
24
  }>;
23
25
  export type EventRegistrationWizardDeps = Readonly<{
24
26
  usePortalAuth: typeof usePortalAuth;
@@ -91,6 +93,9 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
91
93
  hasValidTicketSelection: boolean;
92
94
  eventRequiresPayment: boolean;
93
95
  formData: FormData;
96
+ mailingListSignup: Readonly<{
97
+ siteName: string;
98
+ }> | null;
94
99
  setFormData: import("react").Dispatch<import("react").SetStateAction<FormData>>;
95
100
  errors: Partial<Record<keyof FormData, string>>;
96
101
  guests: Guest[];
@@ -220,6 +225,9 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
220
225
  hasValidTicketSelection: boolean;
221
226
  eventRequiresPayment: boolean;
222
227
  formData: FormData;
228
+ mailingListSignup: Readonly<{
229
+ siteName: string;
230
+ }> | null;
223
231
  setFormData: import("react").Dispatch<import("react").SetStateAction<FormData>>;
224
232
  errors: Partial<Record<keyof FormData, string>>;
225
233
  guests: Guest[];
@@ -1,3 +1,4 @@
1
+ import { type MailingListRuntimeContext } from '../../../../../core/src/index';
1
2
  import type { BrowserReadAuthority } from '../api/types';
2
3
  import type { BlockButtonRole } from '../../constants/buttonRoles';
3
4
  import type { PublicEvent } from '../../blocks/events/shared/types';
@@ -36,6 +37,8 @@ export type EventRegistrationSourceProps = Readonly<{
36
37
  supportEmail?: string;
37
38
  sitePasses?: PublicPassProductCollection | null;
38
39
  siteMemberships?: PublicMembershipProductCollection | null;
40
+ mailingList?: MailingListRuntimeContext;
41
+ siteName?: string;
39
42
  }>;
40
43
  export type EventRegistrationDisplay = Readonly<{
41
44
  kind: 'event-registration';
@@ -96,6 +99,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
96
99
  siteMemberships?: Readonly<{
97
100
  memberships: readonly import("./shop.client").PublicMembershipProduct[];
98
101
  }> | null;
102
+ mailingList?: MailingListRuntimeContext;
103
+ siteName?: string;
99
104
  }>) => Readonly<{
100
105
  display: EventRegistrationDisplay;
101
106
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "events" | "buttonText"> & {
@@ -133,6 +138,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
133
138
  siteMemberships?: Readonly<{
134
139
  memberships: readonly import("./shop.client").PublicMembershipProduct[];
135
140
  }> | null;
141
+ mailingList?: MailingListRuntimeContext;
142
+ siteName?: string;
136
143
  }>) => unknown;
137
144
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
138
145
  siteId?: string;
@@ -163,6 +170,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
163
170
  siteMemberships?: Readonly<{
164
171
  memberships: readonly import("./shop.client").PublicMembershipProduct[];
165
172
  }> | null;
173
+ mailingList?: MailingListRuntimeContext;
174
+ siteName?: string;
166
175
  }>>;
167
176
  }>;
168
177
  render: Readonly<{
@@ -1,4 +1,5 @@
1
1
  import { type MailingListSignupSourceRef } from '../../../../../core/src/index';
2
+ import type { PublishedBlockPlacementRead } from '../../../pageRenderAdmission';
2
3
  export type NewsletterBlockSubmission = Readonly<{
3
4
  tag: 'ready';
4
5
  sourceRef: Extract<MailingListSignupSourceRef, {
@@ -14,10 +15,7 @@ export type NewsletterBlockSubmission = Readonly<{
14
15
  type BlockPlacement = Readonly<{
15
16
  blockId: string | null;
16
17
  selectedContentVersionId: string | null;
17
- publishedPlacement: Readonly<{
18
- id: string;
19
- content: Record<string, unknown>;
20
- }> | null;
18
+ publishedPlacement: PublishedBlockPlacementRead;
21
19
  renderedContent: Record<string, unknown>;
22
20
  stage: 'published' | 'preview' | undefined;
23
21
  }>;
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import type { ThemeColorToken } from '../../../../theme-core/src/tokens/index';
2
3
  import type { ConditionalAuthoringPresence, NodeDefinition } from "../node";
3
4
  import { bindingSchema } from "../node";
4
5
  import { type ThemeTokens } from "../theme";
@@ -24,6 +25,7 @@ export type ResolverContext = {
24
25
  registry: ComponentRegistry;
25
26
  transforms?: TransformRegistry;
26
27
  theme?: ThemeTokens;
28
+ proseHoverCandidate?: ThemeColorToken;
27
29
  routes?: RouteMap;
28
30
  /** Page identifier -> routeId lookup for { kind: 'page' } links */
29
31
  pagesByIdentifier?: PageIdentifierMap;
@@ -0,0 +1,6 @@
1
+ import type { BookingMailingListNote as Note } from '../../../../../../core/src/index';
2
+ export declare function BookingMailingListNote(props: Readonly<{
3
+ note: Note;
4
+ context: 'booking' | 'waitlist';
5
+ className?: string;
6
+ }>): import("react").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { BookingMailingListNote as BookingSignupNote } from '../../../../../core/src/index';
2
+ export declare const MAILING_LIST_CONFIRMATION_MESSAGE = "Please check your inbox to confirm your signup.";
3
+ export declare function getBookingMailingListNoteCopy(note: BookingSignupNote, context: 'booking' | 'waitlist'): Readonly<{
4
+ title: string;
5
+ detail: string | null;
6
+ }>;
@@ -13,6 +13,7 @@ export type FormData = {
13
13
  phone: string;
14
14
  notes: string;
15
15
  consentAccepted?: boolean;
16
+ mailingListOptIn?: boolean;
16
17
  };
17
18
  /**
18
19
  * Button style variants.
@@ -1,8 +1,9 @@
1
1
  import { resolveSurfaceForeground, type ResolvedSurfaceForeground } from '../../../../../../theme-core/src/surfaces/index';
2
- import type { ThemeHeader } from '../../../../../../theme-core/src/schema';
2
+ import type { ThemeFooter, ThemeHeader } from '../../../../../../theme-core/src/schema';
3
+ import type { ThemeColorToken } from '../../../../../../theme-core/src/tokens/index';
3
4
  import type { TransformContext } from '../core';
4
- export declare function resolveHeaderLeafTextColor(header: Partial<ThemeHeader> | undefined): NonNullable<ThemeHeader['textColor']>;
5
5
  export declare function resolveHeaderRootForeground(header: Partial<ThemeHeader> | undefined, palette: Parameters<typeof resolveSurfaceForeground>[1], isTransparent: boolean): ResolvedSurfaceForeground;
6
+ export declare function resolveFooterRootForeground(footer: Partial<ThemeFooter> | undefined, palette: Parameters<typeof resolveSurfaceForeground>[1], proseHoverCandidate?: ThemeColorToken): ResolvedSurfaceForeground;
6
7
  export declare function resolveSurfaceForegroundStyles(value: unknown, context: TransformContext, options?: Readonly<{
7
8
  fallbackToken?: string;
8
9
  }>): Record<string, string>;
@@ -1,6 +1,7 @@
1
1
  import type { z } from "zod";
2
2
  import type { ThemeTokens } from "../../theme";
3
3
  import type { ButtonSystem } from "../../../../../theme-core/src/buttons/index";
4
+ import type { ThemeColorToken } from "../../../../../theme-core/src/tokens/index";
4
5
  type BivariantCallback<TArgs extends unknown[], TResult> = {
5
6
  bivarianceHack(...args: TArgs): TResult;
6
7
  }["bivarianceHack"];
@@ -20,6 +21,7 @@ export type TransformContext = {
20
21
  theme: ThemeTokens & Readonly<{
21
22
  buttons?: ButtonSystem;
22
23
  }>;
24
+ proseHoverCandidate?: ThemeColorToken;
23
25
  locale?: string;
24
26
  stage?: "preview" | "published";
25
27
  /**
@@ -1,7 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { type ThemeFooter, type ThemeHeader } from '../../../../../theme-core/src/schema';
2
+ import { type ThemeHeader } from '../../../../../theme-core/src/schema';
3
3
  import { type TransformDefinition } from './core';
4
- import { resolveSurfaceForeground, type ResolvedSurfaceForeground } from '../../../../../theme-core/src/surfaces/index';
5
4
  declare const headerLogoClassSchema: z.ZodObject<{
6
5
  base: z.ZodOptional<z.ZodString>;
7
6
  }, z.core.$strip>;
@@ -42,7 +41,6 @@ export declare function resolveHeaderVisualStyles(header: Partial<ThemeHeader> |
42
41
  readonly backgroundToken: "transparent";
43
42
  readonly isTransparent: true;
44
43
  };
45
- export declare function resolveFooterRootForeground(footer: Partial<ThemeFooter> | undefined, palette: Parameters<typeof resolveSurfaceForeground>[1]): ResolvedSurfaceForeground;
46
44
  export declare const headerRootClassTransform: TransformDefinition<HeaderRootOptions>;
47
45
  declare const footerRootClassSchema: z.ZodObject<{
48
46
  base: z.ZodOptional<z.ZodString>;
@@ -34,7 +34,6 @@ export * from './block-content-identity';
34
34
  export * from './sensitive-collection';
35
35
  export * from './assertNever';
36
36
  export * from './participants';
37
- export * from './participant-identity';
38
37
  export * from './public-url-validation';
39
38
  export * from './public-profile';
40
39
  export * from './public-experience';
@@ -76,5 +75,6 @@ export * from './public-read-cache-contract';
76
75
  export * from './booking-verticals';
77
76
  export * from './event-series-behaviour';
78
77
  export * from './navigation-locations';
78
+ export * from './navigation-portal-labels';
79
79
  export * from './event-preset-vocabulary';
80
80
  export * from './event-catalogue';
@@ -6,6 +6,7 @@ export type MailingListRuntimeContext = Readonly<{
6
6
  }> | Readonly<{
7
7
  tag: 'configured';
8
8
  revision: MailingListSetupRevision;
9
+ bookingSignup: BookingSignupOffer;
9
10
  form: MailingListGlobalForm;
10
11
  provider: MailingListRuntimeProvider;
11
12
  }>;
@@ -40,3 +41,17 @@ export type MailingListRuntimeContextParseError = Readonly<{
40
41
  tag: 'invalid_mailing_list_runtime_context';
41
42
  }>;
42
43
  export declare function parseMailingListRuntimeContext(value: unknown): Result<MailingListRuntimeContext, MailingListRuntimeContextParseError>;
44
+ export type BookingSignupOffer = Readonly<{
45
+ tag: 'offered';
46
+ }> | Readonly<{
47
+ tag: 'unavailable';
48
+ reason: 'disabled' | 'fields' | 'destination';
49
+ }>;
50
+ /** Destination facts are resolved once by the provider adapter, before projection. */
51
+ export declare function planBookingSignupOffer(setup: Readonly<{
52
+ bookingOptInEnabled: boolean;
53
+ form: MailingListGlobalForm;
54
+ }>, destination: 'available' | 'unavailable'): BookingSignupOffer;
55
+ export declare function resolveBookingSignupOffer(context: MailingListRuntimeContext | undefined, siteName: string | undefined): Readonly<{
56
+ siteName: string;
57
+ }> | null;
@@ -73,6 +73,7 @@ export type MailingListSiteSetup = Readonly<{
73
73
  tag: 'configured';
74
74
  siteId: SiteId;
75
75
  revision: MailingListSetupRevision;
76
+ bookingOptInEnabled: boolean;
76
77
  form: MailingListGlobalForm;
77
78
  provider: ConfiguredMailingListProvider;
78
79
  }>;
@@ -111,6 +112,7 @@ export declare function planMailingListFieldCompatibility(input: Readonly<{
111
112
  form: MailingListGlobalForm;
112
113
  destinations: readonly MailingListDestinationFieldRequirements[];
113
114
  }>): MailingListFieldCompatibilityPlan;
115
+ export declare function resolveRequiredGlobalFields(fields: MailingListGlobalFields): readonly MailingListProfileField[];
114
116
  export type MailingListSetupSwitchPlan = Readonly<{
115
117
  tag: 'activate';
116
118
  affectedPlacementCount: 0;
@@ -29,6 +29,10 @@ export type MailingListSignupSource = Readonly<{
29
29
  tag: 'sdk_footer_block';
30
30
  blockId: MailingListSdkFooterBlockId;
31
31
  contentHash: MailingListSdkContentHash;
32
+ }> | Readonly<{
33
+ tag: 'booking';
34
+ kind: 'event' | 'appointment';
35
+ attemptId: string;
32
36
  }>;
33
37
  /** Public proof of which published placement owns a signup request. */
34
38
  export type MailingListSignupSourceRef = Readonly<{
@@ -223,4 +227,6 @@ export type ExternalSignupConsentRecord = (ExternalSignupConsentRecordBase & Rea
223
227
  }>;
224
228
  confirmation: BrevoConfirmation;
225
229
  }>);
230
+ /** Absence of a note means booking proceeds without a signup message. */
231
+ export type BookingMailingListNote = 'confirmation_required' | 'not_confirmed';
226
232
  export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * What a customer sign-in link in a site's menu says when the site hasn't set
3
+ * its own text. The site renderer falls back to these, and the dashboard's
4
+ * menu editor shows them, so what an editor sees is what visitors get.
5
+ */
6
+ export declare const PORTAL_NAV_DEFAULT_LABELS: {
7
+ readonly loggedOut: "Login";
8
+ readonly loggedIn: "My Account";
9
+ };
@@ -115,30 +115,6 @@ export type ParticipantRosterProjection = Readonly<{
115
115
  slots: readonly ParticipantRosterSlot[];
116
116
  issues: readonly ParticipantRosterReconciliationIssue[];
117
117
  }>;
118
- export type ExistingParticipantByEmail = Readonly<{
119
- participantId: ParticipantId;
120
- email: ParticipantEmail;
121
- }>;
122
- export type ParticipantSubjectResolution = {
123
- kind: 'create_participant';
124
- slotKey: ParticipantSlotKey;
125
- email: ParticipantEmail;
126
- displayName: string | null;
127
- phone: string | null;
128
- } | {
129
- kind: 'reuse_participant_by_site_email';
130
- slotKey: ParticipantSlotKey;
131
- email: ParticipantEmail;
132
- participantId: ParticipantId;
133
- } | {
134
- kind: 'staff_managed_slot';
135
- slotKey: ParticipantSlotKey;
136
- } | {
137
- kind: 'blocked_duplicate_participant_in_booking';
138
- slotKey: ParticipantSlotKey;
139
- email: ParticipantEmail;
140
- conflictingSlotKeys: readonly ParticipantSlotKey[];
141
- };
142
118
  type ParticipantContactInput = Readonly<{
143
119
  name: string | null;
144
120
  email: string | null;
@@ -166,13 +142,6 @@ export type EventSeriesRegistrationParticipantProjectionInput = Readonly<{
166
142
  customerId: CustomerId;
167
143
  };
168
144
  }>;
169
- export type EventSeriesSessionAttendanceParticipantProjectionInput = Readonly<{
170
- attendeeId: AttendeeId;
171
- registrationId: EventSeriesRegistrationId;
172
- enrollmentSlot: ParticipantParticipationLinkSlot<Extract<ParticipantParticipation, {
173
- kind: 'event_series_registration';
174
- }>>;
175
- }>;
176
145
  export type SingleSubjectParticipantRosterTarget = Readonly<{
177
146
  kind: 'appointment';
178
147
  appointmentId: AppointmentId;
@@ -211,16 +180,9 @@ export declare function projectEventSeriesRegistrationParticipantSlot(input: Eve
211
180
  }>>;
212
181
  export declare function projectSingleSubjectParticipantRoster(input: SingleSubjectParticipantRosterProjectionInput): ParticipantRosterProjection;
213
182
  export declare function buildSingleSubjectParticipantPersistenceIntent(input: SingleSubjectParticipantRosterProjectionInput): SingleSubjectParticipantPersistenceIntent;
214
- export declare function projectEventSeriesSessionAttendanceParticipantSlot(input: EventSeriesSessionAttendanceParticipantProjectionInput): ParticipantParticipationLinkSlot<Extract<ParticipantParticipation, {
215
- kind: 'event_series_session_attendance';
216
- }>>;
217
183
  export declare function projectEventRegistrationParticipantRoster(input: EventRegistrationParticipantProjectionInput): ParticipantRosterProjection;
218
184
  export declare function reconcileParticipantRoster(input: {
219
185
  expectedCount: ParticipantCount;
220
186
  slots: readonly ParticipantRosterSlot[];
221
187
  }): readonly ParticipantRosterReconciliationIssue[];
222
- export declare function planParticipantSubjectResolution(input: {
223
- projection: ParticipantRosterProjection;
224
- existingParticipantsByEmail: readonly ExistingParticipantByEmail[];
225
- }): readonly ParticipantSubjectResolution[];
226
188
  export {};
@@ -7914,6 +7914,8 @@ export type Database = {
7914
7914
  event_attendees: {
7915
7915
  Row: {
7916
7916
  attendance_mode: string;
7917
+ booking_terms: Json;
7918
+ cancelled_reason: string | null;
7917
7919
  checked_in_count: number;
7918
7920
  checked_in_last_at: string | null;
7919
7921
  checked_in_last_by: string | null;
@@ -7940,6 +7942,8 @@ export type Database = {
7940
7942
  };
7941
7943
  Insert: {
7942
7944
  attendance_mode?: string;
7945
+ booking_terms?: Json;
7946
+ cancelled_reason?: string | null;
7943
7947
  checked_in_count?: number;
7944
7948
  checked_in_last_at?: string | null;
7945
7949
  checked_in_last_by?: string | null;
@@ -7966,6 +7970,8 @@ export type Database = {
7966
7970
  };
7967
7971
  Update: {
7968
7972
  attendance_mode?: string;
7973
+ booking_terms?: Json;
7974
+ cancelled_reason?: string | null;
7969
7975
  checked_in_count?: number;
7970
7976
  checked_in_last_at?: string | null;
7971
7977
  checked_in_last_by?: string | null;
@@ -9178,6 +9184,7 @@ export type Database = {
9178
9184
  event_series_registrations: {
9179
9185
  Row: {
9180
9186
  attendance_mode: string;
9187
+ booking_terms: Json;
9181
9188
  cancelled_at: string | null;
9182
9189
  canonical_selection_key: string;
9183
9190
  checkout_attempt_id: string | null;
@@ -9201,6 +9208,7 @@ export type Database = {
9201
9208
  };
9202
9209
  Insert: {
9203
9210
  attendance_mode?: string;
9211
+ booking_terms?: Json;
9204
9212
  cancelled_at?: string | null;
9205
9213
  canonical_selection_key: string;
9206
9214
  checkout_attempt_id?: string | null;
@@ -9224,6 +9232,7 @@ export type Database = {
9224
9232
  };
9225
9233
  Update: {
9226
9234
  attendance_mode?: string;
9235
+ booking_terms?: Json;
9227
9236
  cancelled_at?: string | null;
9228
9237
  canonical_selection_key?: string;
9229
9238
  checkout_attempt_id?: string | null;
@@ -10566,6 +10575,7 @@ export type Database = {
10566
10575
  };
10567
10576
  mailing_list_setups: {
10568
10577
  Row: {
10578
+ booking_opt_in_enabled: boolean;
10569
10579
  created_at: string;
10570
10580
  global_form: Json;
10571
10581
  last_acknowledged_signup_at: string | null;
@@ -10578,6 +10588,7 @@ export type Database = {
10578
10588
  updated_at: string;
10579
10589
  };
10580
10590
  Insert: {
10591
+ booking_opt_in_enabled?: boolean;
10581
10592
  created_at?: string;
10582
10593
  global_form: Json;
10583
10594
  last_acknowledged_signup_at?: string | null;
@@ -10590,6 +10601,7 @@ export type Database = {
10590
10601
  updated_at?: string;
10591
10602
  };
10592
10603
  Update: {
10604
+ booking_opt_in_enabled?: boolean;
10593
10605
  created_at?: string;
10594
10606
  global_form?: Json;
10595
10607
  last_acknowledged_signup_at?: string | null;
@@ -13463,6 +13475,13 @@ export type Database = {
13463
13475
  isOneToOne: false;
13464
13476
  referencedRelation: "booking_participants";
13465
13477
  referencedColumns: ["id"];
13478
+ },
13479
+ {
13480
+ foreignKeyName: "participant_identity_audit_events_site_id_fkey";
13481
+ columns: ["site_id"];
13482
+ isOneToOne: false;
13483
+ referencedRelation: "sites";
13484
+ referencedColumns: ["id"];
13466
13485
  }
13467
13486
  ];
13468
13487
  };
@@ -18140,6 +18159,21 @@ export type Database = {
18140
18159
  locked_until: string;
18141
18160
  }[];
18142
18161
  };
18162
+ add_course_run_session_v1: {
18163
+ Args: {
18164
+ p_actor_user_id: string;
18165
+ p_ends_at: string;
18166
+ p_event_series_id: string;
18167
+ p_now: string;
18168
+ p_overrides_json: Json;
18169
+ p_site_id: string;
18170
+ p_starts_at: string;
18171
+ };
18172
+ Returns: {
18173
+ added_occurrence_id: string;
18174
+ outcome: string;
18175
+ }[];
18176
+ };
18143
18177
  adjust_product_inventory: {
18144
18178
  Args: {
18145
18179
  p_enforce_available?: boolean;
@@ -18555,6 +18589,13 @@ export type Database = {
18555
18589
  };
18556
18590
  Returns: string;
18557
18591
  };
18592
+ booking_person_deletion_blockers: {
18593
+ Args: {
18594
+ p_person_id: string;
18595
+ p_site_id: string;
18596
+ };
18597
+ Returns: Json;
18598
+ };
18558
18599
  booking_record_entry_key_version_counts: {
18559
18600
  Args: never;
18560
18601
  Returns: {
@@ -18693,20 +18734,6 @@ export type Database = {
18693
18734
  };
18694
18735
  Returns: Json;
18695
18736
  };
18696
- cancel_dated_offering_occurrence_attendance_v2_atomic: {
18697
- Args: {
18698
- p_event_series_id: string;
18699
- p_now: string;
18700
- p_occurrence_id: string;
18701
- p_site_id: string;
18702
- };
18703
- Returns: {
18704
- attendance_rows: number;
18705
- outcome: string;
18706
- stateful_rows: number;
18707
- stateless_rows: number;
18708
- }[];
18709
- };
18710
18737
  cancel_event_occurrence_if_unregistered_v1: {
18711
18738
  Args: {
18712
18739
  p_event_series_id: string;
@@ -19606,6 +19633,13 @@ export type Database = {
19606
19633
  };
19607
19634
  Returns: string;
19608
19635
  };
19636
+ delete_booking_person: {
19637
+ Args: {
19638
+ p_person_id: string;
19639
+ p_site_id: string;
19640
+ };
19641
+ Returns: undefined;
19642
+ };
19609
19643
  delete_event_occurrence_if_unregistered: {
19610
19644
  Args: {
19611
19645
  p_occurrence_id: string;
@@ -19687,6 +19721,17 @@ export type Database = {
19687
19721
  holds_cancelled: number;
19688
19722
  }[];
19689
19723
  };
19724
+ drop_course_run_session_v1: {
19725
+ Args: {
19726
+ p_actor_user_id: string;
19727
+ p_event_series_id: string;
19728
+ p_metadata: Json;
19729
+ p_now: string;
19730
+ p_occurrence_id: string;
19731
+ p_site_id: string;
19732
+ };
19733
+ Returns: string;
19734
+ };
19690
19735
  email_apply_webhook_receipt_atomic: {
19691
19736
  Args: {
19692
19737
  p_receipt_id: string;
@@ -20127,6 +20172,31 @@ export type Database = {
20127
20172
  waitlist_entry_id: string;
20128
20173
  }[];
20129
20174
  };
20175
+ list_booking_people: {
20176
+ Args: {
20177
+ p_direction: string;
20178
+ p_filter: string;
20179
+ p_limit: number;
20180
+ p_offset: number;
20181
+ p_search: string;
20182
+ p_site_id: string;
20183
+ p_sort: string;
20184
+ };
20185
+ Returns: {
20186
+ active_memberships_count: number;
20187
+ active_passes_count: number;
20188
+ added_at: string;
20189
+ customer_created_at: string;
20190
+ customer_id: string;
20191
+ email: string;
20192
+ has_bought: boolean;
20193
+ last_booking_at: string;
20194
+ name: string;
20195
+ person_id: string;
20196
+ phone: string;
20197
+ total_count: number;
20198
+ }[];
20199
+ };
20130
20200
  list_effective_occurrence_staff_members: {
20131
20201
  Args: {
20132
20202
  p_occurrence_id: string;
@@ -21020,6 +21090,16 @@ export type Database = {
21020
21090
  };
21021
21091
  Returns: boolean;
21022
21092
  };
21093
+ restore_course_run_session_v1: {
21094
+ Args: {
21095
+ p_actor_user_id: string;
21096
+ p_event_series_id: string;
21097
+ p_now: string;
21098
+ p_occurrence_id: string;
21099
+ p_site_id: string;
21100
+ };
21101
+ Returns: string;
21102
+ };
21023
21103
  restore_customer_credit_for_pass_redemption: {
21024
21104
  Args: {
21025
21105
  p_actor_kind?: string;
@@ -21184,6 +21264,14 @@ export type Database = {
21184
21264
  selection_outcome: string;
21185
21265
  }[];
21186
21266
  };
21267
+ set_mailing_list_booking_opt_in_v1: {
21268
+ Args: {
21269
+ p_enabled: boolean;
21270
+ p_expected_revision: number;
21271
+ p_site_id: string;
21272
+ };
21273
+ Returns: Json;
21274
+ };
21187
21275
  shorten_dated_offering_whole_series_hold_deadline_v1_atomic: {
21188
21276
  Args: {
21189
21277
  p_expires_at: string;
@@ -21265,14 +21353,6 @@ export type Database = {
21265
21353
  isSetofReturn: false;
21266
21354
  };
21267
21355
  };
21268
- staff_member_has_customer_record_relationship: {
21269
- Args: {
21270
- p_customer_id: string;
21271
- p_site_id: string;
21272
- p_staff_member_id: string;
21273
- };
21274
- Returns: boolean;
21275
- };
21276
21356
  staff_member_has_participant_record_relationship: {
21277
21357
  Args: {
21278
21358
  p_participant_id: string;
@@ -4,6 +4,7 @@ export type BlockCustomizePresentation = Readonly<{
4
4
  }> | Readonly<{
5
5
  kind: 'external';
6
6
  onSelect: (blockId: EditorBlockId) => void;
7
+ onAfterMenuClose?: () => void;
7
8
  }>;
8
9
  export type BlockActionPresentation = Readonly<{
9
10
  kind: 'inline';
@@ -1,8 +1,14 @@
1
1
  import { EditorPageRenderer as PageRenderer } from '../../../../blocks/src/index';
2
+ import type { PageOutline } from '../../../../blocks/src/index';
2
3
  import type { ApiClient as DashboardApiClient } from '../../../../api/src/request';
3
4
  import React, { type ComponentProps } from 'react';
4
5
  type PageRendererProps = ComponentProps<typeof PageRenderer>;
5
- type EditablePageRendererProps = PageRendererProps & {
6
+ type WithEditorPage<T> = T extends {
7
+ page: unknown;
8
+ } ? Omit<T, 'page'> & {
9
+ page: PageOutline | null;
10
+ } : never;
11
+ type EditablePageRendererProps = WithEditorPage<PageRendererProps> & {
6
12
  blockDataApiClient?: DashboardApiClient | null;
7
13
  };
8
14
  export declare function EditablePageRenderer(props: EditablePageRendererProps): React.JSX.Element;
@@ -1,17 +1,18 @@
1
- import type { PageOutline } from '../../../../../blocks/src/index';
1
+ import type { PageOutline, PublishedBlockPlacementRead } from '../../../../../blocks/src/index';
2
2
  import type { EditorPreviewInspectorStore } from '../../../../../content-editor/src/index';
3
3
  import type { BlockContentIdentity, EditorBlockId } from '../../../../../core/src/index';
4
4
  import type { BlockItem } from '../../../../../editor-blocks/src/index';
5
5
  import type { CanonicalBlockContent, PreviewProjection, PreviewRenderContent } from '../previewProjection';
6
6
  import type { LinkedEntryRenderOverlay } from '../linkedEntryRenderOverlay';
7
- export type BlockWithContent = Partial<BlockContentIdentity> & {
7
+ export type BlockWithContent = {
8
8
  [key: string]: unknown;
9
9
  id: string | null;
10
10
  kind: string;
11
11
  purpose: string;
12
12
  content?: PreviewRenderContent;
13
13
  draftContent?: PreviewRenderContent | null;
14
- publishedContent?: PreviewRenderContent | null;
14
+ publishedPlacement: PublishedBlockPlacementRead;
15
+ contentVersionId: string | null;
15
16
  bindings?: Record<string, unknown>;
16
17
  };
17
18
  export type DraftSnapshot = {