@riverbankcms/sdk 0.142.0 → 0.144.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 (187) hide show
  1. package/dist/{PreviewEditorSidebar-Dk6Dt11f.mjs → PreviewEditorSidebar-CQZNnFiM.mjs} +20 -26
  2. package/dist/{PreviewEditorUI-D6EQTsCA.mjs → PreviewEditorUI-DCNxnmI0.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-CC-EPkyQ.mjs → PreviewQueryProvider-BCYICImX.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-DH1n4ytY.mjs → SdkPreviewModeRuntime-BJolUbr1.mjs} +17 -8
  5. package/dist/{SiteChromeCustomizeContext-DunIzY0K.mjs → SiteChromeCustomizeContext-CKgEpoxi.mjs} +2406 -1988
  6. package/dist/_dts/api/src/billing.d.ts +1 -1
  7. package/dist/_dts/api/src/billingEndpointTypes.d.ts +8 -2
  8. package/dist/_dts/api/src/bookingConfig.d.ts +3 -1
  9. package/dist/_dts/api/src/endpoints.d.ts +7 -0
  10. package/dist/_dts/api/src/index.d.ts +1 -1
  11. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +4 -4
  12. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
  13. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +49 -41
  14. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  15. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +8 -0
  16. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +2 -8
  17. package/dist/_dts/api/src/siteSettings.d.ts +17 -7
  18. package/dist/_dts/billing/src/membership/index.d.ts +3 -0
  19. package/dist/_dts/block-form/src/backend/types.d.ts +14 -0
  20. package/dist/_dts/block-form/src/client/index.d.ts +1 -0
  21. package/dist/_dts/block-form/src/context/RepeaterHostActionsContext.d.ts +30 -0
  22. package/dist/_dts/block-form/src/context/index.d.ts +1 -0
  23. package/dist/_dts/block-form/src/index.d.ts +1 -0
  24. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +4 -1
  25. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +5 -2
  26. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +11 -1
  27. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +1 -0
  28. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useEmptyStateFocusAfterRemoval.d.ts +8 -0
  29. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +15 -1
  30. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterRowActionsDomain.d.ts +5 -2
  31. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +34 -10
  32. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +3 -0
  33. package/dist/_dts/blocks/src/system/constants/events.d.ts +10 -0
  34. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +7 -1
  35. package/dist/_dts/blocks/src/system/runtime/api/context.d.ts +3 -3
  36. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +18 -0
  37. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +3 -2
  38. package/dist/_dts/blocks/src/system/runtime/api/readAuthority.d.ts +11 -0
  39. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +9 -0
  40. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +95 -35
  41. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +7 -13
  42. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -6
  43. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +9 -4
  44. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +0 -1
  45. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -3
  46. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +7 -24
  47. package/dist/_dts/blocks/src/system/runtime/nodes/cart.server.d.ts +1 -0
  48. package/dist/_dts/blocks/src/system/runtime/nodes/checkout.server.d.ts +1 -0
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +2 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +2 -1
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +2 -1
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +10 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +0 -2
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +14 -1
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +2 -1
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +1 -4
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +12 -0
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +1 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ticketSelectionLines.d.ts +4 -5
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +9 -11
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +56 -2
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +12 -6
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +23 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -5
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +7 -2
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +7 -5
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -6
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +3 -1
  73. package/dist/_dts/blocks/src/system/runtime/nodes/header-control.d.ts +10 -0
  74. package/dist/_dts/blocks/src/system/runtime/nodes/layout.d.ts +6 -21
  75. package/dist/_dts/blocks/src/system/runtime/nodes/product-detail.server.d.ts +1 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/product-list.server.d.ts +1 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +13 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/shop.server.d.ts +1 -0
  79. package/dist/_dts/blocks/src/system/runtime/shared/components/ThemedButton.d.ts +58 -0
  80. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -0
  81. package/dist/_dts/blocks/src/system/transforms/registry/chromeLogo.d.ts +23 -0
  82. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +2 -1
  83. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +3 -1
  84. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +4 -1
  85. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -4
  86. package/dist/_dts/commerce/src/purchase/eventCheckoutRecoveryWindow.d.ts +8 -0
  87. package/dist/_dts/commerce/src/purchase/index.d.ts +2 -1
  88. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +1 -13
  89. package/dist/_dts/core/src/event-catalogue.d.ts +27 -0
  90. package/dist/_dts/core/src/event-preset-vocabulary.d.ts +7 -0
  91. package/dist/_dts/core/src/index.d.ts +2 -0
  92. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3126 -3077
  93. package/dist/_dts/db/src/schemas/forms.d.ts +286 -2
  94. package/dist/_dts/editor-blocks/src/block-editor/{BlockCardHeader.d.ts → BlockCardFrame.d.ts} +11 -3
  95. package/dist/_dts/logger/src/console.d.ts +3 -0
  96. package/dist/_dts/sdk/src/client/publicEventReadOperations.d.ts +1 -0
  97. package/dist/_dts/sdk/src/client/types.d.ts +3 -0
  98. package/dist/_dts/sdk/src/navigation/index.d.ts +27 -0
  99. package/dist/_dts/sdk/src/public-api/contracts.d.ts +15 -7
  100. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  101. package/dist/_dts/sdk/src/rendering/client.d.ts +1 -0
  102. package/dist/_dts/sdk/src/rendering/components/Block.shared.d.ts +1 -0
  103. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +7 -1
  104. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -0
  105. package/dist/_dts/sdk/src/rendering/islands/enhancers/routeIslandApiConfig.d.ts +3 -2
  106. package/dist/_dts/sdk/src/rendering/islands/enhancers/shopShared.d.ts +2 -0
  107. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  108. package/dist/_dts/sdk/src/version.d.ts +1 -1
  109. package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +1 -1
  110. package/dist/_dts/theme-core/src/buttons/classNames.d.ts +3 -13
  111. package/dist/_dts/theme-core/src/customCss/index.d.ts +1 -1
  112. package/dist/_dts/theme-core/src/customCss/patch.d.ts +0 -5
  113. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  114. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  115. package/dist/_dts/theme-core/src/surfaces/logoVariant.d.ts +26 -0
  116. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +10 -0
  117. package/dist/_dts/ui/src/editor-item-card.d.ts +116 -0
  118. package/dist/_dts/ui/src/index.d.ts +1 -0
  119. package/dist/client/{BookingConsentAgreement-CnJeq3_r.mjs → BookingConsentAgreement-DoAILrkN.mjs} +4 -55
  120. package/dist/client/{DiscountCodeDisclosure-BINEO6J9.mjs → DiscountCodeDisclosure-X528hUTf.mjs} +27 -17
  121. package/dist/client/{EventCombined.client-srxNQ6sZ.mjs → EventCombined.client-DSBVwq5m.mjs} +54 -46
  122. package/dist/client/{EventListing.client-DbyVyGkX.mjs → EventListing.client-DmFAX7Vb.mjs} +3 -4
  123. package/dist/client/{LeafletStaticMap-B-wpijzL.mjs → LeafletStaticMap-BAqXdfhq.mjs} +1 -1
  124. package/dist/client/ThemedButton-BwNFVwi4.mjs +412 -0
  125. package/dist/client/{accordion-B-iUXU7n.mjs → accordion-DRhMdkbd.mjs} +1 -1
  126. package/dist/client/{bookingForm-BXYPke5q.mjs → bookingForm-iJ_nCsNF.mjs} +26 -32
  127. package/dist/client/bookings.mjs +657 -650
  128. package/dist/client/{carousel-Cr4aj63H.mjs → carousel-D8zuffZr.mjs} +2 -2
  129. package/dist/client/{carousel.client-DQTjCVQT.mjs → carousel.client-jahpU9Vz.mjs} +1 -1
  130. package/dist/client/{cart-DibP9WWa.mjs → cart-DeMGJViN.mjs} +3 -3
  131. package/dist/client/{checkout-CrSBVnL8.mjs → checkout-DXc06Km2.mjs} +3 -3
  132. package/dist/client/{checkoutUrls-FL6lRkrt.mjs → checkoutUrls-CW3-78uu.mjs} +1 -1
  133. package/dist/client/client.mjs +2714 -2448
  134. package/dist/client/{colorStyles-3013aRAY.mjs → colorStyles-CuJBiS-1.mjs} +16 -4
  135. package/dist/client/{context-Ces-AgdR.mjs → context-CDLCfDep.mjs} +35 -8
  136. package/dist/client/{dates-BXyNeNhB.mjs → dates-ClFx7Epy.mjs} +2 -2
  137. package/dist/client/{eventCalendar-HwpPeqrH.mjs → eventCalendar-BaGpnOGN.mjs} +39 -50
  138. package/dist/client/{eventCombined-BpFUkuEI.mjs → eventCombined-ywONOx2m.mjs} +5 -4
  139. package/dist/client/{eventDetails-DK_agiWy.mjs → eventDetails-B2LlOTYY.mjs} +4 -4
  140. package/dist/client/{eventListing-DhzHqP1c.mjs → eventListing-CMgxWpqP.mjs} +5 -4
  141. package/dist/client/{eventRegistration-BdQ_Dn2d.mjs → eventRegistration-BarLDNHR.mjs} +549 -592
  142. package/dist/client/{form-B1frcuzy.mjs → form-BjqKaBJ7.mjs} +9 -10
  143. package/dist/client/{headerSection-CT5z460s.mjs → headerSection-CP4XDwz1.mjs} +23 -30
  144. package/dist/client/hooks.mjs +269 -63
  145. package/dist/client/{locationMap-CIQXB9i2.mjs → locationMap-C5gW-d-w.mjs} +9 -10
  146. package/dist/client/{media-DHpfFwd3.mjs → media-BtJ37tzS.mjs} +1 -1
  147. package/dist/client/{newsletterForm-BYNYZSes.mjs → newsletterForm-afXlVSA0.mjs} +8 -9
  148. package/dist/client/{pricing-CbTlAsmt.mjs → pricing-Bl1CAl28.mjs} +1 -1
  149. package/dist/client/{productDetail-CR7Z3yjS.mjs → productDetail-CvQ3jWQe.mjs} +3 -3
  150. package/dist/client/{productList-DXj00vzR.mjs → productList-U874PGO7.mjs} +3 -3
  151. package/dist/client/{propsDecoder-DiLiBdek.mjs → propsDecoder-DPXtCZWP.mjs} +100 -29
  152. package/dist/client/rendering/client.mjs +2397 -2279
  153. package/dist/client/rendering/islands.mjs +19 -19
  154. package/dist/client/rendering.mjs +2742 -2452
  155. package/dist/client/{routeIslandApiConfig-UNsfPcYq.mjs → routeIslandApiConfig-NGYiUWXu.mjs} +8 -1
  156. package/dist/client/{scrollToBlock-CrcbBf0h.mjs → scrollToBlock-0-C3DVhK.mjs} +1 -1
  157. package/dist/client/{shop-DgqiB_1b.mjs → shop-BXjXhM9P.mjs} +45 -58
  158. package/dist/client/{shop-commerce-D_J781in.mjs → shop-commerce-BZ6UlWJ7.mjs} +42 -55
  159. package/dist/client/{shop-commerce-store-PGUbDwqe.mjs → shop-commerce-store-DlSBXb3D.mjs} +1 -1
  160. package/dist/client/{shopShared-C_Bb2zwG.mjs → shopShared-kkEOiLPA.mjs} +6 -5
  161. package/dist/client/{useEventFilters-CM17Xpr1.mjs → useEventFilters-zvnnE1ro.mjs} +66 -355
  162. package/dist/preview-next/before-render.mjs +11 -0
  163. package/dist/preview-next/client/runtime.mjs +4 -4
  164. package/dist/preview-next/editor-chrome.css +8 -0
  165. package/dist/preview-next/keepAlive.mjs +11 -0
  166. package/dist/preview-next/middleware.mjs +11 -0
  167. package/dist/{previewAuthStore-oVttoRDO.mjs → previewAuthStore-JA6-I_sL.mjs} +11 -0
  168. package/dist/{sdk-runtime-DhmuRhIX.mjs → sdk-runtime-DFJlQt3q.mjs} +2 -2
  169. package/dist/{separator-C3hlg9LH.mjs → separator-o8GHb1xh.mjs} +1 -1
  170. package/dist/server/components.mjs +840 -625
  171. package/dist/server/config-validation.mjs +269 -63
  172. package/dist/server/config.mjs +269 -63
  173. package/dist/server/data.mjs +269 -63
  174. package/dist/server/index.mjs +20 -5
  175. package/dist/server/navigation.mjs +28 -1
  176. package/dist/server/next.mjs +14129 -13937
  177. package/dist/server/page-converter.mjs +111 -59
  178. package/dist/server/prebuild.mjs +1 -1
  179. package/dist/server/rendering/server.mjs +844 -624
  180. package/dist/server/rendering.mjs +842 -626
  181. package/dist/server/routing.mjs +306 -69
  182. package/dist/server/server.mjs +278 -68
  183. package/dist/server/theme-bridge.mjs +40 -1
  184. package/dist/styles/index.css +6 -0
  185. package/package.json +1 -1
  186. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +0 -14
  187. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +0 -8
@@ -2,7 +2,7 @@ import type { DirectCheckoutCollectionOptionKind, PaymentMethod } from '../../ap
2
2
  import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
3
3
  import type { EventRegistrationDirectPaymentOption, EventRegistrationDirectPaymentSelectionState } from './eventPaymentOptions';
4
4
  import type { EventRegistrationPageSurfaceSubject } from './eventScope';
5
- import type { EligibilityData, EventTicketSelectionLine, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult } from './types';
5
+ import type { EligibilityData, EventTicketSelectionLine, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStatusRecoveryState, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult } from './types';
6
6
  import type { SelectableEventTicketType } from './utils';
7
7
  import type { BlockButtonRole } from '../../../constants/buttonRoles';
8
8
  import type { PortalAuthState, PortalProfile } from './hooks';
@@ -44,6 +44,9 @@ export type EventRegistrationFlowStatus = Readonly<{
44
44
  tag: 'verifying-payment';
45
45
  }> | Readonly<{
46
46
  tag: 'verifying-timeout';
47
+ }> | Readonly<{
48
+ tag: 'payment-status';
49
+ state: PaymentStatusRecoveryState;
47
50
  }> | Readonly<{
48
51
  tag: 'payment-failed';
49
52
  message: string;
@@ -66,6 +69,9 @@ export type EventRegistrationFlowView = Readonly<{
66
69
  }> | Readonly<{
67
70
  kind: 'verifying';
68
71
  message: string;
72
+ }> | Readonly<{
73
+ kind: 'payment-status';
74
+ state: PaymentStatusRecoveryState;
69
75
  }> | Readonly<{
70
76
  kind: 'success';
71
77
  result: RegistrationResult;
@@ -191,6 +197,7 @@ export type EventRegistrationTerminalModel = Readonly<{
191
197
  result: RegistrationResult | null;
192
198
  errorMessage: string;
193
199
  verification: UseEventRegistrationWizardResult['verification'];
200
+ paymentStatusRecovery: PaymentStatusRecoveryState | null;
194
201
  }>;
195
202
  export type EventRegistrationFlowActions = Readonly<{
196
203
  selectEvent: (event: RegistrationEvent) => void;
@@ -210,6 +217,10 @@ export type EventRegistrationFlowActions = Readonly<{
210
217
  back: () => void;
211
218
  submit: (options?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
212
219
  retry: () => void;
220
+ checkPaymentStatus: () => void;
221
+ continueExistingPayment: () => void;
222
+ returnToPayment: () => void;
223
+ returnToBooking: () => void;
213
224
  }>;
214
225
  export type HeadlessEventRegistrationFlow = Readonly<{
215
226
  status: EventRegistrationFlowStatus;
@@ -251,6 +262,7 @@ export type EventRegistrationOverridePropsLike = Readonly<{
251
262
  apiBaseUrl?: string;
252
263
  portalToken?: string | null;
253
264
  previewToken?: string | null;
265
+ readAuthority?: import('../../api').BrowserReadAuthority;
254
266
  stage?: 'preview' | 'published';
255
267
  occurrenceContext?: OccurrenceContext | null;
256
268
  subject?: unknown;
@@ -261,6 +273,7 @@ export type EventRegistrationOverrideInput = Readonly<{
261
273
  apiBaseUrl: string;
262
274
  portalToken: string | null;
263
275
  previewToken: string | null;
276
+ readAuthority?: import('../../api').BrowserReadAuthority;
264
277
  stage?: 'preview' | 'published';
265
278
  occurrenceContext?: OccurrenceContext | null;
266
279
  subject?: EventRegistrationPageSurfaceSubject | null;
@@ -1,10 +1,11 @@
1
- import type { BlockApiConfig } from '../../api';
1
+ import { type BlockApiConfig, type BrowserReadAuthority } from '../../api';
2
2
  import type { EventRegistrationOverrideInputResult, EventRegistrationOverridePropsLike } from './event-registration.headless.contract';
3
3
  export declare function createEventRegistrationBlockApiConfig(input: Readonly<{
4
4
  siteId: string;
5
5
  apiBaseUrl: string;
6
6
  portalToken?: string | null;
7
7
  previewToken?: string | null;
8
+ readAuthority?: BrowserReadAuthority;
8
9
  stage?: 'preview' | 'published';
9
10
  }>): BlockApiConfig;
10
11
  export declare function getEventRegistrationOverrideInput(props: EventRegistrationOverridePropsLike): EventRegistrationOverrideInputResult;
@@ -10,8 +10,8 @@ export declare function resolveEventRegistrationSubmitPlan(input: Readonly<{
10
10
  eventRequiresPayment: boolean;
11
11
  canJoinWaitlist?: boolean | null;
12
12
  }>): EventRegistrationSubmitPlan;
13
- export declare function resolveHeadlessEventRegistrationStatus(wizard: Pick<UseEventRegistrationWizardResult, 'step' | 'registrationResult' | 'errorMessage'> & Partial<Pick<UseEventRegistrationWizardResult, 'errorAction'>>): EventRegistrationFlowStatus;
14
- export declare function resolveHeadlessEventRegistrationView(wizard: Readonly<Pick<UseEventRegistrationWizardResult, 'step' | 'scopedEvents' | 'occurrenceContext' | 'registrationResult' | 'errorMessage'> & {
13
+ export declare function resolveHeadlessEventRegistrationStatus(wizard: Pick<UseEventRegistrationWizardResult, 'step' | 'registrationResult' | 'errorMessage'> & Partial<Pick<UseEventRegistrationWizardResult, 'errorAction' | 'paymentStatusRecovery'>>): EventRegistrationFlowStatus;
14
+ export declare function resolveHeadlessEventRegistrationView(wizard: Readonly<Pick<UseEventRegistrationWizardResult, 'step' | 'scopedEvents' | 'occurrenceContext' | 'registrationResult' | 'errorMessage'> & Partial<Pick<UseEventRegistrationWizardResult, 'paymentStatusRecovery'>> & {
15
15
  api: Pick<UseEventRegistrationWizardResult['api'], 'config'>;
16
16
  }>): EventRegistrationFlowView;
17
17
  export declare function deriveEventRegistrationSteps(input: Readonly<{
@@ -1,4 +1,5 @@
1
1
  import type { EligibilityData } from './types';
2
+ export declare function isSelectionSoldOut(availability: EligibilityData['availability'] | undefined): boolean;
2
3
  export declare function resolveRegistrationAvailabilityBlocker(input: Readonly<{
3
4
  hasWaitlistClaim: boolean;
4
5
  eligibility: EligibilityData | null;
@@ -9,7 +10,3 @@ export declare function resolvePricingSelectionBlocker(input: Readonly<{
9
10
  hasValidSelection: boolean;
10
11
  slidingScaleSelectionMessage: string | null;
11
12
  }>): string | null;
12
- export declare function isSoldOutWithoutWaitlist(input: Readonly<{
13
- hasWaitlistClaim: boolean;
14
- eligibility: EligibilityData | null;
15
- }>): boolean;
@@ -4,6 +4,18 @@ export type RegistrationTarget = Readonly<{
4
4
  subject: RegistrationSubject;
5
5
  selectedEventId: string | null;
6
6
  }>;
7
+ /** Public requests share subject identity without copying the run's display sessions. */
8
+ export declare function toRegistrationRequestSubject(subject: RegistrationSubject, attendanceMode: 'in_person' | 'online' | null | undefined): {
9
+ kind: "occurrence";
10
+ occurrenceId: string;
11
+ attendanceMode: "in_person" | "online" | undefined;
12
+ eventSeriesId?: undefined;
13
+ } | {
14
+ kind: "wholeSeries";
15
+ eventSeriesId: string;
16
+ attendanceMode: "in_person" | "online" | undefined;
17
+ occurrenceId?: undefined;
18
+ };
7
19
  export declare function eventMatchesOccurrenceId(event: Pick<RegistrationEvent, 'selectionId' | 'registrationSubject'>, occurrenceId: string): boolean;
8
20
  export declare function findEventByOccurrenceId(events: readonly RegistrationEvent[], occurrenceId: string): RegistrationEvent | null;
9
21
  export declare function findPreSelectedEvent(input: Readonly<{
@@ -15,7 +15,7 @@ export declare function resetRegistrationAfterExpiry(input: Readonly<{
15
15
  setErrorMessage: (message: string) => void;
16
16
  setPendingRegistrationReference: (reference: EventRegistrationStatusReference | null) => void;
17
17
  }>): void;
18
- /** Recovery never starts another payment. Unknown payment outcomes go to the portal. */
18
+ /** Retry the retained submission in place; explicit payment uncertainty stays status-only. */
19
19
  export declare function recoverRegistrationError(action: EventRegistrationErrorAction, handlers: Readonly<{
20
20
  canJoinWaitlist?: boolean;
21
21
  refreshOptions: () => void;
@@ -17,6 +17,7 @@ type PendingRegistrationV5 = {
17
17
  formData: FormData;
18
18
  ticketSelections: EventTicketSelectionLine[];
19
19
  selectedEventId: string | null;
20
+ eventSeriesId?: string | null;
20
21
  selectedAttendanceMode?: 'in_person' | 'online' | null;
21
22
  paymentSelection: PaymentSelection & {
22
23
  method: Exclude<PaymentSelection['method'], null>;
@@ -1,4 +1,7 @@
1
1
  import type { EventTicketSelectionLine } from './types';
2
+ import type { PublicEventPricingOptionAvailability } from '../../../../../../core/src/index';
3
+ /** Ticket selection requests a quote; only the server admits a booking. */
4
+ export declare function canRequestTicketOption(availability: PublicEventPricingOptionAvailability): boolean;
2
5
  export declare function normalizeTicketSelectionLines(lines: readonly EventTicketSelectionLine[]): EventTicketSelectionLine[];
3
6
  export declare function getTicketSelectionTotal(lines: readonly EventTicketSelectionLine[]): number;
4
7
  export declare function getTicketLineQuantity(lines: readonly EventTicketSelectionLine[], pricingOptionId: string | null): number;
@@ -8,9 +11,7 @@ export declare function hasValidPricingOptionSelection(input: Readonly<{
8
11
  lines: readonly EventTicketSelectionLine[];
9
12
  visibleOptions: readonly Readonly<{
10
13
  pricingOptionId: string;
11
- availability: Readonly<{
12
- kind: 'available' | 'unavailable';
13
- }>;
14
+ availability: PublicEventPricingOptionAvailability;
14
15
  }>[];
15
16
  }>): boolean;
16
17
  export declare function setTicketLineQuantity(input: Readonly<{
@@ -22,8 +23,6 @@ export declare function getTicketTypeLineMax(input: Readonly<{
22
23
  currentQuantity: number;
23
24
  totalSelectedQuantity: number;
24
25
  maxTickets: number;
25
- availableSpots: number | null | undefined;
26
- ticketTypeRemainingCapacity: number | null;
27
26
  }>): number;
28
27
  export type TicketSelectionSummaryLine = Readonly<{
29
28
  pricingOptionId: string | null;
@@ -24,7 +24,7 @@ export type GuestErrors = Record<number, {
24
24
  /** Error message for name field */
25
25
  name?: string;
26
26
  }>;
27
- export type RegistrationStep = 'select-event' | 'select-tickets' | 'enter-details' | 'select-payment' | 'submitting' | 'redirecting' | 'verifying-payment' | 'verifying-timeout' | 'payment-failed' | 'success' | 'error';
27
+ export type RegistrationStep = 'select-event' | 'select-tickets' | 'enter-details' | 'select-payment' | 'submitting' | 'redirecting' | 'verifying-payment' | 'verifying-timeout' | 'payment-status' | 'payment-failed' | 'success' | 'error';
28
28
  export type RegistrationResult = {
29
29
  status: 'confirmed' | 'waitlist';
30
30
  /**
@@ -35,6 +35,14 @@ export type RegistrationResult = {
35
35
  message?: string;
36
36
  variant?: 'success' | 'info';
37
37
  };
38
+ export type PaymentStatusRecoveryState = Readonly<{
39
+ subject: import('../../api/types').EventRegistrationPaymentSubject;
40
+ }> & (Readonly<{
41
+ kind: 'ready' | 'checking' | 'processing' | 'temporarilyUnavailable' | 'retryAvailable' | 'assistanceRequired';
42
+ }> | Readonly<{
43
+ kind: 'paymentAvailable';
44
+ checkoutUrl: string;
45
+ }>);
38
46
  export type RegistrationAttendanceMode = 'in_person' | 'online';
39
47
  export type EventTicketSelectionLine = Readonly<{
40
48
  pricingOptionId: string | null;
@@ -55,8 +63,6 @@ export type EligibilityData = {
55
63
  isFree: boolean;
56
64
  /** Site credit for the authenticated registration subject, if available. */
57
65
  credit?: import('../../api').PortalCredit | null;
58
- /** Whether the user has any payment/registration options available */
59
- eligible: boolean;
60
66
  /** Whether the selected event/ticket type currently requires payment. */
61
67
  requiresPayment: boolean;
62
68
  /** Persisted pricing mode for the underlying event series. */
@@ -69,12 +75,6 @@ export type EligibilityData = {
69
75
  ticketLines: EventTicketLineSummary[];
70
76
  /** Public ticket types available for selection in ticket-type mode. */
71
77
  ticketTypes: readonly EventRegistrationPricingOption[];
72
- /** Whether the event is currently full for the requested ticket count */
73
- isFull: boolean;
74
- /** Whether waitlists are enabled for this event */
75
- waitlistEnabled: boolean;
76
- /** Whether this registration can join the waitlist instead of paying */
77
- canJoinWaitlist: boolean;
78
78
  /** Event price in cents (null if free) */
79
79
  price: number | null;
80
80
  /** Price currency code */
@@ -94,8 +94,6 @@ export type EligibilityData = {
94
94
  id: string;
95
95
  membershipName: string;
96
96
  }>;
97
- /** Whether the event accepts direct payment */
98
- canPayDirectly: boolean;
99
97
  /** Whether the event accepts passes */
100
98
  eventAcceptsPasses: boolean;
101
99
  /** Whether the event accepts memberships */
@@ -1,9 +1,9 @@
1
1
  import type { EventRegistrationErrorAction } from '../../../../../../commerce/src/purchase/index';
2
2
  import type { BlockApiClient } from '../../api';
3
3
  import type { EventRegistrationStatusReference, PaymentMethod } from '../../api/types';
4
- import type { RegistrationTarget } from './registrationDerivations';
4
+ import { type RegistrationTarget } from './registrationDerivations';
5
5
  import { savePendingRegistration } from './sessionStorage';
6
- import type { EventTicketSelectionLine, FormData, Guest, PaymentSelection, RegistrationResult, RegistrationStep } from './types';
6
+ import type { EventTicketSelectionLine, FormData, Guest, PaymentSelection, PaymentStatusRecoveryState, RegistrationResult, RegistrationStep } from './types';
7
7
  export type EventRegistrationSubmitOptions = Readonly<{
8
8
  redirect?: 'auto' | 'manual';
9
9
  }>;
@@ -12,6 +12,11 @@ export type EventRegistrationSubmitResult = Readonly<{
12
12
  outcome: {
13
13
  kind: 'completed';
14
14
  };
15
+ }> | Readonly<{
16
+ ok: true;
17
+ outcome: {
18
+ kind: 'payment_status';
19
+ };
15
20
  }> | Readonly<{
16
21
  ok: true;
17
22
  outcome: {
@@ -25,6 +30,7 @@ export type EventRegistrationSubmitResult = Readonly<{
25
30
  }>;
26
31
  export type EventRegistrationSubmit = (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
27
32
  export type UseEventRegistrationSubmitInput = {
33
+ commandRef: EventRegistrationCommandRef;
28
34
  api: BlockApiClient;
29
35
  registrationTarget: RegistrationTarget | null;
30
36
  selectedAttendanceMode: 'in_person' | 'online' | null;
@@ -42,6 +48,14 @@ export type UseEventRegistrationSubmitInput = {
42
48
  setErrorAction?: (action: EventRegistrationErrorAction) => void;
43
49
  setRegistrationResult: (result: RegistrationResult) => void;
44
50
  setErrorMessage: (message: string) => void;
51
+ setPaymentStatusRecovery: (state: PaymentStatusRecoveryState | null) => void;
52
+ };
53
+ /** Shared only with explicit start-again actions; uncertainty alone retains identity. */
54
+ export type EventRegistrationCommandRef = {
55
+ current: Readonly<{
56
+ id: string;
57
+ intentKey: string;
58
+ }> | null;
45
59
  };
46
60
  export type EventRegistrationSubmitDeps = Readonly<{
47
61
  savePendingRegistration: typeof savePendingRegistration;
@@ -57,5 +71,45 @@ type ClientCommandIdCryptoSource = Readonly<{
57
71
  }>;
58
72
  export declare function createClientCommandId(cryptoSource?: ClientCommandIdCryptoSource): string;
59
73
  export declare function useEventRegistrationSubmit(options: UseEventRegistrationSubmitInput): EventRegistrationSubmit;
74
+ /**
75
+ * Describe a completed registration to the success step.
76
+ *
77
+ * Only pass redemptions adopt the server's message: it names the credits spent
78
+ * and the balance left, which the block's copy cannot. Every other method keeps
79
+ * whatever success message the site configured.
80
+ */
60
81
  export declare function useEventRegistrationSubmitWithDeps(options: UseEventRegistrationSubmitInput, deps: EventRegistrationSubmitDeps): EventRegistrationSubmit;
82
+ type SelectionSnapshot = Exclude<PaymentSelection, Readonly<{
83
+ method: null;
84
+ }>>;
85
+ /**
86
+ * Freeze everything this submission is about to send, including the command
87
+ * identity the server keys the commit on.
88
+ */
89
+ declare function prepareSubmitContext(options: UseEventRegistrationSubmitInput, registrationCommandId: string, target: RegistrationTarget, method: PaymentMethod, passId: string | undefined, membershipId: string | undefined, selection: PaymentSelection | undefined): {
90
+ registrationCommandId: string;
91
+ ticketSelections: Readonly<{
92
+ pricingOptionId: string | null;
93
+ quantity: number;
94
+ }>[];
95
+ bundleProductId: string | undefined;
96
+ selectionSnapshot: SelectionSnapshot;
97
+ guestsPayload: {
98
+ name: string;
99
+ email: string | undefined;
100
+ phone: string | undefined;
101
+ }[] | undefined;
102
+ subject: {
103
+ kind: "occurrence";
104
+ occurrenceId: string;
105
+ attendanceMode: "in_person" | "online" | undefined;
106
+ eventSeriesId?: undefined;
107
+ } | {
108
+ kind: "wholeSeries";
109
+ eventSeriesId: string;
110
+ attendanceMode: "in_person" | "online" | undefined;
111
+ occurrenceId?: undefined;
112
+ };
113
+ };
114
+ export type PreparedSubmit = ReturnType<typeof prepareSubmitContext>;
61
115
  export {};
@@ -30,7 +30,7 @@ export type EventRegistrationWizardDeps = Readonly<{
30
30
  useDiscountCodeUi: typeof useDiscountCodeUi;
31
31
  }>;
32
32
  export declare function useEventRegistrationWizard(options: UseEventRegistrationWizardOptions): {
33
- api: import("../../api").BlockApiClient;
33
+ api: import("../../api").BoundBlockApiClient;
34
34
  anchorId: string;
35
35
  occurrenceContext: {
36
36
  id: string;
@@ -51,8 +51,6 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
51
51
  scopedEvents: RegistrationEvent[];
52
52
  preSelectedEvent: RegistrationEvent | null;
53
53
  hasPreSelectedContext: boolean;
54
- checkoutRecovery: boolean;
55
- startCheckoutRecovery: () => void;
56
54
  step: RegistrationStep;
57
55
  setStep: (nextStep: RegistrationStep) => void;
58
56
  selectedEvent: RegistrationEvent | null;
@@ -147,6 +145,11 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
147
145
  discountContext: import("../../api").DiscountContext | null;
148
146
  shouldShowDiscountToggle: boolean;
149
147
  verification: import("./useEventRegistrationStripeReturn").EventRegistrationStripeReturnResult;
148
+ paymentStatusRecovery: import("./types").PaymentStatusRecoveryState | null;
149
+ handleCheckPaymentStatus: () => void;
150
+ handleContinueExistingPayment: () => void;
151
+ handleReturnToPayment: () => void;
152
+ handleReturnToBooking: () => void;
150
153
  handleDetailsComplete: () => Promise<EventRegistrationDetailsCompleteResult>;
151
154
  handlePaymentSelect: () => Promise<void>;
152
155
  handleUseCardInsteadOfPass: () => void;
@@ -156,7 +159,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
156
159
  handleRetry: () => void;
157
160
  };
158
161
  export declare function useEventRegistrationWizardWithDeps(options: UseEventRegistrationWizardOptions, deps: EventRegistrationWizardDeps): {
159
- api: import("../../api").BlockApiClient;
162
+ api: import("../../api").BoundBlockApiClient;
160
163
  anchorId: string;
161
164
  occurrenceContext: {
162
165
  id: string;
@@ -177,8 +180,6 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
177
180
  scopedEvents: RegistrationEvent[];
178
181
  preSelectedEvent: RegistrationEvent | null;
179
182
  hasPreSelectedContext: boolean;
180
- checkoutRecovery: boolean;
181
- startCheckoutRecovery: () => void;
182
183
  step: RegistrationStep;
183
184
  setStep: (nextStep: RegistrationStep) => void;
184
185
  selectedEvent: RegistrationEvent | null;
@@ -273,6 +274,11 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
273
274
  discountContext: import("../../api").DiscountContext | null;
274
275
  shouldShowDiscountToggle: boolean;
275
276
  verification: import("./useEventRegistrationStripeReturn").EventRegistrationStripeReturnResult;
277
+ paymentStatusRecovery: import("./types").PaymentStatusRecoveryState | null;
278
+ handleCheckPaymentStatus: () => void;
279
+ handleContinueExistingPayment: () => void;
280
+ handleReturnToPayment: () => void;
281
+ handleReturnToBooking: () => void;
276
282
  handleDetailsComplete: () => Promise<EventRegistrationDetailsCompleteResult>;
277
283
  handlePaymentSelect: () => Promise<void>;
278
284
  handleUseCardInsteadOfPass: () => void;
@@ -0,0 +1,23 @@
1
+ import { type Dispatch, type SetStateAction } from 'react';
2
+ import type { BlockApiClient } from '../../api/client';
3
+ import type { EventRegistrationStatusReference } from '../../api/types';
4
+ import type { PaymentStatusRecoveryState, RegistrationResult, RegistrationStep } from './types';
5
+ type PaymentStatusSetters = Readonly<{
6
+ setPendingRegistrationReference: Dispatch<SetStateAction<EventRegistrationStatusReference | null>>;
7
+ setRegistrationResult: Dispatch<SetStateAction<RegistrationResult | null>>;
8
+ setOptionsRefreshKey: Dispatch<SetStateAction<number>>;
9
+ setStep: (step: RegistrationStep) => void;
10
+ }>;
11
+ type UsePaymentStatusRecoveryOptions = PaymentStatusSetters & Readonly<{
12
+ api: BlockApiClient;
13
+ beginNewSubmission: () => void;
14
+ }>;
15
+ export declare function usePaymentStatusRecovery(options: UsePaymentStatusRecoveryOptions): {
16
+ recovery: PaymentStatusRecoveryState | null;
17
+ showRecovery: (next: PaymentStatusRecoveryState | null) => void;
18
+ check: () => void;
19
+ continuePayment: () => void;
20
+ returnToPayment: () => void;
21
+ returnToBooking: () => void;
22
+ };
23
+ export {};
@@ -59,7 +59,7 @@ export declare function getVisibleTicketTypes(input: {
59
59
  eligibility: EligibilityData | null;
60
60
  selectedAttendanceMode?: 'in_person' | 'online' | null;
61
61
  }): SelectableEventTicketType[];
62
- export declare function getImplicitSingleAvailableTicketType(ticketTypes: readonly SelectableEventTicketType[]): SelectableEventTicketType | null;
62
+ export declare function getImplicitSingleTicketType(ticketTypes: readonly SelectableEventTicketType[]): SelectableEventTicketType | null;
63
63
  export declare function findSelectedTicketType(input: {
64
64
  event: TicketTypeSourceEvent | null;
65
65
  eligibility: EligibilityData | null;
@@ -1,3 +1,4 @@
1
+ import type { BrowserReadAuthority } from '../api/types';
1
2
  import type { BlockButtonRole } from '../../constants/buttonRoles';
2
3
  import type { PublicEvent } from '../../blocks/events/shared/types';
3
4
  import { type PublicMembershipProductCollection, type PublicPassProductCollection } from '../../blocks/shop.shared';
@@ -15,6 +16,7 @@ export type EventRegistrationSourceProps = Readonly<{
15
16
  apiBaseUrl?: string;
16
17
  portalToken?: string | null;
17
18
  previewToken?: string | null;
19
+ readAuthority?: BrowserReadAuthority;
18
20
  occurrenceContext?: OccurrenceContext | null;
19
21
  subject?: EventRegistrationPageSurfaceSubject | null;
20
22
  events?: PublicEvent[] | null;
@@ -58,6 +60,7 @@ type EventRegistrationIslandMeta = Readonly<{
58
60
  apiBaseUrl?: string;
59
61
  portalToken?: string | null;
60
62
  previewToken?: string | null;
63
+ readAuthority?: BrowserReadAuthority;
61
64
  stage?: 'preview' | 'published';
62
65
  }>;
63
66
  export declare function buildEventRegistrationDisplayFromScopedEvents(source: EventRegistrationSourceProps, scopedSourceEvents: readonly PublicEvent[]): EventRegistrationDisplay;
@@ -69,6 +72,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
69
72
  apiBaseUrl?: string;
70
73
  portalToken?: string | null;
71
74
  previewToken?: string | null;
75
+ readAuthority?: BrowserReadAuthority;
72
76
  occurrenceContext?: OccurrenceContext | null;
73
77
  subject?: EventRegistrationPageSurfaceSubject | null;
74
78
  events?: PublicEvent[] | null;
@@ -105,6 +109,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
105
109
  apiBaseUrl?: string;
106
110
  portalToken?: string | null;
107
111
  previewToken?: string | null;
112
+ readAuthority?: BrowserReadAuthority;
108
113
  occurrenceContext?: OccurrenceContext | null;
109
114
  subject?: EventRegistrationPageSurfaceSubject | null;
110
115
  events?: PublicEvent[] | null;
@@ -134,6 +139,7 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
134
139
  apiBaseUrl?: string;
135
140
  portalToken?: string | null;
136
141
  previewToken?: string | null;
142
+ readAuthority?: BrowserReadAuthority;
137
143
  occurrenceContext?: OccurrenceContext | null;
138
144
  subject?: EventRegistrationPageSurfaceSubject | null;
139
145
  events?: PublicEvent[] | null;
@@ -181,6 +187,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
181
187
  apiBaseUrl?: string;
182
188
  portalToken?: string | null;
183
189
  previewToken?: string | null;
190
+ readAuthority?: BrowserReadAuthority;
184
191
  stage?: "preview" | "published";
185
192
  }> & {
186
193
  renderKind: "client-owned";
@@ -198,6 +205,7 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
198
205
  apiBaseUrl?: string;
199
206
  portalToken?: string | null;
200
207
  previewToken?: string | null;
208
+ readAuthority?: BrowserReadAuthority;
201
209
  stage?: "preview" | "published";
202
210
  }> & {
203
211
  renderKind: "client-owned";
@@ -1,3 +1,4 @@
1
+ import type { BrowserReadAuthority } from "../../api/types";
1
2
  import type { DisplayMode, EventLayout } from "../../../blocks/events/shared/types";
2
3
  import { type InteractiveIslandProps } from "../../../../contracts/islands";
3
4
  import type { EventListingDisplay, EventListingInteractiveIslandProps } from "./EventListing.interactive";
@@ -36,6 +37,7 @@ export type EventCalendarHydration = EventCollectionHydration;
36
37
  type EventCalendarIslandMeta = Readonly<{
37
38
  siteId: string;
38
39
  apiBaseUrl?: string;
40
+ readAuthority?: BrowserReadAuthority;
39
41
  stage?: "preview" | "published";
40
42
  }>;
41
43
  export declare function buildEventCalendarDisplay(source: EventCalendarSourceProps): EventCalendarDisplay;
@@ -52,7 +54,6 @@ export declare const eventCalendarBlockRuntime: Readonly<{
52
54
  hydration: Readonly<{
53
55
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
54
56
  siteId: string;
55
- stage?: "preview" | "published";
56
57
  prefetchedEvents: boolean;
57
58
  eventSurface: import("../../..").EventSurfaceScope;
58
59
  filterEventPresets: string | null;
@@ -78,7 +79,6 @@ export declare const eventCalendarBlockRuntime: Readonly<{
78
79
  hydration: Readonly<{
79
80
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
80
81
  siteId: string;
81
- stage?: "preview" | "published";
82
82
  prefetchedEvents: boolean;
83
83
  eventSurface: import("../../..").EventSurfaceScope;
84
84
  filterEventPresets: string | null;
@@ -98,7 +98,6 @@ export declare const eventCalendarBlockRuntime: Readonly<{
98
98
  hydration: Readonly<{
99
99
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
100
100
  siteId: string;
101
- stage?: "preview" | "published";
102
101
  prefetchedEvents: boolean;
103
102
  eventSurface: import("../../..").EventSurfaceScope;
104
103
  filterEventPresets: string | null;
@@ -120,6 +119,7 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
120
119
  encode: (value: Readonly<Readonly<{
121
120
  siteId: string;
122
121
  apiBaseUrl?: string;
122
+ readAuthority?: BrowserReadAuthority;
123
123
  stage?: "preview" | "published";
124
124
  }> & {
125
125
  renderKind: "progressive";
@@ -130,7 +130,6 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
130
130
  hydration: Readonly<{
131
131
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
132
132
  siteId: string;
133
- stage?: "preview" | "published";
134
133
  prefetchedEvents: boolean;
135
134
  eventSurface: import("../../..").EventSurfaceScope;
136
135
  filterEventPresets: string | null;
@@ -149,6 +148,7 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
149
148
  decode: (input: unknown) => import("../../../../contracts").DecodeResult<Readonly<Readonly<{
150
149
  siteId: string;
151
150
  apiBaseUrl?: string;
151
+ readAuthority?: BrowserReadAuthority;
152
152
  stage?: "preview" | "published";
153
153
  }> & {
154
154
  renderKind: "progressive";
@@ -159,7 +159,6 @@ export declare const eventCalendarInteractiveIslandPropsCodec: Readonly<{
159
159
  hydration: Readonly<{
160
160
  calendarWindow?: import("../../../../contracts").CalendarWindowPage;
161
161
  siteId: string;
162
- stage?: "preview" | "published";
163
162
  prefetchedEvents: boolean;
164
163
  eventSurface: import("../../..").EventSurfaceScope;
165
164
  filterEventPresets: string | null;
@@ -7,10 +7,9 @@ import type { EventCollectionHydration } from "./shared/eventCollectionContract"
7
7
  import { type CalendarDate, type CalendarViewport } from "./shared";
8
8
  import { type EventListPaginationAction, type EventPageSize } from "./shared/listOptions";
9
9
  import { type CalendarViewToggleOption } from "./shared/calendarViewOptions";
10
- export type EventCombinedClientProps = Readonly<{
10
+ type EventCombinedControllerProps = Readonly<{
11
11
  events?: PublicEvent[] | null;
12
12
  siteId: string;
13
- stage?: "preview" | "published";
14
13
  listLayout?: EventLayout;
15
14
  listColumns?: ColumnOption;
16
15
  eventsPerPage?: EventPageSize;
@@ -40,6 +39,12 @@ export type EventCombinedClientProps = Readonly<{
40
39
  calendarContext: EventCollectionHydration["calendarContext"];
41
40
  calendarWindow?: EventCollectionHydration["calendarWindow"];
42
41
  }>;
42
+ /** External SDK prop shape retained at blocks/client/events; hosted controllers
43
+ * obtain read mode exclusively from their provider, never from this metadata. */
44
+ export type EventCombinedClientProps = EventCombinedControllerProps & Readonly<{
45
+ /** @deprecated Configure browsing authority on BlockApiProvider instead. */
46
+ stage?: "preview" | "published";
47
+ }>;
43
48
  export type EventCombinedIslandClientProps = EventCombinedInteractiveIslandProps;
44
49
  type EventCombinedCalendarTabProps = Readonly<{
45
50
  calendarTabViews: CalendarTabViews;