@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
@@ -1049,13 +1049,150 @@ var init_endpoints = __esm({
1049
1049
  "server:internal_error"
1050
1050
  ]
1051
1051
  },
1052
- deleteAppointmentResource: {
1052
+ removeAppointmentResource: {
1053
1053
  path: "/sites/{siteId}/bookings/resources/{resourceId}",
1054
1054
  method: "DELETE",
1055
1055
  auth: "user",
1056
1056
  responseKind: "json",
1057
1057
  errors: ["resource:not_found", "server:internal_error"]
1058
1058
  },
1059
+ createTeamMemberProfile: {
1060
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile",
1061
+ method: "POST",
1062
+ auth: "user",
1063
+ responseKind: "json",
1064
+ errors: [
1065
+ "validation:invalid_input",
1066
+ "resource:not_found",
1067
+ "resource:conflict",
1068
+ "server:internal_error"
1069
+ ]
1070
+ },
1071
+ updateTeamMemberProfilePolicy: {
1072
+ path: "/sites/{siteId}/bookings/resources/profile-policy",
1073
+ method: "PUT",
1074
+ auth: "user",
1075
+ responseKind: "json",
1076
+ errors: ["validation:invalid_input", "server:internal_error"]
1077
+ },
1078
+ updateTeamMemberProfileContent: {
1079
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/content",
1080
+ method: "PUT",
1081
+ tags: [
1082
+ "site-{siteId}",
1083
+ "content-{siteId}-team-member",
1084
+ "content-entry-{entryId}"
1085
+ ],
1086
+ auth: "user",
1087
+ responseKind: "json",
1088
+ errors: [
1089
+ "validation:invalid_input",
1090
+ "resource:not_found",
1091
+ "resource:conflict",
1092
+ "server:internal_error"
1093
+ ]
1094
+ },
1095
+ publishTeamMemberProfile: {
1096
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/publish",
1097
+ method: "POST",
1098
+ tags: [
1099
+ "site-{siteId}",
1100
+ "content-{siteId}-team-member",
1101
+ "content-entry-{entryId}"
1102
+ ],
1103
+ auth: "user",
1104
+ responseKind: "json",
1105
+ errors: [
1106
+ "validation:invalid_input",
1107
+ "resource:not_found",
1108
+ "server:internal_error"
1109
+ ]
1110
+ },
1111
+ discardTeamMemberProfileDraft: {
1112
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/discard",
1113
+ method: "POST",
1114
+ tags: [
1115
+ "site-{siteId}",
1116
+ "content-{siteId}-team-member",
1117
+ "content-entry-{entryId}"
1118
+ ],
1119
+ auth: "user",
1120
+ responseKind: "json",
1121
+ errors: [
1122
+ "validation:invalid_input",
1123
+ "resource:not_found",
1124
+ "resource:conflict",
1125
+ "server:internal_error"
1126
+ ]
1127
+ },
1128
+ unpublishTeamMemberProfile: {
1129
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/unpublish",
1130
+ method: "POST",
1131
+ tags: [
1132
+ "site-{siteId}",
1133
+ "content-{siteId}-team-member",
1134
+ "content-entry-{entryId}"
1135
+ ],
1136
+ auth: "user",
1137
+ responseKind: "json",
1138
+ errors: [
1139
+ "validation:invalid_input",
1140
+ "resource:not_found",
1141
+ "resource:conflict",
1142
+ "server:internal_error"
1143
+ ]
1144
+ },
1145
+ scheduleTeamMemberProfile: {
1146
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
1147
+ method: "POST",
1148
+ tags: [
1149
+ "site-{siteId}",
1150
+ "content-{siteId}-team-member",
1151
+ "content-entry-{entryId}"
1152
+ ],
1153
+ auth: "user",
1154
+ responseKind: "json",
1155
+ errors: [
1156
+ "validation:invalid_input",
1157
+ "resource:not_found",
1158
+ "resource:conflict",
1159
+ "server:internal_error"
1160
+ ]
1161
+ },
1162
+ cancelScheduledTeamMemberProfile: {
1163
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/{entryId}/schedule",
1164
+ method: "DELETE",
1165
+ tags: [
1166
+ "site-{siteId}",
1167
+ "content-{siteId}-team-member",
1168
+ "content-entry-{entryId}"
1169
+ ],
1170
+ auth: "user",
1171
+ responseKind: "json",
1172
+ errors: [
1173
+ "validation:invalid_input",
1174
+ "resource:not_found",
1175
+ "resource:conflict",
1176
+ "server:internal_error"
1177
+ ]
1178
+ },
1179
+ updateTeamMemberProfileRouteMetadata: {
1180
+ path: "/sites/{siteId}/bookings/resources/{resourceId}/profile/routes/{routeId}/metadata",
1181
+ method: "PATCH",
1182
+ tags: [
1183
+ TAG_TEMPLATES.siteCollection,
1184
+ TAG_TEMPLATES.siteRoutableContent,
1185
+ TAG_TEMPLATES.routeById
1186
+ ],
1187
+ auth: "user",
1188
+ responseKind: "json",
1189
+ errors: [
1190
+ "validation:invalid_input",
1191
+ "resource:not_found",
1192
+ "resource:conflict",
1193
+ "server:internal_error"
1194
+ ]
1195
+ },
1059
1196
  listAppointmentServices: {
1060
1197
  path: "/sites/{siteId}/bookings/services",
1061
1198
  method: "GET",
@@ -3429,6 +3566,15 @@ var init_endpoints = __esm({
3429
3566
  auth: "public",
3430
3567
  responseKind: "json"
3431
3568
  },
3569
+ listPublicTeamMembers: {
3570
+ path: "/public/sites/{siteId}/team-members",
3571
+ method: "GET",
3572
+ revalidate: 60,
3573
+ tags: ["public-team-members-{siteId}"],
3574
+ errors: [],
3575
+ auth: "public",
3576
+ responseKind: "json"
3577
+ },
3432
3578
  getPublicCourse: {
3433
3579
  path: "/public/sites/{siteId}/courses/{courseId}",
3434
3580
  method: "GET",
@@ -96894,6 +97040,12 @@ var init_metadataConfig = __esm({
96894
97040
  "draftSlug",
96895
97041
  "draftStatus",
96896
97042
  "scheduledPublishAt"
97043
+ ],
97044
+ "team-member": [
97045
+ "draftTitle",
97046
+ "draftSlug",
97047
+ "draftStatus",
97048
+ "scheduledPublishAt"
96897
97049
  ]
96898
97050
  };
96899
97051
  EMPTY_METADATA_FIELDS = [];
@@ -97911,7 +98063,7 @@ function createRichTextDoc(paragraphs) {
97911
98063
  }))
97912
98064
  };
97913
98065
  }
97914
- var EXCERPT_FALLBACK, SUMMARY_FALLBACK, BODY_TEXT_BINDINGS, DEFAULT_TEMPLATE_DEFINITIONS;
98066
+ var EXCERPT_FALLBACK, SUMMARY_FALLBACK, BODY_TEXT_BINDINGS, TEAM_MEMBER_BODY_TEXT_BINDINGS, DEFAULT_TEMPLATE_DEFINITIONS;
97915
98067
  var init_defaults2 = __esm({
97916
98068
  "../content-model/src/templates/defaults.ts"() {
97917
98069
  init_types3();
@@ -97933,6 +98085,10 @@ var init_defaults2 = __esm({
97933
98085
  body: fieldBinding("body"),
97934
98086
  alignment: literalBinding("left")
97935
98087
  };
98088
+ TEAM_MEMBER_BODY_TEXT_BINDINGS = {
98089
+ body: fieldBinding("bio"),
98090
+ alignment: literalBinding("left")
98091
+ };
97936
98092
  DEFAULT_TEMPLATE_DEFINITIONS = {
97937
98093
  post: {
97938
98094
  templateKey: "default",
@@ -98082,6 +98238,28 @@ var init_defaults2 = __esm({
98082
98238
  }
98083
98239
  ]
98084
98240
  },
98241
+ "team-member": {
98242
+ templateKey: "default",
98243
+ name: "Team member profile",
98244
+ description: "Default layout for team member profile pages.",
98245
+ metadata: {},
98246
+ blocks: [
98247
+ {
98248
+ blockKind: "block.hero",
98249
+ scope: "entry",
98250
+ bindings: {
98251
+ eyebrow: literalBinding("About"),
98252
+ headline: metaBinding("title"),
98253
+ subheadline: fieldBinding("intro")
98254
+ }
98255
+ },
98256
+ {
98257
+ blockKind: "block.body-text",
98258
+ scope: "entry",
98259
+ bindings: TEAM_MEMBER_BODY_TEXT_BINDINGS
98260
+ }
98261
+ ]
98262
+ },
98085
98263
  product: {
98086
98264
  templateKey: "default",
98087
98265
  name: "Product detail",
@@ -112674,7 +112852,19 @@ var init_teamMember = __esm({
112674
112852
  bind2("photo")
112675
112853
  )
112676
112854
  ]),
112677
- text({ as: "h3" }, bind2("name")),
112855
+ link(
112856
+ {
112857
+ href: { $bind: { from: "profilePath" } },
112858
+ className: "rb-team-member-name-link"
112859
+ },
112860
+ [text({ as: "h3" }, bind2("name"))],
112861
+ when("profilePath")
112862
+ ),
112863
+ text(
112864
+ { as: "h3" },
112865
+ when("profilePath", { not: true }),
112866
+ bind2("name")
112867
+ ),
112678
112868
  text({ as: "p", className: "rb-team-member-role" }, when("role"), bind2("role")),
112679
112869
  richText(
112680
112870
  { className: "rb-prose rb-max-w-none" },
@@ -117237,7 +117427,9 @@ var init_schemas = __esm({
117237
117427
  courseTeamMemberSummarySchema = z.object({
117238
117428
  id: z.string(),
117239
117429
  name: z.string(),
117240
- summary: z.string().nullable()
117430
+ roleLabel: z.string().nullable(),
117431
+ summary: z.string().nullable(),
117432
+ profilePath: z.string().nullable()
117241
117433
  });
117242
117434
  coursePricingOptionSchema = z.object({
117243
117435
  id: z.string(),
@@ -117348,7 +117540,9 @@ var init_schemas2 = __esm({
117348
117540
  publicTeamMemberSummarySchema = z.object({
117349
117541
  id: z.string(),
117350
117542
  name: z.string(),
117351
- summary: z.string().nullable()
117543
+ roleLabel: z.string().nullable(),
117544
+ summary: z.string().nullable(),
117545
+ profilePath: z.string().nullable()
117352
117546
  });
117353
117547
  publicEventSchema = z.object({
117354
117548
  kind: z.enum(["event", "course_session"]).optional(),
@@ -125631,9 +125825,7 @@ var init_newsletter_signup = __esm({
125631
125825
  };
125632
125826
  }
125633
125827
  });
125634
-
125635
- // ../blocks/src/system/blocks/team-members.ts
125636
- var ITEM_NAME7, headingNode, wrapVariant3, teamMemberStackLayout, gridMembersNode, gridVariant, stackMembersNode, stackVariant, teamMembersManifest, teamMembersBlockDefinition;
125828
+ var ITEM_NAME7, teamMemberPhotoSchema, teamMemberDataSchema, teamMembersDataSchema, dynamicSourceWhen, manualSourceWhen, headingNode, wrapVariant3, teamMemberStackLayout, manualGridMembersNode, dynamicGridMembersNode, gridVariant, manualStackMembersNode, dynamicStackMembersNode, stackVariant, teamMembersManifest, teamMembersBlockDefinition;
125637
125829
  var init_team_members = __esm({
125638
125830
  "../blocks/src/system/blocks/team-members.ts"() {
125639
125831
  init_fragments2();
@@ -125643,7 +125835,25 @@ var init_team_members = __esm({
125643
125835
  init_fragments();
125644
125836
  init_fragmentCollection();
125645
125837
  init_imageLayout();
125838
+ init_media3();
125646
125839
  ITEM_NAME7 = "member";
125840
+ teamMemberPhotoSchema = mediaSchema2.refine((media2) => media2.type === "image", {
125841
+ message: "Team member photos must be image media"
125842
+ }).nullable();
125843
+ teamMemberDataSchema = z.object({
125844
+ _type: z.literal("teamMember"),
125845
+ id: z.string(),
125846
+ name: z.string(),
125847
+ role: z.string().nullable(),
125848
+ roleLabel: z.string().nullable(),
125849
+ bio: z.string().nullable(),
125850
+ summary: z.string().nullable(),
125851
+ photo: teamMemberPhotoSchema,
125852
+ profilePath: z.string().nullable()
125853
+ });
125854
+ teamMembersDataSchema = z.array(teamMemberDataSchema);
125855
+ dynamicSourceWhen = { equals: "site_staff" };
125856
+ manualSourceWhen = { equals: "site_staff", not: true };
125647
125857
  headingNode = text(
125648
125858
  { as: "h2" },
125649
125859
  bind2("content.heading"),
@@ -125733,7 +125943,15 @@ var init_team_members = __esm({
125733
125943
  ]
125734
125944
  ),
125735
125945
  stack({ gap: "sm", className: "rb-team-member-body rb-flex-1 rb-min-w-0" }, [
125736
- text({ as: "h3" }, bind2("name")),
125946
+ link(
125947
+ {
125948
+ href: { $bind: { from: "profilePath" } },
125949
+ className: "rb-team-member-name-link"
125950
+ },
125951
+ [text({ as: "h3" }, bind2("name"))],
125952
+ when("profilePath")
125953
+ ),
125954
+ text({ as: "h3" }, when("profilePath", { not: true }), bind2("name")),
125737
125955
  text(
125738
125956
  { as: "p", className: "rb-team-member-role" },
125739
125957
  when("role"),
@@ -125747,12 +125965,18 @@ var init_team_members = __esm({
125747
125965
  ])
125748
125966
  ]
125749
125967
  );
125750
- gridMembersNode = repeaterFragmentLayout({
125968
+ manualGridMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
125751
125969
  collectionPath: "content.members",
125752
125970
  itemName: ITEM_NAME7,
125753
125971
  fragments: { teamMember: teamMemberFragment },
125754
125972
  itemGap: "sm"
125755
- });
125973
+ }));
125974
+ dynamicGridMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
125975
+ collectionPath: "data.members",
125976
+ itemName: ITEM_NAME7,
125977
+ fragments: { teamMember: teamMemberFragment },
125978
+ itemGap: "sm"
125979
+ }));
125756
125980
  gridVariant = wrapVariant3(
125757
125981
  el(
125758
125982
  "grid",
@@ -125766,22 +125990,29 @@ var init_team_members = __esm({
125766
125990
  },
125767
125991
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
125768
125992
  },
125769
- [gridMembersNode]
125993
+ [manualGridMembersNode, dynamicGridMembersNode]
125770
125994
  )
125771
125995
  );
125772
- stackMembersNode = repeaterFragmentLayout({
125996
+ manualStackMembersNode = when("content.source", manualSourceWhen)(repeaterFragmentLayout({
125773
125997
  collectionPath: "content.members",
125774
125998
  itemName: ITEM_NAME7,
125775
125999
  fragments: { teamMember: teamMemberFragment },
125776
126000
  layoutOverrides: { teamMember: teamMemberStackLayout },
125777
126001
  itemGap: "sm"
125778
- });
126002
+ }));
126003
+ dynamicStackMembersNode = when("content.source", dynamicSourceWhen)(repeaterFragmentLayout({
126004
+ collectionPath: "data.members",
126005
+ itemName: ITEM_NAME7,
126006
+ fragments: { teamMember: teamMemberFragment },
126007
+ layoutOverrides: { teamMember: teamMemberStackLayout },
126008
+ itemGap: "sm"
126009
+ }));
125779
126010
  stackVariant = wrapVariant3({
125780
126011
  type: "stack",
125781
126012
  props: {
125782
126013
  gap: { $bind: { from: "content.gap", fallback: "medium" } }
125783
126014
  },
125784
- children: [stackMembersNode]
126015
+ children: [manualStackMembersNode, dynamicStackMembersNode]
125785
126016
  });
125786
126017
  teamMembersManifest = createBlockManifest({
125787
126018
  id: "block.team-members",
@@ -125796,6 +126027,18 @@ var init_team_members = __esm({
125796
126027
  required: false,
125797
126028
  maxLength: 120
125798
126029
  }),
126030
+ parseFieldDefinition({
126031
+ id: "source",
126032
+ type: "select",
126033
+ label: "Team members",
126034
+ description: "Choose whether to use the site-wide team or a hand-picked list.",
126035
+ defaultValue: "manual",
126036
+ options: [
126037
+ { value: "manual", label: "Choose manually" },
126038
+ { value: "site_staff", label: "Use all site team members" }
126039
+ ],
126040
+ ui: { intent: "behavior" }
126041
+ }),
125799
126042
  parseFieldDefinition({
125800
126043
  id: "layoutAlign",
125801
126044
  type: "select",
@@ -125898,18 +126141,24 @@ var init_team_members = __esm({
125898
126141
  ],
125899
126142
  ui: { intent: "display" }
125900
126143
  }),
125901
- fragmentsToRepeaterField(
125902
- "members",
125903
- "Team members",
125904
- { teamMember: teamMemberFragment },
125905
- {
125906
- minItems: 0,
125907
- maxItems: 50,
125908
- itemLabel: "Team member",
125909
- itemLabelSource: "name",
125910
- description: "Add people to this section."
126144
+ {
126145
+ ...fragmentsToRepeaterField(
126146
+ "members",
126147
+ "Team members",
126148
+ { teamMember: teamMemberFragment },
126149
+ {
126150
+ minItems: 0,
126151
+ maxItems: 50,
126152
+ itemLabel: "Team member",
126153
+ itemLabelSource: "name",
126154
+ description: "Add people to this section."
126155
+ }
126156
+ ),
126157
+ ui: {
126158
+ intent: "content",
126159
+ visibleWhen: { field: "source", equals: "manual" }
125911
126160
  }
125912
- )
126161
+ }
125913
126162
  ],
125914
126163
  layout: gridVariant,
125915
126164
  variants: {
@@ -125935,7 +126184,20 @@ var init_team_members = __esm({
125935
126184
  styleTokens: { spacing: "lg" }
125936
126185
  });
125937
126186
  teamMembersBlockDefinition = {
125938
- manifest: teamMembersManifest
126187
+ manifest: teamMembersManifest,
126188
+ dataSchemas: {
126189
+ members: teamMembersDataSchema
126190
+ },
126191
+ dataLoaders: {
126192
+ members: {
126193
+ endpoint: "listPublicTeamMembers",
126194
+ params: {
126195
+ siteId: { $bind: { from: "$root.siteId" } },
126196
+ stage: { $bind: { from: "$root.previewStage", fallback: "published" } }
126197
+ },
126198
+ mode: "server"
126199
+ }
126200
+ }
125939
126201
  };
125940
126202
  }
125941
126203
  });
@@ -129658,6 +129920,12 @@ var init_CoursePricingDisplay = __esm({
129658
129920
  init_shared6();
129659
129921
  }
129660
129922
  });
129923
+ function TeamMemberName({
129924
+ name,
129925
+ profilePath
129926
+ }) {
129927
+ return profilePath ? /* @__PURE__ */ jsx("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx("strong", { children: name }) }) : /* @__PURE__ */ jsx("strong", { children: name });
129928
+ }
129661
129929
  function EventDetailsView({
129662
129930
  selection,
129663
129931
  showVenue,
@@ -129721,7 +129989,13 @@ function EventDetailsView({
129721
129989
  teamMembers.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "rb-mt-6", children: [
129722
129990
  /* @__PURE__ */ jsx("div", { className: "rb-label rb-mb-2", children: "Team members" }),
129723
129991
  /* @__PURE__ */ jsx("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs("div", { children: [
129724
- /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: teamMember.name }) }),
129992
+ /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
129993
+ TeamMemberName,
129994
+ {
129995
+ name: teamMember.name,
129996
+ profilePath: teamMember.profilePath
129997
+ }
129998
+ ) }),
129725
129999
  teamMember.summary ? /* @__PURE__ */ jsx("p", { className: "rb-caption status-muted", children: teamMember.summary }) : null
129726
130000
  ] }, teamMember.id)) })
129727
130001
  ] }) : null,
@@ -130094,6 +130368,12 @@ var init_runs = __esm({
130094
130368
  init_src3();
130095
130369
  }
130096
130370
  });
130371
+ function TeamMemberName2({
130372
+ name,
130373
+ profilePath
130374
+ }) {
130375
+ return profilePath ? /* @__PURE__ */ jsx("a", { href: profilePath, className: "rb-hover-opacity-80", children: /* @__PURE__ */ jsx("strong", { children: name }) }) : /* @__PURE__ */ jsx("strong", { children: name });
130376
+ }
130097
130377
  function parseLimit2(value, fallback2) {
130098
130378
  if (value === "all") return "all";
130099
130379
  const n3 = typeof value === "string" ? Number.parseInt(value, 10) : typeof value === "number" ? value : NaN;
@@ -130151,7 +130431,13 @@ function CourseDetailsView(props2) {
130151
130431
  teamMembers.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
130152
130432
  /* @__PURE__ */ jsx("div", { className: "rb-label rb-mb-2", children: "Team members" }),
130153
130433
  /* @__PURE__ */ jsx("div", { className: "rb-flex rb-flex-col rb-gap-3", children: teamMembers.map((teamMember) => /* @__PURE__ */ jsxs("div", { children: [
130154
- /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: teamMember.name }) }),
130434
+ /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
130435
+ TeamMemberName2,
130436
+ {
130437
+ name: teamMember.name,
130438
+ profilePath: teamMember.profilePath
130439
+ }
130440
+ ) }),
130155
130441
  teamMember.summary && /* @__PURE__ */ jsx("p", { className: "rb-caption status-muted", children: teamMember.summary })
130156
130442
  ] }, teamMember.id)) })
130157
130443
  ] })
@@ -148433,6 +148719,7 @@ var init_loaderEndpoints = __esm({
148433
148719
  "listPublicEvents",
148434
148720
  "getPublicEventDetails",
148435
148721
  "listPublicCourses",
148722
+ "listPublicTeamMembers",
148436
148723
  "listPublicProducts",
148437
148724
  "listPublicPasses",
148438
148725
  "listPublicMemberships",
@@ -156108,7 +156395,7 @@ function ze() {
156108
156395
  /* @__PURE__ */ Te(P)
156109
156396
  );
156110
156397
  }
156111
- function z70(e3) {
156398
+ function z71(e3) {
156112
156399
  if (L2) {
156113
156400
  if (/* @__PURE__ */ Te(P) !== null)
156114
156401
  throw Tt(), Je;
@@ -158137,12 +158424,12 @@ function ha(e3, t3) {
158137
158424
  var mt = we(Dr, 2);
158138
158425
  let Pr;
158139
158426
  var We = X3(mt);
158140
- en(We), We.__change = ui, z70(mt);
158427
+ en(We), We.__change = ui, z71(mt);
158141
158428
  var Ut = we(mt, 2), wi = X3(Ut);
158142
158429
  {
158143
158430
  var pi = (n3) => {
158144
158431
  var u3 = na(), _2 = Gr(u3), y2 = X3(_2);
158145
- Ge(y2, () => c3(re2).verified), z70(_2);
158432
+ Ge(y2, () => c3(re2).verified), z71(_2);
158146
158433
  var T2 = we(_2, 2);
158147
158434
  en(T2), Pe(() => {
158148
158435
  se(T2, "name", V2()), jo(T2, c3(Le));
@@ -158151,10 +158438,10 @@ function ha(e3, t3) {
158151
158438
  {
158152
158439
  var _2 = (T2) => {
158153
158440
  var E = ia(), p2 = X3(E);
158154
- Ge(p2, () => c3(re2).verifying), z70(E), ne(T2, E);
158441
+ Ge(p2, () => c3(re2).verifying), z71(E), ne(T2, E);
158155
158442
  }, y2 = (T2) => {
158156
158443
  var E = oa(), p2 = X3(E);
158157
- Ge(p2, () => c3(re2).label), z70(E), Pe(() => se(E, "for", c3(cr))), ne(T2, E);
158444
+ Ge(p2, () => c3(re2).label), z71(E), Pe(() => se(E, "for", c3(cr))), ne(T2, E);
158158
158445
  };
158159
158446
  $e(
158160
158447
  n3,
@@ -158169,18 +158456,18 @@ function ha(e3, t3) {
158169
158456
  c3(C2) === b2.VERIFIED ? n3(pi) : n3(bi, false);
158170
158457
  });
158171
158458
  }
158172
- z70(Ut);
158459
+ z71(Ut);
158173
158460
  var yi = we(Ut, 2);
158174
158461
  {
158175
158462
  var Ei = (n3) => {
158176
158463
  var u3 = aa(), _2 = X3(u3);
158177
- se(_2, "href", sr), z70(u3), Pe(() => se(_2, "aria-label", c3(re2).ariaLinkLabel)), ne(n3, u3);
158464
+ se(_2, "href", sr), z71(u3), Pe(() => se(_2, "aria-label", c3(re2).ariaLinkLabel)), ne(n3, u3);
158178
158465
  };
158179
158466
  $e(yi, (n3) => {
158180
158467
  (N() !== true || c3(Dt)) && n3(Ei);
158181
158468
  });
158182
158469
  }
158183
- z70(Mt);
158470
+ z71(Mt);
158184
158471
  var Or = we(Mt, 2);
158185
158472
  {
158186
158473
  var xi = (n3) => {
@@ -158188,16 +158475,16 @@ function ha(e3, t3) {
158188
158475
  {
158189
158476
  var y2 = (E) => {
158190
158477
  var p2 = la(), x2 = X3(p2);
158191
- Ge(x2, () => c3(re2).expired), z70(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
158478
+ Ge(x2, () => c3(re2).expired), z71(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
158192
158479
  }, T2 = (E) => {
158193
158480
  var p2 = sa(), x2 = X3(p2);
158194
- Ge(x2, () => c3(re2).error), z70(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
158481
+ Ge(x2, () => c3(re2).error), z71(p2), Pe(() => se(p2, "title", c3(He))), ne(E, p2);
158195
158482
  };
158196
158483
  $e(_2, (E) => {
158197
158484
  c3(C2) === b2.EXPIRED ? E(y2) : E(T2, false);
158198
158485
  });
158199
158486
  }
158200
- z70(u3), ne(n3, u3);
158487
+ z71(u3), ne(n3, u3);
158201
158488
  };
158202
158489
  $e(Or, (n3) => {
158203
158490
  (c3(He) || c3(C2) === b2.EXPIRED) && n3(xi);
@@ -158207,7 +158494,7 @@ function ha(e3, t3) {
158207
158494
  {
158208
158495
  var $i = (n3) => {
158209
158496
  var u3 = ua(), _2 = X3(u3), y2 = X3(_2);
158210
- Ge(y2, () => c3(re2).footer), z70(_2), z70(u3), ne(n3, u3);
158497
+ Ge(y2, () => c3(re2).footer), z71(_2), z71(u3), ne(n3, u3);
158211
158498
  };
158212
158499
  $e(Fr, (n3) => {
158213
158500
  c3(re2).footer && (k() !== true || c3(Dt)) && n3($i);
@@ -158223,7 +158510,7 @@ function ha(e3, t3) {
158223
158510
  v2() && n3(Ci);
158224
158511
  });
158225
158512
  }
158226
- return z70(ot), nn(ot, (n3) => D2(B, n3), () => c3(B)), Pe(
158513
+ return z71(ot), nn(ot, (n3) => D2(B, n3), () => c3(B)), Pe(
158227
158514
  (n3) => {
158228
158515
  se(ot, "data-state", c3(C2)), se(ot, "data-floating", v2()), Pr = Fo(mt, 1, "altcha-checkbox", null, Pr, n3), se(We, "id", c3(cr)), We.required = r4() !== "onsubmit" && (!v2() || r4() !== "off");
158229
158516
  },
@@ -166186,6 +166473,14 @@ var init_CourseRegistrationErrorBoundary = __esm({
166186
166473
  };
166187
166474
  }
166188
166475
  });
166476
+ function TeamMemberInlineList({
166477
+ teamMembers
166478
+ }) {
166479
+ return /* @__PURE__ */ jsx(Fragment, { children: teamMembers.map((teamMember, index2) => /* @__PURE__ */ jsxs(React56__default.Fragment, { children: [
166480
+ index2 > 0 ? ", " : "",
166481
+ teamMember.profilePath ? /* @__PURE__ */ jsx("a", { href: teamMember.profilePath, children: teamMember.name }) : teamMember.name
166482
+ ] }, teamMember.id)) });
166483
+ }
166189
166484
  function CourseCard({
166190
166485
  course,
166191
166486
  isSelected,
@@ -166266,7 +166561,7 @@ function CourseSummary({
166266
166561
  teamMembers.length > 0 && /* @__PURE__ */ jsxs("div", { className: "cr-summary__venue", children: [
166267
166562
  /* @__PURE__ */ jsx("strong", { children: "Team:" }),
166268
166563
  " ",
166269
- teamMembers.map((teamMember) => teamMember.name).join(", ")
166564
+ /* @__PURE__ */ jsx(TeamMemberInlineList, { teamMembers })
166270
166565
  ] }),
166271
166566
  showPrice && pricing.display.kind !== "unavailable" && /* @__PURE__ */ jsxs("p", { className: "cr-summary__price", children: [
166272
166567
  /* @__PURE__ */ jsx("strong", { children: pricing.selectableOptions.length > 0 ? "Pricing:" : "Price:" }),