@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
package/dist/server/server.mjs
CHANGED
|
@@ -1050,6 +1050,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1050
1050
|
auth: "user",
|
|
1051
1051
|
responseKind: "json"
|
|
1052
1052
|
},
|
|
1053
|
+
exportAppointmentServicesCsv: {
|
|
1054
|
+
path: "/sites/{siteId}/bookings/services/export.csv",
|
|
1055
|
+
method: "GET",
|
|
1056
|
+
tags: ["site-{siteId}", "bookings", "appointment-services-{siteId}"],
|
|
1057
|
+
errors: [],
|
|
1058
|
+
auth: "user",
|
|
1059
|
+
responseKind: "blob"
|
|
1060
|
+
},
|
|
1053
1061
|
createAppointmentService: {
|
|
1054
1062
|
path: "/sites/{siteId}/bookings/services",
|
|
1055
1063
|
method: "POST",
|
|
@@ -1318,6 +1326,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1318
1326
|
auth: "user",
|
|
1319
1327
|
responseKind: "json"
|
|
1320
1328
|
},
|
|
1329
|
+
exportCoursesCsv: {
|
|
1330
|
+
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
1331
|
+
method: "GET",
|
|
1332
|
+
tags: ["site-{siteId}", "bookings", "courses-{siteId}"],
|
|
1333
|
+
errors: [],
|
|
1334
|
+
auth: "user",
|
|
1335
|
+
responseKind: "blob"
|
|
1336
|
+
},
|
|
1321
1337
|
createCourse: {
|
|
1322
1338
|
path: "/sites/{siteId}/bookings/courses",
|
|
1323
1339
|
method: "POST",
|
|
@@ -1417,6 +1433,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1417
1433
|
responseKind: "json",
|
|
1418
1434
|
errors: []
|
|
1419
1435
|
},
|
|
1436
|
+
exportCourseWaitlistCsv: {
|
|
1437
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
|
|
1438
|
+
method: "GET",
|
|
1439
|
+
tags: ["site-{siteId}", "bookings", "courses-{courseId}"],
|
|
1440
|
+
auth: "user",
|
|
1441
|
+
responseKind: "blob",
|
|
1442
|
+
errors: []
|
|
1443
|
+
},
|
|
1420
1444
|
updateCourseEnrollment: {
|
|
1421
1445
|
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
1422
1446
|
method: "PATCH",
|
|
@@ -4012,6 +4036,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4012
4036
|
auth: "user",
|
|
4013
4037
|
responseKind: "json"
|
|
4014
4038
|
},
|
|
4039
|
+
exportEventSeriesCsv: {
|
|
4040
|
+
path: "/sites/{siteId}/bookings/event-series/export.csv",
|
|
4041
|
+
method: "GET",
|
|
4042
|
+
tags: ["site-{siteId}", "bookings", "event-series-{siteId}"],
|
|
4043
|
+
errors: [],
|
|
4044
|
+
auth: "user",
|
|
4045
|
+
responseKind: "blob"
|
|
4046
|
+
},
|
|
4015
4047
|
createEventSeries: {
|
|
4016
4048
|
path: "/sites/{siteId}/bookings/event-series",
|
|
4017
4049
|
method: "POST",
|
|
@@ -4080,6 +4112,60 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4080
4112
|
errors: [],
|
|
4081
4113
|
responseKind: "blob"
|
|
4082
4114
|
},
|
|
4115
|
+
getParticipantMessageRecipients: {
|
|
4116
|
+
path: "/sites/{siteId}/bookings/participant-messaging/recipients",
|
|
4117
|
+
method: "POST",
|
|
4118
|
+
tags: ["site-{siteId}"],
|
|
4119
|
+
auth: "user",
|
|
4120
|
+
errors: [
|
|
4121
|
+
"validation:invalid_input",
|
|
4122
|
+
"auth:forbidden",
|
|
4123
|
+
"resource:not_found",
|
|
4124
|
+
"server:internal_error"
|
|
4125
|
+
],
|
|
4126
|
+
responseKind: "json"
|
|
4127
|
+
},
|
|
4128
|
+
sendParticipantMessage: {
|
|
4129
|
+
path: "/sites/{siteId}/bookings/participant-messaging/send",
|
|
4130
|
+
method: "POST",
|
|
4131
|
+
tags: ["site-{siteId}"],
|
|
4132
|
+
auth: "user",
|
|
4133
|
+
errors: [
|
|
4134
|
+
"validation:invalid_input",
|
|
4135
|
+
"auth:forbidden",
|
|
4136
|
+
"resource:not_found",
|
|
4137
|
+
"resource:conflict",
|
|
4138
|
+
"server:internal_error"
|
|
4139
|
+
],
|
|
4140
|
+
responseKind: "json"
|
|
4141
|
+
},
|
|
4142
|
+
testParticipantMessage: {
|
|
4143
|
+
path: "/sites/{siteId}/bookings/participant-messaging/test",
|
|
4144
|
+
method: "POST",
|
|
4145
|
+
tags: ["site-{siteId}"],
|
|
4146
|
+
auth: "user",
|
|
4147
|
+
errors: [
|
|
4148
|
+
"validation:invalid_input",
|
|
4149
|
+
"auth:forbidden",
|
|
4150
|
+
"resource:not_found",
|
|
4151
|
+
"resource:conflict",
|
|
4152
|
+
"server:internal_error"
|
|
4153
|
+
],
|
|
4154
|
+
responseKind: "json"
|
|
4155
|
+
},
|
|
4156
|
+
listParticipantMessageHistory: {
|
|
4157
|
+
path: "/sites/{siteId}/bookings/participant-messaging/history",
|
|
4158
|
+
method: "POST",
|
|
4159
|
+
tags: ["site-{siteId}"],
|
|
4160
|
+
auth: "user",
|
|
4161
|
+
errors: [
|
|
4162
|
+
"validation:invalid_input",
|
|
4163
|
+
"auth:forbidden",
|
|
4164
|
+
"resource:not_found",
|
|
4165
|
+
"server:internal_error"
|
|
4166
|
+
],
|
|
4167
|
+
responseKind: "json"
|
|
4168
|
+
},
|
|
4083
4169
|
listEventSeriesWaitlist: {
|
|
4084
4170
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist",
|
|
4085
4171
|
method: "GET",
|
|
@@ -4088,6 +4174,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4088
4174
|
responseKind: "json",
|
|
4089
4175
|
errors: []
|
|
4090
4176
|
},
|
|
4177
|
+
exportEventSeriesWaitlistCsv: {
|
|
4178
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist/export.csv",
|
|
4179
|
+
method: "GET",
|
|
4180
|
+
tags: ["site-{siteId}", "bookings", "event-series-{seriesId}"],
|
|
4181
|
+
auth: "user",
|
|
4182
|
+
responseKind: "blob",
|
|
4183
|
+
errors: []
|
|
4184
|
+
},
|
|
4091
4185
|
addEventOccurrenceAttendee: {
|
|
4092
4186
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/occurrences/{occurrenceId}/attendees",
|
|
4093
4187
|
method: "POST",
|
|
@@ -4804,6 +4898,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4804
4898
|
auth: "user",
|
|
4805
4899
|
responseKind: "json"
|
|
4806
4900
|
},
|
|
4901
|
+
exportSiteCustomerPassesCsv: {
|
|
4902
|
+
path: "/sites/{siteId}/bookings/customer-passes/export.csv",
|
|
4903
|
+
method: "GET",
|
|
4904
|
+
tags: ["site-{siteId}", "bookings", "customer-passes-{siteId}"],
|
|
4905
|
+
auth: "user",
|
|
4906
|
+
responseKind: "blob",
|
|
4907
|
+
errors: []
|
|
4908
|
+
},
|
|
4807
4909
|
listSiteCustomerMemberships: {
|
|
4808
4910
|
path: "/sites/{siteId}/bookings/customer-memberships",
|
|
4809
4911
|
method: "GET",
|
|
@@ -4867,6 +4969,22 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4867
4969
|
auth: "user",
|
|
4868
4970
|
responseKind: "blob"
|
|
4869
4971
|
},
|
|
4972
|
+
exportBookingLedgerCsv: {
|
|
4973
|
+
path: "/sites/{siteId}/bookings/ledger/export.csv",
|
|
4974
|
+
method: "GET",
|
|
4975
|
+
tags: ["site-{siteId}", "bookings", "booking-ledger-{siteId}"],
|
|
4976
|
+
errors: [],
|
|
4977
|
+
auth: "user",
|
|
4978
|
+
responseKind: "blob"
|
|
4979
|
+
},
|
|
4980
|
+
exportBookingQuestionAnswersCsv: {
|
|
4981
|
+
path: "/sites/{siteId}/bookings/intake-answers/export.csv",
|
|
4982
|
+
method: "GET",
|
|
4983
|
+
tags: ["site-{siteId}", "bookings", "intake-answers-{siteId}"],
|
|
4984
|
+
errors: [],
|
|
4985
|
+
auth: "user",
|
|
4986
|
+
responseKind: "blob"
|
|
4987
|
+
},
|
|
4870
4988
|
// Site logs
|
|
4871
4989
|
listSiteActivityLogs: {
|
|
4872
4990
|
path: "/sites/{siteId}/logs/activity",
|
|
@@ -6463,7 +6581,7 @@ var SimpleCache = class {
|
|
|
6463
6581
|
};
|
|
6464
6582
|
|
|
6465
6583
|
// src/version.ts
|
|
6466
|
-
var SDK_VERSION = "0.
|
|
6584
|
+
var SDK_VERSION = "0.62.2";
|
|
6467
6585
|
|
|
6468
6586
|
// src/client/error.ts
|
|
6469
6587
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -7960,7 +8078,11 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
7960
8078
|
|
|
7961
8079
|
// ../blocks/src/system/manifest/schema.ts
|
|
7962
8080
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
7963
|
-
var siteOptionSources = [
|
|
8081
|
+
var siteOptionSources = [
|
|
8082
|
+
"eventCategories",
|
|
8083
|
+
"venues",
|
|
8084
|
+
"staffMembers"
|
|
8085
|
+
];
|
|
7964
8086
|
var mediaDeliverySchema = z3.object({
|
|
7965
8087
|
sizes: z3.string().optional(),
|
|
7966
8088
|
widthCandidates: z3.array(z3.number().int().positive()).optional(),
|
|
@@ -7998,7 +8120,10 @@ var uiSchema = z3.object({
|
|
|
7998
8120
|
hidden: z3.boolean().optional(),
|
|
7999
8121
|
hideLabel: z3.boolean().optional(),
|
|
8000
8122
|
hideDescription: z3.boolean().optional(),
|
|
8001
|
-
showCharCount: z3.union([
|
|
8123
|
+
showCharCount: z3.union([
|
|
8124
|
+
z3.number().int().positive(),
|
|
8125
|
+
z3.object({ max: z3.number().int().positive() })
|
|
8126
|
+
]).optional(),
|
|
8002
8127
|
showSlugPreview: z3.boolean().optional(),
|
|
8003
8128
|
variant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
8004
8129
|
richTextVariant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
@@ -8008,10 +8133,7 @@ var uiSchema = z3.object({
|
|
|
8008
8133
|
showMediaPreview: z3.boolean().optional(),
|
|
8009
8134
|
showMediaOverlayActions: z3.boolean().optional(),
|
|
8010
8135
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
8011
|
-
mediaDeliveryByVariant: z3.record(
|
|
8012
|
-
z3.string(),
|
|
8013
|
-
mediaDeliverySchema
|
|
8014
|
-
).optional(),
|
|
8136
|
+
mediaDeliveryByVariant: z3.record(z3.string(), mediaDeliverySchema).optional(),
|
|
8015
8137
|
// Optional input hints for validators/widgets
|
|
8016
8138
|
inputType: z3.enum(["text", "email", "tel", "number"]).optional(),
|
|
8017
8139
|
min: z3.number().optional(),
|
|
@@ -8119,7 +8241,9 @@ var richTextFieldSchema = baseFieldSchema.extend({
|
|
|
8119
8241
|
});
|
|
8120
8242
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
8121
8243
|
type: z3.literal("media"),
|
|
8122
|
-
mediaKinds: z3.array(
|
|
8244
|
+
mediaKinds: z3.array(
|
|
8245
|
+
z3.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
|
|
8246
|
+
).default(["image"]),
|
|
8123
8247
|
aspectRatio: z3.string().optional()
|
|
8124
8248
|
});
|
|
8125
8249
|
var booleanFieldSchema = baseFieldSchema.extend({
|
|
@@ -8241,7 +8365,9 @@ var referenceFieldSchema = baseFieldSchema.extend({
|
|
|
8241
8365
|
var itemTypeSchema = z3.object({
|
|
8242
8366
|
label: z3.string().min(1),
|
|
8243
8367
|
icon: z3.string().optional(),
|
|
8244
|
-
fields: z3.lazy(
|
|
8368
|
+
fields: z3.lazy(
|
|
8369
|
+
() => getFieldSchemaInternal().array().min(1, "Item type requires at least one field")
|
|
8370
|
+
)
|
|
8245
8371
|
});
|
|
8246
8372
|
var repeaterFieldSchema = baseFieldSchema.extend({
|
|
8247
8373
|
type: z3.literal("repeater"),
|
|
@@ -8251,7 +8377,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
8251
8377
|
maxItems: z3.number().int().positive().optional(),
|
|
8252
8378
|
// Monomorphic mode
|
|
8253
8379
|
schema: z3.object({
|
|
8254
|
-
fields: z3.lazy(
|
|
8380
|
+
fields: z3.lazy(
|
|
8381
|
+
() => getFieldSchemaInternal().array().min(1, "Repeater requires at least one field")
|
|
8382
|
+
)
|
|
8255
8383
|
}).optional(),
|
|
8256
8384
|
// Polymorphic mode
|
|
8257
8385
|
polymorphic: z3.boolean().optional(),
|
|
@@ -8297,13 +8425,19 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
8297
8425
|
const itemTypes = Object.values(
|
|
8298
8426
|
data.itemTypes
|
|
8299
8427
|
);
|
|
8300
|
-
return itemTypes.every(
|
|
8428
|
+
return itemTypes.every(
|
|
8429
|
+
(itemType) => Array.isArray(itemType.fields) && requiredFieldIds.every(
|
|
8430
|
+
(requiredId) => itemType.fields?.some((field) => field.id === requiredId)
|
|
8431
|
+
)
|
|
8432
|
+
);
|
|
8301
8433
|
}
|
|
8302
8434
|
const schemaFields = data.schema?.fields;
|
|
8303
8435
|
if (!schemaFields) {
|
|
8304
8436
|
return true;
|
|
8305
8437
|
}
|
|
8306
|
-
return requiredFieldIds.every(
|
|
8438
|
+
return requiredFieldIds.every(
|
|
8439
|
+
(requiredId) => schemaFields.some((field) => field.id === requiredId)
|
|
8440
|
+
);
|
|
8307
8441
|
},
|
|
8308
8442
|
{
|
|
8309
8443
|
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`,
|
|
@@ -8331,7 +8465,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
8331
8465
|
if (!schemaFields) {
|
|
8332
8466
|
return true;
|
|
8333
8467
|
}
|
|
8334
|
-
const field = schemaFields.find(
|
|
8468
|
+
const field = schemaFields.find(
|
|
8469
|
+
(candidate) => candidate.id === labelField
|
|
8470
|
+
);
|
|
8335
8471
|
return field?.type === "text";
|
|
8336
8472
|
},
|
|
8337
8473
|
{
|
|
@@ -8342,13 +8478,17 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
8342
8478
|
var groupFieldSchema = baseFieldSchema.extend({
|
|
8343
8479
|
type: z3.literal("group"),
|
|
8344
8480
|
schema: z3.object({
|
|
8345
|
-
fields: z3.lazy(
|
|
8481
|
+
fields: z3.lazy(
|
|
8482
|
+
() => getFieldSchemaInternal().array().min(1, "Group requires at least one field")
|
|
8483
|
+
)
|
|
8346
8484
|
})
|
|
8347
8485
|
});
|
|
8348
8486
|
var modalFieldSchema = baseFieldSchema.extend({
|
|
8349
8487
|
type: z3.literal("modal"),
|
|
8350
8488
|
schema: z3.object({
|
|
8351
|
-
fields: z3.lazy(
|
|
8489
|
+
fields: z3.lazy(
|
|
8490
|
+
() => getFieldSchemaInternal().array().min(1, "Modal requires at least one field")
|
|
8491
|
+
)
|
|
8352
8492
|
})
|
|
8353
8493
|
});
|
|
8354
8494
|
var numberFieldSchema = baseFieldSchema.extend({
|
|
@@ -8455,31 +8595,35 @@ function expectParsedSelectField(field) {
|
|
|
8455
8595
|
return field;
|
|
8456
8596
|
}
|
|
8457
8597
|
function createSiteOptionSelectField(input) {
|
|
8458
|
-
return expectParsedSelectField(
|
|
8459
|
-
|
|
8460
|
-
|
|
8461
|
-
|
|
8462
|
-
|
|
8463
|
-
|
|
8464
|
-
|
|
8465
|
-
|
|
8466
|
-
|
|
8467
|
-
|
|
8468
|
-
|
|
8469
|
-
|
|
8598
|
+
return expectParsedSelectField(
|
|
8599
|
+
parseFieldDefinition({
|
|
8600
|
+
...input,
|
|
8601
|
+
type: "select",
|
|
8602
|
+
options: [],
|
|
8603
|
+
multiple: input.multiple ?? false,
|
|
8604
|
+
source: { kind: "site", optionSource: input.optionSource },
|
|
8605
|
+
ui: {
|
|
8606
|
+
...input.ui ?? {},
|
|
8607
|
+
widget: "siteOptionPicker",
|
|
8608
|
+
siteOptionSource: input.optionSource
|
|
8609
|
+
}
|
|
8610
|
+
})
|
|
8611
|
+
);
|
|
8470
8612
|
}
|
|
8471
8613
|
function createSdkSelectField(input) {
|
|
8472
|
-
return expectParsedSelectField(
|
|
8473
|
-
|
|
8474
|
-
|
|
8475
|
-
|
|
8476
|
-
|
|
8477
|
-
|
|
8478
|
-
|
|
8479
|
-
|
|
8480
|
-
|
|
8481
|
-
|
|
8482
|
-
|
|
8614
|
+
return expectParsedSelectField(
|
|
8615
|
+
parseFieldDefinition({
|
|
8616
|
+
...input,
|
|
8617
|
+
type: "select",
|
|
8618
|
+
options: input.options,
|
|
8619
|
+
multiple: input.multiple ?? false,
|
|
8620
|
+
source: { kind: "sdk" },
|
|
8621
|
+
ui: {
|
|
8622
|
+
...input.ui ?? {},
|
|
8623
|
+
widget: "sdkSelect"
|
|
8624
|
+
}
|
|
8625
|
+
})
|
|
8626
|
+
);
|
|
8483
8627
|
}
|
|
8484
8628
|
var slotSchema = z3.object({
|
|
8485
8629
|
id: z3.string().min(1),
|
|
@@ -8490,8 +8634,20 @@ var slotSchema = z3.object({
|
|
|
8490
8634
|
help: z3.string().optional(),
|
|
8491
8635
|
visibleRoles: z3.array(z3.enum(visibilityLevels)).optional()
|
|
8492
8636
|
});
|
|
8493
|
-
var typographyTokens = [
|
|
8494
|
-
|
|
8637
|
+
var typographyTokens = [
|
|
8638
|
+
"display",
|
|
8639
|
+
"heading",
|
|
8640
|
+
"subheading",
|
|
8641
|
+
"body",
|
|
8642
|
+
"caption"
|
|
8643
|
+
];
|
|
8644
|
+
var colorTokens = [
|
|
8645
|
+
"background",
|
|
8646
|
+
"surface",
|
|
8647
|
+
"foreground",
|
|
8648
|
+
"accent",
|
|
8649
|
+
"muted"
|
|
8650
|
+
];
|
|
8495
8651
|
var spacingTokens = ["none", "xs", "sm", "md", "lg", "xl"];
|
|
8496
8652
|
var radiusTokens = ["none", "sm", "md", "lg", "full"];
|
|
8497
8653
|
var styleTokenSchema = z3.object({
|
|
@@ -8511,7 +8667,14 @@ var behaviourSchema = z3.object({
|
|
|
8511
8667
|
// Block manages its own wrapper (for sticky/fixed positioning)
|
|
8512
8668
|
managesOwnWrapper: z3.boolean().optional()
|
|
8513
8669
|
});
|
|
8514
|
-
var blockCategoryEnum = z3.enum([
|
|
8670
|
+
var blockCategoryEnum = z3.enum([
|
|
8671
|
+
"marketing",
|
|
8672
|
+
"content",
|
|
8673
|
+
"blog",
|
|
8674
|
+
"media",
|
|
8675
|
+
"layout",
|
|
8676
|
+
"interactive"
|
|
8677
|
+
]);
|
|
8515
8678
|
var manifestSchema = z3.object({
|
|
8516
8679
|
name: z3.string().min(1),
|
|
8517
8680
|
version: z3.string().min(1),
|
|
@@ -9103,6 +9266,20 @@ var applyAppointmentSetupRequestSchema = z6.object({
|
|
|
9103
9266
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
9104
9267
|
});
|
|
9105
9268
|
|
|
9269
|
+
// ../api/src/bookingRecords.ts
|
|
9270
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPES = {
|
|
9271
|
+
site: "site",
|
|
9272
|
+
appointments: "appointments",
|
|
9273
|
+
eventSeries: "event_series",
|
|
9274
|
+
course: "course"
|
|
9275
|
+
};
|
|
9276
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES = [
|
|
9277
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.site,
|
|
9278
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.appointments,
|
|
9279
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.eventSeries,
|
|
9280
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.course
|
|
9281
|
+
];
|
|
9282
|
+
|
|
9106
9283
|
// ../api/src/common/cancellation.ts
|
|
9107
9284
|
var STAFF_CANCELLATION_CONTEXT_UI_CATEGORIES = [
|
|
9108
9285
|
"customer_requested",
|
|
@@ -9394,6 +9571,24 @@ function registerManifest(manifest) {
|
|
|
9394
9571
|
return manifest;
|
|
9395
9572
|
}
|
|
9396
9573
|
|
|
9574
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
9575
|
+
function assertValidOptionGroups(preset2) {
|
|
9576
|
+
preset2.optionGroups?.forEach((group) => {
|
|
9577
|
+
const selectedOption = group.options.find(
|
|
9578
|
+
(option) => option.id === group.selectedOptionId
|
|
9579
|
+
);
|
|
9580
|
+
if (!selectedOption) {
|
|
9581
|
+
throw new Error(
|
|
9582
|
+
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
9583
|
+
);
|
|
9584
|
+
}
|
|
9585
|
+
});
|
|
9586
|
+
}
|
|
9587
|
+
function defineBlockAppearancePreset(preset2) {
|
|
9588
|
+
assertValidOptionGroups(preset2);
|
|
9589
|
+
return preset2;
|
|
9590
|
+
}
|
|
9591
|
+
|
|
9397
9592
|
// ../theme-core/src/site-styles/types.ts
|
|
9398
9593
|
function asDesignBlockId(value) {
|
|
9399
9594
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
@@ -9475,6 +9670,11 @@ function flushPanelFrame(options) {
|
|
|
9475
9670
|
function defineFrameCapability(capability) {
|
|
9476
9671
|
return capability;
|
|
9477
9672
|
}
|
|
9673
|
+
var tileTreatmentValues = [
|
|
9674
|
+
"default",
|
|
9675
|
+
"quiet",
|
|
9676
|
+
"brand-depth"
|
|
9677
|
+
];
|
|
9478
9678
|
var eyebrowTreatmentValues = [
|
|
9479
9679
|
"plain",
|
|
9480
9680
|
"pill",
|
|
@@ -9490,31 +9690,13 @@ function defineBlockDesignCapability(capability) {
|
|
|
9490
9690
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
9491
9691
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
9492
9692
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
9693
|
+
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
9493
9694
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
9494
9695
|
};
|
|
9495
9696
|
}
|
|
9496
9697
|
|
|
9497
|
-
// ../theme-core/src/site-styles/
|
|
9498
|
-
|
|
9499
|
-
preset2.optionGroups?.forEach((group) => {
|
|
9500
|
-
const selectedOption = group.options.find(
|
|
9501
|
-
(option) => option.id === group.selectedOptionId
|
|
9502
|
-
);
|
|
9503
|
-
if (!selectedOption) {
|
|
9504
|
-
throw new Error(
|
|
9505
|
-
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
9506
|
-
);
|
|
9507
|
-
}
|
|
9508
|
-
});
|
|
9509
|
-
}
|
|
9510
|
-
function defineBlockAppearancePreset(preset2) {
|
|
9511
|
-
assertValidOptionGroups(preset2);
|
|
9512
|
-
return preset2;
|
|
9513
|
-
}
|
|
9514
|
-
function defineSiteChromeAppearancePreset(preset2) {
|
|
9515
|
-
return preset2;
|
|
9516
|
-
}
|
|
9517
|
-
var appearancePresets = [
|
|
9698
|
+
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
9699
|
+
var blockAppearancePresets = [
|
|
9518
9700
|
defineBlockAppearancePreset({
|
|
9519
9701
|
kind: "block-design",
|
|
9520
9702
|
id: "hero-immersive-image",
|
|
@@ -9640,6 +9822,24 @@ var appearancePresets = [
|
|
|
9640
9822
|
eyebrowTreatment: "accent-pill-bounce"
|
|
9641
9823
|
}
|
|
9642
9824
|
}),
|
|
9825
|
+
defineBlockAppearancePreset({
|
|
9826
|
+
kind: "block-design",
|
|
9827
|
+
id: "hero-brand-depth-expressive",
|
|
9828
|
+
target: "hero",
|
|
9829
|
+
label: "Expressive brand-depth hero",
|
|
9830
|
+
blockKinds: ["block.hero"],
|
|
9831
|
+
constraints: {
|
|
9832
|
+
layoutFamilies: ["centered", "compact"]
|
|
9833
|
+
},
|
|
9834
|
+
design: {
|
|
9835
|
+
sectionSurface: "brand-depth-band",
|
|
9836
|
+
contentFrame: plainFrame,
|
|
9837
|
+
itemSurface: "none",
|
|
9838
|
+
transitionAfter: "soft-fade-short",
|
|
9839
|
+
emphasis: "high",
|
|
9840
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
9841
|
+
}
|
|
9842
|
+
}),
|
|
9643
9843
|
defineBlockAppearancePreset({
|
|
9644
9844
|
kind: "block-design",
|
|
9645
9845
|
id: "hero-contained-intro",
|
|
@@ -9668,6 +9868,20 @@ var appearancePresets = [
|
|
|
9668
9868
|
emphasis: "high"
|
|
9669
9869
|
}
|
|
9670
9870
|
}),
|
|
9871
|
+
defineBlockAppearancePreset({
|
|
9872
|
+
kind: "block-design",
|
|
9873
|
+
id: "body-text-brand-depth-intro",
|
|
9874
|
+
target: "body-text",
|
|
9875
|
+
label: "Brand-depth intro copy",
|
|
9876
|
+
blockKinds: ["block.body-text"],
|
|
9877
|
+
design: {
|
|
9878
|
+
sectionSurface: "brand-depth-band",
|
|
9879
|
+
contentFrame: plainFrame,
|
|
9880
|
+
itemSurface: "none",
|
|
9881
|
+
transitionAfter: "soft-fade-short",
|
|
9882
|
+
emphasis: "high"
|
|
9883
|
+
}
|
|
9884
|
+
}),
|
|
9671
9885
|
defineBlockAppearancePreset({
|
|
9672
9886
|
kind: "block-design",
|
|
9673
9887
|
id: "offerings-calm-list",
|
|
@@ -9710,6 +9924,21 @@ var appearancePresets = [
|
|
|
9710
9924
|
emphasis: "medium"
|
|
9711
9925
|
}
|
|
9712
9926
|
}),
|
|
9927
|
+
defineBlockAppearancePreset({
|
|
9928
|
+
kind: "block-design",
|
|
9929
|
+
id: "schedule-details-brand-depth",
|
|
9930
|
+
target: "events",
|
|
9931
|
+
label: "Brand-depth schedule details",
|
|
9932
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
9933
|
+
design: {
|
|
9934
|
+
sectionSurface: "brand-depth-band",
|
|
9935
|
+
contentFrame: plainFrame,
|
|
9936
|
+
itemSurface: "none",
|
|
9937
|
+
transitionAfter: "none",
|
|
9938
|
+
emphasis: "medium",
|
|
9939
|
+
tileTreatment: "brand-depth"
|
|
9940
|
+
}
|
|
9941
|
+
}),
|
|
9713
9942
|
defineBlockAppearancePreset({
|
|
9714
9943
|
kind: "block-design",
|
|
9715
9944
|
id: "media-text-flush-feature",
|
|
@@ -9795,6 +10024,20 @@ var appearancePresets = [
|
|
|
9795
10024
|
testimonialCardTreatment: "accent-quote"
|
|
9796
10025
|
}
|
|
9797
10026
|
}),
|
|
10027
|
+
defineBlockAppearancePreset({
|
|
10028
|
+
kind: "block-design",
|
|
10029
|
+
id: "faq-base-accordion",
|
|
10030
|
+
target: "faq",
|
|
10031
|
+
label: "Base accordion FAQ",
|
|
10032
|
+
blockKinds: ["block.faq"],
|
|
10033
|
+
design: {
|
|
10034
|
+
sectionSurface: "base",
|
|
10035
|
+
contentFrame: plainFrame,
|
|
10036
|
+
itemSurface: "default",
|
|
10037
|
+
transitionAfter: "none",
|
|
10038
|
+
emphasis: "medium"
|
|
10039
|
+
}
|
|
10040
|
+
}),
|
|
9798
10041
|
defineBlockAppearancePreset({
|
|
9799
10042
|
kind: "block-design",
|
|
9800
10043
|
id: "faq-contained-help",
|
|
@@ -9837,6 +10080,20 @@ var appearancePresets = [
|
|
|
9837
10080
|
emphasis: "high"
|
|
9838
10081
|
}
|
|
9839
10082
|
}),
|
|
10083
|
+
defineBlockAppearancePreset({
|
|
10084
|
+
kind: "block-design",
|
|
10085
|
+
id: "contact-form-brand-depth-card",
|
|
10086
|
+
target: "contact-form",
|
|
10087
|
+
label: "Brand-depth form card",
|
|
10088
|
+
blockKinds: ["block.form"],
|
|
10089
|
+
design: {
|
|
10090
|
+
sectionSurface: "brand-depth-band",
|
|
10091
|
+
contentFrame: panelFrame("raised"),
|
|
10092
|
+
itemSurface: "none",
|
|
10093
|
+
transitionAfter: "none",
|
|
10094
|
+
emphasis: "high"
|
|
10095
|
+
}
|
|
10096
|
+
}),
|
|
9840
10097
|
defineBlockAppearancePreset({
|
|
9841
10098
|
kind: "block-design",
|
|
9842
10099
|
id: "cta-accent-band",
|
|
@@ -9850,7 +10107,14 @@ var appearancePresets = [
|
|
|
9850
10107
|
transitionAfter: "none",
|
|
9851
10108
|
emphasis: "high"
|
|
9852
10109
|
}
|
|
9853
|
-
})
|
|
10110
|
+
})
|
|
10111
|
+
];
|
|
10112
|
+
|
|
10113
|
+
// ../theme-core/src/site-styles/siteChromeAppearancePresets.ts
|
|
10114
|
+
function defineSiteChromeAppearancePreset(preset2) {
|
|
10115
|
+
return preset2;
|
|
10116
|
+
}
|
|
10117
|
+
var siteChromeAppearancePresets = [
|
|
9854
10118
|
defineSiteChromeAppearancePreset({
|
|
9855
10119
|
kind: "site-chrome",
|
|
9856
10120
|
id: "header-clean-base",
|
|
@@ -9918,6 +10182,12 @@ var appearancePresets = [
|
|
|
9918
10182
|
})
|
|
9919
10183
|
];
|
|
9920
10184
|
|
|
10185
|
+
// ../theme-core/src/site-styles/appearancePresetCatalog.ts
|
|
10186
|
+
var appearancePresets = [
|
|
10187
|
+
...blockAppearancePresets,
|
|
10188
|
+
...siteChromeAppearancePresets
|
|
10189
|
+
];
|
|
10190
|
+
|
|
9921
10191
|
// ../theme-core/src/site-styles/blockFlow.ts
|
|
9922
10192
|
function defineBlockDesignMetadata(input) {
|
|
9923
10193
|
const layoutProfiles = (input.layoutProfiles ?? []).map((profile) => ({
|
|
@@ -11392,6 +11662,7 @@ var sectionStylesOverrideSchema = z22.object({
|
|
|
11392
11662
|
background: boxBackgroundSchema.nullable().optional(),
|
|
11393
11663
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
11394
11664
|
minHeight: z22.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
11665
|
+
tileTreatment: z22.enum(tileTreatmentValues).nullable().optional(),
|
|
11395
11666
|
eyebrowTreatment: z22.enum(eyebrowTreatmentValues).nullable().optional()
|
|
11396
11667
|
});
|
|
11397
11668
|
var containerStylesOverrideSchema = z22.object({
|
|
@@ -12185,7 +12456,7 @@ var userContentFrames = [
|
|
|
12185
12456
|
];
|
|
12186
12457
|
var generatedDesignOptionCatalog = {
|
|
12187
12458
|
source: "generated",
|
|
12188
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
12459
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
12189
12460
|
contentFrames: generatedContentFrames,
|
|
12190
12461
|
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
12191
12462
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
@@ -12255,6 +12526,43 @@ var expressiveBudget = {
|
|
|
12255
12526
|
mediaDensity: "high",
|
|
12256
12527
|
decorativeRepetition: "medium"
|
|
12257
12528
|
};
|
|
12529
|
+
var expressiveUnderlineInputs = {
|
|
12530
|
+
base: {
|
|
12531
|
+
background: { type: "transparent" },
|
|
12532
|
+
textColorToken: "text",
|
|
12533
|
+
border: {
|
|
12534
|
+
widthClass: "border-2",
|
|
12535
|
+
colorToken: "border",
|
|
12536
|
+
style: "underline"
|
|
12537
|
+
},
|
|
12538
|
+
corners: "square",
|
|
12539
|
+
shadow: null,
|
|
12540
|
+
spacing: "compact",
|
|
12541
|
+
fontSize: "base"
|
|
12542
|
+
},
|
|
12543
|
+
label: {
|
|
12544
|
+
textColorToken: "primary",
|
|
12545
|
+
fontWeight: "black",
|
|
12546
|
+
fontSize: "xs",
|
|
12547
|
+
textTransform: "uppercase",
|
|
12548
|
+
letterSpacing: "widest",
|
|
12549
|
+
opacity: 1
|
|
12550
|
+
},
|
|
12551
|
+
focus: {
|
|
12552
|
+
ringColorToken: "secondary",
|
|
12553
|
+
ringWidth: "0",
|
|
12554
|
+
borderColorToken: "secondary"
|
|
12555
|
+
},
|
|
12556
|
+
error: {
|
|
12557
|
+
borderColorToken: "destructive",
|
|
12558
|
+
textColorToken: "destructive"
|
|
12559
|
+
},
|
|
12560
|
+
disabled: {
|
|
12561
|
+
backgroundColorToken: "surface",
|
|
12562
|
+
textColorToken: "text",
|
|
12563
|
+
opacity: 0.6
|
|
12564
|
+
}
|
|
12565
|
+
};
|
|
12258
12566
|
function uniqueContentFrameKinds() {
|
|
12259
12567
|
const kinds = [...new Set(
|
|
12260
12568
|
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
@@ -12605,15 +12913,17 @@ var curatedSiteStyles = [
|
|
|
12605
12913
|
paragraphSize: "editorial",
|
|
12606
12914
|
headingSize: "editorial"
|
|
12607
12915
|
}
|
|
12608
|
-
}
|
|
12916
|
+
},
|
|
12917
|
+
inputs: expressiveUnderlineInputs
|
|
12609
12918
|
},
|
|
12610
12919
|
recommendedAppearancePresetIds: [
|
|
12611
12920
|
"site-header-brand-solid-inverted-cta",
|
|
12612
12921
|
"site-footer-brand-two-band",
|
|
12613
12922
|
"hero-brand-scrim-fixed-frame",
|
|
12614
12923
|
"body-text-editorial-intro",
|
|
12924
|
+
"schedule-details-brand-depth",
|
|
12615
12925
|
"testimonials-accent-quote-proof",
|
|
12616
|
-
"contact-form-
|
|
12926
|
+
"contact-form-brand-depth-card"
|
|
12617
12927
|
],
|
|
12618
12928
|
buttonPersonalityChoices: [
|
|
12619
12929
|
buttonChoice("showtime-pill"),
|
|
@@ -12747,6 +13057,7 @@ var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
|
12747
13057
|
}).strict()
|
|
12748
13058
|
]);
|
|
12749
13059
|
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
13060
|
+
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
12750
13061
|
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
12751
13062
|
function uniqueNonEmpty(values) {
|
|
12752
13063
|
const uniqueValues = [...new Set(values)];
|
|
@@ -12791,6 +13102,7 @@ var blockDesignPlanSchema = z24.object({
|
|
|
12791
13102
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
12792
13103
|
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
12793
13104
|
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
13105
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
12794
13106
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
12795
13107
|
}).strict();
|
|
12796
13108
|
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
@@ -12854,6 +13166,14 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
12854
13166
|
headingColor: "primaryForeground"
|
|
12855
13167
|
}
|
|
12856
13168
|
},
|
|
13169
|
+
"brand-depth-band": {
|
|
13170
|
+
background: {
|
|
13171
|
+
type: "color",
|
|
13172
|
+
color: "primary-800",
|
|
13173
|
+
textColor: "primaryForeground",
|
|
13174
|
+
headingColor: "primaryForeground"
|
|
13175
|
+
}
|
|
13176
|
+
},
|
|
12857
13177
|
"hero-image": {
|
|
12858
13178
|
background: {
|
|
12859
13179
|
type: "image",
|
|
@@ -14743,6 +15063,21 @@ function createTransformRegistry(definitions) {
|
|
|
14743
15063
|
}
|
|
14744
15064
|
|
|
14745
15065
|
// ../blocks/src/system/transforms/registry/_utils/colorResolution.ts
|
|
15066
|
+
var CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\(/i;
|
|
15067
|
+
var CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
15068
|
+
var THEME_COLOR_TOKEN_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*(?:\/(?:100|[1-9]?\d|0))?$/;
|
|
15069
|
+
var CSS_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
|
|
15070
|
+
"transparent",
|
|
15071
|
+
"currentColor",
|
|
15072
|
+
"inherit",
|
|
15073
|
+
"initial",
|
|
15074
|
+
"revert",
|
|
15075
|
+
"revert-layer",
|
|
15076
|
+
"unset"
|
|
15077
|
+
]);
|
|
15078
|
+
function isLiteralCssColorValue(value) {
|
|
15079
|
+
return CSS_HEX_COLOR_PATTERN.test(value) || CSS_COLOR_FUNCTION_PATTERN.test(value) || value.startsWith("var(") || CSS_COLOR_KEYWORDS.has(value);
|
|
15080
|
+
}
|
|
14746
15081
|
function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
14747
15082
|
const trimmed = tokenOrCssValue.trim();
|
|
14748
15083
|
if (!trimmed) return "";
|
|
@@ -14759,8 +15094,11 @@ function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
|
14759
15094
|
return rgbColorValue(trimmed);
|
|
14760
15095
|
}
|
|
14761
15096
|
}
|
|
14762
|
-
if (trimmed
|
|
14763
|
-
return
|
|
15097
|
+
if (isLiteralCssColorValue(trimmed)) {
|
|
15098
|
+
return trimmed;
|
|
15099
|
+
}
|
|
15100
|
+
if (THEME_COLOR_TOKEN_PATTERN.test(trimmed)) {
|
|
15101
|
+
return rgbColorValue(trimmed);
|
|
14764
15102
|
}
|
|
14765
15103
|
return trimmed;
|
|
14766
15104
|
}
|
|
@@ -15016,6 +15354,15 @@ function hasFixedFrameBackgroundMotion(value) {
|
|
|
15016
15354
|
const background = asPartialObject(input?.background);
|
|
15017
15355
|
return background?.motion === "fixed-frame";
|
|
15018
15356
|
}
|
|
15357
|
+
var tileTreatmentClassMap = {
|
|
15358
|
+
default: "",
|
|
15359
|
+
quiet: "rb-tile-treatment-quiet",
|
|
15360
|
+
"brand-depth": "rb-tile-treatment-brand-depth"
|
|
15361
|
+
};
|
|
15362
|
+
var tileTreatmentSet = new Set(tileTreatmentValues);
|
|
15363
|
+
function isTileTreatment(value) {
|
|
15364
|
+
return typeof value === "string" && tileTreatmentSet.has(value);
|
|
15365
|
+
}
|
|
15019
15366
|
var sectionClassNameTransform = {
|
|
15020
15367
|
id: "sectionStyles.resolveClassName",
|
|
15021
15368
|
kind: "string",
|
|
@@ -15072,6 +15419,17 @@ var sectionClassNameTransform = {
|
|
|
15072
15419
|
classes.push(minHeightClass);
|
|
15073
15420
|
}
|
|
15074
15421
|
}
|
|
15422
|
+
const tileTreatment = input?.tileTreatment;
|
|
15423
|
+
if (isTileTreatment(tileTreatment)) {
|
|
15424
|
+
const tileTreatmentClass = tileTreatmentClassMap[tileTreatment];
|
|
15425
|
+
if (tileTreatmentClass) {
|
|
15426
|
+
classes.push(tileTreatmentClass);
|
|
15427
|
+
}
|
|
15428
|
+
} else if (typeof tileTreatment === "string" && process.env.NODE_ENV !== "production") {
|
|
15429
|
+
console.warn(
|
|
15430
|
+
`[sectionStyles] Invalid tileTreatment value in _sectionStyles: "${tileTreatment}". Expected one of: ${tileTreatmentValues.join(", ")}.`
|
|
15431
|
+
);
|
|
15432
|
+
}
|
|
15075
15433
|
if (hasFixedFrameBackgroundMotion(input)) {
|
|
15076
15434
|
classes.push(fixedFrameScopeClass);
|
|
15077
15435
|
}
|
|
@@ -17946,6 +18304,9 @@ function createBlockManifest(config) {
|
|
|
17946
18304
|
};
|
|
17947
18305
|
return augmentManifest(manifest);
|
|
17948
18306
|
}
|
|
18307
|
+
function createBlockManifestWithContentShape(config, _contentShape) {
|
|
18308
|
+
return createBlockManifest(config);
|
|
18309
|
+
}
|
|
17949
18310
|
function normalizeBlockLayout(layout) {
|
|
17950
18311
|
return Array.isArray(layout) ? [...layout] : layout;
|
|
17951
18312
|
}
|
|
@@ -18578,7 +18939,7 @@ var ctaComposition = composeFragments([
|
|
|
18578
18939
|
{ fragment: ctaCopyFragment },
|
|
18579
18940
|
{ fragment: ctaRowFragment }
|
|
18580
18941
|
]);
|
|
18581
|
-
var
|
|
18942
|
+
var ctaFullConfig = {
|
|
18582
18943
|
id: "block.cta-full",
|
|
18583
18944
|
title: "Full-width CTA",
|
|
18584
18945
|
category: "marketing",
|
|
@@ -18596,7 +18957,8 @@ var ctaFullManifest = createBlockManifest({
|
|
|
18596
18957
|
description: "Centered call to action with optional background image.",
|
|
18597
18958
|
tags: ["cta", "call-to-action", "button", "conversion", "action", "sign-up", "get-started"],
|
|
18598
18959
|
icon: "Target"
|
|
18599
|
-
}
|
|
18960
|
+
};
|
|
18961
|
+
var ctaFullManifest = createBlockManifest(ctaFullConfig);
|
|
18600
18962
|
var ctaFullBlockDefinition = {
|
|
18601
18963
|
manifest: ctaFullManifest
|
|
18602
18964
|
};
|
|
@@ -21680,9 +22042,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
21680
22042
|
{
|
|
21681
22043
|
id: "images",
|
|
21682
22044
|
type: "repeater",
|
|
21683
|
-
label: "
|
|
22045
|
+
label: "Media",
|
|
21684
22046
|
required: false,
|
|
21685
|
-
itemLabel: "
|
|
22047
|
+
itemLabel: "Media",
|
|
21686
22048
|
minItems: 0,
|
|
21687
22049
|
maxItems: 6,
|
|
21688
22050
|
allowConversion: true,
|
|
@@ -21696,9 +22058,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
21696
22058
|
{
|
|
21697
22059
|
id: "image",
|
|
21698
22060
|
type: "media",
|
|
21699
|
-
label: "
|
|
22061
|
+
label: "Media",
|
|
21700
22062
|
required: true,
|
|
21701
|
-
mediaKinds: ["image"]
|
|
22063
|
+
mediaKinds: ["image", "video"]
|
|
21702
22064
|
}
|
|
21703
22065
|
]
|
|
21704
22066
|
}
|
|
@@ -21776,8 +22138,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
21776
22138
|
{
|
|
21777
22139
|
id: "aspectRatio",
|
|
21778
22140
|
type: "select",
|
|
21779
|
-
label: "
|
|
21780
|
-
description: "Crop
|
|
22141
|
+
label: "Media aspect ratio",
|
|
22142
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
21781
22143
|
required: false,
|
|
21782
22144
|
defaultValue: "auto",
|
|
21783
22145
|
multiple: false,
|
|
@@ -21964,8 +22326,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
21964
22326
|
}
|
|
21965
22327
|
};
|
|
21966
22328
|
})(),
|
|
21967
|
-
description: "Two columns:
|
|
21968
|
-
tags: ["media", "image", "carousel", "text", "two-column", "layout"],
|
|
22329
|
+
description: "Two columns: media/carousel + rich text (with optional section title).",
|
|
22330
|
+
tags: ["media", "image", "video", "carousel", "text", "two-column", "layout"],
|
|
21969
22331
|
icon: "Columns"
|
|
21970
22332
|
});
|
|
21971
22333
|
var mediaTextBlockDefinition = {
|
|
@@ -22116,6 +22478,19 @@ var transformSchema2 = z39.object({
|
|
|
22116
22478
|
hotspot: hotspotSchema2.optional(),
|
|
22117
22479
|
rotation: rotationSchema2.optional()
|
|
22118
22480
|
});
|
|
22481
|
+
var mediaPosterSchema = z39.discriminatedUnion("tag", [
|
|
22482
|
+
z39.object({
|
|
22483
|
+
tag: z39.literal("storage"),
|
|
22484
|
+
assetId: z39.string().optional(),
|
|
22485
|
+
storageBucket: z39.string().min(1),
|
|
22486
|
+
storagePath: z39.string().min(1)
|
|
22487
|
+
}),
|
|
22488
|
+
z39.object({
|
|
22489
|
+
tag: z39.literal("external-src"),
|
|
22490
|
+
assetId: z39.string().optional(),
|
|
22491
|
+
src: z39.string().url()
|
|
22492
|
+
})
|
|
22493
|
+
]);
|
|
22119
22494
|
var mediaBaseSchema = z39.object({
|
|
22120
22495
|
purpose: z39.string().optional(),
|
|
22121
22496
|
placeholder: z39.boolean().default(true).optional(),
|
|
@@ -22129,6 +22504,7 @@ var mediaBaseSchema = z39.object({
|
|
|
22129
22504
|
height: z39.number().optional(),
|
|
22130
22505
|
storageBucket: z39.string().optional(),
|
|
22131
22506
|
storagePath: z39.string().optional(),
|
|
22507
|
+
poster: mediaPosterSchema.optional(),
|
|
22132
22508
|
transform: transformSchema2.optional()
|
|
22133
22509
|
});
|
|
22134
22510
|
var imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
|
|
@@ -22612,10 +22988,28 @@ import { z as z45 } from "zod";
|
|
|
22612
22988
|
|
|
22613
22989
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
22614
22990
|
import { z as z44 } from "zod";
|
|
22991
|
+
|
|
22992
|
+
// ../blocks/src/system/constants/events.ts
|
|
22993
|
+
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
22994
|
+
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
22995
|
+
var eventCalendarListLayoutOptions = [
|
|
22996
|
+
{ id: "stack", label: "Stack" },
|
|
22997
|
+
{ id: "grid", label: "Grid" },
|
|
22998
|
+
{ id: "compact", label: "Compact" }
|
|
22999
|
+
];
|
|
23000
|
+
function isEventCalendarDisplayMode(value) {
|
|
23001
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
23002
|
+
}
|
|
23003
|
+
function isEventCalendarListLayout(value) {
|
|
23004
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
23005
|
+
}
|
|
23006
|
+
|
|
23007
|
+
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
22615
23008
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
22616
23009
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
22617
23010
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
22618
|
-
var eventLayoutSchema = z44.enum(
|
|
23011
|
+
var eventLayoutSchema = z44.enum(eventCalendarListLayoutValues);
|
|
23012
|
+
var eventCalendarDisplayModeSchema = z44.enum(eventCalendarDisplayModeValues);
|
|
22619
23013
|
var columnOptionSchema = z44.enum(["2", "3", "4"]);
|
|
22620
23014
|
var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
22621
23015
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
@@ -23997,7 +24391,232 @@ var eventListingInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
23997
24391
|
});
|
|
23998
24392
|
|
|
23999
24393
|
// ../blocks/src/system/blocks/events/event-listing.ts
|
|
24000
|
-
var
|
|
24394
|
+
var eventListingAdditionalFields = [
|
|
24395
|
+
...sectionHeaderFields("All Events"),
|
|
24396
|
+
...(() => {
|
|
24397
|
+
const columns = columnsField(["2", "3", "4"]);
|
|
24398
|
+
return [
|
|
24399
|
+
{
|
|
24400
|
+
...layoutField,
|
|
24401
|
+
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
24402
|
+
},
|
|
24403
|
+
{
|
|
24404
|
+
...columns,
|
|
24405
|
+
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
24406
|
+
}
|
|
24407
|
+
];
|
|
24408
|
+
})(),
|
|
24409
|
+
{
|
|
24410
|
+
id: "eventsPerPage",
|
|
24411
|
+
type: "select",
|
|
24412
|
+
label: "Events per page",
|
|
24413
|
+
description: "Number of events to load at a time",
|
|
24414
|
+
required: false,
|
|
24415
|
+
multiple: false,
|
|
24416
|
+
defaultValue: "12",
|
|
24417
|
+
options: [
|
|
24418
|
+
{ value: "3", label: "3 events" },
|
|
24419
|
+
{ value: "6", label: "6 events" },
|
|
24420
|
+
{ value: "12", label: "12 events" },
|
|
24421
|
+
{ value: "24", label: "24 events" }
|
|
24422
|
+
],
|
|
24423
|
+
ui: { intent: "display" }
|
|
24424
|
+
},
|
|
24425
|
+
{
|
|
24426
|
+
id: "paginationMode",
|
|
24427
|
+
type: "select",
|
|
24428
|
+
label: "More events",
|
|
24429
|
+
description: "How to access events beyond the initial list",
|
|
24430
|
+
required: false,
|
|
24431
|
+
multiple: false,
|
|
24432
|
+
defaultValue: "loadMore",
|
|
24433
|
+
options: [
|
|
24434
|
+
{ value: "loadMore", label: "Load more button" },
|
|
24435
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
24436
|
+
],
|
|
24437
|
+
ui: { intent: "display" }
|
|
24438
|
+
},
|
|
24439
|
+
{
|
|
24440
|
+
id: "seeAllUrl",
|
|
24441
|
+
type: "link",
|
|
24442
|
+
label: "See all destination",
|
|
24443
|
+
required: false,
|
|
24444
|
+
ui: {
|
|
24445
|
+
intent: "display",
|
|
24446
|
+
visibleWhen: {
|
|
24447
|
+
field: "paginationMode",
|
|
24448
|
+
equals: "seeAllLink"
|
|
24449
|
+
}
|
|
24450
|
+
}
|
|
24451
|
+
},
|
|
24452
|
+
{
|
|
24453
|
+
id: "loadMoreText",
|
|
24454
|
+
type: "text",
|
|
24455
|
+
label: "Button text",
|
|
24456
|
+
description: "Text for the pagination button or link",
|
|
24457
|
+
required: false,
|
|
24458
|
+
multiline: false,
|
|
24459
|
+
defaultValue: "Load more events",
|
|
24460
|
+
maxLength: 40
|
|
24461
|
+
},
|
|
24462
|
+
...cardStylingFields.map((field) => ({
|
|
24463
|
+
...field,
|
|
24464
|
+
ui: { ...field.ui ?? {}, intent: "style" }
|
|
24465
|
+
})),
|
|
24466
|
+
...eventDisplayFields.map((field) => ({
|
|
24467
|
+
...field,
|
|
24468
|
+
ui: { ...field.ui ?? {}, intent: "display" }
|
|
24469
|
+
})),
|
|
24470
|
+
{
|
|
24471
|
+
id: "kind",
|
|
24472
|
+
type: "select",
|
|
24473
|
+
label: "Show",
|
|
24474
|
+
description: "Choose whether this list shows courses, events, or both",
|
|
24475
|
+
required: false,
|
|
24476
|
+
multiple: false,
|
|
24477
|
+
defaultValue: "all",
|
|
24478
|
+
options: [
|
|
24479
|
+
{ value: "all", label: "Courses and events" },
|
|
24480
|
+
{ value: "courses", label: "Courses only" },
|
|
24481
|
+
{ value: "events", label: "Events only" }
|
|
24482
|
+
],
|
|
24483
|
+
ui: { intent: "behavior" }
|
|
24484
|
+
},
|
|
24485
|
+
{
|
|
24486
|
+
id: "eventSurface",
|
|
24487
|
+
type: "select",
|
|
24488
|
+
label: "Event surface",
|
|
24489
|
+
description: "Choose a semantic event scope",
|
|
24490
|
+
required: false,
|
|
24491
|
+
multiple: false,
|
|
24492
|
+
defaultValue: "all",
|
|
24493
|
+
options: [
|
|
24494
|
+
{ value: "all", label: "All events" },
|
|
24495
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
24496
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
24497
|
+
{ value: "custom", label: "Custom" }
|
|
24498
|
+
],
|
|
24499
|
+
ui: { intent: "behavior" }
|
|
24500
|
+
},
|
|
24501
|
+
{
|
|
24502
|
+
id: "filterEventPresets",
|
|
24503
|
+
type: "select",
|
|
24504
|
+
label: "Pre-filter by event type",
|
|
24505
|
+
description: "Restrict this block to specific event types",
|
|
24506
|
+
required: false,
|
|
24507
|
+
multiple: true,
|
|
24508
|
+
defaultValue: [],
|
|
24509
|
+
options: [
|
|
24510
|
+
{ value: "class", label: "Classes" },
|
|
24511
|
+
{ value: "workshop", label: "Workshops" },
|
|
24512
|
+
{ value: "retreat", label: "Retreats" },
|
|
24513
|
+
{ value: "performance", label: "Performances" }
|
|
24514
|
+
],
|
|
24515
|
+
ui: {
|
|
24516
|
+
intent: "behavior",
|
|
24517
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
24518
|
+
}
|
|
24519
|
+
},
|
|
24520
|
+
{
|
|
24521
|
+
id: "scheduleScope",
|
|
24522
|
+
type: "select",
|
|
24523
|
+
label: "Schedule cadence",
|
|
24524
|
+
description: "Restrict this block by recurrence",
|
|
24525
|
+
required: false,
|
|
24526
|
+
multiple: false,
|
|
24527
|
+
defaultValue: "any",
|
|
24528
|
+
options: [
|
|
24529
|
+
{ value: "any", label: "Any cadence" },
|
|
24530
|
+
{ value: "recurring", label: "Recurring only" },
|
|
24531
|
+
{ value: "oneOff", label: "One-off only" }
|
|
24532
|
+
],
|
|
24533
|
+
ui: {
|
|
24534
|
+
intent: "behavior",
|
|
24535
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
24536
|
+
}
|
|
24537
|
+
},
|
|
24538
|
+
{
|
|
24539
|
+
...emptyStateField,
|
|
24540
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
24541
|
+
},
|
|
24542
|
+
sectionStylesField({
|
|
24543
|
+
id: "_sectionStyles",
|
|
24544
|
+
label: "Section styles",
|
|
24545
|
+
renderInHeader: false
|
|
24546
|
+
})
|
|
24547
|
+
];
|
|
24548
|
+
var eventListingLayout = [
|
|
24549
|
+
styledSection({
|
|
24550
|
+
children: sectionContainer([
|
|
24551
|
+
// Optional heading
|
|
24552
|
+
text(
|
|
24553
|
+
{ as: "h2" },
|
|
24554
|
+
bind("content.heading"),
|
|
24555
|
+
when("content.heading")
|
|
24556
|
+
),
|
|
24557
|
+
// Optional description
|
|
24558
|
+
richText(
|
|
24559
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
24560
|
+
bind("content.description"),
|
|
24561
|
+
when("content.description")
|
|
24562
|
+
),
|
|
24563
|
+
// Event listing component with pagination
|
|
24564
|
+
el("event-listing", withApiBindings({
|
|
24565
|
+
events: { $bind: { from: "data.events" } },
|
|
24566
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
24567
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
24568
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
24569
|
+
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
24570
|
+
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
24571
|
+
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
24572
|
+
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
24573
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
24574
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
24575
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
24576
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
24577
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
24578
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
24579
|
+
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
24580
|
+
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
24581
|
+
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
24582
|
+
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
24583
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
24584
|
+
}))
|
|
24585
|
+
], {
|
|
24586
|
+
gap: "lg"
|
|
24587
|
+
}),
|
|
24588
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
24589
|
+
baseClass: "",
|
|
24590
|
+
spacing: "comfortable"
|
|
24591
|
+
})
|
|
24592
|
+
];
|
|
24593
|
+
var eventListingDerivedFields = [
|
|
24594
|
+
{
|
|
24595
|
+
id: "layout",
|
|
24596
|
+
type: "select",
|
|
24597
|
+
required: false,
|
|
24598
|
+
multiple: false,
|
|
24599
|
+
options: [
|
|
24600
|
+
{ value: "grid" },
|
|
24601
|
+
{ value: "stack" }
|
|
24602
|
+
]
|
|
24603
|
+
},
|
|
24604
|
+
{
|
|
24605
|
+
id: "paginationMode",
|
|
24606
|
+
type: "select",
|
|
24607
|
+
required: false,
|
|
24608
|
+
multiple: false,
|
|
24609
|
+
options: [
|
|
24610
|
+
{ value: "loadMore" },
|
|
24611
|
+
{ value: "seeAllLink" }
|
|
24612
|
+
]
|
|
24613
|
+
}
|
|
24614
|
+
];
|
|
24615
|
+
var eventListingContentShape = {
|
|
24616
|
+
additionalFields: eventListingDerivedFields,
|
|
24617
|
+
skipSectionStyles: true
|
|
24618
|
+
};
|
|
24619
|
+
var eventListingConfig = {
|
|
24001
24620
|
id: "block.event-listing",
|
|
24002
24621
|
version: "1.1.0",
|
|
24003
24622
|
title: "Event Listing",
|
|
@@ -24005,211 +24624,18 @@ var eventListingManifest = createBlockManifest({
|
|
|
24005
24624
|
description: "Paginated list of all upcoming events",
|
|
24006
24625
|
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
24007
24626
|
skipSectionStyles: true,
|
|
24008
|
-
additionalFields:
|
|
24009
|
-
...sectionHeaderFields("All Events"),
|
|
24010
|
-
...(() => {
|
|
24011
|
-
const columns = columnsField(["2", "3", "4"]);
|
|
24012
|
-
return [
|
|
24013
|
-
{
|
|
24014
|
-
...layoutField,
|
|
24015
|
-
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
24016
|
-
},
|
|
24017
|
-
{
|
|
24018
|
-
...columns,
|
|
24019
|
-
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
24020
|
-
}
|
|
24021
|
-
];
|
|
24022
|
-
})(),
|
|
24023
|
-
{
|
|
24024
|
-
id: "eventsPerPage",
|
|
24025
|
-
type: "select",
|
|
24026
|
-
label: "Events per page",
|
|
24027
|
-
description: "Number of events to load at a time",
|
|
24028
|
-
required: false,
|
|
24029
|
-
multiple: false,
|
|
24030
|
-
defaultValue: "12",
|
|
24031
|
-
options: [
|
|
24032
|
-
{ value: "3", label: "3 events" },
|
|
24033
|
-
{ value: "6", label: "6 events" },
|
|
24034
|
-
{ value: "12", label: "12 events" },
|
|
24035
|
-
{ value: "24", label: "24 events" }
|
|
24036
|
-
],
|
|
24037
|
-
ui: { intent: "display" }
|
|
24038
|
-
},
|
|
24039
|
-
{
|
|
24040
|
-
id: "paginationMode",
|
|
24041
|
-
type: "select",
|
|
24042
|
-
label: "More events",
|
|
24043
|
-
description: "How to access events beyond the initial list",
|
|
24044
|
-
required: false,
|
|
24045
|
-
multiple: false,
|
|
24046
|
-
defaultValue: "loadMore",
|
|
24047
|
-
options: [
|
|
24048
|
-
{ value: "loadMore", label: "Load more button" },
|
|
24049
|
-
{ value: "seeAllLink", label: "Link to another page" }
|
|
24050
|
-
],
|
|
24051
|
-
ui: { intent: "display" }
|
|
24052
|
-
},
|
|
24053
|
-
{
|
|
24054
|
-
id: "seeAllUrl",
|
|
24055
|
-
type: "link",
|
|
24056
|
-
label: "See all destination",
|
|
24057
|
-
required: false,
|
|
24058
|
-
ui: {
|
|
24059
|
-
intent: "display",
|
|
24060
|
-
visibleWhen: {
|
|
24061
|
-
field: "paginationMode",
|
|
24062
|
-
equals: "seeAllLink"
|
|
24063
|
-
}
|
|
24064
|
-
}
|
|
24065
|
-
},
|
|
24066
|
-
{
|
|
24067
|
-
id: "loadMoreText",
|
|
24068
|
-
type: "text",
|
|
24069
|
-
label: "Button text",
|
|
24070
|
-
description: "Text for the pagination button or link",
|
|
24071
|
-
required: false,
|
|
24072
|
-
multiline: false,
|
|
24073
|
-
defaultValue: "Load more events",
|
|
24074
|
-
maxLength: 40
|
|
24075
|
-
},
|
|
24076
|
-
...cardStylingFields.map((field) => ({
|
|
24077
|
-
...field,
|
|
24078
|
-
ui: { ...field.ui ?? {}, intent: "style" }
|
|
24079
|
-
})),
|
|
24080
|
-
...eventDisplayFields.map((field) => ({
|
|
24081
|
-
...field,
|
|
24082
|
-
ui: { ...field.ui ?? {}, intent: "display" }
|
|
24083
|
-
})),
|
|
24084
|
-
{
|
|
24085
|
-
id: "kind",
|
|
24086
|
-
type: "select",
|
|
24087
|
-
label: "Show",
|
|
24088
|
-
description: "Choose whether this list shows courses, events, or both",
|
|
24089
|
-
required: false,
|
|
24090
|
-
multiple: false,
|
|
24091
|
-
defaultValue: "all",
|
|
24092
|
-
options: [
|
|
24093
|
-
{ value: "all", label: "Courses and events" },
|
|
24094
|
-
{ value: "courses", label: "Courses only" },
|
|
24095
|
-
{ value: "events", label: "Events only" }
|
|
24096
|
-
],
|
|
24097
|
-
ui: { intent: "behavior" }
|
|
24098
|
-
},
|
|
24099
|
-
{
|
|
24100
|
-
id: "eventSurface",
|
|
24101
|
-
type: "select",
|
|
24102
|
-
label: "Event surface",
|
|
24103
|
-
description: "Choose a semantic event scope",
|
|
24104
|
-
required: false,
|
|
24105
|
-
multiple: false,
|
|
24106
|
-
defaultValue: "all",
|
|
24107
|
-
options: [
|
|
24108
|
-
{ value: "all", label: "All events" },
|
|
24109
|
-
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
24110
|
-
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
24111
|
-
{ value: "custom", label: "Custom" }
|
|
24112
|
-
],
|
|
24113
|
-
ui: { intent: "behavior" }
|
|
24114
|
-
},
|
|
24115
|
-
{
|
|
24116
|
-
id: "filterEventPresets",
|
|
24117
|
-
type: "select",
|
|
24118
|
-
label: "Pre-filter by event type",
|
|
24119
|
-
description: "Restrict this block to specific event types",
|
|
24120
|
-
required: false,
|
|
24121
|
-
multiple: true,
|
|
24122
|
-
defaultValue: [],
|
|
24123
|
-
options: [
|
|
24124
|
-
{ value: "class", label: "Classes" },
|
|
24125
|
-
{ value: "workshop", label: "Workshops" },
|
|
24126
|
-
{ value: "retreat", label: "Retreats" },
|
|
24127
|
-
{ value: "performance", label: "Performances" }
|
|
24128
|
-
],
|
|
24129
|
-
ui: {
|
|
24130
|
-
intent: "behavior",
|
|
24131
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
24132
|
-
}
|
|
24133
|
-
},
|
|
24134
|
-
{
|
|
24135
|
-
id: "scheduleScope",
|
|
24136
|
-
type: "select",
|
|
24137
|
-
label: "Schedule cadence",
|
|
24138
|
-
description: "Restrict this block by recurrence",
|
|
24139
|
-
required: false,
|
|
24140
|
-
multiple: false,
|
|
24141
|
-
defaultValue: "any",
|
|
24142
|
-
options: [
|
|
24143
|
-
{ value: "any", label: "Any cadence" },
|
|
24144
|
-
{ value: "recurring", label: "Recurring only" },
|
|
24145
|
-
{ value: "oneOff", label: "One-off only" }
|
|
24146
|
-
],
|
|
24147
|
-
ui: {
|
|
24148
|
-
intent: "behavior",
|
|
24149
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
24150
|
-
}
|
|
24151
|
-
},
|
|
24152
|
-
{
|
|
24153
|
-
...emptyStateField,
|
|
24154
|
-
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
24155
|
-
},
|
|
24156
|
-
sectionStylesField({
|
|
24157
|
-
id: "_sectionStyles",
|
|
24158
|
-
label: "Section styles",
|
|
24159
|
-
renderInHeader: false
|
|
24160
|
-
})
|
|
24161
|
-
],
|
|
24627
|
+
additionalFields: eventListingAdditionalFields,
|
|
24162
24628
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
24163
24629
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: true },
|
|
24164
24630
|
category: "interactive",
|
|
24165
24631
|
tags: ["events", "listing", "paginated", "archive", "all-events"],
|
|
24166
24632
|
icon: "List",
|
|
24167
|
-
layout:
|
|
24168
|
-
|
|
24169
|
-
|
|
24170
|
-
|
|
24171
|
-
|
|
24172
|
-
|
|
24173
|
-
bind("content.heading"),
|
|
24174
|
-
when("content.heading")
|
|
24175
|
-
),
|
|
24176
|
-
// Optional description
|
|
24177
|
-
richText(
|
|
24178
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
24179
|
-
bind("content.description"),
|
|
24180
|
-
when("content.description")
|
|
24181
|
-
),
|
|
24182
|
-
// Event listing component with pagination
|
|
24183
|
-
el("event-listing", withApiBindings({
|
|
24184
|
-
events: { $bind: { from: "data.events" } },
|
|
24185
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
24186
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
24187
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
24188
|
-
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
24189
|
-
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
24190
|
-
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
24191
|
-
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
24192
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
24193
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
24194
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
24195
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
24196
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
24197
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
24198
|
-
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
24199
|
-
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
24200
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
24201
|
-
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
24202
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
24203
|
-
}))
|
|
24204
|
-
], {
|
|
24205
|
-
gap: "lg"
|
|
24206
|
-
}),
|
|
24207
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
24208
|
-
baseClass: "",
|
|
24209
|
-
spacing: "comfortable"
|
|
24210
|
-
})
|
|
24211
|
-
]
|
|
24212
|
-
});
|
|
24633
|
+
layout: eventListingLayout
|
|
24634
|
+
};
|
|
24635
|
+
var eventListingManifest = createBlockManifestWithContentShape(
|
|
24636
|
+
eventListingConfig,
|
|
24637
|
+
eventListingContentShape
|
|
24638
|
+
);
|
|
24213
24639
|
var eventListingBlockDefinition = {
|
|
24214
24640
|
manifest: eventListingManifest,
|
|
24215
24641
|
runtime: eventListingBlockRuntime,
|
|
@@ -24236,7 +24662,6 @@ var eventListingBlockDefinition = {
|
|
|
24236
24662
|
|
|
24237
24663
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
24238
24664
|
import { z as z51 } from "zod";
|
|
24239
|
-
var displayModeSchema = z51.enum(["combined", "month", "week", "list", "timetable"]);
|
|
24240
24665
|
var eventBlockKindSchema2 = z51.enum(eventBlockKindValues);
|
|
24241
24666
|
var eventSurfaceScopeSchema2 = z51.enum(eventSurfaceScopeValues);
|
|
24242
24667
|
var eventScheduleScopeSchema3 = z51.enum(eventScheduleScopeValues);
|
|
@@ -24246,7 +24671,8 @@ var eventCalendarSourceSchema = z51.object(
|
|
|
24246
24671
|
siteId: z51.string(),
|
|
24247
24672
|
apiBaseUrl: z51.string().optional(),
|
|
24248
24673
|
stage: previewStageSchema.optional(),
|
|
24249
|
-
|
|
24674
|
+
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
24675
|
+
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
24250
24676
|
listLayout: eventLayoutSchema.optional(),
|
|
24251
24677
|
listColumns: columnOptionSchema.optional(),
|
|
24252
24678
|
layout: eventLayoutSchema.optional(),
|
|
@@ -24278,7 +24704,7 @@ var eventCalendarSourceSchema = z51.object(
|
|
|
24278
24704
|
);
|
|
24279
24705
|
var eventCalendarDisplaySchema = z51.object({
|
|
24280
24706
|
kind: z51.literal("event-calendar"),
|
|
24281
|
-
displayMode:
|
|
24707
|
+
displayMode: eventCalendarDisplayModeSchema,
|
|
24282
24708
|
className: z51.string().nullable(),
|
|
24283
24709
|
events: z51.array(publicEventSchema),
|
|
24284
24710
|
listLayout: eventLayoutSchema,
|
|
@@ -24333,7 +24759,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
24333
24759
|
function buildEventCalendarDisplay(source) {
|
|
24334
24760
|
return {
|
|
24335
24761
|
kind: "event-calendar",
|
|
24336
|
-
displayMode: source.displayMode ?? "combined",
|
|
24762
|
+
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
24337
24763
|
className: source.className ?? null,
|
|
24338
24764
|
events: (source.events ?? []).slice().sort(
|
|
24339
24765
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
@@ -24400,8 +24826,12 @@ var eventCalendarInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
24400
24826
|
function normalizeEventCalendarContent(content) {
|
|
24401
24827
|
const record = typeof content === "object" && content !== null ? content : {};
|
|
24402
24828
|
const kind = normalizeEventBlockKind(record.kind);
|
|
24829
|
+
const variant = normalizeEventCalendarDisplayMode(record.variant) ?? normalizeEventCalendarDisplayMode(record.displayMode);
|
|
24403
24830
|
return {
|
|
24404
24831
|
...record,
|
|
24832
|
+
...variant ? { variant } : {},
|
|
24833
|
+
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
24834
|
+
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
24405
24835
|
kind,
|
|
24406
24836
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
24407
24837
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -24413,355 +24843,515 @@ function normalizeEventCalendarContent(content) {
|
|
|
24413
24843
|
filterVenueId: normalizeEventVenueId(record.filterVenueId)
|
|
24414
24844
|
};
|
|
24415
24845
|
}
|
|
24416
|
-
|
|
24417
|
-
|
|
24418
|
-
|
|
24419
|
-
|
|
24420
|
-
|
|
24421
|
-
|
|
24422
|
-
|
|
24423
|
-
|
|
24424
|
-
|
|
24425
|
-
|
|
24426
|
-
|
|
24427
|
-
|
|
24428
|
-
|
|
24429
|
-
|
|
24430
|
-
|
|
24431
|
-
|
|
24432
|
-
|
|
24433
|
-
|
|
24434
|
-
|
|
24435
|
-
|
|
24436
|
-
|
|
24437
|
-
|
|
24438
|
-
|
|
24439
|
-
|
|
24440
|
-
|
|
24441
|
-
|
|
24442
|
-
|
|
24443
|
-
|
|
24444
|
-
|
|
24445
|
-
|
|
24446
|
-
|
|
24447
|
-
|
|
24448
|
-
|
|
24449
|
-
|
|
24450
|
-
|
|
24451
|
-
|
|
24452
|
-
|
|
24453
|
-
|
|
24454
|
-
|
|
24455
|
-
|
|
24456
|
-
|
|
24457
|
-
|
|
24458
|
-
|
|
24459
|
-
|
|
24460
|
-
|
|
24461
|
-
|
|
24462
|
-
|
|
24463
|
-
|
|
24464
|
-
|
|
24465
|
-
|
|
24466
|
-
|
|
24467
|
-
|
|
24468
|
-
|
|
24469
|
-
|
|
24470
|
-
|
|
24471
|
-
|
|
24472
|
-
|
|
24473
|
-
|
|
24474
|
-
|
|
24475
|
-
|
|
24476
|
-
|
|
24477
|
-
|
|
24478
|
-
|
|
24479
|
-
|
|
24480
|
-
|
|
24481
|
-
|
|
24482
|
-
|
|
24483
|
-
|
|
24484
|
-
|
|
24485
|
-
|
|
24486
|
-
|
|
24487
|
-
|
|
24488
|
-
|
|
24489
|
-
|
|
24490
|
-
|
|
24491
|
-
|
|
24492
|
-
|
|
24493
|
-
|
|
24494
|
-
|
|
24495
|
-
|
|
24496
|
-
|
|
24497
|
-
|
|
24498
|
-
|
|
24499
|
-
|
|
24500
|
-
|
|
24501
|
-
|
|
24502
|
-
|
|
24503
|
-
|
|
24504
|
-
|
|
24505
|
-
|
|
24506
|
-
|
|
24507
|
-
|
|
24508
|
-
|
|
24509
|
-
|
|
24510
|
-
|
|
24511
|
-
|
|
24512
|
-
|
|
24513
|
-
|
|
24514
|
-
|
|
24515
|
-
|
|
24516
|
-
|
|
24517
|
-
|
|
24518
|
-
id: "loadMoreText",
|
|
24519
|
-
type: "text",
|
|
24520
|
-
label: "Load more button text",
|
|
24521
|
-
description: "Text for the load more button",
|
|
24522
|
-
required: false,
|
|
24523
|
-
multiline: false,
|
|
24524
|
-
defaultValue: "Load more events",
|
|
24525
|
-
ui: {
|
|
24526
|
-
intent: "content",
|
|
24527
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list"] }
|
|
24528
|
-
}
|
|
24529
|
-
},
|
|
24530
|
-
// Calendar options
|
|
24531
|
-
{
|
|
24532
|
-
id: "startOfWeek",
|
|
24533
|
-
type: "select",
|
|
24534
|
-
label: "Week starts on",
|
|
24535
|
-
description: "First day of the week",
|
|
24536
|
-
required: false,
|
|
24537
|
-
multiple: false,
|
|
24538
|
-
defaultValue: "monday",
|
|
24539
|
-
options: [
|
|
24540
|
-
{ value: "sunday", label: "Sunday" },
|
|
24541
|
-
{ value: "monday", label: "Monday" }
|
|
24542
|
-
],
|
|
24543
|
-
ui: {
|
|
24544
|
-
intent: "display",
|
|
24545
|
-
visibleWhen: {
|
|
24546
|
-
field: "displayMode",
|
|
24547
|
-
oneOf: ["combined", "month", "week"]
|
|
24548
|
-
}
|
|
24549
|
-
}
|
|
24550
|
-
},
|
|
24551
|
-
// Combined mode options
|
|
24552
|
-
{
|
|
24553
|
-
id: "calendarTabViews",
|
|
24554
|
-
type: "select",
|
|
24555
|
-
label: "Calendar tab views",
|
|
24556
|
-
description: "Which calendar views to show in the Calendar tab",
|
|
24557
|
-
required: false,
|
|
24558
|
-
multiple: false,
|
|
24559
|
-
defaultValue: "both",
|
|
24560
|
-
options: [
|
|
24561
|
-
{ value: "both", label: "Month + Week toggle" },
|
|
24562
|
-
{ value: "month", label: "Month only" },
|
|
24563
|
-
{ value: "week", label: "Week only" }
|
|
24564
|
-
],
|
|
24565
|
-
ui: {
|
|
24566
|
-
intent: "display",
|
|
24567
|
-
visibleWhen: { field: "displayMode", equals: "combined" }
|
|
24568
|
-
}
|
|
24569
|
-
},
|
|
24570
|
-
// Filtering options
|
|
24571
|
-
{
|
|
24572
|
-
id: "kind",
|
|
24573
|
-
type: "select",
|
|
24574
|
-
label: "Show",
|
|
24575
|
-
description: "Restrict this block to all offerings, courses, or events",
|
|
24576
|
-
required: false,
|
|
24577
|
-
multiple: false,
|
|
24578
|
-
defaultValue: "all",
|
|
24579
|
-
options: [
|
|
24580
|
-
{ value: "all", label: "All offerings" },
|
|
24581
|
-
{ value: "courses", label: "Courses only" },
|
|
24582
|
-
{ value: "events", label: "Events only" }
|
|
24583
|
-
],
|
|
24584
|
-
ui: { intent: "behavior" }
|
|
24585
|
-
},
|
|
24586
|
-
{
|
|
24587
|
-
id: "showFilters",
|
|
24588
|
-
type: "boolean",
|
|
24589
|
-
label: "Show filters",
|
|
24590
|
-
description: "Show category, staff, and venue filters",
|
|
24591
|
-
required: false,
|
|
24592
|
-
defaultValue: true,
|
|
24593
|
-
ui: {
|
|
24594
|
-
intent: "display",
|
|
24595
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
24596
|
-
}
|
|
24597
|
-
},
|
|
24598
|
-
{
|
|
24599
|
-
id: "showCategoryFilter",
|
|
24600
|
-
type: "select",
|
|
24601
|
-
label: "Show category filter",
|
|
24602
|
-
description: "When to show the category filter dropdown",
|
|
24603
|
-
required: false,
|
|
24604
|
-
multiple: false,
|
|
24605
|
-
defaultValue: "auto",
|
|
24606
|
-
options: [
|
|
24607
|
-
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
24608
|
-
{ value: "always", label: "Always" },
|
|
24609
|
-
{ value: "never", label: "Never" }
|
|
24846
|
+
function normalizeEventCalendarDisplayMode(value) {
|
|
24847
|
+
return isEventCalendarDisplayMode(value) ? value : void 0;
|
|
24848
|
+
}
|
|
24849
|
+
function normalizeEventCalendarListLayout(value) {
|
|
24850
|
+
return isEventCalendarListLayout(value) ? value : void 0;
|
|
24851
|
+
}
|
|
24852
|
+
var eventCalendarLayout = [
|
|
24853
|
+
styledSection({
|
|
24854
|
+
children: sectionContainer(
|
|
24855
|
+
[
|
|
24856
|
+
// Optional heading
|
|
24857
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
24858
|
+
// Optional description
|
|
24859
|
+
richText(
|
|
24860
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
24861
|
+
bind("content.description"),
|
|
24862
|
+
when("content.description")
|
|
24863
|
+
),
|
|
24864
|
+
// Event calendar component (handles all display modes)
|
|
24865
|
+
el(
|
|
24866
|
+
"event-calendar",
|
|
24867
|
+
withApiBindings({
|
|
24868
|
+
events: { $bind: { from: "data.events" } },
|
|
24869
|
+
stage: {
|
|
24870
|
+
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
24871
|
+
},
|
|
24872
|
+
// Variant is the new Theme V2-facing display mode. displayMode is
|
|
24873
|
+
// retained as a legacy fallback for existing content.
|
|
24874
|
+
variant: {
|
|
24875
|
+
$bind: { from: "content.variant" }
|
|
24876
|
+
},
|
|
24877
|
+
displayMode: {
|
|
24878
|
+
$bind: { from: "content.displayMode" }
|
|
24879
|
+
},
|
|
24880
|
+
// List options
|
|
24881
|
+
listLayout: { $bind: { from: "content.listLayout" } },
|
|
24882
|
+
listColumns: { $bind: { from: "content.listColumns" } },
|
|
24883
|
+
// Legacy compatibility: older event-calendar content used layout/columns
|
|
24884
|
+
layout: { $bind: { from: "content.layout" } },
|
|
24885
|
+
columns: { $bind: { from: "content.columns" } },
|
|
24886
|
+
eventsPerPage: {
|
|
24887
|
+
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
24888
|
+
},
|
|
24889
|
+
compactEventsPerPage: {
|
|
24890
|
+
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
24891
|
+
},
|
|
24892
|
+
loadMoreText: {
|
|
24893
|
+
$bind: {
|
|
24894
|
+
from: "content.loadMoreText",
|
|
24895
|
+
fallback: "Load more events"
|
|
24896
|
+
}
|
|
24897
|
+
},
|
|
24898
|
+
// Calendar options
|
|
24899
|
+
startOfWeek: {
|
|
24900
|
+
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
24901
|
+
},
|
|
24902
|
+
calendarTabViews: {
|
|
24903
|
+
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
24904
|
+
},
|
|
24905
|
+
// Filtering options
|
|
24906
|
+
showFilters: {
|
|
24907
|
+
$bind: { from: "content.showFilters", fallback: true }
|
|
24908
|
+
},
|
|
24909
|
+
showCategoryFilter: {
|
|
24910
|
+
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
24911
|
+
},
|
|
24912
|
+
showVenueFilter: {
|
|
24913
|
+
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
24914
|
+
},
|
|
24915
|
+
showStaffFilter: {
|
|
24916
|
+
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
24917
|
+
},
|
|
24918
|
+
showCapacity: {
|
|
24919
|
+
$bind: { from: "content.showCapacity", fallback: true }
|
|
24920
|
+
},
|
|
24921
|
+
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
24922
|
+
eventSurface: {
|
|
24923
|
+
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
24924
|
+
},
|
|
24925
|
+
filterEventPresets: {
|
|
24926
|
+
$bind: { from: "content.filterEventPresets" }
|
|
24927
|
+
},
|
|
24928
|
+
scheduleScope: {
|
|
24929
|
+
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
24930
|
+
},
|
|
24931
|
+
filterCategoryIds: {
|
|
24932
|
+
$bind: { from: "content.filterCategoryIds" }
|
|
24933
|
+
},
|
|
24934
|
+
filterStaffMemberId: {
|
|
24935
|
+
$bind: { from: "content.filterStaffMemberId" }
|
|
24936
|
+
},
|
|
24937
|
+
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
24938
|
+
// Styling
|
|
24939
|
+
buttonVariant: {
|
|
24940
|
+
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
24941
|
+
},
|
|
24942
|
+
buttonText: {
|
|
24943
|
+
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
24944
|
+
},
|
|
24945
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
24946
|
+
})
|
|
24947
|
+
)
|
|
24610
24948
|
],
|
|
24611
|
-
|
|
24612
|
-
|
|
24613
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
24614
|
-
}
|
|
24615
|
-
},
|
|
24616
|
-
{
|
|
24617
|
-
id: "showVenueFilter",
|
|
24618
|
-
type: "boolean",
|
|
24619
|
-
label: "Show venue filter",
|
|
24620
|
-
description: "Show venue filter dropdown",
|
|
24621
|
-
required: false,
|
|
24622
|
-
defaultValue: false,
|
|
24623
|
-
ui: {
|
|
24624
|
-
intent: "display",
|
|
24625
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
24626
|
-
}
|
|
24627
|
-
},
|
|
24628
|
-
{
|
|
24629
|
-
id: "showStaffFilter",
|
|
24630
|
-
type: "boolean",
|
|
24631
|
-
label: "Show staff filter",
|
|
24632
|
-
description: "Show staff filter dropdown",
|
|
24633
|
-
required: false,
|
|
24634
|
-
defaultValue: true,
|
|
24635
|
-
ui: {
|
|
24636
|
-
intent: "display",
|
|
24637
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
24638
|
-
}
|
|
24639
|
-
},
|
|
24640
|
-
{
|
|
24641
|
-
id: "showCapacity",
|
|
24642
|
-
type: "boolean",
|
|
24643
|
-
label: "Show available spots",
|
|
24644
|
-
description: "Display remaining capacity on event cards and timetable cells",
|
|
24645
|
-
required: false,
|
|
24646
|
-
defaultValue: true,
|
|
24647
|
-
ui: {
|
|
24648
|
-
intent: "display",
|
|
24649
|
-
visibleWhen: {
|
|
24650
|
-
field: "displayMode",
|
|
24651
|
-
oneOf: ["combined", "list", "week", "timetable"]
|
|
24652
|
-
}
|
|
24949
|
+
{
|
|
24950
|
+
gap: "lg"
|
|
24653
24951
|
}
|
|
24654
|
-
|
|
24655
|
-
//
|
|
24656
|
-
|
|
24657
|
-
|
|
24658
|
-
|
|
24659
|
-
|
|
24660
|
-
|
|
24661
|
-
|
|
24662
|
-
|
|
24663
|
-
|
|
24664
|
-
|
|
24665
|
-
|
|
24666
|
-
|
|
24667
|
-
|
|
24668
|
-
|
|
24669
|
-
|
|
24670
|
-
|
|
24671
|
-
|
|
24672
|
-
|
|
24673
|
-
|
|
24674
|
-
|
|
24675
|
-
|
|
24676
|
-
|
|
24677
|
-
|
|
24678
|
-
|
|
24679
|
-
|
|
24680
|
-
|
|
24681
|
-
|
|
24682
|
-
|
|
24683
|
-
|
|
24684
|
-
|
|
24685
|
-
|
|
24686
|
-
|
|
24687
|
-
|
|
24688
|
-
|
|
24952
|
+
),
|
|
24953
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
24954
|
+
baseClass: "",
|
|
24955
|
+
spacing: "comfortable"
|
|
24956
|
+
})
|
|
24957
|
+
];
|
|
24958
|
+
var eventCalendarAdditionalFields = [
|
|
24959
|
+
...sectionHeaderFields("Event Calendar"),
|
|
24960
|
+
// Display Mode (replaces calendarView)
|
|
24961
|
+
{
|
|
24962
|
+
id: "displayMode",
|
|
24963
|
+
type: "select",
|
|
24964
|
+
label: "Display mode",
|
|
24965
|
+
description: "How events are displayed",
|
|
24966
|
+
required: false,
|
|
24967
|
+
multiple: false,
|
|
24968
|
+
defaultValue: "combined",
|
|
24969
|
+
options: [
|
|
24970
|
+
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
24971
|
+
{ value: "month", label: "Month calendar" },
|
|
24972
|
+
{ value: "week", label: "Week agenda" },
|
|
24973
|
+
{ value: "timetable", label: "Timetable" },
|
|
24974
|
+
{ value: "list", label: "List" }
|
|
24975
|
+
],
|
|
24976
|
+
ui: { intent: "display", hidden: true }
|
|
24977
|
+
},
|
|
24978
|
+
// List options (visible when displayMode is list or combined)
|
|
24979
|
+
{
|
|
24980
|
+
id: "listLayout",
|
|
24981
|
+
type: "select",
|
|
24982
|
+
label: "List layout",
|
|
24983
|
+
description: "Layout style for list view",
|
|
24984
|
+
required: false,
|
|
24985
|
+
multiple: false,
|
|
24986
|
+
defaultValue: "stack",
|
|
24987
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
24988
|
+
value: option.id,
|
|
24989
|
+
label: option.label
|
|
24990
|
+
})),
|
|
24991
|
+
ui: {
|
|
24992
|
+
intent: "display",
|
|
24993
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
24994
|
+
}
|
|
24995
|
+
},
|
|
24996
|
+
{
|
|
24997
|
+
id: "listColumns",
|
|
24998
|
+
type: "select",
|
|
24999
|
+
label: "Grid columns",
|
|
25000
|
+
description: "Number of columns in grid layout",
|
|
25001
|
+
required: false,
|
|
25002
|
+
multiple: false,
|
|
25003
|
+
defaultValue: "3",
|
|
25004
|
+
options: [
|
|
25005
|
+
{ value: "2", label: "2 columns" },
|
|
25006
|
+
{ value: "3", label: "3 columns" },
|
|
25007
|
+
{ value: "4", label: "4 columns" }
|
|
25008
|
+
],
|
|
25009
|
+
ui: {
|
|
25010
|
+
intent: "display",
|
|
25011
|
+
visibleWhen: { field: "listLayout", equals: "grid" }
|
|
25012
|
+
}
|
|
25013
|
+
},
|
|
25014
|
+
{
|
|
25015
|
+
id: "eventsPerPage",
|
|
25016
|
+
type: "select",
|
|
25017
|
+
label: "Events per page (cards)",
|
|
25018
|
+
description: "Number of events to load initially in card layouts",
|
|
25019
|
+
required: false,
|
|
25020
|
+
multiple: false,
|
|
25021
|
+
defaultValue: "12",
|
|
25022
|
+
options: [
|
|
25023
|
+
{ value: "6", label: "6" },
|
|
25024
|
+
{ value: "12", label: "12" },
|
|
25025
|
+
{ value: "24", label: "24" }
|
|
25026
|
+
],
|
|
25027
|
+
ui: {
|
|
25028
|
+
intent: "display",
|
|
25029
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
25030
|
+
}
|
|
25031
|
+
},
|
|
25032
|
+
{
|
|
25033
|
+
id: "compactEventsPerPage",
|
|
25034
|
+
type: "select",
|
|
25035
|
+
label: "Events per page (compact)",
|
|
25036
|
+
description: "Number of events to show per page in compact layout",
|
|
25037
|
+
required: false,
|
|
25038
|
+
multiple: false,
|
|
25039
|
+
defaultValue: "10",
|
|
25040
|
+
options: [
|
|
25041
|
+
{ value: "10", label: "10" },
|
|
25042
|
+
{ value: "20", label: "20" },
|
|
25043
|
+
{ value: "30", label: "30" }
|
|
25044
|
+
],
|
|
25045
|
+
ui: {
|
|
25046
|
+
intent: "display",
|
|
25047
|
+
visibleWhen: { field: "listLayout", equals: "compact" }
|
|
25048
|
+
}
|
|
25049
|
+
},
|
|
25050
|
+
{
|
|
25051
|
+
id: "loadMoreText",
|
|
25052
|
+
type: "text",
|
|
25053
|
+
label: "Load more button text",
|
|
25054
|
+
description: "Text for the load more button",
|
|
25055
|
+
required: false,
|
|
25056
|
+
multiline: false,
|
|
25057
|
+
defaultValue: "Load more events",
|
|
25058
|
+
ui: {
|
|
25059
|
+
intent: "content",
|
|
25060
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
25061
|
+
}
|
|
25062
|
+
},
|
|
25063
|
+
// Calendar options
|
|
25064
|
+
{
|
|
25065
|
+
id: "startOfWeek",
|
|
25066
|
+
type: "select",
|
|
25067
|
+
label: "Week starts on",
|
|
25068
|
+
description: "First day of the week",
|
|
25069
|
+
required: false,
|
|
25070
|
+
multiple: false,
|
|
25071
|
+
defaultValue: "monday",
|
|
25072
|
+
options: [
|
|
25073
|
+
{ value: "sunday", label: "Sunday" },
|
|
25074
|
+
{ value: "monday", label: "Monday" }
|
|
25075
|
+
],
|
|
25076
|
+
ui: {
|
|
25077
|
+
intent: "display",
|
|
25078
|
+
visibleWhen: {
|
|
25079
|
+
field: "variant",
|
|
25080
|
+
oneOf: ["combined", "month", "week"]
|
|
24689
25081
|
}
|
|
24690
|
-
}
|
|
24691
|
-
|
|
24692
|
-
|
|
24693
|
-
|
|
24694
|
-
|
|
24695
|
-
|
|
24696
|
-
|
|
24697
|
-
|
|
24698
|
-
|
|
24699
|
-
|
|
24700
|
-
|
|
24701
|
-
|
|
24702
|
-
|
|
24703
|
-
|
|
24704
|
-
|
|
24705
|
-
|
|
24706
|
-
|
|
25082
|
+
}
|
|
25083
|
+
},
|
|
25084
|
+
// Combined mode options
|
|
25085
|
+
{
|
|
25086
|
+
id: "calendarTabViews",
|
|
25087
|
+
type: "select",
|
|
25088
|
+
label: "Calendar tab views",
|
|
25089
|
+
description: "Which calendar views to show in the Calendar tab",
|
|
25090
|
+
required: false,
|
|
25091
|
+
multiple: false,
|
|
25092
|
+
defaultValue: "both",
|
|
25093
|
+
options: [
|
|
25094
|
+
{ value: "both", label: "Month + Week toggle" },
|
|
25095
|
+
{ value: "month", label: "Month only" },
|
|
25096
|
+
{ value: "week", label: "Week only" }
|
|
25097
|
+
],
|
|
25098
|
+
ui: {
|
|
25099
|
+
intent: "display",
|
|
25100
|
+
visibleWhen: { field: "variant", equals: "combined" }
|
|
25101
|
+
}
|
|
25102
|
+
},
|
|
25103
|
+
// Filtering options
|
|
25104
|
+
{
|
|
25105
|
+
id: "kind",
|
|
25106
|
+
type: "select",
|
|
25107
|
+
label: "Show",
|
|
25108
|
+
description: "Restrict this block to all offerings, courses, or events",
|
|
25109
|
+
required: false,
|
|
25110
|
+
multiple: false,
|
|
25111
|
+
defaultValue: "all",
|
|
25112
|
+
options: [
|
|
25113
|
+
{ value: "all", label: "All offerings" },
|
|
25114
|
+
{ value: "courses", label: "Courses only" },
|
|
25115
|
+
{ value: "events", label: "Events only" }
|
|
25116
|
+
],
|
|
25117
|
+
ui: { intent: "behavior" }
|
|
25118
|
+
},
|
|
25119
|
+
{
|
|
25120
|
+
id: "showFilters",
|
|
25121
|
+
type: "boolean",
|
|
25122
|
+
label: "Show filters",
|
|
25123
|
+
description: "Show category, staff, and venue filters",
|
|
25124
|
+
required: false,
|
|
25125
|
+
defaultValue: true,
|
|
25126
|
+
ui: {
|
|
25127
|
+
intent: "display",
|
|
25128
|
+
visibleWhen: {
|
|
25129
|
+
field: "variant",
|
|
25130
|
+
oneOf: ["combined", "list", "timetable"]
|
|
24707
25131
|
}
|
|
24708
|
-
}
|
|
24709
|
-
|
|
24710
|
-
|
|
24711
|
-
|
|
24712
|
-
|
|
24713
|
-
|
|
24714
|
-
|
|
24715
|
-
|
|
24716
|
-
|
|
24717
|
-
|
|
24718
|
-
|
|
24719
|
-
|
|
24720
|
-
|
|
25132
|
+
}
|
|
25133
|
+
},
|
|
25134
|
+
{
|
|
25135
|
+
id: "showCategoryFilter",
|
|
25136
|
+
type: "select",
|
|
25137
|
+
label: "Show category filter",
|
|
25138
|
+
description: "When to show the category filter dropdown",
|
|
25139
|
+
required: false,
|
|
25140
|
+
multiple: false,
|
|
25141
|
+
defaultValue: "auto",
|
|
25142
|
+
options: [
|
|
25143
|
+
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
25144
|
+
{ value: "always", label: "Always" },
|
|
25145
|
+
{ value: "never", label: "Never" }
|
|
25146
|
+
],
|
|
25147
|
+
ui: {
|
|
25148
|
+
intent: "display",
|
|
25149
|
+
visibleWhen: {
|
|
25150
|
+
field: "variant",
|
|
25151
|
+
oneOf: ["combined", "list", "timetable"]
|
|
24721
25152
|
}
|
|
24722
|
-
}
|
|
24723
|
-
|
|
24724
|
-
|
|
24725
|
-
|
|
24726
|
-
|
|
24727
|
-
|
|
24728
|
-
|
|
24729
|
-
|
|
24730
|
-
|
|
24731
|
-
|
|
24732
|
-
|
|
25153
|
+
}
|
|
25154
|
+
},
|
|
25155
|
+
{
|
|
25156
|
+
id: "showVenueFilter",
|
|
25157
|
+
type: "boolean",
|
|
25158
|
+
label: "Show venue filter",
|
|
25159
|
+
description: "Show venue filter dropdown",
|
|
25160
|
+
required: false,
|
|
25161
|
+
defaultValue: false,
|
|
25162
|
+
ui: {
|
|
25163
|
+
intent: "display",
|
|
25164
|
+
visibleWhen: {
|
|
25165
|
+
field: "variant",
|
|
25166
|
+
oneOf: ["combined", "list", "timetable"]
|
|
24733
25167
|
}
|
|
24734
|
-
}
|
|
24735
|
-
|
|
24736
|
-
|
|
24737
|
-
|
|
24738
|
-
|
|
24739
|
-
|
|
24740
|
-
|
|
24741
|
-
|
|
24742
|
-
|
|
24743
|
-
|
|
24744
|
-
|
|
25168
|
+
}
|
|
25169
|
+
},
|
|
25170
|
+
{
|
|
25171
|
+
id: "showStaffFilter",
|
|
25172
|
+
type: "boolean",
|
|
25173
|
+
label: "Show staff filter",
|
|
25174
|
+
description: "Show staff filter dropdown",
|
|
25175
|
+
required: false,
|
|
25176
|
+
defaultValue: true,
|
|
25177
|
+
ui: {
|
|
25178
|
+
intent: "display",
|
|
25179
|
+
visibleWhen: {
|
|
25180
|
+
field: "variant",
|
|
25181
|
+
oneOf: ["combined", "list", "timetable"]
|
|
24745
25182
|
}
|
|
24746
|
-
}
|
|
24747
|
-
|
|
24748
|
-
|
|
24749
|
-
|
|
24750
|
-
|
|
24751
|
-
|
|
24752
|
-
|
|
25183
|
+
}
|
|
25184
|
+
},
|
|
25185
|
+
{
|
|
25186
|
+
id: "showCapacity",
|
|
25187
|
+
type: "boolean",
|
|
25188
|
+
label: "Show available spots",
|
|
25189
|
+
description: "Display remaining capacity on event cards and timetable cells",
|
|
25190
|
+
required: false,
|
|
25191
|
+
defaultValue: true,
|
|
25192
|
+
ui: {
|
|
25193
|
+
intent: "display",
|
|
25194
|
+
visibleWhen: {
|
|
25195
|
+
field: "variant",
|
|
25196
|
+
oneOf: ["combined", "list", "week", "timetable"]
|
|
24753
25197
|
}
|
|
24754
|
-
}
|
|
24755
|
-
|
|
24756
|
-
|
|
24757
|
-
|
|
24758
|
-
|
|
24759
|
-
|
|
24760
|
-
|
|
24761
|
-
|
|
24762
|
-
|
|
24763
|
-
|
|
24764
|
-
|
|
25198
|
+
}
|
|
25199
|
+
},
|
|
25200
|
+
// Block-level pre-filtering
|
|
25201
|
+
{
|
|
25202
|
+
id: "eventSurface",
|
|
25203
|
+
type: "select",
|
|
25204
|
+
label: "Event surface",
|
|
25205
|
+
description: "Choose a semantic event scope",
|
|
25206
|
+
required: false,
|
|
25207
|
+
multiple: false,
|
|
25208
|
+
defaultValue: "all",
|
|
25209
|
+
options: [
|
|
25210
|
+
{ value: "all", label: "All events" },
|
|
25211
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
25212
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
25213
|
+
{ value: "custom", label: "Custom" }
|
|
25214
|
+
],
|
|
25215
|
+
ui: { intent: "behavior" }
|
|
25216
|
+
},
|
|
25217
|
+
{
|
|
25218
|
+
id: "filterEventPresets",
|
|
25219
|
+
type: "select",
|
|
25220
|
+
label: "Pre-filter by event type",
|
|
25221
|
+
description: "Restrict this block to specific event types",
|
|
25222
|
+
required: false,
|
|
25223
|
+
multiple: true,
|
|
25224
|
+
defaultValue: [],
|
|
25225
|
+
options: [
|
|
25226
|
+
{ value: "class", label: "Classes" },
|
|
25227
|
+
{ value: "workshop", label: "Workshops" },
|
|
25228
|
+
{ value: "retreat", label: "Retreats" },
|
|
25229
|
+
{ value: "performance", label: "Performances" }
|
|
25230
|
+
],
|
|
25231
|
+
ui: {
|
|
25232
|
+
intent: "behavior",
|
|
25233
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
25234
|
+
}
|
|
25235
|
+
},
|
|
25236
|
+
{
|
|
25237
|
+
id: "scheduleScope",
|
|
25238
|
+
type: "select",
|
|
25239
|
+
label: "Schedule cadence",
|
|
25240
|
+
description: "Restrict this block by recurrence",
|
|
25241
|
+
required: false,
|
|
25242
|
+
multiple: false,
|
|
25243
|
+
defaultValue: "any",
|
|
25244
|
+
options: [
|
|
25245
|
+
{ value: "any", label: "Any cadence" },
|
|
25246
|
+
{ value: "recurring", label: "Recurring only" },
|
|
25247
|
+
{ value: "oneOff", label: "One-off only" }
|
|
25248
|
+
],
|
|
25249
|
+
ui: {
|
|
25250
|
+
intent: "behavior",
|
|
25251
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
25252
|
+
}
|
|
25253
|
+
},
|
|
25254
|
+
createSiteOptionSelectField({
|
|
25255
|
+
id: "filterCategoryIds",
|
|
25256
|
+
label: "Pre-filter by categories",
|
|
25257
|
+
description: "Restrict this block to specific event categories",
|
|
25258
|
+
required: false,
|
|
25259
|
+
multiple: true,
|
|
25260
|
+
defaultValue: [],
|
|
25261
|
+
optionSource: "eventCategories",
|
|
25262
|
+
ui: {
|
|
25263
|
+
intent: "behavior",
|
|
25264
|
+
searchThreshold: 8,
|
|
25265
|
+
visibleWhen: { field: "kind", notEquals: "courses" }
|
|
25266
|
+
}
|
|
25267
|
+
}),
|
|
25268
|
+
createSiteOptionSelectField({
|
|
25269
|
+
id: "filterStaffMemberId",
|
|
25270
|
+
label: "Pre-filter by staff member",
|
|
25271
|
+
description: "Restrict this block to a single staff member",
|
|
25272
|
+
required: false,
|
|
25273
|
+
multiple: false,
|
|
25274
|
+
optionSource: "staffMembers",
|
|
25275
|
+
ui: {
|
|
25276
|
+
intent: "behavior",
|
|
25277
|
+
searchThreshold: 8
|
|
25278
|
+
}
|
|
25279
|
+
}),
|
|
25280
|
+
createSiteOptionSelectField({
|
|
25281
|
+
id: "filterVenueId",
|
|
25282
|
+
label: "Pre-filter by venue",
|
|
25283
|
+
description: "Restrict this block to a single venue",
|
|
25284
|
+
required: false,
|
|
25285
|
+
multiple: false,
|
|
25286
|
+
optionSource: "venues",
|
|
25287
|
+
ui: {
|
|
25288
|
+
intent: "behavior",
|
|
25289
|
+
searchThreshold: 8
|
|
25290
|
+
}
|
|
25291
|
+
}),
|
|
25292
|
+
// Card styling
|
|
25293
|
+
...cardStylingFields.filter((f) => f.id === "buttonVariant" || f.id === "buttonText").map((field) => ({
|
|
25294
|
+
...field,
|
|
25295
|
+
ui: {
|
|
25296
|
+
...field.ui ?? {},
|
|
25297
|
+
intent: field.id === "buttonVariant" ? "style" : "content"
|
|
25298
|
+
}
|
|
25299
|
+
})),
|
|
25300
|
+
{
|
|
25301
|
+
...emptyStateField,
|
|
25302
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
25303
|
+
},
|
|
25304
|
+
sectionStylesField({
|
|
25305
|
+
id: "_sectionStyles",
|
|
25306
|
+
label: "Section styles",
|
|
25307
|
+
renderInHeader: false
|
|
25308
|
+
})
|
|
25309
|
+
];
|
|
25310
|
+
var eventCalendarVariants = {
|
|
25311
|
+
combined: eventCalendarLayout[0],
|
|
25312
|
+
month: eventCalendarLayout[0],
|
|
25313
|
+
week: eventCalendarLayout[0],
|
|
25314
|
+
timetable: eventCalendarLayout[0],
|
|
25315
|
+
list: eventCalendarLayout[0]
|
|
25316
|
+
};
|
|
25317
|
+
var eventCalendarDerivedFields = [
|
|
25318
|
+
{
|
|
25319
|
+
id: "displayMode",
|
|
25320
|
+
type: "select",
|
|
25321
|
+
required: false,
|
|
25322
|
+
multiple: false,
|
|
25323
|
+
options: [
|
|
25324
|
+
{ value: "combined" },
|
|
25325
|
+
{ value: "month" },
|
|
25326
|
+
{ value: "week" },
|
|
25327
|
+
{ value: "timetable" },
|
|
25328
|
+
{ value: "list" }
|
|
25329
|
+
]
|
|
25330
|
+
},
|
|
25331
|
+
{
|
|
25332
|
+
id: "listLayout",
|
|
25333
|
+
type: "select",
|
|
25334
|
+
required: false,
|
|
25335
|
+
multiple: false,
|
|
25336
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
25337
|
+
value: option.id
|
|
25338
|
+
}))
|
|
25339
|
+
}
|
|
25340
|
+
];
|
|
25341
|
+
var eventCalendarContentShape = {
|
|
25342
|
+
additionalFields: eventCalendarDerivedFields,
|
|
25343
|
+
variants: eventCalendarVariants,
|
|
25344
|
+
skipSectionStyles: true
|
|
25345
|
+
};
|
|
25346
|
+
var eventCalendarConfig = {
|
|
25347
|
+
id: "block.event-calendar",
|
|
25348
|
+
version: "3.6.0",
|
|
25349
|
+
title: "Event Calendar",
|
|
25350
|
+
titleSource: "heading",
|
|
25351
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
25352
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
25353
|
+
skipSectionStyles: true,
|
|
25354
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
24765
25355
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
24766
25356
|
behaviours: {
|
|
24767
25357
|
supportsThemeSwitching: true,
|
|
@@ -24781,109 +25371,21 @@ var eventCalendarManifest = createBlockManifest({
|
|
|
24781
25371
|
"filter"
|
|
24782
25372
|
],
|
|
24783
25373
|
icon: "CalendarDays",
|
|
24784
|
-
layout:
|
|
24785
|
-
|
|
24786
|
-
|
|
24787
|
-
|
|
24788
|
-
|
|
24789
|
-
|
|
24790
|
-
|
|
24791
|
-
|
|
24792
|
-
|
|
24793
|
-
|
|
24794
|
-
|
|
24795
|
-
|
|
24796
|
-
|
|
24797
|
-
|
|
24798
|
-
|
|
24799
|
-
withApiBindings({
|
|
24800
|
-
events: { $bind: { from: "data.events" } },
|
|
24801
|
-
stage: {
|
|
24802
|
-
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
24803
|
-
},
|
|
24804
|
-
// Display mode
|
|
24805
|
-
displayMode: {
|
|
24806
|
-
$bind: { from: "content.displayMode", fallback: "combined" }
|
|
24807
|
-
},
|
|
24808
|
-
// List options
|
|
24809
|
-
listLayout: { $bind: { from: "content.listLayout" } },
|
|
24810
|
-
listColumns: { $bind: { from: "content.listColumns" } },
|
|
24811
|
-
// Legacy compatibility: older event-calendar content used layout/columns
|
|
24812
|
-
layout: { $bind: { from: "content.layout" } },
|
|
24813
|
-
columns: { $bind: { from: "content.columns" } },
|
|
24814
|
-
eventsPerPage: {
|
|
24815
|
-
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
24816
|
-
},
|
|
24817
|
-
compactEventsPerPage: {
|
|
24818
|
-
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
24819
|
-
},
|
|
24820
|
-
loadMoreText: {
|
|
24821
|
-
$bind: {
|
|
24822
|
-
from: "content.loadMoreText",
|
|
24823
|
-
fallback: "Load more events"
|
|
24824
|
-
}
|
|
24825
|
-
},
|
|
24826
|
-
// Calendar options
|
|
24827
|
-
startOfWeek: {
|
|
24828
|
-
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
24829
|
-
},
|
|
24830
|
-
calendarTabViews: {
|
|
24831
|
-
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
24832
|
-
},
|
|
24833
|
-
// Filtering options
|
|
24834
|
-
showFilters: {
|
|
24835
|
-
$bind: { from: "content.showFilters", fallback: true }
|
|
24836
|
-
},
|
|
24837
|
-
showCategoryFilter: {
|
|
24838
|
-
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
24839
|
-
},
|
|
24840
|
-
showVenueFilter: {
|
|
24841
|
-
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
24842
|
-
},
|
|
24843
|
-
showStaffFilter: {
|
|
24844
|
-
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
24845
|
-
},
|
|
24846
|
-
showCapacity: {
|
|
24847
|
-
$bind: { from: "content.showCapacity", fallback: true }
|
|
24848
|
-
},
|
|
24849
|
-
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
24850
|
-
eventSurface: {
|
|
24851
|
-
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
24852
|
-
},
|
|
24853
|
-
filterEventPresets: {
|
|
24854
|
-
$bind: { from: "content.filterEventPresets" }
|
|
24855
|
-
},
|
|
24856
|
-
scheduleScope: {
|
|
24857
|
-
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
24858
|
-
},
|
|
24859
|
-
filterCategoryIds: {
|
|
24860
|
-
$bind: { from: "content.filterCategoryIds" }
|
|
24861
|
-
},
|
|
24862
|
-
filterStaffMemberId: {
|
|
24863
|
-
$bind: { from: "content.filterStaffMemberId" }
|
|
24864
|
-
},
|
|
24865
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
24866
|
-
// Styling
|
|
24867
|
-
buttonVariant: {
|
|
24868
|
-
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
24869
|
-
},
|
|
24870
|
-
buttonText: {
|
|
24871
|
-
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
24872
|
-
},
|
|
24873
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
24874
|
-
})
|
|
24875
|
-
)
|
|
24876
|
-
],
|
|
24877
|
-
{
|
|
24878
|
-
gap: "lg"
|
|
24879
|
-
}
|
|
24880
|
-
),
|
|
24881
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
24882
|
-
baseClass: "",
|
|
24883
|
-
spacing: "comfortable"
|
|
24884
|
-
})
|
|
24885
|
-
]
|
|
24886
|
-
});
|
|
25374
|
+
layout: eventCalendarLayout,
|
|
25375
|
+
variants: eventCalendarVariants,
|
|
25376
|
+
defaultVariant: "combined",
|
|
25377
|
+
variantOptions: {
|
|
25378
|
+
combined: { label: "Combined" },
|
|
25379
|
+
month: { label: "Month" },
|
|
25380
|
+
week: { label: "Week" },
|
|
25381
|
+
timetable: { label: "Timetable" },
|
|
25382
|
+
list: { label: "List" }
|
|
25383
|
+
}
|
|
25384
|
+
};
|
|
25385
|
+
var eventCalendarManifest = createBlockManifestWithContentShape(
|
|
25386
|
+
eventCalendarConfig,
|
|
25387
|
+
eventCalendarContentShape
|
|
25388
|
+
);
|
|
24887
25389
|
var eventCalendarBlockDefinition = {
|
|
24888
25390
|
manifest: eventCalendarManifest,
|
|
24889
25391
|
normalizeContent: normalizeEventCalendarContent,
|
|
@@ -28936,14 +29438,29 @@ function mediaPanelCapable() {
|
|
|
28936
29438
|
var allSectionSurfaces = [
|
|
28937
29439
|
"base",
|
|
28938
29440
|
"muted-band",
|
|
28939
|
-
"accent-band"
|
|
29441
|
+
"accent-band",
|
|
29442
|
+
"brand-depth-band"
|
|
28940
29443
|
];
|
|
28941
29444
|
var heroSectionSurfaces = [
|
|
28942
29445
|
"base",
|
|
28943
29446
|
"muted-band",
|
|
28944
29447
|
"accent-band",
|
|
29448
|
+
"brand-depth-band",
|
|
28945
29449
|
"hero-image"
|
|
28946
29450
|
];
|
|
29451
|
+
var scheduleTileTreatments = [
|
|
29452
|
+
"default",
|
|
29453
|
+
"quiet",
|
|
29454
|
+
"brand-depth"
|
|
29455
|
+
];
|
|
29456
|
+
function scheduleDetailsCapable() {
|
|
29457
|
+
return declareBlockDesignCapability({
|
|
29458
|
+
sectionSurfaces: "supported",
|
|
29459
|
+
contentFrames: ["plain"],
|
|
29460
|
+
itemSurfaces: "unsupported",
|
|
29461
|
+
tileTreatments: scheduleTileTreatments
|
|
29462
|
+
});
|
|
29463
|
+
}
|
|
28947
29464
|
function defaultBoundaryBias(visualWeight) {
|
|
28948
29465
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
28949
29466
|
}
|
|
@@ -29181,7 +29698,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
29181
29698
|
flow: conversionFlow,
|
|
29182
29699
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
29183
29700
|
})),
|
|
29184
|
-
withDesignCapability("block.event-details", eventDetailsBlockDefinition,
|
|
29701
|
+
withDesignCapability("block.event-details", eventDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
29185
29702
|
flow: offeringsFlow,
|
|
29186
29703
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
29187
29704
|
})),
|
|
@@ -29189,7 +29706,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
29189
29706
|
flow: conversionFlow,
|
|
29190
29707
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
29191
29708
|
})),
|
|
29192
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition,
|
|
29709
|
+
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
29193
29710
|
flow: offeringsFlow,
|
|
29194
29711
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
29195
29712
|
})),
|
|
@@ -29204,7 +29721,13 @@ var systemBlockDefinitionsRaw = [
|
|
|
29204
29721
|
})),
|
|
29205
29722
|
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
29206
29723
|
flow: offeringsFlow,
|
|
29207
|
-
layoutProfiles: [
|
|
29724
|
+
layoutProfiles: [
|
|
29725
|
+
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
29726
|
+
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
29727
|
+
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
29728
|
+
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
29729
|
+
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
29730
|
+
]
|
|
29208
29731
|
})),
|
|
29209
29732
|
// Friendly wrapper blocks
|
|
29210
29733
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
@@ -30751,6 +31274,9 @@ function applyBindings(bindings, context) {
|
|
|
30751
31274
|
}
|
|
30752
31275
|
return result;
|
|
30753
31276
|
}
|
|
31277
|
+
function applyBindingsToContent(baseContent, bindings, context) {
|
|
31278
|
+
return { ...baseContent, ...applyBindings(bindings, context) };
|
|
31279
|
+
}
|
|
30754
31280
|
function setBindingValue(target, path, value) {
|
|
30755
31281
|
const segments = path.split(".").map((segment) => segment.trim()).filter(Boolean);
|
|
30756
31282
|
if (segments.length === 0) return;
|
|
@@ -30930,7 +31456,7 @@ function isDocWrapper(value) {
|
|
|
30930
31456
|
|
|
30931
31457
|
// src/rendering/helpers/bindings.ts
|
|
30932
31458
|
var normalizeBindingOutput2 = normalizeBindingOutput;
|
|
30933
|
-
var
|
|
31459
|
+
var applyBindingsToContent2 = applyBindingsToContent;
|
|
30934
31460
|
|
|
30935
31461
|
// src/rendering/helpers/loadContent.ts
|
|
30936
31462
|
function isPageContent(result) {
|
|
@@ -31141,7 +31667,7 @@ function resolveTemplateBlock(block, bindingContext) {
|
|
|
31141
31667
|
}
|
|
31142
31668
|
const bindings = block.bindings ?? {};
|
|
31143
31669
|
const hasBindings = typeof bindings === "object" && Object.keys(bindings).length > 0;
|
|
31144
|
-
const resolvedContent = hasBindings ? normalizeBindingOutput2(
|
|
31670
|
+
const resolvedContent = hasBindings ? normalizeBindingOutput2(applyBindingsToContent2(baseContent, bindings, bindingContext)) : baseContent;
|
|
31145
31671
|
return {
|
|
31146
31672
|
id: block.id,
|
|
31147
31673
|
kind: block.blockKind,
|