@riverbankcms/sdk 0.60.16 → 0.62.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +41 -1
- package/dist/_dts/api/src/bookingRecords.d.ts +100 -3
- package/dist/_dts/api/src/bookings.d.ts +2 -1
- package/dist/_dts/api/src/endpoints.d.ts +96 -0
- package/dist/_dts/api/src/index.d.ts +5 -1
- package/dist/_dts/api/src/participantMessaging.d.ts +113 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +51 -47
- package/dist/_dts/api/src/types.d.ts +1 -0
- package/dist/_dts/blocks/src/index.d.ts +66 -62
- package/dist/_dts/blocks/src/lib/media.d.ts +60 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +0 -21
- package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +2 -6
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +0 -10
- package/dist/_dts/blocks/src/system/blocks/columns.d.ts +0 -10
- package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +15 -15
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +5 -10
- package/dist/_dts/blocks/src/system/blocks/embed.d.ts +0 -11
- package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +43 -27
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +24 -15
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +132 -12
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +2 -10
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +2 -24
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -3
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +0 -13
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +17 -17
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -10
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +16 -15
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +2 -6
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -11
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +2 -2
- package/dist/_dts/blocks/src/system/constants/events.d.ts +18 -0
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +105 -0
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +29 -5
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/blogFeaturedPost.d.ts +0 -24
- package/dist/_dts/blocks/src/system/fragments/library/bodyCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/bookingForm.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/columnContent.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/ctaCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/footerBottomText.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/formCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/formEmbed.d.ts +0 -18
- package/dist/_dts/blocks/src/system/fragments/library/headerCta.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/heading.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/heroCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/image.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/newsletterCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/quote.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/richText.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/singleButton.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/spinner.d.ts +0 -5
- package/dist/_dts/blocks/src/system/fragments/library/teamMember.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +0 -31
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsHeading.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/videoEmbed.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/types.d.ts +11 -3
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +4 -0
- package/dist/_dts/blocks/src/system/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +3 -3
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +10 -10
- package/dist/_dts/blocks/src/system/media/constrainedVideoMedia.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -0
- package/dist/_dts/content-model/src/contentManifest.d.ts +2 -2
- package/dist/_dts/content-model/src/referenceFields.d.ts +7 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +34 -6
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/types.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/reference/dynamicAdapters.d.ts +9 -0
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +5 -1
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/videoSlotPolicy.d.ts +38 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/blocks/customizeFacetControls.d.ts +9 -0
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +14 -0
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +9 -7
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -3
- package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/content.d.ts +10 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/prompt/examples/features-grid.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/prompt/examples/pricing.d.ts +5 -5
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +3 -0
- package/dist/_dts/theme-core/src/schema.d.ts +25 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +515 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +119 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +5 -563
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +448 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +12 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/siteChromeAppearancePresets.d.ts +67 -0
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +6 -6
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +22 -3
- package/dist/_dts/theme-core/src/siteChrome.d.ts +11 -0
- package/dist/cli/index.mjs +4310 -3464
- package/dist/client/bookings.mjs +310 -310
- package/dist/client/client.mjs +61329 -60359
- package/dist/client/hooks.mjs +1254 -731
- package/dist/client/rendering/client.mjs +5959 -5226
- package/dist/client/rendering/islands.mjs +3842 -3275
- package/dist/client/rendering.mjs +7495 -6519
- package/dist/preview-next/before-render.mjs +118 -0
- package/dist/preview-next/client/runtime.mjs +4489 -2773
- package/dist/preview-next/middleware.mjs +136 -0
- package/dist/server/components.mjs +1342 -765
- package/dist/server/config-validation.mjs +1256 -733
- package/dist/server/config.mjs +1256 -733
- package/dist/server/data.mjs +1254 -731
- package/dist/server/index.mjs +191 -18
- package/dist/server/next.mjs +1339 -760
- package/dist/server/page-converter.mjs +1088 -734
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1338 -762
- package/dist/server/rendering.mjs +1351 -770
- package/dist/server/routing.mjs +1340 -754
- package/dist/server/server.mjs +1260 -734
- package/dist/server/theme-bridge.mjs +198 -34
- package/dist/server/theme.mjs +6 -0
- package/dist/styles/index.css +28 -9
- package/package.json +1 -1
|
@@ -728,7 +728,11 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
728
728
|
|
|
729
729
|
// ../blocks/src/system/manifest/schema.ts
|
|
730
730
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
731
|
-
var siteOptionSources = [
|
|
731
|
+
var siteOptionSources = [
|
|
732
|
+
"eventCategories",
|
|
733
|
+
"venues",
|
|
734
|
+
"staffMembers"
|
|
735
|
+
];
|
|
732
736
|
var mediaDeliverySchema = z3.object({
|
|
733
737
|
sizes: z3.string().optional(),
|
|
734
738
|
widthCandidates: z3.array(z3.number().int().positive()).optional(),
|
|
@@ -766,7 +770,10 @@ var uiSchema = z3.object({
|
|
|
766
770
|
hidden: z3.boolean().optional(),
|
|
767
771
|
hideLabel: z3.boolean().optional(),
|
|
768
772
|
hideDescription: z3.boolean().optional(),
|
|
769
|
-
showCharCount: z3.union([
|
|
773
|
+
showCharCount: z3.union([
|
|
774
|
+
z3.number().int().positive(),
|
|
775
|
+
z3.object({ max: z3.number().int().positive() })
|
|
776
|
+
]).optional(),
|
|
770
777
|
showSlugPreview: z3.boolean().optional(),
|
|
771
778
|
variant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
772
779
|
richTextVariant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
@@ -776,10 +783,7 @@ var uiSchema = z3.object({
|
|
|
776
783
|
showMediaPreview: z3.boolean().optional(),
|
|
777
784
|
showMediaOverlayActions: z3.boolean().optional(),
|
|
778
785
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
779
|
-
mediaDeliveryByVariant: z3.record(
|
|
780
|
-
z3.string(),
|
|
781
|
-
mediaDeliverySchema
|
|
782
|
-
).optional(),
|
|
786
|
+
mediaDeliveryByVariant: z3.record(z3.string(), mediaDeliverySchema).optional(),
|
|
783
787
|
// Optional input hints for validators/widgets
|
|
784
788
|
inputType: z3.enum(["text", "email", "tel", "number"]).optional(),
|
|
785
789
|
min: z3.number().optional(),
|
|
@@ -887,7 +891,9 @@ var richTextFieldSchema = baseFieldSchema.extend({
|
|
|
887
891
|
});
|
|
888
892
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
889
893
|
type: z3.literal("media"),
|
|
890
|
-
mediaKinds: z3.array(
|
|
894
|
+
mediaKinds: z3.array(
|
|
895
|
+
z3.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
|
|
896
|
+
).default(["image"]),
|
|
891
897
|
aspectRatio: z3.string().optional()
|
|
892
898
|
});
|
|
893
899
|
var booleanFieldSchema = baseFieldSchema.extend({
|
|
@@ -1009,7 +1015,9 @@ var referenceFieldSchema = baseFieldSchema.extend({
|
|
|
1009
1015
|
var itemTypeSchema = z3.object({
|
|
1010
1016
|
label: z3.string().min(1),
|
|
1011
1017
|
icon: z3.string().optional(),
|
|
1012
|
-
fields: z3.lazy(
|
|
1018
|
+
fields: z3.lazy(
|
|
1019
|
+
() => getFieldSchemaInternal().array().min(1, "Item type requires at least one field")
|
|
1020
|
+
)
|
|
1013
1021
|
});
|
|
1014
1022
|
var repeaterFieldSchema = baseFieldSchema.extend({
|
|
1015
1023
|
type: z3.literal("repeater"),
|
|
@@ -1019,7 +1027,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1019
1027
|
maxItems: z3.number().int().positive().optional(),
|
|
1020
1028
|
// Monomorphic mode
|
|
1021
1029
|
schema: z3.object({
|
|
1022
|
-
fields: z3.lazy(
|
|
1030
|
+
fields: z3.lazy(
|
|
1031
|
+
() => getFieldSchemaInternal().array().min(1, "Repeater requires at least one field")
|
|
1032
|
+
)
|
|
1023
1033
|
}).optional(),
|
|
1024
1034
|
// Polymorphic mode
|
|
1025
1035
|
polymorphic: z3.boolean().optional(),
|
|
@@ -1065,13 +1075,19 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1065
1075
|
const itemTypes = Object.values(
|
|
1066
1076
|
data.itemTypes
|
|
1067
1077
|
);
|
|
1068
|
-
return itemTypes.every(
|
|
1078
|
+
return itemTypes.every(
|
|
1079
|
+
(itemType) => Array.isArray(itemType.fields) && requiredFieldIds.every(
|
|
1080
|
+
(requiredId) => itemType.fields?.some((field) => field.id === requiredId)
|
|
1081
|
+
)
|
|
1082
|
+
);
|
|
1069
1083
|
}
|
|
1070
1084
|
const schemaFields = data.schema?.fields;
|
|
1071
1085
|
if (!schemaFields) {
|
|
1072
1086
|
return true;
|
|
1073
1087
|
}
|
|
1074
|
-
return requiredFieldIds.every(
|
|
1088
|
+
return requiredFieldIds.every(
|
|
1089
|
+
(requiredId) => schemaFields.some((field) => field.id === requiredId)
|
|
1090
|
+
);
|
|
1075
1091
|
},
|
|
1076
1092
|
{
|
|
1077
1093
|
message: `layoutGrid repeaters require span/row/column fields (defaults: '${DEFAULT_REPEATER_GRID_SPAN_FIELD_ID}', '${DEFAULT_REPEATER_GRID_ROW_FIELD_ID}', '${DEFAULT_REPEATER_GRID_COLUMN_FIELD_ID}') to exist in repeater item fields`,
|
|
@@ -1099,7 +1115,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1099
1115
|
if (!schemaFields) {
|
|
1100
1116
|
return true;
|
|
1101
1117
|
}
|
|
1102
|
-
const field = schemaFields.find(
|
|
1118
|
+
const field = schemaFields.find(
|
|
1119
|
+
(candidate) => candidate.id === labelField
|
|
1120
|
+
);
|
|
1103
1121
|
return field?.type === "text";
|
|
1104
1122
|
},
|
|
1105
1123
|
{
|
|
@@ -1110,13 +1128,17 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1110
1128
|
var groupFieldSchema = baseFieldSchema.extend({
|
|
1111
1129
|
type: z3.literal("group"),
|
|
1112
1130
|
schema: z3.object({
|
|
1113
|
-
fields: z3.lazy(
|
|
1131
|
+
fields: z3.lazy(
|
|
1132
|
+
() => getFieldSchemaInternal().array().min(1, "Group requires at least one field")
|
|
1133
|
+
)
|
|
1114
1134
|
})
|
|
1115
1135
|
});
|
|
1116
1136
|
var modalFieldSchema = baseFieldSchema.extend({
|
|
1117
1137
|
type: z3.literal("modal"),
|
|
1118
1138
|
schema: z3.object({
|
|
1119
|
-
fields: z3.lazy(
|
|
1139
|
+
fields: z3.lazy(
|
|
1140
|
+
() => getFieldSchemaInternal().array().min(1, "Modal requires at least one field")
|
|
1141
|
+
)
|
|
1120
1142
|
})
|
|
1121
1143
|
});
|
|
1122
1144
|
var numberFieldSchema = baseFieldSchema.extend({
|
|
@@ -1226,31 +1248,35 @@ function expectParsedSelectField(field) {
|
|
|
1226
1248
|
return field;
|
|
1227
1249
|
}
|
|
1228
1250
|
function createSiteOptionSelectField(input) {
|
|
1229
|
-
return expectParsedSelectField(
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1251
|
+
return expectParsedSelectField(
|
|
1252
|
+
parseFieldDefinition({
|
|
1253
|
+
...input,
|
|
1254
|
+
type: "select",
|
|
1255
|
+
options: [],
|
|
1256
|
+
multiple: input.multiple ?? false,
|
|
1257
|
+
source: { kind: "site", optionSource: input.optionSource },
|
|
1258
|
+
ui: {
|
|
1259
|
+
...input.ui ?? {},
|
|
1260
|
+
widget: "siteOptionPicker",
|
|
1261
|
+
siteOptionSource: input.optionSource
|
|
1262
|
+
}
|
|
1263
|
+
})
|
|
1264
|
+
);
|
|
1241
1265
|
}
|
|
1242
1266
|
function createSdkSelectField(input) {
|
|
1243
|
-
return expectParsedSelectField(
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1267
|
+
return expectParsedSelectField(
|
|
1268
|
+
parseFieldDefinition({
|
|
1269
|
+
...input,
|
|
1270
|
+
type: "select",
|
|
1271
|
+
options: input.options,
|
|
1272
|
+
multiple: input.multiple ?? false,
|
|
1273
|
+
source: { kind: "sdk" },
|
|
1274
|
+
ui: {
|
|
1275
|
+
...input.ui ?? {},
|
|
1276
|
+
widget: "sdkSelect"
|
|
1277
|
+
}
|
|
1278
|
+
})
|
|
1279
|
+
);
|
|
1254
1280
|
}
|
|
1255
1281
|
var slotSchema = z3.object({
|
|
1256
1282
|
id: z3.string().min(1),
|
|
@@ -1261,8 +1287,20 @@ var slotSchema = z3.object({
|
|
|
1261
1287
|
help: z3.string().optional(),
|
|
1262
1288
|
visibleRoles: z3.array(z3.enum(visibilityLevels)).optional()
|
|
1263
1289
|
});
|
|
1264
|
-
var typographyTokens = [
|
|
1265
|
-
|
|
1290
|
+
var typographyTokens = [
|
|
1291
|
+
"display",
|
|
1292
|
+
"heading",
|
|
1293
|
+
"subheading",
|
|
1294
|
+
"body",
|
|
1295
|
+
"caption"
|
|
1296
|
+
];
|
|
1297
|
+
var colorTokens = [
|
|
1298
|
+
"background",
|
|
1299
|
+
"surface",
|
|
1300
|
+
"foreground",
|
|
1301
|
+
"accent",
|
|
1302
|
+
"muted"
|
|
1303
|
+
];
|
|
1266
1304
|
var spacingTokens = ["none", "xs", "sm", "md", "lg", "xl"];
|
|
1267
1305
|
var radiusTokens = ["none", "sm", "md", "lg", "full"];
|
|
1268
1306
|
var styleTokenSchema = z3.object({
|
|
@@ -1282,7 +1320,14 @@ var behaviourSchema = z3.object({
|
|
|
1282
1320
|
// Block manages its own wrapper (for sticky/fixed positioning)
|
|
1283
1321
|
managesOwnWrapper: z3.boolean().optional()
|
|
1284
1322
|
});
|
|
1285
|
-
var blockCategoryEnum = z3.enum([
|
|
1323
|
+
var blockCategoryEnum = z3.enum([
|
|
1324
|
+
"marketing",
|
|
1325
|
+
"content",
|
|
1326
|
+
"blog",
|
|
1327
|
+
"media",
|
|
1328
|
+
"layout",
|
|
1329
|
+
"interactive"
|
|
1330
|
+
]);
|
|
1286
1331
|
var manifestSchema = z3.object({
|
|
1287
1332
|
name: z3.string().min(1),
|
|
1288
1333
|
version: z3.string().min(1),
|
|
@@ -1950,6 +1995,24 @@ function resolveVariantKey(manifest, content) {
|
|
|
1950
1995
|
return null;
|
|
1951
1996
|
}
|
|
1952
1997
|
|
|
1998
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
1999
|
+
function assertValidOptionGroups(preset2) {
|
|
2000
|
+
preset2.optionGroups?.forEach((group) => {
|
|
2001
|
+
const selectedOption = group.options.find(
|
|
2002
|
+
(option) => option.id === group.selectedOptionId
|
|
2003
|
+
);
|
|
2004
|
+
if (!selectedOption) {
|
|
2005
|
+
throw new Error(
|
|
2006
|
+
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
2007
|
+
);
|
|
2008
|
+
}
|
|
2009
|
+
});
|
|
2010
|
+
}
|
|
2011
|
+
function defineBlockAppearancePreset(preset2) {
|
|
2012
|
+
assertValidOptionGroups(preset2);
|
|
2013
|
+
return preset2;
|
|
2014
|
+
}
|
|
2015
|
+
|
|
1953
2016
|
// ../theme-core/src/site-styles/types.ts
|
|
1954
2017
|
function asDesignBlockId(value) {
|
|
1955
2018
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
@@ -2031,6 +2094,11 @@ function flushPanelFrame(options) {
|
|
|
2031
2094
|
function defineFrameCapability(capability) {
|
|
2032
2095
|
return capability;
|
|
2033
2096
|
}
|
|
2097
|
+
var tileTreatmentValues = [
|
|
2098
|
+
"default",
|
|
2099
|
+
"quiet",
|
|
2100
|
+
"brand-depth"
|
|
2101
|
+
];
|
|
2034
2102
|
var eyebrowTreatmentValues = [
|
|
2035
2103
|
"plain",
|
|
2036
2104
|
"pill",
|
|
@@ -2046,31 +2114,13 @@ function defineBlockDesignCapability(capability) {
|
|
|
2046
2114
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
2047
2115
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
2048
2116
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
2117
|
+
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
2049
2118
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
2050
2119
|
};
|
|
2051
2120
|
}
|
|
2052
2121
|
|
|
2053
|
-
// ../theme-core/src/site-styles/
|
|
2054
|
-
|
|
2055
|
-
preset2.optionGroups?.forEach((group) => {
|
|
2056
|
-
const selectedOption = group.options.find(
|
|
2057
|
-
(option) => option.id === group.selectedOptionId
|
|
2058
|
-
);
|
|
2059
|
-
if (!selectedOption) {
|
|
2060
|
-
throw new Error(
|
|
2061
|
-
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
2062
|
-
);
|
|
2063
|
-
}
|
|
2064
|
-
});
|
|
2065
|
-
}
|
|
2066
|
-
function defineBlockAppearancePreset(preset2) {
|
|
2067
|
-
assertValidOptionGroups(preset2);
|
|
2068
|
-
return preset2;
|
|
2069
|
-
}
|
|
2070
|
-
function defineSiteChromeAppearancePreset(preset2) {
|
|
2071
|
-
return preset2;
|
|
2072
|
-
}
|
|
2073
|
-
var appearancePresets = [
|
|
2122
|
+
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
2123
|
+
var blockAppearancePresets = [
|
|
2074
2124
|
defineBlockAppearancePreset({
|
|
2075
2125
|
kind: "block-design",
|
|
2076
2126
|
id: "hero-immersive-image",
|
|
@@ -2196,6 +2246,24 @@ var appearancePresets = [
|
|
|
2196
2246
|
eyebrowTreatment: "accent-pill-bounce"
|
|
2197
2247
|
}
|
|
2198
2248
|
}),
|
|
2249
|
+
defineBlockAppearancePreset({
|
|
2250
|
+
kind: "block-design",
|
|
2251
|
+
id: "hero-brand-depth-expressive",
|
|
2252
|
+
target: "hero",
|
|
2253
|
+
label: "Expressive brand-depth hero",
|
|
2254
|
+
blockKinds: ["block.hero"],
|
|
2255
|
+
constraints: {
|
|
2256
|
+
layoutFamilies: ["centered", "compact"]
|
|
2257
|
+
},
|
|
2258
|
+
design: {
|
|
2259
|
+
sectionSurface: "brand-depth-band",
|
|
2260
|
+
contentFrame: plainFrame,
|
|
2261
|
+
itemSurface: "none",
|
|
2262
|
+
transitionAfter: "soft-fade-short",
|
|
2263
|
+
emphasis: "high",
|
|
2264
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
2265
|
+
}
|
|
2266
|
+
}),
|
|
2199
2267
|
defineBlockAppearancePreset({
|
|
2200
2268
|
kind: "block-design",
|
|
2201
2269
|
id: "hero-contained-intro",
|
|
@@ -2224,6 +2292,20 @@ var appearancePresets = [
|
|
|
2224
2292
|
emphasis: "high"
|
|
2225
2293
|
}
|
|
2226
2294
|
}),
|
|
2295
|
+
defineBlockAppearancePreset({
|
|
2296
|
+
kind: "block-design",
|
|
2297
|
+
id: "body-text-brand-depth-intro",
|
|
2298
|
+
target: "body-text",
|
|
2299
|
+
label: "Brand-depth intro copy",
|
|
2300
|
+
blockKinds: ["block.body-text"],
|
|
2301
|
+
design: {
|
|
2302
|
+
sectionSurface: "brand-depth-band",
|
|
2303
|
+
contentFrame: plainFrame,
|
|
2304
|
+
itemSurface: "none",
|
|
2305
|
+
transitionAfter: "soft-fade-short",
|
|
2306
|
+
emphasis: "high"
|
|
2307
|
+
}
|
|
2308
|
+
}),
|
|
2227
2309
|
defineBlockAppearancePreset({
|
|
2228
2310
|
kind: "block-design",
|
|
2229
2311
|
id: "offerings-calm-list",
|
|
@@ -2266,6 +2348,21 @@ var appearancePresets = [
|
|
|
2266
2348
|
emphasis: "medium"
|
|
2267
2349
|
}
|
|
2268
2350
|
}),
|
|
2351
|
+
defineBlockAppearancePreset({
|
|
2352
|
+
kind: "block-design",
|
|
2353
|
+
id: "schedule-details-brand-depth",
|
|
2354
|
+
target: "events",
|
|
2355
|
+
label: "Brand-depth schedule details",
|
|
2356
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
2357
|
+
design: {
|
|
2358
|
+
sectionSurface: "brand-depth-band",
|
|
2359
|
+
contentFrame: plainFrame,
|
|
2360
|
+
itemSurface: "none",
|
|
2361
|
+
transitionAfter: "none",
|
|
2362
|
+
emphasis: "medium",
|
|
2363
|
+
tileTreatment: "brand-depth"
|
|
2364
|
+
}
|
|
2365
|
+
}),
|
|
2269
2366
|
defineBlockAppearancePreset({
|
|
2270
2367
|
kind: "block-design",
|
|
2271
2368
|
id: "media-text-flush-feature",
|
|
@@ -2351,6 +2448,20 @@ var appearancePresets = [
|
|
|
2351
2448
|
testimonialCardTreatment: "accent-quote"
|
|
2352
2449
|
}
|
|
2353
2450
|
}),
|
|
2451
|
+
defineBlockAppearancePreset({
|
|
2452
|
+
kind: "block-design",
|
|
2453
|
+
id: "faq-base-accordion",
|
|
2454
|
+
target: "faq",
|
|
2455
|
+
label: "Base accordion FAQ",
|
|
2456
|
+
blockKinds: ["block.faq"],
|
|
2457
|
+
design: {
|
|
2458
|
+
sectionSurface: "base",
|
|
2459
|
+
contentFrame: plainFrame,
|
|
2460
|
+
itemSurface: "default",
|
|
2461
|
+
transitionAfter: "none",
|
|
2462
|
+
emphasis: "medium"
|
|
2463
|
+
}
|
|
2464
|
+
}),
|
|
2354
2465
|
defineBlockAppearancePreset({
|
|
2355
2466
|
kind: "block-design",
|
|
2356
2467
|
id: "faq-contained-help",
|
|
@@ -2393,6 +2504,20 @@ var appearancePresets = [
|
|
|
2393
2504
|
emphasis: "high"
|
|
2394
2505
|
}
|
|
2395
2506
|
}),
|
|
2507
|
+
defineBlockAppearancePreset({
|
|
2508
|
+
kind: "block-design",
|
|
2509
|
+
id: "contact-form-brand-depth-card",
|
|
2510
|
+
target: "contact-form",
|
|
2511
|
+
label: "Brand-depth form card",
|
|
2512
|
+
blockKinds: ["block.form"],
|
|
2513
|
+
design: {
|
|
2514
|
+
sectionSurface: "brand-depth-band",
|
|
2515
|
+
contentFrame: panelFrame("raised"),
|
|
2516
|
+
itemSurface: "none",
|
|
2517
|
+
transitionAfter: "none",
|
|
2518
|
+
emphasis: "high"
|
|
2519
|
+
}
|
|
2520
|
+
}),
|
|
2396
2521
|
defineBlockAppearancePreset({
|
|
2397
2522
|
kind: "block-design",
|
|
2398
2523
|
id: "cta-accent-band",
|
|
@@ -2406,7 +2531,14 @@ var appearancePresets = [
|
|
|
2406
2531
|
transitionAfter: "none",
|
|
2407
2532
|
emphasis: "high"
|
|
2408
2533
|
}
|
|
2409
|
-
})
|
|
2534
|
+
})
|
|
2535
|
+
];
|
|
2536
|
+
|
|
2537
|
+
// ../theme-core/src/site-styles/siteChromeAppearancePresets.ts
|
|
2538
|
+
function defineSiteChromeAppearancePreset(preset2) {
|
|
2539
|
+
return preset2;
|
|
2540
|
+
}
|
|
2541
|
+
var siteChromeAppearancePresets = [
|
|
2410
2542
|
defineSiteChromeAppearancePreset({
|
|
2411
2543
|
kind: "site-chrome",
|
|
2412
2544
|
id: "header-clean-base",
|
|
@@ -2474,6 +2606,12 @@ var appearancePresets = [
|
|
|
2474
2606
|
})
|
|
2475
2607
|
];
|
|
2476
2608
|
|
|
2609
|
+
// ../theme-core/src/site-styles/appearancePresetCatalog.ts
|
|
2610
|
+
var appearancePresets = [
|
|
2611
|
+
...blockAppearancePresets,
|
|
2612
|
+
...siteChromeAppearancePresets
|
|
2613
|
+
];
|
|
2614
|
+
|
|
2477
2615
|
// ../theme-core/src/site-styles/blockFlow.ts
|
|
2478
2616
|
function defineBlockDesignMetadata(input) {
|
|
2479
2617
|
const layoutProfiles = (input.layoutProfiles ?? []).map((profile) => ({
|
|
@@ -6016,6 +6154,7 @@ var sectionStylesOverrideSchema = z20.object({
|
|
|
6016
6154
|
background: boxBackgroundSchema.nullable().optional(),
|
|
6017
6155
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
6018
6156
|
minHeight: z20.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
6157
|
+
tileTreatment: z20.enum(tileTreatmentValues).nullable().optional(),
|
|
6019
6158
|
eyebrowTreatment: z20.enum(eyebrowTreatmentValues).nullable().optional()
|
|
6020
6159
|
});
|
|
6021
6160
|
var containerStylesOverrideSchema = z20.object({
|
|
@@ -6809,7 +6948,7 @@ var userContentFrames = [
|
|
|
6809
6948
|
];
|
|
6810
6949
|
var generatedDesignOptionCatalog = {
|
|
6811
6950
|
source: "generated",
|
|
6812
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
6951
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
6813
6952
|
contentFrames: generatedContentFrames,
|
|
6814
6953
|
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
6815
6954
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
@@ -6879,6 +7018,43 @@ var expressiveBudget = {
|
|
|
6879
7018
|
mediaDensity: "high",
|
|
6880
7019
|
decorativeRepetition: "medium"
|
|
6881
7020
|
};
|
|
7021
|
+
var expressiveUnderlineInputs = {
|
|
7022
|
+
base: {
|
|
7023
|
+
background: { type: "transparent" },
|
|
7024
|
+
textColorToken: "text",
|
|
7025
|
+
border: {
|
|
7026
|
+
widthClass: "border-2",
|
|
7027
|
+
colorToken: "border",
|
|
7028
|
+
style: "underline"
|
|
7029
|
+
},
|
|
7030
|
+
corners: "square",
|
|
7031
|
+
shadow: null,
|
|
7032
|
+
spacing: "compact",
|
|
7033
|
+
fontSize: "base"
|
|
7034
|
+
},
|
|
7035
|
+
label: {
|
|
7036
|
+
textColorToken: "primary",
|
|
7037
|
+
fontWeight: "black",
|
|
7038
|
+
fontSize: "xs",
|
|
7039
|
+
textTransform: "uppercase",
|
|
7040
|
+
letterSpacing: "widest",
|
|
7041
|
+
opacity: 1
|
|
7042
|
+
},
|
|
7043
|
+
focus: {
|
|
7044
|
+
ringColorToken: "secondary",
|
|
7045
|
+
ringWidth: "0",
|
|
7046
|
+
borderColorToken: "secondary"
|
|
7047
|
+
},
|
|
7048
|
+
error: {
|
|
7049
|
+
borderColorToken: "destructive",
|
|
7050
|
+
textColorToken: "destructive"
|
|
7051
|
+
},
|
|
7052
|
+
disabled: {
|
|
7053
|
+
backgroundColorToken: "surface",
|
|
7054
|
+
textColorToken: "text",
|
|
7055
|
+
opacity: 0.6
|
|
7056
|
+
}
|
|
7057
|
+
};
|
|
6882
7058
|
function uniqueContentFrameKinds() {
|
|
6883
7059
|
const kinds = [...new Set(
|
|
6884
7060
|
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
@@ -7229,15 +7405,17 @@ var curatedSiteStyles = [
|
|
|
7229
7405
|
paragraphSize: "editorial",
|
|
7230
7406
|
headingSize: "editorial"
|
|
7231
7407
|
}
|
|
7232
|
-
}
|
|
7408
|
+
},
|
|
7409
|
+
inputs: expressiveUnderlineInputs
|
|
7233
7410
|
},
|
|
7234
7411
|
recommendedAppearancePresetIds: [
|
|
7235
7412
|
"site-header-brand-solid-inverted-cta",
|
|
7236
7413
|
"site-footer-brand-two-band",
|
|
7237
7414
|
"hero-brand-scrim-fixed-frame",
|
|
7238
7415
|
"body-text-editorial-intro",
|
|
7416
|
+
"schedule-details-brand-depth",
|
|
7239
7417
|
"testimonials-accent-quote-proof",
|
|
7240
|
-
"contact-form-
|
|
7418
|
+
"contact-form-brand-depth-card"
|
|
7241
7419
|
],
|
|
7242
7420
|
buttonPersonalityChoices: [
|
|
7243
7421
|
buttonChoice("showtime-pill"),
|
|
@@ -7475,6 +7653,7 @@ var imageSurfaceTreatmentSchema = z22.discriminatedUnion("kind", [
|
|
|
7475
7653
|
}).strict()
|
|
7476
7654
|
]);
|
|
7477
7655
|
var testimonialCardTreatmentSchema = z22.enum(["default", "accent-quote"]);
|
|
7656
|
+
var tileTreatmentSchema = z22.enum(tileTreatmentValues);
|
|
7478
7657
|
var eyebrowTreatmentSchema = z22.enum(eyebrowTreatmentValues);
|
|
7479
7658
|
function uniqueNonEmpty(values) {
|
|
7480
7659
|
const uniqueValues = [...new Set(values)];
|
|
@@ -7519,6 +7698,7 @@ var blockDesignPlanSchema = z22.object({
|
|
|
7519
7698
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
7520
7699
|
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
7521
7700
|
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
7701
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
7522
7702
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
7523
7703
|
}).strict();
|
|
7524
7704
|
var styleAuthoritySchema = z22.discriminatedUnion("kind", [
|
|
@@ -7582,6 +7762,14 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
7582
7762
|
headingColor: "primaryForeground"
|
|
7583
7763
|
}
|
|
7584
7764
|
},
|
|
7765
|
+
"brand-depth-band": {
|
|
7766
|
+
background: {
|
|
7767
|
+
type: "color",
|
|
7768
|
+
color: "primary-800",
|
|
7769
|
+
textColor: "primaryForeground",
|
|
7770
|
+
headingColor: "primaryForeground"
|
|
7771
|
+
}
|
|
7772
|
+
},
|
|
7585
7773
|
"hero-image": {
|
|
7586
7774
|
background: {
|
|
7587
7775
|
type: "image",
|
|
@@ -9471,6 +9659,21 @@ function createTransformRegistry(definitions) {
|
|
|
9471
9659
|
}
|
|
9472
9660
|
|
|
9473
9661
|
// ../blocks/src/system/transforms/registry/_utils/colorResolution.ts
|
|
9662
|
+
var CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\(/i;
|
|
9663
|
+
var CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
9664
|
+
var THEME_COLOR_TOKEN_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*(?:\/(?:100|[1-9]?\d|0))?$/;
|
|
9665
|
+
var CSS_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
|
|
9666
|
+
"transparent",
|
|
9667
|
+
"currentColor",
|
|
9668
|
+
"inherit",
|
|
9669
|
+
"initial",
|
|
9670
|
+
"revert",
|
|
9671
|
+
"revert-layer",
|
|
9672
|
+
"unset"
|
|
9673
|
+
]);
|
|
9674
|
+
function isLiteralCssColorValue(value) {
|
|
9675
|
+
return CSS_HEX_COLOR_PATTERN.test(value) || CSS_COLOR_FUNCTION_PATTERN.test(value) || value.startsWith("var(") || CSS_COLOR_KEYWORDS.has(value);
|
|
9676
|
+
}
|
|
9474
9677
|
function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
9475
9678
|
const trimmed = tokenOrCssValue.trim();
|
|
9476
9679
|
if (!trimmed) return "";
|
|
@@ -9487,8 +9690,11 @@ function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
|
9487
9690
|
return rgbColorValue(trimmed);
|
|
9488
9691
|
}
|
|
9489
9692
|
}
|
|
9490
|
-
if (trimmed
|
|
9491
|
-
return
|
|
9693
|
+
if (isLiteralCssColorValue(trimmed)) {
|
|
9694
|
+
return trimmed;
|
|
9695
|
+
}
|
|
9696
|
+
if (THEME_COLOR_TOKEN_PATTERN.test(trimmed)) {
|
|
9697
|
+
return rgbColorValue(trimmed);
|
|
9492
9698
|
}
|
|
9493
9699
|
return trimmed;
|
|
9494
9700
|
}
|
|
@@ -9744,6 +9950,15 @@ function hasFixedFrameBackgroundMotion(value) {
|
|
|
9744
9950
|
const background = asPartialObject(input?.background);
|
|
9745
9951
|
return background?.motion === "fixed-frame";
|
|
9746
9952
|
}
|
|
9953
|
+
var tileTreatmentClassMap = {
|
|
9954
|
+
default: "",
|
|
9955
|
+
quiet: "rb-tile-treatment-quiet",
|
|
9956
|
+
"brand-depth": "rb-tile-treatment-brand-depth"
|
|
9957
|
+
};
|
|
9958
|
+
var tileTreatmentSet = new Set(tileTreatmentValues);
|
|
9959
|
+
function isTileTreatment(value) {
|
|
9960
|
+
return typeof value === "string" && tileTreatmentSet.has(value);
|
|
9961
|
+
}
|
|
9747
9962
|
var sectionClassNameTransform = {
|
|
9748
9963
|
id: "sectionStyles.resolveClassName",
|
|
9749
9964
|
kind: "string",
|
|
@@ -9800,6 +10015,17 @@ var sectionClassNameTransform = {
|
|
|
9800
10015
|
classes.push(minHeightClass);
|
|
9801
10016
|
}
|
|
9802
10017
|
}
|
|
10018
|
+
const tileTreatment = input?.tileTreatment;
|
|
10019
|
+
if (isTileTreatment(tileTreatment)) {
|
|
10020
|
+
const tileTreatmentClass = tileTreatmentClassMap[tileTreatment];
|
|
10021
|
+
if (tileTreatmentClass) {
|
|
10022
|
+
classes.push(tileTreatmentClass);
|
|
10023
|
+
}
|
|
10024
|
+
} else if (typeof tileTreatment === "string" && process.env.NODE_ENV !== "production") {
|
|
10025
|
+
console.warn(
|
|
10026
|
+
`[sectionStyles] Invalid tileTreatment value in _sectionStyles: "${tileTreatment}". Expected one of: ${tileTreatmentValues.join(", ")}.`
|
|
10027
|
+
);
|
|
10028
|
+
}
|
|
9803
10029
|
if (hasFixedFrameBackgroundMotion(input)) {
|
|
9804
10030
|
classes.push(fixedFrameScopeClass);
|
|
9805
10031
|
}
|
|
@@ -12766,6 +12992,9 @@ function createBlockManifest(config) {
|
|
|
12766
12992
|
};
|
|
12767
12993
|
return augmentManifest(manifest);
|
|
12768
12994
|
}
|
|
12995
|
+
function createBlockManifestWithContentShape(config, _contentShape) {
|
|
12996
|
+
return createBlockManifest(config);
|
|
12997
|
+
}
|
|
12769
12998
|
function normalizeBlockLayout(layout) {
|
|
12770
12999
|
return Array.isArray(layout) ? [...layout] : layout;
|
|
12771
13000
|
}
|
|
@@ -13398,7 +13627,7 @@ var ctaComposition = composeFragments([
|
|
|
13398
13627
|
{ fragment: ctaCopyFragment },
|
|
13399
13628
|
{ fragment: ctaRowFragment }
|
|
13400
13629
|
]);
|
|
13401
|
-
var
|
|
13630
|
+
var ctaFullConfig = {
|
|
13402
13631
|
id: "block.cta-full",
|
|
13403
13632
|
title: "Full-width CTA",
|
|
13404
13633
|
category: "marketing",
|
|
@@ -13416,7 +13645,8 @@ var ctaFullManifest = createBlockManifest({
|
|
|
13416
13645
|
description: "Centered call to action with optional background image.",
|
|
13417
13646
|
tags: ["cta", "call-to-action", "button", "conversion", "action", "sign-up", "get-started"],
|
|
13418
13647
|
icon: "Target"
|
|
13419
|
-
}
|
|
13648
|
+
};
|
|
13649
|
+
var ctaFullManifest = createBlockManifest(ctaFullConfig);
|
|
13420
13650
|
var ctaFullBlockDefinition = {
|
|
13421
13651
|
manifest: ctaFullManifest
|
|
13422
13652
|
};
|
|
@@ -16597,9 +16827,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16597
16827
|
{
|
|
16598
16828
|
id: "images",
|
|
16599
16829
|
type: "repeater",
|
|
16600
|
-
label: "
|
|
16830
|
+
label: "Media",
|
|
16601
16831
|
required: false,
|
|
16602
|
-
itemLabel: "
|
|
16832
|
+
itemLabel: "Media",
|
|
16603
16833
|
minItems: 0,
|
|
16604
16834
|
maxItems: 6,
|
|
16605
16835
|
allowConversion: true,
|
|
@@ -16613,9 +16843,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16613
16843
|
{
|
|
16614
16844
|
id: "image",
|
|
16615
16845
|
type: "media",
|
|
16616
|
-
label: "
|
|
16846
|
+
label: "Media",
|
|
16617
16847
|
required: true,
|
|
16618
|
-
mediaKinds: ["image"]
|
|
16848
|
+
mediaKinds: ["image", "video"]
|
|
16619
16849
|
}
|
|
16620
16850
|
]
|
|
16621
16851
|
}
|
|
@@ -16693,8 +16923,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16693
16923
|
{
|
|
16694
16924
|
id: "aspectRatio",
|
|
16695
16925
|
type: "select",
|
|
16696
|
-
label: "
|
|
16697
|
-
description: "Crop
|
|
16926
|
+
label: "Media aspect ratio",
|
|
16927
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
16698
16928
|
required: false,
|
|
16699
16929
|
defaultValue: "auto",
|
|
16700
16930
|
multiple: false,
|
|
@@ -16881,8 +17111,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16881
17111
|
}
|
|
16882
17112
|
};
|
|
16883
17113
|
})(),
|
|
16884
|
-
description: "Two columns:
|
|
16885
|
-
tags: ["media", "image", "carousel", "text", "two-column", "layout"],
|
|
17114
|
+
description: "Two columns: media/carousel + rich text (with optional section title).",
|
|
17115
|
+
tags: ["media", "image", "video", "carousel", "text", "two-column", "layout"],
|
|
16886
17116
|
icon: "Columns"
|
|
16887
17117
|
});
|
|
16888
17118
|
var mediaTextBlockDefinition = {
|
|
@@ -17033,6 +17263,19 @@ var transformSchema2 = z37.object({
|
|
|
17033
17263
|
hotspot: hotspotSchema2.optional(),
|
|
17034
17264
|
rotation: rotationSchema2.optional()
|
|
17035
17265
|
});
|
|
17266
|
+
var mediaPosterSchema = z37.discriminatedUnion("tag", [
|
|
17267
|
+
z37.object({
|
|
17268
|
+
tag: z37.literal("storage"),
|
|
17269
|
+
assetId: z37.string().optional(),
|
|
17270
|
+
storageBucket: z37.string().min(1),
|
|
17271
|
+
storagePath: z37.string().min(1)
|
|
17272
|
+
}),
|
|
17273
|
+
z37.object({
|
|
17274
|
+
tag: z37.literal("external-src"),
|
|
17275
|
+
assetId: z37.string().optional(),
|
|
17276
|
+
src: z37.string().url()
|
|
17277
|
+
})
|
|
17278
|
+
]);
|
|
17036
17279
|
var mediaBaseSchema = z37.object({
|
|
17037
17280
|
purpose: z37.string().optional(),
|
|
17038
17281
|
placeholder: z37.boolean().default(true).optional(),
|
|
@@ -17046,6 +17289,7 @@ var mediaBaseSchema = z37.object({
|
|
|
17046
17289
|
height: z37.number().optional(),
|
|
17047
17290
|
storageBucket: z37.string().optional(),
|
|
17048
17291
|
storagePath: z37.string().optional(),
|
|
17292
|
+
poster: mediaPosterSchema.optional(),
|
|
17049
17293
|
transform: transformSchema2.optional()
|
|
17050
17294
|
});
|
|
17051
17295
|
var imageMediaSchema = mediaBaseSchema.extend({ type: z37.literal("image") });
|
|
@@ -17529,10 +17773,28 @@ import { z as z43 } from "zod";
|
|
|
17529
17773
|
|
|
17530
17774
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
17531
17775
|
import { z as z42 } from "zod";
|
|
17776
|
+
|
|
17777
|
+
// ../blocks/src/system/constants/events.ts
|
|
17778
|
+
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
17779
|
+
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
17780
|
+
var eventCalendarListLayoutOptions = [
|
|
17781
|
+
{ id: "stack", label: "Stack" },
|
|
17782
|
+
{ id: "grid", label: "Grid" },
|
|
17783
|
+
{ id: "compact", label: "Compact" }
|
|
17784
|
+
];
|
|
17785
|
+
function isEventCalendarDisplayMode(value) {
|
|
17786
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
17787
|
+
}
|
|
17788
|
+
function isEventCalendarListLayout(value) {
|
|
17789
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
17790
|
+
}
|
|
17791
|
+
|
|
17792
|
+
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
17532
17793
|
var previewStageSchema = z42.enum(["preview", "published"]);
|
|
17533
17794
|
var registrationButtonVariantSchema = z42.enum(["primary", "secondary", "outline"]);
|
|
17534
17795
|
var eventButtonVariantSchema = z42.enum(["primary", "secondary", "outline", "link"]);
|
|
17535
|
-
var eventLayoutSchema = z42.enum(
|
|
17796
|
+
var eventLayoutSchema = z42.enum(eventCalendarListLayoutValues);
|
|
17797
|
+
var eventCalendarDisplayModeSchema = z42.enum(eventCalendarDisplayModeValues);
|
|
17536
17798
|
var columnOptionSchema = z42.enum(["2", "3", "4"]);
|
|
17537
17799
|
var weekStartSchema = z42.enum(["sunday", "monday"]);
|
|
17538
17800
|
var filterAutoShowSchema = z42.enum(["auto", "always", "never"]);
|
|
@@ -20312,6 +20574,22 @@ function resolveMediaWithCanonicalAsset(value, context) {
|
|
|
20312
20574
|
height: asset.height ?? value.height
|
|
20313
20575
|
};
|
|
20314
20576
|
}
|
|
20577
|
+
function resolveVideoPosterUrl(value, context) {
|
|
20578
|
+
if (value.type !== "video") return void 0;
|
|
20579
|
+
const poster = value.poster;
|
|
20580
|
+
if (!poster) return void 0;
|
|
20581
|
+
switch (poster.tag) {
|
|
20582
|
+
case "external-src":
|
|
20583
|
+
return poster.src;
|
|
20584
|
+
case "storage":
|
|
20585
|
+
return resolveMediaStorageUrl({
|
|
20586
|
+
type: "image",
|
|
20587
|
+
assetId: poster.assetId,
|
|
20588
|
+
storageBucket: poster.storageBucket,
|
|
20589
|
+
storagePath: poster.storagePath
|
|
20590
|
+
}, context);
|
|
20591
|
+
}
|
|
20592
|
+
}
|
|
20315
20593
|
var debugMediaNodeLog = (...args) => {
|
|
20316
20594
|
if (typeof window === "undefined") return;
|
|
20317
20595
|
const debugFlag = Reflect.get(window, "__DEBUG_MEDIA_NODE__");
|
|
@@ -20363,12 +20641,14 @@ function renderVideo(value, className, style, context, options = {}) {
|
|
|
20363
20641
|
const src = resolvePublicMediaUrl(value, context);
|
|
20364
20642
|
if (!src) return null;
|
|
20365
20643
|
if (options.playback === "background") {
|
|
20644
|
+
const poster2 = resolveVideoPosterUrl(value, context);
|
|
20366
20645
|
return /* @__PURE__ */ jsx(
|
|
20367
20646
|
"video",
|
|
20368
20647
|
{
|
|
20369
20648
|
className,
|
|
20370
20649
|
style,
|
|
20371
20650
|
src,
|
|
20651
|
+
...poster2 ? { poster: poster2 } : {},
|
|
20372
20652
|
autoPlay: true,
|
|
20373
20653
|
muted: true,
|
|
20374
20654
|
loop: true,
|
|
@@ -20379,12 +20659,14 @@ function renderVideo(value, className, style, context, options = {}) {
|
|
|
20379
20659
|
}
|
|
20380
20660
|
);
|
|
20381
20661
|
}
|
|
20662
|
+
const poster = resolveVideoPosterUrl(value, context);
|
|
20382
20663
|
return /* @__PURE__ */ jsx(
|
|
20383
20664
|
"video",
|
|
20384
20665
|
{
|
|
20385
20666
|
className,
|
|
20386
20667
|
style,
|
|
20387
20668
|
src,
|
|
20669
|
+
...poster ? { poster } : {},
|
|
20388
20670
|
controls: true,
|
|
20389
20671
|
controlsList: "nodownload",
|
|
20390
20672
|
preload: "metadata",
|
|
@@ -21135,7 +21417,232 @@ function buildEventListingInteractiveIslandProps(props2) {
|
|
|
21135
21417
|
}
|
|
21136
21418
|
|
|
21137
21419
|
// ../blocks/src/system/blocks/events/event-listing.ts
|
|
21138
|
-
var
|
|
21420
|
+
var eventListingAdditionalFields = [
|
|
21421
|
+
...sectionHeaderFields("All Events"),
|
|
21422
|
+
...(() => {
|
|
21423
|
+
const columns = columnsField(["2", "3", "4"]);
|
|
21424
|
+
return [
|
|
21425
|
+
{
|
|
21426
|
+
...layoutField,
|
|
21427
|
+
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
21428
|
+
},
|
|
21429
|
+
{
|
|
21430
|
+
...columns,
|
|
21431
|
+
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
21432
|
+
}
|
|
21433
|
+
];
|
|
21434
|
+
})(),
|
|
21435
|
+
{
|
|
21436
|
+
id: "eventsPerPage",
|
|
21437
|
+
type: "select",
|
|
21438
|
+
label: "Events per page",
|
|
21439
|
+
description: "Number of events to load at a time",
|
|
21440
|
+
required: false,
|
|
21441
|
+
multiple: false,
|
|
21442
|
+
defaultValue: "12",
|
|
21443
|
+
options: [
|
|
21444
|
+
{ value: "3", label: "3 events" },
|
|
21445
|
+
{ value: "6", label: "6 events" },
|
|
21446
|
+
{ value: "12", label: "12 events" },
|
|
21447
|
+
{ value: "24", label: "24 events" }
|
|
21448
|
+
],
|
|
21449
|
+
ui: { intent: "display" }
|
|
21450
|
+
},
|
|
21451
|
+
{
|
|
21452
|
+
id: "paginationMode",
|
|
21453
|
+
type: "select",
|
|
21454
|
+
label: "More events",
|
|
21455
|
+
description: "How to access events beyond the initial list",
|
|
21456
|
+
required: false,
|
|
21457
|
+
multiple: false,
|
|
21458
|
+
defaultValue: "loadMore",
|
|
21459
|
+
options: [
|
|
21460
|
+
{ value: "loadMore", label: "Load more button" },
|
|
21461
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
21462
|
+
],
|
|
21463
|
+
ui: { intent: "display" }
|
|
21464
|
+
},
|
|
21465
|
+
{
|
|
21466
|
+
id: "seeAllUrl",
|
|
21467
|
+
type: "link",
|
|
21468
|
+
label: "See all destination",
|
|
21469
|
+
required: false,
|
|
21470
|
+
ui: {
|
|
21471
|
+
intent: "display",
|
|
21472
|
+
visibleWhen: {
|
|
21473
|
+
field: "paginationMode",
|
|
21474
|
+
equals: "seeAllLink"
|
|
21475
|
+
}
|
|
21476
|
+
}
|
|
21477
|
+
},
|
|
21478
|
+
{
|
|
21479
|
+
id: "loadMoreText",
|
|
21480
|
+
type: "text",
|
|
21481
|
+
label: "Button text",
|
|
21482
|
+
description: "Text for the pagination button or link",
|
|
21483
|
+
required: false,
|
|
21484
|
+
multiline: false,
|
|
21485
|
+
defaultValue: "Load more events",
|
|
21486
|
+
maxLength: 40
|
|
21487
|
+
},
|
|
21488
|
+
...cardStylingFields.map((field) => ({
|
|
21489
|
+
...field,
|
|
21490
|
+
ui: { ...field.ui ?? {}, intent: "style" }
|
|
21491
|
+
})),
|
|
21492
|
+
...eventDisplayFields.map((field) => ({
|
|
21493
|
+
...field,
|
|
21494
|
+
ui: { ...field.ui ?? {}, intent: "display" }
|
|
21495
|
+
})),
|
|
21496
|
+
{
|
|
21497
|
+
id: "kind",
|
|
21498
|
+
type: "select",
|
|
21499
|
+
label: "Show",
|
|
21500
|
+
description: "Choose whether this list shows courses, events, or both",
|
|
21501
|
+
required: false,
|
|
21502
|
+
multiple: false,
|
|
21503
|
+
defaultValue: "all",
|
|
21504
|
+
options: [
|
|
21505
|
+
{ value: "all", label: "Courses and events" },
|
|
21506
|
+
{ value: "courses", label: "Courses only" },
|
|
21507
|
+
{ value: "events", label: "Events only" }
|
|
21508
|
+
],
|
|
21509
|
+
ui: { intent: "behavior" }
|
|
21510
|
+
},
|
|
21511
|
+
{
|
|
21512
|
+
id: "eventSurface",
|
|
21513
|
+
type: "select",
|
|
21514
|
+
label: "Event surface",
|
|
21515
|
+
description: "Choose a semantic event scope",
|
|
21516
|
+
required: false,
|
|
21517
|
+
multiple: false,
|
|
21518
|
+
defaultValue: "all",
|
|
21519
|
+
options: [
|
|
21520
|
+
{ value: "all", label: "All events" },
|
|
21521
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
21522
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
21523
|
+
{ value: "custom", label: "Custom" }
|
|
21524
|
+
],
|
|
21525
|
+
ui: { intent: "behavior" }
|
|
21526
|
+
},
|
|
21527
|
+
{
|
|
21528
|
+
id: "filterEventPresets",
|
|
21529
|
+
type: "select",
|
|
21530
|
+
label: "Pre-filter by event type",
|
|
21531
|
+
description: "Restrict this block to specific event types",
|
|
21532
|
+
required: false,
|
|
21533
|
+
multiple: true,
|
|
21534
|
+
defaultValue: [],
|
|
21535
|
+
options: [
|
|
21536
|
+
{ value: "class", label: "Classes" },
|
|
21537
|
+
{ value: "workshop", label: "Workshops" },
|
|
21538
|
+
{ value: "retreat", label: "Retreats" },
|
|
21539
|
+
{ value: "performance", label: "Performances" }
|
|
21540
|
+
],
|
|
21541
|
+
ui: {
|
|
21542
|
+
intent: "behavior",
|
|
21543
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21544
|
+
}
|
|
21545
|
+
},
|
|
21546
|
+
{
|
|
21547
|
+
id: "scheduleScope",
|
|
21548
|
+
type: "select",
|
|
21549
|
+
label: "Schedule cadence",
|
|
21550
|
+
description: "Restrict this block by recurrence",
|
|
21551
|
+
required: false,
|
|
21552
|
+
multiple: false,
|
|
21553
|
+
defaultValue: "any",
|
|
21554
|
+
options: [
|
|
21555
|
+
{ value: "any", label: "Any cadence" },
|
|
21556
|
+
{ value: "recurring", label: "Recurring only" },
|
|
21557
|
+
{ value: "oneOff", label: "One-off only" }
|
|
21558
|
+
],
|
|
21559
|
+
ui: {
|
|
21560
|
+
intent: "behavior",
|
|
21561
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21562
|
+
}
|
|
21563
|
+
},
|
|
21564
|
+
{
|
|
21565
|
+
...emptyStateField,
|
|
21566
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
21567
|
+
},
|
|
21568
|
+
sectionStylesField({
|
|
21569
|
+
id: "_sectionStyles",
|
|
21570
|
+
label: "Section styles",
|
|
21571
|
+
renderInHeader: false
|
|
21572
|
+
})
|
|
21573
|
+
];
|
|
21574
|
+
var eventListingLayout = [
|
|
21575
|
+
styledSection({
|
|
21576
|
+
children: sectionContainer([
|
|
21577
|
+
// Optional heading
|
|
21578
|
+
text(
|
|
21579
|
+
{ as: "h2" },
|
|
21580
|
+
bind("content.heading"),
|
|
21581
|
+
when("content.heading")
|
|
21582
|
+
),
|
|
21583
|
+
// Optional description
|
|
21584
|
+
richText(
|
|
21585
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
21586
|
+
bind("content.description"),
|
|
21587
|
+
when("content.description")
|
|
21588
|
+
),
|
|
21589
|
+
// Event listing component with pagination
|
|
21590
|
+
el("event-listing", withApiBindings({
|
|
21591
|
+
events: { $bind: { from: "data.events" } },
|
|
21592
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
21593
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
21594
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
21595
|
+
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
21596
|
+
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
21597
|
+
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
21598
|
+
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
21599
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
21600
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
21601
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
21602
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
21603
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
21604
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
21605
|
+
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
21606
|
+
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
21607
|
+
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
21608
|
+
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
21609
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
21610
|
+
}))
|
|
21611
|
+
], {
|
|
21612
|
+
gap: "lg"
|
|
21613
|
+
}),
|
|
21614
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
21615
|
+
baseClass: "",
|
|
21616
|
+
spacing: "comfortable"
|
|
21617
|
+
})
|
|
21618
|
+
];
|
|
21619
|
+
var eventListingDerivedFields = [
|
|
21620
|
+
{
|
|
21621
|
+
id: "layout",
|
|
21622
|
+
type: "select",
|
|
21623
|
+
required: false,
|
|
21624
|
+
multiple: false,
|
|
21625
|
+
options: [
|
|
21626
|
+
{ value: "grid" },
|
|
21627
|
+
{ value: "stack" }
|
|
21628
|
+
]
|
|
21629
|
+
},
|
|
21630
|
+
{
|
|
21631
|
+
id: "paginationMode",
|
|
21632
|
+
type: "select",
|
|
21633
|
+
required: false,
|
|
21634
|
+
multiple: false,
|
|
21635
|
+
options: [
|
|
21636
|
+
{ value: "loadMore" },
|
|
21637
|
+
{ value: "seeAllLink" }
|
|
21638
|
+
]
|
|
21639
|
+
}
|
|
21640
|
+
];
|
|
21641
|
+
var eventListingContentShape = {
|
|
21642
|
+
additionalFields: eventListingDerivedFields,
|
|
21643
|
+
skipSectionStyles: true
|
|
21644
|
+
};
|
|
21645
|
+
var eventListingConfig = {
|
|
21139
21646
|
id: "block.event-listing",
|
|
21140
21647
|
version: "1.1.0",
|
|
21141
21648
|
title: "Event Listing",
|
|
@@ -21143,211 +21650,18 @@ var eventListingManifest = createBlockManifest({
|
|
|
21143
21650
|
description: "Paginated list of all upcoming events",
|
|
21144
21651
|
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
21145
21652
|
skipSectionStyles: true,
|
|
21146
|
-
additionalFields:
|
|
21147
|
-
...sectionHeaderFields("All Events"),
|
|
21148
|
-
...(() => {
|
|
21149
|
-
const columns = columnsField(["2", "3", "4"]);
|
|
21150
|
-
return [
|
|
21151
|
-
{
|
|
21152
|
-
...layoutField,
|
|
21153
|
-
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
21154
|
-
},
|
|
21155
|
-
{
|
|
21156
|
-
...columns,
|
|
21157
|
-
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
21158
|
-
}
|
|
21159
|
-
];
|
|
21160
|
-
})(),
|
|
21161
|
-
{
|
|
21162
|
-
id: "eventsPerPage",
|
|
21163
|
-
type: "select",
|
|
21164
|
-
label: "Events per page",
|
|
21165
|
-
description: "Number of events to load at a time",
|
|
21166
|
-
required: false,
|
|
21167
|
-
multiple: false,
|
|
21168
|
-
defaultValue: "12",
|
|
21169
|
-
options: [
|
|
21170
|
-
{ value: "3", label: "3 events" },
|
|
21171
|
-
{ value: "6", label: "6 events" },
|
|
21172
|
-
{ value: "12", label: "12 events" },
|
|
21173
|
-
{ value: "24", label: "24 events" }
|
|
21174
|
-
],
|
|
21175
|
-
ui: { intent: "display" }
|
|
21176
|
-
},
|
|
21177
|
-
{
|
|
21178
|
-
id: "paginationMode",
|
|
21179
|
-
type: "select",
|
|
21180
|
-
label: "More events",
|
|
21181
|
-
description: "How to access events beyond the initial list",
|
|
21182
|
-
required: false,
|
|
21183
|
-
multiple: false,
|
|
21184
|
-
defaultValue: "loadMore",
|
|
21185
|
-
options: [
|
|
21186
|
-
{ value: "loadMore", label: "Load more button" },
|
|
21187
|
-
{ value: "seeAllLink", label: "Link to another page" }
|
|
21188
|
-
],
|
|
21189
|
-
ui: { intent: "display" }
|
|
21190
|
-
},
|
|
21191
|
-
{
|
|
21192
|
-
id: "seeAllUrl",
|
|
21193
|
-
type: "link",
|
|
21194
|
-
label: "See all destination",
|
|
21195
|
-
required: false,
|
|
21196
|
-
ui: {
|
|
21197
|
-
intent: "display",
|
|
21198
|
-
visibleWhen: {
|
|
21199
|
-
field: "paginationMode",
|
|
21200
|
-
equals: "seeAllLink"
|
|
21201
|
-
}
|
|
21202
|
-
}
|
|
21203
|
-
},
|
|
21204
|
-
{
|
|
21205
|
-
id: "loadMoreText",
|
|
21206
|
-
type: "text",
|
|
21207
|
-
label: "Button text",
|
|
21208
|
-
description: "Text for the pagination button or link",
|
|
21209
|
-
required: false,
|
|
21210
|
-
multiline: false,
|
|
21211
|
-
defaultValue: "Load more events",
|
|
21212
|
-
maxLength: 40
|
|
21213
|
-
},
|
|
21214
|
-
...cardStylingFields.map((field) => ({
|
|
21215
|
-
...field,
|
|
21216
|
-
ui: { ...field.ui ?? {}, intent: "style" }
|
|
21217
|
-
})),
|
|
21218
|
-
...eventDisplayFields.map((field) => ({
|
|
21219
|
-
...field,
|
|
21220
|
-
ui: { ...field.ui ?? {}, intent: "display" }
|
|
21221
|
-
})),
|
|
21222
|
-
{
|
|
21223
|
-
id: "kind",
|
|
21224
|
-
type: "select",
|
|
21225
|
-
label: "Show",
|
|
21226
|
-
description: "Choose whether this list shows courses, events, or both",
|
|
21227
|
-
required: false,
|
|
21228
|
-
multiple: false,
|
|
21229
|
-
defaultValue: "all",
|
|
21230
|
-
options: [
|
|
21231
|
-
{ value: "all", label: "Courses and events" },
|
|
21232
|
-
{ value: "courses", label: "Courses only" },
|
|
21233
|
-
{ value: "events", label: "Events only" }
|
|
21234
|
-
],
|
|
21235
|
-
ui: { intent: "behavior" }
|
|
21236
|
-
},
|
|
21237
|
-
{
|
|
21238
|
-
id: "eventSurface",
|
|
21239
|
-
type: "select",
|
|
21240
|
-
label: "Event surface",
|
|
21241
|
-
description: "Choose a semantic event scope",
|
|
21242
|
-
required: false,
|
|
21243
|
-
multiple: false,
|
|
21244
|
-
defaultValue: "all",
|
|
21245
|
-
options: [
|
|
21246
|
-
{ value: "all", label: "All events" },
|
|
21247
|
-
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
21248
|
-
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
21249
|
-
{ value: "custom", label: "Custom" }
|
|
21250
|
-
],
|
|
21251
|
-
ui: { intent: "behavior" }
|
|
21252
|
-
},
|
|
21253
|
-
{
|
|
21254
|
-
id: "filterEventPresets",
|
|
21255
|
-
type: "select",
|
|
21256
|
-
label: "Pre-filter by event type",
|
|
21257
|
-
description: "Restrict this block to specific event types",
|
|
21258
|
-
required: false,
|
|
21259
|
-
multiple: true,
|
|
21260
|
-
defaultValue: [],
|
|
21261
|
-
options: [
|
|
21262
|
-
{ value: "class", label: "Classes" },
|
|
21263
|
-
{ value: "workshop", label: "Workshops" },
|
|
21264
|
-
{ value: "retreat", label: "Retreats" },
|
|
21265
|
-
{ value: "performance", label: "Performances" }
|
|
21266
|
-
],
|
|
21267
|
-
ui: {
|
|
21268
|
-
intent: "behavior",
|
|
21269
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21270
|
-
}
|
|
21271
|
-
},
|
|
21272
|
-
{
|
|
21273
|
-
id: "scheduleScope",
|
|
21274
|
-
type: "select",
|
|
21275
|
-
label: "Schedule cadence",
|
|
21276
|
-
description: "Restrict this block by recurrence",
|
|
21277
|
-
required: false,
|
|
21278
|
-
multiple: false,
|
|
21279
|
-
defaultValue: "any",
|
|
21280
|
-
options: [
|
|
21281
|
-
{ value: "any", label: "Any cadence" },
|
|
21282
|
-
{ value: "recurring", label: "Recurring only" },
|
|
21283
|
-
{ value: "oneOff", label: "One-off only" }
|
|
21284
|
-
],
|
|
21285
|
-
ui: {
|
|
21286
|
-
intent: "behavior",
|
|
21287
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21288
|
-
}
|
|
21289
|
-
},
|
|
21290
|
-
{
|
|
21291
|
-
...emptyStateField,
|
|
21292
|
-
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
21293
|
-
},
|
|
21294
|
-
sectionStylesField({
|
|
21295
|
-
id: "_sectionStyles",
|
|
21296
|
-
label: "Section styles",
|
|
21297
|
-
renderInHeader: false
|
|
21298
|
-
})
|
|
21299
|
-
],
|
|
21653
|
+
additionalFields: eventListingAdditionalFields,
|
|
21300
21654
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
21301
21655
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: true },
|
|
21302
21656
|
category: "interactive",
|
|
21303
21657
|
tags: ["events", "listing", "paginated", "archive", "all-events"],
|
|
21304
21658
|
icon: "List",
|
|
21305
|
-
layout:
|
|
21306
|
-
|
|
21307
|
-
|
|
21308
|
-
|
|
21309
|
-
|
|
21310
|
-
|
|
21311
|
-
bind("content.heading"),
|
|
21312
|
-
when("content.heading")
|
|
21313
|
-
),
|
|
21314
|
-
// Optional description
|
|
21315
|
-
richText(
|
|
21316
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
21317
|
-
bind("content.description"),
|
|
21318
|
-
when("content.description")
|
|
21319
|
-
),
|
|
21320
|
-
// Event listing component with pagination
|
|
21321
|
-
el("event-listing", withApiBindings({
|
|
21322
|
-
events: { $bind: { from: "data.events" } },
|
|
21323
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
21324
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
21325
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
21326
|
-
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
21327
|
-
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
21328
|
-
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
21329
|
-
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
21330
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
21331
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
21332
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
21333
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
21334
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
21335
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
21336
|
-
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
21337
|
-
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
21338
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
21339
|
-
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
21340
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
21341
|
-
}))
|
|
21342
|
-
], {
|
|
21343
|
-
gap: "lg"
|
|
21344
|
-
}),
|
|
21345
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
21346
|
-
baseClass: "",
|
|
21347
|
-
spacing: "comfortable"
|
|
21348
|
-
})
|
|
21349
|
-
]
|
|
21350
|
-
});
|
|
21659
|
+
layout: eventListingLayout
|
|
21660
|
+
};
|
|
21661
|
+
var eventListingManifest = createBlockManifestWithContentShape(
|
|
21662
|
+
eventListingConfig,
|
|
21663
|
+
eventListingContentShape
|
|
21664
|
+
);
|
|
21351
21665
|
var eventListingBlockDefinition = {
|
|
21352
21666
|
manifest: eventListingManifest,
|
|
21353
21667
|
runtime: eventListingBlockRuntime,
|
|
@@ -21374,7 +21688,6 @@ var eventListingBlockDefinition = {
|
|
|
21374
21688
|
|
|
21375
21689
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
21376
21690
|
import { z as z49 } from "zod";
|
|
21377
|
-
var displayModeSchema = z49.enum(["combined", "month", "week", "list", "timetable"]);
|
|
21378
21691
|
var eventBlockKindSchema2 = z49.enum(eventBlockKindValues);
|
|
21379
21692
|
var eventSurfaceScopeSchema2 = z49.enum(eventSurfaceScopeValues);
|
|
21380
21693
|
var eventScheduleScopeSchema3 = z49.enum(eventScheduleScopeValues);
|
|
@@ -21384,7 +21697,8 @@ var eventCalendarSourceSchema = z49.object(
|
|
|
21384
21697
|
siteId: z49.string(),
|
|
21385
21698
|
apiBaseUrl: z49.string().optional(),
|
|
21386
21699
|
stage: previewStageSchema.optional(),
|
|
21387
|
-
|
|
21700
|
+
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
21701
|
+
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
21388
21702
|
listLayout: eventLayoutSchema.optional(),
|
|
21389
21703
|
listColumns: columnOptionSchema.optional(),
|
|
21390
21704
|
layout: eventLayoutSchema.optional(),
|
|
@@ -21416,7 +21730,7 @@ var eventCalendarSourceSchema = z49.object(
|
|
|
21416
21730
|
);
|
|
21417
21731
|
var eventCalendarDisplaySchema = z49.object({
|
|
21418
21732
|
kind: z49.literal("event-calendar"),
|
|
21419
|
-
displayMode:
|
|
21733
|
+
displayMode: eventCalendarDisplayModeSchema,
|
|
21420
21734
|
className: z49.string().nullable(),
|
|
21421
21735
|
events: z49.array(publicEventSchema),
|
|
21422
21736
|
listLayout: eventLayoutSchema,
|
|
@@ -21471,7 +21785,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
21471
21785
|
function buildEventCalendarDisplay(source) {
|
|
21472
21786
|
return {
|
|
21473
21787
|
kind: "event-calendar",
|
|
21474
|
-
displayMode: source.displayMode ?? "combined",
|
|
21788
|
+
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
21475
21789
|
className: source.className ?? null,
|
|
21476
21790
|
events: (source.events ?? []).slice().sort(
|
|
21477
21791
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
@@ -21571,8 +21885,12 @@ function buildEventCalendarInteractiveIslandProps(props2) {
|
|
|
21571
21885
|
function normalizeEventCalendarContent(content) {
|
|
21572
21886
|
const record = typeof content === "object" && content !== null ? content : {};
|
|
21573
21887
|
const kind = normalizeEventBlockKind(record.kind);
|
|
21888
|
+
const variant = normalizeEventCalendarDisplayMode(record.variant) ?? normalizeEventCalendarDisplayMode(record.displayMode);
|
|
21574
21889
|
return {
|
|
21575
21890
|
...record,
|
|
21891
|
+
...variant ? { variant } : {},
|
|
21892
|
+
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
21893
|
+
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
21576
21894
|
kind,
|
|
21577
21895
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
21578
21896
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -21584,355 +21902,515 @@ function normalizeEventCalendarContent(content) {
|
|
|
21584
21902
|
filterVenueId: normalizeEventVenueId(record.filterVenueId)
|
|
21585
21903
|
};
|
|
21586
21904
|
}
|
|
21587
|
-
|
|
21588
|
-
|
|
21589
|
-
|
|
21590
|
-
|
|
21591
|
-
|
|
21592
|
-
|
|
21593
|
-
|
|
21594
|
-
|
|
21595
|
-
|
|
21596
|
-
|
|
21597
|
-
|
|
21598
|
-
|
|
21599
|
-
|
|
21600
|
-
|
|
21601
|
-
|
|
21602
|
-
|
|
21603
|
-
|
|
21604
|
-
|
|
21605
|
-
|
|
21606
|
-
|
|
21607
|
-
|
|
21608
|
-
|
|
21609
|
-
|
|
21610
|
-
|
|
21611
|
-
|
|
21612
|
-
|
|
21613
|
-
|
|
21614
|
-
|
|
21615
|
-
|
|
21616
|
-
|
|
21617
|
-
|
|
21618
|
-
|
|
21619
|
-
|
|
21620
|
-
|
|
21621
|
-
|
|
21622
|
-
|
|
21623
|
-
|
|
21624
|
-
|
|
21625
|
-
|
|
21626
|
-
|
|
21627
|
-
|
|
21628
|
-
|
|
21629
|
-
|
|
21630
|
-
|
|
21631
|
-
|
|
21632
|
-
|
|
21633
|
-
|
|
21634
|
-
|
|
21635
|
-
|
|
21636
|
-
|
|
21637
|
-
|
|
21638
|
-
|
|
21639
|
-
|
|
21640
|
-
|
|
21641
|
-
|
|
21642
|
-
|
|
21643
|
-
|
|
21644
|
-
|
|
21645
|
-
|
|
21646
|
-
|
|
21647
|
-
|
|
21648
|
-
|
|
21649
|
-
|
|
21650
|
-
|
|
21651
|
-
|
|
21652
|
-
|
|
21653
|
-
|
|
21654
|
-
|
|
21655
|
-
|
|
21656
|
-
|
|
21657
|
-
|
|
21658
|
-
|
|
21659
|
-
|
|
21660
|
-
|
|
21661
|
-
|
|
21662
|
-
|
|
21663
|
-
|
|
21664
|
-
|
|
21665
|
-
|
|
21666
|
-
|
|
21667
|
-
|
|
21668
|
-
|
|
21669
|
-
|
|
21670
|
-
|
|
21671
|
-
|
|
21672
|
-
|
|
21673
|
-
|
|
21674
|
-
|
|
21675
|
-
|
|
21676
|
-
|
|
21677
|
-
|
|
21678
|
-
|
|
21679
|
-
|
|
21680
|
-
|
|
21681
|
-
|
|
21682
|
-
|
|
21683
|
-
|
|
21684
|
-
|
|
21685
|
-
|
|
21686
|
-
|
|
21687
|
-
|
|
21688
|
-
|
|
21689
|
-
id: "loadMoreText",
|
|
21690
|
-
type: "text",
|
|
21691
|
-
label: "Load more button text",
|
|
21692
|
-
description: "Text for the load more button",
|
|
21693
|
-
required: false,
|
|
21694
|
-
multiline: false,
|
|
21695
|
-
defaultValue: "Load more events",
|
|
21696
|
-
ui: {
|
|
21697
|
-
intent: "content",
|
|
21698
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list"] }
|
|
21699
|
-
}
|
|
21700
|
-
},
|
|
21701
|
-
// Calendar options
|
|
21702
|
-
{
|
|
21703
|
-
id: "startOfWeek",
|
|
21704
|
-
type: "select",
|
|
21705
|
-
label: "Week starts on",
|
|
21706
|
-
description: "First day of the week",
|
|
21707
|
-
required: false,
|
|
21708
|
-
multiple: false,
|
|
21709
|
-
defaultValue: "monday",
|
|
21710
|
-
options: [
|
|
21711
|
-
{ value: "sunday", label: "Sunday" },
|
|
21712
|
-
{ value: "monday", label: "Monday" }
|
|
21713
|
-
],
|
|
21714
|
-
ui: {
|
|
21715
|
-
intent: "display",
|
|
21716
|
-
visibleWhen: {
|
|
21717
|
-
field: "displayMode",
|
|
21718
|
-
oneOf: ["combined", "month", "week"]
|
|
21719
|
-
}
|
|
21720
|
-
}
|
|
21721
|
-
},
|
|
21722
|
-
// Combined mode options
|
|
21723
|
-
{
|
|
21724
|
-
id: "calendarTabViews",
|
|
21725
|
-
type: "select",
|
|
21726
|
-
label: "Calendar tab views",
|
|
21727
|
-
description: "Which calendar views to show in the Calendar tab",
|
|
21728
|
-
required: false,
|
|
21729
|
-
multiple: false,
|
|
21730
|
-
defaultValue: "both",
|
|
21731
|
-
options: [
|
|
21732
|
-
{ value: "both", label: "Month + Week toggle" },
|
|
21733
|
-
{ value: "month", label: "Month only" },
|
|
21734
|
-
{ value: "week", label: "Week only" }
|
|
21735
|
-
],
|
|
21736
|
-
ui: {
|
|
21737
|
-
intent: "display",
|
|
21738
|
-
visibleWhen: { field: "displayMode", equals: "combined" }
|
|
21739
|
-
}
|
|
21740
|
-
},
|
|
21741
|
-
// Filtering options
|
|
21742
|
-
{
|
|
21743
|
-
id: "kind",
|
|
21744
|
-
type: "select",
|
|
21745
|
-
label: "Show",
|
|
21746
|
-
description: "Restrict this block to all offerings, courses, or events",
|
|
21747
|
-
required: false,
|
|
21748
|
-
multiple: false,
|
|
21749
|
-
defaultValue: "all",
|
|
21750
|
-
options: [
|
|
21751
|
-
{ value: "all", label: "All offerings" },
|
|
21752
|
-
{ value: "courses", label: "Courses only" },
|
|
21753
|
-
{ value: "events", label: "Events only" }
|
|
21754
|
-
],
|
|
21755
|
-
ui: { intent: "behavior" }
|
|
21756
|
-
},
|
|
21757
|
-
{
|
|
21758
|
-
id: "showFilters",
|
|
21759
|
-
type: "boolean",
|
|
21760
|
-
label: "Show filters",
|
|
21761
|
-
description: "Show category, staff, and venue filters",
|
|
21762
|
-
required: false,
|
|
21763
|
-
defaultValue: true,
|
|
21764
|
-
ui: {
|
|
21765
|
-
intent: "display",
|
|
21766
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21767
|
-
}
|
|
21768
|
-
},
|
|
21769
|
-
{
|
|
21770
|
-
id: "showCategoryFilter",
|
|
21771
|
-
type: "select",
|
|
21772
|
-
label: "Show category filter",
|
|
21773
|
-
description: "When to show the category filter dropdown",
|
|
21774
|
-
required: false,
|
|
21775
|
-
multiple: false,
|
|
21776
|
-
defaultValue: "auto",
|
|
21777
|
-
options: [
|
|
21778
|
-
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
21779
|
-
{ value: "always", label: "Always" },
|
|
21780
|
-
{ value: "never", label: "Never" }
|
|
21905
|
+
function normalizeEventCalendarDisplayMode(value) {
|
|
21906
|
+
return isEventCalendarDisplayMode(value) ? value : void 0;
|
|
21907
|
+
}
|
|
21908
|
+
function normalizeEventCalendarListLayout(value) {
|
|
21909
|
+
return isEventCalendarListLayout(value) ? value : void 0;
|
|
21910
|
+
}
|
|
21911
|
+
var eventCalendarLayout = [
|
|
21912
|
+
styledSection({
|
|
21913
|
+
children: sectionContainer(
|
|
21914
|
+
[
|
|
21915
|
+
// Optional heading
|
|
21916
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
21917
|
+
// Optional description
|
|
21918
|
+
richText(
|
|
21919
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
21920
|
+
bind("content.description"),
|
|
21921
|
+
when("content.description")
|
|
21922
|
+
),
|
|
21923
|
+
// Event calendar component (handles all display modes)
|
|
21924
|
+
el(
|
|
21925
|
+
"event-calendar",
|
|
21926
|
+
withApiBindings({
|
|
21927
|
+
events: { $bind: { from: "data.events" } },
|
|
21928
|
+
stage: {
|
|
21929
|
+
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
21930
|
+
},
|
|
21931
|
+
// Variant is the new Theme V2-facing display mode. displayMode is
|
|
21932
|
+
// retained as a legacy fallback for existing content.
|
|
21933
|
+
variant: {
|
|
21934
|
+
$bind: { from: "content.variant" }
|
|
21935
|
+
},
|
|
21936
|
+
displayMode: {
|
|
21937
|
+
$bind: { from: "content.displayMode" }
|
|
21938
|
+
},
|
|
21939
|
+
// List options
|
|
21940
|
+
listLayout: { $bind: { from: "content.listLayout" } },
|
|
21941
|
+
listColumns: { $bind: { from: "content.listColumns" } },
|
|
21942
|
+
// Legacy compatibility: older event-calendar content used layout/columns
|
|
21943
|
+
layout: { $bind: { from: "content.layout" } },
|
|
21944
|
+
columns: { $bind: { from: "content.columns" } },
|
|
21945
|
+
eventsPerPage: {
|
|
21946
|
+
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
21947
|
+
},
|
|
21948
|
+
compactEventsPerPage: {
|
|
21949
|
+
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
21950
|
+
},
|
|
21951
|
+
loadMoreText: {
|
|
21952
|
+
$bind: {
|
|
21953
|
+
from: "content.loadMoreText",
|
|
21954
|
+
fallback: "Load more events"
|
|
21955
|
+
}
|
|
21956
|
+
},
|
|
21957
|
+
// Calendar options
|
|
21958
|
+
startOfWeek: {
|
|
21959
|
+
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
21960
|
+
},
|
|
21961
|
+
calendarTabViews: {
|
|
21962
|
+
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
21963
|
+
},
|
|
21964
|
+
// Filtering options
|
|
21965
|
+
showFilters: {
|
|
21966
|
+
$bind: { from: "content.showFilters", fallback: true }
|
|
21967
|
+
},
|
|
21968
|
+
showCategoryFilter: {
|
|
21969
|
+
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
21970
|
+
},
|
|
21971
|
+
showVenueFilter: {
|
|
21972
|
+
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
21973
|
+
},
|
|
21974
|
+
showStaffFilter: {
|
|
21975
|
+
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
21976
|
+
},
|
|
21977
|
+
showCapacity: {
|
|
21978
|
+
$bind: { from: "content.showCapacity", fallback: true }
|
|
21979
|
+
},
|
|
21980
|
+
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
21981
|
+
eventSurface: {
|
|
21982
|
+
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
21983
|
+
},
|
|
21984
|
+
filterEventPresets: {
|
|
21985
|
+
$bind: { from: "content.filterEventPresets" }
|
|
21986
|
+
},
|
|
21987
|
+
scheduleScope: {
|
|
21988
|
+
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
21989
|
+
},
|
|
21990
|
+
filterCategoryIds: {
|
|
21991
|
+
$bind: { from: "content.filterCategoryIds" }
|
|
21992
|
+
},
|
|
21993
|
+
filterStaffMemberId: {
|
|
21994
|
+
$bind: { from: "content.filterStaffMemberId" }
|
|
21995
|
+
},
|
|
21996
|
+
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
21997
|
+
// Styling
|
|
21998
|
+
buttonVariant: {
|
|
21999
|
+
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
22000
|
+
},
|
|
22001
|
+
buttonText: {
|
|
22002
|
+
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
22003
|
+
},
|
|
22004
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22005
|
+
})
|
|
22006
|
+
)
|
|
21781
22007
|
],
|
|
21782
|
-
|
|
21783
|
-
|
|
21784
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21785
|
-
}
|
|
21786
|
-
},
|
|
21787
|
-
{
|
|
21788
|
-
id: "showVenueFilter",
|
|
21789
|
-
type: "boolean",
|
|
21790
|
-
label: "Show venue filter",
|
|
21791
|
-
description: "Show venue filter dropdown",
|
|
21792
|
-
required: false,
|
|
21793
|
-
defaultValue: false,
|
|
21794
|
-
ui: {
|
|
21795
|
-
intent: "display",
|
|
21796
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21797
|
-
}
|
|
21798
|
-
},
|
|
21799
|
-
{
|
|
21800
|
-
id: "showStaffFilter",
|
|
21801
|
-
type: "boolean",
|
|
21802
|
-
label: "Show staff filter",
|
|
21803
|
-
description: "Show staff filter dropdown",
|
|
21804
|
-
required: false,
|
|
21805
|
-
defaultValue: true,
|
|
21806
|
-
ui: {
|
|
21807
|
-
intent: "display",
|
|
21808
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21809
|
-
}
|
|
21810
|
-
},
|
|
21811
|
-
{
|
|
21812
|
-
id: "showCapacity",
|
|
21813
|
-
type: "boolean",
|
|
21814
|
-
label: "Show available spots",
|
|
21815
|
-
description: "Display remaining capacity on event cards and timetable cells",
|
|
21816
|
-
required: false,
|
|
21817
|
-
defaultValue: true,
|
|
21818
|
-
ui: {
|
|
21819
|
-
intent: "display",
|
|
21820
|
-
visibleWhen: {
|
|
21821
|
-
field: "displayMode",
|
|
21822
|
-
oneOf: ["combined", "list", "week", "timetable"]
|
|
21823
|
-
}
|
|
22008
|
+
{
|
|
22009
|
+
gap: "lg"
|
|
21824
22010
|
}
|
|
21825
|
-
|
|
21826
|
-
//
|
|
21827
|
-
|
|
21828
|
-
|
|
21829
|
-
|
|
21830
|
-
|
|
21831
|
-
|
|
21832
|
-
|
|
21833
|
-
|
|
21834
|
-
|
|
21835
|
-
|
|
21836
|
-
|
|
21837
|
-
|
|
21838
|
-
|
|
21839
|
-
|
|
21840
|
-
|
|
21841
|
-
|
|
21842
|
-
|
|
21843
|
-
|
|
21844
|
-
|
|
21845
|
-
|
|
21846
|
-
|
|
21847
|
-
|
|
21848
|
-
|
|
21849
|
-
|
|
21850
|
-
|
|
21851
|
-
|
|
21852
|
-
|
|
21853
|
-
|
|
21854
|
-
|
|
21855
|
-
|
|
21856
|
-
|
|
21857
|
-
|
|
21858
|
-
|
|
21859
|
-
|
|
22011
|
+
),
|
|
22012
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
22013
|
+
baseClass: "",
|
|
22014
|
+
spacing: "comfortable"
|
|
22015
|
+
})
|
|
22016
|
+
];
|
|
22017
|
+
var eventCalendarAdditionalFields = [
|
|
22018
|
+
...sectionHeaderFields("Event Calendar"),
|
|
22019
|
+
// Display Mode (replaces calendarView)
|
|
22020
|
+
{
|
|
22021
|
+
id: "displayMode",
|
|
22022
|
+
type: "select",
|
|
22023
|
+
label: "Display mode",
|
|
22024
|
+
description: "How events are displayed",
|
|
22025
|
+
required: false,
|
|
22026
|
+
multiple: false,
|
|
22027
|
+
defaultValue: "combined",
|
|
22028
|
+
options: [
|
|
22029
|
+
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
22030
|
+
{ value: "month", label: "Month calendar" },
|
|
22031
|
+
{ value: "week", label: "Week agenda" },
|
|
22032
|
+
{ value: "timetable", label: "Timetable" },
|
|
22033
|
+
{ value: "list", label: "List" }
|
|
22034
|
+
],
|
|
22035
|
+
ui: { intent: "display", hidden: true }
|
|
22036
|
+
},
|
|
22037
|
+
// List options (visible when displayMode is list or combined)
|
|
22038
|
+
{
|
|
22039
|
+
id: "listLayout",
|
|
22040
|
+
type: "select",
|
|
22041
|
+
label: "List layout",
|
|
22042
|
+
description: "Layout style for list view",
|
|
22043
|
+
required: false,
|
|
22044
|
+
multiple: false,
|
|
22045
|
+
defaultValue: "stack",
|
|
22046
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
22047
|
+
value: option.id,
|
|
22048
|
+
label: option.label
|
|
22049
|
+
})),
|
|
22050
|
+
ui: {
|
|
22051
|
+
intent: "display",
|
|
22052
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
22053
|
+
}
|
|
22054
|
+
},
|
|
22055
|
+
{
|
|
22056
|
+
id: "listColumns",
|
|
22057
|
+
type: "select",
|
|
22058
|
+
label: "Grid columns",
|
|
22059
|
+
description: "Number of columns in grid layout",
|
|
22060
|
+
required: false,
|
|
22061
|
+
multiple: false,
|
|
22062
|
+
defaultValue: "3",
|
|
22063
|
+
options: [
|
|
22064
|
+
{ value: "2", label: "2 columns" },
|
|
22065
|
+
{ value: "3", label: "3 columns" },
|
|
22066
|
+
{ value: "4", label: "4 columns" }
|
|
22067
|
+
],
|
|
22068
|
+
ui: {
|
|
22069
|
+
intent: "display",
|
|
22070
|
+
visibleWhen: { field: "listLayout", equals: "grid" }
|
|
22071
|
+
}
|
|
22072
|
+
},
|
|
22073
|
+
{
|
|
22074
|
+
id: "eventsPerPage",
|
|
22075
|
+
type: "select",
|
|
22076
|
+
label: "Events per page (cards)",
|
|
22077
|
+
description: "Number of events to load initially in card layouts",
|
|
22078
|
+
required: false,
|
|
22079
|
+
multiple: false,
|
|
22080
|
+
defaultValue: "12",
|
|
22081
|
+
options: [
|
|
22082
|
+
{ value: "6", label: "6" },
|
|
22083
|
+
{ value: "12", label: "12" },
|
|
22084
|
+
{ value: "24", label: "24" }
|
|
22085
|
+
],
|
|
22086
|
+
ui: {
|
|
22087
|
+
intent: "display",
|
|
22088
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
22089
|
+
}
|
|
22090
|
+
},
|
|
22091
|
+
{
|
|
22092
|
+
id: "compactEventsPerPage",
|
|
22093
|
+
type: "select",
|
|
22094
|
+
label: "Events per page (compact)",
|
|
22095
|
+
description: "Number of events to show per page in compact layout",
|
|
22096
|
+
required: false,
|
|
22097
|
+
multiple: false,
|
|
22098
|
+
defaultValue: "10",
|
|
22099
|
+
options: [
|
|
22100
|
+
{ value: "10", label: "10" },
|
|
22101
|
+
{ value: "20", label: "20" },
|
|
22102
|
+
{ value: "30", label: "30" }
|
|
22103
|
+
],
|
|
22104
|
+
ui: {
|
|
22105
|
+
intent: "display",
|
|
22106
|
+
visibleWhen: { field: "listLayout", equals: "compact" }
|
|
22107
|
+
}
|
|
22108
|
+
},
|
|
22109
|
+
{
|
|
22110
|
+
id: "loadMoreText",
|
|
22111
|
+
type: "text",
|
|
22112
|
+
label: "Load more button text",
|
|
22113
|
+
description: "Text for the load more button",
|
|
22114
|
+
required: false,
|
|
22115
|
+
multiline: false,
|
|
22116
|
+
defaultValue: "Load more events",
|
|
22117
|
+
ui: {
|
|
22118
|
+
intent: "content",
|
|
22119
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
22120
|
+
}
|
|
22121
|
+
},
|
|
22122
|
+
// Calendar options
|
|
22123
|
+
{
|
|
22124
|
+
id: "startOfWeek",
|
|
22125
|
+
type: "select",
|
|
22126
|
+
label: "Week starts on",
|
|
22127
|
+
description: "First day of the week",
|
|
22128
|
+
required: false,
|
|
22129
|
+
multiple: false,
|
|
22130
|
+
defaultValue: "monday",
|
|
22131
|
+
options: [
|
|
22132
|
+
{ value: "sunday", label: "Sunday" },
|
|
22133
|
+
{ value: "monday", label: "Monday" }
|
|
22134
|
+
],
|
|
22135
|
+
ui: {
|
|
22136
|
+
intent: "display",
|
|
22137
|
+
visibleWhen: {
|
|
22138
|
+
field: "variant",
|
|
22139
|
+
oneOf: ["combined", "month", "week"]
|
|
21860
22140
|
}
|
|
21861
|
-
}
|
|
21862
|
-
|
|
21863
|
-
|
|
21864
|
-
|
|
21865
|
-
|
|
21866
|
-
|
|
21867
|
-
|
|
21868
|
-
|
|
21869
|
-
|
|
21870
|
-
|
|
21871
|
-
|
|
21872
|
-
|
|
21873
|
-
|
|
21874
|
-
|
|
21875
|
-
|
|
21876
|
-
|
|
21877
|
-
|
|
22141
|
+
}
|
|
22142
|
+
},
|
|
22143
|
+
// Combined mode options
|
|
22144
|
+
{
|
|
22145
|
+
id: "calendarTabViews",
|
|
22146
|
+
type: "select",
|
|
22147
|
+
label: "Calendar tab views",
|
|
22148
|
+
description: "Which calendar views to show in the Calendar tab",
|
|
22149
|
+
required: false,
|
|
22150
|
+
multiple: false,
|
|
22151
|
+
defaultValue: "both",
|
|
22152
|
+
options: [
|
|
22153
|
+
{ value: "both", label: "Month + Week toggle" },
|
|
22154
|
+
{ value: "month", label: "Month only" },
|
|
22155
|
+
{ value: "week", label: "Week only" }
|
|
22156
|
+
],
|
|
22157
|
+
ui: {
|
|
22158
|
+
intent: "display",
|
|
22159
|
+
visibleWhen: { field: "variant", equals: "combined" }
|
|
22160
|
+
}
|
|
22161
|
+
},
|
|
22162
|
+
// Filtering options
|
|
22163
|
+
{
|
|
22164
|
+
id: "kind",
|
|
22165
|
+
type: "select",
|
|
22166
|
+
label: "Show",
|
|
22167
|
+
description: "Restrict this block to all offerings, courses, or events",
|
|
22168
|
+
required: false,
|
|
22169
|
+
multiple: false,
|
|
22170
|
+
defaultValue: "all",
|
|
22171
|
+
options: [
|
|
22172
|
+
{ value: "all", label: "All offerings" },
|
|
22173
|
+
{ value: "courses", label: "Courses only" },
|
|
22174
|
+
{ value: "events", label: "Events only" }
|
|
22175
|
+
],
|
|
22176
|
+
ui: { intent: "behavior" }
|
|
22177
|
+
},
|
|
22178
|
+
{
|
|
22179
|
+
id: "showFilters",
|
|
22180
|
+
type: "boolean",
|
|
22181
|
+
label: "Show filters",
|
|
22182
|
+
description: "Show category, staff, and venue filters",
|
|
22183
|
+
required: false,
|
|
22184
|
+
defaultValue: true,
|
|
22185
|
+
ui: {
|
|
22186
|
+
intent: "display",
|
|
22187
|
+
visibleWhen: {
|
|
22188
|
+
field: "variant",
|
|
22189
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21878
22190
|
}
|
|
21879
|
-
}
|
|
21880
|
-
|
|
21881
|
-
|
|
21882
|
-
|
|
21883
|
-
|
|
21884
|
-
|
|
21885
|
-
|
|
21886
|
-
|
|
21887
|
-
|
|
21888
|
-
|
|
21889
|
-
|
|
21890
|
-
|
|
21891
|
-
|
|
22191
|
+
}
|
|
22192
|
+
},
|
|
22193
|
+
{
|
|
22194
|
+
id: "showCategoryFilter",
|
|
22195
|
+
type: "select",
|
|
22196
|
+
label: "Show category filter",
|
|
22197
|
+
description: "When to show the category filter dropdown",
|
|
22198
|
+
required: false,
|
|
22199
|
+
multiple: false,
|
|
22200
|
+
defaultValue: "auto",
|
|
22201
|
+
options: [
|
|
22202
|
+
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
22203
|
+
{ value: "always", label: "Always" },
|
|
22204
|
+
{ value: "never", label: "Never" }
|
|
22205
|
+
],
|
|
22206
|
+
ui: {
|
|
22207
|
+
intent: "display",
|
|
22208
|
+
visibleWhen: {
|
|
22209
|
+
field: "variant",
|
|
22210
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21892
22211
|
}
|
|
21893
|
-
}
|
|
21894
|
-
|
|
21895
|
-
|
|
21896
|
-
|
|
21897
|
-
|
|
21898
|
-
|
|
21899
|
-
|
|
21900
|
-
|
|
21901
|
-
|
|
21902
|
-
|
|
21903
|
-
|
|
22212
|
+
}
|
|
22213
|
+
},
|
|
22214
|
+
{
|
|
22215
|
+
id: "showVenueFilter",
|
|
22216
|
+
type: "boolean",
|
|
22217
|
+
label: "Show venue filter",
|
|
22218
|
+
description: "Show venue filter dropdown",
|
|
22219
|
+
required: false,
|
|
22220
|
+
defaultValue: false,
|
|
22221
|
+
ui: {
|
|
22222
|
+
intent: "display",
|
|
22223
|
+
visibleWhen: {
|
|
22224
|
+
field: "variant",
|
|
22225
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21904
22226
|
}
|
|
21905
|
-
}
|
|
21906
|
-
|
|
21907
|
-
|
|
21908
|
-
|
|
21909
|
-
|
|
21910
|
-
|
|
21911
|
-
|
|
21912
|
-
|
|
21913
|
-
|
|
21914
|
-
|
|
21915
|
-
|
|
22227
|
+
}
|
|
22228
|
+
},
|
|
22229
|
+
{
|
|
22230
|
+
id: "showStaffFilter",
|
|
22231
|
+
type: "boolean",
|
|
22232
|
+
label: "Show staff filter",
|
|
22233
|
+
description: "Show staff filter dropdown",
|
|
22234
|
+
required: false,
|
|
22235
|
+
defaultValue: true,
|
|
22236
|
+
ui: {
|
|
22237
|
+
intent: "display",
|
|
22238
|
+
visibleWhen: {
|
|
22239
|
+
field: "variant",
|
|
22240
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21916
22241
|
}
|
|
21917
|
-
}
|
|
21918
|
-
|
|
21919
|
-
|
|
21920
|
-
|
|
21921
|
-
|
|
21922
|
-
|
|
21923
|
-
|
|
22242
|
+
}
|
|
22243
|
+
},
|
|
22244
|
+
{
|
|
22245
|
+
id: "showCapacity",
|
|
22246
|
+
type: "boolean",
|
|
22247
|
+
label: "Show available spots",
|
|
22248
|
+
description: "Display remaining capacity on event cards and timetable cells",
|
|
22249
|
+
required: false,
|
|
22250
|
+
defaultValue: true,
|
|
22251
|
+
ui: {
|
|
22252
|
+
intent: "display",
|
|
22253
|
+
visibleWhen: {
|
|
22254
|
+
field: "variant",
|
|
22255
|
+
oneOf: ["combined", "list", "week", "timetable"]
|
|
21924
22256
|
}
|
|
21925
|
-
}
|
|
21926
|
-
|
|
21927
|
-
|
|
21928
|
-
|
|
21929
|
-
|
|
21930
|
-
|
|
21931
|
-
|
|
21932
|
-
|
|
21933
|
-
|
|
21934
|
-
|
|
21935
|
-
|
|
22257
|
+
}
|
|
22258
|
+
},
|
|
22259
|
+
// Block-level pre-filtering
|
|
22260
|
+
{
|
|
22261
|
+
id: "eventSurface",
|
|
22262
|
+
type: "select",
|
|
22263
|
+
label: "Event surface",
|
|
22264
|
+
description: "Choose a semantic event scope",
|
|
22265
|
+
required: false,
|
|
22266
|
+
multiple: false,
|
|
22267
|
+
defaultValue: "all",
|
|
22268
|
+
options: [
|
|
22269
|
+
{ value: "all", label: "All events" },
|
|
22270
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
22271
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
22272
|
+
{ value: "custom", label: "Custom" }
|
|
22273
|
+
],
|
|
22274
|
+
ui: { intent: "behavior" }
|
|
22275
|
+
},
|
|
22276
|
+
{
|
|
22277
|
+
id: "filterEventPresets",
|
|
22278
|
+
type: "select",
|
|
22279
|
+
label: "Pre-filter by event type",
|
|
22280
|
+
description: "Restrict this block to specific event types",
|
|
22281
|
+
required: false,
|
|
22282
|
+
multiple: true,
|
|
22283
|
+
defaultValue: [],
|
|
22284
|
+
options: [
|
|
22285
|
+
{ value: "class", label: "Classes" },
|
|
22286
|
+
{ value: "workshop", label: "Workshops" },
|
|
22287
|
+
{ value: "retreat", label: "Retreats" },
|
|
22288
|
+
{ value: "performance", label: "Performances" }
|
|
22289
|
+
],
|
|
22290
|
+
ui: {
|
|
22291
|
+
intent: "behavior",
|
|
22292
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22293
|
+
}
|
|
22294
|
+
},
|
|
22295
|
+
{
|
|
22296
|
+
id: "scheduleScope",
|
|
22297
|
+
type: "select",
|
|
22298
|
+
label: "Schedule cadence",
|
|
22299
|
+
description: "Restrict this block by recurrence",
|
|
22300
|
+
required: false,
|
|
22301
|
+
multiple: false,
|
|
22302
|
+
defaultValue: "any",
|
|
22303
|
+
options: [
|
|
22304
|
+
{ value: "any", label: "Any cadence" },
|
|
22305
|
+
{ value: "recurring", label: "Recurring only" },
|
|
22306
|
+
{ value: "oneOff", label: "One-off only" }
|
|
22307
|
+
],
|
|
22308
|
+
ui: {
|
|
22309
|
+
intent: "behavior",
|
|
22310
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22311
|
+
}
|
|
22312
|
+
},
|
|
22313
|
+
createSiteOptionSelectField({
|
|
22314
|
+
id: "filterCategoryIds",
|
|
22315
|
+
label: "Pre-filter by categories",
|
|
22316
|
+
description: "Restrict this block to specific event categories",
|
|
22317
|
+
required: false,
|
|
22318
|
+
multiple: true,
|
|
22319
|
+
defaultValue: [],
|
|
22320
|
+
optionSource: "eventCategories",
|
|
22321
|
+
ui: {
|
|
22322
|
+
intent: "behavior",
|
|
22323
|
+
searchThreshold: 8,
|
|
22324
|
+
visibleWhen: { field: "kind", notEquals: "courses" }
|
|
22325
|
+
}
|
|
22326
|
+
}),
|
|
22327
|
+
createSiteOptionSelectField({
|
|
22328
|
+
id: "filterStaffMemberId",
|
|
22329
|
+
label: "Pre-filter by staff member",
|
|
22330
|
+
description: "Restrict this block to a single staff member",
|
|
22331
|
+
required: false,
|
|
22332
|
+
multiple: false,
|
|
22333
|
+
optionSource: "staffMembers",
|
|
22334
|
+
ui: {
|
|
22335
|
+
intent: "behavior",
|
|
22336
|
+
searchThreshold: 8
|
|
22337
|
+
}
|
|
22338
|
+
}),
|
|
22339
|
+
createSiteOptionSelectField({
|
|
22340
|
+
id: "filterVenueId",
|
|
22341
|
+
label: "Pre-filter by venue",
|
|
22342
|
+
description: "Restrict this block to a single venue",
|
|
22343
|
+
required: false,
|
|
22344
|
+
multiple: false,
|
|
22345
|
+
optionSource: "venues",
|
|
22346
|
+
ui: {
|
|
22347
|
+
intent: "behavior",
|
|
22348
|
+
searchThreshold: 8
|
|
22349
|
+
}
|
|
22350
|
+
}),
|
|
22351
|
+
// Card styling
|
|
22352
|
+
...cardStylingFields.filter((f) => f.id === "buttonVariant" || f.id === "buttonText").map((field) => ({
|
|
22353
|
+
...field,
|
|
22354
|
+
ui: {
|
|
22355
|
+
...field.ui ?? {},
|
|
22356
|
+
intent: field.id === "buttonVariant" ? "style" : "content"
|
|
22357
|
+
}
|
|
22358
|
+
})),
|
|
22359
|
+
{
|
|
22360
|
+
...emptyStateField,
|
|
22361
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
22362
|
+
},
|
|
22363
|
+
sectionStylesField({
|
|
22364
|
+
id: "_sectionStyles",
|
|
22365
|
+
label: "Section styles",
|
|
22366
|
+
renderInHeader: false
|
|
22367
|
+
})
|
|
22368
|
+
];
|
|
22369
|
+
var eventCalendarVariants = {
|
|
22370
|
+
combined: eventCalendarLayout[0],
|
|
22371
|
+
month: eventCalendarLayout[0],
|
|
22372
|
+
week: eventCalendarLayout[0],
|
|
22373
|
+
timetable: eventCalendarLayout[0],
|
|
22374
|
+
list: eventCalendarLayout[0]
|
|
22375
|
+
};
|
|
22376
|
+
var eventCalendarDerivedFields = [
|
|
22377
|
+
{
|
|
22378
|
+
id: "displayMode",
|
|
22379
|
+
type: "select",
|
|
22380
|
+
required: false,
|
|
22381
|
+
multiple: false,
|
|
22382
|
+
options: [
|
|
22383
|
+
{ value: "combined" },
|
|
22384
|
+
{ value: "month" },
|
|
22385
|
+
{ value: "week" },
|
|
22386
|
+
{ value: "timetable" },
|
|
22387
|
+
{ value: "list" }
|
|
22388
|
+
]
|
|
22389
|
+
},
|
|
22390
|
+
{
|
|
22391
|
+
id: "listLayout",
|
|
22392
|
+
type: "select",
|
|
22393
|
+
required: false,
|
|
22394
|
+
multiple: false,
|
|
22395
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
22396
|
+
value: option.id
|
|
22397
|
+
}))
|
|
22398
|
+
}
|
|
22399
|
+
];
|
|
22400
|
+
var eventCalendarContentShape = {
|
|
22401
|
+
additionalFields: eventCalendarDerivedFields,
|
|
22402
|
+
variants: eventCalendarVariants,
|
|
22403
|
+
skipSectionStyles: true
|
|
22404
|
+
};
|
|
22405
|
+
var eventCalendarConfig = {
|
|
22406
|
+
id: "block.event-calendar",
|
|
22407
|
+
version: "3.6.0",
|
|
22408
|
+
title: "Event Calendar",
|
|
22409
|
+
titleSource: "heading",
|
|
22410
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
22411
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
22412
|
+
skipSectionStyles: true,
|
|
22413
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
21936
22414
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
21937
22415
|
behaviours: {
|
|
21938
22416
|
supportsThemeSwitching: true,
|
|
@@ -21952,109 +22430,21 @@ var eventCalendarManifest = createBlockManifest({
|
|
|
21952
22430
|
"filter"
|
|
21953
22431
|
],
|
|
21954
22432
|
icon: "CalendarDays",
|
|
21955
|
-
layout:
|
|
21956
|
-
|
|
21957
|
-
|
|
21958
|
-
|
|
21959
|
-
|
|
21960
|
-
|
|
21961
|
-
|
|
21962
|
-
|
|
21963
|
-
|
|
21964
|
-
|
|
21965
|
-
|
|
21966
|
-
|
|
21967
|
-
|
|
21968
|
-
|
|
21969
|
-
|
|
21970
|
-
withApiBindings({
|
|
21971
|
-
events: { $bind: { from: "data.events" } },
|
|
21972
|
-
stage: {
|
|
21973
|
-
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
21974
|
-
},
|
|
21975
|
-
// Display mode
|
|
21976
|
-
displayMode: {
|
|
21977
|
-
$bind: { from: "content.displayMode", fallback: "combined" }
|
|
21978
|
-
},
|
|
21979
|
-
// List options
|
|
21980
|
-
listLayout: { $bind: { from: "content.listLayout" } },
|
|
21981
|
-
listColumns: { $bind: { from: "content.listColumns" } },
|
|
21982
|
-
// Legacy compatibility: older event-calendar content used layout/columns
|
|
21983
|
-
layout: { $bind: { from: "content.layout" } },
|
|
21984
|
-
columns: { $bind: { from: "content.columns" } },
|
|
21985
|
-
eventsPerPage: {
|
|
21986
|
-
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
21987
|
-
},
|
|
21988
|
-
compactEventsPerPage: {
|
|
21989
|
-
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
21990
|
-
},
|
|
21991
|
-
loadMoreText: {
|
|
21992
|
-
$bind: {
|
|
21993
|
-
from: "content.loadMoreText",
|
|
21994
|
-
fallback: "Load more events"
|
|
21995
|
-
}
|
|
21996
|
-
},
|
|
21997
|
-
// Calendar options
|
|
21998
|
-
startOfWeek: {
|
|
21999
|
-
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
22000
|
-
},
|
|
22001
|
-
calendarTabViews: {
|
|
22002
|
-
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
22003
|
-
},
|
|
22004
|
-
// Filtering options
|
|
22005
|
-
showFilters: {
|
|
22006
|
-
$bind: { from: "content.showFilters", fallback: true }
|
|
22007
|
-
},
|
|
22008
|
-
showCategoryFilter: {
|
|
22009
|
-
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
22010
|
-
},
|
|
22011
|
-
showVenueFilter: {
|
|
22012
|
-
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
22013
|
-
},
|
|
22014
|
-
showStaffFilter: {
|
|
22015
|
-
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
22016
|
-
},
|
|
22017
|
-
showCapacity: {
|
|
22018
|
-
$bind: { from: "content.showCapacity", fallback: true }
|
|
22019
|
-
},
|
|
22020
|
-
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
22021
|
-
eventSurface: {
|
|
22022
|
-
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
22023
|
-
},
|
|
22024
|
-
filterEventPresets: {
|
|
22025
|
-
$bind: { from: "content.filterEventPresets" }
|
|
22026
|
-
},
|
|
22027
|
-
scheduleScope: {
|
|
22028
|
-
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
22029
|
-
},
|
|
22030
|
-
filterCategoryIds: {
|
|
22031
|
-
$bind: { from: "content.filterCategoryIds" }
|
|
22032
|
-
},
|
|
22033
|
-
filterStaffMemberId: {
|
|
22034
|
-
$bind: { from: "content.filterStaffMemberId" }
|
|
22035
|
-
},
|
|
22036
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
22037
|
-
// Styling
|
|
22038
|
-
buttonVariant: {
|
|
22039
|
-
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
22040
|
-
},
|
|
22041
|
-
buttonText: {
|
|
22042
|
-
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
22043
|
-
},
|
|
22044
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22045
|
-
})
|
|
22046
|
-
)
|
|
22047
|
-
],
|
|
22048
|
-
{
|
|
22049
|
-
gap: "lg"
|
|
22050
|
-
}
|
|
22051
|
-
),
|
|
22052
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
22053
|
-
baseClass: "",
|
|
22054
|
-
spacing: "comfortable"
|
|
22055
|
-
})
|
|
22056
|
-
]
|
|
22057
|
-
});
|
|
22433
|
+
layout: eventCalendarLayout,
|
|
22434
|
+
variants: eventCalendarVariants,
|
|
22435
|
+
defaultVariant: "combined",
|
|
22436
|
+
variantOptions: {
|
|
22437
|
+
combined: { label: "Combined" },
|
|
22438
|
+
month: { label: "Month" },
|
|
22439
|
+
week: { label: "Week" },
|
|
22440
|
+
timetable: { label: "Timetable" },
|
|
22441
|
+
list: { label: "List" }
|
|
22442
|
+
}
|
|
22443
|
+
};
|
|
22444
|
+
var eventCalendarManifest = createBlockManifestWithContentShape(
|
|
22445
|
+
eventCalendarConfig,
|
|
22446
|
+
eventCalendarContentShape
|
|
22447
|
+
);
|
|
22058
22448
|
var eventCalendarBlockDefinition = {
|
|
22059
22449
|
manifest: eventCalendarManifest,
|
|
22060
22450
|
normalizeContent: normalizeEventCalendarContent,
|
|
@@ -26226,14 +26616,29 @@ function mediaPanelCapable() {
|
|
|
26226
26616
|
var allSectionSurfaces = [
|
|
26227
26617
|
"base",
|
|
26228
26618
|
"muted-band",
|
|
26229
|
-
"accent-band"
|
|
26619
|
+
"accent-band",
|
|
26620
|
+
"brand-depth-band"
|
|
26230
26621
|
];
|
|
26231
26622
|
var heroSectionSurfaces = [
|
|
26232
26623
|
"base",
|
|
26233
26624
|
"muted-band",
|
|
26234
26625
|
"accent-band",
|
|
26626
|
+
"brand-depth-band",
|
|
26235
26627
|
"hero-image"
|
|
26236
26628
|
];
|
|
26629
|
+
var scheduleTileTreatments = [
|
|
26630
|
+
"default",
|
|
26631
|
+
"quiet",
|
|
26632
|
+
"brand-depth"
|
|
26633
|
+
];
|
|
26634
|
+
function scheduleDetailsCapable() {
|
|
26635
|
+
return declareBlockDesignCapability({
|
|
26636
|
+
sectionSurfaces: "supported",
|
|
26637
|
+
contentFrames: ["plain"],
|
|
26638
|
+
itemSurfaces: "unsupported",
|
|
26639
|
+
tileTreatments: scheduleTileTreatments
|
|
26640
|
+
});
|
|
26641
|
+
}
|
|
26237
26642
|
function defaultBoundaryBias(visualWeight) {
|
|
26238
26643
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
26239
26644
|
}
|
|
@@ -26471,7 +26876,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
26471
26876
|
flow: conversionFlow,
|
|
26472
26877
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
26473
26878
|
})),
|
|
26474
|
-
withDesignCapability("block.event-details", eventDetailsBlockDefinition,
|
|
26879
|
+
withDesignCapability("block.event-details", eventDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
26475
26880
|
flow: offeringsFlow,
|
|
26476
26881
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
26477
26882
|
})),
|
|
@@ -26479,7 +26884,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
26479
26884
|
flow: conversionFlow,
|
|
26480
26885
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
26481
26886
|
})),
|
|
26482
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition,
|
|
26887
|
+
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
26483
26888
|
flow: offeringsFlow,
|
|
26484
26889
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
26485
26890
|
})),
|
|
@@ -26494,7 +26899,13 @@ var systemBlockDefinitionsRaw = [
|
|
|
26494
26899
|
})),
|
|
26495
26900
|
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
26496
26901
|
flow: offeringsFlow,
|
|
26497
|
-
layoutProfiles: [
|
|
26902
|
+
layoutProfiles: [
|
|
26903
|
+
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
26904
|
+
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
26905
|
+
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
26906
|
+
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
26907
|
+
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
26908
|
+
]
|
|
26498
26909
|
})),
|
|
26499
26910
|
// Friendly wrapper blocks
|
|
26500
26911
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
@@ -29299,7 +29710,7 @@ function CoursePricingDisplay({
|
|
|
29299
29710
|
] }),
|
|
29300
29711
|
option.description ? /* @__PURE__ */ jsx25("p", { className: "rb-caption status-muted", children: option.description }) : null
|
|
29301
29712
|
] }, option.id)) }) : /* @__PURE__ */ jsx25("p", { children: /* @__PURE__ */ jsx25("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
|
|
29302
|
-
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs12("p", { className: "rb-caption
|
|
29713
|
+
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs12("p", { className: "rb-caption rb-mt-1", children: [
|
|
29303
29714
|
"You can also attend with: ",
|
|
29304
29715
|
acceptedItems.join(", ")
|
|
29305
29716
|
] }) : null
|
|
@@ -29399,11 +29810,11 @@ function EventDetailsView({
|
|
|
29399
29810
|
) : shouldShowEventCost ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
|
|
29400
29811
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
29401
29812
|
eventPrice !== null ? /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
|
|
29402
|
-
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption
|
|
29813
|
+
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
|
|
29403
29814
|
"You can also attend with: ",
|
|
29404
29815
|
acceptedItems.join(", ")
|
|
29405
29816
|
] }) : null
|
|
29406
|
-
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs13("p", { className: "rb-caption
|
|
29817
|
+
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs13("p", { className: "rb-caption", children: [
|
|
29407
29818
|
"You can also attend with: ",
|
|
29408
29819
|
acceptedItems.join(", ")
|
|
29409
29820
|
] }) }) : null
|
|
@@ -34257,16 +34668,16 @@ function generateSiteStyleTransitionCss(themeId) {
|
|
|
34257
34668
|
--site-style-transition-to: rgb(var(--tb-background));
|
|
34258
34669
|
}
|
|
34259
34670
|
|
|
34260
|
-
${selector} [data-style-group^='site-style-transition-wave-edge-']
|
|
34261
|
-
${selector} [data-style-group^='site-style-transition-angle-edge-']
|
|
34262
|
-
${selector} [data-style-group^='site-style-transition-soft-fade']
|
|
34671
|
+
${selector} [data-style-group^='site-style-transition-wave-edge-']::after,
|
|
34672
|
+
${selector} [data-style-group^='site-style-transition-angle-edge-']::after,
|
|
34673
|
+
${selector} [data-style-group^='site-style-transition-soft-fade']::after {
|
|
34263
34674
|
content: '';
|
|
34264
34675
|
position: absolute;
|
|
34265
34676
|
left: 0;
|
|
34266
34677
|
right: 0;
|
|
34267
|
-
bottom:
|
|
34268
|
-
z-index:
|
|
34269
|
-
height: 4rem;
|
|
34678
|
+
bottom: -2px;
|
|
34679
|
+
z-index: 1;
|
|
34680
|
+
height: calc(4rem + 2px);
|
|
34270
34681
|
pointer-events: none;
|
|
34271
34682
|
}
|
|
34272
34683
|
|
|
@@ -34283,6 +34694,10 @@ ${selector} [data-style-group*='-from-accent-band-'] {
|
|
|
34283
34694
|
--site-style-transition-from: rgb(var(--tb-primary));
|
|
34284
34695
|
}
|
|
34285
34696
|
|
|
34697
|
+
${selector} [data-style-group*='-from-brand-depth-band-'] {
|
|
34698
|
+
--site-style-transition-from: rgb(var(--tb-primary-800));
|
|
34699
|
+
}
|
|
34700
|
+
|
|
34286
34701
|
${selector} [data-style-group$='-to-base'],
|
|
34287
34702
|
${selector} [data-style-group$='-to-hero-image'] {
|
|
34288
34703
|
--site-style-transition-to: rgb(var(--tb-background));
|
|
@@ -34296,7 +34711,11 @@ ${selector} [data-style-group$='-to-accent-band'] {
|
|
|
34296
34711
|
--site-style-transition-to: rgb(var(--tb-primary));
|
|
34297
34712
|
}
|
|
34298
34713
|
|
|
34299
|
-
${selector} [data-style-group
|
|
34714
|
+
${selector} [data-style-group$='-to-brand-depth-band'] {
|
|
34715
|
+
--site-style-transition-to: rgb(var(--tb-primary-800));
|
|
34716
|
+
}
|
|
34717
|
+
|
|
34718
|
+
${selector} [data-style-group^='site-style-transition-soft-fade']::after {
|
|
34300
34719
|
background: linear-gradient(
|
|
34301
34720
|
to bottom,
|
|
34302
34721
|
transparent 0%,
|
|
@@ -34304,16 +34723,16 @@ ${selector} [data-style-group^='site-style-transition-soft-fade'] > [data-slot='
|
|
|
34304
34723
|
);
|
|
34305
34724
|
}
|
|
34306
34725
|
|
|
34307
|
-
${selector} [data-style-group^='site-style-transition-soft-fade-long-']
|
|
34726
|
+
${selector} [data-style-group^='site-style-transition-soft-fade-long-']::after {
|
|
34308
34727
|
height: 6rem;
|
|
34309
34728
|
}
|
|
34310
34729
|
|
|
34311
|
-
${selector} [data-style-group^='site-style-transition-angle-edge-']
|
|
34730
|
+
${selector} [data-style-group^='site-style-transition-angle-edge-']::after {
|
|
34312
34731
|
background: var(--site-style-transition-to);
|
|
34313
34732
|
clip-path: polygon(0 42%, 100% 8%, 100% 100%, 0 100%);
|
|
34314
34733
|
}
|
|
34315
34734
|
|
|
34316
|
-
${selector} [data-style-group^='site-style-transition-wave-edge-']
|
|
34735
|
+
${selector} [data-style-group^='site-style-transition-wave-edge-']::after {
|
|
34317
34736
|
background: var(--site-style-transition-to);
|
|
34318
34737
|
mask-image: url("${waveTransitionMask}");
|
|
34319
34738
|
mask-repeat: no-repeat;
|
|
@@ -35496,7 +35915,7 @@ function buildThemeRuntime(theme, options) {
|
|
|
35496
35915
|
theme,
|
|
35497
35916
|
accordionSystem
|
|
35498
35917
|
});
|
|
35499
|
-
const inputSystem =
|
|
35918
|
+
const inputSystem = resolveThemeInputSystem(theme);
|
|
35500
35919
|
const inputCss = generateInputCss({
|
|
35501
35920
|
themeId,
|
|
35502
35921
|
theme,
|
|
@@ -35561,6 +35980,9 @@ function hydrateTheme(theme) {
|
|
|
35561
35980
|
palette: expandPalette(theme.palette)
|
|
35562
35981
|
};
|
|
35563
35982
|
}
|
|
35983
|
+
function resolveThemeInputSystem(theme) {
|
|
35984
|
+
return theme.inputs ?? generateDefaultInputSystem(theme);
|
|
35985
|
+
}
|
|
35564
35986
|
function buildThemeCssVars(theme) {
|
|
35565
35987
|
const { typography, space, shadow: shadow2, motion: motion2, border: border2 } = theme;
|
|
35566
35988
|
const baseSizes = computeTypeScale(typography.scale, typography.body.size);
|
|
@@ -35645,7 +36067,7 @@ function buildThemeCssVars(theme) {
|
|
|
35645
36067
|
// Tier 2: Input styling primitives
|
|
35646
36068
|
// These expose inputStyle/InputSystem values for blocks that can't use .form-* classes
|
|
35647
36069
|
...(() => {
|
|
35648
|
-
const inputSystem =
|
|
36070
|
+
const inputSystem = resolveThemeInputSystem(theme);
|
|
35649
36071
|
return {
|
|
35650
36072
|
["--rb-input-radius"]: mapInputRadius(inputSystem.base.corners, theme.corners),
|
|
35651
36073
|
["--rb-input-focus-width"]: `${inputSystem.focus.ringWidth}px`,
|
|
@@ -44002,15 +44424,15 @@ var containerResponsiveThemeCss = `/*
|
|
|
44002
44424
|
text-align: left;
|
|
44003
44425
|
padding: 1rem;
|
|
44004
44426
|
border-radius: var(--rb-event-tile-radius, calc(var(--rb-block-radius) * 0.75));
|
|
44005
|
-
border-style: var(--rb-event-tile-border-style, var(--rb-border-style, solid));
|
|
44006
|
-
border-width: var(--rb-event-tile-border-width, var(--rb-border-width, 1px));
|
|
44007
|
-
border-color: var(--rb-event-tile-border, rgb(var(--tb-border)));
|
|
44008
|
-
background: var(--rb-event-tile-bg, transparent);
|
|
44427
|
+
border-style: var(--rb-tile-border-style, var(--rb-event-tile-border-style, var(--rb-border-style, solid)));
|
|
44428
|
+
border-width: var(--rb-tile-border-width, var(--rb-event-tile-border-width, var(--rb-border-width, 1px)));
|
|
44429
|
+
border-color: var(--rb-tile-border, var(--rb-event-tile-border, rgb(var(--tb-border))));
|
|
44430
|
+
background: var(--rb-tile-bg, var(--rb-event-tile-bg, transparent));
|
|
44009
44431
|
transition: border-color var(--rb-block-transition) ease,
|
|
44010
44432
|
background-color var(--rb-block-transition) ease,
|
|
44011
44433
|
opacity var(--rb-block-transition) ease;
|
|
44012
44434
|
display: block;
|
|
44013
|
-
opacity: var(--rb-event-tile-opacity, 1);
|
|
44435
|
+
opacity: var(--rb-tile-opacity, var(--rb-event-tile-opacity, 1));
|
|
44014
44436
|
color: inherit;
|
|
44015
44437
|
text-decoration: none;
|
|
44016
44438
|
}
|
|
@@ -44021,6 +44443,25 @@ var containerResponsiveThemeCss = `/*
|
|
|
44021
44443
|
gap: var(--rb-event-tiles-grid-gap, 0.5rem);
|
|
44022
44444
|
}
|
|
44023
44445
|
|
|
44446
|
+
:where(.theme-scope) .rb-tile-treatment-quiet {
|
|
44447
|
+
--rb-tile-bg: color-mix(in oklab, rgb(var(--tb-surface)), rgb(var(--tb-muted)) 48%);
|
|
44448
|
+
--rb-tile-border: color-mix(in oklab, rgb(var(--tb-border)), transparent 35%);
|
|
44449
|
+
--rb-tile-border-hover: color-mix(in oklab, rgb(var(--tb-primary)), transparent 40%);
|
|
44450
|
+
}
|
|
44451
|
+
|
|
44452
|
+
:where(.theme-scope) .rb-tile-treatment-brand-depth {
|
|
44453
|
+
--rb-brand-depth-surface: rgb(var(--tb-primary-800));
|
|
44454
|
+
--rb-brand-depth-tile-surface: rgb(var(--tb-primary-900));
|
|
44455
|
+
--rb-brand-depth-tile-surface-selected: rgb(var(--tb-primary-950));
|
|
44456
|
+
--rb-tile-bg: var(--rb-brand-depth-tile-surface);
|
|
44457
|
+
--rb-tile-bg-selected: var(--rb-brand-depth-tile-surface-selected);
|
|
44458
|
+
--rb-tile-border: transparent;
|
|
44459
|
+
--rb-tile-border-hover: transparent;
|
|
44460
|
+
--rb-tile-border-selected: transparent;
|
|
44461
|
+
--rb-tile-border-width: 0;
|
|
44462
|
+
--rb-event-tile-radius: var(--rb-block-radius);
|
|
44463
|
+
}
|
|
44464
|
+
|
|
44024
44465
|
@container rb-site (min-width: 768px) {
|
|
44025
44466
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
44026
44467
|
:where(.theme-scope) .rb-tiles-grid {
|
|
@@ -44039,13 +44480,13 @@ var containerResponsiveThemeCss = `/*
|
|
|
44039
44480
|
}
|
|
44040
44481
|
|
|
44041
44482
|
:where(.theme-scope) :where(.rb-tile--interactive, .er-event-card):hover:not(:disabled) {
|
|
44042
|
-
border-color: var(--rb-event-tile-border-hover, rgba(var(--tb-primary), 0.5));
|
|
44043
|
-
opacity: var(--rb-event-tile-hover-opacity, var(--rb-event-tile-opacity, 1));
|
|
44483
|
+
border-color: var(--rb-tile-border-hover, var(--rb-event-tile-border-hover, rgba(var(--tb-primary), 0.5)));
|
|
44484
|
+
opacity: var(--rb-tile-hover-opacity, var(--rb-event-tile-hover-opacity, var(--rb-tile-opacity, var(--rb-event-tile-opacity, 1))));
|
|
44044
44485
|
}
|
|
44045
44486
|
|
|
44046
44487
|
:where(.theme-scope) :where(.rb-tile--selected, .er-event-card--selected) {
|
|
44047
|
-
border-color: var(--rb-event-tile-border-selected, rgb(var(--tb-primary)));
|
|
44048
|
-
background: var(--rb-event-tile-bg-selected, rgba(var(--tb-primary), 0.1));
|
|
44488
|
+
border-color: var(--rb-tile-border-selected, var(--rb-event-tile-border-selected, rgb(var(--tb-primary))));
|
|
44489
|
+
background: var(--rb-tile-bg-selected, var(--rb-event-tile-bg-selected, rgba(var(--tb-primary), 0.1)));
|
|
44049
44490
|
}
|
|
44050
44491
|
|
|
44051
44492
|
:where(.theme-scope) :where(.rb-tile--disabled, .er-event-card--disabled) {
|
|
@@ -45676,11 +46117,14 @@ function resolveFooterRenderPlan(params) {
|
|
|
45676
46117
|
import * as React7 from "react";
|
|
45677
46118
|
import { Fragment as Fragment7, jsx as jsx53, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
45678
46119
|
|
|
46120
|
+
// ../theme-core/src/siteChrome.tsx
|
|
46121
|
+
import { Fragment as Fragment8, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
46122
|
+
|
|
45679
46123
|
// ../theme-core/src/mock-themes/components/swatch.tsx
|
|
45680
|
-
import { jsx as jsx54, jsxs as
|
|
46124
|
+
import { jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
45681
46125
|
|
|
45682
46126
|
// ../theme-core/src/mock-themes/components/PaletteCard.tsx
|
|
45683
|
-
import { jsx as jsx55, jsxs as
|
|
46127
|
+
import { jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
45684
46128
|
|
|
45685
46129
|
// src/rendering/blocks-theme-runtime.ts
|
|
45686
46130
|
var AXES_TONE_OPTIONS = ["minimal", "classic", "bold"];
|
|
@@ -45852,10 +46296,11 @@ function PageContent({
|
|
|
45852
46296
|
}
|
|
45853
46297
|
|
|
45854
46298
|
// src/rendering/components/Page.tsx
|
|
45855
|
-
import { Fragment as
|
|
46299
|
+
import { Fragment as Fragment9, jsx as jsx57, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
46300
|
+
var HydratorWithContextProps = BlocksIslandsHydrator;
|
|
45856
46301
|
function Page(props2) {
|
|
45857
|
-
return /* @__PURE__ */
|
|
45858
|
-
/* @__PURE__ */ jsx57(
|
|
46302
|
+
return /* @__PURE__ */ jsxs41(Fragment9, { children: [
|
|
46303
|
+
/* @__PURE__ */ jsx57(HydratorWithContextProps, { ...toPageHydrationBootstrapConfig(props2) }),
|
|
45859
46304
|
/* @__PURE__ */ jsx57(PageContent, { ...props2 })
|
|
45860
46305
|
] });
|
|
45861
46306
|
}
|
|
@@ -46294,7 +46739,7 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
46294
46739
|
}
|
|
46295
46740
|
|
|
46296
46741
|
// src/rendering/components/Layout.tsx
|
|
46297
|
-
import { Fragment as
|
|
46742
|
+
import { Fragment as Fragment10, jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
46298
46743
|
async function Layout({
|
|
46299
46744
|
siteData: providedSiteData,
|
|
46300
46745
|
client,
|
|
@@ -46429,14 +46874,14 @@ async function Layout({
|
|
|
46429
46874
|
themeConfig: blocksTheme,
|
|
46430
46875
|
viewModelOverrides
|
|
46431
46876
|
}) : null;
|
|
46432
|
-
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */
|
|
46877
|
+
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */ jsxs42(Fragment10, { children: [
|
|
46433
46878
|
footerBlocksElement,
|
|
46434
46879
|
defaultFooterElement
|
|
46435
46880
|
] }) : footerPlan.mode === "blocks" ? footerBlocksElement : footerPlan.mode === "none" ? null : defaultFooterElement;
|
|
46436
46881
|
} else if (typeof footer === "function") {
|
|
46437
46882
|
footerElement = footer(footerData);
|
|
46438
46883
|
}
|
|
46439
|
-
const content = /* @__PURE__ */
|
|
46884
|
+
const content = /* @__PURE__ */ jsxs42(Fragment10, { children: [
|
|
46440
46885
|
headerElement,
|
|
46441
46886
|
children,
|
|
46442
46887
|
footerElement
|
|
@@ -48997,6 +49442,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
48997
49442
|
auth: "user",
|
|
48998
49443
|
responseKind: "json"
|
|
48999
49444
|
},
|
|
49445
|
+
exportAppointmentServicesCsv: {
|
|
49446
|
+
path: "/sites/{siteId}/bookings/services/export.csv",
|
|
49447
|
+
method: "GET",
|
|
49448
|
+
tags: ["site-{siteId}", "bookings", "appointment-services-{siteId}"],
|
|
49449
|
+
errors: [],
|
|
49450
|
+
auth: "user",
|
|
49451
|
+
responseKind: "blob"
|
|
49452
|
+
},
|
|
49000
49453
|
createAppointmentService: {
|
|
49001
49454
|
path: "/sites/{siteId}/bookings/services",
|
|
49002
49455
|
method: "POST",
|
|
@@ -49265,6 +49718,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49265
49718
|
auth: "user",
|
|
49266
49719
|
responseKind: "json"
|
|
49267
49720
|
},
|
|
49721
|
+
exportCoursesCsv: {
|
|
49722
|
+
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
49723
|
+
method: "GET",
|
|
49724
|
+
tags: ["site-{siteId}", "bookings", "courses-{siteId}"],
|
|
49725
|
+
errors: [],
|
|
49726
|
+
auth: "user",
|
|
49727
|
+
responseKind: "blob"
|
|
49728
|
+
},
|
|
49268
49729
|
createCourse: {
|
|
49269
49730
|
path: "/sites/{siteId}/bookings/courses",
|
|
49270
49731
|
method: "POST",
|
|
@@ -49364,6 +49825,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49364
49825
|
responseKind: "json",
|
|
49365
49826
|
errors: []
|
|
49366
49827
|
},
|
|
49828
|
+
exportCourseWaitlistCsv: {
|
|
49829
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
|
|
49830
|
+
method: "GET",
|
|
49831
|
+
tags: ["site-{siteId}", "bookings", "courses-{courseId}"],
|
|
49832
|
+
auth: "user",
|
|
49833
|
+
responseKind: "blob",
|
|
49834
|
+
errors: []
|
|
49835
|
+
},
|
|
49367
49836
|
updateCourseEnrollment: {
|
|
49368
49837
|
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
49369
49838
|
method: "PATCH",
|
|
@@ -51959,6 +52428,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
51959
52428
|
auth: "user",
|
|
51960
52429
|
responseKind: "json"
|
|
51961
52430
|
},
|
|
52431
|
+
exportEventSeriesCsv: {
|
|
52432
|
+
path: "/sites/{siteId}/bookings/event-series/export.csv",
|
|
52433
|
+
method: "GET",
|
|
52434
|
+
tags: ["site-{siteId}", "bookings", "event-series-{siteId}"],
|
|
52435
|
+
errors: [],
|
|
52436
|
+
auth: "user",
|
|
52437
|
+
responseKind: "blob"
|
|
52438
|
+
},
|
|
51962
52439
|
createEventSeries: {
|
|
51963
52440
|
path: "/sites/{siteId}/bookings/event-series",
|
|
51964
52441
|
method: "POST",
|
|
@@ -52027,6 +52504,60 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52027
52504
|
errors: [],
|
|
52028
52505
|
responseKind: "blob"
|
|
52029
52506
|
},
|
|
52507
|
+
getParticipantMessageRecipients: {
|
|
52508
|
+
path: "/sites/{siteId}/bookings/participant-messaging/recipients",
|
|
52509
|
+
method: "POST",
|
|
52510
|
+
tags: ["site-{siteId}"],
|
|
52511
|
+
auth: "user",
|
|
52512
|
+
errors: [
|
|
52513
|
+
"validation:invalid_input",
|
|
52514
|
+
"auth:forbidden",
|
|
52515
|
+
"resource:not_found",
|
|
52516
|
+
"server:internal_error"
|
|
52517
|
+
],
|
|
52518
|
+
responseKind: "json"
|
|
52519
|
+
},
|
|
52520
|
+
sendParticipantMessage: {
|
|
52521
|
+
path: "/sites/{siteId}/bookings/participant-messaging/send",
|
|
52522
|
+
method: "POST",
|
|
52523
|
+
tags: ["site-{siteId}"],
|
|
52524
|
+
auth: "user",
|
|
52525
|
+
errors: [
|
|
52526
|
+
"validation:invalid_input",
|
|
52527
|
+
"auth:forbidden",
|
|
52528
|
+
"resource:not_found",
|
|
52529
|
+
"resource:conflict",
|
|
52530
|
+
"server:internal_error"
|
|
52531
|
+
],
|
|
52532
|
+
responseKind: "json"
|
|
52533
|
+
},
|
|
52534
|
+
testParticipantMessage: {
|
|
52535
|
+
path: "/sites/{siteId}/bookings/participant-messaging/test",
|
|
52536
|
+
method: "POST",
|
|
52537
|
+
tags: ["site-{siteId}"],
|
|
52538
|
+
auth: "user",
|
|
52539
|
+
errors: [
|
|
52540
|
+
"validation:invalid_input",
|
|
52541
|
+
"auth:forbidden",
|
|
52542
|
+
"resource:not_found",
|
|
52543
|
+
"resource:conflict",
|
|
52544
|
+
"server:internal_error"
|
|
52545
|
+
],
|
|
52546
|
+
responseKind: "json"
|
|
52547
|
+
},
|
|
52548
|
+
listParticipantMessageHistory: {
|
|
52549
|
+
path: "/sites/{siteId}/bookings/participant-messaging/history",
|
|
52550
|
+
method: "POST",
|
|
52551
|
+
tags: ["site-{siteId}"],
|
|
52552
|
+
auth: "user",
|
|
52553
|
+
errors: [
|
|
52554
|
+
"validation:invalid_input",
|
|
52555
|
+
"auth:forbidden",
|
|
52556
|
+
"resource:not_found",
|
|
52557
|
+
"server:internal_error"
|
|
52558
|
+
],
|
|
52559
|
+
responseKind: "json"
|
|
52560
|
+
},
|
|
52030
52561
|
listEventSeriesWaitlist: {
|
|
52031
52562
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist",
|
|
52032
52563
|
method: "GET",
|
|
@@ -52035,6 +52566,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52035
52566
|
responseKind: "json",
|
|
52036
52567
|
errors: []
|
|
52037
52568
|
},
|
|
52569
|
+
exportEventSeriesWaitlistCsv: {
|
|
52570
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist/export.csv",
|
|
52571
|
+
method: "GET",
|
|
52572
|
+
tags: ["site-{siteId}", "bookings", "event-series-{seriesId}"],
|
|
52573
|
+
auth: "user",
|
|
52574
|
+
responseKind: "blob",
|
|
52575
|
+
errors: []
|
|
52576
|
+
},
|
|
52038
52577
|
addEventOccurrenceAttendee: {
|
|
52039
52578
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/occurrences/{occurrenceId}/attendees",
|
|
52040
52579
|
method: "POST",
|
|
@@ -52751,6 +53290,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52751
53290
|
auth: "user",
|
|
52752
53291
|
responseKind: "json"
|
|
52753
53292
|
},
|
|
53293
|
+
exportSiteCustomerPassesCsv: {
|
|
53294
|
+
path: "/sites/{siteId}/bookings/customer-passes/export.csv",
|
|
53295
|
+
method: "GET",
|
|
53296
|
+
tags: ["site-{siteId}", "bookings", "customer-passes-{siteId}"],
|
|
53297
|
+
auth: "user",
|
|
53298
|
+
responseKind: "blob",
|
|
53299
|
+
errors: []
|
|
53300
|
+
},
|
|
52754
53301
|
listSiteCustomerMemberships: {
|
|
52755
53302
|
path: "/sites/{siteId}/bookings/customer-memberships",
|
|
52756
53303
|
method: "GET",
|
|
@@ -52814,6 +53361,22 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52814
53361
|
auth: "user",
|
|
52815
53362
|
responseKind: "blob"
|
|
52816
53363
|
},
|
|
53364
|
+
exportBookingLedgerCsv: {
|
|
53365
|
+
path: "/sites/{siteId}/bookings/ledger/export.csv",
|
|
53366
|
+
method: "GET",
|
|
53367
|
+
tags: ["site-{siteId}", "bookings", "booking-ledger-{siteId}"],
|
|
53368
|
+
errors: [],
|
|
53369
|
+
auth: "user",
|
|
53370
|
+
responseKind: "blob"
|
|
53371
|
+
},
|
|
53372
|
+
exportBookingQuestionAnswersCsv: {
|
|
53373
|
+
path: "/sites/{siteId}/bookings/intake-answers/export.csv",
|
|
53374
|
+
method: "GET",
|
|
53375
|
+
tags: ["site-{siteId}", "bookings", "intake-answers-{siteId}"],
|
|
53376
|
+
errors: [],
|
|
53377
|
+
auth: "user",
|
|
53378
|
+
responseKind: "blob"
|
|
53379
|
+
},
|
|
52817
53380
|
// Site logs
|
|
52818
53381
|
listSiteActivityLogs: {
|
|
52819
53382
|
path: "/sites/{siteId}/logs/activity",
|
|
@@ -54484,6 +55047,20 @@ var applyAppointmentSetupRequestSchema = z65.object({
|
|
|
54484
55047
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
54485
55048
|
});
|
|
54486
55049
|
|
|
55050
|
+
// ../api/src/bookingRecords.ts
|
|
55051
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPES = {
|
|
55052
|
+
site: "site",
|
|
55053
|
+
appointments: "appointments",
|
|
55054
|
+
eventSeries: "event_series",
|
|
55055
|
+
course: "course"
|
|
55056
|
+
};
|
|
55057
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES = [
|
|
55058
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.site,
|
|
55059
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.appointments,
|
|
55060
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.eventSeries,
|
|
55061
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.course
|
|
55062
|
+
];
|
|
55063
|
+
|
|
54487
55064
|
// ../api/src/common/cancellation.ts
|
|
54488
55065
|
var STAFF_CANCELLATION_CONTEXT_UI_CATEGORIES = [
|
|
54489
55066
|
"customer_requested",
|
|
@@ -55077,7 +55654,7 @@ async function prefetchBlockData2(page, context, client, options) {
|
|
|
55077
55654
|
}
|
|
55078
55655
|
|
|
55079
55656
|
// src/rendering/components/Block.shared.tsx
|
|
55080
|
-
import { jsx as jsx59, jsxs as
|
|
55657
|
+
import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
55081
55658
|
function toBlockHydrationBootstrapConfig(props2) {
|
|
55082
55659
|
return {
|
|
55083
55660
|
siteId: props2.siteId,
|
|
@@ -55086,7 +55663,7 @@ function toBlockHydrationBootstrapConfig(props2) {
|
|
|
55086
55663
|
};
|
|
55087
55664
|
}
|
|
55088
55665
|
function renderUnknownBlock(blockKind) {
|
|
55089
|
-
return /* @__PURE__ */ jsx59("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */
|
|
55666
|
+
return /* @__PURE__ */ jsx59("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs43("p", { className: "text-red-800 font-semibold", children: [
|
|
55090
55667
|
"Unknown block type: ",
|
|
55091
55668
|
blockKind
|
|
55092
55669
|
] }) });
|
|
@@ -55227,10 +55804,11 @@ async function BlockContent(props2) {
|
|
|
55227
55804
|
}
|
|
55228
55805
|
|
|
55229
55806
|
// src/rendering/components/Block.tsx
|
|
55230
|
-
import { Fragment as
|
|
55807
|
+
import { Fragment as Fragment11, jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
55808
|
+
var HydratorWithContextProps2 = BlocksIslandsHydrator2;
|
|
55231
55809
|
function Block(props2) {
|
|
55232
|
-
return /* @__PURE__ */
|
|
55233
|
-
/* @__PURE__ */ jsx60(
|
|
55810
|
+
return /* @__PURE__ */ jsxs44(Fragment11, { children: [
|
|
55811
|
+
/* @__PURE__ */ jsx60(HydratorWithContextProps2, { ...toBlockHydrationBootstrapConfig(props2) }),
|
|
55234
55812
|
/* @__PURE__ */ jsx60(BlockContent, { ...props2 })
|
|
55235
55813
|
] });
|
|
55236
55814
|
}
|
|
@@ -55415,6 +55993,9 @@ function applyBindings(bindings, context) {
|
|
|
55415
55993
|
}
|
|
55416
55994
|
return result;
|
|
55417
55995
|
}
|
|
55996
|
+
function applyBindingsToContent(baseContent, bindings, context) {
|
|
55997
|
+
return { ...baseContent, ...applyBindings(bindings, context) };
|
|
55998
|
+
}
|
|
55418
55999
|
function setBindingValue(target, path, value) {
|
|
55419
56000
|
const segments = path.split(".").map((segment) => segment.trim()).filter(Boolean);
|
|
55420
56001
|
if (segments.length === 0) return;
|
|
@@ -55594,7 +56175,7 @@ function isDocWrapper(value) {
|
|
|
55594
56175
|
|
|
55595
56176
|
// src/rendering/helpers/bindings.ts
|
|
55596
56177
|
var normalizeBindingOutput2 = normalizeBindingOutput;
|
|
55597
|
-
var
|
|
56178
|
+
var applyBindingsToContent2 = applyBindingsToContent;
|
|
55598
56179
|
|
|
55599
56180
|
// src/rendering/helpers/loadContent.ts
|
|
55600
56181
|
function isPageContent(result) {
|
|
@@ -55805,7 +56386,7 @@ function resolveTemplateBlock(block, bindingContext) {
|
|
|
55805
56386
|
}
|
|
55806
56387
|
const bindings = block.bindings ?? {};
|
|
55807
56388
|
const hasBindings = typeof bindings === "object" && Object.keys(bindings).length > 0;
|
|
55808
|
-
const resolvedContent = hasBindings ? normalizeBindingOutput2(
|
|
56389
|
+
const resolvedContent = hasBindings ? normalizeBindingOutput2(applyBindingsToContent2(baseContent, bindings, bindingContext)) : baseContent;
|
|
55809
56390
|
return {
|
|
55810
56391
|
id: block.id,
|
|
55811
56392
|
kind: block.blockKind,
|