@riverbankcms/sdk 0.82.0 → 0.84.1

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 (206) hide show
  1. package/README.md +16 -0
  2. package/dist/{PreviewEditorSidebar-LHGK6RIO.mjs → PreviewEditorSidebar-X7RLMEI6.mjs} +330 -11
  3. package/dist/{PreviewEditorUI-AXZG2SDC.mjs → PreviewEditorUI-CT67N4O3.mjs} +3 -3
  4. package/dist/SdkPreviewModeRuntime-EIMQ3S2V.mjs +8 -0
  5. package/dist/_dts/ai/src/contracts/proposals.d.ts +200 -0
  6. package/dist/_dts/api/src/blocks.d.ts +36 -0
  7. package/dist/_dts/api/src/contentRuntime.d.ts +46 -0
  8. package/dist/_dts/api/src/endpoints.d.ts +40 -0
  9. package/dist/_dts/api/src/index.d.ts +2 -2
  10. package/dist/_dts/api/src/sdk-event-pricing.d.ts +61 -0
  11. package/dist/_dts/api/src/sdk-event-schedule.d.ts +52 -0
  12. package/dist/_dts/api/src/sdk-event-upsert.d.ts +50 -0
  13. package/dist/_dts/api/src/sdkContracts.d.ts +67 -33
  14. package/dist/_dts/api/src/shared-contracts.d.ts +13 -0
  15. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +22 -36
  16. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +46 -1
  17. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +6 -1
  18. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +3 -2
  19. package/dist/_dts/block-form/src/utils/visibleWhen.d.ts +7 -0
  20. package/dist/_dts/blocks/src/PageRenderer.d.ts +11 -0
  21. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  22. package/dist/_dts/blocks/src/client/site-chrome.d.ts +1 -1
  23. package/dist/_dts/blocks/src/client.d.ts +4 -0
  24. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +16 -4
  25. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +288 -2016
  26. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +288 -2016
  27. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +288 -2016
  28. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +288 -2016
  29. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +288 -2016
  30. package/dist/_dts/blocks/src/system/blocks/contact-newsletter.d.ts +171 -0
  31. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +288 -2016
  32. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +288 -2016
  33. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +3 -2
  34. package/dist/_dts/blocks/src/system/blocks/index.d.ts +1 -0
  35. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +1 -7
  36. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +2534 -151
  37. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +288 -2016
  38. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +288 -2016
  39. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +288 -2016
  40. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +36 -3
  41. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  42. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  43. package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +4 -1
  44. package/dist/_dts/blocks/src/system/fields/imageShape.d.ts +30 -0
  45. package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +25 -0
  46. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +35 -161
  47. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -6
  48. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +12 -3
  49. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +33 -0
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +0 -2
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +275 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +10 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +22 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +3 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +20 -1
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +13 -4
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +28 -6
  60. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +14 -0
  61. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +1 -1
  62. package/dist/_dts/content-editor/src/controller/buildBlockPublishedBaselines.d.ts +1 -1
  63. package/dist/_dts/content-editor/src/controller/seedDraftBaselinesFromBlocks.d.ts +1 -1
  64. package/dist/_dts/content-editor/src/controller/useBlocksList.d.ts +1 -1
  65. package/dist/_dts/content-editor/src/controller/useInvalidBlockRecovery.d.ts +1 -1
  66. package/dist/_dts/content-editor/src/primitives/PreviewRichTextEditor.d.ts +2 -1
  67. package/dist/_dts/content-editor/src/primitives/PreviewTextEditor.d.ts +1 -0
  68. package/dist/_dts/content-model/src/entry-slots/index.d.ts +1 -0
  69. package/dist/_dts/content-model/src/entry-slots/types.d.ts +356 -0
  70. package/dist/_dts/content-model/src/index.d.ts +1 -0
  71. package/dist/_dts/content-model/src/templates/defaults.d.ts +7 -0
  72. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +100 -5
  73. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +6 -1
  74. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +7 -5
  75. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockCreation.d.ts +3 -2
  76. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockDuplication.d.ts +3 -2
  77. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockReorder.d.ts +3 -2
  78. package/dist/_dts/editor-blocks/src/block-editor/owner.d.ts +27 -0
  79. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  80. package/dist/_dts/media-core/src/assetsInUseSummary.d.ts +8 -0
  81. package/dist/_dts/media-core/src/mediaUsageProjection.d.ts +37 -3
  82. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +4 -2
  83. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  84. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  85. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +19 -0
  86. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +8 -0
  87. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -1
  88. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -1
  89. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +9 -0
  90. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +9 -8
  91. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +10 -1
  92. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +5 -1
  93. package/dist/_dts/sdk/src/bookings/index.d.ts +5 -4
  94. package/dist/_dts/sdk/src/bookings/types.d.ts +2 -2
  95. package/dist/_dts/sdk/src/cli/content/reader.d.ts +9 -8
  96. package/dist/_dts/sdk/src/cli/content/writer.d.ts +6 -1
  97. package/dist/_dts/sdk/src/cli/helpers.d.ts +10 -5
  98. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +2 -2
  99. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +2 -1
  100. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +2 -2
  101. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  102. package/dist/_dts/sdk/src/client/management/types.d.ts +40 -10
  103. package/dist/_dts/sdk/src/config/field-definitions.d.ts +13 -7
  104. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +26 -3
  105. package/dist/_dts/sdk/src/public-api/contracts.d.ts +13 -0
  106. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +1 -0
  107. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +6 -1
  108. package/dist/_dts/sdk/src/rendering/overrides.d.ts +6 -1
  109. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  110. package/dist/_dts/sdk/src/version.d.ts +1 -1
  111. package/dist/_dts/site-commands/src/commands.d.ts +15 -0
  112. package/dist/_dts/theme-core/src/accordions/types.d.ts +1 -1
  113. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  114. package/dist/_dts/theme-core/src/buttons/personalities/ornate-ritual.d.ts +16 -0
  115. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -1
  116. package/dist/_dts/theme-core/src/buttons/types.d.ts +3 -3
  117. package/dist/_dts/theme-core/src/cards/types.d.ts +15 -15
  118. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  119. package/dist/_dts/theme-core/src/inputs/types.d.ts +1 -1
  120. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +33 -33
  121. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  122. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +16 -0
  123. package/dist/_dts/theme-core/src/schema.d.ts +30 -25
  124. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  125. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +141 -1
  126. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -0
  127. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +110 -5
  128. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  129. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  130. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +5 -1
  131. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  132. package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -1
  133. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  134. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +1 -0
  135. package/dist/_dts/theme-core/src/utils/colorStyles.d.ts +6 -6
  136. package/dist/{chunk-2BUMISSH.mjs → chunk-3LXFQS7T.mjs} +1 -1
  137. package/dist/{chunk-FIREV57T.mjs → chunk-LBBPD2IW.mjs} +40 -0
  138. package/dist/{chunk-XQR6THQJ.mjs → chunk-O62NDCTI.mjs} +3390 -1331
  139. package/dist/{chunk-6FWNF3DJ.mjs → chunk-QRKJDWT7.mjs} +158 -20
  140. package/dist/{chunk-HKB6XVIP.mjs → chunk-RCTJAZSK.mjs} +2 -2
  141. package/dist/{chunk-G35HOQEN.mjs → chunk-X5ZCSU6F.mjs} +132 -46
  142. package/dist/cli/index.mjs +2925 -577
  143. package/dist/cli/init-docs/content/agents-section.md +5 -0
  144. package/dist/cli/init-docs/content/cli-reference.md +13 -0
  145. package/dist/cli/init-docs/content/content-management.md +31 -0
  146. package/dist/cli/init-docs/content/getting-started.md +14 -0
  147. package/dist/cli/init-docs/content/workflow-add-block.md +3 -1
  148. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +81 -0
  149. package/dist/cli/init-docs/content/workflow-create-page.md +13 -3
  150. package/dist/cli/init-docs/content/workflow-custom-block.md +9 -0
  151. package/dist/cli/init-docs/content/workflow-templates.md +107 -2
  152. package/dist/client/{accordion-G34C45TW.mjs → accordion-2UZPBMYM.mjs} +2 -2
  153. package/dist/client/{bookingForm-BLBVKSAQ.mjs → bookingForm-DYXT6YB6.mjs} +5 -5
  154. package/dist/client/bookings.mjs +3477 -186
  155. package/dist/client/{carousel-7ZVTBRMD.mjs → carousel-QH77HR6X.mjs} +3 -3
  156. package/dist/client/{cart-Q6S6LZUO.mjs → cart-X4YK4FTW.mjs} +6 -6
  157. package/dist/client/{checkout-5QJLDE4I.mjs → checkout-OM2BEPWD.mjs} +6 -6
  158. package/dist/client/{chunk-ZF4XEWDM.mjs → chunk-3DTWLTXM.mjs} +1 -1
  159. package/dist/client/{chunk-5PQH4Y75.mjs → chunk-4OXKTA3D.mjs} +2 -2
  160. package/dist/client/{chunk-WJFHDTYF.mjs → chunk-52CGCQ7B.mjs} +5 -5
  161. package/dist/client/{chunk-CHAB5ACD.mjs → chunk-7UCLJ5SP.mjs} +2 -2
  162. package/dist/client/{chunk-U2EW7RSR.mjs → chunk-F5VRX5Y6.mjs} +1 -1
  163. package/dist/client/{chunk-SBBSMFFG.mjs → chunk-SYIJ5JO2.mjs} +1 -1
  164. package/dist/client/{chunk-EQKYMX4N.mjs → chunk-UHDWIXVR.mjs} +180 -157
  165. package/dist/client/{chunk-RJHTCTCZ.mjs → chunk-VGDBVNOO.mjs} +429 -15
  166. package/dist/client/{chunk-S3MKFGOG.mjs → chunk-ZE5G642V.mjs} +1 -1
  167. package/dist/client/{chunk-CSZGLBYR.mjs → chunk-ZKUO52W3.mjs} +1 -1
  168. package/dist/client/client.mjs +2685 -847
  169. package/dist/client/{courseRegistration-VUG2JJDB.mjs → courseRegistration-YBOGURTA.mjs} +5 -5
  170. package/dist/client/{eventCalendar-E7D2LD4N.mjs → eventCalendar-K4QJVCMD.mjs} +7 -7
  171. package/dist/client/{eventCombined-FUZ2Z3CS.mjs → eventCombined-MTXGMTCZ.mjs} +7 -7
  172. package/dist/client/{eventDetails-QRITJAOW.mjs → eventDetails-3PC4NL3U.mjs} +7 -7
  173. package/dist/client/{eventListing-INMQMJZ5.mjs → eventListing-TFJET6DN.mjs} +7 -7
  174. package/dist/client/{eventRegistration-TOOJD4WU.mjs → eventRegistration-QGPBGJTW.mjs} +7 -7
  175. package/dist/client/{form-BOWN7ZNQ.mjs → form-MDKR4FNB.mjs} +2 -2
  176. package/dist/client/{headerSection-HFQNZOUU.mjs → headerSection-Y5TMR3TW.mjs} +3 -3
  177. package/dist/client/hooks.mjs +2077 -546
  178. package/dist/client/{locationMap-VUZGC7Y5.mjs → locationMap-RH2LG7FZ.mjs} +2 -2
  179. package/dist/client/{newsletterForm-X2XQTPCB.mjs → newsletterForm-ZR5UDGBT.mjs} +2 -2
  180. package/dist/client/{productDetail-TA7D2G2B.mjs → productDetail-OIGDR4YE.mjs} +6 -6
  181. package/dist/client/{productList-AZOLOZKM.mjs → productList-4MA5S2CX.mjs} +6 -6
  182. package/dist/client/rendering/client.mjs +2560 -1205
  183. package/dist/client/rendering/islands.mjs +19 -19
  184. package/dist/client/rendering.mjs +2932 -1021
  185. package/dist/client/{shop-ZDLO7IIG.mjs → shop-WXSYV5QO.mjs} +6 -6
  186. package/dist/preview-next/before-render.mjs +40 -0
  187. package/dist/preview-next/client/runtime.mjs +5 -5
  188. package/dist/preview-next/middleware.mjs +40 -0
  189. package/dist/{sdk-runtime-CTWKNBDQ.mjs → sdk-runtime-7HJYPRWQ.mjs} +6 -6
  190. package/dist/server/components.mjs +2232 -534
  191. package/dist/server/config-validation.mjs +2068 -536
  192. package/dist/server/config.mjs +2068 -536
  193. package/dist/server/data.mjs +2077 -546
  194. package/dist/server/index.mjs +42 -1
  195. package/dist/server/next.mjs +2345 -574
  196. package/dist/server/page-converter.mjs +2684 -1220
  197. package/dist/server/prebuild.mjs +1 -1
  198. package/dist/server/rendering/server.mjs +2244 -546
  199. package/dist/server/rendering.mjs +2323 -552
  200. package/dist/server/routing.mjs +2012 -420
  201. package/dist/server/server.mjs +2153 -549
  202. package/dist/server/theme-bridge.mjs +1180 -101
  203. package/dist/server/theme.mjs +92 -1
  204. package/dist/styles/index.css +292 -36
  205. package/package.json +1 -1
  206. package/dist/SdkPreviewModeRuntime-RNVRHFFR.mjs +0 -8
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { type BlockApiConfig } from '../api';
3
+ import type { EventRegistrationClientProps } from '../nodes/event-registration/types';
4
+ import { useEventRegistrationWizard } from '../nodes/event-registration/useEventRegistrationWizard';
5
+ import type { HeadlessEventRegistrationFlow } from '../nodes/event-registration/event-registration.headless.state';
6
+ import { createEventRegistrationBlockApiConfig } from '../nodes/event-registration/event-registration.headless.state';
7
+ export type { BlockApiConfig };
8
+ export { createEventRegistrationBlockApiConfig };
9
+ export type { EventRegistrationAttendeeModel, EventRegistrationDiscountModel, EventRegistrationEventsModel, EventRegistrationFlowActionResult, EventRegistrationFlowActions, EventRegistrationFlowStatus, EventRegistrationFlowStep, EventRegistrationFlowStepId, EventRegistrationFlowView, EventRegistrationGuestsModel, EventRegistrationLoadState, EventRegistrationOverrideData, EventRegistrationOverrideInput, EventRegistrationOverrideInputResult, EventRegistrationOverridePropsLike, EventRegistrationPaymentModel, EventRegistrationPaymentSelection, EventRegistrationPortalAuthModel, EventRegistrationSpamProtectionModel, EventRegistrationTerminalModel, EventRegistrationTicketsModel, HeadlessEventRegistrationFlow, } from '../nodes/event-registration/event-registration.headless.state';
10
+ export type { EventRegistrationSubmitOptions, EventRegistrationSubmitResult, } from '../nodes/event-registration/useEventRegistrationSubmit';
11
+ export type HeadlessEventRegistrationFlowOptions = Readonly<{
12
+ anchorId?: string;
13
+ occurrenceContext?: EventRegistrationClientProps['occurrenceContext'];
14
+ contentEntry?: EventRegistrationClientProps['contentEntry'];
15
+ events?: readonly NonNullable<EventRegistrationClientProps['events']>[number][];
16
+ maxTickets?: string | number;
17
+ spamProtectionEnabled?: boolean;
18
+ }>;
19
+ export type HeadlessEventRegistrationProviderProps = Readonly<{
20
+ config: BlockApiConfig;
21
+ children?: React.ReactNode;
22
+ }>;
23
+ export type EventRegistrationController = Readonly<{
24
+ flow: HeadlessEventRegistrationFlow;
25
+ wizard: ReturnType<typeof useEventRegistrationWizard>;
26
+ }>;
27
+ export type EventRegistrationWizardController = Readonly<{
28
+ wizard: ReturnType<typeof useEventRegistrationWizard>;
29
+ }>;
30
+ export declare function HeadlessEventRegistrationProvider({ config, children, }: HeadlessEventRegistrationProviderProps): React.ReactElement;
31
+ export declare function useHeadlessEventRegistrationFlow(options: HeadlessEventRegistrationFlowOptions): HeadlessEventRegistrationFlow;
32
+ export declare function useEventRegistrationController(options: HeadlessEventRegistrationFlowOptions): EventRegistrationController;
33
+ export declare function useEventRegistrationWizardController(options: HeadlessEventRegistrationFlowOptions): EventRegistrationWizardController;
@@ -1,5 +1,3 @@
1
1
  import React from 'react';
2
2
  import type { EventRegistrationClientProps } from './types';
3
- /** Anchor ID for the registration block, used for post-logout scroll targeting */
4
- export declare const EVENT_REGISTRATION_ANCHOR_ID = "event-registration";
5
3
  export declare function EventRegistrationWizard(props: EventRegistrationClientProps): React.JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const EVENT_REGISTRATION_ANCHOR_ID = "event-registration";
@@ -0,0 +1,275 @@
1
+ import type { PaymentMethod } from '../../api/types';
2
+ import type { EventRegistrationContentEntry } from '../event-registration.interactive';
3
+ import type { EligibilityData, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult } from './types';
4
+ import type { SelectableEventTicketType } from './utils';
5
+ import type { PortalAuthState, PortalProfile } from './hooks';
6
+ import type { UseWaitlistClaimResult } from '../../shared/useWaitlistClaim';
7
+ import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
8
+ import type { EventRegistrationSubmitOptions, EventRegistrationSubmitResult } from './useEventRegistrationSubmit';
9
+ export declare const DEFAULT_EVENT_REGISTRATION_MAX_TICKETS = 5;
10
+ export type EventRegistrationLoadState<T> = Readonly<{
11
+ tag: 'idle';
12
+ value: T | null;
13
+ }> | Readonly<{
14
+ tag: 'loading';
15
+ value: T | null;
16
+ }> | Readonly<{
17
+ tag: 'loaded';
18
+ value: T;
19
+ }>;
20
+ export type EventRegistrationSubmitArgs = Readonly<{
21
+ method: PaymentMethod;
22
+ passId?: string;
23
+ membershipId?: string;
24
+ selection?: PaymentSelection;
25
+ }>;
26
+ export type EventRegistrationSubmitPlan = Readonly<{
27
+ ok: true;
28
+ args: EventRegistrationSubmitArgs;
29
+ }> | Readonly<{
30
+ ok: false;
31
+ reason: 'payment-selection-required';
32
+ message: string;
33
+ }>;
34
+ export type EventRegistrationFlowStatus = Readonly<{
35
+ tag: 'ready';
36
+ }> | Readonly<{
37
+ tag: 'submitting';
38
+ }> | Readonly<{
39
+ tag: 'redirecting';
40
+ }> | Readonly<{
41
+ tag: 'verifying-payment';
42
+ }> | Readonly<{
43
+ tag: 'verifying-timeout';
44
+ }> | Readonly<{
45
+ tag: 'payment-failed';
46
+ message: string;
47
+ }> | Readonly<{
48
+ tag: 'success';
49
+ result: RegistrationResult;
50
+ }> | Readonly<{
51
+ tag: 'error';
52
+ message: string;
53
+ }>;
54
+ export type EventRegistrationFlowView = Readonly<{
55
+ kind: 'empty';
56
+ message: string;
57
+ }> | Readonly<{
58
+ kind: 'unavailable';
59
+ message: string;
60
+ }> | Readonly<{
61
+ kind: 'form';
62
+ }> | Readonly<{
63
+ kind: 'verifying';
64
+ message: string;
65
+ }> | Readonly<{
66
+ kind: 'success';
67
+ result: RegistrationResult;
68
+ }> | Readonly<{
69
+ kind: 'error';
70
+ message: string;
71
+ }>;
72
+ export type EventRegistrationFlowStepId = 'select-event' | 'select-tickets' | 'enter-details' | 'select-payment';
73
+ export type EventRegistrationFlowStepState = 'complete' | 'active' | 'available' | 'blocked';
74
+ export type EventRegistrationFlowStep = Readonly<{
75
+ id: EventRegistrationFlowStepId;
76
+ label: string;
77
+ state: EventRegistrationFlowStepState;
78
+ index: number;
79
+ canEnter: boolean;
80
+ canLeave: boolean;
81
+ }>;
82
+ export type EventRegistrationFlowActionResult = Readonly<{
83
+ ok: true;
84
+ }> | Readonly<{
85
+ ok: false;
86
+ reason: 'blocked' | 'validation-failed' | 'submission-failed';
87
+ message: string;
88
+ }>;
89
+ export type EventRegistrationEventsModel = Readonly<{
90
+ items: readonly PublicEvent[];
91
+ scoped: readonly RegistrationEvent[];
92
+ selected: RegistrationEvent | null;
93
+ preSelected: RegistrationEvent | null;
94
+ hasPreSelectedContext: boolean;
95
+ target: UseEventRegistrationWizardResult['registrationTarget'];
96
+ occurrenceContext: OccurrenceContext | null | undefined;
97
+ contentEntry: EventRegistrationContentEntry | null | undefined;
98
+ }>;
99
+ export type EventRegistrationTicketsModel = Readonly<{
100
+ count: number;
101
+ max: number;
102
+ selectedTicketTypeId: string | null;
103
+ selectedTicketType: SelectableEventTicketType | null;
104
+ visibleTicketTypes: readonly SelectableEventTicketType[];
105
+ selectionRequired: boolean;
106
+ hasValidSelection: boolean;
107
+ eventRequiresPayment: boolean;
108
+ selectedAttendanceMode: 'in_person' | 'online' | null;
109
+ }>;
110
+ export type EventRegistrationAttendeeModel = Readonly<{
111
+ values: FormData;
112
+ errors: Partial<Record<keyof FormData, string>>;
113
+ }>;
114
+ export type EventRegistrationGuestsModel = Readonly<{
115
+ required: boolean;
116
+ items: readonly Guest[];
117
+ errors: GuestErrors;
118
+ shake: boolean;
119
+ }>;
120
+ export type EventRegistrationPaymentSelection = Readonly<{
121
+ method: 'none';
122
+ }> | Readonly<{
123
+ method: 'free';
124
+ }> | Readonly<{
125
+ method: 'stripe';
126
+ }> | Readonly<{
127
+ method: 'pass';
128
+ passId: string;
129
+ productName?: string;
130
+ }> | Readonly<{
131
+ method: 'membership';
132
+ membershipId: string;
133
+ productName?: string;
134
+ }> | Readonly<{
135
+ method: 'pass_bundle';
136
+ passId: string;
137
+ productName?: string;
138
+ }> | Readonly<{
139
+ method: 'membership_bundle';
140
+ membershipId: string;
141
+ productName?: string;
142
+ }>;
143
+ export type EventRegistrationPaymentModel = Readonly<{
144
+ kind: 'hidden';
145
+ selection: EventRegistrationPaymentSelection;
146
+ stepState: PaymentStepState;
147
+ }> | Readonly<{
148
+ kind: 'loading' | 'error' | 'not-eligible' | 'ready';
149
+ selection: EventRegistrationPaymentSelection;
150
+ stepState: PaymentStepState;
151
+ eligibility: EligibilityData | null;
152
+ eligibilityError: string | null | undefined;
153
+ }>;
154
+ export type EventRegistrationDiscountModel = Readonly<{
155
+ code: string;
156
+ isOpen: boolean;
157
+ available: boolean;
158
+ manualCodeEntryAllowed: boolean;
159
+ loading: boolean;
160
+ autoAppliedDiscount: UseEventRegistrationWizardResult['autoAppliedDiscount'];
161
+ }>;
162
+ export type EventRegistrationPortalAuthModel = Readonly<{
163
+ state: PortalAuthState;
164
+ profile: PortalProfile | null;
165
+ isAuthenticated: boolean;
166
+ showMagicLinkModal: boolean;
167
+ }>;
168
+ export type EventRegistrationSpamProtectionModel = Readonly<{
169
+ enabled: false;
170
+ }> | Readonly<{
171
+ enabled: true;
172
+ provider: 'altcha';
173
+ challenge: {
174
+ url: string;
175
+ auto: 'onfocus';
176
+ };
177
+ solution: string | null;
178
+ }>;
179
+ export type EventRegistrationTerminalModel = Readonly<{
180
+ result: RegistrationResult | null;
181
+ errorMessage: string;
182
+ verification: UseEventRegistrationWizardResult['verification'];
183
+ }>;
184
+ export type EventRegistrationFlowActions = Readonly<{
185
+ selectEvent: (event: RegistrationEvent) => void;
186
+ selectAttendanceMode: (mode: 'in_person' | 'online' | null) => void;
187
+ selectTicketType: (ticketTypeId: string | null) => void;
188
+ setTicketsCount: (count: number) => void;
189
+ updateAttendee: (values: FormData) => void;
190
+ updateGuests: (guests: Guest[]) => void;
191
+ selectPayment: (selection: EventRegistrationPaymentSelection) => void;
192
+ setDiscountCode: (code: string) => void;
193
+ setDiscountOpen: (isOpen: boolean) => void;
194
+ setAltchaSolution: (solution: string | null) => void;
195
+ requestLogin: () => void;
196
+ logout: () => void;
197
+ next: () => Promise<EventRegistrationFlowActionResult>;
198
+ back: () => void;
199
+ submit: (options?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
200
+ retry: () => void;
201
+ }>;
202
+ export type HeadlessEventRegistrationFlow = Readonly<{
203
+ status: EventRegistrationFlowStatus;
204
+ view: EventRegistrationFlowView;
205
+ steps: readonly EventRegistrationFlowStep[];
206
+ currentStep: EventRegistrationFlowStep | null;
207
+ events: EventRegistrationEventsModel;
208
+ tickets: EventRegistrationTicketsModel;
209
+ attendee: EventRegistrationAttendeeModel;
210
+ guests: EventRegistrationGuestsModel;
211
+ payment: EventRegistrationPaymentModel;
212
+ discount: EventRegistrationDiscountModel;
213
+ portalAuth: EventRegistrationPortalAuthModel;
214
+ existingRegistration: Readonly<{
215
+ state: EventRegistrationLoadState<UseEventRegistrationWizardResult['existingRegistration']>;
216
+ registration: UseEventRegistrationWizardResult['existingRegistration'];
217
+ }>;
218
+ waitlistClaim: UseWaitlistClaimResult;
219
+ spamProtection: EventRegistrationSpamProtectionModel;
220
+ terminal: EventRegistrationTerminalModel;
221
+ actions: EventRegistrationFlowActions;
222
+ }>;
223
+ export type EventRegistrationOverrideData = Readonly<{
224
+ events?: readonly PublicEvent[] | null;
225
+ }>;
226
+ export type EventRegistrationOverridePropsLike = Readonly<{
227
+ content?: Partial<{
228
+ maxTickets: string | null;
229
+ showVenue: boolean | null;
230
+ showCapacity: boolean | null;
231
+ successMessage: string | null;
232
+ waitlistMessage: string | null;
233
+ buttonVariant: 'primary' | 'secondary' | 'outline' | null;
234
+ buttonText: string | null;
235
+ spamProtectionEnabled: boolean | null;
236
+ supportEmail: string | null;
237
+ }> | null;
238
+ data?: EventRegistrationOverrideData | Record<string, unknown> | null;
239
+ siteId?: string;
240
+ apiBaseUrl?: string;
241
+ portalToken?: string | null;
242
+ previewToken?: string | null;
243
+ stage?: 'preview' | 'published';
244
+ occurrenceContext?: OccurrenceContext | null;
245
+ contentEntry?: Record<string, unknown> | null;
246
+ blockId?: string | null;
247
+ }>;
248
+ export type EventRegistrationOverrideInput = Readonly<{
249
+ siteId: string;
250
+ apiBaseUrl: string;
251
+ portalToken: string | null;
252
+ previewToken: string | null;
253
+ stage?: 'preview' | 'published';
254
+ occurrenceContext?: OccurrenceContext | null;
255
+ contentEntry?: EventRegistrationContentEntry | null;
256
+ events: readonly PublicEvent[];
257
+ maxTickets?: string;
258
+ showVenue?: boolean;
259
+ showCapacity?: boolean;
260
+ successMessage?: string;
261
+ waitlistMessage?: string;
262
+ buttonText?: string | null;
263
+ buttonVariant?: 'primary' | 'secondary' | 'outline';
264
+ spamProtectionEnabled?: boolean;
265
+ supportEmail?: string;
266
+ blockId?: string | null;
267
+ }>;
268
+ export type EventRegistrationOverrideInputResult = Readonly<{
269
+ ok: true;
270
+ value: EventRegistrationOverrideInput;
271
+ }> | Readonly<{
272
+ ok: false;
273
+ reason: 'missing-site-id' | 'missing-api-base-url';
274
+ message: string;
275
+ }>;
@@ -0,0 +1,10 @@
1
+ import type { BlockApiConfig } from '../../api';
2
+ import type { EventRegistrationOverrideInputResult, EventRegistrationOverridePropsLike } from './event-registration.headless.contract';
3
+ export declare function createEventRegistrationBlockApiConfig(input: Readonly<{
4
+ siteId: string;
5
+ apiBaseUrl: string;
6
+ portalToken?: string | null;
7
+ previewToken?: string | null;
8
+ stage?: 'preview' | 'published';
9
+ }>): BlockApiConfig;
10
+ export declare function getEventRegistrationOverrideInput(props: EventRegistrationOverridePropsLike): EventRegistrationOverrideInputResult;
@@ -0,0 +1,22 @@
1
+ import type { PaymentSelection, PublicEvent, RegistrationStep } from './types';
2
+ import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
3
+ import { type EventRegistrationFlowStatus, type EventRegistrationFlowStep, type EventRegistrationFlowView, type EventRegistrationPaymentSelection, type EventRegistrationSubmitPlan } from './event-registration.headless.contract';
4
+ export declare function getRegistrableStatuses(isPreview: boolean | undefined): readonly PublicEvent['status'][];
5
+ export declare function normalizeEventRegistrationMaxTickets(value: string | number | undefined): number;
6
+ export declare function toHeadlessPaymentSelection(selection: PaymentSelection): EventRegistrationPaymentSelection;
7
+ export declare function toInternalPaymentSelection(selection: EventRegistrationPaymentSelection): PaymentSelection;
8
+ export declare function resolveEventRegistrationSubmitPlan(input: Readonly<{
9
+ paymentSelection: PaymentSelection;
10
+ eventRequiresPayment: boolean;
11
+ canJoinWaitlist?: boolean | null;
12
+ }>): EventRegistrationSubmitPlan;
13
+ export declare function resolveHeadlessEventRegistrationStatus(wizard: Pick<UseEventRegistrationWizardResult, 'step' | 'registrationResult' | 'errorMessage'>): EventRegistrationFlowStatus;
14
+ export declare function resolveHeadlessEventRegistrationView(wizard: Readonly<Pick<UseEventRegistrationWizardResult, 'step' | 'scopedEvents' | 'occurrenceContext' | 'registrationResult' | 'errorMessage'> & {
15
+ api: Pick<UseEventRegistrationWizardResult['api'], 'config'>;
16
+ }>): EventRegistrationFlowView;
17
+ export declare function deriveEventRegistrationSteps(input: Readonly<{
18
+ step: RegistrationStep;
19
+ hasPreSelectedContext: boolean;
20
+ eventRequiresPayment: boolean;
21
+ paymentSelection: PaymentSelection;
22
+ }>): readonly EventRegistrationFlowStep[];
@@ -0,0 +1,3 @@
1
+ export * from './event-registration.headless.contract';
2
+ export * from './event-registration.headless.override';
3
+ export * from './event-registration.headless.planning';
@@ -2,6 +2,25 @@ import type { BlockApiClient } from '../../api';
2
2
  import type { FormData, Guest, RegistrationResult, RegistrationStep, PaymentSelection } from './types';
3
3
  import type { PaymentMethod } from '../../api/types';
4
4
  import type { RegistrationTarget } from './registrationDerivations';
5
+ export type EventRegistrationSubmitOptions = Readonly<{
6
+ redirect?: 'auto' | 'manual';
7
+ }>;
8
+ export type EventRegistrationSubmitResult = Readonly<{
9
+ ok: true;
10
+ outcome: {
11
+ kind: 'completed';
12
+ };
13
+ }> | Readonly<{
14
+ ok: true;
15
+ outcome: {
16
+ kind: 'checkout_redirect';
17
+ checkoutUrl: string;
18
+ };
19
+ }> | Readonly<{
20
+ ok: false;
21
+ reason: 'blocked' | 'missing-target' | 'submission-failed';
22
+ message: string;
23
+ }>;
5
24
  export declare function useEventRegistrationSubmit(options: {
6
25
  api: BlockApiClient;
7
26
  registrationTarget: RegistrationTarget | null;
@@ -18,4 +37,4 @@ export declare function useEventRegistrationSubmit(options: {
18
37
  setStep: (step: RegistrationStep) => void;
19
38
  setRegistrationResult: (result: RegistrationResult) => void;
20
39
  setErrorMessage: (message: string) => void;
21
- }): (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection) => Promise<void>;
40
+ }): (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
@@ -1,6 +1,13 @@
1
1
  import type { DiscountContext } from '../../api/types';
2
2
  import type { EventRegistrationClientProps, FormData, Guest, GuestErrors, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult, RegistrationStep } from './types';
3
- import type { PaymentMethod } from './PaymentSelectionStep';
3
+ export type EventRegistrationDetailsCompleteResult = Readonly<{
4
+ ok: true;
5
+ outcome: 'payment-step' | 'submitted';
6
+ }> | Readonly<{
7
+ ok: false;
8
+ reason: 'blocked' | 'validation-failed' | 'submission-failed';
9
+ message: string;
10
+ }>;
4
11
  export declare function useEventRegistrationWizard(options: {
5
12
  anchorId: string;
6
13
  occurrenceContext: EventRegistrationClientProps['occurrenceContext'];
@@ -61,6 +68,7 @@ export declare function useEventRegistrationWizard(options: {
61
68
  altchaSolution: string | null;
62
69
  setAltchaSolution: import("react").Dispatch<import("react").SetStateAction<string | null>>;
63
70
  portalAuthState: import("./hooks").PortalAuthState;
71
+ portalProfile: import("./hooks").PortalProfile | null;
64
72
  showMagicLinkModal: boolean;
65
73
  setShowMagicLinkModal: import("react").Dispatch<import("react").SetStateAction<boolean>>;
66
74
  handleLogout: () => void;
@@ -75,6 +83,7 @@ export declare function useEventRegistrationWizard(options: {
75
83
  eligibilityError: string | null;
76
84
  existingRegistration: import("../../api").CustomerEventRegistration | null;
77
85
  existingRegistrationLoading: boolean;
86
+ existingRegistrationState: import("./hooks.state").ExistingRegistrationLookupState;
78
87
  hasEligibility: boolean;
79
88
  hasMembershipEligibility: boolean;
80
89
  requireGuestDetails: boolean;
@@ -89,11 +98,11 @@ export declare function useEventRegistrationWizard(options: {
89
98
  discountContext: DiscountContext | null;
90
99
  shouldShowDiscountToggle: boolean;
91
100
  verification: import("../../hooks/usePaymentVerification").PaymentVerificationResult;
92
- handleDetailsComplete: () => Promise<void>;
93
- handlePaymentSelect: (method: PaymentMethod, passId?: string, membershipId?: string) => Promise<void>;
101
+ handleDetailsComplete: () => Promise<EventRegistrationDetailsCompleteResult>;
102
+ handlePaymentSelect: () => Promise<void>;
94
103
  handleUseCardInsteadOfPass: () => void;
95
104
  handleBookForSomeoneElse: () => void;
96
- handleSubmit: (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection) => Promise<void>;
105
+ handleSubmit: (method: import("./PaymentSelectionStep").PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: import("./useEventRegistrationSubmit").EventRegistrationSubmitOptions) => Promise<import("./useEventRegistrationSubmit").EventRegistrationSubmitResult>;
97
106
  handleEventSelect: (event: RegistrationEvent) => void;
98
107
  handleRetry: () => void;
99
108
  };
@@ -2,7 +2,7 @@ import type { EligibilityCheckResponse } from '../../api/types';
2
2
  import type { EligibilityData, EligibilityEventTicketType, PublicEvent, PublicEventTicketType, RegistrationEvent } from './types';
3
3
  export declare const DEFAULT_EVENT_CURRENCY = "usd";
4
4
  export type SelectableEventTicketType = EligibilityEventTicketType | PublicEventTicketType;
5
- type TicketTypeSourceEvent = Pick<PublicEvent, 'pricing'> | Pick<RegistrationEvent, 'pricing'>;
5
+ type TicketTypeSourceEvent = PublicEvent | RegistrationEvent;
6
6
  /**
7
7
  * Format date for display
8
8
  */
@@ -7,6 +7,10 @@ export type EventRegistrationContentEntry = Readonly<{
7
7
  slug: string;
8
8
  contentTypeSlug: string;
9
9
  }>;
10
+ export declare const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS: readonly ["Date", "Tickets", "Details"];
11
+ declare const EVENT_REGISTRATION_SHELL_STEP_LABELS: readonly ["Event", "Date", "Tickets", "Details", "Payment"];
12
+ export type EventRegistrationGenericShellStepLabels = typeof EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
13
+ type EventRegistrationShellStepLabel = typeof EVENT_REGISTRATION_SHELL_STEP_LABELS[number];
10
14
  export type EventRegistrationSourceProps = Readonly<{
11
15
  siteId?: string;
12
16
  apiBaseUrl?: string;
@@ -29,8 +33,11 @@ export type EventRegistrationSourceProps = Readonly<{
29
33
  }>;
30
34
  export type EventRegistrationDisplay = Readonly<{
31
35
  kind: 'event-registration';
32
- state: 'shell';
36
+ state: 'generic-shell';
33
37
  className: string | null;
38
+ titleText: string;
39
+ bodyText: string;
40
+ stepLabels: readonly EventRegistrationShellStepLabel[];
34
41
  summaryButtonText: string;
35
42
  }>;
36
43
  export type EventRegistrationHydration = Readonly<Omit<InternalEventRegistrationClientProps, 'siteId' | 'stage' | 'registrationEndpoint' | 'eligibilityEndpoint' | 'checkoutEndpoint' | 'buttonText' | 'className'>>;
@@ -71,8 +78,11 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
71
78
  }>) => Readonly<{
72
79
  display: Readonly<{
73
80
  kind: "event-registration";
74
- state: "shell";
81
+ state: "generic-shell";
75
82
  className: string | null;
83
+ titleText: string;
84
+ bodyText: string;
85
+ stepLabels: readonly EventRegistrationShellStepLabel[];
76
86
  summaryButtonText: string;
77
87
  }>;
78
88
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -132,8 +142,11 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
132
142
  encode: (value: Readonly<{
133
143
  display: Readonly<{
134
144
  kind: "event-registration";
135
- state: "shell";
145
+ state: "generic-shell";
136
146
  className: string | null;
147
+ titleText: string;
148
+ bodyText: string;
149
+ stepLabels: readonly EventRegistrationShellStepLabel[];
137
150
  summaryButtonText: string;
138
151
  }>;
139
152
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -141,8 +154,11 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
141
154
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
142
155
  display: Readonly<{
143
156
  kind: "event-registration";
144
- state: "shell";
157
+ state: "generic-shell";
145
158
  className: string | null;
159
+ titleText: string;
160
+ bodyText: string;
161
+ stepLabels: readonly EventRegistrationShellStepLabel[];
146
162
  summaryButtonText: string;
147
163
  }>;
148
164
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -164,8 +180,11 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
164
180
  } & Readonly<{
165
181
  display: Readonly<{
166
182
  kind: "event-registration";
167
- state: "shell";
183
+ state: "generic-shell";
168
184
  className: string | null;
185
+ titleText: string;
186
+ bodyText: string;
187
+ stepLabels: readonly EventRegistrationShellStepLabel[];
169
188
  summaryButtonText: string;
170
189
  }>;
171
190
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -184,8 +203,11 @@ export declare const eventRegistrationInteractiveIslandPropsCodec: Readonly<{
184
203
  } & Readonly<{
185
204
  display: Readonly<{
186
205
  kind: "event-registration";
187
- state: "shell";
206
+ state: "generic-shell";
188
207
  className: string | null;
208
+ titleText: string;
209
+ bodyText: string;
210
+ stepLabels: readonly EventRegistrationShellStepLabel[];
189
211
  summaryButtonText: string;
190
212
  }>;
191
213
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
@@ -0,0 +1,14 @@
1
+ import type { PublicEventPricing } from '../../../../../../../core/src/index';
2
+ import type { PublicEventTicketType } from '../../../../blocks/events/shared/types';
3
+ type RuntimeEventPricingSource = {
4
+ pricing?: unknown;
5
+ requiresRegistration?: boolean | null;
6
+ pricingType?: unknown;
7
+ price?: unknown;
8
+ currency?: unknown;
9
+ priceDisplay?: unknown;
10
+ pricingMode?: unknown;
11
+ ticketTypes?: unknown;
12
+ };
13
+ export declare function resolveRuntimeEventPricing(event: RuntimeEventPricingSource): PublicEventPricing<PublicEventTicketType>;
14
+ export {};
@@ -1,6 +1,6 @@
1
1
  import { type ContentEntrySnapshot, type ContentTypeSchema, type ToolbarState } from "../../../content-model/src/index";
2
2
  import type { EditorBlockId } from "../../../core/src/index";
3
- import type { BlockItem } from "../../../editor-blocks/src/index";
3
+ import type { BlockItem } from "../../../editor-blocks/src/block-editor/types";
4
4
  import { type ReactNode } from "react";
5
5
  import { type PublishOptions } from "../hooks/useEntryActions";
6
6
  import { type ApiClient } from "../services";
@@ -1,4 +1,4 @@
1
1
  import { type EditorBlockPublishedBaselineInput } from '../../../core/src/index';
2
- import type { BlockItem } from '../../../editor-blocks/src/index';
2
+ import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
3
3
  export type BlockPublishedBaselineInput = EditorBlockPublishedBaselineInput;
4
4
  export declare function buildBlockPublishedBaselines(blocks: readonly BlockItem[]): BlockPublishedBaselineInput[];
@@ -1,4 +1,4 @@
1
- import type { BlockItem } from '../../../editor-blocks/src/index';
1
+ import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
2
2
  import type { EditorUiState } from '../ui/editorUiStore';
3
3
  type StoreApi<T> = {
4
4
  getState: () => T;
@@ -1,4 +1,4 @@
1
- import type { BlockItem } from '../../../editor-blocks/src/index';
1
+ import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
2
2
  import type { EditorUiState } from '../ui/editorUiStore';
3
3
  import type { ApiClient } from '../services';
4
4
  type StoreApi<T> = {
@@ -1,4 +1,4 @@
1
- import type { BlockItem } from '../../../editor-blocks/src/index';
1
+ import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
2
2
  import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
3
  import { type RecoveryConflict } from './deriveRecoveryConflict';
4
4
  type UseInvalidBlockRecoveryOptions = Readonly<{
@@ -2,10 +2,11 @@ import type { RichTextPrimitiveProps } from "../../../blocks/src/index";
2
2
  import type { PreviewLinkedEntryFieldBinding } from '../../../blocks/src/system/data/index';
3
3
  type PreviewRichTextEditorProps = RichTextPrimitiveProps & {
4
4
  onLinkedEntryFieldFocus?: (binding: PreviewLinkedEntryFieldBinding) => void;
5
+ onBlockFieldFocus?: (path: string) => void;
5
6
  };
6
7
  /**
7
8
  * Memoized version to prevent unnecessary re-renders.
8
9
  * Only re-renders when path, doc, variant, or className props actually change.
9
10
  */
10
- export declare const PreviewRichTextEditor: import("react").MemoExoticComponent<({ path, linkedEntryField, onLinkedEntryFieldFocus, className, doc, variant }: PreviewRichTextEditorProps) => import("react").JSX.Element>;
11
+ export declare const PreviewRichTextEditor: import("react").MemoExoticComponent<({ path, linkedEntryField, onLinkedEntryFieldFocus, onBlockFieldFocus, className, doc, variant }: PreviewRichTextEditorProps) => import("react").JSX.Element>;
11
12
  export {};
@@ -2,6 +2,7 @@ import type { TextProps } from '../../../blocks/src/index';
2
2
  import type { PreviewLinkedEntryFieldBinding } from '../../../blocks/src/system/data/index';
3
3
  type PreviewTextEditorProps = TextProps & {
4
4
  onLinkedEntryFieldFocus?: (binding: PreviewLinkedEntryFieldBinding) => void;
5
+ onBlockFieldFocus?: (path: string) => void;
5
6
  };
6
7
  /**
7
8
  * Inline text editor for preview mode with local authority.
@@ -0,0 +1 @@
1
+ export * from './types';