@riverbankcms/sdk 0.90.0 → 0.90.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.
- package/dist/{PreviewEditorSidebar-KVXNF3VW.mjs → PreviewEditorSidebar-FNFRVSIM.mjs} +2 -2
- package/dist/{PreviewEditorUI-J3JN5Z7T.mjs → PreviewEditorUI-3WXJFQXG.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-2UCIMKUB.mjs +8 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +3 -0
- package/dist/_dts/api/src/event-listing-destination.d.ts +59 -0
- package/dist/_dts/api/src/index.d.ts +4 -0
- package/dist/_dts/api/src/navigation/dashboardSettingsNav.d.ts +0 -1
- package/dist/_dts/api/src/navigation.d.ts +2 -0
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +3 -1
- package/dist/_dts/api/src/settings/permissions.d.ts +273 -0
- package/dist/_dts/api/src/types.d.ts +1 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +60 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +12 -1
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +24 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/destination.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +7 -0
- package/dist/_dts/core/src/event-pricing.d.ts +12 -2
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +11 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +11 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-PMBB6MQ7.mjs → chunk-CR2VX432.mjs} +297 -117
- package/dist/{chunk-AEOYWPE4.mjs → chunk-FA6LVZ7C.mjs} +5 -5
- package/dist/{chunk-RQ3XZ4SJ.mjs → chunk-H6TT5ZXI.mjs} +1 -1
- package/dist/{chunk-GSPFFUVB.mjs → chunk-SYYJZPKU.mjs} +1 -1
- package/dist/cli/index.mjs +160 -103
- package/dist/client/{accordion-GXQNWQ6O.mjs → accordion-4K7VGZ3I.mjs} +2 -2
- package/dist/client/{bookingForm-STLUJ36H.mjs → bookingForm-3QXA3CIS.mjs} +5 -5
- package/dist/client/bookings.mjs +1154 -556
- package/dist/client/{carousel-CVRN6EPP.mjs → carousel-BEJKNGQ7.mjs} +3 -3
- package/dist/client/{cart-IYIBA5CL.mjs → cart-44BBM6XG.mjs} +6 -6
- package/dist/client/{checkout-O3BGM4GS.mjs → checkout-THMHEYKF.mjs} +6 -6
- package/dist/client/{chunk-25W2EQUN.mjs → chunk-3H5CLFKT.mjs} +8 -0
- package/dist/client/{chunk-MFPKS6QS.mjs → chunk-4COPESPO.mjs} +5 -5
- package/dist/client/{chunk-4RTFGHZN.mjs → chunk-5AJIMWKS.mjs} +6 -3
- package/dist/client/{chunk-6DPXDOIL.mjs → chunk-B4H6QMPY.mjs} +93 -22
- package/dist/client/{chunk-VFHZLZAC.mjs → chunk-DQIRKNZE.mjs} +1 -1
- package/dist/client/{chunk-7DH35FGA.mjs → chunk-EJBHK74Y.mjs} +1 -1
- package/dist/client/{chunk-DAS5CIER.mjs → chunk-JV7ZNAOU.mjs} +118 -20
- package/dist/client/{chunk-FHU6PFPM.mjs → chunk-KNTLBQ3N.mjs} +1 -1
- package/dist/client/{chunk-Z62JYS5O.mjs → chunk-PEDNDLPB.mjs} +2 -2
- package/dist/client/{chunk-NBFRJ5NB.mjs → chunk-SLY6UDAS.mjs} +2 -2
- package/dist/client/{chunk-D3ETC2SU.mjs → chunk-ZIAF2DA4.mjs} +1 -1
- package/dist/client/client.mjs +272 -83
- package/dist/client/{courseRegistration-2D3ACMJR.mjs → courseRegistration-URX7RCCK.mjs} +5 -5
- package/dist/client/{eventCalendar-QY4UZUFF.mjs → eventCalendar-GTENOQCE.mjs} +8 -8
- package/dist/client/{eventCombined-RRCDKJC2.mjs → eventCombined-EZVB72MF.mjs} +8 -8
- package/dist/client/{eventDetails-YO335BUT.mjs → eventDetails-CH4BJR5Z.mjs} +8 -8
- package/dist/client/{eventListing-PXA6GFQ3.mjs → eventListing-4BVOI5HS.mjs} +8 -8
- package/dist/client/{eventRegistration-2ZHEDDXO.mjs → eventRegistration-37LPIKIE.mjs} +8 -8
- package/dist/client/{form-ZS6KX4U2.mjs → form-FX3Y54YK.mjs} +2 -2
- package/dist/client/{headerSection-QK5SLIIB.mjs → headerSection-UOZZGVYL.mjs} +3 -3
- package/dist/client/hooks.mjs +86 -35
- package/dist/client/{locationMap-GFNIUD2X.mjs → locationMap-VSIPKV35.mjs} +3 -3
- package/dist/client/{newsletterForm-PGLTTCUG.mjs → newsletterForm-6FRJKNAF.mjs} +2 -2
- package/dist/client/{productDetail-OPBE5ZPI.mjs → productDetail-6AHMLXCO.mjs} +6 -6
- package/dist/client/{productList-NI72Q62Z.mjs → productList-M2CYIZVH.mjs} +6 -6
- package/dist/client/rendering/client.mjs +231 -42
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +273 -84
- package/dist/client/{shop-3ZQPEWYI.mjs → shop-AUOT6GEX.mjs} +6 -6
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-FSHXCWDS.mjs → sdk-runtime-6GPJNLU6.mjs} +4 -4
- package/dist/server/components.mjs +136 -58
- package/dist/server/config-validation.mjs +78 -27
- package/dist/server/config.mjs +78 -27
- package/dist/server/data.mjs +86 -35
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +157 -79
- package/dist/server/page-converter.mjs +72 -21
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +148 -70
- package/dist/server/rendering.mjs +152 -74
- package/dist/server/routing.mjs +121 -44
- package/dist/server/server.mjs +95 -44
- package/package.json +2 -2
- package/dist/SdkPreviewModeRuntime-UBL6MSNP.mjs +0 -8
|
@@ -1855,9 +1855,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
1855
1855
|
readonly contentTypeField?: string | undefined;
|
|
1856
1856
|
readonly valueFrom?: "id" | "identifier" | "slug" | undefined;
|
|
1857
1857
|
} | {
|
|
1858
|
+
readonly label: string;
|
|
1858
1859
|
readonly id: string;
|
|
1859
1860
|
readonly type: "repeater";
|
|
1860
|
-
readonly label: string;
|
|
1861
1861
|
readonly required: boolean;
|
|
1862
1862
|
readonly description?: string | undefined;
|
|
1863
1863
|
readonly minItems: number;
|
|
@@ -1968,9 +1968,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
1968
1968
|
};
|
|
1969
1969
|
readonly itemTypes?: Record<string, import("..").ItemTypeDefinition>;
|
|
1970
1970
|
} | {
|
|
1971
|
+
readonly label: string;
|
|
1971
1972
|
readonly id: string;
|
|
1972
1973
|
readonly type: "group";
|
|
1973
|
-
readonly label: string;
|
|
1974
1974
|
readonly required: boolean;
|
|
1975
1975
|
readonly description?: string | undefined;
|
|
1976
1976
|
readonly visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
|
|
@@ -2071,9 +2071,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
2071
2071
|
fields: import("../../../../block-form/src/backend/index").FieldDefinition[];
|
|
2072
2072
|
};
|
|
2073
2073
|
} | {
|
|
2074
|
+
readonly label: string;
|
|
2074
2075
|
readonly id: string;
|
|
2075
2076
|
readonly type: "modal";
|
|
2076
|
-
readonly label: string;
|
|
2077
2077
|
readonly required: boolean;
|
|
2078
2078
|
readonly description?: string | undefined;
|
|
2079
2079
|
readonly visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
|
|
@@ -2174,9 +2174,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
2174
2174
|
fields: import("../../../../block-form/src/backend/index").FieldDefinition[];
|
|
2175
2175
|
};
|
|
2176
2176
|
} | {
|
|
2177
|
+
readonly label: string;
|
|
2177
2178
|
readonly id: string;
|
|
2178
2179
|
readonly type: "tabGroup";
|
|
2179
|
-
readonly label: string;
|
|
2180
2180
|
readonly required: boolean;
|
|
2181
2181
|
readonly description?: string | undefined;
|
|
2182
2182
|
readonly visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
|
|
@@ -4398,9 +4398,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
4398
4398
|
renderInHeader?: boolean | undefined;
|
|
4399
4399
|
intent?: "style" | "display" | "content" | "behavior" | undefined;
|
|
4400
4400
|
};
|
|
4401
|
+
label: string;
|
|
4401
4402
|
id: string;
|
|
4402
4403
|
type: "repeater";
|
|
4403
|
-
label: string;
|
|
4404
4404
|
required: boolean;
|
|
4405
4405
|
description?: string | undefined;
|
|
4406
4406
|
minItems: number;
|
|
@@ -4527,9 +4527,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
4527
4527
|
renderInHeader?: boolean | undefined;
|
|
4528
4528
|
intent?: "style" | "display" | "content" | "behavior" | undefined;
|
|
4529
4529
|
};
|
|
4530
|
+
label: string;
|
|
4530
4531
|
id: string;
|
|
4531
4532
|
type: "group";
|
|
4532
|
-
label: string;
|
|
4533
4533
|
required: boolean;
|
|
4534
4534
|
description?: string | undefined;
|
|
4535
4535
|
visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
|
|
@@ -4646,9 +4646,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
4646
4646
|
renderInHeader?: boolean | undefined;
|
|
4647
4647
|
intent?: "style" | "display" | "content" | "behavior" | undefined;
|
|
4648
4648
|
};
|
|
4649
|
+
label: string;
|
|
4649
4650
|
id: string;
|
|
4650
4651
|
type: "modal";
|
|
4651
|
-
label: string;
|
|
4652
4652
|
required: boolean;
|
|
4653
4653
|
description?: string | undefined;
|
|
4654
4654
|
visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
|
|
@@ -4765,9 +4765,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
4765
4765
|
renderInHeader?: boolean | undefined;
|
|
4766
4766
|
intent?: "style" | "display" | "content" | "behavior" | undefined;
|
|
4767
4767
|
};
|
|
4768
|
+
label: string;
|
|
4768
4769
|
id: string;
|
|
4769
4770
|
type: "tabGroup";
|
|
4770
|
-
label: string;
|
|
4771
4771
|
required: boolean;
|
|
4772
4772
|
description?: string | undefined;
|
|
4773
4773
|
visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
|
|
@@ -4887,9 +4887,9 @@ export declare const mediaTextManifest: import("..").DefinedBlockManifest<import
|
|
|
4887
4887
|
searchThreshold?: number | undefined;
|
|
4888
4888
|
renderInHeader?: boolean | undefined;
|
|
4889
4889
|
};
|
|
4890
|
+
label: string;
|
|
4890
4891
|
id: "_textCardStyles";
|
|
4891
4892
|
type: "modal";
|
|
4892
|
-
label: string;
|
|
4893
4893
|
required: boolean;
|
|
4894
4894
|
description?: string | undefined;
|
|
4895
4895
|
visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
|
|
@@ -22,9 +22,9 @@ export declare const teamMembersManifest: import("..").DefinedBlockManifest<impo
|
|
|
22
22
|
readonly equals: "manual";
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
|
+
readonly label: string;
|
|
25
26
|
readonly id: string;
|
|
26
27
|
readonly type: "repeater";
|
|
27
|
-
readonly label: string;
|
|
28
28
|
readonly required: boolean;
|
|
29
29
|
readonly description?: string | undefined;
|
|
30
30
|
readonly minItems: number;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DirectCheckoutCollectionOptionKind, PaymentMethod } from '../../api/types';
|
|
2
|
+
import type { EventRegistrationDirectPaymentOption, EventRegistrationDirectPaymentSelectionState } from './eventPaymentOptions';
|
|
2
3
|
import type { EventRegistrationContentEntry } from '../event-registration.interactive';
|
|
3
4
|
import type { EligibilityData, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult } from './types';
|
|
4
5
|
import type { SelectableEventTicketType } from './utils';
|
|
@@ -144,10 +145,14 @@ export type EventRegistrationPaymentSelection = Readonly<{
|
|
|
144
145
|
export type EventRegistrationPaymentModel = Readonly<{
|
|
145
146
|
kind: 'hidden';
|
|
146
147
|
selection: EventRegistrationPaymentSelection;
|
|
148
|
+
directPaymentOptions: readonly EventRegistrationDirectPaymentOption[];
|
|
149
|
+
directPaymentSelectionState: EventRegistrationDirectPaymentSelectionState;
|
|
147
150
|
stepState: PaymentStepState;
|
|
148
151
|
}> | Readonly<{
|
|
149
152
|
kind: 'loading' | 'error' | 'not-eligible' | 'ready';
|
|
150
153
|
selection: EventRegistrationPaymentSelection;
|
|
154
|
+
directPaymentOptions: readonly EventRegistrationDirectPaymentOption[];
|
|
155
|
+
directPaymentSelectionState: EventRegistrationDirectPaymentSelectionState;
|
|
151
156
|
stepState: PaymentStepState;
|
|
152
157
|
eligibility: EligibilityData | null;
|
|
153
158
|
eligibilityError: string | null | undefined;
|
package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DirectCheckoutCollectionOptionKind } from '../../api/types';
|
|
2
2
|
import type { BlockBookingPaymentCollectionOption, BlockBookingPaymentTerms } from '../../../blocks/shared/bookingPaymentTerms';
|
|
3
3
|
import { type BookingPaymentOptionViewModel } from '../../shared/bookingPaymentOptions';
|
|
4
|
+
import type { PaymentSelection } from './types';
|
|
4
5
|
type SupportedEventDirectPaymentOption = Extract<BlockBookingPaymentCollectionOption, {
|
|
5
6
|
kind: 'upfront' | 'flexible_balance';
|
|
6
7
|
}>;
|
|
@@ -13,6 +14,21 @@ export type EventRegistrationPaymentOptionsViewModel = Readonly<{
|
|
|
13
14
|
sectionTitle: string;
|
|
14
15
|
options: readonly EventRegistrationDirectPaymentOption[];
|
|
15
16
|
}>;
|
|
17
|
+
export type EventRegistrationStripePaymentSelection = Readonly<{
|
|
18
|
+
method: 'stripe';
|
|
19
|
+
collectionOptionKind: EventRegistrationDirectPaymentOption['kind'];
|
|
20
|
+
}>;
|
|
21
|
+
export type EventRegistrationDirectPaymentSelectionState = Readonly<{
|
|
22
|
+
kind: 'not-stripe';
|
|
23
|
+
}> | Readonly<{
|
|
24
|
+
kind: 'unavailable';
|
|
25
|
+
}> | Readonly<{
|
|
26
|
+
kind: 'valid';
|
|
27
|
+
selection: EventRegistrationStripePaymentSelection;
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
kind: 'invalid';
|
|
30
|
+
fallbackSelection: EventRegistrationStripePaymentSelection;
|
|
31
|
+
}>;
|
|
16
32
|
export declare function buildEventRegistrationPaymentOptionsViewModel(input: Readonly<{
|
|
17
33
|
eventTitle: string;
|
|
18
34
|
paymentTerms?: BlockBookingPaymentTerms | null;
|
|
@@ -21,4 +37,12 @@ export declare function buildEventRegistrationPaymentOptionsViewModel(input: Rea
|
|
|
21
37
|
startsAt?: string | null;
|
|
22
38
|
locale?: string;
|
|
23
39
|
}>): EventRegistrationPaymentOptionsViewModel;
|
|
40
|
+
export declare function resolveEventRegistrationDirectPaymentSelection(input: Readonly<{
|
|
41
|
+
options: readonly EventRegistrationDirectPaymentOption[];
|
|
42
|
+
selection: PaymentSelection;
|
|
43
|
+
}>): EventRegistrationDirectPaymentSelectionState;
|
|
44
|
+
export declare function normalizeEventRegistrationDirectPaymentSelection(input: Readonly<{
|
|
45
|
+
options: readonly EventRegistrationDirectPaymentOption[];
|
|
46
|
+
selection: PaymentSelection;
|
|
47
|
+
}>): PaymentSelection;
|
|
24
48
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PublicEvent } from '../../../../blocks/events/shared/types';
|
|
2
|
+
type RuntimeEventDestinationSource = Readonly<{
|
|
3
|
+
destination?: unknown;
|
|
4
|
+
eventDestinationMode?: unknown;
|
|
5
|
+
path?: unknown;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function resolveRuntimeEventDestination(event: RuntimeEventDestinationSource): PublicEvent['destination'];
|
|
8
|
+
export {};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { PublicEventPricing } from '../../../../../../../core/src/index';
|
|
2
2
|
import type { PublicEventTicketType } from '../../../../blocks/events/shared/types';
|
|
3
3
|
type RuntimeEventPricingSource = {
|
|
4
|
+
destination?: unknown;
|
|
5
|
+
eventDestinationMode?: unknown;
|
|
6
|
+
path?: unknown;
|
|
4
7
|
pricing?: unknown;
|
|
5
8
|
requiresRegistration?: boolean | null;
|
|
6
9
|
pricingType?: unknown;
|
|
@@ -79,9 +79,16 @@ export declare function formatEventPriceDisplay(pricing: PublicEventPricing<unkn
|
|
|
79
79
|
export type ResolvedEventCta = {
|
|
80
80
|
label: string;
|
|
81
81
|
href: string;
|
|
82
|
+
external: boolean;
|
|
82
83
|
/** True when the CTA should be hidden (e.g. sold-out events) */
|
|
83
84
|
hidden: boolean;
|
|
84
85
|
};
|
|
86
|
+
export declare function resolveEventHref(event: PublicEvent): string;
|
|
87
|
+
export declare function resolveEventLinkProps(event: PublicEvent): {
|
|
88
|
+
href: string;
|
|
89
|
+
target?: '_blank';
|
|
90
|
+
rel?: string;
|
|
91
|
+
};
|
|
85
92
|
/**
|
|
86
93
|
* Resolve the CTA state for an event.
|
|
87
94
|
* Shared by EventCard and EventCompactRow to keep sold-out, registration-closed,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type CurrencyDecimals } from "./currency-format";
|
|
2
2
|
export declare const EVENT_PRICING_MODES: readonly ["single", "ticket_types"];
|
|
3
3
|
export type EventPricingMode = (typeof EVENT_PRICING_MODES)[number];
|
|
4
|
-
export type PublicEventPricingType = "free" | "paid";
|
|
4
|
+
export type PublicEventPricingType = "free" | "paid" | "external";
|
|
5
5
|
export type PublicCoursePriceDisplay = Readonly<{
|
|
6
6
|
kind: "free";
|
|
7
7
|
currency: string;
|
|
@@ -26,6 +26,10 @@ export type PublicEventExactPriceDisplay = Readonly<{
|
|
|
26
26
|
amount: number;
|
|
27
27
|
currency: string;
|
|
28
28
|
}>;
|
|
29
|
+
export type PublicEventExternalPriceDisplay = Readonly<{
|
|
30
|
+
kind: "external";
|
|
31
|
+
label: string;
|
|
32
|
+
}>;
|
|
29
33
|
export type PublicEventTicketTypePriceDisplay = PublicEventFreePriceDisplay | PublicEventExactPriceDisplay | Readonly<{
|
|
30
34
|
kind: "from";
|
|
31
35
|
amount: number;
|
|
@@ -44,7 +48,7 @@ export type PublicEventTicketTypePriceDisplay = PublicEventFreePriceDisplay | Pu
|
|
|
44
48
|
kind: "unavailable";
|
|
45
49
|
currency: string;
|
|
46
50
|
}>;
|
|
47
|
-
export type PublicEventPriceDisplay = PublicEventTicketTypePriceDisplay | Readonly<{
|
|
51
|
+
export type PublicEventPriceDisplay = PublicEventTicketTypePriceDisplay | PublicEventExternalPriceDisplay | Readonly<{
|
|
48
52
|
kind: "course";
|
|
49
53
|
display: PublicCoursePriceDisplay;
|
|
50
54
|
}>;
|
|
@@ -72,6 +76,12 @@ export type PublicEventPricing<TTicketType = never> = Readonly<{
|
|
|
72
76
|
kind: "course";
|
|
73
77
|
display: PublicCoursePriceDisplay;
|
|
74
78
|
}>;
|
|
79
|
+
}> | Readonly<{
|
|
80
|
+
kind: "external";
|
|
81
|
+
display: Readonly<{
|
|
82
|
+
kind: "external";
|
|
83
|
+
label: string;
|
|
84
|
+
}>;
|
|
75
85
|
}>;
|
|
76
86
|
export declare function isEventPricingMode(value: unknown): value is EventPricingMode;
|
|
77
87
|
export declare function publicEventPricingDisplay(pricing: PublicEventPricing<unknown>): PublicEventPriceDisplay;
|
|
@@ -539,8 +539,18 @@ export type PublicEventTicketTypeRecord = {
|
|
|
539
539
|
createdAt: string;
|
|
540
540
|
updatedAt: string;
|
|
541
541
|
};
|
|
542
|
+
export type PublicEventDestination = Readonly<{
|
|
543
|
+
kind: "native";
|
|
544
|
+
mode: "cms-managed" | "system-managed";
|
|
545
|
+
path: string;
|
|
546
|
+
}> | Readonly<{
|
|
547
|
+
kind: "external";
|
|
548
|
+
url: string;
|
|
549
|
+
label: string;
|
|
550
|
+
}>;
|
|
542
551
|
export type PublicEventsResponse = Array<{
|
|
543
552
|
kind?: "event" | "course_session";
|
|
553
|
+
destination: PublicEventDestination;
|
|
544
554
|
id: string;
|
|
545
555
|
occurrenceId: string;
|
|
546
556
|
seriesId: string;
|
|
@@ -571,7 +581,7 @@ export type PublicEventsResponse = Array<{
|
|
|
571
581
|
} | null;
|
|
572
582
|
};
|
|
573
583
|
slug: string;
|
|
574
|
-
path: string;
|
|
584
|
+
path: string | null;
|
|
575
585
|
requiresRegistration: boolean;
|
|
576
586
|
startsAt: string;
|
|
577
587
|
endsAt: string;
|
|
@@ -50,6 +50,15 @@ export type EventCategory = {
|
|
|
50
50
|
export type PricingType = PublicEventPricingType;
|
|
51
51
|
export type { PublicCoursePriceDisplay, PublicEventPriceDisplay, PublicEventPricing, };
|
|
52
52
|
export type AccessRestriction = 'none' | 'category';
|
|
53
|
+
export type PublicEventDestination = Readonly<{
|
|
54
|
+
kind: 'native';
|
|
55
|
+
mode: 'cms-managed' | 'system-managed';
|
|
56
|
+
path: string;
|
|
57
|
+
}> | Readonly<{
|
|
58
|
+
kind: 'external';
|
|
59
|
+
url: string;
|
|
60
|
+
label: string;
|
|
61
|
+
}>;
|
|
53
62
|
export type PublicEventTicketTypeAvailability = {
|
|
54
63
|
kind: 'available';
|
|
55
64
|
remainingCapacity: number | null;
|
|
@@ -121,6 +130,7 @@ export type BookingPricing = {
|
|
|
121
130
|
};
|
|
122
131
|
export type PublicEvent = {
|
|
123
132
|
kind?: 'event' | 'course_session';
|
|
133
|
+
destination: PublicEventDestination;
|
|
124
134
|
id: string;
|
|
125
135
|
occurrenceId: string;
|
|
126
136
|
seriesId: string;
|
|
@@ -132,7 +142,7 @@ export type PublicEvent = {
|
|
|
132
142
|
image?: Media | null;
|
|
133
143
|
};
|
|
134
144
|
slug: string;
|
|
135
|
-
path: string;
|
|
145
|
+
path: string | null;
|
|
136
146
|
requiresRegistration: boolean;
|
|
137
147
|
deliveryMode: 'in_person' | 'online' | 'hybrid';
|
|
138
148
|
attendanceModes: PublicEventAttendanceModeAvailability[];
|