@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
|
@@ -998,6 +998,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
998
998
|
auth: "user",
|
|
999
999
|
responseKind: "json"
|
|
1000
1000
|
},
|
|
1001
|
+
exportAppointmentServicesCsv: {
|
|
1002
|
+
path: "/sites/{siteId}/bookings/services/export.csv",
|
|
1003
|
+
method: "GET",
|
|
1004
|
+
tags: ["site-{siteId}", "bookings", "appointment-services-{siteId}"],
|
|
1005
|
+
errors: [],
|
|
1006
|
+
auth: "user",
|
|
1007
|
+
responseKind: "blob"
|
|
1008
|
+
},
|
|
1001
1009
|
createAppointmentService: {
|
|
1002
1010
|
path: "/sites/{siteId}/bookings/services",
|
|
1003
1011
|
method: "POST",
|
|
@@ -1266,6 +1274,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1266
1274
|
auth: "user",
|
|
1267
1275
|
responseKind: "json"
|
|
1268
1276
|
},
|
|
1277
|
+
exportCoursesCsv: {
|
|
1278
|
+
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
1279
|
+
method: "GET",
|
|
1280
|
+
tags: ["site-{siteId}", "bookings", "courses-{siteId}"],
|
|
1281
|
+
errors: [],
|
|
1282
|
+
auth: "user",
|
|
1283
|
+
responseKind: "blob"
|
|
1284
|
+
},
|
|
1269
1285
|
createCourse: {
|
|
1270
1286
|
path: "/sites/{siteId}/bookings/courses",
|
|
1271
1287
|
method: "POST",
|
|
@@ -1365,6 +1381,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1365
1381
|
responseKind: "json",
|
|
1366
1382
|
errors: []
|
|
1367
1383
|
},
|
|
1384
|
+
exportCourseWaitlistCsv: {
|
|
1385
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
|
|
1386
|
+
method: "GET",
|
|
1387
|
+
tags: ["site-{siteId}", "bookings", "courses-{courseId}"],
|
|
1388
|
+
auth: "user",
|
|
1389
|
+
responseKind: "blob",
|
|
1390
|
+
errors: []
|
|
1391
|
+
},
|
|
1368
1392
|
updateCourseEnrollment: {
|
|
1369
1393
|
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
1370
1394
|
method: "PATCH",
|
|
@@ -3960,6 +3984,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3960
3984
|
auth: "user",
|
|
3961
3985
|
responseKind: "json"
|
|
3962
3986
|
},
|
|
3987
|
+
exportEventSeriesCsv: {
|
|
3988
|
+
path: "/sites/{siteId}/bookings/event-series/export.csv",
|
|
3989
|
+
method: "GET",
|
|
3990
|
+
tags: ["site-{siteId}", "bookings", "event-series-{siteId}"],
|
|
3991
|
+
errors: [],
|
|
3992
|
+
auth: "user",
|
|
3993
|
+
responseKind: "blob"
|
|
3994
|
+
},
|
|
3963
3995
|
createEventSeries: {
|
|
3964
3996
|
path: "/sites/{siteId}/bookings/event-series",
|
|
3965
3997
|
method: "POST",
|
|
@@ -4028,6 +4060,60 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4028
4060
|
errors: [],
|
|
4029
4061
|
responseKind: "blob"
|
|
4030
4062
|
},
|
|
4063
|
+
getParticipantMessageRecipients: {
|
|
4064
|
+
path: "/sites/{siteId}/bookings/participant-messaging/recipients",
|
|
4065
|
+
method: "POST",
|
|
4066
|
+
tags: ["site-{siteId}"],
|
|
4067
|
+
auth: "user",
|
|
4068
|
+
errors: [
|
|
4069
|
+
"validation:invalid_input",
|
|
4070
|
+
"auth:forbidden",
|
|
4071
|
+
"resource:not_found",
|
|
4072
|
+
"server:internal_error"
|
|
4073
|
+
],
|
|
4074
|
+
responseKind: "json"
|
|
4075
|
+
},
|
|
4076
|
+
sendParticipantMessage: {
|
|
4077
|
+
path: "/sites/{siteId}/bookings/participant-messaging/send",
|
|
4078
|
+
method: "POST",
|
|
4079
|
+
tags: ["site-{siteId}"],
|
|
4080
|
+
auth: "user",
|
|
4081
|
+
errors: [
|
|
4082
|
+
"validation:invalid_input",
|
|
4083
|
+
"auth:forbidden",
|
|
4084
|
+
"resource:not_found",
|
|
4085
|
+
"resource:conflict",
|
|
4086
|
+
"server:internal_error"
|
|
4087
|
+
],
|
|
4088
|
+
responseKind: "json"
|
|
4089
|
+
},
|
|
4090
|
+
testParticipantMessage: {
|
|
4091
|
+
path: "/sites/{siteId}/bookings/participant-messaging/test",
|
|
4092
|
+
method: "POST",
|
|
4093
|
+
tags: ["site-{siteId}"],
|
|
4094
|
+
auth: "user",
|
|
4095
|
+
errors: [
|
|
4096
|
+
"validation:invalid_input",
|
|
4097
|
+
"auth:forbidden",
|
|
4098
|
+
"resource:not_found",
|
|
4099
|
+
"resource:conflict",
|
|
4100
|
+
"server:internal_error"
|
|
4101
|
+
],
|
|
4102
|
+
responseKind: "json"
|
|
4103
|
+
},
|
|
4104
|
+
listParticipantMessageHistory: {
|
|
4105
|
+
path: "/sites/{siteId}/bookings/participant-messaging/history",
|
|
4106
|
+
method: "POST",
|
|
4107
|
+
tags: ["site-{siteId}"],
|
|
4108
|
+
auth: "user",
|
|
4109
|
+
errors: [
|
|
4110
|
+
"validation:invalid_input",
|
|
4111
|
+
"auth:forbidden",
|
|
4112
|
+
"resource:not_found",
|
|
4113
|
+
"server:internal_error"
|
|
4114
|
+
],
|
|
4115
|
+
responseKind: "json"
|
|
4116
|
+
},
|
|
4031
4117
|
listEventSeriesWaitlist: {
|
|
4032
4118
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist",
|
|
4033
4119
|
method: "GET",
|
|
@@ -4036,6 +4122,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4036
4122
|
responseKind: "json",
|
|
4037
4123
|
errors: []
|
|
4038
4124
|
},
|
|
4125
|
+
exportEventSeriesWaitlistCsv: {
|
|
4126
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist/export.csv",
|
|
4127
|
+
method: "GET",
|
|
4128
|
+
tags: ["site-{siteId}", "bookings", "event-series-{seriesId}"],
|
|
4129
|
+
auth: "user",
|
|
4130
|
+
responseKind: "blob",
|
|
4131
|
+
errors: []
|
|
4132
|
+
},
|
|
4039
4133
|
addEventOccurrenceAttendee: {
|
|
4040
4134
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/occurrences/{occurrenceId}/attendees",
|
|
4041
4135
|
method: "POST",
|
|
@@ -4752,6 +4846,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4752
4846
|
auth: "user",
|
|
4753
4847
|
responseKind: "json"
|
|
4754
4848
|
},
|
|
4849
|
+
exportSiteCustomerPassesCsv: {
|
|
4850
|
+
path: "/sites/{siteId}/bookings/customer-passes/export.csv",
|
|
4851
|
+
method: "GET",
|
|
4852
|
+
tags: ["site-{siteId}", "bookings", "customer-passes-{siteId}"],
|
|
4853
|
+
auth: "user",
|
|
4854
|
+
responseKind: "blob",
|
|
4855
|
+
errors: []
|
|
4856
|
+
},
|
|
4755
4857
|
listSiteCustomerMemberships: {
|
|
4756
4858
|
path: "/sites/{siteId}/bookings/customer-memberships",
|
|
4757
4859
|
method: "GET",
|
|
@@ -4815,6 +4917,22 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4815
4917
|
auth: "user",
|
|
4816
4918
|
responseKind: "blob"
|
|
4817
4919
|
},
|
|
4920
|
+
exportBookingLedgerCsv: {
|
|
4921
|
+
path: "/sites/{siteId}/bookings/ledger/export.csv",
|
|
4922
|
+
method: "GET",
|
|
4923
|
+
tags: ["site-{siteId}", "bookings", "booking-ledger-{siteId}"],
|
|
4924
|
+
errors: [],
|
|
4925
|
+
auth: "user",
|
|
4926
|
+
responseKind: "blob"
|
|
4927
|
+
},
|
|
4928
|
+
exportBookingQuestionAnswersCsv: {
|
|
4929
|
+
path: "/sites/{siteId}/bookings/intake-answers/export.csv",
|
|
4930
|
+
method: "GET",
|
|
4931
|
+
tags: ["site-{siteId}", "bookings", "intake-answers-{siteId}"],
|
|
4932
|
+
errors: [],
|
|
4933
|
+
auth: "user",
|
|
4934
|
+
responseKind: "blob"
|
|
4935
|
+
},
|
|
4818
4936
|
// Site logs
|
|
4819
4937
|
listSiteActivityLogs: {
|
|
4820
4938
|
path: "/sites/{siteId}/logs/activity",
|
|
@@ -6270,7 +6388,11 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
6270
6388
|
|
|
6271
6389
|
// ../blocks/src/system/manifest/schema.ts
|
|
6272
6390
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
6273
|
-
var siteOptionSources = [
|
|
6391
|
+
var siteOptionSources = [
|
|
6392
|
+
"eventCategories",
|
|
6393
|
+
"venues",
|
|
6394
|
+
"staffMembers"
|
|
6395
|
+
];
|
|
6274
6396
|
var mediaDeliverySchema = z3.object({
|
|
6275
6397
|
sizes: z3.string().optional(),
|
|
6276
6398
|
widthCandidates: z3.array(z3.number().int().positive()).optional(),
|
|
@@ -6308,7 +6430,10 @@ var uiSchema = z3.object({
|
|
|
6308
6430
|
hidden: z3.boolean().optional(),
|
|
6309
6431
|
hideLabel: z3.boolean().optional(),
|
|
6310
6432
|
hideDescription: z3.boolean().optional(),
|
|
6311
|
-
showCharCount: z3.union([
|
|
6433
|
+
showCharCount: z3.union([
|
|
6434
|
+
z3.number().int().positive(),
|
|
6435
|
+
z3.object({ max: z3.number().int().positive() })
|
|
6436
|
+
]).optional(),
|
|
6312
6437
|
showSlugPreview: z3.boolean().optional(),
|
|
6313
6438
|
variant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
6314
6439
|
richTextVariant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
@@ -6318,10 +6443,7 @@ var uiSchema = z3.object({
|
|
|
6318
6443
|
showMediaPreview: z3.boolean().optional(),
|
|
6319
6444
|
showMediaOverlayActions: z3.boolean().optional(),
|
|
6320
6445
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
6321
|
-
mediaDeliveryByVariant: z3.record(
|
|
6322
|
-
z3.string(),
|
|
6323
|
-
mediaDeliverySchema
|
|
6324
|
-
).optional(),
|
|
6446
|
+
mediaDeliveryByVariant: z3.record(z3.string(), mediaDeliverySchema).optional(),
|
|
6325
6447
|
// Optional input hints for validators/widgets
|
|
6326
6448
|
inputType: z3.enum(["text", "email", "tel", "number"]).optional(),
|
|
6327
6449
|
min: z3.number().optional(),
|
|
@@ -6429,7 +6551,9 @@ var richTextFieldSchema = baseFieldSchema.extend({
|
|
|
6429
6551
|
});
|
|
6430
6552
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
6431
6553
|
type: z3.literal("media"),
|
|
6432
|
-
mediaKinds: z3.array(
|
|
6554
|
+
mediaKinds: z3.array(
|
|
6555
|
+
z3.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
|
|
6556
|
+
).default(["image"]),
|
|
6433
6557
|
aspectRatio: z3.string().optional()
|
|
6434
6558
|
});
|
|
6435
6559
|
var booleanFieldSchema = baseFieldSchema.extend({
|
|
@@ -6551,7 +6675,9 @@ var referenceFieldSchema = baseFieldSchema.extend({
|
|
|
6551
6675
|
var itemTypeSchema = z3.object({
|
|
6552
6676
|
label: z3.string().min(1),
|
|
6553
6677
|
icon: z3.string().optional(),
|
|
6554
|
-
fields: z3.lazy(
|
|
6678
|
+
fields: z3.lazy(
|
|
6679
|
+
() => getFieldSchemaInternal().array().min(1, "Item type requires at least one field")
|
|
6680
|
+
)
|
|
6555
6681
|
});
|
|
6556
6682
|
var repeaterFieldSchema = baseFieldSchema.extend({
|
|
6557
6683
|
type: z3.literal("repeater"),
|
|
@@ -6561,7 +6687,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6561
6687
|
maxItems: z3.number().int().positive().optional(),
|
|
6562
6688
|
// Monomorphic mode
|
|
6563
6689
|
schema: z3.object({
|
|
6564
|
-
fields: z3.lazy(
|
|
6690
|
+
fields: z3.lazy(
|
|
6691
|
+
() => getFieldSchemaInternal().array().min(1, "Repeater requires at least one field")
|
|
6692
|
+
)
|
|
6565
6693
|
}).optional(),
|
|
6566
6694
|
// Polymorphic mode
|
|
6567
6695
|
polymorphic: z3.boolean().optional(),
|
|
@@ -6607,13 +6735,19 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6607
6735
|
const itemTypes = Object.values(
|
|
6608
6736
|
data.itemTypes
|
|
6609
6737
|
);
|
|
6610
|
-
return itemTypes.every(
|
|
6738
|
+
return itemTypes.every(
|
|
6739
|
+
(itemType) => Array.isArray(itemType.fields) && requiredFieldIds.every(
|
|
6740
|
+
(requiredId) => itemType.fields?.some((field) => field.id === requiredId)
|
|
6741
|
+
)
|
|
6742
|
+
);
|
|
6611
6743
|
}
|
|
6612
6744
|
const schemaFields = data.schema?.fields;
|
|
6613
6745
|
if (!schemaFields) {
|
|
6614
6746
|
return true;
|
|
6615
6747
|
}
|
|
6616
|
-
return requiredFieldIds.every(
|
|
6748
|
+
return requiredFieldIds.every(
|
|
6749
|
+
(requiredId) => schemaFields.some((field) => field.id === requiredId)
|
|
6750
|
+
);
|
|
6617
6751
|
},
|
|
6618
6752
|
{
|
|
6619
6753
|
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`,
|
|
@@ -6641,7 +6775,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6641
6775
|
if (!schemaFields) {
|
|
6642
6776
|
return true;
|
|
6643
6777
|
}
|
|
6644
|
-
const field = schemaFields.find(
|
|
6778
|
+
const field = schemaFields.find(
|
|
6779
|
+
(candidate) => candidate.id === labelField
|
|
6780
|
+
);
|
|
6645
6781
|
return field?.type === "text";
|
|
6646
6782
|
},
|
|
6647
6783
|
{
|
|
@@ -6652,13 +6788,17 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6652
6788
|
var groupFieldSchema = baseFieldSchema.extend({
|
|
6653
6789
|
type: z3.literal("group"),
|
|
6654
6790
|
schema: z3.object({
|
|
6655
|
-
fields: z3.lazy(
|
|
6791
|
+
fields: z3.lazy(
|
|
6792
|
+
() => getFieldSchemaInternal().array().min(1, "Group requires at least one field")
|
|
6793
|
+
)
|
|
6656
6794
|
})
|
|
6657
6795
|
});
|
|
6658
6796
|
var modalFieldSchema = baseFieldSchema.extend({
|
|
6659
6797
|
type: z3.literal("modal"),
|
|
6660
6798
|
schema: z3.object({
|
|
6661
|
-
fields: z3.lazy(
|
|
6799
|
+
fields: z3.lazy(
|
|
6800
|
+
() => getFieldSchemaInternal().array().min(1, "Modal requires at least one field")
|
|
6801
|
+
)
|
|
6662
6802
|
})
|
|
6663
6803
|
});
|
|
6664
6804
|
var numberFieldSchema = baseFieldSchema.extend({
|
|
@@ -6765,31 +6905,35 @@ function expectParsedSelectField(field) {
|
|
|
6765
6905
|
return field;
|
|
6766
6906
|
}
|
|
6767
6907
|
function createSiteOptionSelectField(input) {
|
|
6768
|
-
return expectParsedSelectField(
|
|
6769
|
-
|
|
6770
|
-
|
|
6771
|
-
|
|
6772
|
-
|
|
6773
|
-
|
|
6774
|
-
|
|
6775
|
-
|
|
6776
|
-
|
|
6777
|
-
|
|
6778
|
-
|
|
6779
|
-
|
|
6908
|
+
return expectParsedSelectField(
|
|
6909
|
+
parseFieldDefinition({
|
|
6910
|
+
...input,
|
|
6911
|
+
type: "select",
|
|
6912
|
+
options: [],
|
|
6913
|
+
multiple: input.multiple ?? false,
|
|
6914
|
+
source: { kind: "site", optionSource: input.optionSource },
|
|
6915
|
+
ui: {
|
|
6916
|
+
...input.ui ?? {},
|
|
6917
|
+
widget: "siteOptionPicker",
|
|
6918
|
+
siteOptionSource: input.optionSource
|
|
6919
|
+
}
|
|
6920
|
+
})
|
|
6921
|
+
);
|
|
6780
6922
|
}
|
|
6781
6923
|
function createSdkSelectField(input) {
|
|
6782
|
-
return expectParsedSelectField(
|
|
6783
|
-
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
|
|
6789
|
-
|
|
6790
|
-
|
|
6791
|
-
|
|
6792
|
-
|
|
6924
|
+
return expectParsedSelectField(
|
|
6925
|
+
parseFieldDefinition({
|
|
6926
|
+
...input,
|
|
6927
|
+
type: "select",
|
|
6928
|
+
options: input.options,
|
|
6929
|
+
multiple: input.multiple ?? false,
|
|
6930
|
+
source: { kind: "sdk" },
|
|
6931
|
+
ui: {
|
|
6932
|
+
...input.ui ?? {},
|
|
6933
|
+
widget: "sdkSelect"
|
|
6934
|
+
}
|
|
6935
|
+
})
|
|
6936
|
+
);
|
|
6793
6937
|
}
|
|
6794
6938
|
var slotSchema = z3.object({
|
|
6795
6939
|
id: z3.string().min(1),
|
|
@@ -6800,8 +6944,20 @@ var slotSchema = z3.object({
|
|
|
6800
6944
|
help: z3.string().optional(),
|
|
6801
6945
|
visibleRoles: z3.array(z3.enum(visibilityLevels)).optional()
|
|
6802
6946
|
});
|
|
6803
|
-
var typographyTokens = [
|
|
6804
|
-
|
|
6947
|
+
var typographyTokens = [
|
|
6948
|
+
"display",
|
|
6949
|
+
"heading",
|
|
6950
|
+
"subheading",
|
|
6951
|
+
"body",
|
|
6952
|
+
"caption"
|
|
6953
|
+
];
|
|
6954
|
+
var colorTokens = [
|
|
6955
|
+
"background",
|
|
6956
|
+
"surface",
|
|
6957
|
+
"foreground",
|
|
6958
|
+
"accent",
|
|
6959
|
+
"muted"
|
|
6960
|
+
];
|
|
6805
6961
|
var spacingTokens = ["none", "xs", "sm", "md", "lg", "xl"];
|
|
6806
6962
|
var radiusTokens = ["none", "sm", "md", "lg", "full"];
|
|
6807
6963
|
var styleTokenSchema = z3.object({
|
|
@@ -6821,7 +6977,14 @@ var behaviourSchema = z3.object({
|
|
|
6821
6977
|
// Block manages its own wrapper (for sticky/fixed positioning)
|
|
6822
6978
|
managesOwnWrapper: z3.boolean().optional()
|
|
6823
6979
|
});
|
|
6824
|
-
var blockCategoryEnum = z3.enum([
|
|
6980
|
+
var blockCategoryEnum = z3.enum([
|
|
6981
|
+
"marketing",
|
|
6982
|
+
"content",
|
|
6983
|
+
"blog",
|
|
6984
|
+
"media",
|
|
6985
|
+
"layout",
|
|
6986
|
+
"interactive"
|
|
6987
|
+
]);
|
|
6825
6988
|
var manifestSchema = z3.object({
|
|
6826
6989
|
name: z3.string().min(1),
|
|
6827
6990
|
version: z3.string().min(1),
|
|
@@ -7420,6 +7583,20 @@ var applyAppointmentSetupRequestSchema = z6.object({
|
|
|
7420
7583
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
7421
7584
|
});
|
|
7422
7585
|
|
|
7586
|
+
// ../api/src/bookingRecords.ts
|
|
7587
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPES = {
|
|
7588
|
+
site: "site",
|
|
7589
|
+
appointments: "appointments",
|
|
7590
|
+
eventSeries: "event_series",
|
|
7591
|
+
course: "course"
|
|
7592
|
+
};
|
|
7593
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES = [
|
|
7594
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.site,
|
|
7595
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.appointments,
|
|
7596
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.eventSeries,
|
|
7597
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.course
|
|
7598
|
+
];
|
|
7599
|
+
|
|
7423
7600
|
// ../api/src/common/cancellation.ts
|
|
7424
7601
|
var STAFF_CANCELLATION_CONTEXT_UI_CATEGORIES = [
|
|
7425
7602
|
"customer_requested",
|
|
@@ -7791,6 +7968,24 @@ function registerManifest(manifest) {
|
|
|
7791
7968
|
return manifest;
|
|
7792
7969
|
}
|
|
7793
7970
|
|
|
7971
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
7972
|
+
function assertValidOptionGroups(preset2) {
|
|
7973
|
+
preset2.optionGroups?.forEach((group) => {
|
|
7974
|
+
const selectedOption = group.options.find(
|
|
7975
|
+
(option) => option.id === group.selectedOptionId
|
|
7976
|
+
);
|
|
7977
|
+
if (!selectedOption) {
|
|
7978
|
+
throw new Error(
|
|
7979
|
+
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
7980
|
+
);
|
|
7981
|
+
}
|
|
7982
|
+
});
|
|
7983
|
+
}
|
|
7984
|
+
function defineBlockAppearancePreset(preset2) {
|
|
7985
|
+
assertValidOptionGroups(preset2);
|
|
7986
|
+
return preset2;
|
|
7987
|
+
}
|
|
7988
|
+
|
|
7794
7989
|
// ../theme-core/src/site-styles/types.ts
|
|
7795
7990
|
function asDesignBlockId(value) {
|
|
7796
7991
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
@@ -7872,6 +8067,11 @@ function flushPanelFrame(options) {
|
|
|
7872
8067
|
function defineFrameCapability(capability) {
|
|
7873
8068
|
return capability;
|
|
7874
8069
|
}
|
|
8070
|
+
var tileTreatmentValues = [
|
|
8071
|
+
"default",
|
|
8072
|
+
"quiet",
|
|
8073
|
+
"brand-depth"
|
|
8074
|
+
];
|
|
7875
8075
|
var eyebrowTreatmentValues = [
|
|
7876
8076
|
"plain",
|
|
7877
8077
|
"pill",
|
|
@@ -7887,31 +8087,13 @@ function defineBlockDesignCapability(capability) {
|
|
|
7887
8087
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
7888
8088
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
7889
8089
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
8090
|
+
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
7890
8091
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
7891
8092
|
};
|
|
7892
8093
|
}
|
|
7893
8094
|
|
|
7894
|
-
// ../theme-core/src/site-styles/
|
|
7895
|
-
|
|
7896
|
-
preset2.optionGroups?.forEach((group) => {
|
|
7897
|
-
const selectedOption = group.options.find(
|
|
7898
|
-
(option) => option.id === group.selectedOptionId
|
|
7899
|
-
);
|
|
7900
|
-
if (!selectedOption) {
|
|
7901
|
-
throw new Error(
|
|
7902
|
-
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
7903
|
-
);
|
|
7904
|
-
}
|
|
7905
|
-
});
|
|
7906
|
-
}
|
|
7907
|
-
function defineBlockAppearancePreset(preset2) {
|
|
7908
|
-
assertValidOptionGroups(preset2);
|
|
7909
|
-
return preset2;
|
|
7910
|
-
}
|
|
7911
|
-
function defineSiteChromeAppearancePreset(preset2) {
|
|
7912
|
-
return preset2;
|
|
7913
|
-
}
|
|
7914
|
-
var appearancePresets = [
|
|
8095
|
+
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
8096
|
+
var blockAppearancePresets = [
|
|
7915
8097
|
defineBlockAppearancePreset({
|
|
7916
8098
|
kind: "block-design",
|
|
7917
8099
|
id: "hero-immersive-image",
|
|
@@ -8037,6 +8219,24 @@ var appearancePresets = [
|
|
|
8037
8219
|
eyebrowTreatment: "accent-pill-bounce"
|
|
8038
8220
|
}
|
|
8039
8221
|
}),
|
|
8222
|
+
defineBlockAppearancePreset({
|
|
8223
|
+
kind: "block-design",
|
|
8224
|
+
id: "hero-brand-depth-expressive",
|
|
8225
|
+
target: "hero",
|
|
8226
|
+
label: "Expressive brand-depth hero",
|
|
8227
|
+
blockKinds: ["block.hero"],
|
|
8228
|
+
constraints: {
|
|
8229
|
+
layoutFamilies: ["centered", "compact"]
|
|
8230
|
+
},
|
|
8231
|
+
design: {
|
|
8232
|
+
sectionSurface: "brand-depth-band",
|
|
8233
|
+
contentFrame: plainFrame,
|
|
8234
|
+
itemSurface: "none",
|
|
8235
|
+
transitionAfter: "soft-fade-short",
|
|
8236
|
+
emphasis: "high",
|
|
8237
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
8238
|
+
}
|
|
8239
|
+
}),
|
|
8040
8240
|
defineBlockAppearancePreset({
|
|
8041
8241
|
kind: "block-design",
|
|
8042
8242
|
id: "hero-contained-intro",
|
|
@@ -8065,6 +8265,20 @@ var appearancePresets = [
|
|
|
8065
8265
|
emphasis: "high"
|
|
8066
8266
|
}
|
|
8067
8267
|
}),
|
|
8268
|
+
defineBlockAppearancePreset({
|
|
8269
|
+
kind: "block-design",
|
|
8270
|
+
id: "body-text-brand-depth-intro",
|
|
8271
|
+
target: "body-text",
|
|
8272
|
+
label: "Brand-depth intro copy",
|
|
8273
|
+
blockKinds: ["block.body-text"],
|
|
8274
|
+
design: {
|
|
8275
|
+
sectionSurface: "brand-depth-band",
|
|
8276
|
+
contentFrame: plainFrame,
|
|
8277
|
+
itemSurface: "none",
|
|
8278
|
+
transitionAfter: "soft-fade-short",
|
|
8279
|
+
emphasis: "high"
|
|
8280
|
+
}
|
|
8281
|
+
}),
|
|
8068
8282
|
defineBlockAppearancePreset({
|
|
8069
8283
|
kind: "block-design",
|
|
8070
8284
|
id: "offerings-calm-list",
|
|
@@ -8107,6 +8321,21 @@ var appearancePresets = [
|
|
|
8107
8321
|
emphasis: "medium"
|
|
8108
8322
|
}
|
|
8109
8323
|
}),
|
|
8324
|
+
defineBlockAppearancePreset({
|
|
8325
|
+
kind: "block-design",
|
|
8326
|
+
id: "schedule-details-brand-depth",
|
|
8327
|
+
target: "events",
|
|
8328
|
+
label: "Brand-depth schedule details",
|
|
8329
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
8330
|
+
design: {
|
|
8331
|
+
sectionSurface: "brand-depth-band",
|
|
8332
|
+
contentFrame: plainFrame,
|
|
8333
|
+
itemSurface: "none",
|
|
8334
|
+
transitionAfter: "none",
|
|
8335
|
+
emphasis: "medium",
|
|
8336
|
+
tileTreatment: "brand-depth"
|
|
8337
|
+
}
|
|
8338
|
+
}),
|
|
8110
8339
|
defineBlockAppearancePreset({
|
|
8111
8340
|
kind: "block-design",
|
|
8112
8341
|
id: "media-text-flush-feature",
|
|
@@ -8192,6 +8421,20 @@ var appearancePresets = [
|
|
|
8192
8421
|
testimonialCardTreatment: "accent-quote"
|
|
8193
8422
|
}
|
|
8194
8423
|
}),
|
|
8424
|
+
defineBlockAppearancePreset({
|
|
8425
|
+
kind: "block-design",
|
|
8426
|
+
id: "faq-base-accordion",
|
|
8427
|
+
target: "faq",
|
|
8428
|
+
label: "Base accordion FAQ",
|
|
8429
|
+
blockKinds: ["block.faq"],
|
|
8430
|
+
design: {
|
|
8431
|
+
sectionSurface: "base",
|
|
8432
|
+
contentFrame: plainFrame,
|
|
8433
|
+
itemSurface: "default",
|
|
8434
|
+
transitionAfter: "none",
|
|
8435
|
+
emphasis: "medium"
|
|
8436
|
+
}
|
|
8437
|
+
}),
|
|
8195
8438
|
defineBlockAppearancePreset({
|
|
8196
8439
|
kind: "block-design",
|
|
8197
8440
|
id: "faq-contained-help",
|
|
@@ -8234,6 +8477,20 @@ var appearancePresets = [
|
|
|
8234
8477
|
emphasis: "high"
|
|
8235
8478
|
}
|
|
8236
8479
|
}),
|
|
8480
|
+
defineBlockAppearancePreset({
|
|
8481
|
+
kind: "block-design",
|
|
8482
|
+
id: "contact-form-brand-depth-card",
|
|
8483
|
+
target: "contact-form",
|
|
8484
|
+
label: "Brand-depth form card",
|
|
8485
|
+
blockKinds: ["block.form"],
|
|
8486
|
+
design: {
|
|
8487
|
+
sectionSurface: "brand-depth-band",
|
|
8488
|
+
contentFrame: panelFrame("raised"),
|
|
8489
|
+
itemSurface: "none",
|
|
8490
|
+
transitionAfter: "none",
|
|
8491
|
+
emphasis: "high"
|
|
8492
|
+
}
|
|
8493
|
+
}),
|
|
8237
8494
|
defineBlockAppearancePreset({
|
|
8238
8495
|
kind: "block-design",
|
|
8239
8496
|
id: "cta-accent-band",
|
|
@@ -8247,7 +8504,14 @@ var appearancePresets = [
|
|
|
8247
8504
|
transitionAfter: "none",
|
|
8248
8505
|
emphasis: "high"
|
|
8249
8506
|
}
|
|
8250
|
-
})
|
|
8507
|
+
})
|
|
8508
|
+
];
|
|
8509
|
+
|
|
8510
|
+
// ../theme-core/src/site-styles/siteChromeAppearancePresets.ts
|
|
8511
|
+
function defineSiteChromeAppearancePreset(preset2) {
|
|
8512
|
+
return preset2;
|
|
8513
|
+
}
|
|
8514
|
+
var siteChromeAppearancePresets = [
|
|
8251
8515
|
defineSiteChromeAppearancePreset({
|
|
8252
8516
|
kind: "site-chrome",
|
|
8253
8517
|
id: "header-clean-base",
|
|
@@ -8315,6 +8579,12 @@ var appearancePresets = [
|
|
|
8315
8579
|
})
|
|
8316
8580
|
];
|
|
8317
8581
|
|
|
8582
|
+
// ../theme-core/src/site-styles/appearancePresetCatalog.ts
|
|
8583
|
+
var appearancePresets = [
|
|
8584
|
+
...blockAppearancePresets,
|
|
8585
|
+
...siteChromeAppearancePresets
|
|
8586
|
+
];
|
|
8587
|
+
|
|
8318
8588
|
// ../theme-core/src/site-styles/blockFlow.ts
|
|
8319
8589
|
function defineBlockDesignMetadata(input) {
|
|
8320
8590
|
const layoutProfiles = (input.layoutProfiles ?? []).map((profile) => ({
|
|
@@ -9789,6 +10059,7 @@ var sectionStylesOverrideSchema = z22.object({
|
|
|
9789
10059
|
background: boxBackgroundSchema.nullable().optional(),
|
|
9790
10060
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
9791
10061
|
minHeight: z22.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
10062
|
+
tileTreatment: z22.enum(tileTreatmentValues).nullable().optional(),
|
|
9792
10063
|
eyebrowTreatment: z22.enum(eyebrowTreatmentValues).nullable().optional()
|
|
9793
10064
|
});
|
|
9794
10065
|
var containerStylesOverrideSchema = z22.object({
|
|
@@ -10582,7 +10853,7 @@ var userContentFrames = [
|
|
|
10582
10853
|
];
|
|
10583
10854
|
var generatedDesignOptionCatalog = {
|
|
10584
10855
|
source: "generated",
|
|
10585
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
10856
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
10586
10857
|
contentFrames: generatedContentFrames,
|
|
10587
10858
|
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
10588
10859
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
@@ -10652,6 +10923,43 @@ var expressiveBudget = {
|
|
|
10652
10923
|
mediaDensity: "high",
|
|
10653
10924
|
decorativeRepetition: "medium"
|
|
10654
10925
|
};
|
|
10926
|
+
var expressiveUnderlineInputs = {
|
|
10927
|
+
base: {
|
|
10928
|
+
background: { type: "transparent" },
|
|
10929
|
+
textColorToken: "text",
|
|
10930
|
+
border: {
|
|
10931
|
+
widthClass: "border-2",
|
|
10932
|
+
colorToken: "border",
|
|
10933
|
+
style: "underline"
|
|
10934
|
+
},
|
|
10935
|
+
corners: "square",
|
|
10936
|
+
shadow: null,
|
|
10937
|
+
spacing: "compact",
|
|
10938
|
+
fontSize: "base"
|
|
10939
|
+
},
|
|
10940
|
+
label: {
|
|
10941
|
+
textColorToken: "primary",
|
|
10942
|
+
fontWeight: "black",
|
|
10943
|
+
fontSize: "xs",
|
|
10944
|
+
textTransform: "uppercase",
|
|
10945
|
+
letterSpacing: "widest",
|
|
10946
|
+
opacity: 1
|
|
10947
|
+
},
|
|
10948
|
+
focus: {
|
|
10949
|
+
ringColorToken: "secondary",
|
|
10950
|
+
ringWidth: "0",
|
|
10951
|
+
borderColorToken: "secondary"
|
|
10952
|
+
},
|
|
10953
|
+
error: {
|
|
10954
|
+
borderColorToken: "destructive",
|
|
10955
|
+
textColorToken: "destructive"
|
|
10956
|
+
},
|
|
10957
|
+
disabled: {
|
|
10958
|
+
backgroundColorToken: "surface",
|
|
10959
|
+
textColorToken: "text",
|
|
10960
|
+
opacity: 0.6
|
|
10961
|
+
}
|
|
10962
|
+
};
|
|
10655
10963
|
function uniqueContentFrameKinds() {
|
|
10656
10964
|
const kinds = [...new Set(
|
|
10657
10965
|
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
@@ -11002,15 +11310,17 @@ var curatedSiteStyles = [
|
|
|
11002
11310
|
paragraphSize: "editorial",
|
|
11003
11311
|
headingSize: "editorial"
|
|
11004
11312
|
}
|
|
11005
|
-
}
|
|
11313
|
+
},
|
|
11314
|
+
inputs: expressiveUnderlineInputs
|
|
11006
11315
|
},
|
|
11007
11316
|
recommendedAppearancePresetIds: [
|
|
11008
11317
|
"site-header-brand-solid-inverted-cta",
|
|
11009
11318
|
"site-footer-brand-two-band",
|
|
11010
11319
|
"hero-brand-scrim-fixed-frame",
|
|
11011
11320
|
"body-text-editorial-intro",
|
|
11321
|
+
"schedule-details-brand-depth",
|
|
11012
11322
|
"testimonials-accent-quote-proof",
|
|
11013
|
-
"contact-form-
|
|
11323
|
+
"contact-form-brand-depth-card"
|
|
11014
11324
|
],
|
|
11015
11325
|
buttonPersonalityChoices: [
|
|
11016
11326
|
buttonChoice("showtime-pill"),
|
|
@@ -11144,6 +11454,7 @@ var imageSurfaceTreatmentSchema = z24.discriminatedUnion("kind", [
|
|
|
11144
11454
|
}).strict()
|
|
11145
11455
|
]);
|
|
11146
11456
|
var testimonialCardTreatmentSchema = z24.enum(["default", "accent-quote"]);
|
|
11457
|
+
var tileTreatmentSchema = z24.enum(tileTreatmentValues);
|
|
11147
11458
|
var eyebrowTreatmentSchema = z24.enum(eyebrowTreatmentValues);
|
|
11148
11459
|
function uniqueNonEmpty(values) {
|
|
11149
11460
|
const uniqueValues = [...new Set(values)];
|
|
@@ -11188,6 +11499,7 @@ var blockDesignPlanSchema = z24.object({
|
|
|
11188
11499
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
11189
11500
|
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
11190
11501
|
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
11502
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
11191
11503
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
11192
11504
|
}).strict();
|
|
11193
11505
|
var styleAuthoritySchema = z24.discriminatedUnion("kind", [
|
|
@@ -11251,6 +11563,14 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
11251
11563
|
headingColor: "primaryForeground"
|
|
11252
11564
|
}
|
|
11253
11565
|
},
|
|
11566
|
+
"brand-depth-band": {
|
|
11567
|
+
background: {
|
|
11568
|
+
type: "color",
|
|
11569
|
+
color: "primary-800",
|
|
11570
|
+
textColor: "primaryForeground",
|
|
11571
|
+
headingColor: "primaryForeground"
|
|
11572
|
+
}
|
|
11573
|
+
},
|
|
11254
11574
|
"hero-image": {
|
|
11255
11575
|
background: {
|
|
11256
11576
|
type: "image",
|
|
@@ -13129,6 +13449,21 @@ function createTransformRegistry(definitions) {
|
|
|
13129
13449
|
}
|
|
13130
13450
|
|
|
13131
13451
|
// ../blocks/src/system/transforms/registry/_utils/colorResolution.ts
|
|
13452
|
+
var CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\(/i;
|
|
13453
|
+
var CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
13454
|
+
var THEME_COLOR_TOKEN_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*(?:\/(?:100|[1-9]?\d|0))?$/;
|
|
13455
|
+
var CSS_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
|
|
13456
|
+
"transparent",
|
|
13457
|
+
"currentColor",
|
|
13458
|
+
"inherit",
|
|
13459
|
+
"initial",
|
|
13460
|
+
"revert",
|
|
13461
|
+
"revert-layer",
|
|
13462
|
+
"unset"
|
|
13463
|
+
]);
|
|
13464
|
+
function isLiteralCssColorValue(value) {
|
|
13465
|
+
return CSS_HEX_COLOR_PATTERN.test(value) || CSS_COLOR_FUNCTION_PATTERN.test(value) || value.startsWith("var(") || CSS_COLOR_KEYWORDS.has(value);
|
|
13466
|
+
}
|
|
13132
13467
|
function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
13133
13468
|
const trimmed = tokenOrCssValue.trim();
|
|
13134
13469
|
if (!trimmed) return "";
|
|
@@ -13145,8 +13480,11 @@ function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
|
13145
13480
|
return rgbColorValue(trimmed);
|
|
13146
13481
|
}
|
|
13147
13482
|
}
|
|
13148
|
-
if (trimmed
|
|
13149
|
-
return
|
|
13483
|
+
if (isLiteralCssColorValue(trimmed)) {
|
|
13484
|
+
return trimmed;
|
|
13485
|
+
}
|
|
13486
|
+
if (THEME_COLOR_TOKEN_PATTERN.test(trimmed)) {
|
|
13487
|
+
return rgbColorValue(trimmed);
|
|
13150
13488
|
}
|
|
13151
13489
|
return trimmed;
|
|
13152
13490
|
}
|
|
@@ -13402,6 +13740,15 @@ function hasFixedFrameBackgroundMotion(value) {
|
|
|
13402
13740
|
const background = asPartialObject(input?.background);
|
|
13403
13741
|
return background?.motion === "fixed-frame";
|
|
13404
13742
|
}
|
|
13743
|
+
var tileTreatmentClassMap = {
|
|
13744
|
+
default: "",
|
|
13745
|
+
quiet: "rb-tile-treatment-quiet",
|
|
13746
|
+
"brand-depth": "rb-tile-treatment-brand-depth"
|
|
13747
|
+
};
|
|
13748
|
+
var tileTreatmentSet = new Set(tileTreatmentValues);
|
|
13749
|
+
function isTileTreatment(value) {
|
|
13750
|
+
return typeof value === "string" && tileTreatmentSet.has(value);
|
|
13751
|
+
}
|
|
13405
13752
|
var sectionClassNameTransform = {
|
|
13406
13753
|
id: "sectionStyles.resolveClassName",
|
|
13407
13754
|
kind: "string",
|
|
@@ -13458,8 +13805,19 @@ var sectionClassNameTransform = {
|
|
|
13458
13805
|
classes.push(minHeightClass);
|
|
13459
13806
|
}
|
|
13460
13807
|
}
|
|
13461
|
-
|
|
13462
|
-
|
|
13808
|
+
const tileTreatment = input?.tileTreatment;
|
|
13809
|
+
if (isTileTreatment(tileTreatment)) {
|
|
13810
|
+
const tileTreatmentClass = tileTreatmentClassMap[tileTreatment];
|
|
13811
|
+
if (tileTreatmentClass) {
|
|
13812
|
+
classes.push(tileTreatmentClass);
|
|
13813
|
+
}
|
|
13814
|
+
} else if (typeof tileTreatment === "string" && process.env.NODE_ENV !== "production") {
|
|
13815
|
+
console.warn(
|
|
13816
|
+
`[sectionStyles] Invalid tileTreatment value in _sectionStyles: "${tileTreatment}". Expected one of: ${tileTreatmentValues.join(", ")}.`
|
|
13817
|
+
);
|
|
13818
|
+
}
|
|
13819
|
+
if (hasFixedFrameBackgroundMotion(input)) {
|
|
13820
|
+
classes.push(fixedFrameScopeClass);
|
|
13463
13821
|
}
|
|
13464
13822
|
return classes.join(" ").trim();
|
|
13465
13823
|
}
|
|
@@ -16332,6 +16690,9 @@ function createBlockManifest(config) {
|
|
|
16332
16690
|
};
|
|
16333
16691
|
return augmentManifest(manifest);
|
|
16334
16692
|
}
|
|
16693
|
+
function createBlockManifestWithContentShape(config, _contentShape) {
|
|
16694
|
+
return createBlockManifest(config);
|
|
16695
|
+
}
|
|
16335
16696
|
function normalizeBlockLayout(layout) {
|
|
16336
16697
|
return Array.isArray(layout) ? [...layout] : layout;
|
|
16337
16698
|
}
|
|
@@ -16964,7 +17325,7 @@ var ctaComposition = composeFragments([
|
|
|
16964
17325
|
{ fragment: ctaCopyFragment },
|
|
16965
17326
|
{ fragment: ctaRowFragment }
|
|
16966
17327
|
]);
|
|
16967
|
-
var
|
|
17328
|
+
var ctaFullConfig = {
|
|
16968
17329
|
id: "block.cta-full",
|
|
16969
17330
|
title: "Full-width CTA",
|
|
16970
17331
|
category: "marketing",
|
|
@@ -16982,7 +17343,8 @@ var ctaFullManifest = createBlockManifest({
|
|
|
16982
17343
|
description: "Centered call to action with optional background image.",
|
|
16983
17344
|
tags: ["cta", "call-to-action", "button", "conversion", "action", "sign-up", "get-started"],
|
|
16984
17345
|
icon: "Target"
|
|
16985
|
-
}
|
|
17346
|
+
};
|
|
17347
|
+
var ctaFullManifest = createBlockManifest(ctaFullConfig);
|
|
16986
17348
|
var ctaFullBlockDefinition = {
|
|
16987
17349
|
manifest: ctaFullManifest
|
|
16988
17350
|
};
|
|
@@ -20063,9 +20425,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20063
20425
|
{
|
|
20064
20426
|
id: "images",
|
|
20065
20427
|
type: "repeater",
|
|
20066
|
-
label: "
|
|
20428
|
+
label: "Media",
|
|
20067
20429
|
required: false,
|
|
20068
|
-
itemLabel: "
|
|
20430
|
+
itemLabel: "Media",
|
|
20069
20431
|
minItems: 0,
|
|
20070
20432
|
maxItems: 6,
|
|
20071
20433
|
allowConversion: true,
|
|
@@ -20079,9 +20441,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20079
20441
|
{
|
|
20080
20442
|
id: "image",
|
|
20081
20443
|
type: "media",
|
|
20082
|
-
label: "
|
|
20444
|
+
label: "Media",
|
|
20083
20445
|
required: true,
|
|
20084
|
-
mediaKinds: ["image"]
|
|
20446
|
+
mediaKinds: ["image", "video"]
|
|
20085
20447
|
}
|
|
20086
20448
|
]
|
|
20087
20449
|
}
|
|
@@ -20159,8 +20521,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20159
20521
|
{
|
|
20160
20522
|
id: "aspectRatio",
|
|
20161
20523
|
type: "select",
|
|
20162
|
-
label: "
|
|
20163
|
-
description: "Crop
|
|
20524
|
+
label: "Media aspect ratio",
|
|
20525
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
20164
20526
|
required: false,
|
|
20165
20527
|
defaultValue: "auto",
|
|
20166
20528
|
multiple: false,
|
|
@@ -20347,8 +20709,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
20347
20709
|
}
|
|
20348
20710
|
};
|
|
20349
20711
|
})(),
|
|
20350
|
-
description: "Two columns:
|
|
20351
|
-
tags: ["media", "image", "carousel", "text", "two-column", "layout"],
|
|
20712
|
+
description: "Two columns: media/carousel + rich text (with optional section title).",
|
|
20713
|
+
tags: ["media", "image", "video", "carousel", "text", "two-column", "layout"],
|
|
20352
20714
|
icon: "Columns"
|
|
20353
20715
|
});
|
|
20354
20716
|
var mediaTextBlockDefinition = {
|
|
@@ -20499,6 +20861,19 @@ var transformSchema2 = z39.object({
|
|
|
20499
20861
|
hotspot: hotspotSchema2.optional(),
|
|
20500
20862
|
rotation: rotationSchema2.optional()
|
|
20501
20863
|
});
|
|
20864
|
+
var mediaPosterSchema = z39.discriminatedUnion("tag", [
|
|
20865
|
+
z39.object({
|
|
20866
|
+
tag: z39.literal("storage"),
|
|
20867
|
+
assetId: z39.string().optional(),
|
|
20868
|
+
storageBucket: z39.string().min(1),
|
|
20869
|
+
storagePath: z39.string().min(1)
|
|
20870
|
+
}),
|
|
20871
|
+
z39.object({
|
|
20872
|
+
tag: z39.literal("external-src"),
|
|
20873
|
+
assetId: z39.string().optional(),
|
|
20874
|
+
src: z39.string().url()
|
|
20875
|
+
})
|
|
20876
|
+
]);
|
|
20502
20877
|
var mediaBaseSchema = z39.object({
|
|
20503
20878
|
purpose: z39.string().optional(),
|
|
20504
20879
|
placeholder: z39.boolean().default(true).optional(),
|
|
@@ -20512,6 +20887,7 @@ var mediaBaseSchema = z39.object({
|
|
|
20512
20887
|
height: z39.number().optional(),
|
|
20513
20888
|
storageBucket: z39.string().optional(),
|
|
20514
20889
|
storagePath: z39.string().optional(),
|
|
20890
|
+
poster: mediaPosterSchema.optional(),
|
|
20515
20891
|
transform: transformSchema2.optional()
|
|
20516
20892
|
});
|
|
20517
20893
|
var imageMediaSchema = mediaBaseSchema.extend({ type: z39.literal("image") });
|
|
@@ -20995,10 +21371,28 @@ import { z as z45 } from "zod";
|
|
|
20995
21371
|
|
|
20996
21372
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
20997
21373
|
import { z as z44 } from "zod";
|
|
21374
|
+
|
|
21375
|
+
// ../blocks/src/system/constants/events.ts
|
|
21376
|
+
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
21377
|
+
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
21378
|
+
var eventCalendarListLayoutOptions = [
|
|
21379
|
+
{ id: "stack", label: "Stack" },
|
|
21380
|
+
{ id: "grid", label: "Grid" },
|
|
21381
|
+
{ id: "compact", label: "Compact" }
|
|
21382
|
+
];
|
|
21383
|
+
function isEventCalendarDisplayMode(value) {
|
|
21384
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
21385
|
+
}
|
|
21386
|
+
function isEventCalendarListLayout(value) {
|
|
21387
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
21388
|
+
}
|
|
21389
|
+
|
|
21390
|
+
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
20998
21391
|
var previewStageSchema = z44.enum(["preview", "published"]);
|
|
20999
21392
|
var registrationButtonVariantSchema = z44.enum(["primary", "secondary", "outline"]);
|
|
21000
21393
|
var eventButtonVariantSchema = z44.enum(["primary", "secondary", "outline", "link"]);
|
|
21001
|
-
var eventLayoutSchema = z44.enum(
|
|
21394
|
+
var eventLayoutSchema = z44.enum(eventCalendarListLayoutValues);
|
|
21395
|
+
var eventCalendarDisplayModeSchema = z44.enum(eventCalendarDisplayModeValues);
|
|
21002
21396
|
var columnOptionSchema = z44.enum(["2", "3", "4"]);
|
|
21003
21397
|
var weekStartSchema = z44.enum(["sunday", "monday"]);
|
|
21004
21398
|
var filterAutoShowSchema = z44.enum(["auto", "always", "never"]);
|
|
@@ -22380,7 +22774,232 @@ var eventListingInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
22380
22774
|
});
|
|
22381
22775
|
|
|
22382
22776
|
// ../blocks/src/system/blocks/events/event-listing.ts
|
|
22383
|
-
var
|
|
22777
|
+
var eventListingAdditionalFields = [
|
|
22778
|
+
...sectionHeaderFields("All Events"),
|
|
22779
|
+
...(() => {
|
|
22780
|
+
const columns = columnsField(["2", "3", "4"]);
|
|
22781
|
+
return [
|
|
22782
|
+
{
|
|
22783
|
+
...layoutField,
|
|
22784
|
+
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
22785
|
+
},
|
|
22786
|
+
{
|
|
22787
|
+
...columns,
|
|
22788
|
+
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
22789
|
+
}
|
|
22790
|
+
];
|
|
22791
|
+
})(),
|
|
22792
|
+
{
|
|
22793
|
+
id: "eventsPerPage",
|
|
22794
|
+
type: "select",
|
|
22795
|
+
label: "Events per page",
|
|
22796
|
+
description: "Number of events to load at a time",
|
|
22797
|
+
required: false,
|
|
22798
|
+
multiple: false,
|
|
22799
|
+
defaultValue: "12",
|
|
22800
|
+
options: [
|
|
22801
|
+
{ value: "3", label: "3 events" },
|
|
22802
|
+
{ value: "6", label: "6 events" },
|
|
22803
|
+
{ value: "12", label: "12 events" },
|
|
22804
|
+
{ value: "24", label: "24 events" }
|
|
22805
|
+
],
|
|
22806
|
+
ui: { intent: "display" }
|
|
22807
|
+
},
|
|
22808
|
+
{
|
|
22809
|
+
id: "paginationMode",
|
|
22810
|
+
type: "select",
|
|
22811
|
+
label: "More events",
|
|
22812
|
+
description: "How to access events beyond the initial list",
|
|
22813
|
+
required: false,
|
|
22814
|
+
multiple: false,
|
|
22815
|
+
defaultValue: "loadMore",
|
|
22816
|
+
options: [
|
|
22817
|
+
{ value: "loadMore", label: "Load more button" },
|
|
22818
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
22819
|
+
],
|
|
22820
|
+
ui: { intent: "display" }
|
|
22821
|
+
},
|
|
22822
|
+
{
|
|
22823
|
+
id: "seeAllUrl",
|
|
22824
|
+
type: "link",
|
|
22825
|
+
label: "See all destination",
|
|
22826
|
+
required: false,
|
|
22827
|
+
ui: {
|
|
22828
|
+
intent: "display",
|
|
22829
|
+
visibleWhen: {
|
|
22830
|
+
field: "paginationMode",
|
|
22831
|
+
equals: "seeAllLink"
|
|
22832
|
+
}
|
|
22833
|
+
}
|
|
22834
|
+
},
|
|
22835
|
+
{
|
|
22836
|
+
id: "loadMoreText",
|
|
22837
|
+
type: "text",
|
|
22838
|
+
label: "Button text",
|
|
22839
|
+
description: "Text for the pagination button or link",
|
|
22840
|
+
required: false,
|
|
22841
|
+
multiline: false,
|
|
22842
|
+
defaultValue: "Load more events",
|
|
22843
|
+
maxLength: 40
|
|
22844
|
+
},
|
|
22845
|
+
...cardStylingFields.map((field) => ({
|
|
22846
|
+
...field,
|
|
22847
|
+
ui: { ...field.ui ?? {}, intent: "style" }
|
|
22848
|
+
})),
|
|
22849
|
+
...eventDisplayFields.map((field) => ({
|
|
22850
|
+
...field,
|
|
22851
|
+
ui: { ...field.ui ?? {}, intent: "display" }
|
|
22852
|
+
})),
|
|
22853
|
+
{
|
|
22854
|
+
id: "kind",
|
|
22855
|
+
type: "select",
|
|
22856
|
+
label: "Show",
|
|
22857
|
+
description: "Choose whether this list shows courses, events, or both",
|
|
22858
|
+
required: false,
|
|
22859
|
+
multiple: false,
|
|
22860
|
+
defaultValue: "all",
|
|
22861
|
+
options: [
|
|
22862
|
+
{ value: "all", label: "Courses and events" },
|
|
22863
|
+
{ value: "courses", label: "Courses only" },
|
|
22864
|
+
{ value: "events", label: "Events only" }
|
|
22865
|
+
],
|
|
22866
|
+
ui: { intent: "behavior" }
|
|
22867
|
+
},
|
|
22868
|
+
{
|
|
22869
|
+
id: "eventSurface",
|
|
22870
|
+
type: "select",
|
|
22871
|
+
label: "Event surface",
|
|
22872
|
+
description: "Choose a semantic event scope",
|
|
22873
|
+
required: false,
|
|
22874
|
+
multiple: false,
|
|
22875
|
+
defaultValue: "all",
|
|
22876
|
+
options: [
|
|
22877
|
+
{ value: "all", label: "All events" },
|
|
22878
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
22879
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
22880
|
+
{ value: "custom", label: "Custom" }
|
|
22881
|
+
],
|
|
22882
|
+
ui: { intent: "behavior" }
|
|
22883
|
+
},
|
|
22884
|
+
{
|
|
22885
|
+
id: "filterEventPresets",
|
|
22886
|
+
type: "select",
|
|
22887
|
+
label: "Pre-filter by event type",
|
|
22888
|
+
description: "Restrict this block to specific event types",
|
|
22889
|
+
required: false,
|
|
22890
|
+
multiple: true,
|
|
22891
|
+
defaultValue: [],
|
|
22892
|
+
options: [
|
|
22893
|
+
{ value: "class", label: "Classes" },
|
|
22894
|
+
{ value: "workshop", label: "Workshops" },
|
|
22895
|
+
{ value: "retreat", label: "Retreats" },
|
|
22896
|
+
{ value: "performance", label: "Performances" }
|
|
22897
|
+
],
|
|
22898
|
+
ui: {
|
|
22899
|
+
intent: "behavior",
|
|
22900
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22901
|
+
}
|
|
22902
|
+
},
|
|
22903
|
+
{
|
|
22904
|
+
id: "scheduleScope",
|
|
22905
|
+
type: "select",
|
|
22906
|
+
label: "Schedule cadence",
|
|
22907
|
+
description: "Restrict this block by recurrence",
|
|
22908
|
+
required: false,
|
|
22909
|
+
multiple: false,
|
|
22910
|
+
defaultValue: "any",
|
|
22911
|
+
options: [
|
|
22912
|
+
{ value: "any", label: "Any cadence" },
|
|
22913
|
+
{ value: "recurring", label: "Recurring only" },
|
|
22914
|
+
{ value: "oneOff", label: "One-off only" }
|
|
22915
|
+
],
|
|
22916
|
+
ui: {
|
|
22917
|
+
intent: "behavior",
|
|
22918
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22919
|
+
}
|
|
22920
|
+
},
|
|
22921
|
+
{
|
|
22922
|
+
...emptyStateField,
|
|
22923
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
22924
|
+
},
|
|
22925
|
+
sectionStylesField({
|
|
22926
|
+
id: "_sectionStyles",
|
|
22927
|
+
label: "Section styles",
|
|
22928
|
+
renderInHeader: false
|
|
22929
|
+
})
|
|
22930
|
+
];
|
|
22931
|
+
var eventListingLayout = [
|
|
22932
|
+
styledSection({
|
|
22933
|
+
children: sectionContainer([
|
|
22934
|
+
// Optional heading
|
|
22935
|
+
text(
|
|
22936
|
+
{ as: "h2" },
|
|
22937
|
+
bind("content.heading"),
|
|
22938
|
+
when("content.heading")
|
|
22939
|
+
),
|
|
22940
|
+
// Optional description
|
|
22941
|
+
richText(
|
|
22942
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
22943
|
+
bind("content.description"),
|
|
22944
|
+
when("content.description")
|
|
22945
|
+
),
|
|
22946
|
+
// Event listing component with pagination
|
|
22947
|
+
el("event-listing", withApiBindings({
|
|
22948
|
+
events: { $bind: { from: "data.events" } },
|
|
22949
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
22950
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
22951
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
22952
|
+
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
22953
|
+
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
22954
|
+
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
22955
|
+
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
22956
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
22957
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
22958
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
22959
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22960
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
22961
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
22962
|
+
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
22963
|
+
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
22964
|
+
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
22965
|
+
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
22966
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22967
|
+
}))
|
|
22968
|
+
], {
|
|
22969
|
+
gap: "lg"
|
|
22970
|
+
}),
|
|
22971
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
22972
|
+
baseClass: "",
|
|
22973
|
+
spacing: "comfortable"
|
|
22974
|
+
})
|
|
22975
|
+
];
|
|
22976
|
+
var eventListingDerivedFields = [
|
|
22977
|
+
{
|
|
22978
|
+
id: "layout",
|
|
22979
|
+
type: "select",
|
|
22980
|
+
required: false,
|
|
22981
|
+
multiple: false,
|
|
22982
|
+
options: [
|
|
22983
|
+
{ value: "grid" },
|
|
22984
|
+
{ value: "stack" }
|
|
22985
|
+
]
|
|
22986
|
+
},
|
|
22987
|
+
{
|
|
22988
|
+
id: "paginationMode",
|
|
22989
|
+
type: "select",
|
|
22990
|
+
required: false,
|
|
22991
|
+
multiple: false,
|
|
22992
|
+
options: [
|
|
22993
|
+
{ value: "loadMore" },
|
|
22994
|
+
{ value: "seeAllLink" }
|
|
22995
|
+
]
|
|
22996
|
+
}
|
|
22997
|
+
];
|
|
22998
|
+
var eventListingContentShape = {
|
|
22999
|
+
additionalFields: eventListingDerivedFields,
|
|
23000
|
+
skipSectionStyles: true
|
|
23001
|
+
};
|
|
23002
|
+
var eventListingConfig = {
|
|
22384
23003
|
id: "block.event-listing",
|
|
22385
23004
|
version: "1.1.0",
|
|
22386
23005
|
title: "Event Listing",
|
|
@@ -22388,211 +23007,18 @@ var eventListingManifest = createBlockManifest({
|
|
|
22388
23007
|
description: "Paginated list of all upcoming events",
|
|
22389
23008
|
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
22390
23009
|
skipSectionStyles: true,
|
|
22391
|
-
additionalFields:
|
|
22392
|
-
...sectionHeaderFields("All Events"),
|
|
22393
|
-
...(() => {
|
|
22394
|
-
const columns = columnsField(["2", "3", "4"]);
|
|
22395
|
-
return [
|
|
22396
|
-
{
|
|
22397
|
-
...layoutField,
|
|
22398
|
-
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
22399
|
-
},
|
|
22400
|
-
{
|
|
22401
|
-
...columns,
|
|
22402
|
-
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
22403
|
-
}
|
|
22404
|
-
];
|
|
22405
|
-
})(),
|
|
22406
|
-
{
|
|
22407
|
-
id: "eventsPerPage",
|
|
22408
|
-
type: "select",
|
|
22409
|
-
label: "Events per page",
|
|
22410
|
-
description: "Number of events to load at a time",
|
|
22411
|
-
required: false,
|
|
22412
|
-
multiple: false,
|
|
22413
|
-
defaultValue: "12",
|
|
22414
|
-
options: [
|
|
22415
|
-
{ value: "3", label: "3 events" },
|
|
22416
|
-
{ value: "6", label: "6 events" },
|
|
22417
|
-
{ value: "12", label: "12 events" },
|
|
22418
|
-
{ value: "24", label: "24 events" }
|
|
22419
|
-
],
|
|
22420
|
-
ui: { intent: "display" }
|
|
22421
|
-
},
|
|
22422
|
-
{
|
|
22423
|
-
id: "paginationMode",
|
|
22424
|
-
type: "select",
|
|
22425
|
-
label: "More events",
|
|
22426
|
-
description: "How to access events beyond the initial list",
|
|
22427
|
-
required: false,
|
|
22428
|
-
multiple: false,
|
|
22429
|
-
defaultValue: "loadMore",
|
|
22430
|
-
options: [
|
|
22431
|
-
{ value: "loadMore", label: "Load more button" },
|
|
22432
|
-
{ value: "seeAllLink", label: "Link to another page" }
|
|
22433
|
-
],
|
|
22434
|
-
ui: { intent: "display" }
|
|
22435
|
-
},
|
|
22436
|
-
{
|
|
22437
|
-
id: "seeAllUrl",
|
|
22438
|
-
type: "link",
|
|
22439
|
-
label: "See all destination",
|
|
22440
|
-
required: false,
|
|
22441
|
-
ui: {
|
|
22442
|
-
intent: "display",
|
|
22443
|
-
visibleWhen: {
|
|
22444
|
-
field: "paginationMode",
|
|
22445
|
-
equals: "seeAllLink"
|
|
22446
|
-
}
|
|
22447
|
-
}
|
|
22448
|
-
},
|
|
22449
|
-
{
|
|
22450
|
-
id: "loadMoreText",
|
|
22451
|
-
type: "text",
|
|
22452
|
-
label: "Button text",
|
|
22453
|
-
description: "Text for the pagination button or link",
|
|
22454
|
-
required: false,
|
|
22455
|
-
multiline: false,
|
|
22456
|
-
defaultValue: "Load more events",
|
|
22457
|
-
maxLength: 40
|
|
22458
|
-
},
|
|
22459
|
-
...cardStylingFields.map((field) => ({
|
|
22460
|
-
...field,
|
|
22461
|
-
ui: { ...field.ui ?? {}, intent: "style" }
|
|
22462
|
-
})),
|
|
22463
|
-
...eventDisplayFields.map((field) => ({
|
|
22464
|
-
...field,
|
|
22465
|
-
ui: { ...field.ui ?? {}, intent: "display" }
|
|
22466
|
-
})),
|
|
22467
|
-
{
|
|
22468
|
-
id: "kind",
|
|
22469
|
-
type: "select",
|
|
22470
|
-
label: "Show",
|
|
22471
|
-
description: "Choose whether this list shows courses, events, or both",
|
|
22472
|
-
required: false,
|
|
22473
|
-
multiple: false,
|
|
22474
|
-
defaultValue: "all",
|
|
22475
|
-
options: [
|
|
22476
|
-
{ value: "all", label: "Courses and events" },
|
|
22477
|
-
{ value: "courses", label: "Courses only" },
|
|
22478
|
-
{ value: "events", label: "Events only" }
|
|
22479
|
-
],
|
|
22480
|
-
ui: { intent: "behavior" }
|
|
22481
|
-
},
|
|
22482
|
-
{
|
|
22483
|
-
id: "eventSurface",
|
|
22484
|
-
type: "select",
|
|
22485
|
-
label: "Event surface",
|
|
22486
|
-
description: "Choose a semantic event scope",
|
|
22487
|
-
required: false,
|
|
22488
|
-
multiple: false,
|
|
22489
|
-
defaultValue: "all",
|
|
22490
|
-
options: [
|
|
22491
|
-
{ value: "all", label: "All events" },
|
|
22492
|
-
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
22493
|
-
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
22494
|
-
{ value: "custom", label: "Custom" }
|
|
22495
|
-
],
|
|
22496
|
-
ui: { intent: "behavior" }
|
|
22497
|
-
},
|
|
22498
|
-
{
|
|
22499
|
-
id: "filterEventPresets",
|
|
22500
|
-
type: "select",
|
|
22501
|
-
label: "Pre-filter by event type",
|
|
22502
|
-
description: "Restrict this block to specific event types",
|
|
22503
|
-
required: false,
|
|
22504
|
-
multiple: true,
|
|
22505
|
-
defaultValue: [],
|
|
22506
|
-
options: [
|
|
22507
|
-
{ value: "class", label: "Classes" },
|
|
22508
|
-
{ value: "workshop", label: "Workshops" },
|
|
22509
|
-
{ value: "retreat", label: "Retreats" },
|
|
22510
|
-
{ value: "performance", label: "Performances" }
|
|
22511
|
-
],
|
|
22512
|
-
ui: {
|
|
22513
|
-
intent: "behavior",
|
|
22514
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22515
|
-
}
|
|
22516
|
-
},
|
|
22517
|
-
{
|
|
22518
|
-
id: "scheduleScope",
|
|
22519
|
-
type: "select",
|
|
22520
|
-
label: "Schedule cadence",
|
|
22521
|
-
description: "Restrict this block by recurrence",
|
|
22522
|
-
required: false,
|
|
22523
|
-
multiple: false,
|
|
22524
|
-
defaultValue: "any",
|
|
22525
|
-
options: [
|
|
22526
|
-
{ value: "any", label: "Any cadence" },
|
|
22527
|
-
{ value: "recurring", label: "Recurring only" },
|
|
22528
|
-
{ value: "oneOff", label: "One-off only" }
|
|
22529
|
-
],
|
|
22530
|
-
ui: {
|
|
22531
|
-
intent: "behavior",
|
|
22532
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
22533
|
-
}
|
|
22534
|
-
},
|
|
22535
|
-
{
|
|
22536
|
-
...emptyStateField,
|
|
22537
|
-
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
22538
|
-
},
|
|
22539
|
-
sectionStylesField({
|
|
22540
|
-
id: "_sectionStyles",
|
|
22541
|
-
label: "Section styles",
|
|
22542
|
-
renderInHeader: false
|
|
22543
|
-
})
|
|
22544
|
-
],
|
|
23010
|
+
additionalFields: eventListingAdditionalFields,
|
|
22545
23011
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
22546
23012
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: true },
|
|
22547
23013
|
category: "interactive",
|
|
22548
23014
|
tags: ["events", "listing", "paginated", "archive", "all-events"],
|
|
22549
23015
|
icon: "List",
|
|
22550
|
-
layout:
|
|
22551
|
-
|
|
22552
|
-
|
|
22553
|
-
|
|
22554
|
-
|
|
22555
|
-
|
|
22556
|
-
bind("content.heading"),
|
|
22557
|
-
when("content.heading")
|
|
22558
|
-
),
|
|
22559
|
-
// Optional description
|
|
22560
|
-
richText(
|
|
22561
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
22562
|
-
bind("content.description"),
|
|
22563
|
-
when("content.description")
|
|
22564
|
-
),
|
|
22565
|
-
// Event listing component with pagination
|
|
22566
|
-
el("event-listing", withApiBindings({
|
|
22567
|
-
events: { $bind: { from: "data.events" } },
|
|
22568
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
22569
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
22570
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
22571
|
-
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
22572
|
-
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
22573
|
-
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
22574
|
-
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
22575
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
22576
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
22577
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
22578
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
22579
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
22580
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
22581
|
-
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
22582
|
-
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
22583
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
22584
|
-
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
22585
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
22586
|
-
}))
|
|
22587
|
-
], {
|
|
22588
|
-
gap: "lg"
|
|
22589
|
-
}),
|
|
22590
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
22591
|
-
baseClass: "",
|
|
22592
|
-
spacing: "comfortable"
|
|
22593
|
-
})
|
|
22594
|
-
]
|
|
22595
|
-
});
|
|
23016
|
+
layout: eventListingLayout
|
|
23017
|
+
};
|
|
23018
|
+
var eventListingManifest = createBlockManifestWithContentShape(
|
|
23019
|
+
eventListingConfig,
|
|
23020
|
+
eventListingContentShape
|
|
23021
|
+
);
|
|
22596
23022
|
var eventListingBlockDefinition = {
|
|
22597
23023
|
manifest: eventListingManifest,
|
|
22598
23024
|
runtime: eventListingBlockRuntime,
|
|
@@ -22619,7 +23045,6 @@ var eventListingBlockDefinition = {
|
|
|
22619
23045
|
|
|
22620
23046
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
22621
23047
|
import { z as z51 } from "zod";
|
|
22622
|
-
var displayModeSchema = z51.enum(["combined", "month", "week", "list", "timetable"]);
|
|
22623
23048
|
var eventBlockKindSchema2 = z51.enum(eventBlockKindValues);
|
|
22624
23049
|
var eventSurfaceScopeSchema2 = z51.enum(eventSurfaceScopeValues);
|
|
22625
23050
|
var eventScheduleScopeSchema3 = z51.enum(eventScheduleScopeValues);
|
|
@@ -22629,7 +23054,8 @@ var eventCalendarSourceSchema = z51.object(
|
|
|
22629
23054
|
siteId: z51.string(),
|
|
22630
23055
|
apiBaseUrl: z51.string().optional(),
|
|
22631
23056
|
stage: previewStageSchema.optional(),
|
|
22632
|
-
|
|
23057
|
+
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
23058
|
+
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
22633
23059
|
listLayout: eventLayoutSchema.optional(),
|
|
22634
23060
|
listColumns: columnOptionSchema.optional(),
|
|
22635
23061
|
layout: eventLayoutSchema.optional(),
|
|
@@ -22661,7 +23087,7 @@ var eventCalendarSourceSchema = z51.object(
|
|
|
22661
23087
|
);
|
|
22662
23088
|
var eventCalendarDisplaySchema = z51.object({
|
|
22663
23089
|
kind: z51.literal("event-calendar"),
|
|
22664
|
-
displayMode:
|
|
23090
|
+
displayMode: eventCalendarDisplayModeSchema,
|
|
22665
23091
|
className: z51.string().nullable(),
|
|
22666
23092
|
events: z51.array(publicEventSchema),
|
|
22667
23093
|
listLayout: eventLayoutSchema,
|
|
@@ -22716,7 +23142,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
22716
23142
|
function buildEventCalendarDisplay(source) {
|
|
22717
23143
|
return {
|
|
22718
23144
|
kind: "event-calendar",
|
|
22719
|
-
displayMode: source.displayMode ?? "combined",
|
|
23145
|
+
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
22720
23146
|
className: source.className ?? null,
|
|
22721
23147
|
events: (source.events ?? []).slice().sort(
|
|
22722
23148
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
@@ -22783,8 +23209,12 @@ var eventCalendarInteractiveIslandPropsCodec = createInteractiveIslandCodec({
|
|
|
22783
23209
|
function normalizeEventCalendarContent(content) {
|
|
22784
23210
|
const record = typeof content === "object" && content !== null ? content : {};
|
|
22785
23211
|
const kind = normalizeEventBlockKind(record.kind);
|
|
23212
|
+
const variant = normalizeEventCalendarDisplayMode(record.variant) ?? normalizeEventCalendarDisplayMode(record.displayMode);
|
|
22786
23213
|
return {
|
|
22787
23214
|
...record,
|
|
23215
|
+
...variant ? { variant } : {},
|
|
23216
|
+
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
23217
|
+
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
22788
23218
|
kind,
|
|
22789
23219
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
22790
23220
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -22796,355 +23226,515 @@ function normalizeEventCalendarContent(content) {
|
|
|
22796
23226
|
filterVenueId: normalizeEventVenueId(record.filterVenueId)
|
|
22797
23227
|
};
|
|
22798
23228
|
}
|
|
22799
|
-
|
|
22800
|
-
|
|
22801
|
-
|
|
22802
|
-
|
|
22803
|
-
|
|
22804
|
-
|
|
22805
|
-
|
|
22806
|
-
|
|
22807
|
-
|
|
22808
|
-
|
|
22809
|
-
|
|
22810
|
-
|
|
22811
|
-
|
|
22812
|
-
|
|
22813
|
-
|
|
22814
|
-
|
|
22815
|
-
|
|
22816
|
-
|
|
22817
|
-
|
|
22818
|
-
|
|
22819
|
-
|
|
22820
|
-
|
|
22821
|
-
|
|
22822
|
-
|
|
22823
|
-
|
|
22824
|
-
|
|
22825
|
-
|
|
22826
|
-
|
|
22827
|
-
|
|
22828
|
-
|
|
22829
|
-
|
|
22830
|
-
|
|
22831
|
-
|
|
22832
|
-
|
|
22833
|
-
|
|
22834
|
-
|
|
22835
|
-
|
|
22836
|
-
|
|
22837
|
-
|
|
22838
|
-
|
|
22839
|
-
|
|
22840
|
-
|
|
22841
|
-
|
|
22842
|
-
|
|
22843
|
-
|
|
22844
|
-
|
|
22845
|
-
|
|
22846
|
-
|
|
22847
|
-
|
|
22848
|
-
|
|
22849
|
-
|
|
22850
|
-
|
|
22851
|
-
|
|
22852
|
-
|
|
22853
|
-
|
|
22854
|
-
|
|
22855
|
-
|
|
22856
|
-
|
|
22857
|
-
|
|
22858
|
-
|
|
22859
|
-
|
|
22860
|
-
|
|
22861
|
-
|
|
22862
|
-
|
|
22863
|
-
|
|
22864
|
-
|
|
22865
|
-
|
|
22866
|
-
|
|
22867
|
-
|
|
22868
|
-
|
|
22869
|
-
|
|
22870
|
-
|
|
22871
|
-
|
|
22872
|
-
|
|
22873
|
-
|
|
22874
|
-
|
|
22875
|
-
|
|
22876
|
-
|
|
22877
|
-
|
|
22878
|
-
|
|
22879
|
-
|
|
22880
|
-
|
|
22881
|
-
|
|
22882
|
-
|
|
22883
|
-
|
|
22884
|
-
|
|
22885
|
-
|
|
22886
|
-
|
|
22887
|
-
|
|
22888
|
-
|
|
22889
|
-
|
|
22890
|
-
|
|
22891
|
-
|
|
22892
|
-
|
|
22893
|
-
|
|
22894
|
-
|
|
22895
|
-
|
|
22896
|
-
|
|
22897
|
-
|
|
22898
|
-
|
|
22899
|
-
|
|
22900
|
-
|
|
22901
|
-
id: "loadMoreText",
|
|
22902
|
-
type: "text",
|
|
22903
|
-
label: "Load more button text",
|
|
22904
|
-
description: "Text for the load more button",
|
|
22905
|
-
required: false,
|
|
22906
|
-
multiline: false,
|
|
22907
|
-
defaultValue: "Load more events",
|
|
22908
|
-
ui: {
|
|
22909
|
-
intent: "content",
|
|
22910
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list"] }
|
|
22911
|
-
}
|
|
22912
|
-
},
|
|
22913
|
-
// Calendar options
|
|
22914
|
-
{
|
|
22915
|
-
id: "startOfWeek",
|
|
22916
|
-
type: "select",
|
|
22917
|
-
label: "Week starts on",
|
|
22918
|
-
description: "First day of the week",
|
|
22919
|
-
required: false,
|
|
22920
|
-
multiple: false,
|
|
22921
|
-
defaultValue: "monday",
|
|
22922
|
-
options: [
|
|
22923
|
-
{ value: "sunday", label: "Sunday" },
|
|
22924
|
-
{ value: "monday", label: "Monday" }
|
|
22925
|
-
],
|
|
22926
|
-
ui: {
|
|
22927
|
-
intent: "display",
|
|
22928
|
-
visibleWhen: {
|
|
22929
|
-
field: "displayMode",
|
|
22930
|
-
oneOf: ["combined", "month", "week"]
|
|
22931
|
-
}
|
|
22932
|
-
}
|
|
22933
|
-
},
|
|
22934
|
-
// Combined mode options
|
|
22935
|
-
{
|
|
22936
|
-
id: "calendarTabViews",
|
|
22937
|
-
type: "select",
|
|
22938
|
-
label: "Calendar tab views",
|
|
22939
|
-
description: "Which calendar views to show in the Calendar tab",
|
|
22940
|
-
required: false,
|
|
22941
|
-
multiple: false,
|
|
22942
|
-
defaultValue: "both",
|
|
22943
|
-
options: [
|
|
22944
|
-
{ value: "both", label: "Month + Week toggle" },
|
|
22945
|
-
{ value: "month", label: "Month only" },
|
|
22946
|
-
{ value: "week", label: "Week only" }
|
|
22947
|
-
],
|
|
22948
|
-
ui: {
|
|
22949
|
-
intent: "display",
|
|
22950
|
-
visibleWhen: { field: "displayMode", equals: "combined" }
|
|
22951
|
-
}
|
|
22952
|
-
},
|
|
22953
|
-
// Filtering options
|
|
22954
|
-
{
|
|
22955
|
-
id: "kind",
|
|
22956
|
-
type: "select",
|
|
22957
|
-
label: "Show",
|
|
22958
|
-
description: "Restrict this block to all offerings, courses, or events",
|
|
22959
|
-
required: false,
|
|
22960
|
-
multiple: false,
|
|
22961
|
-
defaultValue: "all",
|
|
22962
|
-
options: [
|
|
22963
|
-
{ value: "all", label: "All offerings" },
|
|
22964
|
-
{ value: "courses", label: "Courses only" },
|
|
22965
|
-
{ value: "events", label: "Events only" }
|
|
22966
|
-
],
|
|
22967
|
-
ui: { intent: "behavior" }
|
|
22968
|
-
},
|
|
22969
|
-
{
|
|
22970
|
-
id: "showFilters",
|
|
22971
|
-
type: "boolean",
|
|
22972
|
-
label: "Show filters",
|
|
22973
|
-
description: "Show category, staff, and venue filters",
|
|
22974
|
-
required: false,
|
|
22975
|
-
defaultValue: true,
|
|
22976
|
-
ui: {
|
|
22977
|
-
intent: "display",
|
|
22978
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
22979
|
-
}
|
|
22980
|
-
},
|
|
22981
|
-
{
|
|
22982
|
-
id: "showCategoryFilter",
|
|
22983
|
-
type: "select",
|
|
22984
|
-
label: "Show category filter",
|
|
22985
|
-
description: "When to show the category filter dropdown",
|
|
22986
|
-
required: false,
|
|
22987
|
-
multiple: false,
|
|
22988
|
-
defaultValue: "auto",
|
|
22989
|
-
options: [
|
|
22990
|
-
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
22991
|
-
{ value: "always", label: "Always" },
|
|
22992
|
-
{ value: "never", label: "Never" }
|
|
23229
|
+
function normalizeEventCalendarDisplayMode(value) {
|
|
23230
|
+
return isEventCalendarDisplayMode(value) ? value : void 0;
|
|
23231
|
+
}
|
|
23232
|
+
function normalizeEventCalendarListLayout(value) {
|
|
23233
|
+
return isEventCalendarListLayout(value) ? value : void 0;
|
|
23234
|
+
}
|
|
23235
|
+
var eventCalendarLayout = [
|
|
23236
|
+
styledSection({
|
|
23237
|
+
children: sectionContainer(
|
|
23238
|
+
[
|
|
23239
|
+
// Optional heading
|
|
23240
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
23241
|
+
// Optional description
|
|
23242
|
+
richText(
|
|
23243
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
23244
|
+
bind("content.description"),
|
|
23245
|
+
when("content.description")
|
|
23246
|
+
),
|
|
23247
|
+
// Event calendar component (handles all display modes)
|
|
23248
|
+
el(
|
|
23249
|
+
"event-calendar",
|
|
23250
|
+
withApiBindings({
|
|
23251
|
+
events: { $bind: { from: "data.events" } },
|
|
23252
|
+
stage: {
|
|
23253
|
+
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
23254
|
+
},
|
|
23255
|
+
// Variant is the new Theme V2-facing display mode. displayMode is
|
|
23256
|
+
// retained as a legacy fallback for existing content.
|
|
23257
|
+
variant: {
|
|
23258
|
+
$bind: { from: "content.variant" }
|
|
23259
|
+
},
|
|
23260
|
+
displayMode: {
|
|
23261
|
+
$bind: { from: "content.displayMode" }
|
|
23262
|
+
},
|
|
23263
|
+
// List options
|
|
23264
|
+
listLayout: { $bind: { from: "content.listLayout" } },
|
|
23265
|
+
listColumns: { $bind: { from: "content.listColumns" } },
|
|
23266
|
+
// Legacy compatibility: older event-calendar content used layout/columns
|
|
23267
|
+
layout: { $bind: { from: "content.layout" } },
|
|
23268
|
+
columns: { $bind: { from: "content.columns" } },
|
|
23269
|
+
eventsPerPage: {
|
|
23270
|
+
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
23271
|
+
},
|
|
23272
|
+
compactEventsPerPage: {
|
|
23273
|
+
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
23274
|
+
},
|
|
23275
|
+
loadMoreText: {
|
|
23276
|
+
$bind: {
|
|
23277
|
+
from: "content.loadMoreText",
|
|
23278
|
+
fallback: "Load more events"
|
|
23279
|
+
}
|
|
23280
|
+
},
|
|
23281
|
+
// Calendar options
|
|
23282
|
+
startOfWeek: {
|
|
23283
|
+
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
23284
|
+
},
|
|
23285
|
+
calendarTabViews: {
|
|
23286
|
+
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
23287
|
+
},
|
|
23288
|
+
// Filtering options
|
|
23289
|
+
showFilters: {
|
|
23290
|
+
$bind: { from: "content.showFilters", fallback: true }
|
|
23291
|
+
},
|
|
23292
|
+
showCategoryFilter: {
|
|
23293
|
+
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
23294
|
+
},
|
|
23295
|
+
showVenueFilter: {
|
|
23296
|
+
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
23297
|
+
},
|
|
23298
|
+
showStaffFilter: {
|
|
23299
|
+
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
23300
|
+
},
|
|
23301
|
+
showCapacity: {
|
|
23302
|
+
$bind: { from: "content.showCapacity", fallback: true }
|
|
23303
|
+
},
|
|
23304
|
+
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
23305
|
+
eventSurface: {
|
|
23306
|
+
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
23307
|
+
},
|
|
23308
|
+
filterEventPresets: {
|
|
23309
|
+
$bind: { from: "content.filterEventPresets" }
|
|
23310
|
+
},
|
|
23311
|
+
scheduleScope: {
|
|
23312
|
+
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
23313
|
+
},
|
|
23314
|
+
filterCategoryIds: {
|
|
23315
|
+
$bind: { from: "content.filterCategoryIds" }
|
|
23316
|
+
},
|
|
23317
|
+
filterStaffMemberId: {
|
|
23318
|
+
$bind: { from: "content.filterStaffMemberId" }
|
|
23319
|
+
},
|
|
23320
|
+
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
23321
|
+
// Styling
|
|
23322
|
+
buttonVariant: {
|
|
23323
|
+
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
23324
|
+
},
|
|
23325
|
+
buttonText: {
|
|
23326
|
+
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
23327
|
+
},
|
|
23328
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
23329
|
+
})
|
|
23330
|
+
)
|
|
22993
23331
|
],
|
|
22994
|
-
|
|
22995
|
-
|
|
22996
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
22997
|
-
}
|
|
22998
|
-
},
|
|
22999
|
-
{
|
|
23000
|
-
id: "showVenueFilter",
|
|
23001
|
-
type: "boolean",
|
|
23002
|
-
label: "Show venue filter",
|
|
23003
|
-
description: "Show venue filter dropdown",
|
|
23004
|
-
required: false,
|
|
23005
|
-
defaultValue: false,
|
|
23006
|
-
ui: {
|
|
23007
|
-
intent: "display",
|
|
23008
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
23009
|
-
}
|
|
23010
|
-
},
|
|
23011
|
-
{
|
|
23012
|
-
id: "showStaffFilter",
|
|
23013
|
-
type: "boolean",
|
|
23014
|
-
label: "Show staff filter",
|
|
23015
|
-
description: "Show staff filter dropdown",
|
|
23016
|
-
required: false,
|
|
23017
|
-
defaultValue: true,
|
|
23018
|
-
ui: {
|
|
23019
|
-
intent: "display",
|
|
23020
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
23021
|
-
}
|
|
23022
|
-
},
|
|
23023
|
-
{
|
|
23024
|
-
id: "showCapacity",
|
|
23025
|
-
type: "boolean",
|
|
23026
|
-
label: "Show available spots",
|
|
23027
|
-
description: "Display remaining capacity on event cards and timetable cells",
|
|
23028
|
-
required: false,
|
|
23029
|
-
defaultValue: true,
|
|
23030
|
-
ui: {
|
|
23031
|
-
intent: "display",
|
|
23032
|
-
visibleWhen: {
|
|
23033
|
-
field: "displayMode",
|
|
23034
|
-
oneOf: ["combined", "list", "week", "timetable"]
|
|
23035
|
-
}
|
|
23332
|
+
{
|
|
23333
|
+
gap: "lg"
|
|
23036
23334
|
}
|
|
23037
|
-
|
|
23038
|
-
//
|
|
23039
|
-
|
|
23040
|
-
|
|
23041
|
-
|
|
23042
|
-
|
|
23043
|
-
|
|
23044
|
-
|
|
23045
|
-
|
|
23046
|
-
|
|
23047
|
-
|
|
23048
|
-
|
|
23049
|
-
|
|
23050
|
-
|
|
23051
|
-
|
|
23052
|
-
|
|
23053
|
-
|
|
23054
|
-
|
|
23055
|
-
|
|
23056
|
-
|
|
23057
|
-
|
|
23058
|
-
|
|
23059
|
-
|
|
23060
|
-
|
|
23061
|
-
|
|
23062
|
-
|
|
23063
|
-
|
|
23064
|
-
|
|
23065
|
-
|
|
23066
|
-
|
|
23067
|
-
|
|
23068
|
-
|
|
23069
|
-
|
|
23070
|
-
|
|
23071
|
-
|
|
23335
|
+
),
|
|
23336
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
23337
|
+
baseClass: "",
|
|
23338
|
+
spacing: "comfortable"
|
|
23339
|
+
})
|
|
23340
|
+
];
|
|
23341
|
+
var eventCalendarAdditionalFields = [
|
|
23342
|
+
...sectionHeaderFields("Event Calendar"),
|
|
23343
|
+
// Display Mode (replaces calendarView)
|
|
23344
|
+
{
|
|
23345
|
+
id: "displayMode",
|
|
23346
|
+
type: "select",
|
|
23347
|
+
label: "Display mode",
|
|
23348
|
+
description: "How events are displayed",
|
|
23349
|
+
required: false,
|
|
23350
|
+
multiple: false,
|
|
23351
|
+
defaultValue: "combined",
|
|
23352
|
+
options: [
|
|
23353
|
+
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
23354
|
+
{ value: "month", label: "Month calendar" },
|
|
23355
|
+
{ value: "week", label: "Week agenda" },
|
|
23356
|
+
{ value: "timetable", label: "Timetable" },
|
|
23357
|
+
{ value: "list", label: "List" }
|
|
23358
|
+
],
|
|
23359
|
+
ui: { intent: "display", hidden: true }
|
|
23360
|
+
},
|
|
23361
|
+
// List options (visible when displayMode is list or combined)
|
|
23362
|
+
{
|
|
23363
|
+
id: "listLayout",
|
|
23364
|
+
type: "select",
|
|
23365
|
+
label: "List layout",
|
|
23366
|
+
description: "Layout style for list view",
|
|
23367
|
+
required: false,
|
|
23368
|
+
multiple: false,
|
|
23369
|
+
defaultValue: "stack",
|
|
23370
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
23371
|
+
value: option.id,
|
|
23372
|
+
label: option.label
|
|
23373
|
+
})),
|
|
23374
|
+
ui: {
|
|
23375
|
+
intent: "display",
|
|
23376
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
23377
|
+
}
|
|
23378
|
+
},
|
|
23379
|
+
{
|
|
23380
|
+
id: "listColumns",
|
|
23381
|
+
type: "select",
|
|
23382
|
+
label: "Grid columns",
|
|
23383
|
+
description: "Number of columns in grid layout",
|
|
23384
|
+
required: false,
|
|
23385
|
+
multiple: false,
|
|
23386
|
+
defaultValue: "3",
|
|
23387
|
+
options: [
|
|
23388
|
+
{ value: "2", label: "2 columns" },
|
|
23389
|
+
{ value: "3", label: "3 columns" },
|
|
23390
|
+
{ value: "4", label: "4 columns" }
|
|
23391
|
+
],
|
|
23392
|
+
ui: {
|
|
23393
|
+
intent: "display",
|
|
23394
|
+
visibleWhen: { field: "listLayout", equals: "grid" }
|
|
23395
|
+
}
|
|
23396
|
+
},
|
|
23397
|
+
{
|
|
23398
|
+
id: "eventsPerPage",
|
|
23399
|
+
type: "select",
|
|
23400
|
+
label: "Events per page (cards)",
|
|
23401
|
+
description: "Number of events to load initially in card layouts",
|
|
23402
|
+
required: false,
|
|
23403
|
+
multiple: false,
|
|
23404
|
+
defaultValue: "12",
|
|
23405
|
+
options: [
|
|
23406
|
+
{ value: "6", label: "6" },
|
|
23407
|
+
{ value: "12", label: "12" },
|
|
23408
|
+
{ value: "24", label: "24" }
|
|
23409
|
+
],
|
|
23410
|
+
ui: {
|
|
23411
|
+
intent: "display",
|
|
23412
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
23413
|
+
}
|
|
23414
|
+
},
|
|
23415
|
+
{
|
|
23416
|
+
id: "compactEventsPerPage",
|
|
23417
|
+
type: "select",
|
|
23418
|
+
label: "Events per page (compact)",
|
|
23419
|
+
description: "Number of events to show per page in compact layout",
|
|
23420
|
+
required: false,
|
|
23421
|
+
multiple: false,
|
|
23422
|
+
defaultValue: "10",
|
|
23423
|
+
options: [
|
|
23424
|
+
{ value: "10", label: "10" },
|
|
23425
|
+
{ value: "20", label: "20" },
|
|
23426
|
+
{ value: "30", label: "30" }
|
|
23427
|
+
],
|
|
23428
|
+
ui: {
|
|
23429
|
+
intent: "display",
|
|
23430
|
+
visibleWhen: { field: "listLayout", equals: "compact" }
|
|
23431
|
+
}
|
|
23432
|
+
},
|
|
23433
|
+
{
|
|
23434
|
+
id: "loadMoreText",
|
|
23435
|
+
type: "text",
|
|
23436
|
+
label: "Load more button text",
|
|
23437
|
+
description: "Text for the load more button",
|
|
23438
|
+
required: false,
|
|
23439
|
+
multiline: false,
|
|
23440
|
+
defaultValue: "Load more events",
|
|
23441
|
+
ui: {
|
|
23442
|
+
intent: "content",
|
|
23443
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
23444
|
+
}
|
|
23445
|
+
},
|
|
23446
|
+
// Calendar options
|
|
23447
|
+
{
|
|
23448
|
+
id: "startOfWeek",
|
|
23449
|
+
type: "select",
|
|
23450
|
+
label: "Week starts on",
|
|
23451
|
+
description: "First day of the week",
|
|
23452
|
+
required: false,
|
|
23453
|
+
multiple: false,
|
|
23454
|
+
defaultValue: "monday",
|
|
23455
|
+
options: [
|
|
23456
|
+
{ value: "sunday", label: "Sunday" },
|
|
23457
|
+
{ value: "monday", label: "Monday" }
|
|
23458
|
+
],
|
|
23459
|
+
ui: {
|
|
23460
|
+
intent: "display",
|
|
23461
|
+
visibleWhen: {
|
|
23462
|
+
field: "variant",
|
|
23463
|
+
oneOf: ["combined", "month", "week"]
|
|
23072
23464
|
}
|
|
23073
|
-
}
|
|
23074
|
-
|
|
23075
|
-
|
|
23076
|
-
|
|
23077
|
-
|
|
23078
|
-
|
|
23079
|
-
|
|
23080
|
-
|
|
23081
|
-
|
|
23082
|
-
|
|
23083
|
-
|
|
23084
|
-
|
|
23085
|
-
|
|
23086
|
-
|
|
23087
|
-
|
|
23088
|
-
|
|
23089
|
-
|
|
23465
|
+
}
|
|
23466
|
+
},
|
|
23467
|
+
// Combined mode options
|
|
23468
|
+
{
|
|
23469
|
+
id: "calendarTabViews",
|
|
23470
|
+
type: "select",
|
|
23471
|
+
label: "Calendar tab views",
|
|
23472
|
+
description: "Which calendar views to show in the Calendar tab",
|
|
23473
|
+
required: false,
|
|
23474
|
+
multiple: false,
|
|
23475
|
+
defaultValue: "both",
|
|
23476
|
+
options: [
|
|
23477
|
+
{ value: "both", label: "Month + Week toggle" },
|
|
23478
|
+
{ value: "month", label: "Month only" },
|
|
23479
|
+
{ value: "week", label: "Week only" }
|
|
23480
|
+
],
|
|
23481
|
+
ui: {
|
|
23482
|
+
intent: "display",
|
|
23483
|
+
visibleWhen: { field: "variant", equals: "combined" }
|
|
23484
|
+
}
|
|
23485
|
+
},
|
|
23486
|
+
// Filtering options
|
|
23487
|
+
{
|
|
23488
|
+
id: "kind",
|
|
23489
|
+
type: "select",
|
|
23490
|
+
label: "Show",
|
|
23491
|
+
description: "Restrict this block to all offerings, courses, or events",
|
|
23492
|
+
required: false,
|
|
23493
|
+
multiple: false,
|
|
23494
|
+
defaultValue: "all",
|
|
23495
|
+
options: [
|
|
23496
|
+
{ value: "all", label: "All offerings" },
|
|
23497
|
+
{ value: "courses", label: "Courses only" },
|
|
23498
|
+
{ value: "events", label: "Events only" }
|
|
23499
|
+
],
|
|
23500
|
+
ui: { intent: "behavior" }
|
|
23501
|
+
},
|
|
23502
|
+
{
|
|
23503
|
+
id: "showFilters",
|
|
23504
|
+
type: "boolean",
|
|
23505
|
+
label: "Show filters",
|
|
23506
|
+
description: "Show category, staff, and venue filters",
|
|
23507
|
+
required: false,
|
|
23508
|
+
defaultValue: true,
|
|
23509
|
+
ui: {
|
|
23510
|
+
intent: "display",
|
|
23511
|
+
visibleWhen: {
|
|
23512
|
+
field: "variant",
|
|
23513
|
+
oneOf: ["combined", "list", "timetable"]
|
|
23090
23514
|
}
|
|
23091
|
-
}
|
|
23092
|
-
|
|
23093
|
-
|
|
23094
|
-
|
|
23095
|
-
|
|
23096
|
-
|
|
23097
|
-
|
|
23098
|
-
|
|
23099
|
-
|
|
23100
|
-
|
|
23101
|
-
|
|
23102
|
-
|
|
23103
|
-
|
|
23515
|
+
}
|
|
23516
|
+
},
|
|
23517
|
+
{
|
|
23518
|
+
id: "showCategoryFilter",
|
|
23519
|
+
type: "select",
|
|
23520
|
+
label: "Show category filter",
|
|
23521
|
+
description: "When to show the category filter dropdown",
|
|
23522
|
+
required: false,
|
|
23523
|
+
multiple: false,
|
|
23524
|
+
defaultValue: "auto",
|
|
23525
|
+
options: [
|
|
23526
|
+
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
23527
|
+
{ value: "always", label: "Always" },
|
|
23528
|
+
{ value: "never", label: "Never" }
|
|
23529
|
+
],
|
|
23530
|
+
ui: {
|
|
23531
|
+
intent: "display",
|
|
23532
|
+
visibleWhen: {
|
|
23533
|
+
field: "variant",
|
|
23534
|
+
oneOf: ["combined", "list", "timetable"]
|
|
23104
23535
|
}
|
|
23105
|
-
}
|
|
23106
|
-
|
|
23107
|
-
|
|
23108
|
-
|
|
23109
|
-
|
|
23110
|
-
|
|
23111
|
-
|
|
23112
|
-
|
|
23113
|
-
|
|
23114
|
-
|
|
23115
|
-
|
|
23536
|
+
}
|
|
23537
|
+
},
|
|
23538
|
+
{
|
|
23539
|
+
id: "showVenueFilter",
|
|
23540
|
+
type: "boolean",
|
|
23541
|
+
label: "Show venue filter",
|
|
23542
|
+
description: "Show venue filter dropdown",
|
|
23543
|
+
required: false,
|
|
23544
|
+
defaultValue: false,
|
|
23545
|
+
ui: {
|
|
23546
|
+
intent: "display",
|
|
23547
|
+
visibleWhen: {
|
|
23548
|
+
field: "variant",
|
|
23549
|
+
oneOf: ["combined", "list", "timetable"]
|
|
23116
23550
|
}
|
|
23117
|
-
}
|
|
23118
|
-
|
|
23119
|
-
|
|
23120
|
-
|
|
23121
|
-
|
|
23122
|
-
|
|
23123
|
-
|
|
23124
|
-
|
|
23125
|
-
|
|
23126
|
-
|
|
23127
|
-
|
|
23551
|
+
}
|
|
23552
|
+
},
|
|
23553
|
+
{
|
|
23554
|
+
id: "showStaffFilter",
|
|
23555
|
+
type: "boolean",
|
|
23556
|
+
label: "Show staff filter",
|
|
23557
|
+
description: "Show staff filter dropdown",
|
|
23558
|
+
required: false,
|
|
23559
|
+
defaultValue: true,
|
|
23560
|
+
ui: {
|
|
23561
|
+
intent: "display",
|
|
23562
|
+
visibleWhen: {
|
|
23563
|
+
field: "variant",
|
|
23564
|
+
oneOf: ["combined", "list", "timetable"]
|
|
23128
23565
|
}
|
|
23129
|
-
}
|
|
23130
|
-
|
|
23131
|
-
|
|
23132
|
-
|
|
23133
|
-
|
|
23134
|
-
|
|
23135
|
-
|
|
23566
|
+
}
|
|
23567
|
+
},
|
|
23568
|
+
{
|
|
23569
|
+
id: "showCapacity",
|
|
23570
|
+
type: "boolean",
|
|
23571
|
+
label: "Show available spots",
|
|
23572
|
+
description: "Display remaining capacity on event cards and timetable cells",
|
|
23573
|
+
required: false,
|
|
23574
|
+
defaultValue: true,
|
|
23575
|
+
ui: {
|
|
23576
|
+
intent: "display",
|
|
23577
|
+
visibleWhen: {
|
|
23578
|
+
field: "variant",
|
|
23579
|
+
oneOf: ["combined", "list", "week", "timetable"]
|
|
23136
23580
|
}
|
|
23137
|
-
}
|
|
23138
|
-
|
|
23139
|
-
|
|
23140
|
-
|
|
23141
|
-
|
|
23142
|
-
|
|
23143
|
-
|
|
23144
|
-
|
|
23145
|
-
|
|
23146
|
-
|
|
23147
|
-
|
|
23581
|
+
}
|
|
23582
|
+
},
|
|
23583
|
+
// Block-level pre-filtering
|
|
23584
|
+
{
|
|
23585
|
+
id: "eventSurface",
|
|
23586
|
+
type: "select",
|
|
23587
|
+
label: "Event surface",
|
|
23588
|
+
description: "Choose a semantic event scope",
|
|
23589
|
+
required: false,
|
|
23590
|
+
multiple: false,
|
|
23591
|
+
defaultValue: "all",
|
|
23592
|
+
options: [
|
|
23593
|
+
{ value: "all", label: "All events" },
|
|
23594
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
23595
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
23596
|
+
{ value: "custom", label: "Custom" }
|
|
23597
|
+
],
|
|
23598
|
+
ui: { intent: "behavior" }
|
|
23599
|
+
},
|
|
23600
|
+
{
|
|
23601
|
+
id: "filterEventPresets",
|
|
23602
|
+
type: "select",
|
|
23603
|
+
label: "Pre-filter by event type",
|
|
23604
|
+
description: "Restrict this block to specific event types",
|
|
23605
|
+
required: false,
|
|
23606
|
+
multiple: true,
|
|
23607
|
+
defaultValue: [],
|
|
23608
|
+
options: [
|
|
23609
|
+
{ value: "class", label: "Classes" },
|
|
23610
|
+
{ value: "workshop", label: "Workshops" },
|
|
23611
|
+
{ value: "retreat", label: "Retreats" },
|
|
23612
|
+
{ value: "performance", label: "Performances" }
|
|
23613
|
+
],
|
|
23614
|
+
ui: {
|
|
23615
|
+
intent: "behavior",
|
|
23616
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
23617
|
+
}
|
|
23618
|
+
},
|
|
23619
|
+
{
|
|
23620
|
+
id: "scheduleScope",
|
|
23621
|
+
type: "select",
|
|
23622
|
+
label: "Schedule cadence",
|
|
23623
|
+
description: "Restrict this block by recurrence",
|
|
23624
|
+
required: false,
|
|
23625
|
+
multiple: false,
|
|
23626
|
+
defaultValue: "any",
|
|
23627
|
+
options: [
|
|
23628
|
+
{ value: "any", label: "Any cadence" },
|
|
23629
|
+
{ value: "recurring", label: "Recurring only" },
|
|
23630
|
+
{ value: "oneOff", label: "One-off only" }
|
|
23631
|
+
],
|
|
23632
|
+
ui: {
|
|
23633
|
+
intent: "behavior",
|
|
23634
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
23635
|
+
}
|
|
23636
|
+
},
|
|
23637
|
+
createSiteOptionSelectField({
|
|
23638
|
+
id: "filterCategoryIds",
|
|
23639
|
+
label: "Pre-filter by categories",
|
|
23640
|
+
description: "Restrict this block to specific event categories",
|
|
23641
|
+
required: false,
|
|
23642
|
+
multiple: true,
|
|
23643
|
+
defaultValue: [],
|
|
23644
|
+
optionSource: "eventCategories",
|
|
23645
|
+
ui: {
|
|
23646
|
+
intent: "behavior",
|
|
23647
|
+
searchThreshold: 8,
|
|
23648
|
+
visibleWhen: { field: "kind", notEquals: "courses" }
|
|
23649
|
+
}
|
|
23650
|
+
}),
|
|
23651
|
+
createSiteOptionSelectField({
|
|
23652
|
+
id: "filterStaffMemberId",
|
|
23653
|
+
label: "Pre-filter by staff member",
|
|
23654
|
+
description: "Restrict this block to a single staff member",
|
|
23655
|
+
required: false,
|
|
23656
|
+
multiple: false,
|
|
23657
|
+
optionSource: "staffMembers",
|
|
23658
|
+
ui: {
|
|
23659
|
+
intent: "behavior",
|
|
23660
|
+
searchThreshold: 8
|
|
23661
|
+
}
|
|
23662
|
+
}),
|
|
23663
|
+
createSiteOptionSelectField({
|
|
23664
|
+
id: "filterVenueId",
|
|
23665
|
+
label: "Pre-filter by venue",
|
|
23666
|
+
description: "Restrict this block to a single venue",
|
|
23667
|
+
required: false,
|
|
23668
|
+
multiple: false,
|
|
23669
|
+
optionSource: "venues",
|
|
23670
|
+
ui: {
|
|
23671
|
+
intent: "behavior",
|
|
23672
|
+
searchThreshold: 8
|
|
23673
|
+
}
|
|
23674
|
+
}),
|
|
23675
|
+
// Card styling
|
|
23676
|
+
...cardStylingFields.filter((f) => f.id === "buttonVariant" || f.id === "buttonText").map((field) => ({
|
|
23677
|
+
...field,
|
|
23678
|
+
ui: {
|
|
23679
|
+
...field.ui ?? {},
|
|
23680
|
+
intent: field.id === "buttonVariant" ? "style" : "content"
|
|
23681
|
+
}
|
|
23682
|
+
})),
|
|
23683
|
+
{
|
|
23684
|
+
...emptyStateField,
|
|
23685
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
23686
|
+
},
|
|
23687
|
+
sectionStylesField({
|
|
23688
|
+
id: "_sectionStyles",
|
|
23689
|
+
label: "Section styles",
|
|
23690
|
+
renderInHeader: false
|
|
23691
|
+
})
|
|
23692
|
+
];
|
|
23693
|
+
var eventCalendarVariants = {
|
|
23694
|
+
combined: eventCalendarLayout[0],
|
|
23695
|
+
month: eventCalendarLayout[0],
|
|
23696
|
+
week: eventCalendarLayout[0],
|
|
23697
|
+
timetable: eventCalendarLayout[0],
|
|
23698
|
+
list: eventCalendarLayout[0]
|
|
23699
|
+
};
|
|
23700
|
+
var eventCalendarDerivedFields = [
|
|
23701
|
+
{
|
|
23702
|
+
id: "displayMode",
|
|
23703
|
+
type: "select",
|
|
23704
|
+
required: false,
|
|
23705
|
+
multiple: false,
|
|
23706
|
+
options: [
|
|
23707
|
+
{ value: "combined" },
|
|
23708
|
+
{ value: "month" },
|
|
23709
|
+
{ value: "week" },
|
|
23710
|
+
{ value: "timetable" },
|
|
23711
|
+
{ value: "list" }
|
|
23712
|
+
]
|
|
23713
|
+
},
|
|
23714
|
+
{
|
|
23715
|
+
id: "listLayout",
|
|
23716
|
+
type: "select",
|
|
23717
|
+
required: false,
|
|
23718
|
+
multiple: false,
|
|
23719
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
23720
|
+
value: option.id
|
|
23721
|
+
}))
|
|
23722
|
+
}
|
|
23723
|
+
];
|
|
23724
|
+
var eventCalendarContentShape = {
|
|
23725
|
+
additionalFields: eventCalendarDerivedFields,
|
|
23726
|
+
variants: eventCalendarVariants,
|
|
23727
|
+
skipSectionStyles: true
|
|
23728
|
+
};
|
|
23729
|
+
var eventCalendarConfig = {
|
|
23730
|
+
id: "block.event-calendar",
|
|
23731
|
+
version: "3.6.0",
|
|
23732
|
+
title: "Event Calendar",
|
|
23733
|
+
titleSource: "heading",
|
|
23734
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
23735
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
23736
|
+
skipSectionStyles: true,
|
|
23737
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
23148
23738
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
23149
23739
|
behaviours: {
|
|
23150
23740
|
supportsThemeSwitching: true,
|
|
@@ -23164,109 +23754,21 @@ var eventCalendarManifest = createBlockManifest({
|
|
|
23164
23754
|
"filter"
|
|
23165
23755
|
],
|
|
23166
23756
|
icon: "CalendarDays",
|
|
23167
|
-
layout:
|
|
23168
|
-
|
|
23169
|
-
|
|
23170
|
-
|
|
23171
|
-
|
|
23172
|
-
|
|
23173
|
-
|
|
23174
|
-
|
|
23175
|
-
|
|
23176
|
-
|
|
23177
|
-
|
|
23178
|
-
|
|
23179
|
-
|
|
23180
|
-
|
|
23181
|
-
|
|
23182
|
-
withApiBindings({
|
|
23183
|
-
events: { $bind: { from: "data.events" } },
|
|
23184
|
-
stage: {
|
|
23185
|
-
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
23186
|
-
},
|
|
23187
|
-
// Display mode
|
|
23188
|
-
displayMode: {
|
|
23189
|
-
$bind: { from: "content.displayMode", fallback: "combined" }
|
|
23190
|
-
},
|
|
23191
|
-
// List options
|
|
23192
|
-
listLayout: { $bind: { from: "content.listLayout" } },
|
|
23193
|
-
listColumns: { $bind: { from: "content.listColumns" } },
|
|
23194
|
-
// Legacy compatibility: older event-calendar content used layout/columns
|
|
23195
|
-
layout: { $bind: { from: "content.layout" } },
|
|
23196
|
-
columns: { $bind: { from: "content.columns" } },
|
|
23197
|
-
eventsPerPage: {
|
|
23198
|
-
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
23199
|
-
},
|
|
23200
|
-
compactEventsPerPage: {
|
|
23201
|
-
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
23202
|
-
},
|
|
23203
|
-
loadMoreText: {
|
|
23204
|
-
$bind: {
|
|
23205
|
-
from: "content.loadMoreText",
|
|
23206
|
-
fallback: "Load more events"
|
|
23207
|
-
}
|
|
23208
|
-
},
|
|
23209
|
-
// Calendar options
|
|
23210
|
-
startOfWeek: {
|
|
23211
|
-
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
23212
|
-
},
|
|
23213
|
-
calendarTabViews: {
|
|
23214
|
-
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
23215
|
-
},
|
|
23216
|
-
// Filtering options
|
|
23217
|
-
showFilters: {
|
|
23218
|
-
$bind: { from: "content.showFilters", fallback: true }
|
|
23219
|
-
},
|
|
23220
|
-
showCategoryFilter: {
|
|
23221
|
-
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
23222
|
-
},
|
|
23223
|
-
showVenueFilter: {
|
|
23224
|
-
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
23225
|
-
},
|
|
23226
|
-
showStaffFilter: {
|
|
23227
|
-
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
23228
|
-
},
|
|
23229
|
-
showCapacity: {
|
|
23230
|
-
$bind: { from: "content.showCapacity", fallback: true }
|
|
23231
|
-
},
|
|
23232
|
-
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
23233
|
-
eventSurface: {
|
|
23234
|
-
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
23235
|
-
},
|
|
23236
|
-
filterEventPresets: {
|
|
23237
|
-
$bind: { from: "content.filterEventPresets" }
|
|
23238
|
-
},
|
|
23239
|
-
scheduleScope: {
|
|
23240
|
-
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
23241
|
-
},
|
|
23242
|
-
filterCategoryIds: {
|
|
23243
|
-
$bind: { from: "content.filterCategoryIds" }
|
|
23244
|
-
},
|
|
23245
|
-
filterStaffMemberId: {
|
|
23246
|
-
$bind: { from: "content.filterStaffMemberId" }
|
|
23247
|
-
},
|
|
23248
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
23249
|
-
// Styling
|
|
23250
|
-
buttonVariant: {
|
|
23251
|
-
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
23252
|
-
},
|
|
23253
|
-
buttonText: {
|
|
23254
|
-
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
23255
|
-
},
|
|
23256
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
23257
|
-
})
|
|
23258
|
-
)
|
|
23259
|
-
],
|
|
23260
|
-
{
|
|
23261
|
-
gap: "lg"
|
|
23262
|
-
}
|
|
23263
|
-
),
|
|
23264
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
23265
|
-
baseClass: "",
|
|
23266
|
-
spacing: "comfortable"
|
|
23267
|
-
})
|
|
23268
|
-
]
|
|
23269
|
-
});
|
|
23757
|
+
layout: eventCalendarLayout,
|
|
23758
|
+
variants: eventCalendarVariants,
|
|
23759
|
+
defaultVariant: "combined",
|
|
23760
|
+
variantOptions: {
|
|
23761
|
+
combined: { label: "Combined" },
|
|
23762
|
+
month: { label: "Month" },
|
|
23763
|
+
week: { label: "Week" },
|
|
23764
|
+
timetable: { label: "Timetable" },
|
|
23765
|
+
list: { label: "List" }
|
|
23766
|
+
}
|
|
23767
|
+
};
|
|
23768
|
+
var eventCalendarManifest = createBlockManifestWithContentShape(
|
|
23769
|
+
eventCalendarConfig,
|
|
23770
|
+
eventCalendarContentShape
|
|
23771
|
+
);
|
|
23270
23772
|
var eventCalendarBlockDefinition = {
|
|
23271
23773
|
manifest: eventCalendarManifest,
|
|
23272
23774
|
normalizeContent: normalizeEventCalendarContent,
|
|
@@ -27319,14 +27821,29 @@ function mediaPanelCapable() {
|
|
|
27319
27821
|
var allSectionSurfaces = [
|
|
27320
27822
|
"base",
|
|
27321
27823
|
"muted-band",
|
|
27322
|
-
"accent-band"
|
|
27824
|
+
"accent-band",
|
|
27825
|
+
"brand-depth-band"
|
|
27323
27826
|
];
|
|
27324
27827
|
var heroSectionSurfaces = [
|
|
27325
27828
|
"base",
|
|
27326
27829
|
"muted-band",
|
|
27327
27830
|
"accent-band",
|
|
27831
|
+
"brand-depth-band",
|
|
27328
27832
|
"hero-image"
|
|
27329
27833
|
];
|
|
27834
|
+
var scheduleTileTreatments = [
|
|
27835
|
+
"default",
|
|
27836
|
+
"quiet",
|
|
27837
|
+
"brand-depth"
|
|
27838
|
+
];
|
|
27839
|
+
function scheduleDetailsCapable() {
|
|
27840
|
+
return declareBlockDesignCapability({
|
|
27841
|
+
sectionSurfaces: "supported",
|
|
27842
|
+
contentFrames: ["plain"],
|
|
27843
|
+
itemSurfaces: "unsupported",
|
|
27844
|
+
tileTreatments: scheduleTileTreatments
|
|
27845
|
+
});
|
|
27846
|
+
}
|
|
27330
27847
|
function defaultBoundaryBias(visualWeight) {
|
|
27331
27848
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
27332
27849
|
}
|
|
@@ -27564,7 +28081,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
27564
28081
|
flow: conversionFlow,
|
|
27565
28082
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
27566
28083
|
})),
|
|
27567
|
-
withDesignCapability("block.event-details", eventDetailsBlockDefinition,
|
|
28084
|
+
withDesignCapability("block.event-details", eventDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
27568
28085
|
flow: offeringsFlow,
|
|
27569
28086
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
27570
28087
|
})),
|
|
@@ -27572,7 +28089,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
27572
28089
|
flow: conversionFlow,
|
|
27573
28090
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
27574
28091
|
})),
|
|
27575
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition,
|
|
28092
|
+
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
27576
28093
|
flow: offeringsFlow,
|
|
27577
28094
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
27578
28095
|
})),
|
|
@@ -27587,7 +28104,13 @@ var systemBlockDefinitionsRaw = [
|
|
|
27587
28104
|
})),
|
|
27588
28105
|
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
27589
28106
|
flow: offeringsFlow,
|
|
27590
|
-
layoutProfiles: [
|
|
28107
|
+
layoutProfiles: [
|
|
28108
|
+
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
28109
|
+
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
28110
|
+
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
28111
|
+
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
28112
|
+
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
28113
|
+
]
|
|
27591
28114
|
})),
|
|
27592
28115
|
// Friendly wrapper blocks
|
|
27593
28116
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|