@riverbankcms/sdk 0.60.16 → 0.62.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +41 -1
- package/dist/_dts/api/src/bookingRecords.d.ts +100 -3
- package/dist/_dts/api/src/bookings.d.ts +2 -1
- package/dist/_dts/api/src/endpoints.d.ts +96 -0
- package/dist/_dts/api/src/index.d.ts +5 -1
- package/dist/_dts/api/src/participantMessaging.d.ts +113 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +51 -47
- package/dist/_dts/api/src/types.d.ts +1 -0
- package/dist/_dts/blocks/src/index.d.ts +66 -62
- package/dist/_dts/blocks/src/lib/media.d.ts +60 -0
- package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/audio-player.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +0 -21
- package/dist/_dts/blocks/src/system/blocks/body-text.d.ts +2 -6
- package/dist/_dts/blocks/src/system/blocks/cart.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/collection.d.ts +0 -10
- package/dist/_dts/blocks/src/system/blocks/columns.d.ts +0 -10
- package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +15 -15
- package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +5 -10
- package/dist/_dts/blocks/src/system/blocks/embed.d.ts +0 -11
- package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +0 -20
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +43 -27
- package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +24 -15
- package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +132 -12
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -2
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +2 -10
- package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/form.d.ts +2 -24
- package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -3
- package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +0 -13
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +17 -17
- package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +2 -10
- package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +9 -9
- package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/single-button.d.ts +16 -15
- package/dist/_dts/blocks/src/system/blocks/site-footer.d.ts +2 -6
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -11
- package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +3 -3
- package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +2 -2
- package/dist/_dts/blocks/src/system/constants/events.d.ts +18 -0
- package/dist/_dts/blocks/src/system/customize/facets.d.ts +105 -0
- package/dist/_dts/blocks/src/system/defineBlock.d.ts +29 -5
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +2 -1
- package/dist/_dts/blocks/src/system/fragments/library/blogFeaturedPost.d.ts +0 -24
- package/dist/_dts/blocks/src/system/fragments/library/bodyCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/bookingForm.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/columnContent.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/ctaCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/faqAccordion.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/footerBottomText.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/formCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/formEmbed.d.ts +0 -18
- package/dist/_dts/blocks/src/system/fragments/library/headerCta.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/heading.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/heroCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/heroLayoutControls.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/image.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/newsletterCopy.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/newsletterForm.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/quote.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/richText.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/singleButton.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/spinner.d.ts +0 -5
- package/dist/_dts/blocks/src/system/fragments/library/teamMember.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +0 -31
- package/dist/_dts/blocks/src/system/fragments/library/testimonialsHeading.d.ts +0 -4
- package/dist/_dts/blocks/src/system/fragments/library/videoEmbed.d.ts +0 -6
- package/dist/_dts/blocks/src/system/fragments/types.d.ts +11 -3
- package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +4 -0
- package/dist/_dts/blocks/src/system/index.d.ts +1 -0
- package/dist/_dts/blocks/src/system/manifest/derivedContent.d.ts +3 -3
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +10 -10
- package/dist/_dts/blocks/src/system/media/constrainedVideoMedia.d.ts +13 -0
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -0
- package/dist/_dts/content-model/src/contentManifest.d.ts +2 -2
- package/dist/_dts/content-model/src/referenceFields.d.ts +7 -1
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +34 -6
- package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerWidgetProvider.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/loaders.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/entry-picker/types.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/loaders.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +3 -2
- package/dist/_dts/editor-blocks/src/widgets/reference/dynamicAdapters.d.ts +9 -0
- package/dist/_dts/editor-blocks/src/widgets/reference/loaders.d.ts +5 -1
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/videoSlotPolicy.d.ts +38 -0
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +3 -1
- package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +7 -0
- package/dist/_dts/preview-next/src/client/blocks/customizeFacetControls.d.ts +9 -0
- package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +14 -0
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +9 -7
- package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +6 -3
- package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/content.d.ts +10 -0
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/prompt/examples/features-grid.d.ts +1 -1
- package/dist/_dts/sdk/src/manifest/prompt/examples/pricing.d.ts +5 -5
- package/dist/_dts/sdk/src/rendering/helpers/bindings.d.ts +1 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/index.d.ts +1 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +3 -0
- package/dist/_dts/theme-core/src/schema.d.ts +25 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +515 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +119 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +5 -563
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +448 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +12 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +8 -0
- package/dist/_dts/theme-core/src/site-styles/siteChromeAppearancePresets.d.ts +67 -0
- package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +6 -6
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +22 -3
- package/dist/_dts/theme-core/src/siteChrome.d.ts +11 -0
- package/dist/cli/index.mjs +4310 -3464
- package/dist/client/bookings.mjs +310 -310
- package/dist/client/client.mjs +61329 -60359
- package/dist/client/hooks.mjs +1254 -731
- package/dist/client/rendering/client.mjs +5959 -5226
- package/dist/client/rendering/islands.mjs +3842 -3275
- package/dist/client/rendering.mjs +7495 -6519
- package/dist/preview-next/before-render.mjs +118 -0
- package/dist/preview-next/client/runtime.mjs +4489 -2773
- package/dist/preview-next/middleware.mjs +136 -0
- package/dist/server/components.mjs +1342 -765
- package/dist/server/config-validation.mjs +1256 -733
- package/dist/server/config.mjs +1256 -733
- package/dist/server/data.mjs +1254 -731
- package/dist/server/index.mjs +191 -18
- package/dist/server/next.mjs +1339 -760
- package/dist/server/page-converter.mjs +1088 -734
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1338 -762
- package/dist/server/rendering.mjs +1351 -770
- package/dist/server/routing.mjs +1340 -754
- package/dist/server/server.mjs +1260 -734
- package/dist/server/theme-bridge.mjs +198 -34
- package/dist/server/theme.mjs +6 -0
- package/dist/styles/index.css +28 -9
- package/package.json +1 -1
package/dist/server/routing.mjs
CHANGED
|
@@ -1016,6 +1016,14 @@ var init_endpoints = __esm({
|
|
|
1016
1016
|
auth: "user",
|
|
1017
1017
|
responseKind: "json"
|
|
1018
1018
|
},
|
|
1019
|
+
exportAppointmentServicesCsv: {
|
|
1020
|
+
path: "/sites/{siteId}/bookings/services/export.csv",
|
|
1021
|
+
method: "GET",
|
|
1022
|
+
tags: ["site-{siteId}", "bookings", "appointment-services-{siteId}"],
|
|
1023
|
+
errors: [],
|
|
1024
|
+
auth: "user",
|
|
1025
|
+
responseKind: "blob"
|
|
1026
|
+
},
|
|
1019
1027
|
createAppointmentService: {
|
|
1020
1028
|
path: "/sites/{siteId}/bookings/services",
|
|
1021
1029
|
method: "POST",
|
|
@@ -1284,6 +1292,14 @@ var init_endpoints = __esm({
|
|
|
1284
1292
|
auth: "user",
|
|
1285
1293
|
responseKind: "json"
|
|
1286
1294
|
},
|
|
1295
|
+
exportCoursesCsv: {
|
|
1296
|
+
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
1297
|
+
method: "GET",
|
|
1298
|
+
tags: ["site-{siteId}", "bookings", "courses-{siteId}"],
|
|
1299
|
+
errors: [],
|
|
1300
|
+
auth: "user",
|
|
1301
|
+
responseKind: "blob"
|
|
1302
|
+
},
|
|
1287
1303
|
createCourse: {
|
|
1288
1304
|
path: "/sites/{siteId}/bookings/courses",
|
|
1289
1305
|
method: "POST",
|
|
@@ -1383,6 +1399,14 @@ var init_endpoints = __esm({
|
|
|
1383
1399
|
responseKind: "json",
|
|
1384
1400
|
errors: []
|
|
1385
1401
|
},
|
|
1402
|
+
exportCourseWaitlistCsv: {
|
|
1403
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
|
|
1404
|
+
method: "GET",
|
|
1405
|
+
tags: ["site-{siteId}", "bookings", "courses-{courseId}"],
|
|
1406
|
+
auth: "user",
|
|
1407
|
+
responseKind: "blob",
|
|
1408
|
+
errors: []
|
|
1409
|
+
},
|
|
1386
1410
|
updateCourseEnrollment: {
|
|
1387
1411
|
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
1388
1412
|
method: "PATCH",
|
|
@@ -3978,6 +4002,14 @@ var init_endpoints = __esm({
|
|
|
3978
4002
|
auth: "user",
|
|
3979
4003
|
responseKind: "json"
|
|
3980
4004
|
},
|
|
4005
|
+
exportEventSeriesCsv: {
|
|
4006
|
+
path: "/sites/{siteId}/bookings/event-series/export.csv",
|
|
4007
|
+
method: "GET",
|
|
4008
|
+
tags: ["site-{siteId}", "bookings", "event-series-{siteId}"],
|
|
4009
|
+
errors: [],
|
|
4010
|
+
auth: "user",
|
|
4011
|
+
responseKind: "blob"
|
|
4012
|
+
},
|
|
3981
4013
|
createEventSeries: {
|
|
3982
4014
|
path: "/sites/{siteId}/bookings/event-series",
|
|
3983
4015
|
method: "POST",
|
|
@@ -4046,6 +4078,60 @@ var init_endpoints = __esm({
|
|
|
4046
4078
|
errors: [],
|
|
4047
4079
|
responseKind: "blob"
|
|
4048
4080
|
},
|
|
4081
|
+
getParticipantMessageRecipients: {
|
|
4082
|
+
path: "/sites/{siteId}/bookings/participant-messaging/recipients",
|
|
4083
|
+
method: "POST",
|
|
4084
|
+
tags: ["site-{siteId}"],
|
|
4085
|
+
auth: "user",
|
|
4086
|
+
errors: [
|
|
4087
|
+
"validation:invalid_input",
|
|
4088
|
+
"auth:forbidden",
|
|
4089
|
+
"resource:not_found",
|
|
4090
|
+
"server:internal_error"
|
|
4091
|
+
],
|
|
4092
|
+
responseKind: "json"
|
|
4093
|
+
},
|
|
4094
|
+
sendParticipantMessage: {
|
|
4095
|
+
path: "/sites/{siteId}/bookings/participant-messaging/send",
|
|
4096
|
+
method: "POST",
|
|
4097
|
+
tags: ["site-{siteId}"],
|
|
4098
|
+
auth: "user",
|
|
4099
|
+
errors: [
|
|
4100
|
+
"validation:invalid_input",
|
|
4101
|
+
"auth:forbidden",
|
|
4102
|
+
"resource:not_found",
|
|
4103
|
+
"resource:conflict",
|
|
4104
|
+
"server:internal_error"
|
|
4105
|
+
],
|
|
4106
|
+
responseKind: "json"
|
|
4107
|
+
},
|
|
4108
|
+
testParticipantMessage: {
|
|
4109
|
+
path: "/sites/{siteId}/bookings/participant-messaging/test",
|
|
4110
|
+
method: "POST",
|
|
4111
|
+
tags: ["site-{siteId}"],
|
|
4112
|
+
auth: "user",
|
|
4113
|
+
errors: [
|
|
4114
|
+
"validation:invalid_input",
|
|
4115
|
+
"auth:forbidden",
|
|
4116
|
+
"resource:not_found",
|
|
4117
|
+
"resource:conflict",
|
|
4118
|
+
"server:internal_error"
|
|
4119
|
+
],
|
|
4120
|
+
responseKind: "json"
|
|
4121
|
+
},
|
|
4122
|
+
listParticipantMessageHistory: {
|
|
4123
|
+
path: "/sites/{siteId}/bookings/participant-messaging/history",
|
|
4124
|
+
method: "POST",
|
|
4125
|
+
tags: ["site-{siteId}"],
|
|
4126
|
+
auth: "user",
|
|
4127
|
+
errors: [
|
|
4128
|
+
"validation:invalid_input",
|
|
4129
|
+
"auth:forbidden",
|
|
4130
|
+
"resource:not_found",
|
|
4131
|
+
"server:internal_error"
|
|
4132
|
+
],
|
|
4133
|
+
responseKind: "json"
|
|
4134
|
+
},
|
|
4049
4135
|
listEventSeriesWaitlist: {
|
|
4050
4136
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist",
|
|
4051
4137
|
method: "GET",
|
|
@@ -4054,6 +4140,14 @@ var init_endpoints = __esm({
|
|
|
4054
4140
|
responseKind: "json",
|
|
4055
4141
|
errors: []
|
|
4056
4142
|
},
|
|
4143
|
+
exportEventSeriesWaitlistCsv: {
|
|
4144
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist/export.csv",
|
|
4145
|
+
method: "GET",
|
|
4146
|
+
tags: ["site-{siteId}", "bookings", "event-series-{seriesId}"],
|
|
4147
|
+
auth: "user",
|
|
4148
|
+
responseKind: "blob",
|
|
4149
|
+
errors: []
|
|
4150
|
+
},
|
|
4057
4151
|
addEventOccurrenceAttendee: {
|
|
4058
4152
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/occurrences/{occurrenceId}/attendees",
|
|
4059
4153
|
method: "POST",
|
|
@@ -4770,6 +4864,14 @@ var init_endpoints = __esm({
|
|
|
4770
4864
|
auth: "user",
|
|
4771
4865
|
responseKind: "json"
|
|
4772
4866
|
},
|
|
4867
|
+
exportSiteCustomerPassesCsv: {
|
|
4868
|
+
path: "/sites/{siteId}/bookings/customer-passes/export.csv",
|
|
4869
|
+
method: "GET",
|
|
4870
|
+
tags: ["site-{siteId}", "bookings", "customer-passes-{siteId}"],
|
|
4871
|
+
auth: "user",
|
|
4872
|
+
responseKind: "blob",
|
|
4873
|
+
errors: []
|
|
4874
|
+
},
|
|
4773
4875
|
listSiteCustomerMemberships: {
|
|
4774
4876
|
path: "/sites/{siteId}/bookings/customer-memberships",
|
|
4775
4877
|
method: "GET",
|
|
@@ -4833,6 +4935,22 @@ var init_endpoints = __esm({
|
|
|
4833
4935
|
auth: "user",
|
|
4834
4936
|
responseKind: "blob"
|
|
4835
4937
|
},
|
|
4938
|
+
exportBookingLedgerCsv: {
|
|
4939
|
+
path: "/sites/{siteId}/bookings/ledger/export.csv",
|
|
4940
|
+
method: "GET",
|
|
4941
|
+
tags: ["site-{siteId}", "bookings", "booking-ledger-{siteId}"],
|
|
4942
|
+
errors: [],
|
|
4943
|
+
auth: "user",
|
|
4944
|
+
responseKind: "blob"
|
|
4945
|
+
},
|
|
4946
|
+
exportBookingQuestionAnswersCsv: {
|
|
4947
|
+
path: "/sites/{siteId}/bookings/intake-answers/export.csv",
|
|
4948
|
+
method: "GET",
|
|
4949
|
+
tags: ["site-{siteId}", "bookings", "intake-answers-{siteId}"],
|
|
4950
|
+
errors: [],
|
|
4951
|
+
auth: "user",
|
|
4952
|
+
responseKind: "blob"
|
|
4953
|
+
},
|
|
4836
4954
|
// Site logs
|
|
4837
4955
|
listSiteActivityLogs: {
|
|
4838
4956
|
path: "/sites/{siteId}/logs/activity",
|
|
@@ -6399,6 +6517,13 @@ var init_videoPrep = __esm({
|
|
|
6399
6517
|
}
|
|
6400
6518
|
});
|
|
6401
6519
|
|
|
6520
|
+
// ../media-core/src/videoSlotPolicy.ts
|
|
6521
|
+
var init_videoSlotPolicy = __esm({
|
|
6522
|
+
"../media-core/src/videoSlotPolicy.ts"() {
|
|
6523
|
+
"use strict";
|
|
6524
|
+
}
|
|
6525
|
+
});
|
|
6526
|
+
|
|
6402
6527
|
// ../media-core/src/identifiers.ts
|
|
6403
6528
|
var init_identifiers = __esm({
|
|
6404
6529
|
"../media-core/src/identifiers.ts"() {
|
|
@@ -6558,6 +6683,7 @@ var init_src2 = __esm({
|
|
|
6558
6683
|
init_fileAssetCompatibility();
|
|
6559
6684
|
init_fileMimeDetection();
|
|
6560
6685
|
init_videoPrep();
|
|
6686
|
+
init_videoSlotPolicy();
|
|
6561
6687
|
init_identifiers();
|
|
6562
6688
|
init_aspectTransforms();
|
|
6563
6689
|
init_rotation();
|
|
@@ -6862,31 +6988,35 @@ function expectParsedSelectField(field) {
|
|
|
6862
6988
|
return field;
|
|
6863
6989
|
}
|
|
6864
6990
|
function createSiteOptionSelectField(input) {
|
|
6865
|
-
return expectParsedSelectField(
|
|
6866
|
-
|
|
6867
|
-
|
|
6868
|
-
|
|
6869
|
-
|
|
6870
|
-
|
|
6871
|
-
|
|
6872
|
-
|
|
6873
|
-
|
|
6874
|
-
|
|
6875
|
-
|
|
6876
|
-
|
|
6991
|
+
return expectParsedSelectField(
|
|
6992
|
+
parseFieldDefinition({
|
|
6993
|
+
...input,
|
|
6994
|
+
type: "select",
|
|
6995
|
+
options: [],
|
|
6996
|
+
multiple: input.multiple ?? false,
|
|
6997
|
+
source: { kind: "site", optionSource: input.optionSource },
|
|
6998
|
+
ui: {
|
|
6999
|
+
...input.ui ?? {},
|
|
7000
|
+
widget: "siteOptionPicker",
|
|
7001
|
+
siteOptionSource: input.optionSource
|
|
7002
|
+
}
|
|
7003
|
+
})
|
|
7004
|
+
);
|
|
6877
7005
|
}
|
|
6878
7006
|
function createSdkSelectField(input) {
|
|
6879
|
-
return expectParsedSelectField(
|
|
6880
|
-
|
|
6881
|
-
|
|
6882
|
-
|
|
6883
|
-
|
|
6884
|
-
|
|
6885
|
-
|
|
6886
|
-
|
|
6887
|
-
|
|
6888
|
-
|
|
6889
|
-
|
|
7007
|
+
return expectParsedSelectField(
|
|
7008
|
+
parseFieldDefinition({
|
|
7009
|
+
...input,
|
|
7010
|
+
type: "select",
|
|
7011
|
+
options: input.options,
|
|
7012
|
+
multiple: input.multiple ?? false,
|
|
7013
|
+
source: { kind: "sdk" },
|
|
7014
|
+
ui: {
|
|
7015
|
+
...input.ui ?? {},
|
|
7016
|
+
widget: "sdkSelect"
|
|
7017
|
+
}
|
|
7018
|
+
})
|
|
7019
|
+
);
|
|
6890
7020
|
}
|
|
6891
7021
|
var visibilityLevels, siteOptionSources, mediaDeliverySchema, selectOptionSchema, selectSourceSchema, uiSchema, baseFieldSchema, textFieldSchema, richTextFieldSchema, mediaFieldSchema, booleanFieldSchema, dateFieldSchema, timeFieldSchema, dateTimeFieldSchema, slugFieldSchema, urlFieldSchema, linkFieldSchema, selectFieldSchema, referenceFieldSchema, itemTypeSchema, repeaterFieldSchema, groupFieldSchema, modalFieldSchema, numberFieldSchema, tabDefinitionSchema, tabGroupFieldSchema, presetOptionSchema, presetOrCustomFieldSchema, contentTypeSelectFieldSchema, entryPickerFieldSchema, _fieldSchemaInternal, fieldSchema, slotSchema, typographyTokens, colorTokens, spacingTokens, radiusTokens, styleTokenSchema, behaviourSchema, blockCategoryEnum, manifestSchema;
|
|
6892
7022
|
var init_schema2 = __esm({
|
|
@@ -6896,7 +7026,11 @@ var init_schema2 = __esm({
|
|
|
6896
7026
|
init_node();
|
|
6897
7027
|
init_repeaterGrid();
|
|
6898
7028
|
visibilityLevels = ["admin", "designer", "author"];
|
|
6899
|
-
siteOptionSources = [
|
|
7029
|
+
siteOptionSources = [
|
|
7030
|
+
"eventCategories",
|
|
7031
|
+
"venues",
|
|
7032
|
+
"staffMembers"
|
|
7033
|
+
];
|
|
6900
7034
|
mediaDeliverySchema = z3.object({
|
|
6901
7035
|
sizes: z3.string().optional(),
|
|
6902
7036
|
widthCandidates: z3.array(z3.number().int().positive()).optional(),
|
|
@@ -6931,7 +7065,10 @@ var init_schema2 = __esm({
|
|
|
6931
7065
|
hidden: z3.boolean().optional(),
|
|
6932
7066
|
hideLabel: z3.boolean().optional(),
|
|
6933
7067
|
hideDescription: z3.boolean().optional(),
|
|
6934
|
-
showCharCount: z3.union([
|
|
7068
|
+
showCharCount: z3.union([
|
|
7069
|
+
z3.number().int().positive(),
|
|
7070
|
+
z3.object({ max: z3.number().int().positive() })
|
|
7071
|
+
]).optional(),
|
|
6935
7072
|
showSlugPreview: z3.boolean().optional(),
|
|
6936
7073
|
variant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
6937
7074
|
richTextVariant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
@@ -6941,10 +7078,7 @@ var init_schema2 = __esm({
|
|
|
6941
7078
|
showMediaPreview: z3.boolean().optional(),
|
|
6942
7079
|
showMediaOverlayActions: z3.boolean().optional(),
|
|
6943
7080
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
6944
|
-
mediaDeliveryByVariant: z3.record(
|
|
6945
|
-
z3.string(),
|
|
6946
|
-
mediaDeliverySchema
|
|
6947
|
-
).optional(),
|
|
7081
|
+
mediaDeliveryByVariant: z3.record(z3.string(), mediaDeliverySchema).optional(),
|
|
6948
7082
|
// Optional input hints for validators/widgets
|
|
6949
7083
|
inputType: z3.enum(["text", "email", "tel", "number"]).optional(),
|
|
6950
7084
|
min: z3.number().optional(),
|
|
@@ -7052,7 +7186,9 @@ var init_schema2 = __esm({
|
|
|
7052
7186
|
});
|
|
7053
7187
|
mediaFieldSchema = baseFieldSchema.extend({
|
|
7054
7188
|
type: z3.literal("media"),
|
|
7055
|
-
mediaKinds: z3.array(
|
|
7189
|
+
mediaKinds: z3.array(
|
|
7190
|
+
z3.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
|
|
7191
|
+
).default(["image"]),
|
|
7056
7192
|
aspectRatio: z3.string().optional()
|
|
7057
7193
|
});
|
|
7058
7194
|
booleanFieldSchema = baseFieldSchema.extend({
|
|
@@ -7174,7 +7310,9 @@ var init_schema2 = __esm({
|
|
|
7174
7310
|
itemTypeSchema = z3.object({
|
|
7175
7311
|
label: z3.string().min(1),
|
|
7176
7312
|
icon: z3.string().optional(),
|
|
7177
|
-
fields: z3.lazy(
|
|
7313
|
+
fields: z3.lazy(
|
|
7314
|
+
() => getFieldSchemaInternal().array().min(1, "Item type requires at least one field")
|
|
7315
|
+
)
|
|
7178
7316
|
});
|
|
7179
7317
|
repeaterFieldSchema = baseFieldSchema.extend({
|
|
7180
7318
|
type: z3.literal("repeater"),
|
|
@@ -7184,7 +7322,9 @@ var init_schema2 = __esm({
|
|
|
7184
7322
|
maxItems: z3.number().int().positive().optional(),
|
|
7185
7323
|
// Monomorphic mode
|
|
7186
7324
|
schema: z3.object({
|
|
7187
|
-
fields: z3.lazy(
|
|
7325
|
+
fields: z3.lazy(
|
|
7326
|
+
() => getFieldSchemaInternal().array().min(1, "Repeater requires at least one field")
|
|
7327
|
+
)
|
|
7188
7328
|
}).optional(),
|
|
7189
7329
|
// Polymorphic mode
|
|
7190
7330
|
polymorphic: z3.boolean().optional(),
|
|
@@ -7230,13 +7370,19 @@ var init_schema2 = __esm({
|
|
|
7230
7370
|
const itemTypes = Object.values(
|
|
7231
7371
|
data.itemTypes
|
|
7232
7372
|
);
|
|
7233
|
-
return itemTypes.every(
|
|
7373
|
+
return itemTypes.every(
|
|
7374
|
+
(itemType) => Array.isArray(itemType.fields) && requiredFieldIds.every(
|
|
7375
|
+
(requiredId) => itemType.fields?.some((field) => field.id === requiredId)
|
|
7376
|
+
)
|
|
7377
|
+
);
|
|
7234
7378
|
}
|
|
7235
7379
|
const schemaFields = data.schema?.fields;
|
|
7236
7380
|
if (!schemaFields) {
|
|
7237
7381
|
return true;
|
|
7238
7382
|
}
|
|
7239
|
-
return requiredFieldIds.every(
|
|
7383
|
+
return requiredFieldIds.every(
|
|
7384
|
+
(requiredId) => schemaFields.some((field) => field.id === requiredId)
|
|
7385
|
+
);
|
|
7240
7386
|
},
|
|
7241
7387
|
{
|
|
7242
7388
|
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`,
|
|
@@ -7264,7 +7410,9 @@ var init_schema2 = __esm({
|
|
|
7264
7410
|
if (!schemaFields) {
|
|
7265
7411
|
return true;
|
|
7266
7412
|
}
|
|
7267
|
-
const field = schemaFields.find(
|
|
7413
|
+
const field = schemaFields.find(
|
|
7414
|
+
(candidate) => candidate.id === labelField
|
|
7415
|
+
);
|
|
7268
7416
|
return field?.type === "text";
|
|
7269
7417
|
},
|
|
7270
7418
|
{
|
|
@@ -7275,13 +7423,17 @@ var init_schema2 = __esm({
|
|
|
7275
7423
|
groupFieldSchema = baseFieldSchema.extend({
|
|
7276
7424
|
type: z3.literal("group"),
|
|
7277
7425
|
schema: z3.object({
|
|
7278
|
-
fields: z3.lazy(
|
|
7426
|
+
fields: z3.lazy(
|
|
7427
|
+
() => getFieldSchemaInternal().array().min(1, "Group requires at least one field")
|
|
7428
|
+
)
|
|
7279
7429
|
})
|
|
7280
7430
|
});
|
|
7281
7431
|
modalFieldSchema = baseFieldSchema.extend({
|
|
7282
7432
|
type: z3.literal("modal"),
|
|
7283
7433
|
schema: z3.object({
|
|
7284
|
-
fields: z3.lazy(
|
|
7434
|
+
fields: z3.lazy(
|
|
7435
|
+
() => getFieldSchemaInternal().array().min(1, "Modal requires at least one field")
|
|
7436
|
+
)
|
|
7285
7437
|
})
|
|
7286
7438
|
});
|
|
7287
7439
|
numberFieldSchema = baseFieldSchema.extend({
|
|
@@ -7356,8 +7508,20 @@ var init_schema2 = __esm({
|
|
|
7356
7508
|
help: z3.string().optional(),
|
|
7357
7509
|
visibleRoles: z3.array(z3.enum(visibilityLevels)).optional()
|
|
7358
7510
|
});
|
|
7359
|
-
typographyTokens = [
|
|
7360
|
-
|
|
7511
|
+
typographyTokens = [
|
|
7512
|
+
"display",
|
|
7513
|
+
"heading",
|
|
7514
|
+
"subheading",
|
|
7515
|
+
"body",
|
|
7516
|
+
"caption"
|
|
7517
|
+
];
|
|
7518
|
+
colorTokens = [
|
|
7519
|
+
"background",
|
|
7520
|
+
"surface",
|
|
7521
|
+
"foreground",
|
|
7522
|
+
"accent",
|
|
7523
|
+
"muted"
|
|
7524
|
+
];
|
|
7361
7525
|
spacingTokens = ["none", "xs", "sm", "md", "lg", "xl"];
|
|
7362
7526
|
radiusTokens = ["none", "sm", "md", "lg", "full"];
|
|
7363
7527
|
styleTokenSchema = z3.object({
|
|
@@ -7377,7 +7541,14 @@ var init_schema2 = __esm({
|
|
|
7377
7541
|
// Block manages its own wrapper (for sticky/fixed positioning)
|
|
7378
7542
|
managesOwnWrapper: z3.boolean().optional()
|
|
7379
7543
|
});
|
|
7380
|
-
blockCategoryEnum = z3.enum([
|
|
7544
|
+
blockCategoryEnum = z3.enum([
|
|
7545
|
+
"marketing",
|
|
7546
|
+
"content",
|
|
7547
|
+
"blog",
|
|
7548
|
+
"media",
|
|
7549
|
+
"layout",
|
|
7550
|
+
"interactive"
|
|
7551
|
+
]);
|
|
7381
7552
|
manifestSchema = z3.object({
|
|
7382
7553
|
name: z3.string().min(1),
|
|
7383
7554
|
version: z3.string().min(1),
|
|
@@ -8110,12 +8281,33 @@ var init_appointmentSetup = __esm({
|
|
|
8110
8281
|
}
|
|
8111
8282
|
});
|
|
8112
8283
|
|
|
8284
|
+
// ../api/src/bookingRecords.ts
|
|
8285
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPES, BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES;
|
|
8286
|
+
var init_bookingRecords = __esm({
|
|
8287
|
+
"../api/src/bookingRecords.ts"() {
|
|
8288
|
+
"use strict";
|
|
8289
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES = {
|
|
8290
|
+
site: "site",
|
|
8291
|
+
appointments: "appointments",
|
|
8292
|
+
eventSeries: "event_series",
|
|
8293
|
+
course: "course"
|
|
8294
|
+
};
|
|
8295
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES = [
|
|
8296
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.site,
|
|
8297
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.appointments,
|
|
8298
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.eventSeries,
|
|
8299
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.course
|
|
8300
|
+
];
|
|
8301
|
+
}
|
|
8302
|
+
});
|
|
8303
|
+
|
|
8113
8304
|
// ../api/src/bookings.ts
|
|
8114
8305
|
var init_bookings = __esm({
|
|
8115
8306
|
"../api/src/bookings.ts"() {
|
|
8116
8307
|
"use strict";
|
|
8117
8308
|
init_envelope();
|
|
8118
8309
|
init_error_propagation();
|
|
8310
|
+
init_bookingRecords();
|
|
8119
8311
|
}
|
|
8120
8312
|
});
|
|
8121
8313
|
|
|
@@ -8718,6 +8910,29 @@ var init_manifest = __esm({
|
|
|
8718
8910
|
}
|
|
8719
8911
|
});
|
|
8720
8912
|
|
|
8913
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
8914
|
+
function assertValidOptionGroups(preset2) {
|
|
8915
|
+
preset2.optionGroups?.forEach((group) => {
|
|
8916
|
+
const selectedOption = group.options.find(
|
|
8917
|
+
(option) => option.id === group.selectedOptionId
|
|
8918
|
+
);
|
|
8919
|
+
if (!selectedOption) {
|
|
8920
|
+
throw new Error(
|
|
8921
|
+
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
8922
|
+
);
|
|
8923
|
+
}
|
|
8924
|
+
});
|
|
8925
|
+
}
|
|
8926
|
+
function defineBlockAppearancePreset(preset2) {
|
|
8927
|
+
assertValidOptionGroups(preset2);
|
|
8928
|
+
return preset2;
|
|
8929
|
+
}
|
|
8930
|
+
var init_appearancePresetResolution = __esm({
|
|
8931
|
+
"../theme-core/src/site-styles/appearancePresetResolution.ts"() {
|
|
8932
|
+
"use strict";
|
|
8933
|
+
}
|
|
8934
|
+
});
|
|
8935
|
+
|
|
8721
8936
|
// ../theme-core/src/site-styles/types.ts
|
|
8722
8937
|
function asDesignBlockId(value) {
|
|
8723
8938
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
@@ -8804,16 +9019,22 @@ function defineBlockDesignCapability(capability) {
|
|
|
8804
9019
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
8805
9020
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
8806
9021
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
9022
|
+
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
8807
9023
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
8808
9024
|
};
|
|
8809
9025
|
}
|
|
8810
|
-
var plainFrame, eyebrowTreatmentValues;
|
|
9026
|
+
var plainFrame, tileTreatmentValues, eyebrowTreatmentValues;
|
|
8811
9027
|
var init_types3 = __esm({
|
|
8812
9028
|
"../theme-core/src/site-styles/types.ts"() {
|
|
8813
9029
|
"use strict";
|
|
8814
9030
|
plainFrame = {
|
|
8815
9031
|
kind: "plain"
|
|
8816
9032
|
};
|
|
9033
|
+
tileTreatmentValues = [
|
|
9034
|
+
"default",
|
|
9035
|
+
"quiet",
|
|
9036
|
+
"brand-depth"
|
|
9037
|
+
];
|
|
8817
9038
|
eyebrowTreatmentValues = [
|
|
8818
9039
|
"plain",
|
|
8819
9040
|
"pill",
|
|
@@ -8824,32 +9045,14 @@ var init_types3 = __esm({
|
|
|
8824
9045
|
}
|
|
8825
9046
|
});
|
|
8826
9047
|
|
|
8827
|
-
// ../theme-core/src/site-styles/
|
|
8828
|
-
|
|
8829
|
-
|
|
8830
|
-
|
|
8831
|
-
(option) => option.id === group.selectedOptionId
|
|
8832
|
-
);
|
|
8833
|
-
if (!selectedOption) {
|
|
8834
|
-
throw new Error(
|
|
8835
|
-
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
8836
|
-
);
|
|
8837
|
-
}
|
|
8838
|
-
});
|
|
8839
|
-
}
|
|
8840
|
-
function defineBlockAppearancePreset(preset2) {
|
|
8841
|
-
assertValidOptionGroups(preset2);
|
|
8842
|
-
return preset2;
|
|
8843
|
-
}
|
|
8844
|
-
function defineSiteChromeAppearancePreset(preset2) {
|
|
8845
|
-
return preset2;
|
|
8846
|
-
}
|
|
8847
|
-
var appearancePresets;
|
|
8848
|
-
var init_appearancePresets = __esm({
|
|
8849
|
-
"../theme-core/src/site-styles/appearancePresets.ts"() {
|
|
9048
|
+
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
9049
|
+
var blockAppearancePresets;
|
|
9050
|
+
var init_blockAppearancePresets = __esm({
|
|
9051
|
+
"../theme-core/src/site-styles/blockAppearancePresets.ts"() {
|
|
8850
9052
|
"use strict";
|
|
9053
|
+
init_appearancePresetResolution();
|
|
8851
9054
|
init_types3();
|
|
8852
|
-
|
|
9055
|
+
blockAppearancePresets = [
|
|
8853
9056
|
defineBlockAppearancePreset({
|
|
8854
9057
|
kind: "block-design",
|
|
8855
9058
|
id: "hero-immersive-image",
|
|
@@ -8975,6 +9178,24 @@ var init_appearancePresets = __esm({
|
|
|
8975
9178
|
eyebrowTreatment: "accent-pill-bounce"
|
|
8976
9179
|
}
|
|
8977
9180
|
}),
|
|
9181
|
+
defineBlockAppearancePreset({
|
|
9182
|
+
kind: "block-design",
|
|
9183
|
+
id: "hero-brand-depth-expressive",
|
|
9184
|
+
target: "hero",
|
|
9185
|
+
label: "Expressive brand-depth hero",
|
|
9186
|
+
blockKinds: ["block.hero"],
|
|
9187
|
+
constraints: {
|
|
9188
|
+
layoutFamilies: ["centered", "compact"]
|
|
9189
|
+
},
|
|
9190
|
+
design: {
|
|
9191
|
+
sectionSurface: "brand-depth-band",
|
|
9192
|
+
contentFrame: plainFrame,
|
|
9193
|
+
itemSurface: "none",
|
|
9194
|
+
transitionAfter: "soft-fade-short",
|
|
9195
|
+
emphasis: "high",
|
|
9196
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
9197
|
+
}
|
|
9198
|
+
}),
|
|
8978
9199
|
defineBlockAppearancePreset({
|
|
8979
9200
|
kind: "block-design",
|
|
8980
9201
|
id: "hero-contained-intro",
|
|
@@ -9003,6 +9224,20 @@ var init_appearancePresets = __esm({
|
|
|
9003
9224
|
emphasis: "high"
|
|
9004
9225
|
}
|
|
9005
9226
|
}),
|
|
9227
|
+
defineBlockAppearancePreset({
|
|
9228
|
+
kind: "block-design",
|
|
9229
|
+
id: "body-text-brand-depth-intro",
|
|
9230
|
+
target: "body-text",
|
|
9231
|
+
label: "Brand-depth intro copy",
|
|
9232
|
+
blockKinds: ["block.body-text"],
|
|
9233
|
+
design: {
|
|
9234
|
+
sectionSurface: "brand-depth-band",
|
|
9235
|
+
contentFrame: plainFrame,
|
|
9236
|
+
itemSurface: "none",
|
|
9237
|
+
transitionAfter: "soft-fade-short",
|
|
9238
|
+
emphasis: "high"
|
|
9239
|
+
}
|
|
9240
|
+
}),
|
|
9006
9241
|
defineBlockAppearancePreset({
|
|
9007
9242
|
kind: "block-design",
|
|
9008
9243
|
id: "offerings-calm-list",
|
|
@@ -9045,6 +9280,21 @@ var init_appearancePresets = __esm({
|
|
|
9045
9280
|
emphasis: "medium"
|
|
9046
9281
|
}
|
|
9047
9282
|
}),
|
|
9283
|
+
defineBlockAppearancePreset({
|
|
9284
|
+
kind: "block-design",
|
|
9285
|
+
id: "schedule-details-brand-depth",
|
|
9286
|
+
target: "events",
|
|
9287
|
+
label: "Brand-depth schedule details",
|
|
9288
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
9289
|
+
design: {
|
|
9290
|
+
sectionSurface: "brand-depth-band",
|
|
9291
|
+
contentFrame: plainFrame,
|
|
9292
|
+
itemSurface: "none",
|
|
9293
|
+
transitionAfter: "none",
|
|
9294
|
+
emphasis: "medium",
|
|
9295
|
+
tileTreatment: "brand-depth"
|
|
9296
|
+
}
|
|
9297
|
+
}),
|
|
9048
9298
|
defineBlockAppearancePreset({
|
|
9049
9299
|
kind: "block-design",
|
|
9050
9300
|
id: "media-text-flush-feature",
|
|
@@ -9130,6 +9380,20 @@ var init_appearancePresets = __esm({
|
|
|
9130
9380
|
testimonialCardTreatment: "accent-quote"
|
|
9131
9381
|
}
|
|
9132
9382
|
}),
|
|
9383
|
+
defineBlockAppearancePreset({
|
|
9384
|
+
kind: "block-design",
|
|
9385
|
+
id: "faq-base-accordion",
|
|
9386
|
+
target: "faq",
|
|
9387
|
+
label: "Base accordion FAQ",
|
|
9388
|
+
blockKinds: ["block.faq"],
|
|
9389
|
+
design: {
|
|
9390
|
+
sectionSurface: "base",
|
|
9391
|
+
contentFrame: plainFrame,
|
|
9392
|
+
itemSurface: "default",
|
|
9393
|
+
transitionAfter: "none",
|
|
9394
|
+
emphasis: "medium"
|
|
9395
|
+
}
|
|
9396
|
+
}),
|
|
9133
9397
|
defineBlockAppearancePreset({
|
|
9134
9398
|
kind: "block-design",
|
|
9135
9399
|
id: "faq-contained-help",
|
|
@@ -9172,6 +9436,20 @@ var init_appearancePresets = __esm({
|
|
|
9172
9436
|
emphasis: "high"
|
|
9173
9437
|
}
|
|
9174
9438
|
}),
|
|
9439
|
+
defineBlockAppearancePreset({
|
|
9440
|
+
kind: "block-design",
|
|
9441
|
+
id: "contact-form-brand-depth-card",
|
|
9442
|
+
target: "contact-form",
|
|
9443
|
+
label: "Brand-depth form card",
|
|
9444
|
+
blockKinds: ["block.form"],
|
|
9445
|
+
design: {
|
|
9446
|
+
sectionSurface: "brand-depth-band",
|
|
9447
|
+
contentFrame: panelFrame("raised"),
|
|
9448
|
+
itemSurface: "none",
|
|
9449
|
+
transitionAfter: "none",
|
|
9450
|
+
emphasis: "high"
|
|
9451
|
+
}
|
|
9452
|
+
}),
|
|
9175
9453
|
defineBlockAppearancePreset({
|
|
9176
9454
|
kind: "block-design",
|
|
9177
9455
|
id: "cta-accent-band",
|
|
@@ -9185,7 +9463,20 @@ var init_appearancePresets = __esm({
|
|
|
9185
9463
|
transitionAfter: "none",
|
|
9186
9464
|
emphasis: "high"
|
|
9187
9465
|
}
|
|
9188
|
-
})
|
|
9466
|
+
})
|
|
9467
|
+
];
|
|
9468
|
+
}
|
|
9469
|
+
});
|
|
9470
|
+
|
|
9471
|
+
// ../theme-core/src/site-styles/siteChromeAppearancePresets.ts
|
|
9472
|
+
function defineSiteChromeAppearancePreset(preset2) {
|
|
9473
|
+
return preset2;
|
|
9474
|
+
}
|
|
9475
|
+
var siteChromeAppearancePresets;
|
|
9476
|
+
var init_siteChromeAppearancePresets = __esm({
|
|
9477
|
+
"../theme-core/src/site-styles/siteChromeAppearancePresets.ts"() {
|
|
9478
|
+
"use strict";
|
|
9479
|
+
siteChromeAppearancePresets = [
|
|
9189
9480
|
defineSiteChromeAppearancePreset({
|
|
9190
9481
|
kind: "site-chrome",
|
|
9191
9482
|
id: "header-clean-base",
|
|
@@ -9255,12 +9546,45 @@ var init_appearancePresets = __esm({
|
|
|
9255
9546
|
}
|
|
9256
9547
|
});
|
|
9257
9548
|
|
|
9258
|
-
// ../theme-core/src/site-styles/
|
|
9259
|
-
|
|
9260
|
-
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9549
|
+
// ../theme-core/src/site-styles/appearancePresetCatalog.ts
|
|
9550
|
+
var appearancePresets;
|
|
9551
|
+
var init_appearancePresetCatalog = __esm({
|
|
9552
|
+
"../theme-core/src/site-styles/appearancePresetCatalog.ts"() {
|
|
9553
|
+
"use strict";
|
|
9554
|
+
init_blockAppearancePresets();
|
|
9555
|
+
init_siteChromeAppearancePresets();
|
|
9556
|
+
appearancePresets = [
|
|
9557
|
+
...blockAppearancePresets,
|
|
9558
|
+
...siteChromeAppearancePresets
|
|
9559
|
+
];
|
|
9560
|
+
}
|
|
9561
|
+
});
|
|
9562
|
+
|
|
9563
|
+
// ../theme-core/src/site-styles/appearancePresetTypes.ts
|
|
9564
|
+
var init_appearancePresetTypes = __esm({
|
|
9565
|
+
"../theme-core/src/site-styles/appearancePresetTypes.ts"() {
|
|
9566
|
+
"use strict";
|
|
9567
|
+
}
|
|
9568
|
+
});
|
|
9569
|
+
|
|
9570
|
+
// ../theme-core/src/site-styles/appearancePresets.ts
|
|
9571
|
+
var init_appearancePresets = __esm({
|
|
9572
|
+
"../theme-core/src/site-styles/appearancePresets.ts"() {
|
|
9573
|
+
"use strict";
|
|
9574
|
+
init_appearancePresetCatalog();
|
|
9575
|
+
init_appearancePresetResolution();
|
|
9576
|
+
init_appearancePresetTypes();
|
|
9577
|
+
init_blockAppearancePresets();
|
|
9578
|
+
init_siteChromeAppearancePresets();
|
|
9579
|
+
}
|
|
9580
|
+
});
|
|
9581
|
+
|
|
9582
|
+
// ../theme-core/src/site-styles/blockFlow.ts
|
|
9583
|
+
function defineBlockDesignMetadata(input) {
|
|
9584
|
+
const layoutProfiles = (input.layoutProfiles ?? []).map((profile) => ({
|
|
9585
|
+
...profile,
|
|
9586
|
+
variantKey: asLayoutVariantKey(profile.variantKey)
|
|
9587
|
+
}));
|
|
9264
9588
|
assertUniqueLayoutProfileKeys(layoutProfiles);
|
|
9265
9589
|
return {
|
|
9266
9590
|
flow: input.flow,
|
|
@@ -11161,6 +11485,7 @@ var init_schema3 = __esm({
|
|
|
11161
11485
|
background: boxBackgroundSchema.nullable().optional(),
|
|
11162
11486
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
11163
11487
|
minHeight: z24.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
11488
|
+
tileTreatment: z24.enum(tileTreatmentValues).nullable().optional(),
|
|
11164
11489
|
eyebrowTreatment: z24.enum(eyebrowTreatmentValues).nullable().optional()
|
|
11165
11490
|
});
|
|
11166
11491
|
containerStylesOverrideSchema = z24.object({
|
|
@@ -12016,7 +12341,7 @@ var init_sourceCatalogs = __esm({
|
|
|
12016
12341
|
];
|
|
12017
12342
|
generatedDesignOptionCatalog = {
|
|
12018
12343
|
source: "generated",
|
|
12019
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
12344
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
12020
12345
|
contentFrames: generatedContentFrames,
|
|
12021
12346
|
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
12022
12347
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
@@ -12093,7 +12418,7 @@ function buttonChoice(id, note) {
|
|
|
12093
12418
|
function paletteChoice(id, note) {
|
|
12094
12419
|
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
12095
12420
|
}
|
|
12096
|
-
var curatedSiteStyleIdValues, quietBudget, balancedBudget, expressiveBudget, generatedContentFrameKinds, curatedSiteStyles, curatedSiteStylesById;
|
|
12421
|
+
var curatedSiteStyleIdValues, quietBudget, balancedBudget, expressiveBudget, expressiveUnderlineInputs, generatedContentFrameKinds, curatedSiteStyles, curatedSiteStylesById;
|
|
12097
12422
|
var init_curatedSiteStyles = __esm({
|
|
12098
12423
|
"../theme-core/src/site-styles/curatedSiteStyles.ts"() {
|
|
12099
12424
|
"use strict";
|
|
@@ -12137,6 +12462,43 @@ var init_curatedSiteStyles = __esm({
|
|
|
12137
12462
|
mediaDensity: "high",
|
|
12138
12463
|
decorativeRepetition: "medium"
|
|
12139
12464
|
};
|
|
12465
|
+
expressiveUnderlineInputs = {
|
|
12466
|
+
base: {
|
|
12467
|
+
background: { type: "transparent" },
|
|
12468
|
+
textColorToken: "text",
|
|
12469
|
+
border: {
|
|
12470
|
+
widthClass: "border-2",
|
|
12471
|
+
colorToken: "border",
|
|
12472
|
+
style: "underline"
|
|
12473
|
+
},
|
|
12474
|
+
corners: "square",
|
|
12475
|
+
shadow: null,
|
|
12476
|
+
spacing: "compact",
|
|
12477
|
+
fontSize: "base"
|
|
12478
|
+
},
|
|
12479
|
+
label: {
|
|
12480
|
+
textColorToken: "primary",
|
|
12481
|
+
fontWeight: "black",
|
|
12482
|
+
fontSize: "xs",
|
|
12483
|
+
textTransform: "uppercase",
|
|
12484
|
+
letterSpacing: "widest",
|
|
12485
|
+
opacity: 1
|
|
12486
|
+
},
|
|
12487
|
+
focus: {
|
|
12488
|
+
ringColorToken: "secondary",
|
|
12489
|
+
ringWidth: "0",
|
|
12490
|
+
borderColorToken: "secondary"
|
|
12491
|
+
},
|
|
12492
|
+
error: {
|
|
12493
|
+
borderColorToken: "destructive",
|
|
12494
|
+
textColorToken: "destructive"
|
|
12495
|
+
},
|
|
12496
|
+
disabled: {
|
|
12497
|
+
backgroundColorToken: "surface",
|
|
12498
|
+
textColorToken: "text",
|
|
12499
|
+
opacity: 0.6
|
|
12500
|
+
}
|
|
12501
|
+
};
|
|
12140
12502
|
generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
12141
12503
|
curatedSiteStyles = [
|
|
12142
12504
|
defineCuratedSiteStyle({
|
|
@@ -12447,15 +12809,17 @@ var init_curatedSiteStyles = __esm({
|
|
|
12447
12809
|
paragraphSize: "editorial",
|
|
12448
12810
|
headingSize: "editorial"
|
|
12449
12811
|
}
|
|
12450
|
-
}
|
|
12812
|
+
},
|
|
12813
|
+
inputs: expressiveUnderlineInputs
|
|
12451
12814
|
},
|
|
12452
12815
|
recommendedAppearancePresetIds: [
|
|
12453
12816
|
"site-header-brand-solid-inverted-cta",
|
|
12454
12817
|
"site-footer-brand-two-band",
|
|
12455
12818
|
"hero-brand-scrim-fixed-frame",
|
|
12456
12819
|
"body-text-editorial-intro",
|
|
12820
|
+
"schedule-details-brand-depth",
|
|
12457
12821
|
"testimonials-accent-quote-proof",
|
|
12458
|
-
"contact-form-
|
|
12822
|
+
"contact-form-brand-depth-card"
|
|
12459
12823
|
],
|
|
12460
12824
|
buttonPersonalityChoices: [
|
|
12461
12825
|
buttonChoice("showtime-pill"),
|
|
@@ -12591,7 +12955,7 @@ function uniqueNonEmpty(values) {
|
|
|
12591
12955
|
}
|
|
12592
12956
|
return [firstValue, ...uniqueValues.slice(1)];
|
|
12593
12957
|
}
|
|
12594
|
-
var themeV2DesignStateSchemaVersion, designResolutionPolicySchema, runtimeStyleFieldNameSchema, nonEmptyRuntimeStyleFieldNamesSchema, heroLegibilityStrategySchema, sectionHeightIntentSchema, imageSurfaceTreatmentIntensitySchema, imageSurfaceMotionSchema, imageSurfaceTreatmentSchema, testimonialCardTreatmentSchema, eyebrowTreatmentSchema, userPanelTreatments, userFlushTreatments, userFlushBleeds, contentFrameIntentSchema, blockDesignPlanSchema, styleAuthoritySchema, blockRuntimeStyleAuthoritySchema, persistedPageDesignStateV1Schema;
|
|
12958
|
+
var themeV2DesignStateSchemaVersion, designResolutionPolicySchema, runtimeStyleFieldNameSchema, nonEmptyRuntimeStyleFieldNamesSchema, heroLegibilityStrategySchema, sectionHeightIntentSchema, imageSurfaceTreatmentIntensitySchema, imageSurfaceMotionSchema, imageSurfaceTreatmentSchema, testimonialCardTreatmentSchema, tileTreatmentSchema, eyebrowTreatmentSchema, userPanelTreatments, userFlushTreatments, userFlushBleeds, contentFrameIntentSchema, blockDesignPlanSchema, styleAuthoritySchema, blockRuntimeStyleAuthoritySchema, persistedPageDesignStateV1Schema;
|
|
12595
12959
|
var init_designState = __esm({
|
|
12596
12960
|
"../theme-core/src/site-styles/designState.ts"() {
|
|
12597
12961
|
"use strict";
|
|
@@ -12646,6 +13010,7 @@ var init_designState = __esm({
|
|
|
12646
13010
|
}).strict()
|
|
12647
13011
|
]);
|
|
12648
13012
|
testimonialCardTreatmentSchema = z26.enum(["default", "accent-quote"]);
|
|
13013
|
+
tileTreatmentSchema = z26.enum(tileTreatmentValues);
|
|
12649
13014
|
eyebrowTreatmentSchema = z26.enum(eyebrowTreatmentValues);
|
|
12650
13015
|
userPanelTreatments = uniqueNonEmpty(
|
|
12651
13016
|
userDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment)
|
|
@@ -12682,6 +13047,7 @@ var init_designState = __esm({
|
|
|
12682
13047
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
12683
13048
|
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
12684
13049
|
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
13050
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
12685
13051
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
12686
13052
|
}).strict();
|
|
12687
13053
|
styleAuthoritySchema = z26.discriminatedUnion("kind", [
|
|
@@ -12757,6 +13123,14 @@ var init_runtimeCompiler = __esm({
|
|
|
12757
13123
|
headingColor: "primaryForeground"
|
|
12758
13124
|
}
|
|
12759
13125
|
},
|
|
13126
|
+
"brand-depth-band": {
|
|
13127
|
+
background: {
|
|
13128
|
+
type: "color",
|
|
13129
|
+
color: "primary-800",
|
|
13130
|
+
textColor: "primaryForeground",
|
|
13131
|
+
headingColor: "primaryForeground"
|
|
13132
|
+
}
|
|
13133
|
+
},
|
|
12760
13134
|
"hero-image": {
|
|
12761
13135
|
background: {
|
|
12762
13136
|
type: "image",
|
|
@@ -14914,6 +15288,9 @@ var init_core3 = __esm({
|
|
|
14914
15288
|
});
|
|
14915
15289
|
|
|
14916
15290
|
// ../blocks/src/system/transforms/registry/_utils/colorResolution.ts
|
|
15291
|
+
function isLiteralCssColorValue(value) {
|
|
15292
|
+
return CSS_HEX_COLOR_PATTERN.test(value) || CSS_COLOR_FUNCTION_PATTERN.test(value) || value.startsWith("var(") || CSS_COLOR_KEYWORDS.has(value);
|
|
15293
|
+
}
|
|
14917
15294
|
function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
14918
15295
|
const trimmed = tokenOrCssValue.trim();
|
|
14919
15296
|
if (!trimmed) return "";
|
|
@@ -14930,15 +15307,31 @@ function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
|
14930
15307
|
return rgbColorValue(trimmed);
|
|
14931
15308
|
}
|
|
14932
15309
|
}
|
|
14933
|
-
if (trimmed
|
|
14934
|
-
return
|
|
15310
|
+
if (isLiteralCssColorValue(trimmed)) {
|
|
15311
|
+
return trimmed;
|
|
15312
|
+
}
|
|
15313
|
+
if (THEME_COLOR_TOKEN_PATTERN.test(trimmed)) {
|
|
15314
|
+
return rgbColorValue(trimmed);
|
|
14935
15315
|
}
|
|
14936
15316
|
return trimmed;
|
|
14937
15317
|
}
|
|
15318
|
+
var CSS_COLOR_FUNCTION_PATTERN, CSS_HEX_COLOR_PATTERN, THEME_COLOR_TOKEN_PATTERN, CSS_COLOR_KEYWORDS;
|
|
14938
15319
|
var init_colorResolution = __esm({
|
|
14939
15320
|
"../blocks/src/system/transforms/registry/_utils/colorResolution.ts"() {
|
|
14940
15321
|
"use strict";
|
|
14941
15322
|
init_colorStyles();
|
|
15323
|
+
CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\(/i;
|
|
15324
|
+
CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
15325
|
+
THEME_COLOR_TOKEN_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*(?:\/(?:100|[1-9]?\d|0))?$/;
|
|
15326
|
+
CSS_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
|
|
15327
|
+
"transparent",
|
|
15328
|
+
"currentColor",
|
|
15329
|
+
"inherit",
|
|
15330
|
+
"initial",
|
|
15331
|
+
"revert",
|
|
15332
|
+
"revert-layer",
|
|
15333
|
+
"unset"
|
|
15334
|
+
]);
|
|
14942
15335
|
}
|
|
14943
15336
|
});
|
|
14944
15337
|
|
|
@@ -15040,12 +15433,16 @@ function hasFixedFrameBackgroundMotion(value) {
|
|
|
15040
15433
|
const background = asPartialObject(input?.background);
|
|
15041
15434
|
return background?.motion === "fixed-frame";
|
|
15042
15435
|
}
|
|
15043
|
-
|
|
15436
|
+
function isTileTreatment(value) {
|
|
15437
|
+
return typeof value === "string" && tileTreatmentSet.has(value);
|
|
15438
|
+
}
|
|
15439
|
+
var spacingTransform, raisedTransform, roundedTransform, boxStylesCompositeTransform, boxStylesBorderColorTransform, fixedFrameScopeClass, tileTreatmentClassMap, tileTreatmentSet, sectionClassNameTransform, containerStylesResolveClassName, containerStylesResolveBoxClassName, sectionTextColorStyleTransform, sectionHeadingColorStyleTransform, sectionColorsStyleTransform, GAP_CLASS_MAP, GAP_VALUE_MAP, semanticGapTransform, semanticGapValueTransform, boxStylesTransforms;
|
|
15044
15440
|
var init_boxStyles2 = __esm({
|
|
15045
15441
|
"../blocks/src/system/transforms/registry/boxStyles.ts"() {
|
|
15046
15442
|
"use strict";
|
|
15047
15443
|
init_core3();
|
|
15048
15444
|
init_spacing();
|
|
15445
|
+
init_site_styles();
|
|
15049
15446
|
init_colorStyles();
|
|
15050
15447
|
init_colorResolution();
|
|
15051
15448
|
init_blockColorTokens();
|
|
@@ -15208,6 +15605,12 @@ var init_boxStyles2 = __esm({
|
|
|
15208
15605
|
}
|
|
15209
15606
|
};
|
|
15210
15607
|
fixedFrameScopeClass = "rb-bg-motion-fixed-frame-scope";
|
|
15608
|
+
tileTreatmentClassMap = {
|
|
15609
|
+
default: "",
|
|
15610
|
+
quiet: "rb-tile-treatment-quiet",
|
|
15611
|
+
"brand-depth": "rb-tile-treatment-brand-depth"
|
|
15612
|
+
};
|
|
15613
|
+
tileTreatmentSet = new Set(tileTreatmentValues);
|
|
15211
15614
|
sectionClassNameTransform = {
|
|
15212
15615
|
id: "sectionStyles.resolveClassName",
|
|
15213
15616
|
kind: "string",
|
|
@@ -15264,6 +15667,17 @@ var init_boxStyles2 = __esm({
|
|
|
15264
15667
|
classes.push(minHeightClass);
|
|
15265
15668
|
}
|
|
15266
15669
|
}
|
|
15670
|
+
const tileTreatment = input?.tileTreatment;
|
|
15671
|
+
if (isTileTreatment(tileTreatment)) {
|
|
15672
|
+
const tileTreatmentClass = tileTreatmentClassMap[tileTreatment];
|
|
15673
|
+
if (tileTreatmentClass) {
|
|
15674
|
+
classes.push(tileTreatmentClass);
|
|
15675
|
+
}
|
|
15676
|
+
} else if (typeof tileTreatment === "string" && process.env.NODE_ENV !== "production") {
|
|
15677
|
+
console.warn(
|
|
15678
|
+
`[sectionStyles] Invalid tileTreatment value in _sectionStyles: "${tileTreatment}". Expected one of: ${tileTreatmentValues.join(", ")}.`
|
|
15679
|
+
);
|
|
15680
|
+
}
|
|
15267
15681
|
if (hasFixedFrameBackgroundMotion(input)) {
|
|
15268
15682
|
classes.push(fixedFrameScopeClass);
|
|
15269
15683
|
}
|
|
@@ -18802,6 +19216,9 @@ function createBlockManifest(config) {
|
|
|
18802
19216
|
};
|
|
18803
19217
|
return augmentManifest(manifest);
|
|
18804
19218
|
}
|
|
19219
|
+
function createBlockManifestWithContentShape(config, _contentShape) {
|
|
19220
|
+
return createBlockManifest(config);
|
|
19221
|
+
}
|
|
18805
19222
|
function normalizeBlockLayout(layout) {
|
|
18806
19223
|
return Array.isArray(layout) ? [...layout] : layout;
|
|
18807
19224
|
}
|
|
@@ -19482,7 +19899,7 @@ var init_blog_listing = __esm({
|
|
|
19482
19899
|
});
|
|
19483
19900
|
|
|
19484
19901
|
// ../blocks/src/system/blocks/cta-full.ts
|
|
19485
|
-
var ctaComposition, ctaFullManifest, ctaFullBlockDefinition;
|
|
19902
|
+
var ctaComposition, ctaFullConfig, ctaFullManifest, ctaFullBlockDefinition;
|
|
19486
19903
|
var init_cta_full = __esm({
|
|
19487
19904
|
"../blocks/src/system/blocks/cta-full.ts"() {
|
|
19488
19905
|
"use strict";
|
|
@@ -19494,7 +19911,7 @@ var init_cta_full = __esm({
|
|
|
19494
19911
|
{ fragment: ctaCopyFragment },
|
|
19495
19912
|
{ fragment: ctaRowFragment }
|
|
19496
19913
|
]);
|
|
19497
|
-
|
|
19914
|
+
ctaFullConfig = {
|
|
19498
19915
|
id: "block.cta-full",
|
|
19499
19916
|
title: "Full-width CTA",
|
|
19500
19917
|
category: "marketing",
|
|
@@ -19512,7 +19929,8 @@ var init_cta_full = __esm({
|
|
|
19512
19929
|
description: "Centered call to action with optional background image.",
|
|
19513
19930
|
tags: ["cta", "call-to-action", "button", "conversion", "action", "sign-up", "get-started"],
|
|
19514
19931
|
icon: "Target"
|
|
19515
|
-
}
|
|
19932
|
+
};
|
|
19933
|
+
ctaFullManifest = createBlockManifest(ctaFullConfig);
|
|
19516
19934
|
ctaFullBlockDefinition = {
|
|
19517
19935
|
manifest: ctaFullManifest
|
|
19518
19936
|
};
|
|
@@ -22823,9 +23241,9 @@ var init_media_text = __esm({
|
|
|
22823
23241
|
{
|
|
22824
23242
|
id: "images",
|
|
22825
23243
|
type: "repeater",
|
|
22826
|
-
label: "
|
|
23244
|
+
label: "Media",
|
|
22827
23245
|
required: false,
|
|
22828
|
-
itemLabel: "
|
|
23246
|
+
itemLabel: "Media",
|
|
22829
23247
|
minItems: 0,
|
|
22830
23248
|
maxItems: 6,
|
|
22831
23249
|
allowConversion: true,
|
|
@@ -22839,9 +23257,9 @@ var init_media_text = __esm({
|
|
|
22839
23257
|
{
|
|
22840
23258
|
id: "image",
|
|
22841
23259
|
type: "media",
|
|
22842
|
-
label: "
|
|
23260
|
+
label: "Media",
|
|
22843
23261
|
required: true,
|
|
22844
|
-
mediaKinds: ["image"]
|
|
23262
|
+
mediaKinds: ["image", "video"]
|
|
22845
23263
|
}
|
|
22846
23264
|
]
|
|
22847
23265
|
}
|
|
@@ -22919,8 +23337,8 @@ var init_media_text = __esm({
|
|
|
22919
23337
|
{
|
|
22920
23338
|
id: "aspectRatio",
|
|
22921
23339
|
type: "select",
|
|
22922
|
-
label: "
|
|
22923
|
-
description: "Crop
|
|
23340
|
+
label: "Media aspect ratio",
|
|
23341
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
22924
23342
|
required: false,
|
|
22925
23343
|
defaultValue: "auto",
|
|
22926
23344
|
multiple: false,
|
|
@@ -23107,8 +23525,8 @@ var init_media_text = __esm({
|
|
|
23107
23525
|
}
|
|
23108
23526
|
};
|
|
23109
23527
|
})(),
|
|
23110
|
-
description: "Two columns:
|
|
23111
|
-
tags: ["media", "image", "carousel", "text", "two-column", "layout"],
|
|
23528
|
+
description: "Two columns: media/carousel + rich text (with optional section title).",
|
|
23529
|
+
tags: ["media", "image", "video", "carousel", "text", "two-column", "layout"],
|
|
23112
23530
|
icon: "Columns"
|
|
23113
23531
|
});
|
|
23114
23532
|
mediaTextBlockDefinition = {
|
|
@@ -23244,7 +23662,7 @@ var init_types15 = __esm({
|
|
|
23244
23662
|
|
|
23245
23663
|
// ../blocks/src/lib/media.ts
|
|
23246
23664
|
import z41 from "zod";
|
|
23247
|
-
var PUBLIC_DOWNLOAD_MEDIA_TYPES, hotspotSchema2, rotationSchema2, rectSchema2, aspectCropSchema2, transformSchema2, mediaBaseSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema2;
|
|
23665
|
+
var PUBLIC_DOWNLOAD_MEDIA_TYPES, hotspotSchema2, rotationSchema2, rectSchema2, aspectCropSchema2, transformSchema2, mediaPosterSchema, mediaBaseSchema, imageMediaSchema, videoMediaSchema, audioMediaSchema, documentMediaSchema, spreadsheetMediaSchema, archiveMediaSchema, mediaSchema2;
|
|
23248
23666
|
var init_media4 = __esm({
|
|
23249
23667
|
"../blocks/src/lib/media.ts"() {
|
|
23250
23668
|
"use strict";
|
|
@@ -23279,6 +23697,19 @@ var init_media4 = __esm({
|
|
|
23279
23697
|
hotspot: hotspotSchema2.optional(),
|
|
23280
23698
|
rotation: rotationSchema2.optional()
|
|
23281
23699
|
});
|
|
23700
|
+
mediaPosterSchema = z41.discriminatedUnion("tag", [
|
|
23701
|
+
z41.object({
|
|
23702
|
+
tag: z41.literal("storage"),
|
|
23703
|
+
assetId: z41.string().optional(),
|
|
23704
|
+
storageBucket: z41.string().min(1),
|
|
23705
|
+
storagePath: z41.string().min(1)
|
|
23706
|
+
}),
|
|
23707
|
+
z41.object({
|
|
23708
|
+
tag: z41.literal("external-src"),
|
|
23709
|
+
assetId: z41.string().optional(),
|
|
23710
|
+
src: z41.string().url()
|
|
23711
|
+
})
|
|
23712
|
+
]);
|
|
23282
23713
|
mediaBaseSchema = z41.object({
|
|
23283
23714
|
purpose: z41.string().optional(),
|
|
23284
23715
|
placeholder: z41.boolean().default(true).optional(),
|
|
@@ -23292,6 +23723,7 @@ var init_media4 = __esm({
|
|
|
23292
23723
|
height: z41.number().optional(),
|
|
23293
23724
|
storageBucket: z41.string().optional(),
|
|
23294
23725
|
storagePath: z41.string().optional(),
|
|
23726
|
+
poster: mediaPosterSchema.optional(),
|
|
23295
23727
|
transform: transformSchema2.optional()
|
|
23296
23728
|
});
|
|
23297
23729
|
imageMediaSchema = mediaBaseSchema.extend({ type: z41.literal("image") });
|
|
@@ -23831,16 +24263,39 @@ var init_event_registration_shared = __esm({
|
|
|
23831
24263
|
}
|
|
23832
24264
|
});
|
|
23833
24265
|
|
|
24266
|
+
// ../blocks/src/system/constants/events.ts
|
|
24267
|
+
function isEventCalendarDisplayMode(value) {
|
|
24268
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
24269
|
+
}
|
|
24270
|
+
function isEventCalendarListLayout(value) {
|
|
24271
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
24272
|
+
}
|
|
24273
|
+
var eventCalendarDisplayModeValues, eventCalendarListLayoutValues, eventCalendarListLayoutOptions;
|
|
24274
|
+
var init_events = __esm({
|
|
24275
|
+
"../blocks/src/system/constants/events.ts"() {
|
|
24276
|
+
"use strict";
|
|
24277
|
+
eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
24278
|
+
eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
24279
|
+
eventCalendarListLayoutOptions = [
|
|
24280
|
+
{ id: "stack", label: "Stack" },
|
|
24281
|
+
{ id: "grid", label: "Grid" },
|
|
24282
|
+
{ id: "compact", label: "Compact" }
|
|
24283
|
+
];
|
|
24284
|
+
}
|
|
24285
|
+
});
|
|
24286
|
+
|
|
23834
24287
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
23835
24288
|
import { z as z46 } from "zod";
|
|
23836
|
-
var previewStageSchema, registrationButtonVariantSchema, eventButtonVariantSchema, eventLayoutSchema, columnOptionSchema, weekStartSchema, filterAutoShowSchema, calendarTabViewsSchema;
|
|
24289
|
+
var previewStageSchema, registrationButtonVariantSchema, eventButtonVariantSchema, eventLayoutSchema, eventCalendarDisplayModeSchema, columnOptionSchema, weekStartSchema, filterAutoShowSchema, calendarTabViewsSchema;
|
|
23837
24290
|
var init_contract_schemas = __esm({
|
|
23838
24291
|
"../blocks/src/system/runtime/nodes/shared/contract-schemas.ts"() {
|
|
23839
24292
|
"use strict";
|
|
24293
|
+
init_events();
|
|
23840
24294
|
previewStageSchema = z46.enum(["preview", "published"]);
|
|
23841
24295
|
registrationButtonVariantSchema = z46.enum(["primary", "secondary", "outline"]);
|
|
23842
24296
|
eventButtonVariantSchema = z46.enum(["primary", "secondary", "outline", "link"]);
|
|
23843
|
-
eventLayoutSchema = z46.enum(
|
|
24297
|
+
eventLayoutSchema = z46.enum(eventCalendarListLayoutValues);
|
|
24298
|
+
eventCalendarDisplayModeSchema = z46.enum(eventCalendarDisplayModeValues);
|
|
23844
24299
|
columnOptionSchema = z46.enum(["2", "3", "4"]);
|
|
23845
24300
|
weekStartSchema = z46.enum(["sunday", "monday"]);
|
|
23846
24301
|
filterAutoShowSchema = z46.enum(["auto", "always", "never"]);
|
|
@@ -25435,7 +25890,7 @@ var init_EventListing_interactive = __esm({
|
|
|
25435
25890
|
});
|
|
25436
25891
|
|
|
25437
25892
|
// ../blocks/src/system/blocks/events/event-listing.ts
|
|
25438
|
-
var eventListingManifest, eventListingBlockDefinition;
|
|
25893
|
+
var eventListingAdditionalFields, eventListingLayout, eventListingDerivedFields, eventListingContentShape, eventListingConfig, eventListingManifest, eventListingBlockDefinition;
|
|
25439
25894
|
var init_event_listing = __esm({
|
|
25440
25895
|
"../blocks/src/system/blocks/events/event-listing.ts"() {
|
|
25441
25896
|
"use strict";
|
|
@@ -25448,7 +25903,232 @@ var init_event_listing = __esm({
|
|
|
25448
25903
|
init_defineBlock();
|
|
25449
25904
|
init_EventListing_interactive();
|
|
25450
25905
|
init_shared3();
|
|
25451
|
-
|
|
25906
|
+
eventListingAdditionalFields = [
|
|
25907
|
+
...sectionHeaderFields("All Events"),
|
|
25908
|
+
...(() => {
|
|
25909
|
+
const columns = columnsField(["2", "3", "4"]);
|
|
25910
|
+
return [
|
|
25911
|
+
{
|
|
25912
|
+
...layoutField,
|
|
25913
|
+
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
25914
|
+
},
|
|
25915
|
+
{
|
|
25916
|
+
...columns,
|
|
25917
|
+
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
25918
|
+
}
|
|
25919
|
+
];
|
|
25920
|
+
})(),
|
|
25921
|
+
{
|
|
25922
|
+
id: "eventsPerPage",
|
|
25923
|
+
type: "select",
|
|
25924
|
+
label: "Events per page",
|
|
25925
|
+
description: "Number of events to load at a time",
|
|
25926
|
+
required: false,
|
|
25927
|
+
multiple: false,
|
|
25928
|
+
defaultValue: "12",
|
|
25929
|
+
options: [
|
|
25930
|
+
{ value: "3", label: "3 events" },
|
|
25931
|
+
{ value: "6", label: "6 events" },
|
|
25932
|
+
{ value: "12", label: "12 events" },
|
|
25933
|
+
{ value: "24", label: "24 events" }
|
|
25934
|
+
],
|
|
25935
|
+
ui: { intent: "display" }
|
|
25936
|
+
},
|
|
25937
|
+
{
|
|
25938
|
+
id: "paginationMode",
|
|
25939
|
+
type: "select",
|
|
25940
|
+
label: "More events",
|
|
25941
|
+
description: "How to access events beyond the initial list",
|
|
25942
|
+
required: false,
|
|
25943
|
+
multiple: false,
|
|
25944
|
+
defaultValue: "loadMore",
|
|
25945
|
+
options: [
|
|
25946
|
+
{ value: "loadMore", label: "Load more button" },
|
|
25947
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
25948
|
+
],
|
|
25949
|
+
ui: { intent: "display" }
|
|
25950
|
+
},
|
|
25951
|
+
{
|
|
25952
|
+
id: "seeAllUrl",
|
|
25953
|
+
type: "link",
|
|
25954
|
+
label: "See all destination",
|
|
25955
|
+
required: false,
|
|
25956
|
+
ui: {
|
|
25957
|
+
intent: "display",
|
|
25958
|
+
visibleWhen: {
|
|
25959
|
+
field: "paginationMode",
|
|
25960
|
+
equals: "seeAllLink"
|
|
25961
|
+
}
|
|
25962
|
+
}
|
|
25963
|
+
},
|
|
25964
|
+
{
|
|
25965
|
+
id: "loadMoreText",
|
|
25966
|
+
type: "text",
|
|
25967
|
+
label: "Button text",
|
|
25968
|
+
description: "Text for the pagination button or link",
|
|
25969
|
+
required: false,
|
|
25970
|
+
multiline: false,
|
|
25971
|
+
defaultValue: "Load more events",
|
|
25972
|
+
maxLength: 40
|
|
25973
|
+
},
|
|
25974
|
+
...cardStylingFields.map((field) => ({
|
|
25975
|
+
...field,
|
|
25976
|
+
ui: { ...field.ui ?? {}, intent: "style" }
|
|
25977
|
+
})),
|
|
25978
|
+
...eventDisplayFields.map((field) => ({
|
|
25979
|
+
...field,
|
|
25980
|
+
ui: { ...field.ui ?? {}, intent: "display" }
|
|
25981
|
+
})),
|
|
25982
|
+
{
|
|
25983
|
+
id: "kind",
|
|
25984
|
+
type: "select",
|
|
25985
|
+
label: "Show",
|
|
25986
|
+
description: "Choose whether this list shows courses, events, or both",
|
|
25987
|
+
required: false,
|
|
25988
|
+
multiple: false,
|
|
25989
|
+
defaultValue: "all",
|
|
25990
|
+
options: [
|
|
25991
|
+
{ value: "all", label: "Courses and events" },
|
|
25992
|
+
{ value: "courses", label: "Courses only" },
|
|
25993
|
+
{ value: "events", label: "Events only" }
|
|
25994
|
+
],
|
|
25995
|
+
ui: { intent: "behavior" }
|
|
25996
|
+
},
|
|
25997
|
+
{
|
|
25998
|
+
id: "eventSurface",
|
|
25999
|
+
type: "select",
|
|
26000
|
+
label: "Event surface",
|
|
26001
|
+
description: "Choose a semantic event scope",
|
|
26002
|
+
required: false,
|
|
26003
|
+
multiple: false,
|
|
26004
|
+
defaultValue: "all",
|
|
26005
|
+
options: [
|
|
26006
|
+
{ value: "all", label: "All events" },
|
|
26007
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
26008
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
26009
|
+
{ value: "custom", label: "Custom" }
|
|
26010
|
+
],
|
|
26011
|
+
ui: { intent: "behavior" }
|
|
26012
|
+
},
|
|
26013
|
+
{
|
|
26014
|
+
id: "filterEventPresets",
|
|
26015
|
+
type: "select",
|
|
26016
|
+
label: "Pre-filter by event type",
|
|
26017
|
+
description: "Restrict this block to specific event types",
|
|
26018
|
+
required: false,
|
|
26019
|
+
multiple: true,
|
|
26020
|
+
defaultValue: [],
|
|
26021
|
+
options: [
|
|
26022
|
+
{ value: "class", label: "Classes" },
|
|
26023
|
+
{ value: "workshop", label: "Workshops" },
|
|
26024
|
+
{ value: "retreat", label: "Retreats" },
|
|
26025
|
+
{ value: "performance", label: "Performances" }
|
|
26026
|
+
],
|
|
26027
|
+
ui: {
|
|
26028
|
+
intent: "behavior",
|
|
26029
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
26030
|
+
}
|
|
26031
|
+
},
|
|
26032
|
+
{
|
|
26033
|
+
id: "scheduleScope",
|
|
26034
|
+
type: "select",
|
|
26035
|
+
label: "Schedule cadence",
|
|
26036
|
+
description: "Restrict this block by recurrence",
|
|
26037
|
+
required: false,
|
|
26038
|
+
multiple: false,
|
|
26039
|
+
defaultValue: "any",
|
|
26040
|
+
options: [
|
|
26041
|
+
{ value: "any", label: "Any cadence" },
|
|
26042
|
+
{ value: "recurring", label: "Recurring only" },
|
|
26043
|
+
{ value: "oneOff", label: "One-off only" }
|
|
26044
|
+
],
|
|
26045
|
+
ui: {
|
|
26046
|
+
intent: "behavior",
|
|
26047
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
26048
|
+
}
|
|
26049
|
+
},
|
|
26050
|
+
{
|
|
26051
|
+
...emptyStateField,
|
|
26052
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
26053
|
+
},
|
|
26054
|
+
sectionStylesField({
|
|
26055
|
+
id: "_sectionStyles",
|
|
26056
|
+
label: "Section styles",
|
|
26057
|
+
renderInHeader: false
|
|
26058
|
+
})
|
|
26059
|
+
];
|
|
26060
|
+
eventListingLayout = [
|
|
26061
|
+
styledSection({
|
|
26062
|
+
children: sectionContainer([
|
|
26063
|
+
// Optional heading
|
|
26064
|
+
text(
|
|
26065
|
+
{ as: "h2" },
|
|
26066
|
+
bind("content.heading"),
|
|
26067
|
+
when("content.heading")
|
|
26068
|
+
),
|
|
26069
|
+
// Optional description
|
|
26070
|
+
richText(
|
|
26071
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
26072
|
+
bind("content.description"),
|
|
26073
|
+
when("content.description")
|
|
26074
|
+
),
|
|
26075
|
+
// Event listing component with pagination
|
|
26076
|
+
el("event-listing", withApiBindings({
|
|
26077
|
+
events: { $bind: { from: "data.events" } },
|
|
26078
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
26079
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
26080
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
26081
|
+
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
26082
|
+
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
26083
|
+
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
26084
|
+
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
26085
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
26086
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
26087
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
26088
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
26089
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
26090
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
26091
|
+
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
26092
|
+
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
26093
|
+
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
26094
|
+
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
26095
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
26096
|
+
}))
|
|
26097
|
+
], {
|
|
26098
|
+
gap: "lg"
|
|
26099
|
+
}),
|
|
26100
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
26101
|
+
baseClass: "",
|
|
26102
|
+
spacing: "comfortable"
|
|
26103
|
+
})
|
|
26104
|
+
];
|
|
26105
|
+
eventListingDerivedFields = [
|
|
26106
|
+
{
|
|
26107
|
+
id: "layout",
|
|
26108
|
+
type: "select",
|
|
26109
|
+
required: false,
|
|
26110
|
+
multiple: false,
|
|
26111
|
+
options: [
|
|
26112
|
+
{ value: "grid" },
|
|
26113
|
+
{ value: "stack" }
|
|
26114
|
+
]
|
|
26115
|
+
},
|
|
26116
|
+
{
|
|
26117
|
+
id: "paginationMode",
|
|
26118
|
+
type: "select",
|
|
26119
|
+
required: false,
|
|
26120
|
+
multiple: false,
|
|
26121
|
+
options: [
|
|
26122
|
+
{ value: "loadMore" },
|
|
26123
|
+
{ value: "seeAllLink" }
|
|
26124
|
+
]
|
|
26125
|
+
}
|
|
26126
|
+
];
|
|
26127
|
+
eventListingContentShape = {
|
|
26128
|
+
additionalFields: eventListingDerivedFields,
|
|
26129
|
+
skipSectionStyles: true
|
|
26130
|
+
};
|
|
26131
|
+
eventListingConfig = {
|
|
25452
26132
|
id: "block.event-listing",
|
|
25453
26133
|
version: "1.1.0",
|
|
25454
26134
|
title: "Event Listing",
|
|
@@ -25456,211 +26136,18 @@ var init_event_listing = __esm({
|
|
|
25456
26136
|
description: "Paginated list of all upcoming events",
|
|
25457
26137
|
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
25458
26138
|
skipSectionStyles: true,
|
|
25459
|
-
additionalFields:
|
|
25460
|
-
...sectionHeaderFields("All Events"),
|
|
25461
|
-
...(() => {
|
|
25462
|
-
const columns = columnsField(["2", "3", "4"]);
|
|
25463
|
-
return [
|
|
25464
|
-
{
|
|
25465
|
-
...layoutField,
|
|
25466
|
-
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
25467
|
-
},
|
|
25468
|
-
{
|
|
25469
|
-
...columns,
|
|
25470
|
-
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
25471
|
-
}
|
|
25472
|
-
];
|
|
25473
|
-
})(),
|
|
25474
|
-
{
|
|
25475
|
-
id: "eventsPerPage",
|
|
25476
|
-
type: "select",
|
|
25477
|
-
label: "Events per page",
|
|
25478
|
-
description: "Number of events to load at a time",
|
|
25479
|
-
required: false,
|
|
25480
|
-
multiple: false,
|
|
25481
|
-
defaultValue: "12",
|
|
25482
|
-
options: [
|
|
25483
|
-
{ value: "3", label: "3 events" },
|
|
25484
|
-
{ value: "6", label: "6 events" },
|
|
25485
|
-
{ value: "12", label: "12 events" },
|
|
25486
|
-
{ value: "24", label: "24 events" }
|
|
25487
|
-
],
|
|
25488
|
-
ui: { intent: "display" }
|
|
25489
|
-
},
|
|
25490
|
-
{
|
|
25491
|
-
id: "paginationMode",
|
|
25492
|
-
type: "select",
|
|
25493
|
-
label: "More events",
|
|
25494
|
-
description: "How to access events beyond the initial list",
|
|
25495
|
-
required: false,
|
|
25496
|
-
multiple: false,
|
|
25497
|
-
defaultValue: "loadMore",
|
|
25498
|
-
options: [
|
|
25499
|
-
{ value: "loadMore", label: "Load more button" },
|
|
25500
|
-
{ value: "seeAllLink", label: "Link to another page" }
|
|
25501
|
-
],
|
|
25502
|
-
ui: { intent: "display" }
|
|
25503
|
-
},
|
|
25504
|
-
{
|
|
25505
|
-
id: "seeAllUrl",
|
|
25506
|
-
type: "link",
|
|
25507
|
-
label: "See all destination",
|
|
25508
|
-
required: false,
|
|
25509
|
-
ui: {
|
|
25510
|
-
intent: "display",
|
|
25511
|
-
visibleWhen: {
|
|
25512
|
-
field: "paginationMode",
|
|
25513
|
-
equals: "seeAllLink"
|
|
25514
|
-
}
|
|
25515
|
-
}
|
|
25516
|
-
},
|
|
25517
|
-
{
|
|
25518
|
-
id: "loadMoreText",
|
|
25519
|
-
type: "text",
|
|
25520
|
-
label: "Button text",
|
|
25521
|
-
description: "Text for the pagination button or link",
|
|
25522
|
-
required: false,
|
|
25523
|
-
multiline: false,
|
|
25524
|
-
defaultValue: "Load more events",
|
|
25525
|
-
maxLength: 40
|
|
25526
|
-
},
|
|
25527
|
-
...cardStylingFields.map((field) => ({
|
|
25528
|
-
...field,
|
|
25529
|
-
ui: { ...field.ui ?? {}, intent: "style" }
|
|
25530
|
-
})),
|
|
25531
|
-
...eventDisplayFields.map((field) => ({
|
|
25532
|
-
...field,
|
|
25533
|
-
ui: { ...field.ui ?? {}, intent: "display" }
|
|
25534
|
-
})),
|
|
25535
|
-
{
|
|
25536
|
-
id: "kind",
|
|
25537
|
-
type: "select",
|
|
25538
|
-
label: "Show",
|
|
25539
|
-
description: "Choose whether this list shows courses, events, or both",
|
|
25540
|
-
required: false,
|
|
25541
|
-
multiple: false,
|
|
25542
|
-
defaultValue: "all",
|
|
25543
|
-
options: [
|
|
25544
|
-
{ value: "all", label: "Courses and events" },
|
|
25545
|
-
{ value: "courses", label: "Courses only" },
|
|
25546
|
-
{ value: "events", label: "Events only" }
|
|
25547
|
-
],
|
|
25548
|
-
ui: { intent: "behavior" }
|
|
25549
|
-
},
|
|
25550
|
-
{
|
|
25551
|
-
id: "eventSurface",
|
|
25552
|
-
type: "select",
|
|
25553
|
-
label: "Event surface",
|
|
25554
|
-
description: "Choose a semantic event scope",
|
|
25555
|
-
required: false,
|
|
25556
|
-
multiple: false,
|
|
25557
|
-
defaultValue: "all",
|
|
25558
|
-
options: [
|
|
25559
|
-
{ value: "all", label: "All events" },
|
|
25560
|
-
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
25561
|
-
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
25562
|
-
{ value: "custom", label: "Custom" }
|
|
25563
|
-
],
|
|
25564
|
-
ui: { intent: "behavior" }
|
|
25565
|
-
},
|
|
25566
|
-
{
|
|
25567
|
-
id: "filterEventPresets",
|
|
25568
|
-
type: "select",
|
|
25569
|
-
label: "Pre-filter by event type",
|
|
25570
|
-
description: "Restrict this block to specific event types",
|
|
25571
|
-
required: false,
|
|
25572
|
-
multiple: true,
|
|
25573
|
-
defaultValue: [],
|
|
25574
|
-
options: [
|
|
25575
|
-
{ value: "class", label: "Classes" },
|
|
25576
|
-
{ value: "workshop", label: "Workshops" },
|
|
25577
|
-
{ value: "retreat", label: "Retreats" },
|
|
25578
|
-
{ value: "performance", label: "Performances" }
|
|
25579
|
-
],
|
|
25580
|
-
ui: {
|
|
25581
|
-
intent: "behavior",
|
|
25582
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
25583
|
-
}
|
|
25584
|
-
},
|
|
25585
|
-
{
|
|
25586
|
-
id: "scheduleScope",
|
|
25587
|
-
type: "select",
|
|
25588
|
-
label: "Schedule cadence",
|
|
25589
|
-
description: "Restrict this block by recurrence",
|
|
25590
|
-
required: false,
|
|
25591
|
-
multiple: false,
|
|
25592
|
-
defaultValue: "any",
|
|
25593
|
-
options: [
|
|
25594
|
-
{ value: "any", label: "Any cadence" },
|
|
25595
|
-
{ value: "recurring", label: "Recurring only" },
|
|
25596
|
-
{ value: "oneOff", label: "One-off only" }
|
|
25597
|
-
],
|
|
25598
|
-
ui: {
|
|
25599
|
-
intent: "behavior",
|
|
25600
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
25601
|
-
}
|
|
25602
|
-
},
|
|
25603
|
-
{
|
|
25604
|
-
...emptyStateField,
|
|
25605
|
-
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
25606
|
-
},
|
|
25607
|
-
sectionStylesField({
|
|
25608
|
-
id: "_sectionStyles",
|
|
25609
|
-
label: "Section styles",
|
|
25610
|
-
renderInHeader: false
|
|
25611
|
-
})
|
|
25612
|
-
],
|
|
26139
|
+
additionalFields: eventListingAdditionalFields,
|
|
25613
26140
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
25614
26141
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: true },
|
|
25615
26142
|
category: "interactive",
|
|
25616
26143
|
tags: ["events", "listing", "paginated", "archive", "all-events"],
|
|
25617
26144
|
icon: "List",
|
|
25618
|
-
layout:
|
|
25619
|
-
|
|
25620
|
-
|
|
25621
|
-
|
|
25622
|
-
|
|
25623
|
-
|
|
25624
|
-
bind("content.heading"),
|
|
25625
|
-
when("content.heading")
|
|
25626
|
-
),
|
|
25627
|
-
// Optional description
|
|
25628
|
-
richText(
|
|
25629
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
25630
|
-
bind("content.description"),
|
|
25631
|
-
when("content.description")
|
|
25632
|
-
),
|
|
25633
|
-
// Event listing component with pagination
|
|
25634
|
-
el("event-listing", withApiBindings({
|
|
25635
|
-
events: { $bind: { from: "data.events" } },
|
|
25636
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
25637
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
25638
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
25639
|
-
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
25640
|
-
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
25641
|
-
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
25642
|
-
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
25643
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
25644
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
25645
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
25646
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
25647
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
25648
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
25649
|
-
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
25650
|
-
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
25651
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
25652
|
-
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
25653
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
25654
|
-
}))
|
|
25655
|
-
], {
|
|
25656
|
-
gap: "lg"
|
|
25657
|
-
}),
|
|
25658
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
25659
|
-
baseClass: "",
|
|
25660
|
-
spacing: "comfortable"
|
|
25661
|
-
})
|
|
25662
|
-
]
|
|
25663
|
-
});
|
|
26145
|
+
layout: eventListingLayout
|
|
26146
|
+
};
|
|
26147
|
+
eventListingManifest = createBlockManifestWithContentShape(
|
|
26148
|
+
eventListingConfig,
|
|
26149
|
+
eventListingContentShape
|
|
26150
|
+
);
|
|
25664
26151
|
eventListingBlockDefinition = {
|
|
25665
26152
|
manifest: eventListingManifest,
|
|
25666
26153
|
runtime: eventListingBlockRuntime,
|
|
@@ -25692,7 +26179,7 @@ import { z as z53 } from "zod";
|
|
|
25692
26179
|
function buildEventCalendarDisplay(source) {
|
|
25693
26180
|
return {
|
|
25694
26181
|
kind: "event-calendar",
|
|
25695
|
-
displayMode: source.displayMode ?? "combined",
|
|
26182
|
+
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
25696
26183
|
className: source.className ?? null,
|
|
25697
26184
|
events: (source.events ?? []).slice().sort(
|
|
25698
26185
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
@@ -25724,7 +26211,7 @@ function buildEventCalendarDisplay(source) {
|
|
|
25724
26211
|
emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
|
|
25725
26212
|
};
|
|
25726
26213
|
}
|
|
25727
|
-
var
|
|
26214
|
+
var eventBlockKindSchema2, eventSurfaceScopeSchema2, eventScheduleScopeSchema3, eventCalendarSourceSchema, eventCalendarDisplaySchema, eventCalendarHydrationSchema, eventCalendarRenderSchema, eventCalendarIslandMetaCodec, eventCalendarIslandMetaKeys, eventCalendarBlockRuntime, eventCalendarInteractiveIslandPropsCodec;
|
|
25728
26215
|
var init_EventCalendar_interactive = __esm({
|
|
25729
26216
|
"../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts"() {
|
|
25730
26217
|
"use strict";
|
|
@@ -25733,7 +26220,6 @@ var init_EventCalendar_interactive = __esm({
|
|
|
25733
26220
|
init_islands();
|
|
25734
26221
|
init_runtime();
|
|
25735
26222
|
init_contract_schemas();
|
|
25736
|
-
displayModeSchema = z53.enum(["combined", "month", "week", "list", "timetable"]);
|
|
25737
26223
|
eventBlockKindSchema2 = z53.enum(eventBlockKindValues);
|
|
25738
26224
|
eventSurfaceScopeSchema2 = z53.enum(eventSurfaceScopeValues);
|
|
25739
26225
|
eventScheduleScopeSchema3 = z53.enum(eventScheduleScopeValues);
|
|
@@ -25743,7 +26229,8 @@ var init_EventCalendar_interactive = __esm({
|
|
|
25743
26229
|
siteId: z53.string(),
|
|
25744
26230
|
apiBaseUrl: z53.string().optional(),
|
|
25745
26231
|
stage: previewStageSchema.optional(),
|
|
25746
|
-
|
|
26232
|
+
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
26233
|
+
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
25747
26234
|
listLayout: eventLayoutSchema.optional(),
|
|
25748
26235
|
listColumns: columnOptionSchema.optional(),
|
|
25749
26236
|
layout: eventLayoutSchema.optional(),
|
|
@@ -25775,7 +26262,7 @@ var init_EventCalendar_interactive = __esm({
|
|
|
25775
26262
|
);
|
|
25776
26263
|
eventCalendarDisplaySchema = z53.object({
|
|
25777
26264
|
kind: z53.literal("event-calendar"),
|
|
25778
|
-
displayMode:
|
|
26265
|
+
displayMode: eventCalendarDisplayModeSchema,
|
|
25779
26266
|
className: z53.string().nullable(),
|
|
25780
26267
|
events: z53.array(publicEventSchema),
|
|
25781
26268
|
listLayout: eventLayoutSchema,
|
|
@@ -25864,8 +26351,12 @@ var init_EventCalendar_interactive = __esm({
|
|
|
25864
26351
|
function normalizeEventCalendarContent(content) {
|
|
25865
26352
|
const record = typeof content === "object" && content !== null ? content : {};
|
|
25866
26353
|
const kind = normalizeEventBlockKind(record.kind);
|
|
26354
|
+
const variant = normalizeEventCalendarDisplayMode(record.variant) ?? normalizeEventCalendarDisplayMode(record.displayMode);
|
|
25867
26355
|
return {
|
|
25868
26356
|
...record,
|
|
26357
|
+
...variant ? { variant } : {},
|
|
26358
|
+
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
26359
|
+
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
25869
26360
|
kind,
|
|
25870
26361
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
25871
26362
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -25877,7 +26368,13 @@ function normalizeEventCalendarContent(content) {
|
|
|
25877
26368
|
filterVenueId: normalizeEventVenueId(record.filterVenueId)
|
|
25878
26369
|
};
|
|
25879
26370
|
}
|
|
25880
|
-
|
|
26371
|
+
function normalizeEventCalendarDisplayMode(value) {
|
|
26372
|
+
return isEventCalendarDisplayMode(value) ? value : void 0;
|
|
26373
|
+
}
|
|
26374
|
+
function normalizeEventCalendarListLayout(value) {
|
|
26375
|
+
return isEventCalendarListLayout(value) ? value : void 0;
|
|
26376
|
+
}
|
|
26377
|
+
var eventCalendarLayout, eventCalendarAdditionalFields, eventCalendarVariants, eventCalendarDerivedFields, eventCalendarContentShape, eventCalendarConfig, eventCalendarManifest, eventCalendarBlockDefinition;
|
|
25881
26378
|
var init_event_calendar = __esm({
|
|
25882
26379
|
"../blocks/src/system/blocks/events/event-calendar.ts"() {
|
|
25883
26380
|
"use strict";
|
|
@@ -25889,357 +26386,512 @@ var init_event_calendar = __esm({
|
|
|
25889
26386
|
init_boxStyles();
|
|
25890
26387
|
init_api_bindings();
|
|
25891
26388
|
init_defineBlock();
|
|
26389
|
+
init_events();
|
|
25892
26390
|
init_shared3();
|
|
25893
26391
|
init_EventCalendar_interactive();
|
|
25894
|
-
|
|
25895
|
-
|
|
25896
|
-
|
|
25897
|
-
|
|
25898
|
-
|
|
25899
|
-
|
|
25900
|
-
|
|
25901
|
-
|
|
25902
|
-
|
|
25903
|
-
|
|
25904
|
-
|
|
25905
|
-
|
|
25906
|
-
|
|
25907
|
-
|
|
25908
|
-
|
|
25909
|
-
|
|
25910
|
-
|
|
25911
|
-
|
|
25912
|
-
|
|
25913
|
-
|
|
25914
|
-
|
|
25915
|
-
|
|
25916
|
-
|
|
25917
|
-
|
|
25918
|
-
|
|
25919
|
-
|
|
25920
|
-
|
|
25921
|
-
|
|
25922
|
-
|
|
25923
|
-
|
|
25924
|
-
|
|
25925
|
-
|
|
25926
|
-
|
|
25927
|
-
|
|
25928
|
-
|
|
25929
|
-
|
|
25930
|
-
|
|
25931
|
-
|
|
25932
|
-
|
|
25933
|
-
|
|
25934
|
-
|
|
25935
|
-
|
|
25936
|
-
|
|
25937
|
-
|
|
25938
|
-
|
|
25939
|
-
|
|
25940
|
-
|
|
25941
|
-
|
|
25942
|
-
|
|
25943
|
-
|
|
25944
|
-
|
|
25945
|
-
|
|
25946
|
-
|
|
25947
|
-
|
|
25948
|
-
|
|
25949
|
-
|
|
25950
|
-
|
|
25951
|
-
|
|
25952
|
-
|
|
25953
|
-
|
|
25954
|
-
|
|
25955
|
-
|
|
25956
|
-
|
|
25957
|
-
|
|
25958
|
-
|
|
25959
|
-
|
|
25960
|
-
|
|
25961
|
-
|
|
25962
|
-
|
|
25963
|
-
|
|
25964
|
-
|
|
25965
|
-
|
|
25966
|
-
|
|
25967
|
-
|
|
25968
|
-
|
|
25969
|
-
|
|
25970
|
-
|
|
25971
|
-
|
|
25972
|
-
|
|
25973
|
-
|
|
25974
|
-
|
|
25975
|
-
|
|
25976
|
-
|
|
25977
|
-
|
|
25978
|
-
|
|
25979
|
-
|
|
25980
|
-
|
|
25981
|
-
|
|
25982
|
-
|
|
25983
|
-
|
|
25984
|
-
|
|
25985
|
-
|
|
25986
|
-
|
|
25987
|
-
|
|
25988
|
-
|
|
25989
|
-
|
|
25990
|
-
ui: {
|
|
25991
|
-
intent: "display",
|
|
25992
|
-
visibleWhen: { field: "listLayout", equals: "compact" }
|
|
25993
|
-
}
|
|
25994
|
-
},
|
|
25995
|
-
{
|
|
25996
|
-
id: "loadMoreText",
|
|
25997
|
-
type: "text",
|
|
25998
|
-
label: "Load more button text",
|
|
25999
|
-
description: "Text for the load more button",
|
|
26000
|
-
required: false,
|
|
26001
|
-
multiline: false,
|
|
26002
|
-
defaultValue: "Load more events",
|
|
26003
|
-
ui: {
|
|
26004
|
-
intent: "content",
|
|
26005
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list"] }
|
|
26006
|
-
}
|
|
26007
|
-
},
|
|
26008
|
-
// Calendar options
|
|
26009
|
-
{
|
|
26010
|
-
id: "startOfWeek",
|
|
26011
|
-
type: "select",
|
|
26012
|
-
label: "Week starts on",
|
|
26013
|
-
description: "First day of the week",
|
|
26014
|
-
required: false,
|
|
26015
|
-
multiple: false,
|
|
26016
|
-
defaultValue: "monday",
|
|
26017
|
-
options: [
|
|
26018
|
-
{ value: "sunday", label: "Sunday" },
|
|
26019
|
-
{ value: "monday", label: "Monday" }
|
|
26020
|
-
],
|
|
26021
|
-
ui: {
|
|
26022
|
-
intent: "display",
|
|
26023
|
-
visibleWhen: {
|
|
26024
|
-
field: "displayMode",
|
|
26025
|
-
oneOf: ["combined", "month", "week"]
|
|
26026
|
-
}
|
|
26027
|
-
}
|
|
26028
|
-
},
|
|
26029
|
-
// Combined mode options
|
|
26030
|
-
{
|
|
26031
|
-
id: "calendarTabViews",
|
|
26032
|
-
type: "select",
|
|
26033
|
-
label: "Calendar tab views",
|
|
26034
|
-
description: "Which calendar views to show in the Calendar tab",
|
|
26035
|
-
required: false,
|
|
26036
|
-
multiple: false,
|
|
26037
|
-
defaultValue: "both",
|
|
26038
|
-
options: [
|
|
26039
|
-
{ value: "both", label: "Month + Week toggle" },
|
|
26040
|
-
{ value: "month", label: "Month only" },
|
|
26041
|
-
{ value: "week", label: "Week only" }
|
|
26042
|
-
],
|
|
26043
|
-
ui: {
|
|
26044
|
-
intent: "display",
|
|
26045
|
-
visibleWhen: { field: "displayMode", equals: "combined" }
|
|
26046
|
-
}
|
|
26047
|
-
},
|
|
26048
|
-
// Filtering options
|
|
26049
|
-
{
|
|
26050
|
-
id: "kind",
|
|
26051
|
-
type: "select",
|
|
26052
|
-
label: "Show",
|
|
26053
|
-
description: "Restrict this block to all offerings, courses, or events",
|
|
26054
|
-
required: false,
|
|
26055
|
-
multiple: false,
|
|
26056
|
-
defaultValue: "all",
|
|
26057
|
-
options: [
|
|
26058
|
-
{ value: "all", label: "All offerings" },
|
|
26059
|
-
{ value: "courses", label: "Courses only" },
|
|
26060
|
-
{ value: "events", label: "Events only" }
|
|
26061
|
-
],
|
|
26062
|
-
ui: { intent: "behavior" }
|
|
26063
|
-
},
|
|
26064
|
-
{
|
|
26065
|
-
id: "showFilters",
|
|
26066
|
-
type: "boolean",
|
|
26067
|
-
label: "Show filters",
|
|
26068
|
-
description: "Show category, staff, and venue filters",
|
|
26069
|
-
required: false,
|
|
26070
|
-
defaultValue: true,
|
|
26071
|
-
ui: {
|
|
26072
|
-
intent: "display",
|
|
26073
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
26074
|
-
}
|
|
26075
|
-
},
|
|
26076
|
-
{
|
|
26077
|
-
id: "showCategoryFilter",
|
|
26078
|
-
type: "select",
|
|
26079
|
-
label: "Show category filter",
|
|
26080
|
-
description: "When to show the category filter dropdown",
|
|
26081
|
-
required: false,
|
|
26082
|
-
multiple: false,
|
|
26083
|
-
defaultValue: "auto",
|
|
26084
|
-
options: [
|
|
26085
|
-
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
26086
|
-
{ value: "always", label: "Always" },
|
|
26087
|
-
{ value: "never", label: "Never" }
|
|
26392
|
+
eventCalendarLayout = [
|
|
26393
|
+
styledSection({
|
|
26394
|
+
children: sectionContainer(
|
|
26395
|
+
[
|
|
26396
|
+
// Optional heading
|
|
26397
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
26398
|
+
// Optional description
|
|
26399
|
+
richText(
|
|
26400
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
26401
|
+
bind("content.description"),
|
|
26402
|
+
when("content.description")
|
|
26403
|
+
),
|
|
26404
|
+
// Event calendar component (handles all display modes)
|
|
26405
|
+
el(
|
|
26406
|
+
"event-calendar",
|
|
26407
|
+
withApiBindings({
|
|
26408
|
+
events: { $bind: { from: "data.events" } },
|
|
26409
|
+
stage: {
|
|
26410
|
+
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
26411
|
+
},
|
|
26412
|
+
// Variant is the new Theme V2-facing display mode. displayMode is
|
|
26413
|
+
// retained as a legacy fallback for existing content.
|
|
26414
|
+
variant: {
|
|
26415
|
+
$bind: { from: "content.variant" }
|
|
26416
|
+
},
|
|
26417
|
+
displayMode: {
|
|
26418
|
+
$bind: { from: "content.displayMode" }
|
|
26419
|
+
},
|
|
26420
|
+
// List options
|
|
26421
|
+
listLayout: { $bind: { from: "content.listLayout" } },
|
|
26422
|
+
listColumns: { $bind: { from: "content.listColumns" } },
|
|
26423
|
+
// Legacy compatibility: older event-calendar content used layout/columns
|
|
26424
|
+
layout: { $bind: { from: "content.layout" } },
|
|
26425
|
+
columns: { $bind: { from: "content.columns" } },
|
|
26426
|
+
eventsPerPage: {
|
|
26427
|
+
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
26428
|
+
},
|
|
26429
|
+
compactEventsPerPage: {
|
|
26430
|
+
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
26431
|
+
},
|
|
26432
|
+
loadMoreText: {
|
|
26433
|
+
$bind: {
|
|
26434
|
+
from: "content.loadMoreText",
|
|
26435
|
+
fallback: "Load more events"
|
|
26436
|
+
}
|
|
26437
|
+
},
|
|
26438
|
+
// Calendar options
|
|
26439
|
+
startOfWeek: {
|
|
26440
|
+
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
26441
|
+
},
|
|
26442
|
+
calendarTabViews: {
|
|
26443
|
+
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
26444
|
+
},
|
|
26445
|
+
// Filtering options
|
|
26446
|
+
showFilters: {
|
|
26447
|
+
$bind: { from: "content.showFilters", fallback: true }
|
|
26448
|
+
},
|
|
26449
|
+
showCategoryFilter: {
|
|
26450
|
+
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
26451
|
+
},
|
|
26452
|
+
showVenueFilter: {
|
|
26453
|
+
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
26454
|
+
},
|
|
26455
|
+
showStaffFilter: {
|
|
26456
|
+
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
26457
|
+
},
|
|
26458
|
+
showCapacity: {
|
|
26459
|
+
$bind: { from: "content.showCapacity", fallback: true }
|
|
26460
|
+
},
|
|
26461
|
+
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
26462
|
+
eventSurface: {
|
|
26463
|
+
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
26464
|
+
},
|
|
26465
|
+
filterEventPresets: {
|
|
26466
|
+
$bind: { from: "content.filterEventPresets" }
|
|
26467
|
+
},
|
|
26468
|
+
scheduleScope: {
|
|
26469
|
+
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
26470
|
+
},
|
|
26471
|
+
filterCategoryIds: {
|
|
26472
|
+
$bind: { from: "content.filterCategoryIds" }
|
|
26473
|
+
},
|
|
26474
|
+
filterStaffMemberId: {
|
|
26475
|
+
$bind: { from: "content.filterStaffMemberId" }
|
|
26476
|
+
},
|
|
26477
|
+
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
26478
|
+
// Styling
|
|
26479
|
+
buttonVariant: {
|
|
26480
|
+
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
26481
|
+
},
|
|
26482
|
+
buttonText: {
|
|
26483
|
+
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
26484
|
+
},
|
|
26485
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
26486
|
+
})
|
|
26487
|
+
)
|
|
26088
26488
|
],
|
|
26089
|
-
|
|
26090
|
-
|
|
26091
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
26092
|
-
}
|
|
26093
|
-
},
|
|
26094
|
-
{
|
|
26095
|
-
id: "showVenueFilter",
|
|
26096
|
-
type: "boolean",
|
|
26097
|
-
label: "Show venue filter",
|
|
26098
|
-
description: "Show venue filter dropdown",
|
|
26099
|
-
required: false,
|
|
26100
|
-
defaultValue: false,
|
|
26101
|
-
ui: {
|
|
26102
|
-
intent: "display",
|
|
26103
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
26104
|
-
}
|
|
26105
|
-
},
|
|
26106
|
-
{
|
|
26107
|
-
id: "showStaffFilter",
|
|
26108
|
-
type: "boolean",
|
|
26109
|
-
label: "Show staff filter",
|
|
26110
|
-
description: "Show staff filter dropdown",
|
|
26111
|
-
required: false,
|
|
26112
|
-
defaultValue: true,
|
|
26113
|
-
ui: {
|
|
26114
|
-
intent: "display",
|
|
26115
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
26116
|
-
}
|
|
26117
|
-
},
|
|
26118
|
-
{
|
|
26119
|
-
id: "showCapacity",
|
|
26120
|
-
type: "boolean",
|
|
26121
|
-
label: "Show available spots",
|
|
26122
|
-
description: "Display remaining capacity on event cards and timetable cells",
|
|
26123
|
-
required: false,
|
|
26124
|
-
defaultValue: true,
|
|
26125
|
-
ui: {
|
|
26126
|
-
intent: "display",
|
|
26127
|
-
visibleWhen: {
|
|
26128
|
-
field: "displayMode",
|
|
26129
|
-
oneOf: ["combined", "list", "week", "timetable"]
|
|
26130
|
-
}
|
|
26489
|
+
{
|
|
26490
|
+
gap: "lg"
|
|
26131
26491
|
}
|
|
26132
|
-
|
|
26133
|
-
//
|
|
26134
|
-
|
|
26135
|
-
|
|
26136
|
-
|
|
26137
|
-
|
|
26138
|
-
|
|
26139
|
-
|
|
26140
|
-
|
|
26141
|
-
|
|
26142
|
-
|
|
26143
|
-
|
|
26144
|
-
|
|
26145
|
-
|
|
26146
|
-
|
|
26147
|
-
|
|
26148
|
-
|
|
26149
|
-
|
|
26150
|
-
|
|
26151
|
-
|
|
26152
|
-
|
|
26153
|
-
|
|
26154
|
-
|
|
26155
|
-
|
|
26156
|
-
|
|
26157
|
-
|
|
26158
|
-
|
|
26159
|
-
|
|
26160
|
-
|
|
26161
|
-
|
|
26162
|
-
|
|
26163
|
-
|
|
26164
|
-
|
|
26165
|
-
|
|
26166
|
-
|
|
26492
|
+
),
|
|
26493
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
26494
|
+
baseClass: "",
|
|
26495
|
+
spacing: "comfortable"
|
|
26496
|
+
})
|
|
26497
|
+
];
|
|
26498
|
+
eventCalendarAdditionalFields = [
|
|
26499
|
+
...sectionHeaderFields("Event Calendar"),
|
|
26500
|
+
// Display Mode (replaces calendarView)
|
|
26501
|
+
{
|
|
26502
|
+
id: "displayMode",
|
|
26503
|
+
type: "select",
|
|
26504
|
+
label: "Display mode",
|
|
26505
|
+
description: "How events are displayed",
|
|
26506
|
+
required: false,
|
|
26507
|
+
multiple: false,
|
|
26508
|
+
defaultValue: "combined",
|
|
26509
|
+
options: [
|
|
26510
|
+
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
26511
|
+
{ value: "month", label: "Month calendar" },
|
|
26512
|
+
{ value: "week", label: "Week agenda" },
|
|
26513
|
+
{ value: "timetable", label: "Timetable" },
|
|
26514
|
+
{ value: "list", label: "List" }
|
|
26515
|
+
],
|
|
26516
|
+
ui: { intent: "display", hidden: true }
|
|
26517
|
+
},
|
|
26518
|
+
// List options (visible when displayMode is list or combined)
|
|
26519
|
+
{
|
|
26520
|
+
id: "listLayout",
|
|
26521
|
+
type: "select",
|
|
26522
|
+
label: "List layout",
|
|
26523
|
+
description: "Layout style for list view",
|
|
26524
|
+
required: false,
|
|
26525
|
+
multiple: false,
|
|
26526
|
+
defaultValue: "stack",
|
|
26527
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
26528
|
+
value: option.id,
|
|
26529
|
+
label: option.label
|
|
26530
|
+
})),
|
|
26531
|
+
ui: {
|
|
26532
|
+
intent: "display",
|
|
26533
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
26534
|
+
}
|
|
26535
|
+
},
|
|
26536
|
+
{
|
|
26537
|
+
id: "listColumns",
|
|
26538
|
+
type: "select",
|
|
26539
|
+
label: "Grid columns",
|
|
26540
|
+
description: "Number of columns in grid layout",
|
|
26541
|
+
required: false,
|
|
26542
|
+
multiple: false,
|
|
26543
|
+
defaultValue: "3",
|
|
26544
|
+
options: [
|
|
26545
|
+
{ value: "2", label: "2 columns" },
|
|
26546
|
+
{ value: "3", label: "3 columns" },
|
|
26547
|
+
{ value: "4", label: "4 columns" }
|
|
26548
|
+
],
|
|
26549
|
+
ui: {
|
|
26550
|
+
intent: "display",
|
|
26551
|
+
visibleWhen: { field: "listLayout", equals: "grid" }
|
|
26552
|
+
}
|
|
26553
|
+
},
|
|
26554
|
+
{
|
|
26555
|
+
id: "eventsPerPage",
|
|
26556
|
+
type: "select",
|
|
26557
|
+
label: "Events per page (cards)",
|
|
26558
|
+
description: "Number of events to load initially in card layouts",
|
|
26559
|
+
required: false,
|
|
26560
|
+
multiple: false,
|
|
26561
|
+
defaultValue: "12",
|
|
26562
|
+
options: [
|
|
26563
|
+
{ value: "6", label: "6" },
|
|
26564
|
+
{ value: "12", label: "12" },
|
|
26565
|
+
{ value: "24", label: "24" }
|
|
26566
|
+
],
|
|
26567
|
+
ui: {
|
|
26568
|
+
intent: "display",
|
|
26569
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
26570
|
+
}
|
|
26571
|
+
},
|
|
26572
|
+
{
|
|
26573
|
+
id: "compactEventsPerPage",
|
|
26574
|
+
type: "select",
|
|
26575
|
+
label: "Events per page (compact)",
|
|
26576
|
+
description: "Number of events to show per page in compact layout",
|
|
26577
|
+
required: false,
|
|
26578
|
+
multiple: false,
|
|
26579
|
+
defaultValue: "10",
|
|
26580
|
+
options: [
|
|
26581
|
+
{ value: "10", label: "10" },
|
|
26582
|
+
{ value: "20", label: "20" },
|
|
26583
|
+
{ value: "30", label: "30" }
|
|
26584
|
+
],
|
|
26585
|
+
ui: {
|
|
26586
|
+
intent: "display",
|
|
26587
|
+
visibleWhen: { field: "listLayout", equals: "compact" }
|
|
26588
|
+
}
|
|
26589
|
+
},
|
|
26590
|
+
{
|
|
26591
|
+
id: "loadMoreText",
|
|
26592
|
+
type: "text",
|
|
26593
|
+
label: "Load more button text",
|
|
26594
|
+
description: "Text for the load more button",
|
|
26595
|
+
required: false,
|
|
26596
|
+
multiline: false,
|
|
26597
|
+
defaultValue: "Load more events",
|
|
26598
|
+
ui: {
|
|
26599
|
+
intent: "content",
|
|
26600
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
26601
|
+
}
|
|
26602
|
+
},
|
|
26603
|
+
// Calendar options
|
|
26604
|
+
{
|
|
26605
|
+
id: "startOfWeek",
|
|
26606
|
+
type: "select",
|
|
26607
|
+
label: "Week starts on",
|
|
26608
|
+
description: "First day of the week",
|
|
26609
|
+
required: false,
|
|
26610
|
+
multiple: false,
|
|
26611
|
+
defaultValue: "monday",
|
|
26612
|
+
options: [
|
|
26613
|
+
{ value: "sunday", label: "Sunday" },
|
|
26614
|
+
{ value: "monday", label: "Monday" }
|
|
26615
|
+
],
|
|
26616
|
+
ui: {
|
|
26617
|
+
intent: "display",
|
|
26618
|
+
visibleWhen: {
|
|
26619
|
+
field: "variant",
|
|
26620
|
+
oneOf: ["combined", "month", "week"]
|
|
26167
26621
|
}
|
|
26168
|
-
}
|
|
26169
|
-
|
|
26170
|
-
|
|
26171
|
-
|
|
26172
|
-
|
|
26173
|
-
|
|
26174
|
-
|
|
26175
|
-
|
|
26176
|
-
|
|
26177
|
-
|
|
26178
|
-
|
|
26179
|
-
|
|
26180
|
-
|
|
26181
|
-
|
|
26182
|
-
|
|
26183
|
-
|
|
26184
|
-
|
|
26622
|
+
}
|
|
26623
|
+
},
|
|
26624
|
+
// Combined mode options
|
|
26625
|
+
{
|
|
26626
|
+
id: "calendarTabViews",
|
|
26627
|
+
type: "select",
|
|
26628
|
+
label: "Calendar tab views",
|
|
26629
|
+
description: "Which calendar views to show in the Calendar tab",
|
|
26630
|
+
required: false,
|
|
26631
|
+
multiple: false,
|
|
26632
|
+
defaultValue: "both",
|
|
26633
|
+
options: [
|
|
26634
|
+
{ value: "both", label: "Month + Week toggle" },
|
|
26635
|
+
{ value: "month", label: "Month only" },
|
|
26636
|
+
{ value: "week", label: "Week only" }
|
|
26637
|
+
],
|
|
26638
|
+
ui: {
|
|
26639
|
+
intent: "display",
|
|
26640
|
+
visibleWhen: { field: "variant", equals: "combined" }
|
|
26641
|
+
}
|
|
26642
|
+
},
|
|
26643
|
+
// Filtering options
|
|
26644
|
+
{
|
|
26645
|
+
id: "kind",
|
|
26646
|
+
type: "select",
|
|
26647
|
+
label: "Show",
|
|
26648
|
+
description: "Restrict this block to all offerings, courses, or events",
|
|
26649
|
+
required: false,
|
|
26650
|
+
multiple: false,
|
|
26651
|
+
defaultValue: "all",
|
|
26652
|
+
options: [
|
|
26653
|
+
{ value: "all", label: "All offerings" },
|
|
26654
|
+
{ value: "courses", label: "Courses only" },
|
|
26655
|
+
{ value: "events", label: "Events only" }
|
|
26656
|
+
],
|
|
26657
|
+
ui: { intent: "behavior" }
|
|
26658
|
+
},
|
|
26659
|
+
{
|
|
26660
|
+
id: "showFilters",
|
|
26661
|
+
type: "boolean",
|
|
26662
|
+
label: "Show filters",
|
|
26663
|
+
description: "Show category, staff, and venue filters",
|
|
26664
|
+
required: false,
|
|
26665
|
+
defaultValue: true,
|
|
26666
|
+
ui: {
|
|
26667
|
+
intent: "display",
|
|
26668
|
+
visibleWhen: {
|
|
26669
|
+
field: "variant",
|
|
26670
|
+
oneOf: ["combined", "list", "timetable"]
|
|
26185
26671
|
}
|
|
26186
|
-
}
|
|
26187
|
-
|
|
26188
|
-
|
|
26189
|
-
|
|
26190
|
-
|
|
26191
|
-
|
|
26192
|
-
|
|
26193
|
-
|
|
26194
|
-
|
|
26195
|
-
|
|
26196
|
-
|
|
26197
|
-
|
|
26198
|
-
|
|
26672
|
+
}
|
|
26673
|
+
},
|
|
26674
|
+
{
|
|
26675
|
+
id: "showCategoryFilter",
|
|
26676
|
+
type: "select",
|
|
26677
|
+
label: "Show category filter",
|
|
26678
|
+
description: "When to show the category filter dropdown",
|
|
26679
|
+
required: false,
|
|
26680
|
+
multiple: false,
|
|
26681
|
+
defaultValue: "auto",
|
|
26682
|
+
options: [
|
|
26683
|
+
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
26684
|
+
{ value: "always", label: "Always" },
|
|
26685
|
+
{ value: "never", label: "Never" }
|
|
26686
|
+
],
|
|
26687
|
+
ui: {
|
|
26688
|
+
intent: "display",
|
|
26689
|
+
visibleWhen: {
|
|
26690
|
+
field: "variant",
|
|
26691
|
+
oneOf: ["combined", "list", "timetable"]
|
|
26199
26692
|
}
|
|
26200
|
-
}
|
|
26201
|
-
|
|
26202
|
-
|
|
26203
|
-
|
|
26204
|
-
|
|
26205
|
-
|
|
26206
|
-
|
|
26207
|
-
|
|
26208
|
-
|
|
26209
|
-
|
|
26210
|
-
|
|
26693
|
+
}
|
|
26694
|
+
},
|
|
26695
|
+
{
|
|
26696
|
+
id: "showVenueFilter",
|
|
26697
|
+
type: "boolean",
|
|
26698
|
+
label: "Show venue filter",
|
|
26699
|
+
description: "Show venue filter dropdown",
|
|
26700
|
+
required: false,
|
|
26701
|
+
defaultValue: false,
|
|
26702
|
+
ui: {
|
|
26703
|
+
intent: "display",
|
|
26704
|
+
visibleWhen: {
|
|
26705
|
+
field: "variant",
|
|
26706
|
+
oneOf: ["combined", "list", "timetable"]
|
|
26211
26707
|
}
|
|
26212
|
-
}
|
|
26213
|
-
|
|
26214
|
-
|
|
26215
|
-
|
|
26216
|
-
|
|
26217
|
-
|
|
26218
|
-
|
|
26219
|
-
|
|
26220
|
-
|
|
26221
|
-
|
|
26222
|
-
|
|
26708
|
+
}
|
|
26709
|
+
},
|
|
26710
|
+
{
|
|
26711
|
+
id: "showStaffFilter",
|
|
26712
|
+
type: "boolean",
|
|
26713
|
+
label: "Show staff filter",
|
|
26714
|
+
description: "Show staff filter dropdown",
|
|
26715
|
+
required: false,
|
|
26716
|
+
defaultValue: true,
|
|
26717
|
+
ui: {
|
|
26718
|
+
intent: "display",
|
|
26719
|
+
visibleWhen: {
|
|
26720
|
+
field: "variant",
|
|
26721
|
+
oneOf: ["combined", "list", "timetable"]
|
|
26223
26722
|
}
|
|
26224
|
-
}
|
|
26225
|
-
|
|
26226
|
-
|
|
26227
|
-
|
|
26228
|
-
|
|
26229
|
-
|
|
26230
|
-
|
|
26723
|
+
}
|
|
26724
|
+
},
|
|
26725
|
+
{
|
|
26726
|
+
id: "showCapacity",
|
|
26727
|
+
type: "boolean",
|
|
26728
|
+
label: "Show available spots",
|
|
26729
|
+
description: "Display remaining capacity on event cards and timetable cells",
|
|
26730
|
+
required: false,
|
|
26731
|
+
defaultValue: true,
|
|
26732
|
+
ui: {
|
|
26733
|
+
intent: "display",
|
|
26734
|
+
visibleWhen: {
|
|
26735
|
+
field: "variant",
|
|
26736
|
+
oneOf: ["combined", "list", "week", "timetable"]
|
|
26231
26737
|
}
|
|
26232
|
-
}
|
|
26233
|
-
|
|
26234
|
-
|
|
26235
|
-
|
|
26236
|
-
|
|
26237
|
-
|
|
26238
|
-
|
|
26239
|
-
|
|
26240
|
-
|
|
26241
|
-
|
|
26242
|
-
|
|
26738
|
+
}
|
|
26739
|
+
},
|
|
26740
|
+
// Block-level pre-filtering
|
|
26741
|
+
{
|
|
26742
|
+
id: "eventSurface",
|
|
26743
|
+
type: "select",
|
|
26744
|
+
label: "Event surface",
|
|
26745
|
+
description: "Choose a semantic event scope",
|
|
26746
|
+
required: false,
|
|
26747
|
+
multiple: false,
|
|
26748
|
+
defaultValue: "all",
|
|
26749
|
+
options: [
|
|
26750
|
+
{ value: "all", label: "All events" },
|
|
26751
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
26752
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
26753
|
+
{ value: "custom", label: "Custom" }
|
|
26754
|
+
],
|
|
26755
|
+
ui: { intent: "behavior" }
|
|
26756
|
+
},
|
|
26757
|
+
{
|
|
26758
|
+
id: "filterEventPresets",
|
|
26759
|
+
type: "select",
|
|
26760
|
+
label: "Pre-filter by event type",
|
|
26761
|
+
description: "Restrict this block to specific event types",
|
|
26762
|
+
required: false,
|
|
26763
|
+
multiple: true,
|
|
26764
|
+
defaultValue: [],
|
|
26765
|
+
options: [
|
|
26766
|
+
{ value: "class", label: "Classes" },
|
|
26767
|
+
{ value: "workshop", label: "Workshops" },
|
|
26768
|
+
{ value: "retreat", label: "Retreats" },
|
|
26769
|
+
{ value: "performance", label: "Performances" }
|
|
26770
|
+
],
|
|
26771
|
+
ui: {
|
|
26772
|
+
intent: "behavior",
|
|
26773
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
26774
|
+
}
|
|
26775
|
+
},
|
|
26776
|
+
{
|
|
26777
|
+
id: "scheduleScope",
|
|
26778
|
+
type: "select",
|
|
26779
|
+
label: "Schedule cadence",
|
|
26780
|
+
description: "Restrict this block by recurrence",
|
|
26781
|
+
required: false,
|
|
26782
|
+
multiple: false,
|
|
26783
|
+
defaultValue: "any",
|
|
26784
|
+
options: [
|
|
26785
|
+
{ value: "any", label: "Any cadence" },
|
|
26786
|
+
{ value: "recurring", label: "Recurring only" },
|
|
26787
|
+
{ value: "oneOff", label: "One-off only" }
|
|
26788
|
+
],
|
|
26789
|
+
ui: {
|
|
26790
|
+
intent: "behavior",
|
|
26791
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
26792
|
+
}
|
|
26793
|
+
},
|
|
26794
|
+
createSiteOptionSelectField({
|
|
26795
|
+
id: "filterCategoryIds",
|
|
26796
|
+
label: "Pre-filter by categories",
|
|
26797
|
+
description: "Restrict this block to specific event categories",
|
|
26798
|
+
required: false,
|
|
26799
|
+
multiple: true,
|
|
26800
|
+
defaultValue: [],
|
|
26801
|
+
optionSource: "eventCategories",
|
|
26802
|
+
ui: {
|
|
26803
|
+
intent: "behavior",
|
|
26804
|
+
searchThreshold: 8,
|
|
26805
|
+
visibleWhen: { field: "kind", notEquals: "courses" }
|
|
26806
|
+
}
|
|
26807
|
+
}),
|
|
26808
|
+
createSiteOptionSelectField({
|
|
26809
|
+
id: "filterStaffMemberId",
|
|
26810
|
+
label: "Pre-filter by staff member",
|
|
26811
|
+
description: "Restrict this block to a single staff member",
|
|
26812
|
+
required: false,
|
|
26813
|
+
multiple: false,
|
|
26814
|
+
optionSource: "staffMembers",
|
|
26815
|
+
ui: {
|
|
26816
|
+
intent: "behavior",
|
|
26817
|
+
searchThreshold: 8
|
|
26818
|
+
}
|
|
26819
|
+
}),
|
|
26820
|
+
createSiteOptionSelectField({
|
|
26821
|
+
id: "filterVenueId",
|
|
26822
|
+
label: "Pre-filter by venue",
|
|
26823
|
+
description: "Restrict this block to a single venue",
|
|
26824
|
+
required: false,
|
|
26825
|
+
multiple: false,
|
|
26826
|
+
optionSource: "venues",
|
|
26827
|
+
ui: {
|
|
26828
|
+
intent: "behavior",
|
|
26829
|
+
searchThreshold: 8
|
|
26830
|
+
}
|
|
26831
|
+
}),
|
|
26832
|
+
// Card styling
|
|
26833
|
+
...cardStylingFields.filter((f) => f.id === "buttonVariant" || f.id === "buttonText").map((field) => ({
|
|
26834
|
+
...field,
|
|
26835
|
+
ui: {
|
|
26836
|
+
...field.ui ?? {},
|
|
26837
|
+
intent: field.id === "buttonVariant" ? "style" : "content"
|
|
26838
|
+
}
|
|
26839
|
+
})),
|
|
26840
|
+
{
|
|
26841
|
+
...emptyStateField,
|
|
26842
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
26843
|
+
},
|
|
26844
|
+
sectionStylesField({
|
|
26845
|
+
id: "_sectionStyles",
|
|
26846
|
+
label: "Section styles",
|
|
26847
|
+
renderInHeader: false
|
|
26848
|
+
})
|
|
26849
|
+
];
|
|
26850
|
+
eventCalendarVariants = {
|
|
26851
|
+
combined: eventCalendarLayout[0],
|
|
26852
|
+
month: eventCalendarLayout[0],
|
|
26853
|
+
week: eventCalendarLayout[0],
|
|
26854
|
+
timetable: eventCalendarLayout[0],
|
|
26855
|
+
list: eventCalendarLayout[0]
|
|
26856
|
+
};
|
|
26857
|
+
eventCalendarDerivedFields = [
|
|
26858
|
+
{
|
|
26859
|
+
id: "displayMode",
|
|
26860
|
+
type: "select",
|
|
26861
|
+
required: false,
|
|
26862
|
+
multiple: false,
|
|
26863
|
+
options: [
|
|
26864
|
+
{ value: "combined" },
|
|
26865
|
+
{ value: "month" },
|
|
26866
|
+
{ value: "week" },
|
|
26867
|
+
{ value: "timetable" },
|
|
26868
|
+
{ value: "list" }
|
|
26869
|
+
]
|
|
26870
|
+
},
|
|
26871
|
+
{
|
|
26872
|
+
id: "listLayout",
|
|
26873
|
+
type: "select",
|
|
26874
|
+
required: false,
|
|
26875
|
+
multiple: false,
|
|
26876
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
26877
|
+
value: option.id
|
|
26878
|
+
}))
|
|
26879
|
+
}
|
|
26880
|
+
];
|
|
26881
|
+
eventCalendarContentShape = {
|
|
26882
|
+
additionalFields: eventCalendarDerivedFields,
|
|
26883
|
+
variants: eventCalendarVariants,
|
|
26884
|
+
skipSectionStyles: true
|
|
26885
|
+
};
|
|
26886
|
+
eventCalendarConfig = {
|
|
26887
|
+
id: "block.event-calendar",
|
|
26888
|
+
version: "3.6.0",
|
|
26889
|
+
title: "Event Calendar",
|
|
26890
|
+
titleSource: "heading",
|
|
26891
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
26892
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
26893
|
+
skipSectionStyles: true,
|
|
26894
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
26243
26895
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
26244
26896
|
behaviours: {
|
|
26245
26897
|
supportsThemeSwitching: true,
|
|
@@ -26259,109 +26911,21 @@ var init_event_calendar = __esm({
|
|
|
26259
26911
|
"filter"
|
|
26260
26912
|
],
|
|
26261
26913
|
icon: "CalendarDays",
|
|
26262
|
-
layout:
|
|
26263
|
-
|
|
26264
|
-
|
|
26265
|
-
|
|
26266
|
-
|
|
26267
|
-
|
|
26268
|
-
|
|
26269
|
-
|
|
26270
|
-
|
|
26271
|
-
|
|
26272
|
-
|
|
26273
|
-
|
|
26274
|
-
|
|
26275
|
-
|
|
26276
|
-
|
|
26277
|
-
withApiBindings({
|
|
26278
|
-
events: { $bind: { from: "data.events" } },
|
|
26279
|
-
stage: {
|
|
26280
|
-
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
26281
|
-
},
|
|
26282
|
-
// Display mode
|
|
26283
|
-
displayMode: {
|
|
26284
|
-
$bind: { from: "content.displayMode", fallback: "combined" }
|
|
26285
|
-
},
|
|
26286
|
-
// List options
|
|
26287
|
-
listLayout: { $bind: { from: "content.listLayout" } },
|
|
26288
|
-
listColumns: { $bind: { from: "content.listColumns" } },
|
|
26289
|
-
// Legacy compatibility: older event-calendar content used layout/columns
|
|
26290
|
-
layout: { $bind: { from: "content.layout" } },
|
|
26291
|
-
columns: { $bind: { from: "content.columns" } },
|
|
26292
|
-
eventsPerPage: {
|
|
26293
|
-
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
26294
|
-
},
|
|
26295
|
-
compactEventsPerPage: {
|
|
26296
|
-
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
26297
|
-
},
|
|
26298
|
-
loadMoreText: {
|
|
26299
|
-
$bind: {
|
|
26300
|
-
from: "content.loadMoreText",
|
|
26301
|
-
fallback: "Load more events"
|
|
26302
|
-
}
|
|
26303
|
-
},
|
|
26304
|
-
// Calendar options
|
|
26305
|
-
startOfWeek: {
|
|
26306
|
-
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
26307
|
-
},
|
|
26308
|
-
calendarTabViews: {
|
|
26309
|
-
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
26310
|
-
},
|
|
26311
|
-
// Filtering options
|
|
26312
|
-
showFilters: {
|
|
26313
|
-
$bind: { from: "content.showFilters", fallback: true }
|
|
26314
|
-
},
|
|
26315
|
-
showCategoryFilter: {
|
|
26316
|
-
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
26317
|
-
},
|
|
26318
|
-
showVenueFilter: {
|
|
26319
|
-
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
26320
|
-
},
|
|
26321
|
-
showStaffFilter: {
|
|
26322
|
-
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
26323
|
-
},
|
|
26324
|
-
showCapacity: {
|
|
26325
|
-
$bind: { from: "content.showCapacity", fallback: true }
|
|
26326
|
-
},
|
|
26327
|
-
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
26328
|
-
eventSurface: {
|
|
26329
|
-
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
26330
|
-
},
|
|
26331
|
-
filterEventPresets: {
|
|
26332
|
-
$bind: { from: "content.filterEventPresets" }
|
|
26333
|
-
},
|
|
26334
|
-
scheduleScope: {
|
|
26335
|
-
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
26336
|
-
},
|
|
26337
|
-
filterCategoryIds: {
|
|
26338
|
-
$bind: { from: "content.filterCategoryIds" }
|
|
26339
|
-
},
|
|
26340
|
-
filterStaffMemberId: {
|
|
26341
|
-
$bind: { from: "content.filterStaffMemberId" }
|
|
26342
|
-
},
|
|
26343
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
26344
|
-
// Styling
|
|
26345
|
-
buttonVariant: {
|
|
26346
|
-
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
26347
|
-
},
|
|
26348
|
-
buttonText: {
|
|
26349
|
-
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
26350
|
-
},
|
|
26351
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
26352
|
-
})
|
|
26353
|
-
)
|
|
26354
|
-
],
|
|
26355
|
-
{
|
|
26356
|
-
gap: "lg"
|
|
26357
|
-
}
|
|
26358
|
-
),
|
|
26359
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
26360
|
-
baseClass: "",
|
|
26361
|
-
spacing: "comfortable"
|
|
26362
|
-
})
|
|
26363
|
-
]
|
|
26364
|
-
});
|
|
26914
|
+
layout: eventCalendarLayout,
|
|
26915
|
+
variants: eventCalendarVariants,
|
|
26916
|
+
defaultVariant: "combined",
|
|
26917
|
+
variantOptions: {
|
|
26918
|
+
combined: { label: "Combined" },
|
|
26919
|
+
month: { label: "Month" },
|
|
26920
|
+
week: { label: "Week" },
|
|
26921
|
+
timetable: { label: "Timetable" },
|
|
26922
|
+
list: { label: "List" }
|
|
26923
|
+
}
|
|
26924
|
+
};
|
|
26925
|
+
eventCalendarManifest = createBlockManifestWithContentShape(
|
|
26926
|
+
eventCalendarConfig,
|
|
26927
|
+
eventCalendarContentShape
|
|
26928
|
+
);
|
|
26365
26929
|
eventCalendarBlockDefinition = {
|
|
26366
26930
|
manifest: eventCalendarManifest,
|
|
26367
26931
|
normalizeContent: normalizeEventCalendarContent,
|
|
@@ -26395,7 +26959,7 @@ var init_event_calendar = __esm({
|
|
|
26395
26959
|
});
|
|
26396
26960
|
|
|
26397
26961
|
// ../blocks/src/system/blocks/events/index.ts
|
|
26398
|
-
var
|
|
26962
|
+
var init_events2 = __esm({
|
|
26399
26963
|
"../blocks/src/system/blocks/events/index.ts"() {
|
|
26400
26964
|
"use strict";
|
|
26401
26965
|
init_shared3();
|
|
@@ -30626,6 +31190,14 @@ function mediaPanelCapable() {
|
|
|
30626
31190
|
itemSurfaces: "unsupported"
|
|
30627
31191
|
});
|
|
30628
31192
|
}
|
|
31193
|
+
function scheduleDetailsCapable() {
|
|
31194
|
+
return declareBlockDesignCapability({
|
|
31195
|
+
sectionSurfaces: "supported",
|
|
31196
|
+
contentFrames: ["plain"],
|
|
31197
|
+
itemSurfaces: "unsupported",
|
|
31198
|
+
tileTreatments: scheduleTileTreatments
|
|
31199
|
+
});
|
|
31200
|
+
}
|
|
30629
31201
|
function defaultBoundaryBias(visualWeight) {
|
|
30630
31202
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
30631
31203
|
}
|
|
@@ -30664,7 +31236,7 @@ function ensureSystemBlockDefinitionsRegistered() {
|
|
|
30664
31236
|
registerBlockDefinition(definition);
|
|
30665
31237
|
}
|
|
30666
31238
|
}
|
|
30667
|
-
var heroSectionHeights, heroImageSurfaceTreatments, heroImageSurfaceMotions, standardEyebrowTreatments, animatedEyebrowTreatments, allSectionSurfaces, heroSectionSurfaces, heroFlow, bodyFlow, mediaFlow, proofFlow, offeringsFlow, conversionFlow, siteChromeFlow, transactionalFlow, utilityFlow, systemBlockDefinitionsRaw, systemBlockDefinitions, defaultsRegistered;
|
|
31239
|
+
var heroSectionHeights, heroImageSurfaceTreatments, heroImageSurfaceMotions, standardEyebrowTreatments, animatedEyebrowTreatments, allSectionSurfaces, heroSectionSurfaces, scheduleTileTreatments, heroFlow, bodyFlow, mediaFlow, proofFlow, offeringsFlow, conversionFlow, siteChromeFlow, transactionalFlow, utilityFlow, systemBlockDefinitionsRaw, systemBlockDefinitions, defaultsRegistered;
|
|
30668
31240
|
var init_blocks2 = __esm({
|
|
30669
31241
|
"../blocks/src/system/blocks/index.ts"() {
|
|
30670
31242
|
"use strict";
|
|
@@ -30690,7 +31262,7 @@ var init_blocks2 = __esm({
|
|
|
30690
31262
|
init_course_registration();
|
|
30691
31263
|
init_event_details();
|
|
30692
31264
|
init_course_details();
|
|
30693
|
-
|
|
31265
|
+
init_events2();
|
|
30694
31266
|
init_embed();
|
|
30695
31267
|
init_image_gallery();
|
|
30696
31268
|
init_video_grid();
|
|
@@ -30725,7 +31297,7 @@ var init_blocks2 = __esm({
|
|
|
30725
31297
|
init_event_details();
|
|
30726
31298
|
init_course_registration();
|
|
30727
31299
|
init_course_details();
|
|
30728
|
-
|
|
31300
|
+
init_events2();
|
|
30729
31301
|
init_embed();
|
|
30730
31302
|
init_team_members();
|
|
30731
31303
|
init_image_gallery();
|
|
@@ -30772,14 +31344,21 @@ var init_blocks2 = __esm({
|
|
|
30772
31344
|
allSectionSurfaces = [
|
|
30773
31345
|
"base",
|
|
30774
31346
|
"muted-band",
|
|
30775
|
-
"accent-band"
|
|
31347
|
+
"accent-band",
|
|
31348
|
+
"brand-depth-band"
|
|
30776
31349
|
];
|
|
30777
31350
|
heroSectionSurfaces = [
|
|
30778
31351
|
"base",
|
|
30779
31352
|
"muted-band",
|
|
30780
31353
|
"accent-band",
|
|
31354
|
+
"brand-depth-band",
|
|
30781
31355
|
"hero-image"
|
|
30782
31356
|
];
|
|
31357
|
+
scheduleTileTreatments = [
|
|
31358
|
+
"default",
|
|
31359
|
+
"quiet",
|
|
31360
|
+
"brand-depth"
|
|
31361
|
+
];
|
|
30783
31362
|
heroFlow = {
|
|
30784
31363
|
defaultRole: "hero",
|
|
30785
31364
|
defaultWeight: "dominant",
|
|
@@ -30988,7 +31567,7 @@ var init_blocks2 = __esm({
|
|
|
30988
31567
|
flow: conversionFlow,
|
|
30989
31568
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
30990
31569
|
})),
|
|
30991
|
-
withDesignCapability("block.event-details", eventDetailsBlockDefinition,
|
|
31570
|
+
withDesignCapability("block.event-details", eventDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
30992
31571
|
flow: offeringsFlow,
|
|
30993
31572
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
30994
31573
|
})),
|
|
@@ -30996,7 +31575,7 @@ var init_blocks2 = __esm({
|
|
|
30996
31575
|
flow: conversionFlow,
|
|
30997
31576
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
30998
31577
|
})),
|
|
30999
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition,
|
|
31578
|
+
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
31000
31579
|
flow: offeringsFlow,
|
|
31001
31580
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
31002
31581
|
})),
|
|
@@ -31011,7 +31590,13 @@ var init_blocks2 = __esm({
|
|
|
31011
31590
|
})),
|
|
31012
31591
|
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
31013
31592
|
flow: offeringsFlow,
|
|
31014
|
-
layoutProfiles: [
|
|
31593
|
+
layoutProfiles: [
|
|
31594
|
+
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
31595
|
+
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
31596
|
+
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
31597
|
+
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
31598
|
+
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
31599
|
+
]
|
|
31015
31600
|
})),
|
|
31016
31601
|
// Friendly wrapper blocks
|
|
31017
31602
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
@@ -32377,6 +32962,7 @@ var init_src5 = __esm({
|
|
|
32377
32962
|
init_routes();
|
|
32378
32963
|
init_bookings();
|
|
32379
32964
|
init_bookingConfig();
|
|
32965
|
+
init_bookingRecords();
|
|
32380
32966
|
init_emailSettings();
|
|
32381
32967
|
init_eventEmailTemplates();
|
|
32382
32968
|
init_resources();
|