@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
@@ -883,13 +883,150 @@ var ENDPOINT_DEFINITIONS = {
883
883
  "server:internal_error"
884
884
  ]
885
885
  },
886
- deleteAppointmentResource: {
886
+ removeAppointmentResource: {
887
887
  path: "/sites/{siteId}/bookings/resources/{resourceId}",
888
888
  method: "DELETE",
889
889
  auth: "user",
890
890
  responseKind: "json",
891
891
  errors: ["resource:not_found", "server:internal_error"]
892
892
  },
893
+ createTeamMemberProfile: {
894
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
895
+ method: "POST",
896
+ auth: "user",
897
+ responseKind: "json",
898
+ errors: [
899
+ "validation:invalid_input",
900
+ "resource:not_found",
901
+ "resource:conflict",
902
+ "server:internal_error"
903
+ ]
904
+ },
905
+ updateTeamMemberProfilePolicy: {
906
+ path: "/sites/{siteId}/bookings/resources/profile-policy",
907
+ method: "PUT",
908
+ auth: "user",
909
+ responseKind: "json",
910
+ errors: ["validation:invalid_input", "server:internal_error"]
911
+ },
912
+ updateTeamMemberProfileContent: {
913
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/content",
914
+ method: "PUT",
915
+ tags: [
916
+ "site-{siteId}",
917
+ "content-{siteId}-team-member",
918
+ "content-entry-{entryId}"
919
+ ],
920
+ auth: "user",
921
+ responseKind: "json",
922
+ errors: [
923
+ "validation:invalid_input",
924
+ "resource:not_found",
925
+ "resource:conflict",
926
+ "server:internal_error"
927
+ ]
928
+ },
929
+ publishTeamMemberProfile: {
930
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/publish",
931
+ method: "POST",
932
+ tags: [
933
+ "site-{siteId}",
934
+ "content-{siteId}-team-member",
935
+ "content-entry-{entryId}"
936
+ ],
937
+ auth: "user",
938
+ responseKind: "json",
939
+ errors: [
940
+ "validation:invalid_input",
941
+ "resource:not_found",
942
+ "server:internal_error"
943
+ ]
944
+ },
945
+ discardTeamMemberProfileDraft: {
946
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/discard",
947
+ method: "POST",
948
+ tags: [
949
+ "site-{siteId}",
950
+ "content-{siteId}-team-member",
951
+ "content-entry-{entryId}"
952
+ ],
953
+ auth: "user",
954
+ responseKind: "json",
955
+ errors: [
956
+ "validation:invalid_input",
957
+ "resource:not_found",
958
+ "resource:conflict",
959
+ "server:internal_error"
960
+ ]
961
+ },
962
+ unpublishTeamMemberProfile: {
963
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
964
+ method: "POST",
965
+ tags: [
966
+ "site-{siteId}",
967
+ "content-{siteId}-team-member",
968
+ "content-entry-{entryId}"
969
+ ],
970
+ auth: "user",
971
+ responseKind: "json",
972
+ errors: [
973
+ "validation:invalid_input",
974
+ "resource:not_found",
975
+ "resource:conflict",
976
+ "server:internal_error"
977
+ ]
978
+ },
979
+ scheduleTeamMemberProfile: {
980
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
981
+ method: "POST",
982
+ tags: [
983
+ "site-{siteId}",
984
+ "content-{siteId}-team-member",
985
+ "content-entry-{entryId}"
986
+ ],
987
+ auth: "user",
988
+ responseKind: "json",
989
+ errors: [
990
+ "validation:invalid_input",
991
+ "resource:not_found",
992
+ "resource:conflict",
993
+ "server:internal_error"
994
+ ]
995
+ },
996
+ cancelScheduledTeamMemberProfile: {
997
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
998
+ method: "DELETE",
999
+ tags: [
1000
+ "site-{siteId}",
1001
+ "content-{siteId}-team-member",
1002
+ "content-entry-{entryId}"
1003
+ ],
1004
+ auth: "user",
1005
+ responseKind: "json",
1006
+ errors: [
1007
+ "validation:invalid_input",
1008
+ "resource:not_found",
1009
+ "resource:conflict",
1010
+ "server:internal_error"
1011
+ ]
1012
+ },
1013
+ updateTeamMemberProfileRouteMetadata: {
1014
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/routes/{routeId}/metadata",
1015
+ method: "PATCH",
1016
+ tags: [
1017
+ TAG_TEMPLATES.siteCollection,
1018
+ TAG_TEMPLATES.siteRoutableContent,
1019
+ TAG_TEMPLATES.routeById
1020
+ ],
1021
+ auth: "user",
1022
+ responseKind: "json",
1023
+ errors: [
1024
+ "validation:invalid_input",
1025
+ "resource:not_found",
1026
+ "resource:conflict",
1027
+ "server:internal_error"
1028
+ ]
1029
+ },
893
1030
  listAppointmentServices: {
894
1031
  path: "/sites/{siteId}/bookings/services",
895
1032
  method: "GET",
@@ -3263,6 +3400,15 @@ var ENDPOINT_DEFINITIONS = {
3263
3400
  auth: "public",
3264
3401
  responseKind: "json"
3265
3402
  },
3403
+ listPublicTeamMembers: {
3404
+ path: "/public/sites/{siteId}/team-members",
3405
+ method: "GET",
3406
+ revalidate: 60,
3407
+ tags: ["public-team-members-{siteId}"],
3408
+ errors: [],
3409
+ auth: "public",
3410
+ responseKind: "json"
3411
+ },
3266
3412
  getPublicCourse: {
3267
3413
  path: "/public/sites/{siteId}/courses/{courseId}",
3268
3414
  method: "GET",
@@ -6848,6 +6994,7 @@ var SUPPORTED_LOADER_ENDPOINTS = [
6848
6994
  "listPublicEvents",
6849
6995
  "getPublicEventDetails",
6850
6996
  "listPublicCourses",
6997
+ "listPublicTeamMembers",
6851
6998
  "listPublicProducts",
6852
6999
  "listPublicPasses",
6853
7000
  "listPublicMemberships",
@@ -18767,7 +18914,19 @@ var teamMemberFragment = defineFragment({
18767
18914
  bind("photo")
18768
18915
  )
18769
18916
  ]),
18770
- text({ as: "h3" }, bind("name")),
18917
+ link(
18918
+ {
18919
+ href: { $bind: { from: "profilePath" } },
18920
+ className: "rb-team-member-name-link"
18921
+ },
18922
+ [text({ as: "h3" }, bind("name"))],
18923
+ when("profilePath")
18924
+ ),
18925
+ text(
18926
+ { as: "h3" },
18927
+ when("profilePath", { not: true }),
18928
+ bind("name")
18929
+ ),
18771
18930
  text({ as: "p", className: "rb-team-member-role" }, when("role"), bind("role")),
18772
18931
  richText(
18773
18932
  { className: "rb-prose rb-max-w-none" },
@@ -23158,7 +23317,9 @@ var courseSessionSchema = z44.object({
23158
23317
  var courseTeamMemberSummarySchema = z44.object({
23159
23318
  id: z44.string(),
23160
23319
  name: z44.string(),
23161
- summary: z44.string().nullable()
23320
+ roleLabel: z44.string().nullable(),
23321
+ summary: z44.string().nullable(),
23322
+ profilePath: z44.string().nullable()
23162
23323
  });
23163
23324
  var coursePricingOptionSchema = z44.object({
23164
23325
  id: z44.string(),
@@ -23263,7 +23424,9 @@ var publicEventTicketTypeSchema = z45.object({
23263
23424
  var publicTeamMemberSummarySchema = z45.object({
23264
23425
  id: z45.string(),
23265
23426
  name: z45.string(),
23266
- summary: z45.string().nullable()
23427
+ roleLabel: z45.string().nullable(),
23428
+ summary: z45.string().nullable(),
23429
+ profilePath: z45.string().nullable()
23267
23430
  });
23268
23431
  var publicEventSchema = z45.object({
23269
23432
  kind: z45.enum(["event", "course_session"]).optional(),
@@ -31108,7 +31271,25 @@ var newsletterSignupBlockDefinition = {
31108
31271
  };
31109
31272
 
31110
31273
  // ../blocks/src/system/blocks/team-members.ts
31274
+ import { z as z63 } from "zod";
31111
31275
  var ITEM_NAME2 = "member";
31276
+ var teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
31277
+ message: "Team member photos must be image media"
31278
+ }).nullable();
31279
+ var teamMemberDataSchema = z63.object({
31280
+ _type: z63.literal("teamMember"),
31281
+ id: z63.string(),
31282
+ name: z63.string(),
31283
+ role: z63.string().nullable(),
31284
+ roleLabel: z63.string().nullable(),
31285
+ bio: z63.string().nullable(),
31286
+ summary: z63.string().nullable(),
31287
+ photo: teamMemberPhotoSchema,
31288
+ profilePath: z63.string().nullable()
31289
+ });
31290
+ var teamMembersDataSchema = z63.array(teamMemberDataSchema);
31291
+ var dynamicSourceWhen = { equals: "site_staff" };
31292
+ var manualSourceWhen = { equals: "site_staff", not: true };
31112
31293
  var headingNode = text(
31113
31294
  { as: "h2" },
31114
31295
  bind("content.heading"),
@@ -31198,7 +31379,15 @@ var teamMemberStackLayout = el(
31198
31379
  ]
31199
31380
  ),
31200
31381
  stack({ gap: "sm", className: "rb-team-member-body rb-flex-1 rb-min-w-0" }, [
31201
- text({ as: "h3" }, bind("name")),
31382
+ link(
31383
+ {
31384
+ href: { $bind: { from: "profilePath" } },
31385
+ className: "rb-team-member-name-link"
31386
+ },
31387
+ [text({ as: "h3" }, bind("name"))],
31388
+ when("profilePath")
31389
+ ),
31390
+ text({ as: "h3" }, when("profilePath", { not: true }), bind("name")),
31202
31391
  text(
31203
31392
  { as: "p", className: "rb-team-member-role" },
31204
31393
  when("role"),
@@ -31212,12 +31401,18 @@ var teamMemberStackLayout = el(
31212
31401
  ])
31213
31402
  ]
31214
31403
  );
31215
- var gridMembersNode = repeaterFragmentLayout({
31404
+ var manualGridMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
31216
31405
  collectionPath: "content.members",
31217
31406
  itemName: ITEM_NAME2,
31218
31407
  fragments: { teamMember: teamMemberFragment },
31219
31408
  itemGap: "sm"
31220
- });
31409
+ }));
31410
+ var dynamicGridMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
31411
+ collectionPath: "data.members",
31412
+ itemName: ITEM_NAME2,
31413
+ fragments: { teamMember: teamMemberFragment },
31414
+ itemGap: "sm"
31415
+ }));
31221
31416
  var gridVariant = wrapVariant3(
31222
31417
  el(
31223
31418
  "grid",
@@ -31231,22 +31426,29 @@ var gridVariant = wrapVariant3(
31231
31426
  },
31232
31427
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
31233
31428
  },
31234
- [gridMembersNode]
31429
+ [manualGridMembersNode, dynamicGridMembersNode]
31235
31430
  )
31236
31431
  );
31237
- var stackMembersNode = repeaterFragmentLayout({
31432
+ var manualStackMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
31238
31433
  collectionPath: "content.members",
31239
31434
  itemName: ITEM_NAME2,
31240
31435
  fragments: { teamMember: teamMemberFragment },
31241
31436
  layoutOverrides: { teamMember: teamMemberStackLayout },
31242
31437
  itemGap: "sm"
31243
- });
31438
+ }));
31439
+ var dynamicStackMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
31440
+ collectionPath: "data.members",
31441
+ itemName: ITEM_NAME2,
31442
+ fragments: { teamMember: teamMemberFragment },
31443
+ layoutOverrides: { teamMember: teamMemberStackLayout },
31444
+ itemGap: "sm"
31445
+ }));
31244
31446
  var stackVariant = wrapVariant3({
31245
31447
  type: "stack",
31246
31448
  props: {
31247
31449
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
31248
31450
  },
31249
- children: [stackMembersNode]
31451
+ children: [manualStackMembersNode, dynamicStackMembersNode]
31250
31452
  });
31251
31453
  var teamMembersManifest = createBlockManifest({
31252
31454
  id: "block.team-members",
@@ -31261,6 +31463,18 @@ var teamMembersManifest = createBlockManifest({
31261
31463
  required: false,
31262
31464
  maxLength: 120
31263
31465
  }),
31466
+ parseFieldDefinition({
31467
+ id: "source",
31468
+ type: "select",
31469
+ label: "Team members",
31470
+ description: "Choose whether to use the site-wide team or a hand-picked list.",
31471
+ defaultValue: "manual",
31472
+ options: [
31473
+ { value: "manual", label: "Choose manually" },
31474
+ { value: "site_staff", label: "Use all site team members" }
31475
+ ],
31476
+ ui: { intent: "behavior" }
31477
+ }),
31264
31478
  parseFieldDefinition({
31265
31479
  id: "layoutAlign",
31266
31480
  type: "select",
@@ -31363,18 +31577,24 @@ var teamMembersManifest = createBlockManifest({
31363
31577
  ],
31364
31578
  ui: { intent: "display" }
31365
31579
  }),
31366
- fragmentsToRepeaterField(
31367
- "members",
31368
- "Team members",
31369
- { teamMember: teamMemberFragment },
31370
- {
31371
- minItems: 0,
31372
- maxItems: 50,
31373
- itemLabel: "Team member",
31374
- itemLabelSource: "name",
31375
- description: "Add people to this section."
31580
+ {
31581
+ ...fragmentsToRepeaterField(
31582
+ "members",
31583
+ "Team members",
31584
+ { teamMember: teamMemberFragment },
31585
+ {
31586
+ minItems: 0,
31587
+ maxItems: 50,
31588
+ itemLabel: "Team member",
31589
+ itemLabelSource: "name",
31590
+ description: "Add people to this section."
31591
+ }
31592
+ ),
31593
+ ui: {
31594
+ intent: "content",
31595
+ visibleWhen: { field: "source", equals: "manual" }
31376
31596
  }
31377
- )
31597
+ }
31378
31598
  ],
31379
31599
  layout: gridVariant,
31380
31600
  variants: {
@@ -31400,7 +31620,20 @@ var teamMembersManifest = createBlockManifest({
31400
31620
  styleTokens: { spacing: "lg" }
31401
31621
  });
31402
31622
  var teamMembersBlockDefinition = {
31403
- manifest: teamMembersManifest
31623
+ manifest: teamMembersManifest,
31624
+ dataSchemas: {
31625
+ members: teamMembersDataSchema
31626
+ },
31627
+ dataLoaders: {
31628
+ members: {
31629
+ endpoint: "listPublicTeamMembers",
31630
+ params: {
31631
+ siteId: { $bind: { from: "$root.siteId" } },
31632
+ stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
31633
+ },
31634
+ mode: "server"
31635
+ }
31636
+ }
31404
31637
  };
31405
31638
 
31406
31639
  // ../blocks/src/system/runtime/nodes/location-map.shared.ts
@@ -32905,6 +33138,7 @@ function coercePayload(payload) {
32905
33138
  if ("form" in record && typeof record.form !== "function") return record.form;
32906
33139
  if ("entries" in record && typeof record.entries !== "function") return record.entries;
32907
33140
  if ("services" in record && typeof record.services !== "function") return record.services;
33141
+ if ("teamMembers" in record && typeof record.teamMembers !== "function") return record.teamMembers;
32908
33142
  }
32909
33143
  return payload;
32910
33144
  }
@@ -33026,6 +33260,10 @@ function normalizeLoaderParams(endpoint, params, context) {
33026
33260
  ensureSiteId(out, context);
33027
33261
  return out;
33028
33262
  }
33263
+ if (endpoint === "listPublicTeamMembers") {
33264
+ ensureSiteId(out, context);
33265
+ return out;
33266
+ }
33029
33267
  if (endpoint === "getPublishedEntryPreview") {
33030
33268
  ensureSiteId(out, context);
33031
33269
  return out;
@@ -33040,6 +33278,7 @@ var SUPPORTED_LOADER_ENDPOINTS2 = [
33040
33278
  "getPublishedEntryPreview",
33041
33279
  "listPublicEvents",
33042
33280
  "listPublicCourses",
33281
+ "listPublicTeamMembers",
33043
33282
  "listPublicProducts",
33044
33283
  "listPublicPasses",
33045
33284
  "listPublicMemberships",
@@ -33204,6 +33443,16 @@ async function prefetchBlockData2(page, context, client, options) {
33204
33443
  const parsedLimit = typeof limit === "string" ? Number.parseInt(limit, 10) : typeof limit === "number" ? limit : void 0;
33205
33444
  return await client.listPublicCourses({ siteId, limit: parsedLimit, stage });
33206
33445
  }
33446
+ case "listPublicTeamMembers": {
33447
+ const { siteId, stage } = resolvedParams ?? {};
33448
+ if (!siteId) {
33449
+ throw new Error("listPublicTeamMembers requires siteId param");
33450
+ }
33451
+ return await client.listPublicTeamMembers({
33452
+ siteId,
33453
+ stage: typeof stage === "string" ? stage : void 0
33454
+ });
33455
+ }
33207
33456
  case "listPublicProducts": {
33208
33457
  const { siteId, stage, categorySelector } = resolvedParams ?? {};
33209
33458
  if (!siteId) {
@@ -35379,7 +35628,7 @@ function SpinnerNode({
35379
35628
  }
35380
35629
 
35381
35630
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
35382
- import { z as z63 } from "zod";
35631
+ import { z as z64 } from "zod";
35383
35632
 
35384
35633
  // ../blocks/src/system/runtime/nodes/booking-form.state.ts
35385
35634
  function toTrimmedString(value) {
@@ -35421,14 +35670,14 @@ function normalizeBookingServices(services) {
35421
35670
  }
35422
35671
 
35423
35672
  // ../blocks/src/system/runtime/nodes/booking-form.interactive.ts
35424
- var bookingFieldOptionSchema = z63.object({
35425
- value: z63.string(),
35426
- label: z63.string()
35427
- });
35428
- var bookingFieldSchema = z63.object({
35429
- id: z63.string(),
35430
- label: z63.string(),
35431
- type: z63.enum([
35673
+ var bookingFieldOptionSchema = z64.object({
35674
+ value: z64.string(),
35675
+ label: z64.string()
35676
+ });
35677
+ var bookingFieldSchema = z64.object({
35678
+ id: z64.string(),
35679
+ label: z64.string(),
35680
+ type: z64.enum([
35432
35681
  "text",
35433
35682
  "email",
35434
35683
  "textarea",
@@ -35442,132 +35691,132 @@ var bookingFieldSchema = z63.object({
35442
35691
  "date",
35443
35692
  "time"
35444
35693
  ]),
35445
- required: z63.boolean().optional(),
35446
- placeholder: z63.string().optional(),
35447
- helpText: z63.string().optional(),
35448
- options: z63.array(bookingFieldOptionSchema).optional(),
35449
- multiple: z63.boolean().optional(),
35450
- minLength: z63.number().optional(),
35451
- maxLength: z63.number().optional(),
35452
- pattern: z63.string().optional(),
35453
- min: z63.number().optional(),
35454
- max: z63.number().optional()
35455
- });
35456
- var bookingSettingsSchema = z63.object({
35457
- type: z63.literal("booking"),
35458
- serviceId: z63.string().optional(),
35459
- serviceIds: z63.array(z63.string()).optional(),
35460
- resourceId: z63.string().optional(),
35461
- requiresApproval: z63.boolean().optional(),
35462
- successMessage: z63.string().optional()
35463
- });
35464
- var bookingSourceFormSchema = z63.object({
35465
- id: z63.string(),
35466
- siteId: z63.string(),
35467
- userId: z63.string(),
35468
- name: z63.string(),
35469
- schemaJson: z63.object({
35470
- version: z63.string().optional(),
35471
- fields: z63.array(bookingFieldSchema).optional()
35694
+ required: z64.boolean().optional(),
35695
+ placeholder: z64.string().optional(),
35696
+ helpText: z64.string().optional(),
35697
+ options: z64.array(bookingFieldOptionSchema).optional(),
35698
+ multiple: z64.boolean().optional(),
35699
+ minLength: z64.number().optional(),
35700
+ maxLength: z64.number().optional(),
35701
+ pattern: z64.string().optional(),
35702
+ min: z64.number().optional(),
35703
+ max: z64.number().optional()
35704
+ });
35705
+ var bookingSettingsSchema = z64.object({
35706
+ type: z64.literal("booking"),
35707
+ serviceId: z64.string().optional(),
35708
+ serviceIds: z64.array(z64.string()).optional(),
35709
+ resourceId: z64.string().optional(),
35710
+ requiresApproval: z64.boolean().optional(),
35711
+ successMessage: z64.string().optional()
35712
+ });
35713
+ var bookingSourceFormSchema = z64.object({
35714
+ id: z64.string(),
35715
+ siteId: z64.string(),
35716
+ userId: z64.string(),
35717
+ name: z64.string(),
35718
+ schemaJson: z64.object({
35719
+ version: z64.string().optional(),
35720
+ fields: z64.array(bookingFieldSchema).optional()
35472
35721
  }).optional(),
35473
35722
  settingsJson: bookingSettingsSchema.optional(),
35474
- createdAt: z63.string(),
35475
- updatedAt: z63.string()
35723
+ createdAt: z64.string(),
35724
+ updatedAt: z64.string()
35476
35725
  });
35477
- var blockBookingPaymentTermsAvailabilitySchema = z63.union([
35478
- z63.object({
35479
- kind: z63.literal("available"),
35726
+ var blockBookingPaymentTermsAvailabilitySchema = z64.union([
35727
+ z64.object({
35728
+ kind: z64.literal("available"),
35480
35729
  paymentTerms: blockBookingPaymentTermsSchema
35481
35730
  }),
35482
- z63.object({
35483
- kind: z63.literal("pending_stripe_setup"),
35731
+ z64.object({
35732
+ kind: z64.literal("pending_stripe_setup"),
35484
35733
  paymentTerms: blockBookingPaymentTermsSchema,
35485
- reason: z63.literal("online_payment_configured_before_launch")
35734
+ reason: z64.literal("online_payment_configured_before_launch")
35486
35735
  })
35487
35736
  ]);
35488
- var bookingServiceSchema = z63.object({
35489
- id: z63.string(),
35490
- siteId: z63.string(),
35491
- title: z63.string(),
35492
- description: z63.string().nullable().optional().transform((value) => value ?? void 0),
35493
- durationMinutes: z63.number().optional(),
35494
- priceAmount: z63.number().nullable().optional(),
35495
- priceCurrency: z63.string().nullable().optional(),
35737
+ var bookingServiceSchema = z64.object({
35738
+ id: z64.string(),
35739
+ siteId: z64.string(),
35740
+ title: z64.string(),
35741
+ description: z64.string().nullable().optional().transform((value) => value ?? void 0),
35742
+ durationMinutes: z64.number().optional(),
35743
+ priceAmount: z64.number().nullable().optional(),
35744
+ priceCurrency: z64.string().nullable().optional(),
35496
35745
  paymentTerms: blockBookingPaymentTermsSchema.optional(),
35497
35746
  paymentTermsAvailability: blockBookingPaymentTermsAvailabilitySchema.optional()
35498
35747
  });
35499
- var bookingServicesSourceSchema = z63.union([
35500
- z63.array(bookingServiceSchema),
35501
- z63.object({
35502
- services: z63.array(bookingServiceSchema).optional()
35748
+ var bookingServicesSourceSchema = z64.union([
35749
+ z64.array(bookingServiceSchema),
35750
+ z64.object({
35751
+ services: z64.array(bookingServiceSchema).optional()
35503
35752
  }),
35504
- z63.record(z63.string(), bookingServiceSchema)
35753
+ z64.record(z64.string(), bookingServiceSchema)
35505
35754
  ]);
35506
- var bookingConfigSchema = z63.object({
35507
- id: z63.string(),
35508
- name: z63.string(),
35509
- slug: z63.string(),
35755
+ var bookingConfigSchema = z64.object({
35756
+ id: z64.string(),
35757
+ name: z64.string(),
35758
+ slug: z64.string(),
35510
35759
  settings: bookingSettingsSchema.optional(),
35511
- schema: z63.object({
35512
- version: z63.string().optional(),
35513
- fields: z63.array(bookingFieldSchema)
35760
+ schema: z64.object({
35761
+ version: z64.string().optional(),
35762
+ fields: z64.array(bookingFieldSchema)
35514
35763
  }).optional()
35515
35764
  });
35516
- var bookingSourceSchema = z63.object({
35517
- siteId: z63.string().optional(),
35518
- apiBaseUrl: z63.string().optional(),
35519
- portalToken: z63.string().nullable().optional(),
35520
- formId: z63.string().optional(),
35521
- serviceId: z63.string().nullable().optional(),
35522
- resourceId: z63.string().nullable().optional(),
35523
- initialData: z63.record(z63.string(), z63.unknown()).nullable().optional(),
35524
- noticeMessage: z63.string().nullable().optional(),
35525
- requiresServiceSelection: z63.boolean().optional(),
35526
- requiresResourceSelection: z63.boolean().optional(),
35527
- shouldAutoSelectSingleResource: z63.boolean().optional(),
35528
- rebookContext: z63.object({
35529
- kind: z63.literal("portal_rebook")
35765
+ var bookingSourceSchema = z64.object({
35766
+ siteId: z64.string().optional(),
35767
+ apiBaseUrl: z64.string().optional(),
35768
+ portalToken: z64.string().nullable().optional(),
35769
+ formId: z64.string().optional(),
35770
+ serviceId: z64.string().nullable().optional(),
35771
+ resourceId: z64.string().nullable().optional(),
35772
+ initialData: z64.record(z64.string(), z64.unknown()).nullable().optional(),
35773
+ noticeMessage: z64.string().nullable().optional(),
35774
+ requiresServiceSelection: z64.boolean().optional(),
35775
+ requiresResourceSelection: z64.boolean().optional(),
35776
+ shouldAutoSelectSingleResource: z64.boolean().optional(),
35777
+ rebookContext: z64.object({
35778
+ kind: z64.literal("portal_rebook")
35530
35779
  }).nullable().optional(),
35531
- submitLabel: z63.string().nullable().optional(),
35532
- successMessage: z63.string().nullable().optional(),
35780
+ submitLabel: z64.string().nullable().optional(),
35781
+ successMessage: z64.string().nullable().optional(),
35533
35782
  form: bookingSourceFormSchema.nullable().optional(),
35534
35783
  services: bookingServicesSourceSchema.nullable().optional(),
35535
- spamProtectionEnabled: z63.boolean().optional(),
35536
- className: z63.string().nullable().optional()
35537
- });
35538
- var bookingDisplaySchema = z63.object({
35539
- kind: z63.literal("booking-form"),
35540
- state: z63.enum(["missing", "ready"]),
35541
- className: z63.string().nullable(),
35542
- submitLabel: z63.string(),
35543
- successMessage: z63.string().nullable(),
35544
- message: z63.string().nullable()
35545
- });
35546
- var bookingHydrationSchema = z63.object({
35547
- formId: z63.string().nullable(),
35548
- serviceId: z63.string().nullable(),
35549
- resourceId: z63.string().nullable(),
35550
- initialData: z63.record(z63.string(), z63.unknown()).nullable().optional(),
35551
- noticeMessage: z63.string().nullable().optional(),
35552
- requiresServiceSelection: z63.boolean().optional(),
35553
- requiresResourceSelection: z63.boolean().optional(),
35554
- shouldAutoSelectSingleResource: z63.boolean().optional(),
35555
- rebookContext: z63.object({
35556
- kind: z63.literal("portal_rebook")
35784
+ spamProtectionEnabled: z64.boolean().optional(),
35785
+ className: z64.string().nullable().optional()
35786
+ });
35787
+ var bookingDisplaySchema = z64.object({
35788
+ kind: z64.literal("booking-form"),
35789
+ state: z64.enum(["missing", "ready"]),
35790
+ className: z64.string().nullable(),
35791
+ submitLabel: z64.string(),
35792
+ successMessage: z64.string().nullable(),
35793
+ message: z64.string().nullable()
35794
+ });
35795
+ var bookingHydrationSchema = z64.object({
35796
+ formId: z64.string().nullable(),
35797
+ serviceId: z64.string().nullable(),
35798
+ resourceId: z64.string().nullable(),
35799
+ initialData: z64.record(z64.string(), z64.unknown()).nullable().optional(),
35800
+ noticeMessage: z64.string().nullable().optional(),
35801
+ requiresServiceSelection: z64.boolean().optional(),
35802
+ requiresResourceSelection: z64.boolean().optional(),
35803
+ shouldAutoSelectSingleResource: z64.boolean().optional(),
35804
+ rebookContext: z64.object({
35805
+ kind: z64.literal("portal_rebook")
35557
35806
  }).nullable().optional(),
35558
35807
  form: bookingConfigSchema.nullable(),
35559
- services: z63.array(bookingServiceSchema),
35560
- spamProtectionEnabled: z63.boolean().optional()
35808
+ services: z64.array(bookingServiceSchema),
35809
+ spamProtectionEnabled: z64.boolean().optional()
35561
35810
  });
35562
- var bookingRenderSchema = z63.object({
35811
+ var bookingRenderSchema = z64.object({
35563
35812
  display: bookingDisplaySchema,
35564
35813
  hydration: bookingHydrationSchema
35565
35814
  });
35566
35815
  var bookingFormIslandMetaCodec = createZodCodec(
35567
- z63.object({
35568
- siteId: z63.string().optional(),
35569
- apiBaseUrl: z63.string().optional(),
35570
- portalToken: z63.string().nullable().optional()
35816
+ z64.object({
35817
+ siteId: z64.string().optional(),
35818
+ apiBaseUrl: z64.string().optional(),
35819
+ portalToken: z64.string().nullable().optional()
35571
35820
  })
35572
35821
  );
35573
35822
  var bookingFormIslandMetaKeys = defineInteractiveIslandMetaKeys(
@@ -35823,6 +36072,12 @@ function CoursePricingDisplay({
35823
36072
 
35824
36073
  // ../blocks/src/system/runtime/nodes/event-details/view.tsx
35825
36074
  import { Fragment as Fragment3, jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
36075
+ function TeamMemberName({
36076
+ name,
36077
+ profilePath
36078
+ }) {
36079
+ return profilePath ? /* @__PURE__ */ jsx26("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx26("strong", { children: name }) }) : /* @__PURE__ */ jsx26("strong", { children: name });
36080
+ }
35826
36081
  function EventDetailsView({
35827
36082
  selection,
35828
36083
  showVenue,
@@ -35886,7 +36141,13 @@ function EventDetailsView({
35886
36141
  teamMembers.length > 0 ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
35887
36142
  /* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Team members" }),
35888
36143
  /* @__PURE__ */ jsx26("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs13("div", { children: [
35889
- /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: teamMember.name }) }),
36144
+ /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26(
36145
+ TeamMemberName,
36146
+ {
36147
+ name: teamMember.name,
36148
+ profilePath: teamMember.profilePath
36149
+ }
36150
+ ) }),
35890
36151
  teamMember.summary ? /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
35891
36152
  ] }, teamMember.id)) })
35892
36153
  ] }) : null,
@@ -36232,6 +36493,12 @@ function formatCourseDateRange(range) {
36232
36493
 
36233
36494
  // ../blocks/src/system/runtime/nodes/course-details/view.tsx
36234
36495
  import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
36496
+ function TeamMemberName2({
36497
+ name,
36498
+ profilePath
36499
+ }) {
36500
+ return profilePath ? /* @__PURE__ */ jsx30("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx30("strong", { children: name }) }) : /* @__PURE__ */ jsx30("strong", { children: name });
36501
+ }
36235
36502
  function parseLimit2(value, fallback2) {
36236
36503
  if (value === "all") return "all";
36237
36504
  const n = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
@@ -36289,7 +36556,13 @@ function CourseDetailsView(props2) {
36289
36556
  teamMembers.length > 0 && /* @__PURE__ */ jsxs17("div", { children: [
36290
36557
  /* @__PURE__ */ jsx30("div", { className: "rb-label rb-mb-2", children: "Team members" }),
36291
36558
  /* @__PURE__ */ jsx30("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs17("div", { children: [
36292
- /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30("strong", { children: teamMember.name }) }),
36559
+ /* @__PURE__ */ jsx30("p", { children: /* @__PURE__ */ jsx30(
36560
+ TeamMemberName2,
36561
+ {
36562
+ name: teamMember.name,
36563
+ profilePath: teamMember.profilePath
36564
+ }
36565
+ ) }),
36293
36566
  teamMember.summary && /* @__PURE__ */ jsx30("p", { className: "rb-caption status-muted", children: teamMember.summary })
36294
36567
  ] }, teamMember.id)) })
36295
36568
  ] })
@@ -36464,88 +36737,88 @@ var EventSpotlight = ({
36464
36737
  };
36465
36738
 
36466
36739
  // ../blocks/src/system/runtime/nodes/events/EventCombined.interactive.ts
36467
- import { z as z64 } from "zod";
36468
- var eventBlockKindSchema3 = z64.enum(eventBlockKindValues);
36469
- var eventSurfaceScopeSchema3 = z64.enum(eventSurfaceScopeValues);
36470
- var eventScheduleScopeSchema4 = z64.enum(eventScheduleScopeValues);
36471
- var eventCombinedSourceSchema = z64.object(
36740
+ import { z as z65 } from "zod";
36741
+ var eventBlockKindSchema3 = z65.enum(eventBlockKindValues);
36742
+ var eventSurfaceScopeSchema3 = z65.enum(eventSurfaceScopeValues);
36743
+ var eventScheduleScopeSchema4 = z65.enum(eventScheduleScopeValues);
36744
+ var eventCombinedSourceSchema = z65.object(
36472
36745
  {
36473
- events: z64.array(publicEventSchema).nullable().optional(),
36474
- siteId: z64.string(),
36475
- apiBaseUrl: z64.string().optional(),
36746
+ events: z65.array(publicEventSchema).nullable().optional(),
36747
+ siteId: z65.string(),
36748
+ apiBaseUrl: z65.string().optional(),
36476
36749
  stage: previewStageSchema.optional(),
36477
36750
  listLayout: eventLayoutSchema.optional(),
36478
36751
  listColumns: columnOptionSchema.optional(),
36479
- eventsPerPage: z64.string().optional(),
36480
- compactEventsPerPage: z64.string().optional(),
36481
- loadMoreText: z64.string().optional(),
36752
+ eventsPerPage: z65.string().optional(),
36753
+ compactEventsPerPage: z65.string().optional(),
36754
+ loadMoreText: z65.string().optional(),
36482
36755
  startOfWeek: weekStartSchema.optional(),
36483
36756
  calendarTabViews: calendarTabViewsSchema.optional(),
36484
- showFilters: z64.boolean().nullable().optional(),
36757
+ showFilters: z65.boolean().nullable().optional(),
36485
36758
  showCategoryFilter: filterAutoShowSchema.optional(),
36486
- showVenueFilter: z64.boolean().nullable().optional(),
36487
- showStaffFilter: z64.boolean().nullable().optional(),
36759
+ showVenueFilter: z65.boolean().nullable().optional(),
36760
+ showStaffFilter: z65.boolean().nullable().optional(),
36488
36761
  eventKind: eventBlockKindSchema3.nullable().optional(),
36489
36762
  eventSurface: eventSurfaceScopeSchema3.nullable().optional(),
36490
- filterEventPresets: z64.union([z64.string(), z64.array(z64.string())]).nullable().optional(),
36763
+ filterEventPresets: z65.union([z65.string(), z65.array(z65.string())]).nullable().optional(),
36491
36764
  scheduleScope: eventScheduleScopeSchema4.nullable().optional(),
36492
- filterCategoryIds: z64.union([z64.string(), z64.array(z64.string())]).nullable().optional(),
36493
- filterStaffMemberId: z64.string().nullable().optional(),
36494
- filterVenueId: z64.string().nullable().optional(),
36495
- showVenue: z64.boolean().nullable().optional(),
36496
- showMap: z64.boolean().nullable().optional(),
36497
- showCapacity: z64.boolean().nullable().optional(),
36765
+ filterCategoryIds: z65.union([z65.string(), z65.array(z65.string())]).nullable().optional(),
36766
+ filterStaffMemberId: z65.string().nullable().optional(),
36767
+ filterVenueId: z65.string().nullable().optional(),
36768
+ showVenue: z65.boolean().nullable().optional(),
36769
+ showMap: z65.boolean().nullable().optional(),
36770
+ showCapacity: z65.boolean().nullable().optional(),
36498
36771
  buttonVariant: eventButtonVariantSchema.optional(),
36499
- buttonText: z64.string().optional(),
36500
- emptyMessage: z64.string().optional(),
36501
- className: z64.string().optional()
36772
+ buttonText: z65.string().optional(),
36773
+ emptyMessage: z65.string().optional(),
36774
+ className: z65.string().optional()
36502
36775
  }
36503
36776
  );
36504
- var eventCombinedDisplaySchema = z64.object({
36505
- kind: z64.literal("event-combined"),
36506
- className: z64.string().nullable(),
36507
- events: z64.array(publicEventSchema),
36777
+ var eventCombinedDisplaySchema = z65.object({
36778
+ kind: z65.literal("event-combined"),
36779
+ className: z65.string().nullable(),
36780
+ events: z65.array(publicEventSchema),
36508
36781
  listLayout: eventLayoutSchema,
36509
36782
  listColumns: columnOptionSchema,
36510
- eventsPerPage: z64.string(),
36511
- loadMoreText: z64.string(),
36783
+ eventsPerPage: z65.string(),
36784
+ loadMoreText: z65.string(),
36512
36785
  startOfWeek: weekStartSchema,
36513
36786
  calendarTabViews: calendarTabViewsSchema,
36514
- showFilters: z64.boolean(),
36787
+ showFilters: z65.boolean(),
36515
36788
  showCategoryFilter: filterAutoShowSchema,
36516
- showVenueFilter: z64.boolean(),
36517
- showStaffFilter: z64.boolean(),
36789
+ showVenueFilter: z65.boolean(),
36790
+ showStaffFilter: z65.boolean(),
36518
36791
  eventKind: eventBlockKindSchema3,
36519
36792
  eventSurface: eventSurfaceScopeSchema3,
36520
- filterEventPresets: z64.string().nullable(),
36793
+ filterEventPresets: z65.string().nullable(),
36521
36794
  scheduleScope: eventScheduleScopeSchema4,
36522
- filterCategoryIds: z64.string().nullable(),
36523
- filterStaffMemberId: z64.string().nullable(),
36524
- filterVenueId: z64.string().nullable(),
36525
- showVenue: z64.boolean(),
36526
- showMap: z64.boolean(),
36527
- showCapacity: z64.boolean(),
36795
+ filterCategoryIds: z65.string().nullable(),
36796
+ filterStaffMemberId: z65.string().nullable(),
36797
+ filterVenueId: z65.string().nullable(),
36798
+ showVenue: z65.boolean(),
36799
+ showMap: z65.boolean(),
36800
+ showCapacity: z65.boolean(),
36528
36801
  buttonVariant: eventButtonVariantSchema,
36529
- buttonText: z64.string(),
36530
- emptyMessage: z64.string()
36802
+ buttonText: z65.string(),
36803
+ emptyMessage: z65.string()
36531
36804
  });
36532
- var eventCombinedHydrationSchema = z64.object({
36533
- siteId: z64.string(),
36805
+ var eventCombinedHydrationSchema = z65.object({
36806
+ siteId: z65.string(),
36534
36807
  stage: previewStageSchema.optional(),
36535
- prefetchedEvents: z64.boolean(),
36808
+ prefetchedEvents: z65.boolean(),
36536
36809
  eventKind: eventBlockKindSchema3,
36537
36810
  eventSurface: eventSurfaceScopeSchema3,
36538
- filterEventPresets: z64.string().nullable(),
36811
+ filterEventPresets: z65.string().nullable(),
36539
36812
  scheduleScope: eventScheduleScopeSchema4
36540
36813
  });
36541
- var eventCombinedRenderSchema = z64.object({
36814
+ var eventCombinedRenderSchema = z65.object({
36542
36815
  display: eventCombinedDisplaySchema,
36543
36816
  hydration: eventCombinedHydrationSchema
36544
36817
  });
36545
36818
  var eventCombinedIslandMetaCodec = createZodCodec(
36546
- z64.object({
36547
- siteId: z64.string(),
36548
- apiBaseUrl: z64.string().optional(),
36819
+ z65.object({
36820
+ siteId: z65.string(),
36821
+ apiBaseUrl: z65.string().optional(),
36549
36822
  stage: previewStageSchema.optional()
36550
36823
  })
36551
36824
  );
@@ -53249,7 +53522,7 @@ var SimpleCache = class {
53249
53522
  };
53250
53523
 
53251
53524
  // src/version.ts
53252
- var SDK_VERSION = "0.60.6";
53525
+ var SDK_VERSION = "0.60.7";
53253
53526
 
53254
53527
  // src/client/error.ts
53255
53528
  var RiverbankApiError = class _RiverbankApiError extends Error {
@@ -54288,6 +54561,24 @@ function createRiverbankClient(config) {
54288
54561
  return await apiClient({ endpoint: "listPublicCourses", params: apiParams, options: { signal: sig } });
54289
54562
  }, { signal });
54290
54563
  },
54564
+ async listPublicTeamMembers(params) {
54565
+ const { siteId, stage, signal } = params;
54566
+ if (!siteId) {
54567
+ throw new Error("listPublicTeamMembers() requires siteId");
54568
+ }
54569
+ const cacheKey = `public-team-members:${siteId}:${stage ?? ""}`;
54570
+ return resilientFetch(cacheKey, async (sig) => {
54571
+ const apiParams = {
54572
+ siteId,
54573
+ ...stage && { stage }
54574
+ };
54575
+ return await apiClient({
54576
+ endpoint: "listPublicTeamMembers",
54577
+ params: apiParams,
54578
+ options: { signal: sig }
54579
+ });
54580
+ }, { signal });
54581
+ },
54291
54582
  async listPublicProducts(params) {
54292
54583
  const { siteId, stage, categorySelector, signal } = params;
54293
54584
  if (!siteId) {