@riverbankcms/sdk 0.84.0 → 0.84.2
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.
- package/dist/{PreviewEditorSidebar-HML67UDA.mjs → PreviewEditorSidebar-4PH35ZIE.mjs} +3 -3
- package/dist/{PreviewEditorUI-I4BQUU6K.mjs → PreviewEditorUI-WHMCRJGM.mjs} +11 -6
- package/dist/SdkPreviewModeRuntime-4FGSVUYI.mjs +8 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -1
- package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +16 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +11 -2
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -0
- package/dist/_dts/api/src/types.d.ts +1 -0
- package/dist/_dts/api/src/url.d.ts +12 -4
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -6
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizard.d.ts +0 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +275 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.override.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +22 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.state.d.ts +3 -303
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +3 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +9 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -6
- package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +8 -0
- package/dist/_dts/editor-blocks/src/BlockForm.d.ts +6 -4
- package/dist/_dts/preview-next/src/client/preview/MaintenanceModeBadge.d.ts +3 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorUI.d.ts +2 -1
- package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-LBBPD2IW.mjs → chunk-4QNLOTES.mjs} +11 -16
- package/dist/{chunk-5E33VO6J.mjs → chunk-NFWGLRZZ.mjs} +1 -70
- package/dist/{chunk-HFMGVJCE.mjs → chunk-OCGTXHSO.mjs} +8 -7
- package/dist/{chunk-3LXFQS7T.mjs → chunk-PYDHOMEO.mjs} +1 -1
- package/dist/{chunk-6X2OVO3S.mjs → chunk-WFPYN7KA.mjs} +2 -2
- package/dist/{chunk-MSHZO4SL.mjs → chunk-ZR2GQK2A.mjs} +274 -223
- package/dist/cli/index.mjs +332 -45
- package/dist/cli/init-docs/content/agents-section.md +5 -0
- package/dist/cli/init-docs/content/cli-reference.md +13 -0
- package/dist/cli/init-docs/content/content-management.md +31 -0
- package/dist/cli/init-docs/content/getting-started.md +12 -0
- package/dist/cli/init-docs/content/workflow-add-block.md +3 -1
- package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +81 -0
- package/dist/cli/init-docs/content/workflow-create-page.md +13 -3
- package/dist/cli/init-docs/content/workflow-custom-block.md +9 -0
- package/dist/cli/init-docs/content/workflow-templates.md +14 -0
- package/dist/client/{accordion-ESY65T56.mjs → accordion-2UZPBMYM.mjs} +1 -1
- package/dist/client/{bookingForm-JRFNZUHD.mjs → bookingForm-36CWQUMV.mjs} +4 -4
- package/dist/client/bookings.mjs +156 -138
- package/dist/client/{carousel-CPR5VWIP.mjs → carousel-QH77HR6X.mjs} +2 -2
- package/dist/client/{cart-ZUX5BA7O.mjs → cart-X4YK4FTW.mjs} +5 -5
- package/dist/client/{checkout-RULGBADZ.mjs → checkout-OM2BEPWD.mjs} +5 -5
- package/dist/client/{chunk-RDJFCPY3.mjs → chunk-3C2VTPWI.mjs} +34 -117
- package/dist/client/{chunk-BT6AEIKN.mjs → chunk-3DTWLTXM.mjs} +1 -1
- package/dist/client/{chunk-JWEYB4V6.mjs → chunk-4OXKTA3D.mjs} +1 -1
- package/dist/client/{chunk-URQCZD5W.mjs → chunk-52CGCQ7B.mjs} +4 -4
- package/dist/client/{chunk-52I7BGEK.mjs → chunk-7UCLJ5SP.mjs} +1 -1
- package/dist/client/{chunk-Z5OBQ5I4.mjs → chunk-F5VRX5Y6.mjs} +1 -1
- package/dist/client/{chunk-GFSQNTRW.mjs → chunk-SDIYSQAY.mjs} +0 -4
- package/dist/client/{chunk-HXPWP5EN.mjs → chunk-VGDBVNOO.mjs} +175 -14
- package/dist/client/{chunk-5ZEAZ33K.mjs → chunk-ZKUO52W3.mjs} +1 -1
- package/dist/client/client.mjs +348 -232
- package/dist/client/{courseRegistration-QTUDC35T.mjs → courseRegistration-TMKU6ABO.mjs} +4 -4
- package/dist/client/{eventCalendar-Q7NS4XLD.mjs → eventCalendar-G6TI32X6.mjs} +6 -6
- package/dist/client/{eventCombined-QAO7VUO5.mjs → eventCombined-SCKEMNAR.mjs} +6 -6
- package/dist/client/{eventDetails-WTNNU6Q3.mjs → eventDetails-XPIFXXPK.mjs} +6 -6
- package/dist/client/{eventListing-5TA2ELDT.mjs → eventListing-7QFMEMGT.mjs} +6 -6
- package/dist/client/{eventRegistration-M6USZGRF.mjs → eventRegistration-TOODSZUI.mjs} +6 -6
- package/dist/client/{form-DGVGXLMH.mjs → form-MTCMVCZT.mjs} +2 -2
- package/dist/client/{headerSection-O2AGMPCU.mjs → headerSection-Y5TMR3TW.mjs} +2 -2
- package/dist/client/hooks.mjs +315 -35
- package/dist/client/{locationMap-EJRNRIKJ.mjs → locationMap-RH2LG7FZ.mjs} +1 -1
- package/dist/client/{newsletterForm-7NTC2DTR.mjs → newsletterForm-PCAIPFMA.mjs} +2 -2
- package/dist/client/{productDetail-HH4LP53D.mjs → productDetail-OIGDR4YE.mjs} +5 -5
- package/dist/client/{productList-YVHYM2AF.mjs → productList-4MA5S2CX.mjs} +5 -5
- package/dist/client/rendering/client.mjs +312 -195
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +312 -195
- package/dist/client/{shop-UIFX7XRK.mjs → shop-WXSYV5QO.mjs} +5 -5
- package/dist/client/spam-protection.mjs +0 -4
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/{sdk-runtime-ZENAOYMN.mjs → sdk-runtime-QLOCYKVU.mjs} +6 -6
- package/dist/server/components.mjs +188 -61
- package/dist/server/config-validation.mjs +313 -33
- package/dist/server/config.mjs +313 -33
- package/dist/server/data.mjs +315 -35
- package/dist/server/index.mjs +10 -11
- package/dist/server/next.mjs +198 -72
- package/dist/server/page-converter.mjs +315 -35
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +188 -61
- package/dist/server/rendering.mjs +188 -61
- package/dist/server/routing.mjs +334 -34
- package/dist/server/server.mjs +331 -52
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-MCKMVDTK.mjs +0 -8
|
@@ -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[];
|
|
@@ -1,303 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import type { EligibilityData, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult, RegistrationStep } from './types';
|
|
5
|
-
import type { SelectableEventTicketType } from './utils';
|
|
6
|
-
import type { PortalAuthState, PortalProfile } from './hooks';
|
|
7
|
-
import type { UseWaitlistClaimResult } from '../../shared/useWaitlistClaim';
|
|
8
|
-
import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
|
|
9
|
-
import type { EventRegistrationSubmitOptions, EventRegistrationSubmitResult } from './useEventRegistrationSubmit';
|
|
10
|
-
export declare const DEFAULT_EVENT_REGISTRATION_MAX_TICKETS = 5;
|
|
11
|
-
export type EventRegistrationLoadState<T> = Readonly<{
|
|
12
|
-
tag: 'idle';
|
|
13
|
-
value: T | null;
|
|
14
|
-
}> | Readonly<{
|
|
15
|
-
tag: 'loading';
|
|
16
|
-
value: T | null;
|
|
17
|
-
}> | Readonly<{
|
|
18
|
-
tag: 'loaded';
|
|
19
|
-
value: T;
|
|
20
|
-
}>;
|
|
21
|
-
export type EventRegistrationSubmitArgs = Readonly<{
|
|
22
|
-
method: PaymentMethod;
|
|
23
|
-
passId?: string;
|
|
24
|
-
membershipId?: string;
|
|
25
|
-
selection?: PaymentSelection;
|
|
26
|
-
}>;
|
|
27
|
-
export type EventRegistrationSubmitPlan = Readonly<{
|
|
28
|
-
ok: true;
|
|
29
|
-
args: EventRegistrationSubmitArgs;
|
|
30
|
-
}> | Readonly<{
|
|
31
|
-
ok: false;
|
|
32
|
-
reason: 'payment-selection-required';
|
|
33
|
-
message: string;
|
|
34
|
-
}>;
|
|
35
|
-
export type EventRegistrationFlowStatus = Readonly<{
|
|
36
|
-
tag: 'ready';
|
|
37
|
-
}> | Readonly<{
|
|
38
|
-
tag: 'submitting';
|
|
39
|
-
}> | Readonly<{
|
|
40
|
-
tag: 'redirecting';
|
|
41
|
-
}> | Readonly<{
|
|
42
|
-
tag: 'verifying-payment';
|
|
43
|
-
}> | Readonly<{
|
|
44
|
-
tag: 'verifying-timeout';
|
|
45
|
-
}> | Readonly<{
|
|
46
|
-
tag: 'payment-failed';
|
|
47
|
-
message: string;
|
|
48
|
-
}> | Readonly<{
|
|
49
|
-
tag: 'success';
|
|
50
|
-
result: RegistrationResult;
|
|
51
|
-
}> | Readonly<{
|
|
52
|
-
tag: 'error';
|
|
53
|
-
message: string;
|
|
54
|
-
}>;
|
|
55
|
-
export type EventRegistrationFlowView = Readonly<{
|
|
56
|
-
kind: 'empty';
|
|
57
|
-
message: string;
|
|
58
|
-
}> | Readonly<{
|
|
59
|
-
kind: 'unavailable';
|
|
60
|
-
message: string;
|
|
61
|
-
}> | Readonly<{
|
|
62
|
-
kind: 'form';
|
|
63
|
-
}> | Readonly<{
|
|
64
|
-
kind: 'verifying';
|
|
65
|
-
message: string;
|
|
66
|
-
}> | Readonly<{
|
|
67
|
-
kind: 'success';
|
|
68
|
-
result: RegistrationResult;
|
|
69
|
-
}> | Readonly<{
|
|
70
|
-
kind: 'error';
|
|
71
|
-
message: string;
|
|
72
|
-
}>;
|
|
73
|
-
export type EventRegistrationFlowStepId = 'select-event' | 'select-tickets' | 'enter-details' | 'select-payment';
|
|
74
|
-
export type EventRegistrationFlowStepState = 'complete' | 'active' | 'available' | 'blocked';
|
|
75
|
-
export type EventRegistrationFlowStep = Readonly<{
|
|
76
|
-
id: EventRegistrationFlowStepId;
|
|
77
|
-
label: string;
|
|
78
|
-
state: EventRegistrationFlowStepState;
|
|
79
|
-
index: number;
|
|
80
|
-
canEnter: boolean;
|
|
81
|
-
canLeave: boolean;
|
|
82
|
-
}>;
|
|
83
|
-
export type EventRegistrationFlowActionResult = Readonly<{
|
|
84
|
-
ok: true;
|
|
85
|
-
}> | Readonly<{
|
|
86
|
-
ok: false;
|
|
87
|
-
reason: 'blocked' | 'validation-failed' | 'submission-failed';
|
|
88
|
-
message: string;
|
|
89
|
-
}>;
|
|
90
|
-
export type EventRegistrationEventsModel = Readonly<{
|
|
91
|
-
items: readonly PublicEvent[];
|
|
92
|
-
scoped: readonly RegistrationEvent[];
|
|
93
|
-
selected: RegistrationEvent | null;
|
|
94
|
-
preSelected: RegistrationEvent | null;
|
|
95
|
-
hasPreSelectedContext: boolean;
|
|
96
|
-
target: UseEventRegistrationWizardResult['registrationTarget'];
|
|
97
|
-
occurrenceContext: OccurrenceContext | null | undefined;
|
|
98
|
-
contentEntry: EventRegistrationContentEntry | null | undefined;
|
|
99
|
-
}>;
|
|
100
|
-
export type EventRegistrationTicketsModel = Readonly<{
|
|
101
|
-
count: number;
|
|
102
|
-
max: number;
|
|
103
|
-
selectedTicketTypeId: string | null;
|
|
104
|
-
selectedTicketType: SelectableEventTicketType | null;
|
|
105
|
-
visibleTicketTypes: readonly SelectableEventTicketType[];
|
|
106
|
-
selectionRequired: boolean;
|
|
107
|
-
hasValidSelection: boolean;
|
|
108
|
-
eventRequiresPayment: boolean;
|
|
109
|
-
selectedAttendanceMode: 'in_person' | 'online' | null;
|
|
110
|
-
}>;
|
|
111
|
-
export type EventRegistrationAttendeeModel = Readonly<{
|
|
112
|
-
values: FormData;
|
|
113
|
-
errors: Partial<Record<keyof FormData, string>>;
|
|
114
|
-
}>;
|
|
115
|
-
export type EventRegistrationGuestsModel = Readonly<{
|
|
116
|
-
required: boolean;
|
|
117
|
-
items: readonly Guest[];
|
|
118
|
-
errors: GuestErrors;
|
|
119
|
-
shake: boolean;
|
|
120
|
-
}>;
|
|
121
|
-
export type EventRegistrationPaymentSelection = Readonly<{
|
|
122
|
-
method: 'none';
|
|
123
|
-
}> | Readonly<{
|
|
124
|
-
method: 'free';
|
|
125
|
-
}> | Readonly<{
|
|
126
|
-
method: 'stripe';
|
|
127
|
-
}> | Readonly<{
|
|
128
|
-
method: 'pass';
|
|
129
|
-
passId: string;
|
|
130
|
-
productName?: string;
|
|
131
|
-
}> | Readonly<{
|
|
132
|
-
method: 'membership';
|
|
133
|
-
membershipId: string;
|
|
134
|
-
productName?: string;
|
|
135
|
-
}> | Readonly<{
|
|
136
|
-
method: 'pass_bundle';
|
|
137
|
-
passId: string;
|
|
138
|
-
productName?: string;
|
|
139
|
-
}> | Readonly<{
|
|
140
|
-
method: 'membership_bundle';
|
|
141
|
-
membershipId: string;
|
|
142
|
-
productName?: string;
|
|
143
|
-
}>;
|
|
144
|
-
export type EventRegistrationPaymentModel = Readonly<{
|
|
145
|
-
kind: 'hidden';
|
|
146
|
-
selection: EventRegistrationPaymentSelection;
|
|
147
|
-
stepState: PaymentStepState;
|
|
148
|
-
}> | Readonly<{
|
|
149
|
-
kind: 'loading' | 'error' | 'not-eligible' | 'ready';
|
|
150
|
-
selection: EventRegistrationPaymentSelection;
|
|
151
|
-
stepState: PaymentStepState;
|
|
152
|
-
eligibility: EligibilityData | null;
|
|
153
|
-
eligibilityError: string | null | undefined;
|
|
154
|
-
}>;
|
|
155
|
-
export type EventRegistrationDiscountModel = Readonly<{
|
|
156
|
-
code: string;
|
|
157
|
-
isOpen: boolean;
|
|
158
|
-
available: boolean;
|
|
159
|
-
manualCodeEntryAllowed: boolean;
|
|
160
|
-
loading: boolean;
|
|
161
|
-
autoAppliedDiscount: UseEventRegistrationWizardResult['autoAppliedDiscount'];
|
|
162
|
-
}>;
|
|
163
|
-
export type EventRegistrationPortalAuthModel = Readonly<{
|
|
164
|
-
state: PortalAuthState;
|
|
165
|
-
profile: PortalProfile | null;
|
|
166
|
-
isAuthenticated: boolean;
|
|
167
|
-
showMagicLinkModal: boolean;
|
|
168
|
-
}>;
|
|
169
|
-
export type EventRegistrationSpamProtectionModel = Readonly<{
|
|
170
|
-
enabled: false;
|
|
171
|
-
}> | Readonly<{
|
|
172
|
-
enabled: true;
|
|
173
|
-
provider: 'altcha';
|
|
174
|
-
challenge: {
|
|
175
|
-
url: string;
|
|
176
|
-
auto: 'onfocus';
|
|
177
|
-
};
|
|
178
|
-
solution: string | null;
|
|
179
|
-
}>;
|
|
180
|
-
export type EventRegistrationTerminalModel = Readonly<{
|
|
181
|
-
result: RegistrationResult | null;
|
|
182
|
-
errorMessage: string;
|
|
183
|
-
verification: UseEventRegistrationWizardResult['verification'];
|
|
184
|
-
}>;
|
|
185
|
-
export type EventRegistrationFlowActions = Readonly<{
|
|
186
|
-
selectEvent: (event: RegistrationEvent) => void;
|
|
187
|
-
selectAttendanceMode: (mode: 'in_person' | 'online' | null) => void;
|
|
188
|
-
selectTicketType: (ticketTypeId: string | null) => void;
|
|
189
|
-
setTicketsCount: (count: number) => void;
|
|
190
|
-
updateAttendee: (values: FormData) => void;
|
|
191
|
-
updateGuests: (guests: Guest[]) => void;
|
|
192
|
-
selectPayment: (selection: EventRegistrationPaymentSelection) => void;
|
|
193
|
-
setDiscountCode: (code: string) => void;
|
|
194
|
-
setDiscountOpen: (isOpen: boolean) => void;
|
|
195
|
-
setAltchaSolution: (solution: string | null) => void;
|
|
196
|
-
requestLogin: () => void;
|
|
197
|
-
logout: () => void;
|
|
198
|
-
next: () => Promise<EventRegistrationFlowActionResult>;
|
|
199
|
-
back: () => void;
|
|
200
|
-
submit: (options?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
|
|
201
|
-
retry: () => void;
|
|
202
|
-
}>;
|
|
203
|
-
export type HeadlessEventRegistrationFlow = Readonly<{
|
|
204
|
-
status: EventRegistrationFlowStatus;
|
|
205
|
-
view: EventRegistrationFlowView;
|
|
206
|
-
steps: readonly EventRegistrationFlowStep[];
|
|
207
|
-
currentStep: EventRegistrationFlowStep | null;
|
|
208
|
-
events: EventRegistrationEventsModel;
|
|
209
|
-
tickets: EventRegistrationTicketsModel;
|
|
210
|
-
attendee: EventRegistrationAttendeeModel;
|
|
211
|
-
guests: EventRegistrationGuestsModel;
|
|
212
|
-
payment: EventRegistrationPaymentModel;
|
|
213
|
-
discount: EventRegistrationDiscountModel;
|
|
214
|
-
portalAuth: EventRegistrationPortalAuthModel;
|
|
215
|
-
existingRegistration: Readonly<{
|
|
216
|
-
state: EventRegistrationLoadState<UseEventRegistrationWizardResult['existingRegistration']>;
|
|
217
|
-
registration: UseEventRegistrationWizardResult['existingRegistration'];
|
|
218
|
-
}>;
|
|
219
|
-
waitlistClaim: UseWaitlistClaimResult;
|
|
220
|
-
spamProtection: EventRegistrationSpamProtectionModel;
|
|
221
|
-
terminal: EventRegistrationTerminalModel;
|
|
222
|
-
actions: EventRegistrationFlowActions;
|
|
223
|
-
}>;
|
|
224
|
-
export type EventRegistrationOverrideData = Readonly<{
|
|
225
|
-
events?: readonly PublicEvent[] | null;
|
|
226
|
-
}>;
|
|
227
|
-
export type EventRegistrationOverridePropsLike = Readonly<{
|
|
228
|
-
content?: Partial<{
|
|
229
|
-
maxTickets: string | null;
|
|
230
|
-
showVenue: boolean | null;
|
|
231
|
-
showCapacity: boolean | null;
|
|
232
|
-
successMessage: string | null;
|
|
233
|
-
waitlistMessage: string | null;
|
|
234
|
-
buttonVariant: 'primary' | 'secondary' | 'outline' | null;
|
|
235
|
-
buttonText: string | null;
|
|
236
|
-
spamProtectionEnabled: boolean | null;
|
|
237
|
-
supportEmail: string | null;
|
|
238
|
-
}> | null;
|
|
239
|
-
data?: EventRegistrationOverrideData | Record<string, unknown> | null;
|
|
240
|
-
siteId?: string;
|
|
241
|
-
apiBaseUrl?: string;
|
|
242
|
-
portalToken?: string | null;
|
|
243
|
-
previewToken?: string | null;
|
|
244
|
-
stage?: 'preview' | 'published';
|
|
245
|
-
occurrenceContext?: OccurrenceContext | null;
|
|
246
|
-
contentEntry?: Record<string, unknown> | null;
|
|
247
|
-
blockId?: string | null;
|
|
248
|
-
}>;
|
|
249
|
-
export type EventRegistrationOverrideInput = Readonly<{
|
|
250
|
-
siteId: string;
|
|
251
|
-
apiBaseUrl: string;
|
|
252
|
-
portalToken: string | null;
|
|
253
|
-
previewToken: string | null;
|
|
254
|
-
stage?: 'preview' | 'published';
|
|
255
|
-
occurrenceContext?: OccurrenceContext | null;
|
|
256
|
-
contentEntry?: EventRegistrationContentEntry | null;
|
|
257
|
-
events: readonly PublicEvent[];
|
|
258
|
-
maxTickets?: string;
|
|
259
|
-
showVenue?: boolean;
|
|
260
|
-
showCapacity?: boolean;
|
|
261
|
-
successMessage?: string;
|
|
262
|
-
waitlistMessage?: string;
|
|
263
|
-
buttonText?: string | null;
|
|
264
|
-
buttonVariant?: 'primary' | 'secondary' | 'outline';
|
|
265
|
-
spamProtectionEnabled?: boolean;
|
|
266
|
-
supportEmail?: string;
|
|
267
|
-
blockId?: string | null;
|
|
268
|
-
}>;
|
|
269
|
-
export type EventRegistrationOverrideInputResult = Readonly<{
|
|
270
|
-
ok: true;
|
|
271
|
-
value: EventRegistrationOverrideInput;
|
|
272
|
-
}> | Readonly<{
|
|
273
|
-
ok: false;
|
|
274
|
-
reason: 'missing-site-id' | 'missing-api-base-url';
|
|
275
|
-
message: string;
|
|
276
|
-
}>;
|
|
277
|
-
export declare function createEventRegistrationBlockApiConfig(input: Readonly<{
|
|
278
|
-
siteId: string;
|
|
279
|
-
apiBaseUrl: string;
|
|
280
|
-
portalToken?: string | null;
|
|
281
|
-
previewToken?: string | null;
|
|
282
|
-
stage?: 'preview' | 'published';
|
|
283
|
-
}>): BlockApiConfig;
|
|
284
|
-
export declare function getRegistrableStatuses(isPreview: boolean | undefined): readonly PublicEvent['status'][];
|
|
285
|
-
export declare function normalizeEventRegistrationMaxTickets(value: string | number | undefined): number;
|
|
286
|
-
export declare function getEventRegistrationOverrideInput(props: EventRegistrationOverridePropsLike): EventRegistrationOverrideInputResult;
|
|
287
|
-
export declare function toHeadlessPaymentSelection(selection: PaymentSelection): EventRegistrationPaymentSelection;
|
|
288
|
-
export declare function toInternalPaymentSelection(selection: EventRegistrationPaymentSelection): PaymentSelection;
|
|
289
|
-
export declare function resolveEventRegistrationSubmitPlan(input: Readonly<{
|
|
290
|
-
paymentSelection: PaymentSelection;
|
|
291
|
-
eventRequiresPayment: boolean;
|
|
292
|
-
canJoinWaitlist?: boolean | null;
|
|
293
|
-
}>): EventRegistrationSubmitPlan;
|
|
294
|
-
export declare function resolveHeadlessEventRegistrationStatus(wizard: Pick<UseEventRegistrationWizardResult, 'step' | 'registrationResult' | 'errorMessage'>): EventRegistrationFlowStatus;
|
|
295
|
-
export declare function resolveHeadlessEventRegistrationView(wizard: Readonly<Pick<UseEventRegistrationWizardResult, 'step' | 'scopedEvents' | 'occurrenceContext' | 'registrationResult' | 'errorMessage'> & {
|
|
296
|
-
api: Pick<UseEventRegistrationWizardResult['api'], 'config'>;
|
|
297
|
-
}>): EventRegistrationFlowView;
|
|
298
|
-
export declare function deriveEventRegistrationSteps(input: Readonly<{
|
|
299
|
-
step: RegistrationStep;
|
|
300
|
-
hasPreSelectedContext: boolean;
|
|
301
|
-
eventRequiresPayment: boolean;
|
|
302
|
-
paymentSelection: PaymentSelection;
|
|
303
|
-
}>): readonly EventRegistrationFlowStep[];
|
|
1
|
+
export * from './event-registration.headless.contract';
|
|
2
|
+
export * from './event-registration.headless.override';
|
|
3
|
+
export * from './event-registration.headless.planning';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PublicEvent, PublicEventTicketType, PublicEventTicketTypeAvailability } from '../../../blocks/events/shared/types';
|
|
2
2
|
import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
|
|
3
|
-
import type { AvailablePass, AvailableMembership, EligibilityEventTicketType } from '../../api/types';
|
|
3
|
+
import type { AvailablePass, AvailableMembership, DirectCheckoutCollectionOptionKind, EligibilityEventTicketType } from '../../api/types';
|
|
4
4
|
export type { PublicEvent, OccurrenceContext };
|
|
5
5
|
export type { FormData } from '../../shared';
|
|
6
6
|
/**
|
|
@@ -114,6 +114,8 @@ export type PaymentSelection = {
|
|
|
114
114
|
productCurrency?: string;
|
|
115
115
|
/** Payment interval for memberships (e.g., 'month', 'year') */
|
|
116
116
|
productInterval?: string;
|
|
117
|
+
/** Direct-payment collection option chosen for this registration. */
|
|
118
|
+
collectionOptionKind?: DirectCheckoutCollectionOptionKind;
|
|
117
119
|
};
|
|
118
120
|
/**
|
|
119
121
|
* State reported by PaymentSelectionStep for parent to render footer actions.
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts
CHANGED
|
@@ -1,5 +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
|
+
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
|
+
}>;
|
|
3
11
|
export declare function useEventRegistrationWizard(options: {
|
|
4
12
|
anchorId: string;
|
|
5
13
|
occurrenceContext: EventRegistrationClientProps['occurrenceContext'];
|
|
@@ -90,7 +98,7 @@ export declare function useEventRegistrationWizard(options: {
|
|
|
90
98
|
discountContext: DiscountContext | null;
|
|
91
99
|
shouldShowDiscountToggle: boolean;
|
|
92
100
|
verification: import("../../hooks/usePaymentVerification").PaymentVerificationResult;
|
|
93
|
-
handleDetailsComplete: () => Promise<
|
|
101
|
+
handleDetailsComplete: () => Promise<EventRegistrationDetailsCompleteResult>;
|
|
94
102
|
handlePaymentSelect: () => Promise<void>;
|
|
95
103
|
handleUseCardInsteadOfPass: () => void;
|
|
96
104
|
handleBookForSomeoneElse: () => void;
|