@riverbankcms/sdk 0.60.6 → 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.
Files changed (92) hide show
  1. package/dist/_dts/api/src/appointmentSetup.d.ts +2 -2
  2. package/dist/_dts/api/src/bookingConfig.d.ts +6 -0
  3. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +45 -3
  4. package/dist/_dts/api/src/bookingOperations.d.ts +40 -3
  5. package/dist/_dts/api/src/courses.d.ts +1 -5
  6. package/dist/_dts/api/src/endpoints.d.ts +80 -1
  7. package/dist/_dts/api/src/index.d.ts +3 -2
  8. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -9
  9. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  10. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +15 -1
  11. package/dist/_dts/api/src/resources.d.ts +1 -1
  12. package/dist/_dts/api/src/siteBanner.d.ts +8 -8
  13. package/dist/_dts/api/src/siteOnboarding.d.ts +1 -0
  14. package/dist/_dts/api/src/teamMembers.d.ts +27 -0
  15. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +35 -29
  16. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -5
  17. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +40 -34
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -5
  19. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +1 -1
  20. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  21. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +9 -9
  22. package/dist/_dts/blocks/src/system/blocks/shared/teamMembers.d.ts +24 -0
  23. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +18 -8
  24. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  25. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
  27. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +201 -201
  28. package/dist/_dts/blocks/src/system/manifest/validation.d.ts +2 -2
  29. package/dist/_dts/blocks/src/system/node/schema.d.ts +5 -5
  30. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +4 -4
  32. package/dist/_dts/blocks/src/system/transforms/registry/ui.d.ts +1 -1
  33. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +3 -3
  34. package/dist/_dts/content-model/src/content-types/schema.d.ts +8 -8
  35. package/dist/_dts/content-model/src/metadataConfig.d.ts +1 -0
  36. package/dist/_dts/core/src/branded.d.ts +2 -0
  37. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +124 -8
  38. package/dist/_dts/db/src/schemas/forms.d.ts +61 -61
  39. package/dist/_dts/sdk/src/client/types.d.ts +9 -2
  40. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  41. package/dist/_dts/sdk/src/config/validation.d.ts +40 -37
  42. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +17 -8
  43. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +1 -1
  44. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +19 -19
  45. package/dist/_dts/sdk/src/public-api/contracts.d.ts +87 -69
  46. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  47. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -5
  48. package/dist/_dts/sdk/src/version.d.ts +1 -1
  49. package/dist/_dts/theme-core/src/accordions/types.d.ts +11 -11
  50. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +10 -10
  51. package/dist/_dts/theme-core/src/buttons/types.d.ts +27 -27
  52. package/dist/_dts/theme-core/src/cards/types.d.ts +17 -17
  53. package/dist/_dts/theme-core/src/inputs/types.d.ts +14 -14
  54. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +2 -2
  55. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +438 -438
  56. package/dist/_dts/theme-core/src/navigation/types.d.ts +16 -16
  57. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +15 -15
  58. package/dist/_dts/theme-core/src/schema.d.ts +662 -662
  59. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +4 -4
  60. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +15 -15
  61. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +7 -7
  62. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  63. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +5 -5
  64. package/dist/_dts/ui/src/badge.d.ts +1 -1
  65. package/dist/_dts/ui/src/button-group.d.ts +1 -1
  66. package/dist/_dts/ui/src/button.d.ts +2 -2
  67. package/dist/_dts/ui/src/callout.d.ts +1 -1
  68. package/dist/_dts/ui/src/card.d.ts +1 -1
  69. package/dist/_dts/ui/src/surface.d.ts +2 -2
  70. package/dist/_dts/ui/src/toggle.d.ts +4 -4
  71. package/dist/cli/index.mjs +276 -24
  72. package/dist/client/client.mjs +607 -306
  73. package/dist/client/hooks.mjs +272 -23
  74. package/dist/client/rendering/client.mjs +179 -130
  75. package/dist/client/rendering/islands.mjs +68 -43
  76. package/dist/client/rendering.mjs +646 -363
  77. package/dist/preview-next/before-render.mjs +147 -1
  78. package/dist/preview-next/client/runtime.mjs +338 -43
  79. package/dist/preview-next/middleware.mjs +147 -1
  80. package/dist/server/components.mjs +727 -470
  81. package/dist/server/config-validation.mjs +488 -254
  82. package/dist/server/config.mjs +488 -254
  83. package/dist/server/data.mjs +272 -23
  84. package/dist/server/index.mjs +168 -2
  85. package/dist/server/next.mjs +476 -185
  86. package/dist/server/page-converter.mjs +335 -249
  87. package/dist/server/prebuild.mjs +1 -1
  88. package/dist/server/rendering/server.mjs +742 -469
  89. package/dist/server/rendering.mjs +742 -469
  90. package/dist/server/routing.mjs +274 -24
  91. package/dist/server/server.mjs +291 -24
  92. package/package.json +1 -1
@@ -8,22 +8,22 @@ import { z } from 'zod';
8
8
  export declare const simpleFieldTypeEnum: z.ZodEnum<{
9
9
  number: "number";
10
10
  boolean: "boolean";
11
- media: "media";
12
11
  link: "link";
13
- select: "select";
14
12
  text: "text";
13
+ select: "select";
14
+ media: "media";
15
15
  richText: "richText";
16
16
  }>;
17
17
  export declare const fieldTypeEnum: z.ZodEnum<{
18
18
  number: "number";
19
19
  boolean: "boolean";
20
- media: "media";
21
20
  link: "link";
22
- select: "select";
23
21
  text: "text";
22
+ select: "select";
23
+ media: "media";
24
+ group: "group";
24
25
  richText: "richText";
25
26
  repeater: "repeater";
26
- group: "group";
27
27
  }>;
28
28
  /**
29
29
  * Combined field schema supporting all field types.
@@ -34,10 +34,10 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
34
34
  type: z.ZodEnum<{
35
35
  number: "number";
36
36
  boolean: "boolean";
37
- media: "media";
38
37
  link: "link";
39
- select: "select";
40
38
  text: "text";
39
+ select: "select";
40
+ media: "media";
41
41
  richText: "richText";
42
42
  }>;
43
43
  label: z.ZodString;
@@ -61,10 +61,10 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
61
61
  type: z.ZodEnum<{
62
62
  number: "number";
63
63
  boolean: "boolean";
64
- media: "media";
65
64
  link: "link";
66
- select: "select";
67
65
  text: "text";
66
+ select: "select";
67
+ media: "media";
68
68
  richText: "richText";
69
69
  }>;
70
70
  label: z.ZodString;
@@ -81,10 +81,10 @@ export declare const extractedFieldSchema: z.ZodUnion<readonly [z.ZodObject<{
81
81
  type: z.ZodEnum<{
82
82
  number: "number";
83
83
  boolean: "boolean";
84
- media: "media";
85
84
  link: "link";
86
- select: "select";
87
85
  text: "text";
86
+ select: "select";
87
+ media: "media";
88
88
  richText: "richText";
89
89
  }>;
90
90
  label: z.ZodString;
@@ -167,10 +167,10 @@ export declare const pass1OutputSchema: z.ZodObject<{
167
167
  blockDescription: z.ZodNullable<z.ZodString>;
168
168
  category: z.ZodEnum<{
169
169
  content: "content";
170
- media: "media";
171
170
  layout: "layout";
172
- marketing: "marketing";
171
+ media: "media";
173
172
  blog: "blog";
173
+ marketing: "marketing";
174
174
  interactive: "interactive";
175
175
  }>;
176
176
  fields: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -178,10 +178,10 @@ export declare const pass1OutputSchema: z.ZodObject<{
178
178
  type: z.ZodEnum<{
179
179
  number: "number";
180
180
  boolean: "boolean";
181
- media: "media";
182
181
  link: "link";
183
- select: "select";
184
182
  text: "text";
183
+ select: "select";
184
+ media: "media";
185
185
  richText: "richText";
186
186
  }>;
187
187
  label: z.ZodString;
@@ -205,10 +205,10 @@ export declare const pass1OutputSchema: z.ZodObject<{
205
205
  type: z.ZodEnum<{
206
206
  number: "number";
207
207
  boolean: "boolean";
208
- media: "media";
209
208
  link: "link";
210
- select: "select";
211
209
  text: "text";
210
+ select: "select";
211
+ media: "media";
212
212
  richText: "richText";
213
213
  }>;
214
214
  label: z.ZodString;
@@ -225,10 +225,10 @@ export declare const pass1OutputSchema: z.ZodObject<{
225
225
  type: z.ZodEnum<{
226
226
  number: "number";
227
227
  boolean: "boolean";
228
- media: "media";
229
228
  link: "link";
230
- select: "select";
231
229
  text: "text";
230
+ select: "select";
231
+ media: "media";
232
232
  richText: "richText";
233
233
  }>;
234
234
  label: z.ZodString;
@@ -1,13 +1,15 @@
1
- import type { AddressedLocationValue, BusinessAddress, BookingFlexibleBalanceConfig, BookingInstalmentPlanConfig } from '@riverbankcms/core';
2
- import type { MediaAssetIndexItem, SiteFooterContent, SiteHeaderContent, Theme } from '../contracts';
3
- 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';
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 = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';
9
- export type ApiResponseKind = 'json' | 'stream' | 'text' | 'void' | 'blob';
10
- export type ApiAuthRequirement = 'public' | 'user' | 'admin' | 'service';
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 = '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';
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 = '2025-01-01';
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 = 'draft' | 'published' | 'scheduled' | 'archived';
59
- export type ContentEntryListStage = 'published' | 'preview';
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: 'uuid' | 'iso-date' | 'uuid-or-date' | 'slug';
63
- precedence?: 'subroute-first' | 'content-first';
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: 'category';
74
+ kind: "category";
73
75
  productCategoryId: string;
74
76
  }> | Readonly<{
75
- kind: 'current-category-page';
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: 'category';
85
+ productCategoryScope: "category";
84
86
  productCategoryId: string;
85
87
  productCategoryEntryId?: undefined;
86
88
  }> | Readonly<{
87
- productCategoryScope: 'current-category-page';
89
+ productCategoryScope: "current-category-page";
88
90
  productCategoryEntryId: string;
89
91
  productCategoryId?: undefined;
90
92
  }>;
91
93
  export type InternalLinkPayload = {
92
- kind: 'internal';
94
+ kind: "internal";
93
95
  routeId: string;
94
96
  entityId: string;
95
- entityType: 'page' | 'content';
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: 'page';
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: 'entry';
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: 'portal';
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: 'icon-only';
127
+ kind: "icon-only";
126
128
  } | {
127
- kind: 'icon-with-label';
129
+ kind: "icon-with-label";
128
130
  label: string;
129
131
  };
130
132
  export type CartLinkPayload = {
131
- kind: 'cart';
132
- badge: 'show-count' | 'hidden';
133
+ kind: "cart";
134
+ badge: "show-count" | "hidden";
133
135
  label: CartLinkLabelConfig;
134
136
  };
135
137
  export type LinkPayload = InternalLinkPayload | PageLinkPayload | EntryLinkPayload | {
136
- kind: 'external';
138
+ kind: "external";
137
139
  href: string;
138
140
  } | {
139
- kind: 'url';
141
+ kind: "url";
140
142
  href: string;
141
143
  } | PortalLinkPayload | CartLinkPayload;
142
144
  export type NavigationLinkInput = PageLinkPayload | EntryLinkPayload | {
143
- kind: 'external';
145
+ kind: "external";
144
146
  href: string;
145
147
  } | {
146
- kind: 'url';
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 = 'UK' | 'US' | 'EU' | 'CA' | 'AU' | 'OTHER';
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?: 'managed' | 'headless_cms' | 'headless_full' | null;
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?: 'page';
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: 'entry';
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<'image' | 'video' | 'audio' | 'document' | 'spreadsheet' | 'archive'> | null;
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?: 'event' | 'course_session';
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: 'image' | 'video' | 'audio' | 'document' | 'spreadsheet' | 'archive';
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?: 'active' | 'draft' | 'archived';
531
- pricingType: 'free' | 'paid' | 'pass_only' | 'membership_only';
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: 'upfront';
540
+ kind: "upfront";
537
541
  } | {
538
- kind: 'deferred_manual';
542
+ kind: "deferred_manual";
539
543
  } | {
540
- kind: 'instalment_plan';
544
+ kind: "instalment_plan";
541
545
  plan: Record<string, unknown>;
542
546
  }>;
543
547
  };
544
- pricingMode?: 'single' | 'ticket_types';
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: 'limited' | 'unlimited';
558
+ capacityMode: "limited" | "unlimited";
555
559
  capacityLimit: number | null;
556
560
  saleStartsAt: string | null;
557
561
  saleEndsAt: string | null;
558
562
  availability: {
559
- kind: 'available';
563
+ kind: "available";
560
564
  remainingCapacity: number | null;
561
565
  } | {
562
- kind: 'unavailable';
563
- reason: 'inactive' | 'not_on_sale_yet' | 'sale_ended' | 'sold_out' | 'event_sold_out';
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: 'none' | 'category';
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: 'none' | 'required';
579
- pricingStrategy: 'free' | 'single' | 'tiered';
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: 'upfront';
588
+ kind: "upfront";
585
589
  } | {
586
- kind: 'deferred_manual';
590
+ kind: "deferred_manual";
587
591
  } | {
588
- kind: 'instalment_plan';
592
+ kind: "instalment_plan";
589
593
  plan: BookingInstalmentPlanConfig;
590
594
  } | {
591
- kind: 'flexible_balance';
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?: 'in_person' | 'online' | 'both' | null;
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: 'draft' | 'active';
660
+ status: "draft" | "active";
654
661
  priceCents: number;
655
662
  currency: string;
656
- productType: 'physical' | 'digital';
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: 'event_pass' | 'appointment_package';
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: 'month' | 'year';
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: 'event-occurrence';
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: 'course-run';
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: 'page' | 'content';
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 = 'getSite' | 'getContentByPath' | 'listPublishedEntries' | 'getPublishedEntryPreview' | 'getPublicFormById' | 'listPublicForms' | 'getPublicBookingServices' | 'getPublicChallenge' | 'listPublicEvents' | 'batchBlockLoaders' | 'listPublicCourses' | 'listPublicProducts' | 'listPublicPasses' | 'listPublicMemberships' | 'resolveEntrySubroute' | 'resolveEventOccurrence' | 'checkRedirect' | 'getRoutableContent' | 'getPublicSitemapRoutes';
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?: 'full';
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?: 'published_at.asc' | 'published_at.desc' | 'title.asc' | 'title.desc' | 'updated_at.asc' | 'updated_at.desc';
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?: 'manual';
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: 'getPublicEventDetails';
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?: 'published' | 'preview';
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: 'event-occurrence' | 'course-run';
909
+ kind: "event-occurrence" | "course-run";
892
910
  segment: string;
893
- stage?: 'preview' | 'published';
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
  } | {
@@ -8,4 +8,4 @@
8
8
  * 1. This constant
9
9
  * 2. The "version" field in package.json
10
10
  */
11
- export declare const SDK_VERSION = "0.60.6";
11
+ export declare const SDK_VERSION = "0.60.7";