@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
|
@@ -725,7 +725,11 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
725
725
|
|
|
726
726
|
// ../blocks/src/system/manifest/schema.ts
|
|
727
727
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
728
|
-
var siteOptionSources = [
|
|
728
|
+
var siteOptionSources = [
|
|
729
|
+
"eventCategories",
|
|
730
|
+
"venues",
|
|
731
|
+
"staffMembers"
|
|
732
|
+
];
|
|
729
733
|
var mediaDeliverySchema = z3.object({
|
|
730
734
|
sizes: z3.string().optional(),
|
|
731
735
|
widthCandidates: z3.array(z3.number().int().positive()).optional(),
|
|
@@ -763,7 +767,10 @@ var uiSchema = z3.object({
|
|
|
763
767
|
hidden: z3.boolean().optional(),
|
|
764
768
|
hideLabel: z3.boolean().optional(),
|
|
765
769
|
hideDescription: z3.boolean().optional(),
|
|
766
|
-
showCharCount: z3.union([
|
|
770
|
+
showCharCount: z3.union([
|
|
771
|
+
z3.number().int().positive(),
|
|
772
|
+
z3.object({ max: z3.number().int().positive() })
|
|
773
|
+
]).optional(),
|
|
767
774
|
showSlugPreview: z3.boolean().optional(),
|
|
768
775
|
variant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
769
776
|
richTextVariant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
@@ -773,10 +780,7 @@ var uiSchema = z3.object({
|
|
|
773
780
|
showMediaPreview: z3.boolean().optional(),
|
|
774
781
|
showMediaOverlayActions: z3.boolean().optional(),
|
|
775
782
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
776
|
-
mediaDeliveryByVariant: z3.record(
|
|
777
|
-
z3.string(),
|
|
778
|
-
mediaDeliverySchema
|
|
779
|
-
).optional(),
|
|
783
|
+
mediaDeliveryByVariant: z3.record(z3.string(), mediaDeliverySchema).optional(),
|
|
780
784
|
// Optional input hints for validators/widgets
|
|
781
785
|
inputType: z3.enum(["text", "email", "tel", "number"]).optional(),
|
|
782
786
|
min: z3.number().optional(),
|
|
@@ -884,7 +888,9 @@ var richTextFieldSchema = baseFieldSchema.extend({
|
|
|
884
888
|
});
|
|
885
889
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
886
890
|
type: z3.literal("media"),
|
|
887
|
-
mediaKinds: z3.array(
|
|
891
|
+
mediaKinds: z3.array(
|
|
892
|
+
z3.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
|
|
893
|
+
).default(["image"]),
|
|
888
894
|
aspectRatio: z3.string().optional()
|
|
889
895
|
});
|
|
890
896
|
var booleanFieldSchema = baseFieldSchema.extend({
|
|
@@ -1006,7 +1012,9 @@ var referenceFieldSchema = baseFieldSchema.extend({
|
|
|
1006
1012
|
var itemTypeSchema = z3.object({
|
|
1007
1013
|
label: z3.string().min(1),
|
|
1008
1014
|
icon: z3.string().optional(),
|
|
1009
|
-
fields: z3.lazy(
|
|
1015
|
+
fields: z3.lazy(
|
|
1016
|
+
() => getFieldSchemaInternal().array().min(1, "Item type requires at least one field")
|
|
1017
|
+
)
|
|
1010
1018
|
});
|
|
1011
1019
|
var repeaterFieldSchema = baseFieldSchema.extend({
|
|
1012
1020
|
type: z3.literal("repeater"),
|
|
@@ -1016,7 +1024,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1016
1024
|
maxItems: z3.number().int().positive().optional(),
|
|
1017
1025
|
// Monomorphic mode
|
|
1018
1026
|
schema: z3.object({
|
|
1019
|
-
fields: z3.lazy(
|
|
1027
|
+
fields: z3.lazy(
|
|
1028
|
+
() => getFieldSchemaInternal().array().min(1, "Repeater requires at least one field")
|
|
1029
|
+
)
|
|
1020
1030
|
}).optional(),
|
|
1021
1031
|
// Polymorphic mode
|
|
1022
1032
|
polymorphic: z3.boolean().optional(),
|
|
@@ -1062,13 +1072,19 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1062
1072
|
const itemTypes = Object.values(
|
|
1063
1073
|
data.itemTypes
|
|
1064
1074
|
);
|
|
1065
|
-
return itemTypes.every(
|
|
1075
|
+
return itemTypes.every(
|
|
1076
|
+
(itemType) => Array.isArray(itemType.fields) && requiredFieldIds.every(
|
|
1077
|
+
(requiredId) => itemType.fields?.some((field) => field.id === requiredId)
|
|
1078
|
+
)
|
|
1079
|
+
);
|
|
1066
1080
|
}
|
|
1067
1081
|
const schemaFields = data.schema?.fields;
|
|
1068
1082
|
if (!schemaFields) {
|
|
1069
1083
|
return true;
|
|
1070
1084
|
}
|
|
1071
|
-
return requiredFieldIds.every(
|
|
1085
|
+
return requiredFieldIds.every(
|
|
1086
|
+
(requiredId) => schemaFields.some((field) => field.id === requiredId)
|
|
1087
|
+
);
|
|
1072
1088
|
},
|
|
1073
1089
|
{
|
|
1074
1090
|
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`,
|
|
@@ -1096,7 +1112,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1096
1112
|
if (!schemaFields) {
|
|
1097
1113
|
return true;
|
|
1098
1114
|
}
|
|
1099
|
-
const field = schemaFields.find(
|
|
1115
|
+
const field = schemaFields.find(
|
|
1116
|
+
(candidate) => candidate.id === labelField
|
|
1117
|
+
);
|
|
1100
1118
|
return field?.type === "text";
|
|
1101
1119
|
},
|
|
1102
1120
|
{
|
|
@@ -1107,13 +1125,17 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
1107
1125
|
var groupFieldSchema = baseFieldSchema.extend({
|
|
1108
1126
|
type: z3.literal("group"),
|
|
1109
1127
|
schema: z3.object({
|
|
1110
|
-
fields: z3.lazy(
|
|
1128
|
+
fields: z3.lazy(
|
|
1129
|
+
() => getFieldSchemaInternal().array().min(1, "Group requires at least one field")
|
|
1130
|
+
)
|
|
1111
1131
|
})
|
|
1112
1132
|
});
|
|
1113
1133
|
var modalFieldSchema = baseFieldSchema.extend({
|
|
1114
1134
|
type: z3.literal("modal"),
|
|
1115
1135
|
schema: z3.object({
|
|
1116
|
-
fields: z3.lazy(
|
|
1136
|
+
fields: z3.lazy(
|
|
1137
|
+
() => getFieldSchemaInternal().array().min(1, "Modal requires at least one field")
|
|
1138
|
+
)
|
|
1117
1139
|
})
|
|
1118
1140
|
});
|
|
1119
1141
|
var numberFieldSchema = baseFieldSchema.extend({
|
|
@@ -1223,31 +1245,35 @@ function expectParsedSelectField(field) {
|
|
|
1223
1245
|
return field;
|
|
1224
1246
|
}
|
|
1225
1247
|
function createSiteOptionSelectField(input) {
|
|
1226
|
-
return expectParsedSelectField(
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1248
|
+
return expectParsedSelectField(
|
|
1249
|
+
parseFieldDefinition({
|
|
1250
|
+
...input,
|
|
1251
|
+
type: "select",
|
|
1252
|
+
options: [],
|
|
1253
|
+
multiple: input.multiple ?? false,
|
|
1254
|
+
source: { kind: "site", optionSource: input.optionSource },
|
|
1255
|
+
ui: {
|
|
1256
|
+
...input.ui ?? {},
|
|
1257
|
+
widget: "siteOptionPicker",
|
|
1258
|
+
siteOptionSource: input.optionSource
|
|
1259
|
+
}
|
|
1260
|
+
})
|
|
1261
|
+
);
|
|
1238
1262
|
}
|
|
1239
1263
|
function createSdkSelectField(input) {
|
|
1240
|
-
return expectParsedSelectField(
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1264
|
+
return expectParsedSelectField(
|
|
1265
|
+
parseFieldDefinition({
|
|
1266
|
+
...input,
|
|
1267
|
+
type: "select",
|
|
1268
|
+
options: input.options,
|
|
1269
|
+
multiple: input.multiple ?? false,
|
|
1270
|
+
source: { kind: "sdk" },
|
|
1271
|
+
ui: {
|
|
1272
|
+
...input.ui ?? {},
|
|
1273
|
+
widget: "sdkSelect"
|
|
1274
|
+
}
|
|
1275
|
+
})
|
|
1276
|
+
);
|
|
1251
1277
|
}
|
|
1252
1278
|
var slotSchema = z3.object({
|
|
1253
1279
|
id: z3.string().min(1),
|
|
@@ -1258,8 +1284,20 @@ var slotSchema = z3.object({
|
|
|
1258
1284
|
help: z3.string().optional(),
|
|
1259
1285
|
visibleRoles: z3.array(z3.enum(visibilityLevels)).optional()
|
|
1260
1286
|
});
|
|
1261
|
-
var typographyTokens = [
|
|
1262
|
-
|
|
1287
|
+
var typographyTokens = [
|
|
1288
|
+
"display",
|
|
1289
|
+
"heading",
|
|
1290
|
+
"subheading",
|
|
1291
|
+
"body",
|
|
1292
|
+
"caption"
|
|
1293
|
+
];
|
|
1294
|
+
var colorTokens = [
|
|
1295
|
+
"background",
|
|
1296
|
+
"surface",
|
|
1297
|
+
"foreground",
|
|
1298
|
+
"accent",
|
|
1299
|
+
"muted"
|
|
1300
|
+
];
|
|
1263
1301
|
var spacingTokens = ["none", "xs", "sm", "md", "lg", "xl"];
|
|
1264
1302
|
var radiusTokens = ["none", "sm", "md", "lg", "full"];
|
|
1265
1303
|
var styleTokenSchema = z3.object({
|
|
@@ -1279,7 +1317,14 @@ var behaviourSchema = z3.object({
|
|
|
1279
1317
|
// Block manages its own wrapper (for sticky/fixed positioning)
|
|
1280
1318
|
managesOwnWrapper: z3.boolean().optional()
|
|
1281
1319
|
});
|
|
1282
|
-
var blockCategoryEnum = z3.enum([
|
|
1320
|
+
var blockCategoryEnum = z3.enum([
|
|
1321
|
+
"marketing",
|
|
1322
|
+
"content",
|
|
1323
|
+
"blog",
|
|
1324
|
+
"media",
|
|
1325
|
+
"layout",
|
|
1326
|
+
"interactive"
|
|
1327
|
+
]);
|
|
1283
1328
|
var manifestSchema = z3.object({
|
|
1284
1329
|
name: z3.string().min(1),
|
|
1285
1330
|
version: z3.string().min(1),
|
|
@@ -1947,6 +1992,24 @@ function resolveVariantKey(manifest, content) {
|
|
|
1947
1992
|
return null;
|
|
1948
1993
|
}
|
|
1949
1994
|
|
|
1995
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
1996
|
+
function assertValidOptionGroups(preset2) {
|
|
1997
|
+
preset2.optionGroups?.forEach((group) => {
|
|
1998
|
+
const selectedOption = group.options.find(
|
|
1999
|
+
(option) => option.id === group.selectedOptionId
|
|
2000
|
+
);
|
|
2001
|
+
if (!selectedOption) {
|
|
2002
|
+
throw new Error(
|
|
2003
|
+
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
2004
|
+
);
|
|
2005
|
+
}
|
|
2006
|
+
});
|
|
2007
|
+
}
|
|
2008
|
+
function defineBlockAppearancePreset(preset2) {
|
|
2009
|
+
assertValidOptionGroups(preset2);
|
|
2010
|
+
return preset2;
|
|
2011
|
+
}
|
|
2012
|
+
|
|
1950
2013
|
// ../theme-core/src/site-styles/types.ts
|
|
1951
2014
|
function asDesignBlockId(value) {
|
|
1952
2015
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
@@ -2028,6 +2091,11 @@ function flushPanelFrame(options) {
|
|
|
2028
2091
|
function defineFrameCapability(capability) {
|
|
2029
2092
|
return capability;
|
|
2030
2093
|
}
|
|
2094
|
+
var tileTreatmentValues = [
|
|
2095
|
+
"default",
|
|
2096
|
+
"quiet",
|
|
2097
|
+
"brand-depth"
|
|
2098
|
+
];
|
|
2031
2099
|
var eyebrowTreatmentValues = [
|
|
2032
2100
|
"plain",
|
|
2033
2101
|
"pill",
|
|
@@ -2043,31 +2111,13 @@ function defineBlockDesignCapability(capability) {
|
|
|
2043
2111
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
2044
2112
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
2045
2113
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
2114
|
+
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
2046
2115
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
2047
2116
|
};
|
|
2048
2117
|
}
|
|
2049
2118
|
|
|
2050
|
-
// ../theme-core/src/site-styles/
|
|
2051
|
-
|
|
2052
|
-
preset2.optionGroups?.forEach((group) => {
|
|
2053
|
-
const selectedOption = group.options.find(
|
|
2054
|
-
(option) => option.id === group.selectedOptionId
|
|
2055
|
-
);
|
|
2056
|
-
if (!selectedOption) {
|
|
2057
|
-
throw new Error(
|
|
2058
|
-
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
2059
|
-
);
|
|
2060
|
-
}
|
|
2061
|
-
});
|
|
2062
|
-
}
|
|
2063
|
-
function defineBlockAppearancePreset(preset2) {
|
|
2064
|
-
assertValidOptionGroups(preset2);
|
|
2065
|
-
return preset2;
|
|
2066
|
-
}
|
|
2067
|
-
function defineSiteChromeAppearancePreset(preset2) {
|
|
2068
|
-
return preset2;
|
|
2069
|
-
}
|
|
2070
|
-
var appearancePresets = [
|
|
2119
|
+
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
2120
|
+
var blockAppearancePresets = [
|
|
2071
2121
|
defineBlockAppearancePreset({
|
|
2072
2122
|
kind: "block-design",
|
|
2073
2123
|
id: "hero-immersive-image",
|
|
@@ -2193,6 +2243,24 @@ var appearancePresets = [
|
|
|
2193
2243
|
eyebrowTreatment: "accent-pill-bounce"
|
|
2194
2244
|
}
|
|
2195
2245
|
}),
|
|
2246
|
+
defineBlockAppearancePreset({
|
|
2247
|
+
kind: "block-design",
|
|
2248
|
+
id: "hero-brand-depth-expressive",
|
|
2249
|
+
target: "hero",
|
|
2250
|
+
label: "Expressive brand-depth hero",
|
|
2251
|
+
blockKinds: ["block.hero"],
|
|
2252
|
+
constraints: {
|
|
2253
|
+
layoutFamilies: ["centered", "compact"]
|
|
2254
|
+
},
|
|
2255
|
+
design: {
|
|
2256
|
+
sectionSurface: "brand-depth-band",
|
|
2257
|
+
contentFrame: plainFrame,
|
|
2258
|
+
itemSurface: "none",
|
|
2259
|
+
transitionAfter: "soft-fade-short",
|
|
2260
|
+
emphasis: "high",
|
|
2261
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
2262
|
+
}
|
|
2263
|
+
}),
|
|
2196
2264
|
defineBlockAppearancePreset({
|
|
2197
2265
|
kind: "block-design",
|
|
2198
2266
|
id: "hero-contained-intro",
|
|
@@ -2221,6 +2289,20 @@ var appearancePresets = [
|
|
|
2221
2289
|
emphasis: "high"
|
|
2222
2290
|
}
|
|
2223
2291
|
}),
|
|
2292
|
+
defineBlockAppearancePreset({
|
|
2293
|
+
kind: "block-design",
|
|
2294
|
+
id: "body-text-brand-depth-intro",
|
|
2295
|
+
target: "body-text",
|
|
2296
|
+
label: "Brand-depth intro copy",
|
|
2297
|
+
blockKinds: ["block.body-text"],
|
|
2298
|
+
design: {
|
|
2299
|
+
sectionSurface: "brand-depth-band",
|
|
2300
|
+
contentFrame: plainFrame,
|
|
2301
|
+
itemSurface: "none",
|
|
2302
|
+
transitionAfter: "soft-fade-short",
|
|
2303
|
+
emphasis: "high"
|
|
2304
|
+
}
|
|
2305
|
+
}),
|
|
2224
2306
|
defineBlockAppearancePreset({
|
|
2225
2307
|
kind: "block-design",
|
|
2226
2308
|
id: "offerings-calm-list",
|
|
@@ -2263,6 +2345,21 @@ var appearancePresets = [
|
|
|
2263
2345
|
emphasis: "medium"
|
|
2264
2346
|
}
|
|
2265
2347
|
}),
|
|
2348
|
+
defineBlockAppearancePreset({
|
|
2349
|
+
kind: "block-design",
|
|
2350
|
+
id: "schedule-details-brand-depth",
|
|
2351
|
+
target: "events",
|
|
2352
|
+
label: "Brand-depth schedule details",
|
|
2353
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
2354
|
+
design: {
|
|
2355
|
+
sectionSurface: "brand-depth-band",
|
|
2356
|
+
contentFrame: plainFrame,
|
|
2357
|
+
itemSurface: "none",
|
|
2358
|
+
transitionAfter: "none",
|
|
2359
|
+
emphasis: "medium",
|
|
2360
|
+
tileTreatment: "brand-depth"
|
|
2361
|
+
}
|
|
2362
|
+
}),
|
|
2266
2363
|
defineBlockAppearancePreset({
|
|
2267
2364
|
kind: "block-design",
|
|
2268
2365
|
id: "media-text-flush-feature",
|
|
@@ -2348,6 +2445,20 @@ var appearancePresets = [
|
|
|
2348
2445
|
testimonialCardTreatment: "accent-quote"
|
|
2349
2446
|
}
|
|
2350
2447
|
}),
|
|
2448
|
+
defineBlockAppearancePreset({
|
|
2449
|
+
kind: "block-design",
|
|
2450
|
+
id: "faq-base-accordion",
|
|
2451
|
+
target: "faq",
|
|
2452
|
+
label: "Base accordion FAQ",
|
|
2453
|
+
blockKinds: ["block.faq"],
|
|
2454
|
+
design: {
|
|
2455
|
+
sectionSurface: "base",
|
|
2456
|
+
contentFrame: plainFrame,
|
|
2457
|
+
itemSurface: "default",
|
|
2458
|
+
transitionAfter: "none",
|
|
2459
|
+
emphasis: "medium"
|
|
2460
|
+
}
|
|
2461
|
+
}),
|
|
2351
2462
|
defineBlockAppearancePreset({
|
|
2352
2463
|
kind: "block-design",
|
|
2353
2464
|
id: "faq-contained-help",
|
|
@@ -2390,6 +2501,20 @@ var appearancePresets = [
|
|
|
2390
2501
|
emphasis: "high"
|
|
2391
2502
|
}
|
|
2392
2503
|
}),
|
|
2504
|
+
defineBlockAppearancePreset({
|
|
2505
|
+
kind: "block-design",
|
|
2506
|
+
id: "contact-form-brand-depth-card",
|
|
2507
|
+
target: "contact-form",
|
|
2508
|
+
label: "Brand-depth form card",
|
|
2509
|
+
blockKinds: ["block.form"],
|
|
2510
|
+
design: {
|
|
2511
|
+
sectionSurface: "brand-depth-band",
|
|
2512
|
+
contentFrame: panelFrame("raised"),
|
|
2513
|
+
itemSurface: "none",
|
|
2514
|
+
transitionAfter: "none",
|
|
2515
|
+
emphasis: "high"
|
|
2516
|
+
}
|
|
2517
|
+
}),
|
|
2393
2518
|
defineBlockAppearancePreset({
|
|
2394
2519
|
kind: "block-design",
|
|
2395
2520
|
id: "cta-accent-band",
|
|
@@ -2403,7 +2528,14 @@ var appearancePresets = [
|
|
|
2403
2528
|
transitionAfter: "none",
|
|
2404
2529
|
emphasis: "high"
|
|
2405
2530
|
}
|
|
2406
|
-
})
|
|
2531
|
+
})
|
|
2532
|
+
];
|
|
2533
|
+
|
|
2534
|
+
// ../theme-core/src/site-styles/siteChromeAppearancePresets.ts
|
|
2535
|
+
function defineSiteChromeAppearancePreset(preset2) {
|
|
2536
|
+
return preset2;
|
|
2537
|
+
}
|
|
2538
|
+
var siteChromeAppearancePresets = [
|
|
2407
2539
|
defineSiteChromeAppearancePreset({
|
|
2408
2540
|
kind: "site-chrome",
|
|
2409
2541
|
id: "header-clean-base",
|
|
@@ -2471,6 +2603,12 @@ var appearancePresets = [
|
|
|
2471
2603
|
})
|
|
2472
2604
|
];
|
|
2473
2605
|
|
|
2606
|
+
// ../theme-core/src/site-styles/appearancePresetCatalog.ts
|
|
2607
|
+
var appearancePresets = [
|
|
2608
|
+
...blockAppearancePresets,
|
|
2609
|
+
...siteChromeAppearancePresets
|
|
2610
|
+
];
|
|
2611
|
+
|
|
2474
2612
|
// ../theme-core/src/site-styles/blockFlow.ts
|
|
2475
2613
|
function defineBlockDesignMetadata(input) {
|
|
2476
2614
|
const layoutProfiles = (input.layoutProfiles ?? []).map((profile) => ({
|
|
@@ -6013,6 +6151,7 @@ var sectionStylesOverrideSchema = z20.object({
|
|
|
6013
6151
|
background: boxBackgroundSchema.nullable().optional(),
|
|
6014
6152
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
6015
6153
|
minHeight: z20.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
6154
|
+
tileTreatment: z20.enum(tileTreatmentValues).nullable().optional(),
|
|
6016
6155
|
eyebrowTreatment: z20.enum(eyebrowTreatmentValues).nullable().optional()
|
|
6017
6156
|
});
|
|
6018
6157
|
var containerStylesOverrideSchema = z20.object({
|
|
@@ -6806,7 +6945,7 @@ var userContentFrames = [
|
|
|
6806
6945
|
];
|
|
6807
6946
|
var generatedDesignOptionCatalog = {
|
|
6808
6947
|
source: "generated",
|
|
6809
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
6948
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
6810
6949
|
contentFrames: generatedContentFrames,
|
|
6811
6950
|
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
6812
6951
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
@@ -6876,6 +7015,43 @@ var expressiveBudget = {
|
|
|
6876
7015
|
mediaDensity: "high",
|
|
6877
7016
|
decorativeRepetition: "medium"
|
|
6878
7017
|
};
|
|
7018
|
+
var expressiveUnderlineInputs = {
|
|
7019
|
+
base: {
|
|
7020
|
+
background: { type: "transparent" },
|
|
7021
|
+
textColorToken: "text",
|
|
7022
|
+
border: {
|
|
7023
|
+
widthClass: "border-2",
|
|
7024
|
+
colorToken: "border",
|
|
7025
|
+
style: "underline"
|
|
7026
|
+
},
|
|
7027
|
+
corners: "square",
|
|
7028
|
+
shadow: null,
|
|
7029
|
+
spacing: "compact",
|
|
7030
|
+
fontSize: "base"
|
|
7031
|
+
},
|
|
7032
|
+
label: {
|
|
7033
|
+
textColorToken: "primary",
|
|
7034
|
+
fontWeight: "black",
|
|
7035
|
+
fontSize: "xs",
|
|
7036
|
+
textTransform: "uppercase",
|
|
7037
|
+
letterSpacing: "widest",
|
|
7038
|
+
opacity: 1
|
|
7039
|
+
},
|
|
7040
|
+
focus: {
|
|
7041
|
+
ringColorToken: "secondary",
|
|
7042
|
+
ringWidth: "0",
|
|
7043
|
+
borderColorToken: "secondary"
|
|
7044
|
+
},
|
|
7045
|
+
error: {
|
|
7046
|
+
borderColorToken: "destructive",
|
|
7047
|
+
textColorToken: "destructive"
|
|
7048
|
+
},
|
|
7049
|
+
disabled: {
|
|
7050
|
+
backgroundColorToken: "surface",
|
|
7051
|
+
textColorToken: "text",
|
|
7052
|
+
opacity: 0.6
|
|
7053
|
+
}
|
|
7054
|
+
};
|
|
6879
7055
|
function uniqueContentFrameKinds() {
|
|
6880
7056
|
const kinds = [...new Set(
|
|
6881
7057
|
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
@@ -7226,15 +7402,17 @@ var curatedSiteStyles = [
|
|
|
7226
7402
|
paragraphSize: "editorial",
|
|
7227
7403
|
headingSize: "editorial"
|
|
7228
7404
|
}
|
|
7229
|
-
}
|
|
7405
|
+
},
|
|
7406
|
+
inputs: expressiveUnderlineInputs
|
|
7230
7407
|
},
|
|
7231
7408
|
recommendedAppearancePresetIds: [
|
|
7232
7409
|
"site-header-brand-solid-inverted-cta",
|
|
7233
7410
|
"site-footer-brand-two-band",
|
|
7234
7411
|
"hero-brand-scrim-fixed-frame",
|
|
7235
7412
|
"body-text-editorial-intro",
|
|
7413
|
+
"schedule-details-brand-depth",
|
|
7236
7414
|
"testimonials-accent-quote-proof",
|
|
7237
|
-
"contact-form-
|
|
7415
|
+
"contact-form-brand-depth-card"
|
|
7238
7416
|
],
|
|
7239
7417
|
buttonPersonalityChoices: [
|
|
7240
7418
|
buttonChoice("showtime-pill"),
|
|
@@ -7472,6 +7650,7 @@ var imageSurfaceTreatmentSchema = z22.discriminatedUnion("kind", [
|
|
|
7472
7650
|
}).strict()
|
|
7473
7651
|
]);
|
|
7474
7652
|
var testimonialCardTreatmentSchema = z22.enum(["default", "accent-quote"]);
|
|
7653
|
+
var tileTreatmentSchema = z22.enum(tileTreatmentValues);
|
|
7475
7654
|
var eyebrowTreatmentSchema = z22.enum(eyebrowTreatmentValues);
|
|
7476
7655
|
function uniqueNonEmpty(values) {
|
|
7477
7656
|
const uniqueValues = [...new Set(values)];
|
|
@@ -7516,6 +7695,7 @@ var blockDesignPlanSchema = z22.object({
|
|
|
7516
7695
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
7517
7696
|
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
7518
7697
|
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
7698
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
7519
7699
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
7520
7700
|
}).strict();
|
|
7521
7701
|
var styleAuthoritySchema = z22.discriminatedUnion("kind", [
|
|
@@ -7579,6 +7759,14 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
7579
7759
|
headingColor: "primaryForeground"
|
|
7580
7760
|
}
|
|
7581
7761
|
},
|
|
7762
|
+
"brand-depth-band": {
|
|
7763
|
+
background: {
|
|
7764
|
+
type: "color",
|
|
7765
|
+
color: "primary-800",
|
|
7766
|
+
textColor: "primaryForeground",
|
|
7767
|
+
headingColor: "primaryForeground"
|
|
7768
|
+
}
|
|
7769
|
+
},
|
|
7582
7770
|
"hero-image": {
|
|
7583
7771
|
background: {
|
|
7584
7772
|
type: "image",
|
|
@@ -9468,6 +9656,21 @@ function createTransformRegistry(definitions) {
|
|
|
9468
9656
|
}
|
|
9469
9657
|
|
|
9470
9658
|
// ../blocks/src/system/transforms/registry/_utils/colorResolution.ts
|
|
9659
|
+
var CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\(/i;
|
|
9660
|
+
var CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
9661
|
+
var THEME_COLOR_TOKEN_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*(?:\/(?:100|[1-9]?\d|0))?$/;
|
|
9662
|
+
var CSS_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
|
|
9663
|
+
"transparent",
|
|
9664
|
+
"currentColor",
|
|
9665
|
+
"inherit",
|
|
9666
|
+
"initial",
|
|
9667
|
+
"revert",
|
|
9668
|
+
"revert-layer",
|
|
9669
|
+
"unset"
|
|
9670
|
+
]);
|
|
9671
|
+
function isLiteralCssColorValue(value) {
|
|
9672
|
+
return CSS_HEX_COLOR_PATTERN.test(value) || CSS_COLOR_FUNCTION_PATTERN.test(value) || value.startsWith("var(") || CSS_COLOR_KEYWORDS.has(value);
|
|
9673
|
+
}
|
|
9471
9674
|
function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
9472
9675
|
const trimmed = tokenOrCssValue.trim();
|
|
9473
9676
|
if (!trimmed) return "";
|
|
@@ -9484,8 +9687,11 @@ function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
|
9484
9687
|
return rgbColorValue(trimmed);
|
|
9485
9688
|
}
|
|
9486
9689
|
}
|
|
9487
|
-
if (trimmed
|
|
9488
|
-
return
|
|
9690
|
+
if (isLiteralCssColorValue(trimmed)) {
|
|
9691
|
+
return trimmed;
|
|
9692
|
+
}
|
|
9693
|
+
if (THEME_COLOR_TOKEN_PATTERN.test(trimmed)) {
|
|
9694
|
+
return rgbColorValue(trimmed);
|
|
9489
9695
|
}
|
|
9490
9696
|
return trimmed;
|
|
9491
9697
|
}
|
|
@@ -9741,6 +9947,15 @@ function hasFixedFrameBackgroundMotion(value) {
|
|
|
9741
9947
|
const background = asPartialObject(input?.background);
|
|
9742
9948
|
return background?.motion === "fixed-frame";
|
|
9743
9949
|
}
|
|
9950
|
+
var tileTreatmentClassMap = {
|
|
9951
|
+
default: "",
|
|
9952
|
+
quiet: "rb-tile-treatment-quiet",
|
|
9953
|
+
"brand-depth": "rb-tile-treatment-brand-depth"
|
|
9954
|
+
};
|
|
9955
|
+
var tileTreatmentSet = new Set(tileTreatmentValues);
|
|
9956
|
+
function isTileTreatment(value) {
|
|
9957
|
+
return typeof value === "string" && tileTreatmentSet.has(value);
|
|
9958
|
+
}
|
|
9744
9959
|
var sectionClassNameTransform = {
|
|
9745
9960
|
id: "sectionStyles.resolveClassName",
|
|
9746
9961
|
kind: "string",
|
|
@@ -9797,6 +10012,17 @@ var sectionClassNameTransform = {
|
|
|
9797
10012
|
classes.push(minHeightClass);
|
|
9798
10013
|
}
|
|
9799
10014
|
}
|
|
10015
|
+
const tileTreatment = input?.tileTreatment;
|
|
10016
|
+
if (isTileTreatment(tileTreatment)) {
|
|
10017
|
+
const tileTreatmentClass = tileTreatmentClassMap[tileTreatment];
|
|
10018
|
+
if (tileTreatmentClass) {
|
|
10019
|
+
classes.push(tileTreatmentClass);
|
|
10020
|
+
}
|
|
10021
|
+
} else if (typeof tileTreatment === "string" && process.env.NODE_ENV !== "production") {
|
|
10022
|
+
console.warn(
|
|
10023
|
+
`[sectionStyles] Invalid tileTreatment value in _sectionStyles: "${tileTreatment}". Expected one of: ${tileTreatmentValues.join(", ")}.`
|
|
10024
|
+
);
|
|
10025
|
+
}
|
|
9800
10026
|
if (hasFixedFrameBackgroundMotion(input)) {
|
|
9801
10027
|
classes.push(fixedFrameScopeClass);
|
|
9802
10028
|
}
|
|
@@ -12763,6 +12989,9 @@ function createBlockManifest(config) {
|
|
|
12763
12989
|
};
|
|
12764
12990
|
return augmentManifest(manifest);
|
|
12765
12991
|
}
|
|
12992
|
+
function createBlockManifestWithContentShape(config, _contentShape) {
|
|
12993
|
+
return createBlockManifest(config);
|
|
12994
|
+
}
|
|
12766
12995
|
function normalizeBlockLayout(layout) {
|
|
12767
12996
|
return Array.isArray(layout) ? [...layout] : layout;
|
|
12768
12997
|
}
|
|
@@ -13395,7 +13624,7 @@ var ctaComposition = composeFragments([
|
|
|
13395
13624
|
{ fragment: ctaCopyFragment },
|
|
13396
13625
|
{ fragment: ctaRowFragment }
|
|
13397
13626
|
]);
|
|
13398
|
-
var
|
|
13627
|
+
var ctaFullConfig = {
|
|
13399
13628
|
id: "block.cta-full",
|
|
13400
13629
|
title: "Full-width CTA",
|
|
13401
13630
|
category: "marketing",
|
|
@@ -13413,7 +13642,8 @@ var ctaFullManifest = createBlockManifest({
|
|
|
13413
13642
|
description: "Centered call to action with optional background image.",
|
|
13414
13643
|
tags: ["cta", "call-to-action", "button", "conversion", "action", "sign-up", "get-started"],
|
|
13415
13644
|
icon: "Target"
|
|
13416
|
-
}
|
|
13645
|
+
};
|
|
13646
|
+
var ctaFullManifest = createBlockManifest(ctaFullConfig);
|
|
13417
13647
|
var ctaFullBlockDefinition = {
|
|
13418
13648
|
manifest: ctaFullManifest
|
|
13419
13649
|
};
|
|
@@ -16594,9 +16824,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16594
16824
|
{
|
|
16595
16825
|
id: "images",
|
|
16596
16826
|
type: "repeater",
|
|
16597
|
-
label: "
|
|
16827
|
+
label: "Media",
|
|
16598
16828
|
required: false,
|
|
16599
|
-
itemLabel: "
|
|
16829
|
+
itemLabel: "Media",
|
|
16600
16830
|
minItems: 0,
|
|
16601
16831
|
maxItems: 6,
|
|
16602
16832
|
allowConversion: true,
|
|
@@ -16610,9 +16840,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16610
16840
|
{
|
|
16611
16841
|
id: "image",
|
|
16612
16842
|
type: "media",
|
|
16613
|
-
label: "
|
|
16843
|
+
label: "Media",
|
|
16614
16844
|
required: true,
|
|
16615
|
-
mediaKinds: ["image"]
|
|
16845
|
+
mediaKinds: ["image", "video"]
|
|
16616
16846
|
}
|
|
16617
16847
|
]
|
|
16618
16848
|
}
|
|
@@ -16690,8 +16920,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16690
16920
|
{
|
|
16691
16921
|
id: "aspectRatio",
|
|
16692
16922
|
type: "select",
|
|
16693
|
-
label: "
|
|
16694
|
-
description: "Crop
|
|
16923
|
+
label: "Media aspect ratio",
|
|
16924
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
16695
16925
|
required: false,
|
|
16696
16926
|
defaultValue: "auto",
|
|
16697
16927
|
multiple: false,
|
|
@@ -16878,8 +17108,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
16878
17108
|
}
|
|
16879
17109
|
};
|
|
16880
17110
|
})(),
|
|
16881
|
-
description: "Two columns:
|
|
16882
|
-
tags: ["media", "image", "carousel", "text", "two-column", "layout"],
|
|
17111
|
+
description: "Two columns: media/carousel + rich text (with optional section title).",
|
|
17112
|
+
tags: ["media", "image", "video", "carousel", "text", "two-column", "layout"],
|
|
16883
17113
|
icon: "Columns"
|
|
16884
17114
|
});
|
|
16885
17115
|
var mediaTextBlockDefinition = {
|
|
@@ -17030,6 +17260,19 @@ var transformSchema2 = z37.object({
|
|
|
17030
17260
|
hotspot: hotspotSchema2.optional(),
|
|
17031
17261
|
rotation: rotationSchema2.optional()
|
|
17032
17262
|
});
|
|
17263
|
+
var mediaPosterSchema = z37.discriminatedUnion("tag", [
|
|
17264
|
+
z37.object({
|
|
17265
|
+
tag: z37.literal("storage"),
|
|
17266
|
+
assetId: z37.string().optional(),
|
|
17267
|
+
storageBucket: z37.string().min(1),
|
|
17268
|
+
storagePath: z37.string().min(1)
|
|
17269
|
+
}),
|
|
17270
|
+
z37.object({
|
|
17271
|
+
tag: z37.literal("external-src"),
|
|
17272
|
+
assetId: z37.string().optional(),
|
|
17273
|
+
src: z37.string().url()
|
|
17274
|
+
})
|
|
17275
|
+
]);
|
|
17033
17276
|
var mediaBaseSchema = z37.object({
|
|
17034
17277
|
purpose: z37.string().optional(),
|
|
17035
17278
|
placeholder: z37.boolean().default(true).optional(),
|
|
@@ -17043,6 +17286,7 @@ var mediaBaseSchema = z37.object({
|
|
|
17043
17286
|
height: z37.number().optional(),
|
|
17044
17287
|
storageBucket: z37.string().optional(),
|
|
17045
17288
|
storagePath: z37.string().optional(),
|
|
17289
|
+
poster: mediaPosterSchema.optional(),
|
|
17046
17290
|
transform: transformSchema2.optional()
|
|
17047
17291
|
});
|
|
17048
17292
|
var imageMediaSchema = mediaBaseSchema.extend({ type: z37.literal("image") });
|
|
@@ -17526,10 +17770,28 @@ import { z as z43 } from "zod";
|
|
|
17526
17770
|
|
|
17527
17771
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
17528
17772
|
import { z as z42 } from "zod";
|
|
17773
|
+
|
|
17774
|
+
// ../blocks/src/system/constants/events.ts
|
|
17775
|
+
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
17776
|
+
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
17777
|
+
var eventCalendarListLayoutOptions = [
|
|
17778
|
+
{ id: "stack", label: "Stack" },
|
|
17779
|
+
{ id: "grid", label: "Grid" },
|
|
17780
|
+
{ id: "compact", label: "Compact" }
|
|
17781
|
+
];
|
|
17782
|
+
function isEventCalendarDisplayMode(value) {
|
|
17783
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
17784
|
+
}
|
|
17785
|
+
function isEventCalendarListLayout(value) {
|
|
17786
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
17787
|
+
}
|
|
17788
|
+
|
|
17789
|
+
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
17529
17790
|
var previewStageSchema = z42.enum(["preview", "published"]);
|
|
17530
17791
|
var registrationButtonVariantSchema = z42.enum(["primary", "secondary", "outline"]);
|
|
17531
17792
|
var eventButtonVariantSchema = z42.enum(["primary", "secondary", "outline", "link"]);
|
|
17532
|
-
var eventLayoutSchema = z42.enum(
|
|
17793
|
+
var eventLayoutSchema = z42.enum(eventCalendarListLayoutValues);
|
|
17794
|
+
var eventCalendarDisplayModeSchema = z42.enum(eventCalendarDisplayModeValues);
|
|
17533
17795
|
var columnOptionSchema = z42.enum(["2", "3", "4"]);
|
|
17534
17796
|
var weekStartSchema = z42.enum(["sunday", "monday"]);
|
|
17535
17797
|
var filterAutoShowSchema = z42.enum(["auto", "always", "never"]);
|
|
@@ -20309,6 +20571,22 @@ function resolveMediaWithCanonicalAsset(value, context) {
|
|
|
20309
20571
|
height: asset.height ?? value.height
|
|
20310
20572
|
};
|
|
20311
20573
|
}
|
|
20574
|
+
function resolveVideoPosterUrl(value, context) {
|
|
20575
|
+
if (value.type !== "video") return void 0;
|
|
20576
|
+
const poster = value.poster;
|
|
20577
|
+
if (!poster) return void 0;
|
|
20578
|
+
switch (poster.tag) {
|
|
20579
|
+
case "external-src":
|
|
20580
|
+
return poster.src;
|
|
20581
|
+
case "storage":
|
|
20582
|
+
return resolveMediaStorageUrl({
|
|
20583
|
+
type: "image",
|
|
20584
|
+
assetId: poster.assetId,
|
|
20585
|
+
storageBucket: poster.storageBucket,
|
|
20586
|
+
storagePath: poster.storagePath
|
|
20587
|
+
}, context);
|
|
20588
|
+
}
|
|
20589
|
+
}
|
|
20312
20590
|
var debugMediaNodeLog = (...args) => {
|
|
20313
20591
|
if (typeof window === "undefined") return;
|
|
20314
20592
|
const debugFlag = Reflect.get(window, "__DEBUG_MEDIA_NODE__");
|
|
@@ -20360,12 +20638,14 @@ function renderVideo(value, className, style, context, options = {}) {
|
|
|
20360
20638
|
const src = resolvePublicMediaUrl(value, context);
|
|
20361
20639
|
if (!src) return null;
|
|
20362
20640
|
if (options.playback === "background") {
|
|
20641
|
+
const poster2 = resolveVideoPosterUrl(value, context);
|
|
20363
20642
|
return /* @__PURE__ */ jsx(
|
|
20364
20643
|
"video",
|
|
20365
20644
|
{
|
|
20366
20645
|
className,
|
|
20367
20646
|
style,
|
|
20368
20647
|
src,
|
|
20648
|
+
...poster2 ? { poster: poster2 } : {},
|
|
20369
20649
|
autoPlay: true,
|
|
20370
20650
|
muted: true,
|
|
20371
20651
|
loop: true,
|
|
@@ -20376,12 +20656,14 @@ function renderVideo(value, className, style, context, options = {}) {
|
|
|
20376
20656
|
}
|
|
20377
20657
|
);
|
|
20378
20658
|
}
|
|
20659
|
+
const poster = resolveVideoPosterUrl(value, context);
|
|
20379
20660
|
return /* @__PURE__ */ jsx(
|
|
20380
20661
|
"video",
|
|
20381
20662
|
{
|
|
20382
20663
|
className,
|
|
20383
20664
|
style,
|
|
20384
20665
|
src,
|
|
20666
|
+
...poster ? { poster } : {},
|
|
20385
20667
|
controls: true,
|
|
20386
20668
|
controlsList: "nodownload",
|
|
20387
20669
|
preload: "metadata",
|
|
@@ -21129,7 +21411,232 @@ function buildEventListingInteractiveIslandProps(props2) {
|
|
|
21129
21411
|
}
|
|
21130
21412
|
|
|
21131
21413
|
// ../blocks/src/system/blocks/events/event-listing.ts
|
|
21132
|
-
var
|
|
21414
|
+
var eventListingAdditionalFields = [
|
|
21415
|
+
...sectionHeaderFields("All Events"),
|
|
21416
|
+
...(() => {
|
|
21417
|
+
const columns = columnsField(["2", "3", "4"]);
|
|
21418
|
+
return [
|
|
21419
|
+
{
|
|
21420
|
+
...layoutField,
|
|
21421
|
+
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
21422
|
+
},
|
|
21423
|
+
{
|
|
21424
|
+
...columns,
|
|
21425
|
+
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
21426
|
+
}
|
|
21427
|
+
];
|
|
21428
|
+
})(),
|
|
21429
|
+
{
|
|
21430
|
+
id: "eventsPerPage",
|
|
21431
|
+
type: "select",
|
|
21432
|
+
label: "Events per page",
|
|
21433
|
+
description: "Number of events to load at a time",
|
|
21434
|
+
required: false,
|
|
21435
|
+
multiple: false,
|
|
21436
|
+
defaultValue: "12",
|
|
21437
|
+
options: [
|
|
21438
|
+
{ value: "3", label: "3 events" },
|
|
21439
|
+
{ value: "6", label: "6 events" },
|
|
21440
|
+
{ value: "12", label: "12 events" },
|
|
21441
|
+
{ value: "24", label: "24 events" }
|
|
21442
|
+
],
|
|
21443
|
+
ui: { intent: "display" }
|
|
21444
|
+
},
|
|
21445
|
+
{
|
|
21446
|
+
id: "paginationMode",
|
|
21447
|
+
type: "select",
|
|
21448
|
+
label: "More events",
|
|
21449
|
+
description: "How to access events beyond the initial list",
|
|
21450
|
+
required: false,
|
|
21451
|
+
multiple: false,
|
|
21452
|
+
defaultValue: "loadMore",
|
|
21453
|
+
options: [
|
|
21454
|
+
{ value: "loadMore", label: "Load more button" },
|
|
21455
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
21456
|
+
],
|
|
21457
|
+
ui: { intent: "display" }
|
|
21458
|
+
},
|
|
21459
|
+
{
|
|
21460
|
+
id: "seeAllUrl",
|
|
21461
|
+
type: "link",
|
|
21462
|
+
label: "See all destination",
|
|
21463
|
+
required: false,
|
|
21464
|
+
ui: {
|
|
21465
|
+
intent: "display",
|
|
21466
|
+
visibleWhen: {
|
|
21467
|
+
field: "paginationMode",
|
|
21468
|
+
equals: "seeAllLink"
|
|
21469
|
+
}
|
|
21470
|
+
}
|
|
21471
|
+
},
|
|
21472
|
+
{
|
|
21473
|
+
id: "loadMoreText",
|
|
21474
|
+
type: "text",
|
|
21475
|
+
label: "Button text",
|
|
21476
|
+
description: "Text for the pagination button or link",
|
|
21477
|
+
required: false,
|
|
21478
|
+
multiline: false,
|
|
21479
|
+
defaultValue: "Load more events",
|
|
21480
|
+
maxLength: 40
|
|
21481
|
+
},
|
|
21482
|
+
...cardStylingFields.map((field) => ({
|
|
21483
|
+
...field,
|
|
21484
|
+
ui: { ...field.ui ?? {}, intent: "style" }
|
|
21485
|
+
})),
|
|
21486
|
+
...eventDisplayFields.map((field) => ({
|
|
21487
|
+
...field,
|
|
21488
|
+
ui: { ...field.ui ?? {}, intent: "display" }
|
|
21489
|
+
})),
|
|
21490
|
+
{
|
|
21491
|
+
id: "kind",
|
|
21492
|
+
type: "select",
|
|
21493
|
+
label: "Show",
|
|
21494
|
+
description: "Choose whether this list shows courses, events, or both",
|
|
21495
|
+
required: false,
|
|
21496
|
+
multiple: false,
|
|
21497
|
+
defaultValue: "all",
|
|
21498
|
+
options: [
|
|
21499
|
+
{ value: "all", label: "Courses and events" },
|
|
21500
|
+
{ value: "courses", label: "Courses only" },
|
|
21501
|
+
{ value: "events", label: "Events only" }
|
|
21502
|
+
],
|
|
21503
|
+
ui: { intent: "behavior" }
|
|
21504
|
+
},
|
|
21505
|
+
{
|
|
21506
|
+
id: "eventSurface",
|
|
21507
|
+
type: "select",
|
|
21508
|
+
label: "Event surface",
|
|
21509
|
+
description: "Choose a semantic event scope",
|
|
21510
|
+
required: false,
|
|
21511
|
+
multiple: false,
|
|
21512
|
+
defaultValue: "all",
|
|
21513
|
+
options: [
|
|
21514
|
+
{ value: "all", label: "All events" },
|
|
21515
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
21516
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
21517
|
+
{ value: "custom", label: "Custom" }
|
|
21518
|
+
],
|
|
21519
|
+
ui: { intent: "behavior" }
|
|
21520
|
+
},
|
|
21521
|
+
{
|
|
21522
|
+
id: "filterEventPresets",
|
|
21523
|
+
type: "select",
|
|
21524
|
+
label: "Pre-filter by event type",
|
|
21525
|
+
description: "Restrict this block to specific event types",
|
|
21526
|
+
required: false,
|
|
21527
|
+
multiple: true,
|
|
21528
|
+
defaultValue: [],
|
|
21529
|
+
options: [
|
|
21530
|
+
{ value: "class", label: "Classes" },
|
|
21531
|
+
{ value: "workshop", label: "Workshops" },
|
|
21532
|
+
{ value: "retreat", label: "Retreats" },
|
|
21533
|
+
{ value: "performance", label: "Performances" }
|
|
21534
|
+
],
|
|
21535
|
+
ui: {
|
|
21536
|
+
intent: "behavior",
|
|
21537
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21538
|
+
}
|
|
21539
|
+
},
|
|
21540
|
+
{
|
|
21541
|
+
id: "scheduleScope",
|
|
21542
|
+
type: "select",
|
|
21543
|
+
label: "Schedule cadence",
|
|
21544
|
+
description: "Restrict this block by recurrence",
|
|
21545
|
+
required: false,
|
|
21546
|
+
multiple: false,
|
|
21547
|
+
defaultValue: "any",
|
|
21548
|
+
options: [
|
|
21549
|
+
{ value: "any", label: "Any cadence" },
|
|
21550
|
+
{ value: "recurring", label: "Recurring only" },
|
|
21551
|
+
{ value: "oneOff", label: "One-off only" }
|
|
21552
|
+
],
|
|
21553
|
+
ui: {
|
|
21554
|
+
intent: "behavior",
|
|
21555
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21556
|
+
}
|
|
21557
|
+
},
|
|
21558
|
+
{
|
|
21559
|
+
...emptyStateField,
|
|
21560
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
21561
|
+
},
|
|
21562
|
+
sectionStylesField({
|
|
21563
|
+
id: "_sectionStyles",
|
|
21564
|
+
label: "Section styles",
|
|
21565
|
+
renderInHeader: false
|
|
21566
|
+
})
|
|
21567
|
+
];
|
|
21568
|
+
var eventListingLayout = [
|
|
21569
|
+
styledSection({
|
|
21570
|
+
children: sectionContainer([
|
|
21571
|
+
// Optional heading
|
|
21572
|
+
text(
|
|
21573
|
+
{ as: "h2" },
|
|
21574
|
+
bind("content.heading"),
|
|
21575
|
+
when("content.heading")
|
|
21576
|
+
),
|
|
21577
|
+
// Optional description
|
|
21578
|
+
richText(
|
|
21579
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
21580
|
+
bind("content.description"),
|
|
21581
|
+
when("content.description")
|
|
21582
|
+
),
|
|
21583
|
+
// Event listing component with pagination
|
|
21584
|
+
el("event-listing", withApiBindings({
|
|
21585
|
+
events: { $bind: { from: "data.events" } },
|
|
21586
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
21587
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
21588
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
21589
|
+
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
21590
|
+
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
21591
|
+
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
21592
|
+
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
21593
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
21594
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
21595
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
21596
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
21597
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
21598
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
21599
|
+
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
21600
|
+
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
21601
|
+
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
21602
|
+
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
21603
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
21604
|
+
}))
|
|
21605
|
+
], {
|
|
21606
|
+
gap: "lg"
|
|
21607
|
+
}),
|
|
21608
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
21609
|
+
baseClass: "",
|
|
21610
|
+
spacing: "comfortable"
|
|
21611
|
+
})
|
|
21612
|
+
];
|
|
21613
|
+
var eventListingDerivedFields = [
|
|
21614
|
+
{
|
|
21615
|
+
id: "layout",
|
|
21616
|
+
type: "select",
|
|
21617
|
+
required: false,
|
|
21618
|
+
multiple: false,
|
|
21619
|
+
options: [
|
|
21620
|
+
{ value: "grid" },
|
|
21621
|
+
{ value: "stack" }
|
|
21622
|
+
]
|
|
21623
|
+
},
|
|
21624
|
+
{
|
|
21625
|
+
id: "paginationMode",
|
|
21626
|
+
type: "select",
|
|
21627
|
+
required: false,
|
|
21628
|
+
multiple: false,
|
|
21629
|
+
options: [
|
|
21630
|
+
{ value: "loadMore" },
|
|
21631
|
+
{ value: "seeAllLink" }
|
|
21632
|
+
]
|
|
21633
|
+
}
|
|
21634
|
+
];
|
|
21635
|
+
var eventListingContentShape = {
|
|
21636
|
+
additionalFields: eventListingDerivedFields,
|
|
21637
|
+
skipSectionStyles: true
|
|
21638
|
+
};
|
|
21639
|
+
var eventListingConfig = {
|
|
21133
21640
|
id: "block.event-listing",
|
|
21134
21641
|
version: "1.1.0",
|
|
21135
21642
|
title: "Event Listing",
|
|
@@ -21137,211 +21644,18 @@ var eventListingManifest = createBlockManifest({
|
|
|
21137
21644
|
description: "Paginated list of all upcoming events",
|
|
21138
21645
|
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
21139
21646
|
skipSectionStyles: true,
|
|
21140
|
-
additionalFields:
|
|
21141
|
-
...sectionHeaderFields("All Events"),
|
|
21142
|
-
...(() => {
|
|
21143
|
-
const columns = columnsField(["2", "3", "4"]);
|
|
21144
|
-
return [
|
|
21145
|
-
{
|
|
21146
|
-
...layoutField,
|
|
21147
|
-
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
21148
|
-
},
|
|
21149
|
-
{
|
|
21150
|
-
...columns,
|
|
21151
|
-
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
21152
|
-
}
|
|
21153
|
-
];
|
|
21154
|
-
})(),
|
|
21155
|
-
{
|
|
21156
|
-
id: "eventsPerPage",
|
|
21157
|
-
type: "select",
|
|
21158
|
-
label: "Events per page",
|
|
21159
|
-
description: "Number of events to load at a time",
|
|
21160
|
-
required: false,
|
|
21161
|
-
multiple: false,
|
|
21162
|
-
defaultValue: "12",
|
|
21163
|
-
options: [
|
|
21164
|
-
{ value: "3", label: "3 events" },
|
|
21165
|
-
{ value: "6", label: "6 events" },
|
|
21166
|
-
{ value: "12", label: "12 events" },
|
|
21167
|
-
{ value: "24", label: "24 events" }
|
|
21168
|
-
],
|
|
21169
|
-
ui: { intent: "display" }
|
|
21170
|
-
},
|
|
21171
|
-
{
|
|
21172
|
-
id: "paginationMode",
|
|
21173
|
-
type: "select",
|
|
21174
|
-
label: "More events",
|
|
21175
|
-
description: "How to access events beyond the initial list",
|
|
21176
|
-
required: false,
|
|
21177
|
-
multiple: false,
|
|
21178
|
-
defaultValue: "loadMore",
|
|
21179
|
-
options: [
|
|
21180
|
-
{ value: "loadMore", label: "Load more button" },
|
|
21181
|
-
{ value: "seeAllLink", label: "Link to another page" }
|
|
21182
|
-
],
|
|
21183
|
-
ui: { intent: "display" }
|
|
21184
|
-
},
|
|
21185
|
-
{
|
|
21186
|
-
id: "seeAllUrl",
|
|
21187
|
-
type: "link",
|
|
21188
|
-
label: "See all destination",
|
|
21189
|
-
required: false,
|
|
21190
|
-
ui: {
|
|
21191
|
-
intent: "display",
|
|
21192
|
-
visibleWhen: {
|
|
21193
|
-
field: "paginationMode",
|
|
21194
|
-
equals: "seeAllLink"
|
|
21195
|
-
}
|
|
21196
|
-
}
|
|
21197
|
-
},
|
|
21198
|
-
{
|
|
21199
|
-
id: "loadMoreText",
|
|
21200
|
-
type: "text",
|
|
21201
|
-
label: "Button text",
|
|
21202
|
-
description: "Text for the pagination button or link",
|
|
21203
|
-
required: false,
|
|
21204
|
-
multiline: false,
|
|
21205
|
-
defaultValue: "Load more events",
|
|
21206
|
-
maxLength: 40
|
|
21207
|
-
},
|
|
21208
|
-
...cardStylingFields.map((field) => ({
|
|
21209
|
-
...field,
|
|
21210
|
-
ui: { ...field.ui ?? {}, intent: "style" }
|
|
21211
|
-
})),
|
|
21212
|
-
...eventDisplayFields.map((field) => ({
|
|
21213
|
-
...field,
|
|
21214
|
-
ui: { ...field.ui ?? {}, intent: "display" }
|
|
21215
|
-
})),
|
|
21216
|
-
{
|
|
21217
|
-
id: "kind",
|
|
21218
|
-
type: "select",
|
|
21219
|
-
label: "Show",
|
|
21220
|
-
description: "Choose whether this list shows courses, events, or both",
|
|
21221
|
-
required: false,
|
|
21222
|
-
multiple: false,
|
|
21223
|
-
defaultValue: "all",
|
|
21224
|
-
options: [
|
|
21225
|
-
{ value: "all", label: "Courses and events" },
|
|
21226
|
-
{ value: "courses", label: "Courses only" },
|
|
21227
|
-
{ value: "events", label: "Events only" }
|
|
21228
|
-
],
|
|
21229
|
-
ui: { intent: "behavior" }
|
|
21230
|
-
},
|
|
21231
|
-
{
|
|
21232
|
-
id: "eventSurface",
|
|
21233
|
-
type: "select",
|
|
21234
|
-
label: "Event surface",
|
|
21235
|
-
description: "Choose a semantic event scope",
|
|
21236
|
-
required: false,
|
|
21237
|
-
multiple: false,
|
|
21238
|
-
defaultValue: "all",
|
|
21239
|
-
options: [
|
|
21240
|
-
{ value: "all", label: "All events" },
|
|
21241
|
-
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
21242
|
-
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
21243
|
-
{ value: "custom", label: "Custom" }
|
|
21244
|
-
],
|
|
21245
|
-
ui: { intent: "behavior" }
|
|
21246
|
-
},
|
|
21247
|
-
{
|
|
21248
|
-
id: "filterEventPresets",
|
|
21249
|
-
type: "select",
|
|
21250
|
-
label: "Pre-filter by event type",
|
|
21251
|
-
description: "Restrict this block to specific event types",
|
|
21252
|
-
required: false,
|
|
21253
|
-
multiple: true,
|
|
21254
|
-
defaultValue: [],
|
|
21255
|
-
options: [
|
|
21256
|
-
{ value: "class", label: "Classes" },
|
|
21257
|
-
{ value: "workshop", label: "Workshops" },
|
|
21258
|
-
{ value: "retreat", label: "Retreats" },
|
|
21259
|
-
{ value: "performance", label: "Performances" }
|
|
21260
|
-
],
|
|
21261
|
-
ui: {
|
|
21262
|
-
intent: "behavior",
|
|
21263
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21264
|
-
}
|
|
21265
|
-
},
|
|
21266
|
-
{
|
|
21267
|
-
id: "scheduleScope",
|
|
21268
|
-
type: "select",
|
|
21269
|
-
label: "Schedule cadence",
|
|
21270
|
-
description: "Restrict this block by recurrence",
|
|
21271
|
-
required: false,
|
|
21272
|
-
multiple: false,
|
|
21273
|
-
defaultValue: "any",
|
|
21274
|
-
options: [
|
|
21275
|
-
{ value: "any", label: "Any cadence" },
|
|
21276
|
-
{ value: "recurring", label: "Recurring only" },
|
|
21277
|
-
{ value: "oneOff", label: "One-off only" }
|
|
21278
|
-
],
|
|
21279
|
-
ui: {
|
|
21280
|
-
intent: "behavior",
|
|
21281
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
21282
|
-
}
|
|
21283
|
-
},
|
|
21284
|
-
{
|
|
21285
|
-
...emptyStateField,
|
|
21286
|
-
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
21287
|
-
},
|
|
21288
|
-
sectionStylesField({
|
|
21289
|
-
id: "_sectionStyles",
|
|
21290
|
-
label: "Section styles",
|
|
21291
|
-
renderInHeader: false
|
|
21292
|
-
})
|
|
21293
|
-
],
|
|
21647
|
+
additionalFields: eventListingAdditionalFields,
|
|
21294
21648
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
21295
21649
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: true },
|
|
21296
21650
|
category: "interactive",
|
|
21297
21651
|
tags: ["events", "listing", "paginated", "archive", "all-events"],
|
|
21298
21652
|
icon: "List",
|
|
21299
|
-
layout:
|
|
21300
|
-
|
|
21301
|
-
|
|
21302
|
-
|
|
21303
|
-
|
|
21304
|
-
|
|
21305
|
-
bind("content.heading"),
|
|
21306
|
-
when("content.heading")
|
|
21307
|
-
),
|
|
21308
|
-
// Optional description
|
|
21309
|
-
richText(
|
|
21310
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
21311
|
-
bind("content.description"),
|
|
21312
|
-
when("content.description")
|
|
21313
|
-
),
|
|
21314
|
-
// Event listing component with pagination
|
|
21315
|
-
el("event-listing", withApiBindings({
|
|
21316
|
-
events: { $bind: { from: "data.events" } },
|
|
21317
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
21318
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
21319
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
21320
|
-
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
21321
|
-
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
21322
|
-
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
21323
|
-
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
21324
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
21325
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
21326
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
21327
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
21328
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
21329
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
21330
|
-
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
21331
|
-
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
21332
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
21333
|
-
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
21334
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
21335
|
-
}))
|
|
21336
|
-
], {
|
|
21337
|
-
gap: "lg"
|
|
21338
|
-
}),
|
|
21339
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
21340
|
-
baseClass: "",
|
|
21341
|
-
spacing: "comfortable"
|
|
21342
|
-
})
|
|
21343
|
-
]
|
|
21344
|
-
});
|
|
21653
|
+
layout: eventListingLayout
|
|
21654
|
+
};
|
|
21655
|
+
var eventListingManifest = createBlockManifestWithContentShape(
|
|
21656
|
+
eventListingConfig,
|
|
21657
|
+
eventListingContentShape
|
|
21658
|
+
);
|
|
21345
21659
|
var eventListingBlockDefinition = {
|
|
21346
21660
|
manifest: eventListingManifest,
|
|
21347
21661
|
runtime: eventListingBlockRuntime,
|
|
@@ -21368,7 +21682,6 @@ var eventListingBlockDefinition = {
|
|
|
21368
21682
|
|
|
21369
21683
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
21370
21684
|
import { z as z49 } from "zod";
|
|
21371
|
-
var displayModeSchema = z49.enum(["combined", "month", "week", "list", "timetable"]);
|
|
21372
21685
|
var eventBlockKindSchema2 = z49.enum(eventBlockKindValues);
|
|
21373
21686
|
var eventSurfaceScopeSchema2 = z49.enum(eventSurfaceScopeValues);
|
|
21374
21687
|
var eventScheduleScopeSchema3 = z49.enum(eventScheduleScopeValues);
|
|
@@ -21378,7 +21691,8 @@ var eventCalendarSourceSchema = z49.object(
|
|
|
21378
21691
|
siteId: z49.string(),
|
|
21379
21692
|
apiBaseUrl: z49.string().optional(),
|
|
21380
21693
|
stage: previewStageSchema.optional(),
|
|
21381
|
-
|
|
21694
|
+
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
21695
|
+
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
21382
21696
|
listLayout: eventLayoutSchema.optional(),
|
|
21383
21697
|
listColumns: columnOptionSchema.optional(),
|
|
21384
21698
|
layout: eventLayoutSchema.optional(),
|
|
@@ -21410,7 +21724,7 @@ var eventCalendarSourceSchema = z49.object(
|
|
|
21410
21724
|
);
|
|
21411
21725
|
var eventCalendarDisplaySchema = z49.object({
|
|
21412
21726
|
kind: z49.literal("event-calendar"),
|
|
21413
|
-
displayMode:
|
|
21727
|
+
displayMode: eventCalendarDisplayModeSchema,
|
|
21414
21728
|
className: z49.string().nullable(),
|
|
21415
21729
|
events: z49.array(publicEventSchema),
|
|
21416
21730
|
listLayout: eventLayoutSchema,
|
|
@@ -21465,7 +21779,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
21465
21779
|
function buildEventCalendarDisplay(source) {
|
|
21466
21780
|
return {
|
|
21467
21781
|
kind: "event-calendar",
|
|
21468
|
-
displayMode: source.displayMode ?? "combined",
|
|
21782
|
+
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
21469
21783
|
className: source.className ?? null,
|
|
21470
21784
|
events: (source.events ?? []).slice().sort(
|
|
21471
21785
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
@@ -21565,8 +21879,12 @@ function buildEventCalendarInteractiveIslandProps(props2) {
|
|
|
21565
21879
|
function normalizeEventCalendarContent(content) {
|
|
21566
21880
|
const record = typeof content === "object" && content !== null ? content : {};
|
|
21567
21881
|
const kind = normalizeEventBlockKind(record.kind);
|
|
21882
|
+
const variant = normalizeEventCalendarDisplayMode(record.variant) ?? normalizeEventCalendarDisplayMode(record.displayMode);
|
|
21568
21883
|
return {
|
|
21569
21884
|
...record,
|
|
21885
|
+
...variant ? { variant } : {},
|
|
21886
|
+
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
21887
|
+
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
21570
21888
|
kind,
|
|
21571
21889
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
21572
21890
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -21578,355 +21896,515 @@ function normalizeEventCalendarContent(content) {
|
|
|
21578
21896
|
filterVenueId: normalizeEventVenueId(record.filterVenueId)
|
|
21579
21897
|
};
|
|
21580
21898
|
}
|
|
21581
|
-
|
|
21582
|
-
|
|
21583
|
-
|
|
21584
|
-
|
|
21585
|
-
|
|
21586
|
-
|
|
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
|
-
id: "loadMoreText",
|
|
21684
|
-
type: "text",
|
|
21685
|
-
label: "Load more button text",
|
|
21686
|
-
description: "Text for the load more button",
|
|
21687
|
-
required: false,
|
|
21688
|
-
multiline: false,
|
|
21689
|
-
defaultValue: "Load more events",
|
|
21690
|
-
ui: {
|
|
21691
|
-
intent: "content",
|
|
21692
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list"] }
|
|
21693
|
-
}
|
|
21694
|
-
},
|
|
21695
|
-
// Calendar options
|
|
21696
|
-
{
|
|
21697
|
-
id: "startOfWeek",
|
|
21698
|
-
type: "select",
|
|
21699
|
-
label: "Week starts on",
|
|
21700
|
-
description: "First day of the week",
|
|
21701
|
-
required: false,
|
|
21702
|
-
multiple: false,
|
|
21703
|
-
defaultValue: "monday",
|
|
21704
|
-
options: [
|
|
21705
|
-
{ value: "sunday", label: "Sunday" },
|
|
21706
|
-
{ value: "monday", label: "Monday" }
|
|
21707
|
-
],
|
|
21708
|
-
ui: {
|
|
21709
|
-
intent: "display",
|
|
21710
|
-
visibleWhen: {
|
|
21711
|
-
field: "displayMode",
|
|
21712
|
-
oneOf: ["combined", "month", "week"]
|
|
21713
|
-
}
|
|
21714
|
-
}
|
|
21715
|
-
},
|
|
21716
|
-
// Combined mode options
|
|
21717
|
-
{
|
|
21718
|
-
id: "calendarTabViews",
|
|
21719
|
-
type: "select",
|
|
21720
|
-
label: "Calendar tab views",
|
|
21721
|
-
description: "Which calendar views to show in the Calendar tab",
|
|
21722
|
-
required: false,
|
|
21723
|
-
multiple: false,
|
|
21724
|
-
defaultValue: "both",
|
|
21725
|
-
options: [
|
|
21726
|
-
{ value: "both", label: "Month + Week toggle" },
|
|
21727
|
-
{ value: "month", label: "Month only" },
|
|
21728
|
-
{ value: "week", label: "Week only" }
|
|
21729
|
-
],
|
|
21730
|
-
ui: {
|
|
21731
|
-
intent: "display",
|
|
21732
|
-
visibleWhen: { field: "displayMode", equals: "combined" }
|
|
21733
|
-
}
|
|
21734
|
-
},
|
|
21735
|
-
// Filtering options
|
|
21736
|
-
{
|
|
21737
|
-
id: "kind",
|
|
21738
|
-
type: "select",
|
|
21739
|
-
label: "Show",
|
|
21740
|
-
description: "Restrict this block to all offerings, courses, or events",
|
|
21741
|
-
required: false,
|
|
21742
|
-
multiple: false,
|
|
21743
|
-
defaultValue: "all",
|
|
21744
|
-
options: [
|
|
21745
|
-
{ value: "all", label: "All offerings" },
|
|
21746
|
-
{ value: "courses", label: "Courses only" },
|
|
21747
|
-
{ value: "events", label: "Events only" }
|
|
21748
|
-
],
|
|
21749
|
-
ui: { intent: "behavior" }
|
|
21750
|
-
},
|
|
21751
|
-
{
|
|
21752
|
-
id: "showFilters",
|
|
21753
|
-
type: "boolean",
|
|
21754
|
-
label: "Show filters",
|
|
21755
|
-
description: "Show category, staff, and venue filters",
|
|
21756
|
-
required: false,
|
|
21757
|
-
defaultValue: true,
|
|
21758
|
-
ui: {
|
|
21759
|
-
intent: "display",
|
|
21760
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21761
|
-
}
|
|
21762
|
-
},
|
|
21763
|
-
{
|
|
21764
|
-
id: "showCategoryFilter",
|
|
21765
|
-
type: "select",
|
|
21766
|
-
label: "Show category filter",
|
|
21767
|
-
description: "When to show the category filter dropdown",
|
|
21768
|
-
required: false,
|
|
21769
|
-
multiple: false,
|
|
21770
|
-
defaultValue: "auto",
|
|
21771
|
-
options: [
|
|
21772
|
-
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
21773
|
-
{ value: "always", label: "Always" },
|
|
21774
|
-
{ value: "never", label: "Never" }
|
|
21899
|
+
function normalizeEventCalendarDisplayMode(value) {
|
|
21900
|
+
return isEventCalendarDisplayMode(value) ? value : void 0;
|
|
21901
|
+
}
|
|
21902
|
+
function normalizeEventCalendarListLayout(value) {
|
|
21903
|
+
return isEventCalendarListLayout(value) ? value : void 0;
|
|
21904
|
+
}
|
|
21905
|
+
var eventCalendarLayout = [
|
|
21906
|
+
styledSection({
|
|
21907
|
+
children: sectionContainer(
|
|
21908
|
+
[
|
|
21909
|
+
// Optional heading
|
|
21910
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
21911
|
+
// Optional description
|
|
21912
|
+
richText(
|
|
21913
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
21914
|
+
bind("content.description"),
|
|
21915
|
+
when("content.description")
|
|
21916
|
+
),
|
|
21917
|
+
// Event calendar component (handles all display modes)
|
|
21918
|
+
el(
|
|
21919
|
+
"event-calendar",
|
|
21920
|
+
withApiBindings({
|
|
21921
|
+
events: { $bind: { from: "data.events" } },
|
|
21922
|
+
stage: {
|
|
21923
|
+
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
21924
|
+
},
|
|
21925
|
+
// Variant is the new Theme V2-facing display mode. displayMode is
|
|
21926
|
+
// retained as a legacy fallback for existing content.
|
|
21927
|
+
variant: {
|
|
21928
|
+
$bind: { from: "content.variant" }
|
|
21929
|
+
},
|
|
21930
|
+
displayMode: {
|
|
21931
|
+
$bind: { from: "content.displayMode" }
|
|
21932
|
+
},
|
|
21933
|
+
// List options
|
|
21934
|
+
listLayout: { $bind: { from: "content.listLayout" } },
|
|
21935
|
+
listColumns: { $bind: { from: "content.listColumns" } },
|
|
21936
|
+
// Legacy compatibility: older event-calendar content used layout/columns
|
|
21937
|
+
layout: { $bind: { from: "content.layout" } },
|
|
21938
|
+
columns: { $bind: { from: "content.columns" } },
|
|
21939
|
+
eventsPerPage: {
|
|
21940
|
+
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
21941
|
+
},
|
|
21942
|
+
compactEventsPerPage: {
|
|
21943
|
+
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
21944
|
+
},
|
|
21945
|
+
loadMoreText: {
|
|
21946
|
+
$bind: {
|
|
21947
|
+
from: "content.loadMoreText",
|
|
21948
|
+
fallback: "Load more events"
|
|
21949
|
+
}
|
|
21950
|
+
},
|
|
21951
|
+
// Calendar options
|
|
21952
|
+
startOfWeek: {
|
|
21953
|
+
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
21954
|
+
},
|
|
21955
|
+
calendarTabViews: {
|
|
21956
|
+
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
21957
|
+
},
|
|
21958
|
+
// Filtering options
|
|
21959
|
+
showFilters: {
|
|
21960
|
+
$bind: { from: "content.showFilters", fallback: true }
|
|
21961
|
+
},
|
|
21962
|
+
showCategoryFilter: {
|
|
21963
|
+
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
21964
|
+
},
|
|
21965
|
+
showVenueFilter: {
|
|
21966
|
+
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
21967
|
+
},
|
|
21968
|
+
showStaffFilter: {
|
|
21969
|
+
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
21970
|
+
},
|
|
21971
|
+
showCapacity: {
|
|
21972
|
+
$bind: { from: "content.showCapacity", fallback: true }
|
|
21973
|
+
},
|
|
21974
|
+
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
21975
|
+
eventSurface: {
|
|
21976
|
+
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
21977
|
+
},
|
|
21978
|
+
filterEventPresets: {
|
|
21979
|
+
$bind: { from: "content.filterEventPresets" }
|
|
21980
|
+
},
|
|
21981
|
+
scheduleScope: {
|
|
21982
|
+
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
21983
|
+
},
|
|
21984
|
+
filterCategoryIds: {
|
|
21985
|
+
$bind: { from: "content.filterCategoryIds" }
|
|
21986
|
+
},
|
|
21987
|
+
filterStaffMemberId: {
|
|
21988
|
+
$bind: { from: "content.filterStaffMemberId" }
|
|
21989
|
+
},
|
|
21990
|
+
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
21991
|
+
// Styling
|
|
21992
|
+
buttonVariant: {
|
|
21993
|
+
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
21994
|
+
},
|
|
21995
|
+
buttonText: {
|
|
21996
|
+
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
21997
|
+
},
|
|
21998
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
21999
|
+
})
|
|
22000
|
+
)
|
|
21775
22001
|
],
|
|
21776
|
-
|
|
21777
|
-
|
|
21778
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21779
|
-
}
|
|
21780
|
-
},
|
|
21781
|
-
{
|
|
21782
|
-
id: "showVenueFilter",
|
|
21783
|
-
type: "boolean",
|
|
21784
|
-
label: "Show venue filter",
|
|
21785
|
-
description: "Show venue filter dropdown",
|
|
21786
|
-
required: false,
|
|
21787
|
-
defaultValue: false,
|
|
21788
|
-
ui: {
|
|
21789
|
-
intent: "display",
|
|
21790
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21791
|
-
}
|
|
21792
|
-
},
|
|
21793
|
-
{
|
|
21794
|
-
id: "showStaffFilter",
|
|
21795
|
-
type: "boolean",
|
|
21796
|
-
label: "Show staff filter",
|
|
21797
|
-
description: "Show staff filter dropdown",
|
|
21798
|
-
required: false,
|
|
21799
|
-
defaultValue: true,
|
|
21800
|
-
ui: {
|
|
21801
|
-
intent: "display",
|
|
21802
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
21803
|
-
}
|
|
21804
|
-
},
|
|
21805
|
-
{
|
|
21806
|
-
id: "showCapacity",
|
|
21807
|
-
type: "boolean",
|
|
21808
|
-
label: "Show available spots",
|
|
21809
|
-
description: "Display remaining capacity on event cards and timetable cells",
|
|
21810
|
-
required: false,
|
|
21811
|
-
defaultValue: true,
|
|
21812
|
-
ui: {
|
|
21813
|
-
intent: "display",
|
|
21814
|
-
visibleWhen: {
|
|
21815
|
-
field: "displayMode",
|
|
21816
|
-
oneOf: ["combined", "list", "week", "timetable"]
|
|
21817
|
-
}
|
|
22002
|
+
{
|
|
22003
|
+
gap: "lg"
|
|
21818
22004
|
}
|
|
21819
|
-
|
|
21820
|
-
//
|
|
21821
|
-
|
|
21822
|
-
|
|
21823
|
-
|
|
21824
|
-
|
|
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
|
-
|
|
22005
|
+
),
|
|
22006
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
22007
|
+
baseClass: "",
|
|
22008
|
+
spacing: "comfortable"
|
|
22009
|
+
})
|
|
22010
|
+
];
|
|
22011
|
+
var eventCalendarAdditionalFields = [
|
|
22012
|
+
...sectionHeaderFields("Event Calendar"),
|
|
22013
|
+
// Display Mode (replaces calendarView)
|
|
22014
|
+
{
|
|
22015
|
+
id: "displayMode",
|
|
22016
|
+
type: "select",
|
|
22017
|
+
label: "Display mode",
|
|
22018
|
+
description: "How events are displayed",
|
|
22019
|
+
required: false,
|
|
22020
|
+
multiple: false,
|
|
22021
|
+
defaultValue: "combined",
|
|
22022
|
+
options: [
|
|
22023
|
+
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
22024
|
+
{ value: "month", label: "Month calendar" },
|
|
22025
|
+
{ value: "week", label: "Week agenda" },
|
|
22026
|
+
{ value: "timetable", label: "Timetable" },
|
|
22027
|
+
{ value: "list", label: "List" }
|
|
22028
|
+
],
|
|
22029
|
+
ui: { intent: "display", hidden: true }
|
|
22030
|
+
},
|
|
22031
|
+
// List options (visible when displayMode is list or combined)
|
|
22032
|
+
{
|
|
22033
|
+
id: "listLayout",
|
|
22034
|
+
type: "select",
|
|
22035
|
+
label: "List layout",
|
|
22036
|
+
description: "Layout style for list view",
|
|
22037
|
+
required: false,
|
|
22038
|
+
multiple: false,
|
|
22039
|
+
defaultValue: "stack",
|
|
22040
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
22041
|
+
value: option.id,
|
|
22042
|
+
label: option.label
|
|
22043
|
+
})),
|
|
22044
|
+
ui: {
|
|
22045
|
+
intent: "display",
|
|
22046
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
22047
|
+
}
|
|
22048
|
+
},
|
|
22049
|
+
{
|
|
22050
|
+
id: "listColumns",
|
|
22051
|
+
type: "select",
|
|
22052
|
+
label: "Grid columns",
|
|
22053
|
+
description: "Number of columns in grid layout",
|
|
22054
|
+
required: false,
|
|
22055
|
+
multiple: false,
|
|
22056
|
+
defaultValue: "3",
|
|
22057
|
+
options: [
|
|
22058
|
+
{ value: "2", label: "2 columns" },
|
|
22059
|
+
{ value: "3", label: "3 columns" },
|
|
22060
|
+
{ value: "4", label: "4 columns" }
|
|
22061
|
+
],
|
|
22062
|
+
ui: {
|
|
22063
|
+
intent: "display",
|
|
22064
|
+
visibleWhen: { field: "listLayout", equals: "grid" }
|
|
22065
|
+
}
|
|
22066
|
+
},
|
|
22067
|
+
{
|
|
22068
|
+
id: "eventsPerPage",
|
|
22069
|
+
type: "select",
|
|
22070
|
+
label: "Events per page (cards)",
|
|
22071
|
+
description: "Number of events to load initially in card layouts",
|
|
22072
|
+
required: false,
|
|
22073
|
+
multiple: false,
|
|
22074
|
+
defaultValue: "12",
|
|
22075
|
+
options: [
|
|
22076
|
+
{ value: "6", label: "6" },
|
|
22077
|
+
{ value: "12", label: "12" },
|
|
22078
|
+
{ value: "24", label: "24" }
|
|
22079
|
+
],
|
|
22080
|
+
ui: {
|
|
22081
|
+
intent: "display",
|
|
22082
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
22083
|
+
}
|
|
22084
|
+
},
|
|
22085
|
+
{
|
|
22086
|
+
id: "compactEventsPerPage",
|
|
22087
|
+
type: "select",
|
|
22088
|
+
label: "Events per page (compact)",
|
|
22089
|
+
description: "Number of events to show per page in compact layout",
|
|
22090
|
+
required: false,
|
|
22091
|
+
multiple: false,
|
|
22092
|
+
defaultValue: "10",
|
|
22093
|
+
options: [
|
|
22094
|
+
{ value: "10", label: "10" },
|
|
22095
|
+
{ value: "20", label: "20" },
|
|
22096
|
+
{ value: "30", label: "30" }
|
|
22097
|
+
],
|
|
22098
|
+
ui: {
|
|
22099
|
+
intent: "display",
|
|
22100
|
+
visibleWhen: { field: "listLayout", equals: "compact" }
|
|
22101
|
+
}
|
|
22102
|
+
},
|
|
22103
|
+
{
|
|
22104
|
+
id: "loadMoreText",
|
|
22105
|
+
type: "text",
|
|
22106
|
+
label: "Load more button text",
|
|
22107
|
+
description: "Text for the load more button",
|
|
22108
|
+
required: false,
|
|
22109
|
+
multiline: false,
|
|
22110
|
+
defaultValue: "Load more events",
|
|
22111
|
+
ui: {
|
|
22112
|
+
intent: "content",
|
|
22113
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
22114
|
+
}
|
|
22115
|
+
},
|
|
22116
|
+
// Calendar options
|
|
22117
|
+
{
|
|
22118
|
+
id: "startOfWeek",
|
|
22119
|
+
type: "select",
|
|
22120
|
+
label: "Week starts on",
|
|
22121
|
+
description: "First day of the week",
|
|
22122
|
+
required: false,
|
|
22123
|
+
multiple: false,
|
|
22124
|
+
defaultValue: "monday",
|
|
22125
|
+
options: [
|
|
22126
|
+
{ value: "sunday", label: "Sunday" },
|
|
22127
|
+
{ value: "monday", label: "Monday" }
|
|
22128
|
+
],
|
|
22129
|
+
ui: {
|
|
22130
|
+
intent: "display",
|
|
22131
|
+
visibleWhen: {
|
|
22132
|
+
field: "variant",
|
|
22133
|
+
oneOf: ["combined", "month", "week"]
|
|
21854
22134
|
}
|
|
21855
|
-
}
|
|
21856
|
-
|
|
21857
|
-
|
|
21858
|
-
|
|
21859
|
-
|
|
21860
|
-
|
|
21861
|
-
|
|
21862
|
-
|
|
21863
|
-
|
|
21864
|
-
|
|
21865
|
-
|
|
21866
|
-
|
|
21867
|
-
|
|
21868
|
-
|
|
21869
|
-
|
|
21870
|
-
|
|
21871
|
-
|
|
22135
|
+
}
|
|
22136
|
+
},
|
|
22137
|
+
// Combined mode options
|
|
22138
|
+
{
|
|
22139
|
+
id: "calendarTabViews",
|
|
22140
|
+
type: "select",
|
|
22141
|
+
label: "Calendar tab views",
|
|
22142
|
+
description: "Which calendar views to show in the Calendar tab",
|
|
22143
|
+
required: false,
|
|
22144
|
+
multiple: false,
|
|
22145
|
+
defaultValue: "both",
|
|
22146
|
+
options: [
|
|
22147
|
+
{ value: "both", label: "Month + Week toggle" },
|
|
22148
|
+
{ value: "month", label: "Month only" },
|
|
22149
|
+
{ value: "week", label: "Week only" }
|
|
22150
|
+
],
|
|
22151
|
+
ui: {
|
|
22152
|
+
intent: "display",
|
|
22153
|
+
visibleWhen: { field: "variant", equals: "combined" }
|
|
22154
|
+
}
|
|
22155
|
+
},
|
|
22156
|
+
// Filtering options
|
|
22157
|
+
{
|
|
22158
|
+
id: "kind",
|
|
22159
|
+
type: "select",
|
|
22160
|
+
label: "Show",
|
|
22161
|
+
description: "Restrict this block to all offerings, courses, or events",
|
|
22162
|
+
required: false,
|
|
22163
|
+
multiple: false,
|
|
22164
|
+
defaultValue: "all",
|
|
22165
|
+
options: [
|
|
22166
|
+
{ value: "all", label: "All offerings" },
|
|
22167
|
+
{ value: "courses", label: "Courses only" },
|
|
22168
|
+
{ value: "events", label: "Events only" }
|
|
22169
|
+
],
|
|
22170
|
+
ui: { intent: "behavior" }
|
|
22171
|
+
},
|
|
22172
|
+
{
|
|
22173
|
+
id: "showFilters",
|
|
22174
|
+
type: "boolean",
|
|
22175
|
+
label: "Show filters",
|
|
22176
|
+
description: "Show category, staff, and venue filters",
|
|
22177
|
+
required: false,
|
|
22178
|
+
defaultValue: true,
|
|
22179
|
+
ui: {
|
|
22180
|
+
intent: "display",
|
|
22181
|
+
visibleWhen: {
|
|
22182
|
+
field: "variant",
|
|
22183
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21872
22184
|
}
|
|
21873
|
-
}
|
|
21874
|
-
|
|
21875
|
-
|
|
21876
|
-
|
|
21877
|
-
|
|
21878
|
-
|
|
21879
|
-
|
|
21880
|
-
|
|
21881
|
-
|
|
21882
|
-
|
|
21883
|
-
|
|
21884
|
-
|
|
21885
|
-
|
|
22185
|
+
}
|
|
22186
|
+
},
|
|
22187
|
+
{
|
|
22188
|
+
id: "showCategoryFilter",
|
|
22189
|
+
type: "select",
|
|
22190
|
+
label: "Show category filter",
|
|
22191
|
+
description: "When to show the category filter dropdown",
|
|
22192
|
+
required: false,
|
|
22193
|
+
multiple: false,
|
|
22194
|
+
defaultValue: "auto",
|
|
22195
|
+
options: [
|
|
22196
|
+
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
22197
|
+
{ value: "always", label: "Always" },
|
|
22198
|
+
{ value: "never", label: "Never" }
|
|
22199
|
+
],
|
|
22200
|
+
ui: {
|
|
22201
|
+
intent: "display",
|
|
22202
|
+
visibleWhen: {
|
|
22203
|
+
field: "variant",
|
|
22204
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21886
22205
|
}
|
|
21887
|
-
}
|
|
21888
|
-
|
|
21889
|
-
|
|
21890
|
-
|
|
21891
|
-
|
|
21892
|
-
|
|
21893
|
-
|
|
21894
|
-
|
|
21895
|
-
|
|
21896
|
-
|
|
21897
|
-
|
|
22206
|
+
}
|
|
22207
|
+
},
|
|
22208
|
+
{
|
|
22209
|
+
id: "showVenueFilter",
|
|
22210
|
+
type: "boolean",
|
|
22211
|
+
label: "Show venue filter",
|
|
22212
|
+
description: "Show venue filter dropdown",
|
|
22213
|
+
required: false,
|
|
22214
|
+
defaultValue: false,
|
|
22215
|
+
ui: {
|
|
22216
|
+
intent: "display",
|
|
22217
|
+
visibleWhen: {
|
|
22218
|
+
field: "variant",
|
|
22219
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21898
22220
|
}
|
|
21899
|
-
}
|
|
21900
|
-
|
|
21901
|
-
|
|
21902
|
-
|
|
21903
|
-
|
|
21904
|
-
|
|
21905
|
-
|
|
21906
|
-
|
|
21907
|
-
|
|
21908
|
-
|
|
21909
|
-
|
|
22221
|
+
}
|
|
22222
|
+
},
|
|
22223
|
+
{
|
|
22224
|
+
id: "showStaffFilter",
|
|
22225
|
+
type: "boolean",
|
|
22226
|
+
label: "Show staff filter",
|
|
22227
|
+
description: "Show staff filter dropdown",
|
|
22228
|
+
required: false,
|
|
22229
|
+
defaultValue: true,
|
|
22230
|
+
ui: {
|
|
22231
|
+
intent: "display",
|
|
22232
|
+
visibleWhen: {
|
|
22233
|
+
field: "variant",
|
|
22234
|
+
oneOf: ["combined", "list", "timetable"]
|
|
21910
22235
|
}
|
|
21911
|
-
}
|
|
21912
|
-
|
|
21913
|
-
|
|
21914
|
-
|
|
21915
|
-
|
|
21916
|
-
|
|
21917
|
-
|
|
22236
|
+
}
|
|
22237
|
+
},
|
|
22238
|
+
{
|
|
22239
|
+
id: "showCapacity",
|
|
22240
|
+
type: "boolean",
|
|
22241
|
+
label: "Show available spots",
|
|
22242
|
+
description: "Display remaining capacity on event cards and timetable cells",
|
|
22243
|
+
required: false,
|
|
22244
|
+
defaultValue: true,
|
|
22245
|
+
ui: {
|
|
22246
|
+
intent: "display",
|
|
22247
|
+
visibleWhen: {
|
|
22248
|
+
field: "variant",
|
|
22249
|
+
oneOf: ["combined", "list", "week", "timetable"]
|
|
21918
22250
|
}
|
|
21919
|
-
}
|
|
21920
|
-
|
|
21921
|
-
|
|
21922
|
-
|
|
21923
|
-
|
|
21924
|
-
|
|
21925
|
-
|
|
21926
|
-
|
|
21927
|
-
|
|
21928
|
-
|
|
21929
|
-
|
|
22251
|
+
}
|
|
22252
|
+
},
|
|
22253
|
+
// Block-level pre-filtering
|
|
22254
|
+
{
|
|
22255
|
+
id: "eventSurface",
|
|
22256
|
+
type: "select",
|
|
22257
|
+
label: "Event surface",
|
|
22258
|
+
description: "Choose a semantic event scope",
|
|
22259
|
+
required: false,
|
|
22260
|
+
multiple: false,
|
|
22261
|
+
defaultValue: "all",
|
|
22262
|
+
options: [
|
|
22263
|
+
{ value: "all", label: "All events" },
|
|
22264
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
22265
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
22266
|
+
{ value: "custom", label: "Custom" }
|
|
22267
|
+
],
|
|
22268
|
+
ui: { intent: "behavior" }
|
|
22269
|
+
},
|
|
22270
|
+
{
|
|
22271
|
+
id: "filterEventPresets",
|
|
22272
|
+
type: "select",
|
|
22273
|
+
label: "Pre-filter by event type",
|
|
22274
|
+
description: "Restrict this block to specific event types",
|
|
22275
|
+
required: false,
|
|
22276
|
+
multiple: true,
|
|
22277
|
+
defaultValue: [],
|
|
22278
|
+
options: [
|
|
22279
|
+
{ value: "class", label: "Classes" },
|
|
22280
|
+
{ value: "workshop", label: "Workshops" },
|
|
22281
|
+
{ value: "retreat", label: "Retreats" },
|
|
22282
|
+
{ value: "performance", label: "Performances" }
|
|
22283
|
+
],
|
|
22284
|
+
ui: {
|
|
22285
|
+
intent: "behavior",
|
|
22286
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22287
|
+
}
|
|
22288
|
+
},
|
|
22289
|
+
{
|
|
22290
|
+
id: "scheduleScope",
|
|
22291
|
+
type: "select",
|
|
22292
|
+
label: "Schedule cadence",
|
|
22293
|
+
description: "Restrict this block by recurrence",
|
|
22294
|
+
required: false,
|
|
22295
|
+
multiple: false,
|
|
22296
|
+
defaultValue: "any",
|
|
22297
|
+
options: [
|
|
22298
|
+
{ value: "any", label: "Any cadence" },
|
|
22299
|
+
{ value: "recurring", label: "Recurring only" },
|
|
22300
|
+
{ value: "oneOff", label: "One-off only" }
|
|
22301
|
+
],
|
|
22302
|
+
ui: {
|
|
22303
|
+
intent: "behavior",
|
|
22304
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22305
|
+
}
|
|
22306
|
+
},
|
|
22307
|
+
createSiteOptionSelectField({
|
|
22308
|
+
id: "filterCategoryIds",
|
|
22309
|
+
label: "Pre-filter by categories",
|
|
22310
|
+
description: "Restrict this block to specific event categories",
|
|
22311
|
+
required: false,
|
|
22312
|
+
multiple: true,
|
|
22313
|
+
defaultValue: [],
|
|
22314
|
+
optionSource: "eventCategories",
|
|
22315
|
+
ui: {
|
|
22316
|
+
intent: "behavior",
|
|
22317
|
+
searchThreshold: 8,
|
|
22318
|
+
visibleWhen: { field: "kind", notEquals: "courses" }
|
|
22319
|
+
}
|
|
22320
|
+
}),
|
|
22321
|
+
createSiteOptionSelectField({
|
|
22322
|
+
id: "filterStaffMemberId",
|
|
22323
|
+
label: "Pre-filter by staff member",
|
|
22324
|
+
description: "Restrict this block to a single staff member",
|
|
22325
|
+
required: false,
|
|
22326
|
+
multiple: false,
|
|
22327
|
+
optionSource: "staffMembers",
|
|
22328
|
+
ui: {
|
|
22329
|
+
intent: "behavior",
|
|
22330
|
+
searchThreshold: 8
|
|
22331
|
+
}
|
|
22332
|
+
}),
|
|
22333
|
+
createSiteOptionSelectField({
|
|
22334
|
+
id: "filterVenueId",
|
|
22335
|
+
label: "Pre-filter by venue",
|
|
22336
|
+
description: "Restrict this block to a single venue",
|
|
22337
|
+
required: false,
|
|
22338
|
+
multiple: false,
|
|
22339
|
+
optionSource: "venues",
|
|
22340
|
+
ui: {
|
|
22341
|
+
intent: "behavior",
|
|
22342
|
+
searchThreshold: 8
|
|
22343
|
+
}
|
|
22344
|
+
}),
|
|
22345
|
+
// Card styling
|
|
22346
|
+
...cardStylingFields.filter((f) => f.id === "buttonVariant" || f.id === "buttonText").map((field) => ({
|
|
22347
|
+
...field,
|
|
22348
|
+
ui: {
|
|
22349
|
+
...field.ui ?? {},
|
|
22350
|
+
intent: field.id === "buttonVariant" ? "style" : "content"
|
|
22351
|
+
}
|
|
22352
|
+
})),
|
|
22353
|
+
{
|
|
22354
|
+
...emptyStateField,
|
|
22355
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
22356
|
+
},
|
|
22357
|
+
sectionStylesField({
|
|
22358
|
+
id: "_sectionStyles",
|
|
22359
|
+
label: "Section styles",
|
|
22360
|
+
renderInHeader: false
|
|
22361
|
+
})
|
|
22362
|
+
];
|
|
22363
|
+
var eventCalendarVariants = {
|
|
22364
|
+
combined: eventCalendarLayout[0],
|
|
22365
|
+
month: eventCalendarLayout[0],
|
|
22366
|
+
week: eventCalendarLayout[0],
|
|
22367
|
+
timetable: eventCalendarLayout[0],
|
|
22368
|
+
list: eventCalendarLayout[0]
|
|
22369
|
+
};
|
|
22370
|
+
var eventCalendarDerivedFields = [
|
|
22371
|
+
{
|
|
22372
|
+
id: "displayMode",
|
|
22373
|
+
type: "select",
|
|
22374
|
+
required: false,
|
|
22375
|
+
multiple: false,
|
|
22376
|
+
options: [
|
|
22377
|
+
{ value: "combined" },
|
|
22378
|
+
{ value: "month" },
|
|
22379
|
+
{ value: "week" },
|
|
22380
|
+
{ value: "timetable" },
|
|
22381
|
+
{ value: "list" }
|
|
22382
|
+
]
|
|
22383
|
+
},
|
|
22384
|
+
{
|
|
22385
|
+
id: "listLayout",
|
|
22386
|
+
type: "select",
|
|
22387
|
+
required: false,
|
|
22388
|
+
multiple: false,
|
|
22389
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
22390
|
+
value: option.id
|
|
22391
|
+
}))
|
|
22392
|
+
}
|
|
22393
|
+
];
|
|
22394
|
+
var eventCalendarContentShape = {
|
|
22395
|
+
additionalFields: eventCalendarDerivedFields,
|
|
22396
|
+
variants: eventCalendarVariants,
|
|
22397
|
+
skipSectionStyles: true
|
|
22398
|
+
};
|
|
22399
|
+
var eventCalendarConfig = {
|
|
22400
|
+
id: "block.event-calendar",
|
|
22401
|
+
version: "3.6.0",
|
|
22402
|
+
title: "Event Calendar",
|
|
22403
|
+
titleSource: "heading",
|
|
22404
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
22405
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
22406
|
+
skipSectionStyles: true,
|
|
22407
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
21930
22408
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
21931
22409
|
behaviours: {
|
|
21932
22410
|
supportsThemeSwitching: true,
|
|
@@ -21946,109 +22424,21 @@ var eventCalendarManifest = createBlockManifest({
|
|
|
21946
22424
|
"filter"
|
|
21947
22425
|
],
|
|
21948
22426
|
icon: "CalendarDays",
|
|
21949
|
-
layout:
|
|
21950
|
-
|
|
21951
|
-
|
|
21952
|
-
|
|
21953
|
-
|
|
21954
|
-
|
|
21955
|
-
|
|
21956
|
-
|
|
21957
|
-
|
|
21958
|
-
|
|
21959
|
-
|
|
21960
|
-
|
|
21961
|
-
|
|
21962
|
-
|
|
21963
|
-
|
|
21964
|
-
withApiBindings({
|
|
21965
|
-
events: { $bind: { from: "data.events" } },
|
|
21966
|
-
stage: {
|
|
21967
|
-
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
21968
|
-
},
|
|
21969
|
-
// Display mode
|
|
21970
|
-
displayMode: {
|
|
21971
|
-
$bind: { from: "content.displayMode", fallback: "combined" }
|
|
21972
|
-
},
|
|
21973
|
-
// List options
|
|
21974
|
-
listLayout: { $bind: { from: "content.listLayout" } },
|
|
21975
|
-
listColumns: { $bind: { from: "content.listColumns" } },
|
|
21976
|
-
// Legacy compatibility: older event-calendar content used layout/columns
|
|
21977
|
-
layout: { $bind: { from: "content.layout" } },
|
|
21978
|
-
columns: { $bind: { from: "content.columns" } },
|
|
21979
|
-
eventsPerPage: {
|
|
21980
|
-
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
21981
|
-
},
|
|
21982
|
-
compactEventsPerPage: {
|
|
21983
|
-
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
21984
|
-
},
|
|
21985
|
-
loadMoreText: {
|
|
21986
|
-
$bind: {
|
|
21987
|
-
from: "content.loadMoreText",
|
|
21988
|
-
fallback: "Load more events"
|
|
21989
|
-
}
|
|
21990
|
-
},
|
|
21991
|
-
// Calendar options
|
|
21992
|
-
startOfWeek: {
|
|
21993
|
-
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
21994
|
-
},
|
|
21995
|
-
calendarTabViews: {
|
|
21996
|
-
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
21997
|
-
},
|
|
21998
|
-
// Filtering options
|
|
21999
|
-
showFilters: {
|
|
22000
|
-
$bind: { from: "content.showFilters", fallback: true }
|
|
22001
|
-
},
|
|
22002
|
-
showCategoryFilter: {
|
|
22003
|
-
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
22004
|
-
},
|
|
22005
|
-
showVenueFilter: {
|
|
22006
|
-
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
22007
|
-
},
|
|
22008
|
-
showStaffFilter: {
|
|
22009
|
-
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
22010
|
-
},
|
|
22011
|
-
showCapacity: {
|
|
22012
|
-
$bind: { from: "content.showCapacity", fallback: true }
|
|
22013
|
-
},
|
|
22014
|
-
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
22015
|
-
eventSurface: {
|
|
22016
|
-
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
22017
|
-
},
|
|
22018
|
-
filterEventPresets: {
|
|
22019
|
-
$bind: { from: "content.filterEventPresets" }
|
|
22020
|
-
},
|
|
22021
|
-
scheduleScope: {
|
|
22022
|
-
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
22023
|
-
},
|
|
22024
|
-
filterCategoryIds: {
|
|
22025
|
-
$bind: { from: "content.filterCategoryIds" }
|
|
22026
|
-
},
|
|
22027
|
-
filterStaffMemberId: {
|
|
22028
|
-
$bind: { from: "content.filterStaffMemberId" }
|
|
22029
|
-
},
|
|
22030
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
22031
|
-
// Styling
|
|
22032
|
-
buttonVariant: {
|
|
22033
|
-
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
22034
|
-
},
|
|
22035
|
-
buttonText: {
|
|
22036
|
-
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
22037
|
-
},
|
|
22038
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22039
|
-
})
|
|
22040
|
-
)
|
|
22041
|
-
],
|
|
22042
|
-
{
|
|
22043
|
-
gap: "lg"
|
|
22044
|
-
}
|
|
22045
|
-
),
|
|
22046
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
22047
|
-
baseClass: "",
|
|
22048
|
-
spacing: "comfortable"
|
|
22049
|
-
})
|
|
22050
|
-
]
|
|
22051
|
-
});
|
|
22427
|
+
layout: eventCalendarLayout,
|
|
22428
|
+
variants: eventCalendarVariants,
|
|
22429
|
+
defaultVariant: "combined",
|
|
22430
|
+
variantOptions: {
|
|
22431
|
+
combined: { label: "Combined" },
|
|
22432
|
+
month: { label: "Month" },
|
|
22433
|
+
week: { label: "Week" },
|
|
22434
|
+
timetable: { label: "Timetable" },
|
|
22435
|
+
list: { label: "List" }
|
|
22436
|
+
}
|
|
22437
|
+
};
|
|
22438
|
+
var eventCalendarManifest = createBlockManifestWithContentShape(
|
|
22439
|
+
eventCalendarConfig,
|
|
22440
|
+
eventCalendarContentShape
|
|
22441
|
+
);
|
|
22052
22442
|
var eventCalendarBlockDefinition = {
|
|
22053
22443
|
manifest: eventCalendarManifest,
|
|
22054
22444
|
normalizeContent: normalizeEventCalendarContent,
|
|
@@ -26220,14 +26610,29 @@ function mediaPanelCapable() {
|
|
|
26220
26610
|
var allSectionSurfaces = [
|
|
26221
26611
|
"base",
|
|
26222
26612
|
"muted-band",
|
|
26223
|
-
"accent-band"
|
|
26613
|
+
"accent-band",
|
|
26614
|
+
"brand-depth-band"
|
|
26224
26615
|
];
|
|
26225
26616
|
var heroSectionSurfaces = [
|
|
26226
26617
|
"base",
|
|
26227
26618
|
"muted-band",
|
|
26228
26619
|
"accent-band",
|
|
26620
|
+
"brand-depth-band",
|
|
26229
26621
|
"hero-image"
|
|
26230
26622
|
];
|
|
26623
|
+
var scheduleTileTreatments = [
|
|
26624
|
+
"default",
|
|
26625
|
+
"quiet",
|
|
26626
|
+
"brand-depth"
|
|
26627
|
+
];
|
|
26628
|
+
function scheduleDetailsCapable() {
|
|
26629
|
+
return declareBlockDesignCapability({
|
|
26630
|
+
sectionSurfaces: "supported",
|
|
26631
|
+
contentFrames: ["plain"],
|
|
26632
|
+
itemSurfaces: "unsupported",
|
|
26633
|
+
tileTreatments: scheduleTileTreatments
|
|
26634
|
+
});
|
|
26635
|
+
}
|
|
26231
26636
|
function defaultBoundaryBias(visualWeight) {
|
|
26232
26637
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
26233
26638
|
}
|
|
@@ -26465,7 +26870,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
26465
26870
|
flow: conversionFlow,
|
|
26466
26871
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
26467
26872
|
})),
|
|
26468
|
-
withDesignCapability("block.event-details", eventDetailsBlockDefinition,
|
|
26873
|
+
withDesignCapability("block.event-details", eventDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
26469
26874
|
flow: offeringsFlow,
|
|
26470
26875
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
26471
26876
|
})),
|
|
@@ -26473,7 +26878,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
26473
26878
|
flow: conversionFlow,
|
|
26474
26879
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
26475
26880
|
})),
|
|
26476
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition,
|
|
26881
|
+
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
26477
26882
|
flow: offeringsFlow,
|
|
26478
26883
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
26479
26884
|
})),
|
|
@@ -26488,7 +26893,13 @@ var systemBlockDefinitionsRaw = [
|
|
|
26488
26893
|
})),
|
|
26489
26894
|
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
26490
26895
|
flow: offeringsFlow,
|
|
26491
|
-
layoutProfiles: [
|
|
26896
|
+
layoutProfiles: [
|
|
26897
|
+
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
26898
|
+
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
26899
|
+
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
26900
|
+
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
26901
|
+
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
26902
|
+
]
|
|
26492
26903
|
})),
|
|
26493
26904
|
// Friendly wrapper blocks
|
|
26494
26905
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
@@ -29293,7 +29704,7 @@ function CoursePricingDisplay({
|
|
|
29293
29704
|
] }),
|
|
29294
29705
|
option.description ? /* @__PURE__ */ jsx25("p", { className: "rb-caption status-muted", children: option.description }) : null
|
|
29295
29706
|
] }, option.id)) }) : /* @__PURE__ */ jsx25("p", { children: /* @__PURE__ */ jsx25("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
|
|
29296
|
-
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs12("p", { className: "rb-caption
|
|
29707
|
+
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs12("p", { className: "rb-caption rb-mt-1", children: [
|
|
29297
29708
|
"You can also attend with: ",
|
|
29298
29709
|
acceptedItems.join(", ")
|
|
29299
29710
|
] }) : null
|
|
@@ -29393,11 +29804,11 @@ function EventDetailsView({
|
|
|
29393
29804
|
) : shouldShowEventCost ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
|
|
29394
29805
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
29395
29806
|
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" }),
|
|
29396
|
-
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption
|
|
29807
|
+
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
|
|
29397
29808
|
"You can also attend with: ",
|
|
29398
29809
|
acceptedItems.join(", ")
|
|
29399
29810
|
] }) : null
|
|
29400
|
-
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs13("p", { className: "rb-caption
|
|
29811
|
+
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs13("p", { className: "rb-caption", children: [
|
|
29401
29812
|
"You can also attend with: ",
|
|
29402
29813
|
acceptedItems.join(", ")
|
|
29403
29814
|
] }) }) : null
|
|
@@ -34251,16 +34662,16 @@ function generateSiteStyleTransitionCss(themeId) {
|
|
|
34251
34662
|
--site-style-transition-to: rgb(var(--tb-background));
|
|
34252
34663
|
}
|
|
34253
34664
|
|
|
34254
|
-
${selector} [data-style-group^='site-style-transition-wave-edge-']
|
|
34255
|
-
${selector} [data-style-group^='site-style-transition-angle-edge-']
|
|
34256
|
-
${selector} [data-style-group^='site-style-transition-soft-fade']
|
|
34665
|
+
${selector} [data-style-group^='site-style-transition-wave-edge-']::after,
|
|
34666
|
+
${selector} [data-style-group^='site-style-transition-angle-edge-']::after,
|
|
34667
|
+
${selector} [data-style-group^='site-style-transition-soft-fade']::after {
|
|
34257
34668
|
content: '';
|
|
34258
34669
|
position: absolute;
|
|
34259
34670
|
left: 0;
|
|
34260
34671
|
right: 0;
|
|
34261
|
-
bottom:
|
|
34262
|
-
z-index:
|
|
34263
|
-
height: 4rem;
|
|
34672
|
+
bottom: -2px;
|
|
34673
|
+
z-index: 1;
|
|
34674
|
+
height: calc(4rem + 2px);
|
|
34264
34675
|
pointer-events: none;
|
|
34265
34676
|
}
|
|
34266
34677
|
|
|
@@ -34277,6 +34688,10 @@ ${selector} [data-style-group*='-from-accent-band-'] {
|
|
|
34277
34688
|
--site-style-transition-from: rgb(var(--tb-primary));
|
|
34278
34689
|
}
|
|
34279
34690
|
|
|
34691
|
+
${selector} [data-style-group*='-from-brand-depth-band-'] {
|
|
34692
|
+
--site-style-transition-from: rgb(var(--tb-primary-800));
|
|
34693
|
+
}
|
|
34694
|
+
|
|
34280
34695
|
${selector} [data-style-group$='-to-base'],
|
|
34281
34696
|
${selector} [data-style-group$='-to-hero-image'] {
|
|
34282
34697
|
--site-style-transition-to: rgb(var(--tb-background));
|
|
@@ -34290,7 +34705,11 @@ ${selector} [data-style-group$='-to-accent-band'] {
|
|
|
34290
34705
|
--site-style-transition-to: rgb(var(--tb-primary));
|
|
34291
34706
|
}
|
|
34292
34707
|
|
|
34293
|
-
${selector} [data-style-group
|
|
34708
|
+
${selector} [data-style-group$='-to-brand-depth-band'] {
|
|
34709
|
+
--site-style-transition-to: rgb(var(--tb-primary-800));
|
|
34710
|
+
}
|
|
34711
|
+
|
|
34712
|
+
${selector} [data-style-group^='site-style-transition-soft-fade']::after {
|
|
34294
34713
|
background: linear-gradient(
|
|
34295
34714
|
to bottom,
|
|
34296
34715
|
transparent 0%,
|
|
@@ -34298,16 +34717,16 @@ ${selector} [data-style-group^='site-style-transition-soft-fade'] > [data-slot='
|
|
|
34298
34717
|
);
|
|
34299
34718
|
}
|
|
34300
34719
|
|
|
34301
|
-
${selector} [data-style-group^='site-style-transition-soft-fade-long-']
|
|
34720
|
+
${selector} [data-style-group^='site-style-transition-soft-fade-long-']::after {
|
|
34302
34721
|
height: 6rem;
|
|
34303
34722
|
}
|
|
34304
34723
|
|
|
34305
|
-
${selector} [data-style-group^='site-style-transition-angle-edge-']
|
|
34724
|
+
${selector} [data-style-group^='site-style-transition-angle-edge-']::after {
|
|
34306
34725
|
background: var(--site-style-transition-to);
|
|
34307
34726
|
clip-path: polygon(0 42%, 100% 8%, 100% 100%, 0 100%);
|
|
34308
34727
|
}
|
|
34309
34728
|
|
|
34310
|
-
${selector} [data-style-group^='site-style-transition-wave-edge-']
|
|
34729
|
+
${selector} [data-style-group^='site-style-transition-wave-edge-']::after {
|
|
34311
34730
|
background: var(--site-style-transition-to);
|
|
34312
34731
|
mask-image: url("${waveTransitionMask}");
|
|
34313
34732
|
mask-repeat: no-repeat;
|
|
@@ -35490,7 +35909,7 @@ function buildThemeRuntime(theme, options) {
|
|
|
35490
35909
|
theme,
|
|
35491
35910
|
accordionSystem
|
|
35492
35911
|
});
|
|
35493
|
-
const inputSystem =
|
|
35912
|
+
const inputSystem = resolveThemeInputSystem(theme);
|
|
35494
35913
|
const inputCss = generateInputCss({
|
|
35495
35914
|
themeId,
|
|
35496
35915
|
theme,
|
|
@@ -35555,6 +35974,9 @@ function hydrateTheme(theme) {
|
|
|
35555
35974
|
palette: expandPalette(theme.palette)
|
|
35556
35975
|
};
|
|
35557
35976
|
}
|
|
35977
|
+
function resolveThemeInputSystem(theme) {
|
|
35978
|
+
return theme.inputs ?? generateDefaultInputSystem(theme);
|
|
35979
|
+
}
|
|
35558
35980
|
function buildThemeCssVars(theme) {
|
|
35559
35981
|
const { typography, space, shadow: shadow2, motion: motion2, border: border2 } = theme;
|
|
35560
35982
|
const baseSizes = computeTypeScale(typography.scale, typography.body.size);
|
|
@@ -35639,7 +36061,7 @@ function buildThemeCssVars(theme) {
|
|
|
35639
36061
|
// Tier 2: Input styling primitives
|
|
35640
36062
|
// These expose inputStyle/InputSystem values for blocks that can't use .form-* classes
|
|
35641
36063
|
...(() => {
|
|
35642
|
-
const inputSystem =
|
|
36064
|
+
const inputSystem = resolveThemeInputSystem(theme);
|
|
35643
36065
|
return {
|
|
35644
36066
|
["--rb-input-radius"]: mapInputRadius(inputSystem.base.corners, theme.corners),
|
|
35645
36067
|
["--rb-input-focus-width"]: `${inputSystem.focus.ringWidth}px`,
|
|
@@ -43996,15 +44418,15 @@ var containerResponsiveThemeCss = `/*
|
|
|
43996
44418
|
text-align: left;
|
|
43997
44419
|
padding: 1rem;
|
|
43998
44420
|
border-radius: var(--rb-event-tile-radius, calc(var(--rb-block-radius) * 0.75));
|
|
43999
|
-
border-style: var(--rb-event-tile-border-style, var(--rb-border-style, solid));
|
|
44000
|
-
border-width: var(--rb-event-tile-border-width, var(--rb-border-width, 1px));
|
|
44001
|
-
border-color: var(--rb-event-tile-border, rgb(var(--tb-border)));
|
|
44002
|
-
background: var(--rb-event-tile-bg, transparent);
|
|
44421
|
+
border-style: var(--rb-tile-border-style, var(--rb-event-tile-border-style, var(--rb-border-style, solid)));
|
|
44422
|
+
border-width: var(--rb-tile-border-width, var(--rb-event-tile-border-width, var(--rb-border-width, 1px)));
|
|
44423
|
+
border-color: var(--rb-tile-border, var(--rb-event-tile-border, rgb(var(--tb-border))));
|
|
44424
|
+
background: var(--rb-tile-bg, var(--rb-event-tile-bg, transparent));
|
|
44003
44425
|
transition: border-color var(--rb-block-transition) ease,
|
|
44004
44426
|
background-color var(--rb-block-transition) ease,
|
|
44005
44427
|
opacity var(--rb-block-transition) ease;
|
|
44006
44428
|
display: block;
|
|
44007
|
-
opacity: var(--rb-event-tile-opacity, 1);
|
|
44429
|
+
opacity: var(--rb-tile-opacity, var(--rb-event-tile-opacity, 1));
|
|
44008
44430
|
color: inherit;
|
|
44009
44431
|
text-decoration: none;
|
|
44010
44432
|
}
|
|
@@ -44015,6 +44437,25 @@ var containerResponsiveThemeCss = `/*
|
|
|
44015
44437
|
gap: var(--rb-event-tiles-grid-gap, 0.5rem);
|
|
44016
44438
|
}
|
|
44017
44439
|
|
|
44440
|
+
:where(.theme-scope) .rb-tile-treatment-quiet {
|
|
44441
|
+
--rb-tile-bg: color-mix(in oklab, rgb(var(--tb-surface)), rgb(var(--tb-muted)) 48%);
|
|
44442
|
+
--rb-tile-border: color-mix(in oklab, rgb(var(--tb-border)), transparent 35%);
|
|
44443
|
+
--rb-tile-border-hover: color-mix(in oklab, rgb(var(--tb-primary)), transparent 40%);
|
|
44444
|
+
}
|
|
44445
|
+
|
|
44446
|
+
:where(.theme-scope) .rb-tile-treatment-brand-depth {
|
|
44447
|
+
--rb-brand-depth-surface: rgb(var(--tb-primary-800));
|
|
44448
|
+
--rb-brand-depth-tile-surface: rgb(var(--tb-primary-900));
|
|
44449
|
+
--rb-brand-depth-tile-surface-selected: rgb(var(--tb-primary-950));
|
|
44450
|
+
--rb-tile-bg: var(--rb-brand-depth-tile-surface);
|
|
44451
|
+
--rb-tile-bg-selected: var(--rb-brand-depth-tile-surface-selected);
|
|
44452
|
+
--rb-tile-border: transparent;
|
|
44453
|
+
--rb-tile-border-hover: transparent;
|
|
44454
|
+
--rb-tile-border-selected: transparent;
|
|
44455
|
+
--rb-tile-border-width: 0;
|
|
44456
|
+
--rb-event-tile-radius: var(--rb-block-radius);
|
|
44457
|
+
}
|
|
44458
|
+
|
|
44018
44459
|
@container rb-site (min-width: 768px) {
|
|
44019
44460
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
44020
44461
|
:where(.theme-scope) .rb-tiles-grid {
|
|
@@ -44033,13 +44474,13 @@ var containerResponsiveThemeCss = `/*
|
|
|
44033
44474
|
}
|
|
44034
44475
|
|
|
44035
44476
|
:where(.theme-scope) :where(.rb-tile--interactive, .er-event-card):hover:not(:disabled) {
|
|
44036
|
-
border-color: var(--rb-event-tile-border-hover, rgba(var(--tb-primary), 0.5));
|
|
44037
|
-
opacity: var(--rb-event-tile-hover-opacity, var(--rb-event-tile-opacity, 1));
|
|
44477
|
+
border-color: var(--rb-tile-border-hover, var(--rb-event-tile-border-hover, rgba(var(--tb-primary), 0.5)));
|
|
44478
|
+
opacity: var(--rb-tile-hover-opacity, var(--rb-event-tile-hover-opacity, var(--rb-tile-opacity, var(--rb-event-tile-opacity, 1))));
|
|
44038
44479
|
}
|
|
44039
44480
|
|
|
44040
44481
|
:where(.theme-scope) :where(.rb-tile--selected, .er-event-card--selected) {
|
|
44041
|
-
border-color: var(--rb-event-tile-border-selected, rgb(var(--tb-primary)));
|
|
44042
|
-
background: var(--rb-event-tile-bg-selected, rgba(var(--tb-primary), 0.1));
|
|
44482
|
+
border-color: var(--rb-tile-border-selected, var(--rb-event-tile-border-selected, rgb(var(--tb-primary))));
|
|
44483
|
+
background: var(--rb-tile-bg-selected, var(--rb-event-tile-bg-selected, rgba(var(--tb-primary), 0.1)));
|
|
44043
44484
|
}
|
|
44044
44485
|
|
|
44045
44486
|
:where(.theme-scope) :where(.rb-tile--disabled, .er-event-card--disabled) {
|
|
@@ -45670,11 +46111,14 @@ function resolveFooterRenderPlan(params) {
|
|
|
45670
46111
|
import * as React7 from "react";
|
|
45671
46112
|
import { Fragment as Fragment7, jsx as jsx53, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
45672
46113
|
|
|
46114
|
+
// ../theme-core/src/siteChrome.tsx
|
|
46115
|
+
import { Fragment as Fragment8, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
46116
|
+
|
|
45673
46117
|
// ../theme-core/src/mock-themes/components/swatch.tsx
|
|
45674
|
-
import { jsx as jsx54, jsxs as
|
|
46118
|
+
import { jsx as jsx54, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
45675
46119
|
|
|
45676
46120
|
// ../theme-core/src/mock-themes/components/PaletteCard.tsx
|
|
45677
|
-
import { jsx as jsx55, jsxs as
|
|
46121
|
+
import { jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
45678
46122
|
|
|
45679
46123
|
// src/rendering/blocks-theme-runtime.ts
|
|
45680
46124
|
var AXES_TONE_OPTIONS = ["minimal", "classic", "bold"];
|
|
@@ -46278,7 +46722,7 @@ function buildLogo(logo, fallbackAlt) {
|
|
|
46278
46722
|
}
|
|
46279
46723
|
|
|
46280
46724
|
// src/rendering/components/Layout.tsx
|
|
46281
|
-
import { Fragment as
|
|
46725
|
+
import { Fragment as Fragment9, jsx as jsx58, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
46282
46726
|
async function Layout({
|
|
46283
46727
|
siteData: providedSiteData,
|
|
46284
46728
|
client,
|
|
@@ -46413,14 +46857,14 @@ async function Layout({
|
|
|
46413
46857
|
themeConfig: blocksTheme,
|
|
46414
46858
|
viewModelOverrides
|
|
46415
46859
|
}) : null;
|
|
46416
|
-
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */
|
|
46860
|
+
footerElement = footerPlan.mode === "default+blocks" ? /* @__PURE__ */ jsxs41(Fragment9, { children: [
|
|
46417
46861
|
footerBlocksElement,
|
|
46418
46862
|
defaultFooterElement
|
|
46419
46863
|
] }) : footerPlan.mode === "blocks" ? footerBlocksElement : footerPlan.mode === "none" ? null : defaultFooterElement;
|
|
46420
46864
|
} else if (typeof footer === "function") {
|
|
46421
46865
|
footerElement = footer(footerData);
|
|
46422
46866
|
}
|
|
46423
|
-
const content = /* @__PURE__ */
|
|
46867
|
+
const content = /* @__PURE__ */ jsxs41(Fragment9, { children: [
|
|
46424
46868
|
headerElement,
|
|
46425
46869
|
children,
|
|
46426
46870
|
footerElement
|
|
@@ -48975,6 +49419,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
48975
49419
|
auth: "user",
|
|
48976
49420
|
responseKind: "json"
|
|
48977
49421
|
},
|
|
49422
|
+
exportAppointmentServicesCsv: {
|
|
49423
|
+
path: "/sites/{siteId}/bookings/services/export.csv",
|
|
49424
|
+
method: "GET",
|
|
49425
|
+
tags: ["site-{siteId}", "bookings", "appointment-services-{siteId}"],
|
|
49426
|
+
errors: [],
|
|
49427
|
+
auth: "user",
|
|
49428
|
+
responseKind: "blob"
|
|
49429
|
+
},
|
|
48978
49430
|
createAppointmentService: {
|
|
48979
49431
|
path: "/sites/{siteId}/bookings/services",
|
|
48980
49432
|
method: "POST",
|
|
@@ -49243,6 +49695,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49243
49695
|
auth: "user",
|
|
49244
49696
|
responseKind: "json"
|
|
49245
49697
|
},
|
|
49698
|
+
exportCoursesCsv: {
|
|
49699
|
+
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
49700
|
+
method: "GET",
|
|
49701
|
+
tags: ["site-{siteId}", "bookings", "courses-{siteId}"],
|
|
49702
|
+
errors: [],
|
|
49703
|
+
auth: "user",
|
|
49704
|
+
responseKind: "blob"
|
|
49705
|
+
},
|
|
49246
49706
|
createCourse: {
|
|
49247
49707
|
path: "/sites/{siteId}/bookings/courses",
|
|
49248
49708
|
method: "POST",
|
|
@@ -49342,6 +49802,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
49342
49802
|
responseKind: "json",
|
|
49343
49803
|
errors: []
|
|
49344
49804
|
},
|
|
49805
|
+
exportCourseWaitlistCsv: {
|
|
49806
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
|
|
49807
|
+
method: "GET",
|
|
49808
|
+
tags: ["site-{siteId}", "bookings", "courses-{courseId}"],
|
|
49809
|
+
auth: "user",
|
|
49810
|
+
responseKind: "blob",
|
|
49811
|
+
errors: []
|
|
49812
|
+
},
|
|
49345
49813
|
updateCourseEnrollment: {
|
|
49346
49814
|
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
49347
49815
|
method: "PATCH",
|
|
@@ -51937,6 +52405,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
51937
52405
|
auth: "user",
|
|
51938
52406
|
responseKind: "json"
|
|
51939
52407
|
},
|
|
52408
|
+
exportEventSeriesCsv: {
|
|
52409
|
+
path: "/sites/{siteId}/bookings/event-series/export.csv",
|
|
52410
|
+
method: "GET",
|
|
52411
|
+
tags: ["site-{siteId}", "bookings", "event-series-{siteId}"],
|
|
52412
|
+
errors: [],
|
|
52413
|
+
auth: "user",
|
|
52414
|
+
responseKind: "blob"
|
|
52415
|
+
},
|
|
51940
52416
|
createEventSeries: {
|
|
51941
52417
|
path: "/sites/{siteId}/bookings/event-series",
|
|
51942
52418
|
method: "POST",
|
|
@@ -52005,6 +52481,60 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52005
52481
|
errors: [],
|
|
52006
52482
|
responseKind: "blob"
|
|
52007
52483
|
},
|
|
52484
|
+
getParticipantMessageRecipients: {
|
|
52485
|
+
path: "/sites/{siteId}/bookings/participant-messaging/recipients",
|
|
52486
|
+
method: "POST",
|
|
52487
|
+
tags: ["site-{siteId}"],
|
|
52488
|
+
auth: "user",
|
|
52489
|
+
errors: [
|
|
52490
|
+
"validation:invalid_input",
|
|
52491
|
+
"auth:forbidden",
|
|
52492
|
+
"resource:not_found",
|
|
52493
|
+
"server:internal_error"
|
|
52494
|
+
],
|
|
52495
|
+
responseKind: "json"
|
|
52496
|
+
},
|
|
52497
|
+
sendParticipantMessage: {
|
|
52498
|
+
path: "/sites/{siteId}/bookings/participant-messaging/send",
|
|
52499
|
+
method: "POST",
|
|
52500
|
+
tags: ["site-{siteId}"],
|
|
52501
|
+
auth: "user",
|
|
52502
|
+
errors: [
|
|
52503
|
+
"validation:invalid_input",
|
|
52504
|
+
"auth:forbidden",
|
|
52505
|
+
"resource:not_found",
|
|
52506
|
+
"resource:conflict",
|
|
52507
|
+
"server:internal_error"
|
|
52508
|
+
],
|
|
52509
|
+
responseKind: "json"
|
|
52510
|
+
},
|
|
52511
|
+
testParticipantMessage: {
|
|
52512
|
+
path: "/sites/{siteId}/bookings/participant-messaging/test",
|
|
52513
|
+
method: "POST",
|
|
52514
|
+
tags: ["site-{siteId}"],
|
|
52515
|
+
auth: "user",
|
|
52516
|
+
errors: [
|
|
52517
|
+
"validation:invalid_input",
|
|
52518
|
+
"auth:forbidden",
|
|
52519
|
+
"resource:not_found",
|
|
52520
|
+
"resource:conflict",
|
|
52521
|
+
"server:internal_error"
|
|
52522
|
+
],
|
|
52523
|
+
responseKind: "json"
|
|
52524
|
+
},
|
|
52525
|
+
listParticipantMessageHistory: {
|
|
52526
|
+
path: "/sites/{siteId}/bookings/participant-messaging/history",
|
|
52527
|
+
method: "POST",
|
|
52528
|
+
tags: ["site-{siteId}"],
|
|
52529
|
+
auth: "user",
|
|
52530
|
+
errors: [
|
|
52531
|
+
"validation:invalid_input",
|
|
52532
|
+
"auth:forbidden",
|
|
52533
|
+
"resource:not_found",
|
|
52534
|
+
"server:internal_error"
|
|
52535
|
+
],
|
|
52536
|
+
responseKind: "json"
|
|
52537
|
+
},
|
|
52008
52538
|
listEventSeriesWaitlist: {
|
|
52009
52539
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist",
|
|
52010
52540
|
method: "GET",
|
|
@@ -52013,6 +52543,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52013
52543
|
responseKind: "json",
|
|
52014
52544
|
errors: []
|
|
52015
52545
|
},
|
|
52546
|
+
exportEventSeriesWaitlistCsv: {
|
|
52547
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist/export.csv",
|
|
52548
|
+
method: "GET",
|
|
52549
|
+
tags: ["site-{siteId}", "bookings", "event-series-{seriesId}"],
|
|
52550
|
+
auth: "user",
|
|
52551
|
+
responseKind: "blob",
|
|
52552
|
+
errors: []
|
|
52553
|
+
},
|
|
52016
52554
|
addEventOccurrenceAttendee: {
|
|
52017
52555
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/occurrences/{occurrenceId}/attendees",
|
|
52018
52556
|
method: "POST",
|
|
@@ -52729,6 +53267,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52729
53267
|
auth: "user",
|
|
52730
53268
|
responseKind: "json"
|
|
52731
53269
|
},
|
|
53270
|
+
exportSiteCustomerPassesCsv: {
|
|
53271
|
+
path: "/sites/{siteId}/bookings/customer-passes/export.csv",
|
|
53272
|
+
method: "GET",
|
|
53273
|
+
tags: ["site-{siteId}", "bookings", "customer-passes-{siteId}"],
|
|
53274
|
+
auth: "user",
|
|
53275
|
+
responseKind: "blob",
|
|
53276
|
+
errors: []
|
|
53277
|
+
},
|
|
52732
53278
|
listSiteCustomerMemberships: {
|
|
52733
53279
|
path: "/sites/{siteId}/bookings/customer-memberships",
|
|
52734
53280
|
method: "GET",
|
|
@@ -52792,6 +53338,22 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
52792
53338
|
auth: "user",
|
|
52793
53339
|
responseKind: "blob"
|
|
52794
53340
|
},
|
|
53341
|
+
exportBookingLedgerCsv: {
|
|
53342
|
+
path: "/sites/{siteId}/bookings/ledger/export.csv",
|
|
53343
|
+
method: "GET",
|
|
53344
|
+
tags: ["site-{siteId}", "bookings", "booking-ledger-{siteId}"],
|
|
53345
|
+
errors: [],
|
|
53346
|
+
auth: "user",
|
|
53347
|
+
responseKind: "blob"
|
|
53348
|
+
},
|
|
53349
|
+
exportBookingQuestionAnswersCsv: {
|
|
53350
|
+
path: "/sites/{siteId}/bookings/intake-answers/export.csv",
|
|
53351
|
+
method: "GET",
|
|
53352
|
+
tags: ["site-{siteId}", "bookings", "intake-answers-{siteId}"],
|
|
53353
|
+
errors: [],
|
|
53354
|
+
auth: "user",
|
|
53355
|
+
responseKind: "blob"
|
|
53356
|
+
},
|
|
52795
53357
|
// Site logs
|
|
52796
53358
|
listSiteActivityLogs: {
|
|
52797
53359
|
path: "/sites/{siteId}/logs/activity",
|
|
@@ -54462,6 +55024,20 @@ var applyAppointmentSetupRequestSchema = z65.object({
|
|
|
54462
55024
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
54463
55025
|
});
|
|
54464
55026
|
|
|
55027
|
+
// ../api/src/bookingRecords.ts
|
|
55028
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPES = {
|
|
55029
|
+
site: "site",
|
|
55030
|
+
appointments: "appointments",
|
|
55031
|
+
eventSeries: "event_series",
|
|
55032
|
+
course: "course"
|
|
55033
|
+
};
|
|
55034
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES = [
|
|
55035
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.site,
|
|
55036
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.appointments,
|
|
55037
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.eventSeries,
|
|
55038
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.course
|
|
55039
|
+
];
|
|
55040
|
+
|
|
54465
55041
|
// ../api/src/common/cancellation.ts
|
|
54466
55042
|
var STAFF_CANCELLATION_CONTEXT_UI_CATEGORIES = [
|
|
54467
55043
|
"customer_requested",
|
|
@@ -55055,9 +55631,9 @@ async function prefetchBlockData2(page, context, client, options) {
|
|
|
55055
55631
|
}
|
|
55056
55632
|
|
|
55057
55633
|
// src/rendering/components/Block.shared.tsx
|
|
55058
|
-
import { jsx as jsx59, jsxs as
|
|
55634
|
+
import { jsx as jsx59, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
55059
55635
|
function renderUnknownBlock(blockKind) {
|
|
55060
|
-
return /* @__PURE__ */ jsx59("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */
|
|
55636
|
+
return /* @__PURE__ */ jsx59("div", { className: "p-4 border border-red-300 bg-red-50 rounded", children: /* @__PURE__ */ jsxs42("p", { className: "text-red-800 font-semibold", children: [
|
|
55061
55637
|
"Unknown block type: ",
|
|
55062
55638
|
blockKind
|
|
55063
55639
|
] }) });
|