@riverbankcms/sdk 0.132.0 → 0.134.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.
- package/CHANGELOG.md +10 -0
- package/dist/{PreviewEditorSidebar-DKQ5eFK9.mjs → PreviewEditorSidebar-DfRhJPFQ.mjs} +3 -3
- package/dist/{PreviewEditorUI-CNTcOjCC.mjs → PreviewEditorUI-Dppxcr_g.mjs} +2 -2
- package/dist/{SdkPreviewModeRuntime-DJu3qu33.mjs → SdkPreviewModeRuntime-8CyGCXir.mjs} +46 -15
- package/dist/{SiteChromeCustomizeContext-2TzT3vbj.mjs → SiteChromeCustomizeContext-DVMTMvqA.mjs} +497 -169
- package/dist/_dts/ai/src/contracts/proposals.d.ts +384 -384
- package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +219 -219
- package/dist/_dts/api/src/accountApi.d.ts +5 -5
- package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +1 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +2 -14
- package/dist/_dts/api/src/bookings.d.ts +2 -2
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
- package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +2 -2
- package/dist/_dts/api/src/endpoints.d.ts +3 -3
- package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
- package/dist/_dts/api/src/navigation/contracts.d.ts +9 -6
- package/dist/_dts/api/src/navigation/linkResolver.d.ts +6 -2
- package/dist/_dts/api/src/navigation/types.d.ts +23 -6
- package/dist/_dts/api/src/navigation.d.ts +1 -1
- package/dist/_dts/api/src/publicBookingService.d.ts +15 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +2 -0
- package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
- package/dist/_dts/api/src/sdkThemeWire.d.ts +50 -50
- package/dist/_dts/api/src/siteBanner.d.ts +4 -2
- package/dist/_dts/api/src/types.d.ts +1 -1
- package/dist/_dts/api/src/webhooks.d.ts +12 -12
- package/dist/_dts/blocks/src/client.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +28 -72
- package/dist/_dts/blocks/src/index.d.ts +3 -2
- package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -2
- package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +36 -14
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +3 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -4
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +148 -148
- package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/shared/bookingConsent.d.ts +36 -0
- package/dist/_dts/blocks/src/system/manifest/hydrateLinks.d.ts +9 -2
- package/dist/_dts/blocks/src/system/manifest/resolveBlockData.d.ts +8 -0
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +79 -79
- package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -11
- package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/DynamicFormFields.d.ts +3 -19
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.consent.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.field-values.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.fields.d.ts +21 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +38 -144
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -19
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +18 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/validation.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +34 -12
- package/dist/_dts/blocks/src/system/runtime/shared/components/BookingConsentAgreement.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
- package/dist/_dts/content-model/src/content-types/schema.d.ts +4 -4
- package/dist/_dts/core/src/booking-consent.d.ts +8 -0
- package/dist/_dts/core/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +9 -3
- package/dist/_dts/db/src/schemas/forms.d.ts +21 -21
- package/dist/_dts/db/src/types/jsonb.d.ts +1 -1
- package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +2 -1
- package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +2 -1
- package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +3 -2
- package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +3 -4
- package/dist/_dts/media-core/src/usageScanner.d.ts +1 -1
- package/dist/_dts/sdk/src/bookings/types.d.ts +7 -89
- package/dist/_dts/sdk/src/config/validation.d.ts +30 -30
- package/dist/_dts/sdk/src/contracts/content.d.ts +10 -36
- package/dist/_dts/sdk/src/contracts/rendering.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +9 -9
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -19
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -12
- package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -72
- package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
- package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
- package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
- package/dist/_dts/theme-core/src/schema.d.ts +82 -82
- package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
- package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +1 -1
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/client/{StepIndicator-CGixP_LW.mjs → BookingConsentAgreement-BxgpGEFD.mjs} +26 -4
- package/dist/client/{DiscountCodeDisclosure-DO7llLxm.mjs → DiscountCodeDisclosure-CfuPOHD0.mjs} +1 -1
- package/dist/client/{EventCombined.client-xID7zN__.mjs → EventCombined.client-DB8Qfzi-.mjs} +3 -3
- package/dist/client/{EventListing.client-CriBslp0.mjs → EventListing.client-DD4X8hp4.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DYmHnM8g.mjs → LeafletStaticMap-QhgIBQbv.mjs} +1 -1
- package/dist/client/{WholeSeriesRegistrationWizard-BEjzSiOA.mjs → WholeSeriesRegistrationWizard-DwtC7bCs.mjs} +72 -22
- package/dist/client/{accordion-CgFbnnnQ.mjs → accordion-DFXpLvwg.mjs} +1 -1
- package/dist/client/{bookingForm-dUyGpbxc.mjs → bookingForm-sI05d3lk.mjs} +73 -47
- package/dist/client/bookings.mjs +989 -140
- package/dist/client/{carousel-BvBwkUzx.mjs → carousel-wjyWTZCh.mjs} +1 -1
- package/dist/client/{cart-DiZENT2E.mjs → cart-DCwdpA4i.mjs} +3 -3
- package/dist/client/{checkout-Dq13KIgR.mjs → checkout-DTDW3l0R.mjs} +3 -3
- package/dist/client/checkoutUrls-DQYC_Br-.mjs +187 -0
- package/dist/client/client.mjs +556 -237
- package/dist/client/{context-B83PiNzm.mjs → context-TSK1CGx8.mjs} +1 -14
- package/dist/client/{courseRegistration-CKC5NmyH.mjs → courseRegistration-A-Tg7qw_.mjs} +3 -3
- package/dist/client/{eventCalendar-BF0Jatfw.mjs → eventCalendar-B0Zg-i_w.mjs} +5 -5
- package/dist/client/{eventCombined-BuoCF8je.mjs → eventCombined-B8Y2wizd.mjs} +3 -3
- package/dist/client/{eventDetails-CKwh0S9s.mjs → eventDetails-DPDOwURJ.mjs} +3 -3
- package/dist/client/{eventListing-eUxaWFaB.mjs → eventListing-CjBcmSLn.mjs} +3 -3
- package/dist/client/{eventRegistration-CfkNOkPb.mjs → eventRegistration-CK30HsAq.mjs} +111 -64
- package/dist/client/{form-C17H1c_H.mjs → form-CUXfsABE.mjs} +2 -2
- package/dist/client/{headerSection-DEwUmrtt.mjs → headerSection-N-mN3rjr.mjs} +2 -2
- package/dist/client/hooks.mjs +106 -3
- package/dist/client/{locationMap-Pf2QwuvW.mjs → locationMap-oiIDQMBt.mjs} +2 -2
- package/dist/client/{newsletterForm-BWQAH5Sv.mjs → newsletterForm-CkQ2tTrM.mjs} +2 -2
- package/dist/client/{pricing-CVdvbopJ.mjs → pricing-Caa0QWzh.mjs} +1 -1
- package/dist/client/{productDetail-BZi1Fa_G.mjs → productDetail-CnidyrsN.mjs} +3 -3
- package/dist/client/{productList-qq-55DNk.mjs → productList-CttYcS_S.mjs} +3 -3
- package/dist/client/{propsDecoder-BxmqPKdP.mjs → propsDecoder-CeUMxI9a.mjs} +211 -100
- package/dist/client/rendering/client.mjs +428 -151
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +643 -324
- package/dist/client/{scrollToBlock-B3CcKdtG.mjs → scrollToBlock-lPr1oqxB.mjs} +1 -1
- package/dist/client/{shop-DNWJPut5.mjs → shop-DXQtMo2O.mjs} +6 -6
- package/dist/client/{shop-commerce-BhvQCosS.mjs → shop-commerce-quDL411J.mjs} +7 -164
- package/dist/client/{shop-commerce-store-B04sCNnW.mjs → shop-commerce-store-Dnu-8Iub.mjs} +1 -1
- package/dist/client/{shopShared-DNNgZlmW.mjs → shopShared-BWPUURvG.mjs} +3 -3
- package/dist/client/{useEventFilters-CUmhE24_.mjs → useEventFilters-DRhWp2_5.mjs} +3 -3
- package/dist/client/{usePolling-M5jG675x.mjs → usePolling-UN4WKnaM.mjs} +2 -2
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-BEXb1wqo.mjs → sdk-runtime-Ca5RD78X.mjs} +1 -1
- package/dist/{separator-DGMuip1D.mjs → separator-CMhj6BTi.mjs} +1 -1
- package/dist/server/components.mjs +117 -37
- package/dist/server/config-validation.mjs +106 -3
- package/dist/server/config.mjs +106 -3
- package/dist/server/data.mjs +106 -3
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +186 -106
- package/dist/server/page-converter.mjs +105 -2
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +119 -37
- package/dist/server/rendering.mjs +117 -37
- package/dist/server/routing.mjs +132 -73
- package/dist/server/server.mjs +107 -4
- package/dist/server/theme-bridge.mjs +4 -4
- package/package.json +2 -2
- package/dist/client/checkoutUrls-Ct8Mxna3.mjs +0 -26
|
@@ -14,6 +14,7 @@ export interface WholeSeriesRegistrationRequest {
|
|
|
14
14
|
name: string;
|
|
15
15
|
phone?: string;
|
|
16
16
|
formData?: Record<string, unknown>;
|
|
17
|
+
consentAccepted?: boolean;
|
|
17
18
|
altchaSolution?: string | null;
|
|
18
19
|
paymentMethod?: Exclude<CoursePaymentMethod, "stripe">;
|
|
19
20
|
customerMembershipId?: string;
|
|
@@ -73,6 +74,7 @@ export interface WholeSeriesCheckoutRequest {
|
|
|
73
74
|
name: string;
|
|
74
75
|
phone?: string;
|
|
75
76
|
formData?: Record<string, unknown>;
|
|
77
|
+
consentAccepted?: boolean;
|
|
76
78
|
altchaSolution?: string | null;
|
|
77
79
|
/** Optional booking discount code (applies only to Stripe/card flows) */
|
|
78
80
|
discountCode?: string;
|
|
@@ -1,29 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { BookingFormField, BookingFormFieldOption } from '../../nodes/booking-form.state';
|
|
2
3
|
/**
|
|
3
4
|
* Form field option
|
|
4
5
|
*/
|
|
5
|
-
export
|
|
6
|
-
value: string;
|
|
7
|
-
label: string;
|
|
8
|
-
}
|
|
6
|
+
export type FormFieldOption = BookingFormFieldOption;
|
|
9
7
|
/**
|
|
10
8
|
* Form field definition (matches packages/db/src/schemas/forms.ts)
|
|
11
9
|
*/
|
|
12
|
-
export
|
|
13
|
-
id: string;
|
|
14
|
-
label: string;
|
|
15
|
-
type: 'text' | 'email' | 'textarea' | 'select' | 'radio' | 'checkbox' | 'booking_requirement_consent' | 'tel' | 'url' | 'number' | 'date' | 'time';
|
|
16
|
-
required?: boolean;
|
|
17
|
-
placeholder?: string;
|
|
18
|
-
helpText?: string;
|
|
19
|
-
options?: readonly FormFieldOption[];
|
|
20
|
-
multiple?: boolean;
|
|
21
|
-
minLength?: number;
|
|
22
|
-
maxLength?: number;
|
|
23
|
-
pattern?: string;
|
|
24
|
-
min?: number;
|
|
25
|
-
max?: number;
|
|
26
|
-
}
|
|
10
|
+
export type FormField = BookingFormField;
|
|
27
11
|
/**
|
|
28
12
|
* DynamicFormFields Component Props
|
|
29
13
|
*/
|
|
@@ -1196,7 +1196,7 @@ export declare const runtimeBackedBlockModes: {
|
|
|
1196
1196
|
readonly shop: "passes-memberships";
|
|
1197
1197
|
};
|
|
1198
1198
|
export type RuntimeBackedBlockMode<TKind extends RuntimeBackedBlockKind> = typeof runtimeBackedBlockModes[TKind];
|
|
1199
|
-
export declare const runtimeBackedBlockKinds: readonly ("form" | "
|
|
1199
|
+
export declare const runtimeBackedBlockKinds: readonly ("form" | "event-registration" | "event-listing" | "event-calendar" | "shop" | "product-list" | "product-detail" | "cart" | "checkout" | "gifting" | "course-registration" | "newsletter-form")[];
|
|
1200
1200
|
export declare const runtimeBackedBlockServerRegistry: Readonly<{
|
|
1201
1201
|
readonly form: React.ElementType<any, keyof React.JSX.IntrinsicElements>;
|
|
1202
1202
|
readonly 'event-listing': React.ElementType<any, keyof React.JSX.IntrinsicElements>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type BookingRequirementConsentField } from "../../blocks/shared/bookingConsent";
|
|
2
|
+
import type { BookingFormConfig, BookingFormService } from "./booking-form.state";
|
|
3
|
+
export type SelectedAppointmentConsent = Readonly<{
|
|
4
|
+
kind: "not-applicable";
|
|
5
|
+
}> | Readonly<{
|
|
6
|
+
kind: "required-for-selected-service";
|
|
7
|
+
field: BookingRequirementConsentField;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function resolveSelectedAppointmentConsent(service: BookingFormService | null | undefined): SelectedAppointmentConsent;
|
|
10
|
+
export declare function projectSelectedAppointmentConsentIntoForm(form: BookingFormConfig | null, selectedConsent: SelectedAppointmentConsent): BookingFormConfig | null;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BookingFormData } from "./booking-form.state";
|
|
2
|
+
export type BookingFieldValue = string | number | boolean | readonly string[] | null;
|
|
3
|
+
export declare function collectInitialBookingFieldValues(initialData: Partial<BookingFormData>): Record<string, BookingFieldValue>;
|
|
4
|
+
export declare function omitBookingConsentEntries<T>(record: Readonly<Record<string, T>>): Record<string, T>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BookingRequirementConsentField } from '../../blocks/shared/bookingConsent';
|
|
2
|
+
export type BookingFormFieldOption = Readonly<{
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}>;
|
|
6
|
+
export type StandardBookingFormField = Readonly<{
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type: 'text' | 'email' | 'textarea' | 'select' | 'radio' | 'checkbox' | 'tel' | 'url' | 'number' | 'date' | 'time';
|
|
10
|
+
required?: boolean;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
helpText?: string;
|
|
13
|
+
options?: readonly BookingFormFieldOption[];
|
|
14
|
+
multiple?: boolean;
|
|
15
|
+
minLength?: number;
|
|
16
|
+
maxLength?: number;
|
|
17
|
+
pattern?: string;
|
|
18
|
+
min?: number;
|
|
19
|
+
max?: number;
|
|
20
|
+
}>;
|
|
21
|
+
export type BookingFormField = StandardBookingFormField | BookingRequirementConsentField;
|
|
@@ -3,6 +3,8 @@ import type { BlockApiConfig, EligibleAppointmentPackage } from "../api/types";
|
|
|
3
3
|
import type { TimeSlot } from "../api/types";
|
|
4
4
|
import type { BookingFormConfig, BookingFormData, BookingFormField, BookingPaymentStepResolution, BookingFormServicesSource, BookingFormService, BookingSelectedCollectionOptionKind, BookingSubmissionData } from "./booking-form.state";
|
|
5
5
|
import type { BookingValidationErrors } from "./booking-form.validationErrors";
|
|
6
|
+
import { type BookingFieldValue } from "./booking-form.field-values";
|
|
7
|
+
export type { BookingFieldValue } from "./booking-form.field-values";
|
|
6
8
|
export type LoadState<T> = Readonly<{
|
|
7
9
|
tag: "idle";
|
|
8
10
|
}> | Readonly<{
|
|
@@ -28,7 +30,6 @@ export type BookingFlowStep = Readonly<{
|
|
|
28
30
|
}>;
|
|
29
31
|
export type BookingFieldId = Brand<string, "BookingFieldId">;
|
|
30
32
|
export declare const unsafeAsBookingFieldId: (id: string) => BookingFieldId;
|
|
31
|
-
export type BookingFieldValue = string | number | boolean | readonly string[] | null;
|
|
32
33
|
export type BookingSlotView = Readonly<{
|
|
33
34
|
key: string;
|
|
34
35
|
startAt: string;
|
|
@@ -58,24 +58,7 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
58
58
|
name: string;
|
|
59
59
|
schemaJson?: Readonly<{
|
|
60
60
|
version?: string;
|
|
61
|
-
fields?: readonly
|
|
62
|
-
id: string;
|
|
63
|
-
label: string;
|
|
64
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
65
|
-
required?: boolean;
|
|
66
|
-
placeholder?: string;
|
|
67
|
-
helpText?: string;
|
|
68
|
-
options?: readonly Readonly<{
|
|
69
|
-
value: string;
|
|
70
|
-
label: string;
|
|
71
|
-
}>[];
|
|
72
|
-
multiple?: boolean;
|
|
73
|
-
minLength?: number;
|
|
74
|
-
maxLength?: number;
|
|
75
|
-
pattern?: string;
|
|
76
|
-
min?: number;
|
|
77
|
-
max?: number;
|
|
78
|
-
}>[];
|
|
61
|
+
fields?: readonly import("./booking-form.fields").BookingFormField[];
|
|
79
62
|
}>;
|
|
80
63
|
settingsJson?: Readonly<{
|
|
81
64
|
type: "booking";
|
|
@@ -126,24 +109,7 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
126
109
|
}>;
|
|
127
110
|
schema?: Readonly<{
|
|
128
111
|
version?: string;
|
|
129
|
-
fields: readonly
|
|
130
|
-
id: string;
|
|
131
|
-
label: string;
|
|
132
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
133
|
-
required?: boolean;
|
|
134
|
-
placeholder?: string;
|
|
135
|
-
helpText?: string;
|
|
136
|
-
options?: readonly Readonly<{
|
|
137
|
-
value: string;
|
|
138
|
-
label: string;
|
|
139
|
-
}>[];
|
|
140
|
-
multiple?: boolean;
|
|
141
|
-
minLength?: number;
|
|
142
|
-
maxLength?: number;
|
|
143
|
-
pattern?: string;
|
|
144
|
-
min?: number;
|
|
145
|
-
max?: number;
|
|
146
|
-
}>[];
|
|
112
|
+
fields: readonly import("./booking-form.fields").BookingFormField[];
|
|
147
113
|
}>;
|
|
148
114
|
}> | null;
|
|
149
115
|
services: readonly Readonly<{
|
|
@@ -171,6 +137,12 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
171
137
|
paymentTerms: import("../../blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
|
|
172
138
|
reason: "online_payment_configured_before_launch";
|
|
173
139
|
}>;
|
|
140
|
+
consent?: Readonly<{
|
|
141
|
+
requirementId: string;
|
|
142
|
+
title: string;
|
|
143
|
+
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
144
|
+
checkboxLabel: string;
|
|
145
|
+
}>;
|
|
174
146
|
}>[];
|
|
175
147
|
spamProtectionEnabled?: boolean;
|
|
176
148
|
}>;
|
|
@@ -201,24 +173,7 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
201
173
|
name: string;
|
|
202
174
|
schemaJson?: Readonly<{
|
|
203
175
|
version?: string;
|
|
204
|
-
fields?: readonly
|
|
205
|
-
id: string;
|
|
206
|
-
label: string;
|
|
207
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
208
|
-
required?: boolean;
|
|
209
|
-
placeholder?: string;
|
|
210
|
-
helpText?: string;
|
|
211
|
-
options?: readonly Readonly<{
|
|
212
|
-
value: string;
|
|
213
|
-
label: string;
|
|
214
|
-
}>[];
|
|
215
|
-
multiple?: boolean;
|
|
216
|
-
minLength?: number;
|
|
217
|
-
maxLength?: number;
|
|
218
|
-
pattern?: string;
|
|
219
|
-
min?: number;
|
|
220
|
-
max?: number;
|
|
221
|
-
}>[];
|
|
176
|
+
fields?: readonly import("./booking-form.fields").BookingFormField[];
|
|
222
177
|
}>;
|
|
223
178
|
settingsJson?: Readonly<{
|
|
224
179
|
type: "booking";
|
|
@@ -259,24 +214,7 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
259
214
|
name: string;
|
|
260
215
|
schemaJson?: Readonly<{
|
|
261
216
|
version?: string;
|
|
262
|
-
fields?: readonly
|
|
263
|
-
id: string;
|
|
264
|
-
label: string;
|
|
265
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
266
|
-
required?: boolean;
|
|
267
|
-
placeholder?: string;
|
|
268
|
-
helpText?: string;
|
|
269
|
-
options?: readonly Readonly<{
|
|
270
|
-
value: string;
|
|
271
|
-
label: string;
|
|
272
|
-
}>[];
|
|
273
|
-
multiple?: boolean;
|
|
274
|
-
minLength?: number;
|
|
275
|
-
maxLength?: number;
|
|
276
|
-
pattern?: string;
|
|
277
|
-
min?: number;
|
|
278
|
-
max?: number;
|
|
279
|
-
}>[];
|
|
217
|
+
fields?: readonly import("./booking-form.fields").BookingFormField[];
|
|
280
218
|
}>;
|
|
281
219
|
settingsJson?: Readonly<{
|
|
282
220
|
type: "booking";
|
|
@@ -330,24 +268,7 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
330
268
|
}>;
|
|
331
269
|
schema?: Readonly<{
|
|
332
270
|
version?: string;
|
|
333
|
-
fields: readonly
|
|
334
|
-
id: string;
|
|
335
|
-
label: string;
|
|
336
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
337
|
-
required?: boolean;
|
|
338
|
-
placeholder?: string;
|
|
339
|
-
helpText?: string;
|
|
340
|
-
options?: readonly Readonly<{
|
|
341
|
-
value: string;
|
|
342
|
-
label: string;
|
|
343
|
-
}>[];
|
|
344
|
-
multiple?: boolean;
|
|
345
|
-
minLength?: number;
|
|
346
|
-
maxLength?: number;
|
|
347
|
-
pattern?: string;
|
|
348
|
-
min?: number;
|
|
349
|
-
max?: number;
|
|
350
|
-
}>[];
|
|
271
|
+
fields: readonly import("./booking-form.fields").BookingFormField[];
|
|
351
272
|
}>;
|
|
352
273
|
}> | null;
|
|
353
274
|
services: readonly Readonly<{
|
|
@@ -375,6 +296,12 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
375
296
|
paymentTerms: import("../../blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
|
|
376
297
|
reason: "online_payment_configured_before_launch";
|
|
377
298
|
}>;
|
|
299
|
+
consent?: Readonly<{
|
|
300
|
+
requirementId: string;
|
|
301
|
+
title: string;
|
|
302
|
+
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
303
|
+
checkboxLabel: string;
|
|
304
|
+
}>;
|
|
378
305
|
}>[];
|
|
379
306
|
spamProtectionEnabled?: boolean;
|
|
380
307
|
}>;
|
|
@@ -414,24 +341,7 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
414
341
|
}>;
|
|
415
342
|
schema?: Readonly<{
|
|
416
343
|
version?: string;
|
|
417
|
-
fields: readonly
|
|
418
|
-
id: string;
|
|
419
|
-
label: string;
|
|
420
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
421
|
-
required?: boolean;
|
|
422
|
-
placeholder?: string;
|
|
423
|
-
helpText?: string;
|
|
424
|
-
options?: readonly Readonly<{
|
|
425
|
-
value: string;
|
|
426
|
-
label: string;
|
|
427
|
-
}>[];
|
|
428
|
-
multiple?: boolean;
|
|
429
|
-
minLength?: number;
|
|
430
|
-
maxLength?: number;
|
|
431
|
-
pattern?: string;
|
|
432
|
-
min?: number;
|
|
433
|
-
max?: number;
|
|
434
|
-
}>[];
|
|
344
|
+
fields: readonly import("./booking-form.fields").BookingFormField[];
|
|
435
345
|
}>;
|
|
436
346
|
}> | null;
|
|
437
347
|
services: readonly Readonly<{
|
|
@@ -459,6 +369,12 @@ export declare const bookingFormBlockRuntime: Readonly<{
|
|
|
459
369
|
paymentTerms: import("../../blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
|
|
460
370
|
reason: "online_payment_configured_before_launch";
|
|
461
371
|
}>;
|
|
372
|
+
consent?: Readonly<{
|
|
373
|
+
requirementId: string;
|
|
374
|
+
title: string;
|
|
375
|
+
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
376
|
+
checkboxLabel: string;
|
|
377
|
+
}>;
|
|
462
378
|
}>[];
|
|
463
379
|
spamProtectionEnabled?: boolean;
|
|
464
380
|
}>;
|
|
@@ -510,24 +426,7 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
510
426
|
}>;
|
|
511
427
|
schema?: Readonly<{
|
|
512
428
|
version?: string;
|
|
513
|
-
fields: readonly
|
|
514
|
-
id: string;
|
|
515
|
-
label: string;
|
|
516
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
517
|
-
required?: boolean;
|
|
518
|
-
placeholder?: string;
|
|
519
|
-
helpText?: string;
|
|
520
|
-
options?: readonly Readonly<{
|
|
521
|
-
value: string;
|
|
522
|
-
label: string;
|
|
523
|
-
}>[];
|
|
524
|
-
multiple?: boolean;
|
|
525
|
-
minLength?: number;
|
|
526
|
-
maxLength?: number;
|
|
527
|
-
pattern?: string;
|
|
528
|
-
min?: number;
|
|
529
|
-
max?: number;
|
|
530
|
-
}>[];
|
|
429
|
+
fields: readonly import("./booking-form.fields").BookingFormField[];
|
|
531
430
|
}>;
|
|
532
431
|
}> | null;
|
|
533
432
|
services: readonly Readonly<{
|
|
@@ -555,6 +454,12 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
555
454
|
paymentTerms: import("../../blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
|
|
556
455
|
reason: "online_payment_configured_before_launch";
|
|
557
456
|
}>;
|
|
457
|
+
consent?: Readonly<{
|
|
458
|
+
requirementId: string;
|
|
459
|
+
title: string;
|
|
460
|
+
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
461
|
+
checkboxLabel: string;
|
|
462
|
+
}>;
|
|
558
463
|
}>[];
|
|
559
464
|
spamProtectionEnabled?: boolean;
|
|
560
465
|
}>;
|
|
@@ -603,24 +508,7 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
603
508
|
}>;
|
|
604
509
|
schema?: Readonly<{
|
|
605
510
|
version?: string;
|
|
606
|
-
fields: readonly
|
|
607
|
-
id: string;
|
|
608
|
-
label: string;
|
|
609
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
610
|
-
required?: boolean;
|
|
611
|
-
placeholder?: string;
|
|
612
|
-
helpText?: string;
|
|
613
|
-
options?: readonly Readonly<{
|
|
614
|
-
value: string;
|
|
615
|
-
label: string;
|
|
616
|
-
}>[];
|
|
617
|
-
multiple?: boolean;
|
|
618
|
-
minLength?: number;
|
|
619
|
-
maxLength?: number;
|
|
620
|
-
pattern?: string;
|
|
621
|
-
min?: number;
|
|
622
|
-
max?: number;
|
|
623
|
-
}>[];
|
|
511
|
+
fields: readonly import("./booking-form.fields").BookingFormField[];
|
|
624
512
|
}>;
|
|
625
513
|
}> | null;
|
|
626
514
|
services: readonly Readonly<{
|
|
@@ -648,6 +536,12 @@ export declare const bookingFormInteractiveIslandPropsCodec: Readonly<{
|
|
|
648
536
|
paymentTerms: import("../../blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
|
|
649
537
|
reason: "online_payment_configured_before_launch";
|
|
650
538
|
}>;
|
|
539
|
+
consent?: Readonly<{
|
|
540
|
+
requirementId: string;
|
|
541
|
+
title: string;
|
|
542
|
+
agreement: import("../../../../../core/src/index").RichTextDoc;
|
|
543
|
+
checkboxLabel: string;
|
|
544
|
+
}>;
|
|
651
545
|
}>[];
|
|
652
546
|
spamProtectionEnabled?: boolean;
|
|
653
547
|
}>;
|
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
import type { BlockBookingPaymentTerms } from "../../blocks/shared/bookingPaymentTerms";
|
|
2
|
+
import { type BlockBookingConsent } from "../../blocks/shared/bookingConsent";
|
|
2
3
|
import type { AppointmentBookingStatusResponse } from "../api/types";
|
|
3
4
|
import type { BookingFormDataReservedKey } from "./booking-form.reserved-fields";
|
|
5
|
+
import type { BookingFormField } from "./booking-form.fields";
|
|
6
|
+
export type { BookingFormField, BookingFormFieldOption, StandardBookingFormField, } from "./booking-form.fields";
|
|
4
7
|
export { APPOINTMENT_BOOKING_BLOCK_ID, BOOKING_FORM_DATA_RESERVED_KEYS, BOOKING_FORM_DATA_RESERVED_KEY_VALUES, collectBookingReservedFieldCollisions, findBookingFormDataReservedFieldCollisions, formatBookingReservedFieldCollisionMessages, formatBookingFormDataReservedFieldMessage, isBookingFormDataReservedKey, type BookingFormDataReservedKey, type BookingReservedFieldCollision, } from "./booking-form.reserved-fields";
|
|
5
|
-
export type BookingFormFieldOption = Readonly<{
|
|
6
|
-
value: string;
|
|
7
|
-
label: string;
|
|
8
|
-
}>;
|
|
9
|
-
export type BookingFormField = Readonly<{
|
|
10
|
-
id: string;
|
|
11
|
-
label: string;
|
|
12
|
-
type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
|
|
13
|
-
required?: boolean;
|
|
14
|
-
placeholder?: string;
|
|
15
|
-
helpText?: string;
|
|
16
|
-
options?: readonly BookingFormFieldOption[];
|
|
17
|
-
multiple?: boolean;
|
|
18
|
-
minLength?: number;
|
|
19
|
-
maxLength?: number;
|
|
20
|
-
pattern?: string;
|
|
21
|
-
min?: number;
|
|
22
|
-
max?: number;
|
|
23
|
-
}>;
|
|
24
8
|
export type BookingFormSettings = Readonly<{
|
|
25
9
|
type: "booking";
|
|
26
10
|
serviceId?: string;
|
|
@@ -80,7 +64,9 @@ export type BookingFormService = Readonly<{
|
|
|
80
64
|
priceCurrency?: string | null;
|
|
81
65
|
paymentTerms?: BlockBookingPaymentTerms;
|
|
82
66
|
paymentTermsAvailability?: BlockBookingPaymentTermsAvailability;
|
|
67
|
+
consent?: BlockBookingConsent;
|
|
83
68
|
}>;
|
|
69
|
+
export { projectSelectedAppointmentConsentIntoForm, resolveSelectedAppointmentConsent, type SelectedAppointmentConsent, } from "./booking-form.consent";
|
|
84
70
|
export type BookingFormServicesSource = readonly BookingFormService[] | Readonly<{
|
|
85
71
|
services?: readonly BookingFormService[];
|
|
86
72
|
}> | Readonly<Record<string, BookingFormService>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { PublicEvent } from "../../blocks/events/shared/types";
|
|
3
|
-
import type {
|
|
3
|
+
import type { StandardBookingFormField, BookingFormService, BookingFormServicesSource, BookingFormSettings, BookingFormSourceRecord } from "./booking-form.state";
|
|
4
4
|
import type { EventRegistrationSourceProps } from "./event-registration.interactive";
|
|
5
5
|
export declare const APPOINTMENT_BOOKING_RUNTIME_FORM_ID = "booking-form";
|
|
6
6
|
export type BookingFormRebookContext = Readonly<{
|
|
@@ -26,7 +26,7 @@ export type BookingFormSourceProps = Readonly<{
|
|
|
26
26
|
spamProtectionEnabled?: boolean;
|
|
27
27
|
className?: string | null;
|
|
28
28
|
}>;
|
|
29
|
-
export declare const bookingFieldSchema: z.ZodType<
|
|
29
|
+
export declare const bookingFieldSchema: z.ZodType<StandardBookingFormField>;
|
|
30
30
|
export declare const bookingSettingsSchema: z.ZodType<BookingFormSettings>;
|
|
31
31
|
export declare const bookingSourceFormSchema: z.ZodType<BookingFormSourceRecord>;
|
|
32
32
|
export type AppointmentBookingRuntimeTarget = Readonly<{
|
|
@@ -96,6 +96,7 @@ export type AppointmentBookingServiceSourceInput = Readonly<{
|
|
|
96
96
|
priceCurrency?: string | null;
|
|
97
97
|
paymentTerms?: BookingFormService["paymentTerms"];
|
|
98
98
|
paymentTermsAvailability?: BookingFormService["paymentTermsAvailability"];
|
|
99
|
+
consent?: BookingFormService["consent"];
|
|
99
100
|
}>;
|
|
100
101
|
export type AppointmentBookingSourceProps = BookingFormSourceProps & Readonly<{
|
|
101
102
|
siteId: string;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { FormData, Guest, GuestErrors } from './types';
|
|
3
|
+
import type { BlockBookingConsent } from '../../../blocks/shared/bookingConsent';
|
|
3
4
|
type AttendeeDetailsStepProps = {
|
|
4
5
|
formData: FormData;
|
|
5
6
|
onChange: (data: FormData) => void;
|
|
@@ -22,6 +23,7 @@ type AttendeeDetailsStepProps = {
|
|
|
22
23
|
guestSectionShake?: boolean;
|
|
23
24
|
/** Callback when guest section shake animation ends */
|
|
24
25
|
onGuestShakeEnd?: () => void;
|
|
26
|
+
consent: BlockBookingConsent | null;
|
|
25
27
|
};
|
|
26
28
|
/**
|
|
27
29
|
* Attendee Details Step
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PublicWholeSeriesOffering } from '../../../blocks/events/whole-series';
|
|
2
2
|
import type { PublicEvent } from '../../../blocks/events/shared/types';
|
|
3
|
-
import { type EventRegistrationPageSurfaceSubject } from './eventScope';
|
|
3
|
+
import { type EventRegistrationScopeContext, type EventRegistrationScopeableEvent, type EventRegistrationPageSurfaceSubject } from './eventScope';
|
|
4
4
|
export type EventRegistrationSurfacePlan = Readonly<{
|
|
5
5
|
kind: 'occurrence';
|
|
6
6
|
events: readonly PublicEvent[];
|
|
@@ -12,9 +12,25 @@ export type EventRegistrationSurfacePlan = Readonly<{
|
|
|
12
12
|
}> | Readonly<{
|
|
13
13
|
kind: 'mixedBookingScopes';
|
|
14
14
|
}>;
|
|
15
|
+
type EventRegistrationSurfaceScopeInput<TEvent extends EventRegistrationScopeableEvent> = EventRegistrationScopeContext & Readonly<{
|
|
16
|
+
events: readonly TEvent[];
|
|
17
|
+
wholeSeriesOffering?: PublicWholeSeriesOffering | null;
|
|
18
|
+
}>;
|
|
19
|
+
export type EventRegistrationSurfaceScopePlan<TEvent extends EventRegistrationScopeableEvent> = Readonly<{
|
|
20
|
+
kind: 'selectedRun';
|
|
21
|
+
events: readonly TEvent[];
|
|
22
|
+
offering: PublicWholeSeriesOffering;
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
kind: 'context';
|
|
25
|
+
events: readonly TEvent[];
|
|
26
|
+
}> | Readonly<{
|
|
27
|
+
kind: 'invalidSelectedRun';
|
|
28
|
+
}>;
|
|
29
|
+
export declare function planEventRegistrationScope<TEvent extends EventRegistrationScopeableEvent>(input: EventRegistrationSurfaceScopeInput<TEvent>): EventRegistrationSurfaceScopePlan<TEvent>;
|
|
15
30
|
export declare function planEventRegistrationSurface(input: Readonly<{
|
|
16
31
|
events: readonly PublicEvent[];
|
|
17
32
|
wholeSeriesOfferings: readonly PublicWholeSeriesOffering[];
|
|
33
|
+
wholeSeriesOffering?: PublicWholeSeriesOffering | null;
|
|
18
34
|
occurrenceContext?: Readonly<{
|
|
19
35
|
id: string;
|
|
20
36
|
seriesId: string;
|
|
@@ -24,3 +40,4 @@ export declare function planEventRegistrationSurface(input: Readonly<{
|
|
|
24
40
|
}> | null;
|
|
25
41
|
subject?: EventRegistrationPageSurfaceSubject | null;
|
|
26
42
|
}>): EventRegistrationSurfacePlan;
|
|
43
|
+
export {};
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts
CHANGED
|
@@ -57,8 +57,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
|
|
|
57
57
|
setSelectedEvent: import("react").Dispatch<import("react").SetStateAction<RegistrationEvent | null>>;
|
|
58
58
|
ticketsCount: number;
|
|
59
59
|
setTicketsCount: (nextTicketsCount: number) => void;
|
|
60
|
-
selectedAttendanceMode: "
|
|
61
|
-
setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"
|
|
60
|
+
selectedAttendanceMode: "online" | "in_person" | null;
|
|
61
|
+
setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"online" | "in_person" | null>>;
|
|
62
62
|
ticketSelections: Readonly<{
|
|
63
63
|
ticketTypeId: string | null;
|
|
64
64
|
quantity: number;
|
|
@@ -170,8 +170,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
|
|
|
170
170
|
setSelectedEvent: import("react").Dispatch<import("react").SetStateAction<RegistrationEvent | null>>;
|
|
171
171
|
ticketsCount: number;
|
|
172
172
|
setTicketsCount: (nextTicketsCount: number) => void;
|
|
173
|
-
selectedAttendanceMode: "
|
|
174
|
-
setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"
|
|
173
|
+
selectedAttendanceMode: "online" | "in_person" | null;
|
|
174
|
+
setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"online" | "in_person" | null>>;
|
|
175
175
|
ticketSelections: Readonly<{
|
|
176
176
|
ticketTypeId: string | null;
|
|
177
177
|
quantity: number;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import type { FormData } from './types';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function createInitialRegistrationFormData(): FormData;
|
|
3
|
+
export declare function validateFormData(formData: FormData, requiresConsent?: boolean): Partial<Record<keyof FormData, string>>;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ interface EnrollmentFormProps {
|
|
|
40
40
|
isEmailLocked: boolean;
|
|
41
41
|
isLoading: boolean;
|
|
42
42
|
onLogout?: () => void;
|
|
43
|
+
consent: PublicWholeSeriesOffering['consent'];
|
|
43
44
|
}
|
|
44
|
-
export declare function EnrollmentForm({ formData, errors, onChange, isEmailLocked, isLoading, onLogout, }: EnrollmentFormProps): React.JSX.Element;
|
|
45
|
+
export declare function EnrollmentForm({ formData, errors, onChange, isEmailLocked, isLoading, onLogout, consent, }: EnrollmentFormProps): React.JSX.Element;
|
|
45
46
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BlockBookingPaymentTerms } from '../../../../blocks/shared/bookingPaymentTerms';
|
|
2
2
|
import type { PublicTeamMemberSummary } from '../../../../blocks/shared/teamMembers';
|
|
3
3
|
import type { WholeSeriesRegistrationClientProps, EnrollmentResult, FormData } from './types';
|
|
4
|
+
import type { BlockBookingConsent } from '../../../../blocks/shared/bookingConsent';
|
|
4
5
|
export type WholeSeriesRegistrationPricingOptionInput = Readonly<{
|
|
5
6
|
id: string;
|
|
6
7
|
name: string;
|
|
@@ -43,6 +44,7 @@ export type WholeSeriesRegistrationRunInput = Readonly<{
|
|
|
43
44
|
slug: string;
|
|
44
45
|
description: unknown;
|
|
45
46
|
teamMembers?: readonly PublicTeamMemberSummary[];
|
|
47
|
+
consent: BlockBookingConsent | null;
|
|
46
48
|
registrationOpen: boolean;
|
|
47
49
|
pricing: WholeSeriesRegistrationPricingInput;
|
|
48
50
|
capacity: number | null;
|