@riverbankcms/sdk 0.60.3 → 0.60.7
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/_dts/api/src/appointmentSetup.d.ts +2 -2
- package/dist/_dts/api/src/bookingConfig.d.ts +6 -0
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +45 -3
- package/dist/_dts/api/src/bookingOperations.d.ts +40 -3
- package/dist/_dts/api/src/bookingVerticals.d.ts +1 -0
- package/dist/_dts/api/src/courses.d.ts +1 -5
- package/dist/_dts/api/src/endpoints.d.ts +80 -1
- package/dist/_dts/api/src/index.d.ts +3 -2
- package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
- package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -1
- package/dist/_dts/api/src/resources.d.ts +1 -1
- package/dist/_dts/api/src/siteBanner.d.ts +8 -8
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -39
- package/dist/_dts/api/src/siteOnboarding.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +2 -0
- package/dist/_dts/api/src/teamMembers.d.ts +27 -0
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +35 -29
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +40 -34
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -5
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1 -1
- package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +24 -0
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +18 -8
- package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
- package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
- package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -2
- package/dist/_dts/blocks/src/system/node/fragments/ctaButton.d.ts +2 -0
- package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/shared/themedButtonClass.d.ts +11 -0
- package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +10 -2
- package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
- package/dist/_dts/content-model/src/metadataConfig.d.ts +1 -0
- package/dist/_dts/core/src/branded.d.ts +2 -0
- package/dist/_dts/core/src/participants.d.ts +32 -1
- package/dist/_dts/core/src/rectification.d.ts +79 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +130 -14
- package/dist/_dts/db/src/schemas/forms.d.ts +61 -61
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +17 -15
- package/dist/_dts/sdk/src/client/types.d.ts +10 -2
- package/dist/_dts/sdk/src/config/types.d.ts +1 -1
- package/dist/_dts/sdk/src/config/validation.d.ts +40 -37
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +17 -8
- package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +87 -69
- package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -5
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/accordions/types.d.ts +11 -11
- package/dist/_dts/theme-core/src/buttons/personalities/brushed-wash.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/confident-chip.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/editorial-link.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +86 -5
- package/dist/_dts/theme-core/src/buttons/personalities/ink-stamp.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/pebble.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/soft-pill.d.ts +7 -2
- package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +20 -20
- package/dist/_dts/theme-core/src/buttons/types.d.ts +27 -27
- package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
- package/dist/_dts/theme-core/src/inputs/types.d.ts +14 -14
- package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +2 -2
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +438 -438
- package/dist/_dts/theme-core/src/navigation/types.d.ts +16 -16
- package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/high-contrast.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +200 -4
- package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +33 -9
- package/dist/_dts/theme-core/src/palette/variants/types.d.ts +25 -25
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +33 -9
- package/dist/_dts/theme-core/src/schema.d.ts +662 -662
- package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/curatedChoices.d.ts +27 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +48 -194
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +15 -15
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +7 -7
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -1
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +12 -14
- package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +46 -0
- package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +5 -5
- package/dist/_dts/ui/src/badge.d.ts +1 -1
- package/dist/_dts/ui/src/button-group.d.ts +1 -1
- package/dist/_dts/ui/src/button.d.ts +2 -2
- package/dist/_dts/ui/src/callout.d.ts +1 -1
- package/dist/_dts/ui/src/card.d.ts +1 -1
- package/dist/_dts/ui/src/palette/ColorChooserDialog.d.ts +47 -0
- package/dist/_dts/ui/src/palette/ColorSlotButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/ColorSwatchButton.d.ts +15 -0
- package/dist/_dts/ui/src/palette/PaletteTokenEditor.d.ts +50 -0
- package/dist/_dts/ui/src/palette/hex.d.ts +23 -0
- package/dist/_dts/ui/src/palette/index.d.ts +14 -0
- package/dist/_dts/ui/src/surface.d.ts +2 -2
- package/dist/_dts/ui/src/toggle.d.ts +4 -4
- package/dist/cli/index.mjs +1535 -1183
- package/dist/client/client.mjs +3944 -3454
- package/dist/client/hooks.mjs +2053 -1743
- package/dist/client/rendering/client.mjs +311 -167
- package/dist/client/rendering/islands.mjs +159 -73
- package/dist/client/rendering.mjs +1918 -1447
- package/dist/preview-next/before-render.mjs +147 -1
- package/dist/preview-next/client/runtime.mjs +2828 -2174
- package/dist/preview-next/middleware.mjs +147 -1
- package/dist/server/components.mjs +4311 -3928
- package/dist/server/config-validation.mjs +2201 -1906
- package/dist/server/config.mjs +2201 -1906
- package/dist/server/data.mjs +2053 -1743
- package/dist/server/index.mjs +171 -4
- package/dist/server/next.mjs +3442 -3024
- package/dist/server/page-converter.mjs +2109 -1962
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +4021 -3622
- package/dist/server/rendering.mjs +4021 -3622
- package/dist/server/routing.mjs +2377 -2058
- package/dist/server/server.mjs +2244 -1915
- package/dist/server/theme-bridge.mjs +130 -126
- package/dist/server/theme.mjs +131 -129
- package/package.json +1 -1
- package/dist/_dts/theme-core/src/site-styles/compatibility.d.ts +0 -109
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { PublicTeamMemberBlockItem } from "@riverbankcms/api";
|
|
2
|
+
import type { AddressedLocationValue, BusinessAddress, BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig } from "@riverbankcms/core";
|
|
3
|
+
import type { MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent, Theme } from "../contracts";
|
|
4
|
+
import type { BlockFieldConfig as SdkBlockFieldConfig, BlockFieldOptionsMap as SdkBlockFieldOptionsMap, ContentConfig as SdkContentConfig, ContainerOptionsConfig as SdkContainerOptionsConfig, FieldSelectOption as SdkFieldSelectOption, SdkCustomBlock, SdkThemeConfig, SdkThemePalette, SectionBackground as SdkSectionBackground, SectionOptionsConfig as SdkSectionOptionsConfig, SiteStyleConfig as SdkSiteStyleConfig } from "../config/types";
|
|
5
|
+
export type { PublicTeamMemberBlockItem, PublicTeamMemberSummary, } from "@riverbankcms/api";
|
|
4
6
|
export type RuntimeSiteSdkConfig = {
|
|
5
7
|
theme?: SdkThemeConfig;
|
|
6
8
|
customBlocks?: SdkCustomBlock[];
|
|
7
9
|
};
|
|
8
|
-
export type HTTPMethod =
|
|
9
|
-
export type ApiResponseKind =
|
|
10
|
-
export type ApiAuthRequirement =
|
|
10
|
+
export type HTTPMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD";
|
|
11
|
+
export type ApiResponseKind = "json" | "stream" | "text" | "void" | "blob";
|
|
12
|
+
export type ApiAuthRequirement = "public" | "user" | "admin" | "service";
|
|
11
13
|
export interface APIEndpointBase<TBody = unknown, TQuery = unknown, TResponse = unknown> {
|
|
12
14
|
path: string;
|
|
13
15
|
method: HTTPMethod;
|
|
@@ -24,7 +26,7 @@ export interface ApiResponse<TData> {
|
|
|
24
26
|
data: TData;
|
|
25
27
|
meta: ResponseMeta;
|
|
26
28
|
}
|
|
27
|
-
export type ApiErrorCode =
|
|
29
|
+
export type ApiErrorCode = "auth:unauthenticated" | "auth:token_expired" | "auth:token_invalid" | "auth:forbidden" | "auth:mfa_required" | "auth:sudo_required" | "auth:insufficient_permissions" | "auth:impersonation_restricted" | "validation:invalid_input" | "validation:missing_field" | "validation:invalid_format" | "validation:payload_too_large" | "resource:not_found" | "resource:already_exists" | "resource:conflict" | "resource:gone" | "rate_limit:exceeded" | "billing:payment_required" | "billing:plan_limit_exceeded" | "billing:pass_redemption_failed" | "server:internal_error" | "server:unavailable" | "external:service_error" | "network:connection_error" | "network:timeout" | "network:dns_error";
|
|
28
30
|
export interface FieldError {
|
|
29
31
|
field: string;
|
|
30
32
|
code: string;
|
|
@@ -42,7 +44,7 @@ export interface ApiError {
|
|
|
42
44
|
};
|
|
43
45
|
}
|
|
44
46
|
export type ApiResult<TData> = ApiResponse<TData> | ApiError;
|
|
45
|
-
export type ApiVersion =
|
|
47
|
+
export type ApiVersion = "2025-01-01";
|
|
46
48
|
export interface ResponseMeta {
|
|
47
49
|
requestId: string;
|
|
48
50
|
timestamp: string;
|
|
@@ -55,12 +57,12 @@ export interface DeprecationWarning {
|
|
|
55
57
|
sunsetDate: string;
|
|
56
58
|
alternative?: string;
|
|
57
59
|
}
|
|
58
|
-
export type ContentEntryStatus =
|
|
59
|
-
export type ContentEntryListStage =
|
|
60
|
+
export type ContentEntryStatus = "draft" | "published" | "scheduled" | "archived";
|
|
61
|
+
export type ContentEntryListStage = "published" | "preview";
|
|
60
62
|
export type ContentTypeRoutingSubroute = {
|
|
61
63
|
kind: string;
|
|
62
|
-
segmentType:
|
|
63
|
-
precedence?:
|
|
64
|
+
segmentType: "uuid" | "iso-date" | "uuid-or-date" | "slug";
|
|
65
|
+
precedence?: "subroute-first" | "content-first";
|
|
64
66
|
};
|
|
65
67
|
export type ContentTypeRoutingInfo = {
|
|
66
68
|
key: string;
|
|
@@ -69,10 +71,10 @@ export type ContentTypeRoutingInfo = {
|
|
|
69
71
|
subroutes?: ContentTypeRoutingSubroute[];
|
|
70
72
|
};
|
|
71
73
|
export type PublicProductCategorySelector = Readonly<{
|
|
72
|
-
kind:
|
|
74
|
+
kind: "category";
|
|
73
75
|
productCategoryId: string;
|
|
74
76
|
}> | Readonly<{
|
|
75
|
-
kind:
|
|
77
|
+
kind: "current-category-page";
|
|
76
78
|
productCategoryEntryId: string;
|
|
77
79
|
}>;
|
|
78
80
|
export type PublicProductCategorySelectorQuery = Readonly<{
|
|
@@ -80,19 +82,19 @@ export type PublicProductCategorySelectorQuery = Readonly<{
|
|
|
80
82
|
productCategoryId?: undefined;
|
|
81
83
|
productCategoryEntryId?: undefined;
|
|
82
84
|
}> | Readonly<{
|
|
83
|
-
productCategoryScope:
|
|
85
|
+
productCategoryScope: "category";
|
|
84
86
|
productCategoryId: string;
|
|
85
87
|
productCategoryEntryId?: undefined;
|
|
86
88
|
}> | Readonly<{
|
|
87
|
-
productCategoryScope:
|
|
89
|
+
productCategoryScope: "current-category-page";
|
|
88
90
|
productCategoryEntryId: string;
|
|
89
91
|
productCategoryId?: undefined;
|
|
90
92
|
}>;
|
|
91
93
|
export type InternalLinkPayload = {
|
|
92
|
-
kind:
|
|
94
|
+
kind: "internal";
|
|
93
95
|
routeId: string;
|
|
94
96
|
entityId: string;
|
|
95
|
-
entityType:
|
|
97
|
+
entityType: "page" | "content";
|
|
96
98
|
href: string;
|
|
97
99
|
title: string;
|
|
98
100
|
typeLabel: string;
|
|
@@ -101,20 +103,20 @@ export type InternalLinkPayload = {
|
|
|
101
103
|
updatedAt?: string | null;
|
|
102
104
|
};
|
|
103
105
|
export type PageLinkPayload = {
|
|
104
|
-
kind:
|
|
106
|
+
kind: "page";
|
|
105
107
|
identifier: string;
|
|
106
108
|
routeId?: string | null;
|
|
107
109
|
href?: string | null;
|
|
108
110
|
};
|
|
109
111
|
export type EntryLinkPayload = {
|
|
110
|
-
kind:
|
|
112
|
+
kind: "entry";
|
|
111
113
|
contentType: string;
|
|
112
114
|
identifier: string;
|
|
113
115
|
routeId?: string | null;
|
|
114
116
|
href?: string | null;
|
|
115
117
|
};
|
|
116
118
|
export type PortalLinkPayload = {
|
|
117
|
-
kind:
|
|
119
|
+
kind: "portal";
|
|
118
120
|
path?: string | null;
|
|
119
121
|
labels?: {
|
|
120
122
|
loggedOut?: string;
|
|
@@ -122,28 +124,28 @@ export type PortalLinkPayload = {
|
|
|
122
124
|
};
|
|
123
125
|
};
|
|
124
126
|
export type CartLinkLabelConfig = {
|
|
125
|
-
kind:
|
|
127
|
+
kind: "icon-only";
|
|
126
128
|
} | {
|
|
127
|
-
kind:
|
|
129
|
+
kind: "icon-with-label";
|
|
128
130
|
label: string;
|
|
129
131
|
};
|
|
130
132
|
export type CartLinkPayload = {
|
|
131
|
-
kind:
|
|
132
|
-
badge:
|
|
133
|
+
kind: "cart";
|
|
134
|
+
badge: "show-count" | "hidden";
|
|
133
135
|
label: CartLinkLabelConfig;
|
|
134
136
|
};
|
|
135
137
|
export type LinkPayload = InternalLinkPayload | PageLinkPayload | EntryLinkPayload | {
|
|
136
|
-
kind:
|
|
138
|
+
kind: "external";
|
|
137
139
|
href: string;
|
|
138
140
|
} | {
|
|
139
|
-
kind:
|
|
141
|
+
kind: "url";
|
|
140
142
|
href: string;
|
|
141
143
|
} | PortalLinkPayload | CartLinkPayload;
|
|
142
144
|
export type NavigationLinkInput = PageLinkPayload | EntryLinkPayload | {
|
|
143
|
-
kind:
|
|
145
|
+
kind: "external";
|
|
144
146
|
href: string;
|
|
145
147
|
} | {
|
|
146
|
-
kind:
|
|
148
|
+
kind: "url";
|
|
147
149
|
href: string;
|
|
148
150
|
} | PortalLinkPayload | CartLinkPayload;
|
|
149
151
|
export interface NavigationItemRecord {
|
|
@@ -216,7 +218,7 @@ export type SitePrivacyPolicyDocument = {
|
|
|
216
218
|
effectiveDate: string;
|
|
217
219
|
sections: SitePrivacyPolicySection[];
|
|
218
220
|
};
|
|
219
|
-
export type SiteLegalJurisdiction =
|
|
221
|
+
export type SiteLegalJurisdiction = "UK" | "US" | "EU" | "CA" | "AU" | "OTHER";
|
|
220
222
|
export type SiteLegalProfilePayload = {
|
|
221
223
|
legalEntityName: string | null;
|
|
222
224
|
privacyContactEmail: string | null;
|
|
@@ -268,7 +270,7 @@ export type SiteResponse = {
|
|
|
268
270
|
updated_at: string;
|
|
269
271
|
maintenance_mode_enabled?: boolean;
|
|
270
272
|
maintenance_mode_message?: unknown | null;
|
|
271
|
-
deployment_mode?:
|
|
273
|
+
deployment_mode?: "managed" | "headless_cms" | "headless_full" | null;
|
|
272
274
|
is_sdk_site?: boolean | null;
|
|
273
275
|
businessAddress?: BusinessAddress | null;
|
|
274
276
|
venuesById?: Record<string, AddressedLocationValue>;
|
|
@@ -352,13 +354,13 @@ export type PageResponse = {
|
|
|
352
354
|
page: SdkRuntimePage;
|
|
353
355
|
templates?: SdkTemplate[];
|
|
354
356
|
mediaAssets?: SdkRuntimeMediaAsset[];
|
|
355
|
-
type?:
|
|
357
|
+
type?: "page";
|
|
356
358
|
} | {
|
|
357
359
|
entry: SdkRuntimeEntry;
|
|
358
360
|
templates: SdkTemplate[];
|
|
359
361
|
contentTypeSchema: Record<string, unknown> | null;
|
|
360
362
|
mediaAssets?: SdkRuntimeMediaAsset[];
|
|
361
|
-
type:
|
|
363
|
+
type: "entry";
|
|
362
364
|
};
|
|
363
365
|
export type SdkRuntimeMediaAsset = MediaAssetIndexItem;
|
|
364
366
|
export type SdkRuntimeEntry = {
|
|
@@ -418,7 +420,7 @@ export type ContentEntryListItem<TContent = Record<string, unknown>> = {
|
|
|
418
420
|
export type PublicContentTypeFieldMeta = {
|
|
419
421
|
id: string;
|
|
420
422
|
type: string;
|
|
421
|
-
mediaKinds: Array<
|
|
423
|
+
mediaKinds: Array<"image" | "video" | "audio" | "document" | "spreadsheet" | "archive"> | null;
|
|
422
424
|
};
|
|
423
425
|
export type PublicContentTypeMeta = {
|
|
424
426
|
key: string;
|
|
@@ -466,7 +468,7 @@ export type PublicBookingServicesResponse = {
|
|
|
466
468
|
services: PublicBookingService[];
|
|
467
469
|
};
|
|
468
470
|
export type PublicEventsResponse = Array<{
|
|
469
|
-
kind?:
|
|
471
|
+
kind?: "event" | "course_session";
|
|
470
472
|
id: string;
|
|
471
473
|
occurrenceId: string;
|
|
472
474
|
seriesId: string;
|
|
@@ -476,7 +478,7 @@ export type PublicEventsResponse = Array<{
|
|
|
476
478
|
cardTitleOverride?: string | null;
|
|
477
479
|
summary?: string | null;
|
|
478
480
|
image?: {
|
|
479
|
-
type:
|
|
481
|
+
type: "image" | "video" | "audio" | "document" | "spreadsheet" | "archive";
|
|
480
482
|
purpose?: string;
|
|
481
483
|
placeholder?: boolean;
|
|
482
484
|
assetId?: string;
|
|
@@ -525,23 +527,25 @@ export type PublicEventsResponse = Array<{
|
|
|
525
527
|
teamMembers?: Array<{
|
|
526
528
|
id: string;
|
|
527
529
|
name: string;
|
|
530
|
+
roleLabel: string | null;
|
|
528
531
|
summary: string | null;
|
|
532
|
+
profilePath: string | null;
|
|
529
533
|
}>;
|
|
530
|
-
status?:
|
|
531
|
-
pricingType:
|
|
534
|
+
status?: "active" | "draft" | "archived";
|
|
535
|
+
pricingType: "free" | "paid" | "pass_only" | "membership_only";
|
|
532
536
|
price: number | null;
|
|
533
537
|
currency: string;
|
|
534
538
|
paymentTerms: {
|
|
535
539
|
allowedOptions: Array<{
|
|
536
|
-
kind:
|
|
540
|
+
kind: "upfront";
|
|
537
541
|
} | {
|
|
538
|
-
kind:
|
|
542
|
+
kind: "deferred_manual";
|
|
539
543
|
} | {
|
|
540
|
-
kind:
|
|
544
|
+
kind: "instalment_plan";
|
|
541
545
|
plan: Record<string, unknown>;
|
|
542
546
|
}>;
|
|
543
547
|
};
|
|
544
|
-
pricingMode?:
|
|
548
|
+
pricingMode?: "single" | "ticket_types";
|
|
545
549
|
ticketTypes?: Array<{
|
|
546
550
|
id: string;
|
|
547
551
|
siteId: string;
|
|
@@ -551,22 +555,22 @@ export type PublicEventsResponse = Array<{
|
|
|
551
555
|
priceAmount: number;
|
|
552
556
|
isActive: boolean;
|
|
553
557
|
sortOrder: number;
|
|
554
|
-
capacityMode:
|
|
558
|
+
capacityMode: "limited" | "unlimited";
|
|
555
559
|
capacityLimit: number | null;
|
|
556
560
|
saleStartsAt: string | null;
|
|
557
561
|
saleEndsAt: string | null;
|
|
558
562
|
availability: {
|
|
559
|
-
kind:
|
|
563
|
+
kind: "available";
|
|
560
564
|
remainingCapacity: number | null;
|
|
561
565
|
} | {
|
|
562
|
-
kind:
|
|
563
|
-
reason:
|
|
566
|
+
kind: "unavailable";
|
|
567
|
+
reason: "inactive" | "not_on_sale_yet" | "sale_ended" | "sold_out" | "event_sold_out";
|
|
564
568
|
remainingCapacity: number | null;
|
|
565
569
|
};
|
|
566
570
|
createdAt: string;
|
|
567
571
|
updatedAt: string;
|
|
568
572
|
}>;
|
|
569
|
-
accessRestriction:
|
|
573
|
+
accessRestriction: "none" | "category";
|
|
570
574
|
allowedCategoryIds: string[];
|
|
571
575
|
requireGuestDetails?: boolean;
|
|
572
576
|
timeZone?: string;
|
|
@@ -575,20 +579,20 @@ export type PublicEventsResponse = Array<{
|
|
|
575
579
|
course?: {
|
|
576
580
|
id: string;
|
|
577
581
|
pricing?: {
|
|
578
|
-
bookingRequirement:
|
|
579
|
-
pricingStrategy:
|
|
582
|
+
bookingRequirement: "none" | "required";
|
|
583
|
+
pricingStrategy: "free" | "single" | "tiered";
|
|
580
584
|
currency: string;
|
|
581
585
|
singlePriceAmount: number | null;
|
|
582
586
|
paymentTerms: {
|
|
583
587
|
allowedOptions: Array<{
|
|
584
|
-
kind:
|
|
588
|
+
kind: "upfront";
|
|
585
589
|
} | {
|
|
586
|
-
kind:
|
|
590
|
+
kind: "deferred_manual";
|
|
587
591
|
} | {
|
|
588
|
-
kind:
|
|
592
|
+
kind: "instalment_plan";
|
|
589
593
|
plan: BookingInstalmentPlanConfig;
|
|
590
594
|
} | {
|
|
591
|
-
kind:
|
|
595
|
+
kind: "flexible_balance";
|
|
592
596
|
config: BookingFlexibleBalanceConfig;
|
|
593
597
|
}>;
|
|
594
598
|
};
|
|
@@ -602,7 +606,7 @@ export type PublicEventsResponse = Array<{
|
|
|
602
606
|
capacityLimit: number | null;
|
|
603
607
|
saleStartsAt: string | null;
|
|
604
608
|
saleEndsAt: string | null;
|
|
605
|
-
attendanceScope?:
|
|
609
|
+
attendanceScope?: "in_person" | "online" | "both" | null;
|
|
606
610
|
}>;
|
|
607
611
|
};
|
|
608
612
|
priceCents: number | null;
|
|
@@ -643,6 +647,9 @@ export type PublicCoursesResponse = Array<{
|
|
|
643
647
|
} | null;
|
|
644
648
|
contentEntryId: string | null;
|
|
645
649
|
}>;
|
|
650
|
+
export type PublicTeamMembersResponse = {
|
|
651
|
+
teamMembers: PublicTeamMemberBlockItem[];
|
|
652
|
+
};
|
|
646
653
|
export type PublicProductsResponse = {
|
|
647
654
|
products: Array<{
|
|
648
655
|
id: string;
|
|
@@ -650,10 +657,10 @@ export type PublicProductsResponse = {
|
|
|
650
657
|
title: string;
|
|
651
658
|
slug: string;
|
|
652
659
|
path: string | null;
|
|
653
|
-
status:
|
|
660
|
+
status: "draft" | "active";
|
|
654
661
|
priceCents: number;
|
|
655
662
|
currency: string;
|
|
656
|
-
productType:
|
|
663
|
+
productType: "physical" | "digital";
|
|
657
664
|
requiresShipping: boolean;
|
|
658
665
|
hasVariants: boolean;
|
|
659
666
|
trackInventory: boolean;
|
|
@@ -684,7 +691,7 @@ export type PublicProductsResponse = {
|
|
|
684
691
|
export type PublicPassesResponse = {
|
|
685
692
|
passes: Array<{
|
|
686
693
|
id: string;
|
|
687
|
-
productUseCase:
|
|
694
|
+
productUseCase: "event_pass" | "appointment_package";
|
|
688
695
|
name: string;
|
|
689
696
|
description: string | null;
|
|
690
697
|
price: number;
|
|
@@ -703,14 +710,14 @@ export type PublicMembershipsResponse = {
|
|
|
703
710
|
description: string | null;
|
|
704
711
|
price: number;
|
|
705
712
|
currency: string;
|
|
706
|
-
billingInterval:
|
|
713
|
+
billingInterval: "month" | "year";
|
|
707
714
|
eligibleCategoryIds: string[];
|
|
708
715
|
eligibleCategoryNames: string[];
|
|
709
716
|
}>;
|
|
710
717
|
};
|
|
711
718
|
export type ResolveEntrySubrouteResponse = {
|
|
712
719
|
subroute: {
|
|
713
|
-
kind:
|
|
720
|
+
kind: "event-occurrence";
|
|
714
721
|
occurrence: {
|
|
715
722
|
id: string;
|
|
716
723
|
seriesId: string;
|
|
@@ -722,7 +729,7 @@ export type ResolveEntrySubrouteResponse = {
|
|
|
722
729
|
overridesJson: Record<string, unknown>;
|
|
723
730
|
};
|
|
724
731
|
} | {
|
|
725
|
-
kind:
|
|
732
|
+
kind: "course-run";
|
|
726
733
|
run: {
|
|
727
734
|
courseId: string;
|
|
728
735
|
seriesId: string;
|
|
@@ -749,7 +756,7 @@ export type CheckRedirectResponse = {
|
|
|
749
756
|
export type RoutableContentItem = {
|
|
750
757
|
routeId: string;
|
|
751
758
|
entityId: string;
|
|
752
|
-
entityType:
|
|
759
|
+
entityType: "page" | "content";
|
|
753
760
|
identifier: string | null;
|
|
754
761
|
contentTypeKey?: string | null;
|
|
755
762
|
contentTypeName?: string | null;
|
|
@@ -777,13 +784,13 @@ export type SitemapRoutesResponse = {
|
|
|
777
784
|
pageSize: number;
|
|
778
785
|
allowIndexingInProduction: boolean;
|
|
779
786
|
};
|
|
780
|
-
export type PublicEndpointName =
|
|
787
|
+
export type PublicEndpointName = "getSite" | "getContentByPath" | "listPublishedEntries" | "getPublishedEntryPreview" | "getPublicFormById" | "listPublicForms" | "getPublicBookingServices" | "getPublicChallenge" | "listPublicEvents" | "batchBlockLoaders" | "listPublicCourses" | "listPublicTeamMembers" | "listPublicProducts" | "listPublicPasses" | "listPublicMemberships" | "resolveEntrySubroute" | "resolveEventOccurrence" | "checkRedirect" | "getRoutableContent" | "getPublicSitemapRoutes";
|
|
781
788
|
export type PublicAPIEndpoints = {
|
|
782
789
|
getSite: APIEndpointBase<never, {
|
|
783
790
|
id?: string;
|
|
784
791
|
slug?: string;
|
|
785
792
|
domain?: string;
|
|
786
|
-
scope?:
|
|
793
|
+
scope?: "full";
|
|
787
794
|
}, SiteResponse>;
|
|
788
795
|
getContentByPath: APIEndpointBase<{
|
|
789
796
|
path: string;
|
|
@@ -796,10 +803,10 @@ export type PublicAPIEndpoints = {
|
|
|
796
803
|
type: string;
|
|
797
804
|
limit?: string;
|
|
798
805
|
offset?: string;
|
|
799
|
-
order?:
|
|
806
|
+
order?: "published_at.asc" | "published_at.desc" | "title.asc" | "title.desc" | "updated_at.asc" | "updated_at.desc";
|
|
800
807
|
stage?: ContentEntryListStage;
|
|
801
808
|
meta?: string;
|
|
802
|
-
mode?:
|
|
809
|
+
mode?: "manual";
|
|
803
810
|
entryIds?: string;
|
|
804
811
|
}, EntriesResponse>;
|
|
805
812
|
getPublishedEntryPreview: APIEndpointBase<never, {
|
|
@@ -837,7 +844,7 @@ export type PublicAPIEndpoints = {
|
|
|
837
844
|
batchBlockLoaders: APIEndpointBase<{
|
|
838
845
|
requests: Array<{
|
|
839
846
|
id: string;
|
|
840
|
-
endpoint:
|
|
847
|
+
endpoint: "getPublicEventDetails";
|
|
841
848
|
params?: {
|
|
842
849
|
limit?: string;
|
|
843
850
|
from?: string;
|
|
@@ -852,6 +859,13 @@ export type PublicAPIEndpoints = {
|
|
|
852
859
|
seriesId?: string;
|
|
853
860
|
includeOccurrenceId?: string;
|
|
854
861
|
};
|
|
862
|
+
} | {
|
|
863
|
+
id: string;
|
|
864
|
+
endpoint: "listPublicTeamMembers";
|
|
865
|
+
params?: {
|
|
866
|
+
siteId?: string;
|
|
867
|
+
stage?: string;
|
|
868
|
+
};
|
|
855
869
|
}>;
|
|
856
870
|
}, {
|
|
857
871
|
siteId: string;
|
|
@@ -873,9 +887,13 @@ export type PublicAPIEndpoints = {
|
|
|
873
887
|
limit?: string;
|
|
874
888
|
stage?: string;
|
|
875
889
|
}, PublicCoursesResponse>;
|
|
890
|
+
listPublicTeamMembers: APIEndpointBase<never, {
|
|
891
|
+
siteId: string;
|
|
892
|
+
stage?: string;
|
|
893
|
+
}, PublicTeamMembersResponse>;
|
|
876
894
|
listPublicProducts: APIEndpointBase<never, {
|
|
877
895
|
siteId: string;
|
|
878
|
-
stage?:
|
|
896
|
+
stage?: "published" | "preview";
|
|
879
897
|
} & PublicProductCategorySelectorQuery, PublicProductsResponse>;
|
|
880
898
|
listPublicPasses: APIEndpointBase<never, {
|
|
881
899
|
siteId: string;
|
|
@@ -888,9 +906,9 @@ export type PublicAPIEndpoints = {
|
|
|
888
906
|
resolveEntrySubroute: APIEndpointBase<never, {
|
|
889
907
|
siteId: string;
|
|
890
908
|
entryId: string;
|
|
891
|
-
kind:
|
|
909
|
+
kind: "event-occurrence" | "course-run";
|
|
892
910
|
segment: string;
|
|
893
|
-
stage?:
|
|
911
|
+
stage?: "preview" | "published";
|
|
894
912
|
}, ResolveEntrySubrouteResponse>;
|
|
895
913
|
resolveEventOccurrence: APIEndpointBase<never, {
|
|
896
914
|
siteId: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ApiResult, HTTPMethod, PublicAPIEndpoints, PublicEndpointName } from './contracts';
|
|
2
|
-
export declare const PUBLIC_ENDPOINT_NAMES: readonly ["getSite", "getContentByPath", "listPublishedEntries", "getPublishedEntryPreview", "getPublicFormById", "listPublicForms", "getPublicBookingServices", "getPublicChallenge", "listPublicEvents", "batchBlockLoaders", "listPublicCourses", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "resolveEntrySubroute", "resolveEventOccurrence", "checkRedirect", "getRoutableContent", "getPublicSitemapRoutes"];
|
|
2
|
+
export declare const PUBLIC_ENDPOINT_NAMES: readonly ["getSite", "getContentByPath", "listPublishedEntries", "getPublishedEntryPreview", "getPublicFormById", "listPublicForms", "getPublicBookingServices", "getPublicChallenge", "listPublicEvents", "batchBlockLoaders", "listPublicCourses", "listPublicTeamMembers", "listPublicProducts", "listPublicPasses", "listPublicMemberships", "resolveEntrySubroute", "resolveEventOccurrence", "checkRedirect", "getRoutableContent", "getPublicSitemapRoutes"];
|
|
3
3
|
export type ApiClient = <E extends PublicEndpointName>(params: {
|
|
4
4
|
endpoint: E;
|
|
5
5
|
params?: PublicAPIEndpoints[E]['query'];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Media } from '../../contracts';
|
|
2
|
+
import type { PublicTeamMemberSummary } from '@riverbankcms/api';
|
|
2
3
|
import type { BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig, LocationCoordinates } from '@riverbankcms/core';
|
|
3
4
|
import type { AccordionIslandProps as BlocksAccordionIslandProps, BookingFormConfig as BlocksBookingFormConfig, BookingFormInteractiveIslandProps as BlocksBookingFormIslandProps, BookingFormService as BlocksBookingFormService, CarouselIslandProps as BlocksCarouselIslandProps, CourseRegistrationInteractiveIslandProps as BlocksCourseRegistrationIslandProps, CartDisplay as BlocksCartDisplay, CartInteractiveIslandProps as BlocksCartIslandProps, CartLineDisplay as BlocksCartLineDisplay, CheckoutDisplay as BlocksCheckoutDisplay, CheckoutInteractiveIslandProps as BlocksCheckoutIslandProps, EventCalendarInteractiveIslandProps as BlocksEventCalendarIslandProps, EventCombinedInteractiveIslandProps as BlocksEventCombinedIslandProps, EventDetailsContentEntry as BlocksEventDetailsContentEntry, EventDetailsIslandProps as BlocksEventDetailsIslandProps, EventDetailsOccurrenceContext as BlocksEventDetailsOccurrenceContext, LocationMapIslandProps as BlocksLocationMapIslandProps, EventRegistrationInteractiveIslandProps as BlocksEventRegistrationIslandProps, EventListingDisplay as BlocksEventListingDisplay, EventListingHydration as BlocksEventListingHydration, EventListingInteractiveIslandProps as BlocksEventListingIslandProps, FormInteractiveIslandProps as BlocksFormIslandProps, HeaderSectionIslandProps as BlocksHeaderSectionIslandProps, MembershipCardDisplay as BlocksMembershipCardDisplay, NewsletterFormInteractiveIslandProps as BlocksNewsletterFormIslandProps, PassCardDisplay as BlocksPassCardDisplay, PassesMembershipsDisplay as BlocksPassesMembershipsDisplay, ProductCardDisplay as BlocksProductCardDisplay, ProductDetailDisplay as BlocksProductDetailDisplay, ProductDetailInteractiveIslandProps as BlocksProductDetailIslandProps, ProductListDisplay as BlocksProductListDisplay, ProductListInteractiveIslandProps as BlocksProductListIslandProps, ProductVariantOptionDisplay as BlocksProductVariantOptionDisplay, ShopInteractiveIslandProps as BlocksShopIslandProps } from '@riverbankcms/blocks/contracts';
|
|
4
5
|
export type ResponsiveSlidesToShow = {
|
|
@@ -82,11 +83,7 @@ export type PublicEventAttendanceModeAvailability = {
|
|
|
82
83
|
availableSpots: number | null;
|
|
83
84
|
waitlistEnabled: boolean;
|
|
84
85
|
};
|
|
85
|
-
export type PublicTeamMemberSummary
|
|
86
|
-
id: string;
|
|
87
|
-
name: string;
|
|
88
|
-
summary: string | null;
|
|
89
|
-
};
|
|
86
|
+
export type { PublicTeamMemberSummary };
|
|
90
87
|
export type BookingPaymentCollectionOption = {
|
|
91
88
|
kind: 'upfront';
|
|
92
89
|
} | {
|
|
@@ -3,9 +3,9 @@ import { z } from 'zod';
|
|
|
3
3
|
* Accordion icon styles for expand/collapse indicators
|
|
4
4
|
*/
|
|
5
5
|
export declare const accordionIconSchema: z.ZodEnum<{
|
|
6
|
-
caret: "caret";
|
|
7
6
|
"plus-minus": "plus-minus";
|
|
8
7
|
chevron: "chevron";
|
|
8
|
+
caret: "caret";
|
|
9
9
|
arrow: "arrow";
|
|
10
10
|
"circle-plus-minus": "circle-plus-minus";
|
|
11
11
|
}>;
|
|
@@ -25,18 +25,18 @@ export declare const accordionSystemSchema: z.ZodObject<{
|
|
|
25
25
|
colorToken: z.ZodString;
|
|
26
26
|
}, z.core.$strip>;
|
|
27
27
|
spacing: z.ZodEnum<{
|
|
28
|
-
medium: "medium";
|
|
29
28
|
none: "none";
|
|
30
29
|
compact: "compact";
|
|
31
|
-
|
|
32
|
-
comfortable: "comfortable";
|
|
30
|
+
medium: "medium";
|
|
33
31
|
spacious: "spacious";
|
|
32
|
+
comfortable: "comfortable";
|
|
33
|
+
cozy: "cozy";
|
|
34
34
|
}>;
|
|
35
35
|
corners: z.ZodNullable<z.ZodEnum<{
|
|
36
|
-
|
|
36
|
+
soft: "soft";
|
|
37
37
|
square: "square";
|
|
38
|
+
rounded: "rounded";
|
|
38
39
|
pill: "pill";
|
|
39
|
-
soft: "soft";
|
|
40
40
|
}>>;
|
|
41
41
|
border: z.ZodNullable<z.ZodObject<{
|
|
42
42
|
widthClass: z.ZodString;
|
|
@@ -44,14 +44,14 @@ export declare const accordionSystemSchema: z.ZodObject<{
|
|
|
44
44
|
}, z.core.$strip>>;
|
|
45
45
|
shadow: z.ZodNullable<z.ZodObject<{
|
|
46
46
|
elevation: z.ZodEnum<{
|
|
47
|
-
medium: "medium";
|
|
48
47
|
none: "none";
|
|
49
48
|
low: "low";
|
|
50
49
|
high: "high";
|
|
50
|
+
medium: "medium";
|
|
51
51
|
}>;
|
|
52
52
|
softness: z.ZodNullable<z.ZodEnum<{
|
|
53
|
-
soft: "soft";
|
|
54
53
|
crisp: "crisp";
|
|
54
|
+
soft: "soft";
|
|
55
55
|
hard: "hard";
|
|
56
56
|
}>>;
|
|
57
57
|
position: z.ZodEnum<{
|
|
@@ -61,9 +61,9 @@ export declare const accordionSystemSchema: z.ZodObject<{
|
|
|
61
61
|
}, z.core.$strip>>;
|
|
62
62
|
icon: z.ZodObject<{
|
|
63
63
|
style: z.ZodEnum<{
|
|
64
|
-
caret: "caret";
|
|
65
64
|
"plus-minus": "plus-minus";
|
|
66
65
|
chevron: "chevron";
|
|
66
|
+
caret: "caret";
|
|
67
67
|
arrow: "arrow";
|
|
68
68
|
"circle-plus-minus": "circle-plus-minus";
|
|
69
69
|
}>;
|
|
@@ -72,17 +72,17 @@ export declare const accordionSystemSchema: z.ZodObject<{
|
|
|
72
72
|
right: "right";
|
|
73
73
|
}>;
|
|
74
74
|
size: z.ZodEnum<{
|
|
75
|
-
sm: "sm";
|
|
76
75
|
md: "md";
|
|
77
76
|
lg: "lg";
|
|
77
|
+
sm: "sm";
|
|
78
78
|
}>;
|
|
79
79
|
}, z.core.$strip>;
|
|
80
80
|
trigger: z.ZodObject<{
|
|
81
81
|
textColorToken: z.ZodString;
|
|
82
82
|
fontWeight: z.ZodNullable<z.ZodEnum<{
|
|
83
|
-
medium: "medium";
|
|
84
83
|
bold: "bold";
|
|
85
84
|
regular: "regular";
|
|
85
|
+
medium: "medium";
|
|
86
86
|
semibold: "semibold";
|
|
87
87
|
}>>;
|
|
88
88
|
}, z.core.$strip>;
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
* Generous padding, soft shadows; pairs with vibrant organic brands.
|
|
4
4
|
*/
|
|
5
5
|
export declare const brushedWash: Readonly<{
|
|
6
|
-
id: import("./types").ButtonPersonalityId
|
|
6
|
+
id: import("./types").ButtonPersonalityId<"brushed-wash">;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
tags:
|
|
9
|
+
tags: Readonly<Partial<Readonly<{
|
|
10
|
+
tone: import("../../site-styles").StyleTone;
|
|
11
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
12
|
+
motion: import("../../site-styles").StyleMotion;
|
|
13
|
+
era: import("../../site-styles").StyleEra;
|
|
14
|
+
}>>>;
|
|
10
15
|
buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
|
|
11
16
|
}>;
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
* direct. Default for Clear Professional; works for any modern brand voice.
|
|
4
4
|
*/
|
|
5
5
|
export declare const confidentChip: Readonly<{
|
|
6
|
-
id: import("./types").ButtonPersonalityId
|
|
6
|
+
id: import("./types").ButtonPersonalityId<"confident-chip">;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
tags:
|
|
9
|
+
tags: Readonly<Partial<Readonly<{
|
|
10
|
+
tone: import("../../site-styles").StyleTone;
|
|
11
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
12
|
+
motion: import("../../site-styles").StyleMotion;
|
|
13
|
+
era: import("../../site-styles").StyleEra;
|
|
14
|
+
}>>>;
|
|
10
15
|
buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
|
|
11
16
|
}>;
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
* Default for Warm Editorial and Quiet Luxury; reads as refined and quiet.
|
|
4
4
|
*/
|
|
5
5
|
export declare const editorialLink: Readonly<{
|
|
6
|
-
id: import("./types").ButtonPersonalityId
|
|
6
|
+
id: import("./types").ButtonPersonalityId<"editorial-link">;
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
tags:
|
|
9
|
+
tags: Readonly<Partial<Readonly<{
|
|
10
|
+
tone: import("../../site-styles").StyleTone;
|
|
11
|
+
energy: import("../../site-styles").StyleEnergy;
|
|
12
|
+
motion: import("../../site-styles").StyleMotion;
|
|
13
|
+
era: import("../../site-styles").StyleEra;
|
|
14
|
+
}>>>;
|
|
10
15
|
buttonSystem: import("@riverbankcms/blocks").ButtonSystem;
|
|
11
16
|
}>;
|