@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/next.mjs
CHANGED
|
@@ -1028,6 +1028,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1028
1028
|
auth: "user",
|
|
1029
1029
|
responseKind: "json"
|
|
1030
1030
|
},
|
|
1031
|
+
exportAppointmentServicesCsv: {
|
|
1032
|
+
path: "/sites/{siteId}/bookings/services/export.csv",
|
|
1033
|
+
method: "GET",
|
|
1034
|
+
tags: ["site-{siteId}", "bookings", "appointment-services-{siteId}"],
|
|
1035
|
+
errors: [],
|
|
1036
|
+
auth: "user",
|
|
1037
|
+
responseKind: "blob"
|
|
1038
|
+
},
|
|
1031
1039
|
createAppointmentService: {
|
|
1032
1040
|
path: "/sites/{siteId}/bookings/services",
|
|
1033
1041
|
method: "POST",
|
|
@@ -1296,6 +1304,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1296
1304
|
auth: "user",
|
|
1297
1305
|
responseKind: "json"
|
|
1298
1306
|
},
|
|
1307
|
+
exportCoursesCsv: {
|
|
1308
|
+
path: "/sites/{siteId}/bookings/courses/export.csv",
|
|
1309
|
+
method: "GET",
|
|
1310
|
+
tags: ["site-{siteId}", "bookings", "courses-{siteId}"],
|
|
1311
|
+
errors: [],
|
|
1312
|
+
auth: "user",
|
|
1313
|
+
responseKind: "blob"
|
|
1314
|
+
},
|
|
1299
1315
|
createCourse: {
|
|
1300
1316
|
path: "/sites/{siteId}/bookings/courses",
|
|
1301
1317
|
method: "POST",
|
|
@@ -1395,6 +1411,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
1395
1411
|
responseKind: "json",
|
|
1396
1412
|
errors: []
|
|
1397
1413
|
},
|
|
1414
|
+
exportCourseWaitlistCsv: {
|
|
1415
|
+
path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
|
|
1416
|
+
method: "GET",
|
|
1417
|
+
tags: ["site-{siteId}", "bookings", "courses-{courseId}"],
|
|
1418
|
+
auth: "user",
|
|
1419
|
+
responseKind: "blob",
|
|
1420
|
+
errors: []
|
|
1421
|
+
},
|
|
1398
1422
|
updateCourseEnrollment: {
|
|
1399
1423
|
path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
|
|
1400
1424
|
method: "PATCH",
|
|
@@ -3990,6 +4014,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
3990
4014
|
auth: "user",
|
|
3991
4015
|
responseKind: "json"
|
|
3992
4016
|
},
|
|
4017
|
+
exportEventSeriesCsv: {
|
|
4018
|
+
path: "/sites/{siteId}/bookings/event-series/export.csv",
|
|
4019
|
+
method: "GET",
|
|
4020
|
+
tags: ["site-{siteId}", "bookings", "event-series-{siteId}"],
|
|
4021
|
+
errors: [],
|
|
4022
|
+
auth: "user",
|
|
4023
|
+
responseKind: "blob"
|
|
4024
|
+
},
|
|
3993
4025
|
createEventSeries: {
|
|
3994
4026
|
path: "/sites/{siteId}/bookings/event-series",
|
|
3995
4027
|
method: "POST",
|
|
@@ -4058,6 +4090,60 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4058
4090
|
errors: [],
|
|
4059
4091
|
responseKind: "blob"
|
|
4060
4092
|
},
|
|
4093
|
+
getParticipantMessageRecipients: {
|
|
4094
|
+
path: "/sites/{siteId}/bookings/participant-messaging/recipients",
|
|
4095
|
+
method: "POST",
|
|
4096
|
+
tags: ["site-{siteId}"],
|
|
4097
|
+
auth: "user",
|
|
4098
|
+
errors: [
|
|
4099
|
+
"validation:invalid_input",
|
|
4100
|
+
"auth:forbidden",
|
|
4101
|
+
"resource:not_found",
|
|
4102
|
+
"server:internal_error"
|
|
4103
|
+
],
|
|
4104
|
+
responseKind: "json"
|
|
4105
|
+
},
|
|
4106
|
+
sendParticipantMessage: {
|
|
4107
|
+
path: "/sites/{siteId}/bookings/participant-messaging/send",
|
|
4108
|
+
method: "POST",
|
|
4109
|
+
tags: ["site-{siteId}"],
|
|
4110
|
+
auth: "user",
|
|
4111
|
+
errors: [
|
|
4112
|
+
"validation:invalid_input",
|
|
4113
|
+
"auth:forbidden",
|
|
4114
|
+
"resource:not_found",
|
|
4115
|
+
"resource:conflict",
|
|
4116
|
+
"server:internal_error"
|
|
4117
|
+
],
|
|
4118
|
+
responseKind: "json"
|
|
4119
|
+
},
|
|
4120
|
+
testParticipantMessage: {
|
|
4121
|
+
path: "/sites/{siteId}/bookings/participant-messaging/test",
|
|
4122
|
+
method: "POST",
|
|
4123
|
+
tags: ["site-{siteId}"],
|
|
4124
|
+
auth: "user",
|
|
4125
|
+
errors: [
|
|
4126
|
+
"validation:invalid_input",
|
|
4127
|
+
"auth:forbidden",
|
|
4128
|
+
"resource:not_found",
|
|
4129
|
+
"resource:conflict",
|
|
4130
|
+
"server:internal_error"
|
|
4131
|
+
],
|
|
4132
|
+
responseKind: "json"
|
|
4133
|
+
},
|
|
4134
|
+
listParticipantMessageHistory: {
|
|
4135
|
+
path: "/sites/{siteId}/bookings/participant-messaging/history",
|
|
4136
|
+
method: "POST",
|
|
4137
|
+
tags: ["site-{siteId}"],
|
|
4138
|
+
auth: "user",
|
|
4139
|
+
errors: [
|
|
4140
|
+
"validation:invalid_input",
|
|
4141
|
+
"auth:forbidden",
|
|
4142
|
+
"resource:not_found",
|
|
4143
|
+
"server:internal_error"
|
|
4144
|
+
],
|
|
4145
|
+
responseKind: "json"
|
|
4146
|
+
},
|
|
4061
4147
|
listEventSeriesWaitlist: {
|
|
4062
4148
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist",
|
|
4063
4149
|
method: "GET",
|
|
@@ -4066,6 +4152,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4066
4152
|
responseKind: "json",
|
|
4067
4153
|
errors: []
|
|
4068
4154
|
},
|
|
4155
|
+
exportEventSeriesWaitlistCsv: {
|
|
4156
|
+
path: "/sites/{siteId}/bookings/event-series/{seriesId}/waitlist/export.csv",
|
|
4157
|
+
method: "GET",
|
|
4158
|
+
tags: ["site-{siteId}", "bookings", "event-series-{seriesId}"],
|
|
4159
|
+
auth: "user",
|
|
4160
|
+
responseKind: "blob",
|
|
4161
|
+
errors: []
|
|
4162
|
+
},
|
|
4069
4163
|
addEventOccurrenceAttendee: {
|
|
4070
4164
|
path: "/sites/{siteId}/bookings/event-series/{seriesId}/occurrences/{occurrenceId}/attendees",
|
|
4071
4165
|
method: "POST",
|
|
@@ -4782,6 +4876,14 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4782
4876
|
auth: "user",
|
|
4783
4877
|
responseKind: "json"
|
|
4784
4878
|
},
|
|
4879
|
+
exportSiteCustomerPassesCsv: {
|
|
4880
|
+
path: "/sites/{siteId}/bookings/customer-passes/export.csv",
|
|
4881
|
+
method: "GET",
|
|
4882
|
+
tags: ["site-{siteId}", "bookings", "customer-passes-{siteId}"],
|
|
4883
|
+
auth: "user",
|
|
4884
|
+
responseKind: "blob",
|
|
4885
|
+
errors: []
|
|
4886
|
+
},
|
|
4785
4887
|
listSiteCustomerMemberships: {
|
|
4786
4888
|
path: "/sites/{siteId}/bookings/customer-memberships",
|
|
4787
4889
|
method: "GET",
|
|
@@ -4845,6 +4947,22 @@ var ENDPOINT_DEFINITIONS = {
|
|
|
4845
4947
|
auth: "user",
|
|
4846
4948
|
responseKind: "blob"
|
|
4847
4949
|
},
|
|
4950
|
+
exportBookingLedgerCsv: {
|
|
4951
|
+
path: "/sites/{siteId}/bookings/ledger/export.csv",
|
|
4952
|
+
method: "GET",
|
|
4953
|
+
tags: ["site-{siteId}", "bookings", "booking-ledger-{siteId}"],
|
|
4954
|
+
errors: [],
|
|
4955
|
+
auth: "user",
|
|
4956
|
+
responseKind: "blob"
|
|
4957
|
+
},
|
|
4958
|
+
exportBookingQuestionAnswersCsv: {
|
|
4959
|
+
path: "/sites/{siteId}/bookings/intake-answers/export.csv",
|
|
4960
|
+
method: "GET",
|
|
4961
|
+
tags: ["site-{siteId}", "bookings", "intake-answers-{siteId}"],
|
|
4962
|
+
errors: [],
|
|
4963
|
+
auth: "user",
|
|
4964
|
+
responseKind: "blob"
|
|
4965
|
+
},
|
|
4848
4966
|
// Site logs
|
|
4849
4967
|
listSiteActivityLogs: {
|
|
4850
4968
|
path: "/sites/{siteId}/logs/activity",
|
|
@@ -6588,7 +6706,11 @@ function resolveRepeaterGridColumnFieldId(options) {
|
|
|
6588
6706
|
|
|
6589
6707
|
// ../blocks/src/system/manifest/schema.ts
|
|
6590
6708
|
var visibilityLevels = ["admin", "designer", "author"];
|
|
6591
|
-
var siteOptionSources = [
|
|
6709
|
+
var siteOptionSources = [
|
|
6710
|
+
"eventCategories",
|
|
6711
|
+
"venues",
|
|
6712
|
+
"staffMembers"
|
|
6713
|
+
];
|
|
6592
6714
|
var mediaDeliverySchema = z3.object({
|
|
6593
6715
|
sizes: z3.string().optional(),
|
|
6594
6716
|
widthCandidates: z3.array(z3.number().int().positive()).optional(),
|
|
@@ -6626,7 +6748,10 @@ var uiSchema = z3.object({
|
|
|
6626
6748
|
hidden: z3.boolean().optional(),
|
|
6627
6749
|
hideLabel: z3.boolean().optional(),
|
|
6628
6750
|
hideDescription: z3.boolean().optional(),
|
|
6629
|
-
showCharCount: z3.union([
|
|
6751
|
+
showCharCount: z3.union([
|
|
6752
|
+
z3.number().int().positive(),
|
|
6753
|
+
z3.object({ max: z3.number().int().positive() })
|
|
6754
|
+
]).optional(),
|
|
6630
6755
|
showSlugPreview: z3.boolean().optional(),
|
|
6631
6756
|
variant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
6632
6757
|
richTextVariant: z3.enum(["full", "inline", "limited", "media", "notes"]).optional(),
|
|
@@ -6636,10 +6761,7 @@ var uiSchema = z3.object({
|
|
|
6636
6761
|
showMediaPreview: z3.boolean().optional(),
|
|
6637
6762
|
showMediaOverlayActions: z3.boolean().optional(),
|
|
6638
6763
|
mediaDelivery: mediaDeliverySchema.optional(),
|
|
6639
|
-
mediaDeliveryByVariant: z3.record(
|
|
6640
|
-
z3.string(),
|
|
6641
|
-
mediaDeliverySchema
|
|
6642
|
-
).optional(),
|
|
6764
|
+
mediaDeliveryByVariant: z3.record(z3.string(), mediaDeliverySchema).optional(),
|
|
6643
6765
|
// Optional input hints for validators/widgets
|
|
6644
6766
|
inputType: z3.enum(["text", "email", "tel", "number"]).optional(),
|
|
6645
6767
|
min: z3.number().optional(),
|
|
@@ -6747,7 +6869,9 @@ var richTextFieldSchema = baseFieldSchema.extend({
|
|
|
6747
6869
|
});
|
|
6748
6870
|
var mediaFieldSchema = baseFieldSchema.extend({
|
|
6749
6871
|
type: z3.literal("media"),
|
|
6750
|
-
mediaKinds: z3.array(
|
|
6872
|
+
mediaKinds: z3.array(
|
|
6873
|
+
z3.enum(["image", "video", "audio", "document", "spreadsheet", "archive"])
|
|
6874
|
+
).default(["image"]),
|
|
6751
6875
|
aspectRatio: z3.string().optional()
|
|
6752
6876
|
});
|
|
6753
6877
|
var booleanFieldSchema = baseFieldSchema.extend({
|
|
@@ -6869,7 +6993,9 @@ var referenceFieldSchema = baseFieldSchema.extend({
|
|
|
6869
6993
|
var itemTypeSchema = z3.object({
|
|
6870
6994
|
label: z3.string().min(1),
|
|
6871
6995
|
icon: z3.string().optional(),
|
|
6872
|
-
fields: z3.lazy(
|
|
6996
|
+
fields: z3.lazy(
|
|
6997
|
+
() => getFieldSchemaInternal().array().min(1, "Item type requires at least one field")
|
|
6998
|
+
)
|
|
6873
6999
|
});
|
|
6874
7000
|
var repeaterFieldSchema = baseFieldSchema.extend({
|
|
6875
7001
|
type: z3.literal("repeater"),
|
|
@@ -6879,7 +7005,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6879
7005
|
maxItems: z3.number().int().positive().optional(),
|
|
6880
7006
|
// Monomorphic mode
|
|
6881
7007
|
schema: z3.object({
|
|
6882
|
-
fields: z3.lazy(
|
|
7008
|
+
fields: z3.lazy(
|
|
7009
|
+
() => getFieldSchemaInternal().array().min(1, "Repeater requires at least one field")
|
|
7010
|
+
)
|
|
6883
7011
|
}).optional(),
|
|
6884
7012
|
// Polymorphic mode
|
|
6885
7013
|
polymorphic: z3.boolean().optional(),
|
|
@@ -6925,13 +7053,19 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6925
7053
|
const itemTypes = Object.values(
|
|
6926
7054
|
data.itemTypes
|
|
6927
7055
|
);
|
|
6928
|
-
return itemTypes.every(
|
|
7056
|
+
return itemTypes.every(
|
|
7057
|
+
(itemType) => Array.isArray(itemType.fields) && requiredFieldIds.every(
|
|
7058
|
+
(requiredId) => itemType.fields?.some((field) => field.id === requiredId)
|
|
7059
|
+
)
|
|
7060
|
+
);
|
|
6929
7061
|
}
|
|
6930
7062
|
const schemaFields = data.schema?.fields;
|
|
6931
7063
|
if (!schemaFields) {
|
|
6932
7064
|
return true;
|
|
6933
7065
|
}
|
|
6934
|
-
return requiredFieldIds.every(
|
|
7066
|
+
return requiredFieldIds.every(
|
|
7067
|
+
(requiredId) => schemaFields.some((field) => field.id === requiredId)
|
|
7068
|
+
);
|
|
6935
7069
|
},
|
|
6936
7070
|
{
|
|
6937
7071
|
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`,
|
|
@@ -6959,7 +7093,9 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6959
7093
|
if (!schemaFields) {
|
|
6960
7094
|
return true;
|
|
6961
7095
|
}
|
|
6962
|
-
const field = schemaFields.find(
|
|
7096
|
+
const field = schemaFields.find(
|
|
7097
|
+
(candidate) => candidate.id === labelField
|
|
7098
|
+
);
|
|
6963
7099
|
return field?.type === "text";
|
|
6964
7100
|
},
|
|
6965
7101
|
{
|
|
@@ -6970,13 +7106,17 @@ var repeaterFieldSchema = baseFieldSchema.extend({
|
|
|
6970
7106
|
var groupFieldSchema = baseFieldSchema.extend({
|
|
6971
7107
|
type: z3.literal("group"),
|
|
6972
7108
|
schema: z3.object({
|
|
6973
|
-
fields: z3.lazy(
|
|
7109
|
+
fields: z3.lazy(
|
|
7110
|
+
() => getFieldSchemaInternal().array().min(1, "Group requires at least one field")
|
|
7111
|
+
)
|
|
6974
7112
|
})
|
|
6975
7113
|
});
|
|
6976
7114
|
var modalFieldSchema = baseFieldSchema.extend({
|
|
6977
7115
|
type: z3.literal("modal"),
|
|
6978
7116
|
schema: z3.object({
|
|
6979
|
-
fields: z3.lazy(
|
|
7117
|
+
fields: z3.lazy(
|
|
7118
|
+
() => getFieldSchemaInternal().array().min(1, "Modal requires at least one field")
|
|
7119
|
+
)
|
|
6980
7120
|
})
|
|
6981
7121
|
});
|
|
6982
7122
|
var numberFieldSchema = baseFieldSchema.extend({
|
|
@@ -7086,31 +7226,35 @@ function expectParsedSelectField(field) {
|
|
|
7086
7226
|
return field;
|
|
7087
7227
|
}
|
|
7088
7228
|
function createSiteOptionSelectField(input) {
|
|
7089
|
-
return expectParsedSelectField(
|
|
7090
|
-
|
|
7091
|
-
|
|
7092
|
-
|
|
7093
|
-
|
|
7094
|
-
|
|
7095
|
-
|
|
7096
|
-
|
|
7097
|
-
|
|
7098
|
-
|
|
7099
|
-
|
|
7100
|
-
|
|
7229
|
+
return expectParsedSelectField(
|
|
7230
|
+
parseFieldDefinition({
|
|
7231
|
+
...input,
|
|
7232
|
+
type: "select",
|
|
7233
|
+
options: [],
|
|
7234
|
+
multiple: input.multiple ?? false,
|
|
7235
|
+
source: { kind: "site", optionSource: input.optionSource },
|
|
7236
|
+
ui: {
|
|
7237
|
+
...input.ui ?? {},
|
|
7238
|
+
widget: "siteOptionPicker",
|
|
7239
|
+
siteOptionSource: input.optionSource
|
|
7240
|
+
}
|
|
7241
|
+
})
|
|
7242
|
+
);
|
|
7101
7243
|
}
|
|
7102
7244
|
function createSdkSelectField(input) {
|
|
7103
|
-
return expectParsedSelectField(
|
|
7104
|
-
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
|
|
7108
|
-
|
|
7109
|
-
|
|
7110
|
-
|
|
7111
|
-
|
|
7112
|
-
|
|
7113
|
-
|
|
7245
|
+
return expectParsedSelectField(
|
|
7246
|
+
parseFieldDefinition({
|
|
7247
|
+
...input,
|
|
7248
|
+
type: "select",
|
|
7249
|
+
options: input.options,
|
|
7250
|
+
multiple: input.multiple ?? false,
|
|
7251
|
+
source: { kind: "sdk" },
|
|
7252
|
+
ui: {
|
|
7253
|
+
...input.ui ?? {},
|
|
7254
|
+
widget: "sdkSelect"
|
|
7255
|
+
}
|
|
7256
|
+
})
|
|
7257
|
+
);
|
|
7114
7258
|
}
|
|
7115
7259
|
var slotSchema = z3.object({
|
|
7116
7260
|
id: z3.string().min(1),
|
|
@@ -7121,8 +7265,20 @@ var slotSchema = z3.object({
|
|
|
7121
7265
|
help: z3.string().optional(),
|
|
7122
7266
|
visibleRoles: z3.array(z3.enum(visibilityLevels)).optional()
|
|
7123
7267
|
});
|
|
7124
|
-
var typographyTokens = [
|
|
7125
|
-
|
|
7268
|
+
var typographyTokens = [
|
|
7269
|
+
"display",
|
|
7270
|
+
"heading",
|
|
7271
|
+
"subheading",
|
|
7272
|
+
"body",
|
|
7273
|
+
"caption"
|
|
7274
|
+
];
|
|
7275
|
+
var colorTokens = [
|
|
7276
|
+
"background",
|
|
7277
|
+
"surface",
|
|
7278
|
+
"foreground",
|
|
7279
|
+
"accent",
|
|
7280
|
+
"muted"
|
|
7281
|
+
];
|
|
7126
7282
|
var spacingTokens = ["none", "xs", "sm", "md", "lg", "xl"];
|
|
7127
7283
|
var radiusTokens = ["none", "sm", "md", "lg", "full"];
|
|
7128
7284
|
var styleTokenSchema = z3.object({
|
|
@@ -7142,7 +7298,14 @@ var behaviourSchema = z3.object({
|
|
|
7142
7298
|
// Block manages its own wrapper (for sticky/fixed positioning)
|
|
7143
7299
|
managesOwnWrapper: z3.boolean().optional()
|
|
7144
7300
|
});
|
|
7145
|
-
var blockCategoryEnum = z3.enum([
|
|
7301
|
+
var blockCategoryEnum = z3.enum([
|
|
7302
|
+
"marketing",
|
|
7303
|
+
"content",
|
|
7304
|
+
"blog",
|
|
7305
|
+
"media",
|
|
7306
|
+
"layout",
|
|
7307
|
+
"interactive"
|
|
7308
|
+
]);
|
|
7146
7309
|
var manifestSchema = z3.object({
|
|
7147
7310
|
name: z3.string().min(1),
|
|
7148
7311
|
version: z3.string().min(1),
|
|
@@ -8165,6 +8328,20 @@ var applyAppointmentSetupRequestSchema = z6.object({
|
|
|
8165
8328
|
bookingNotice: appointmentSetupBookingNoticeSchema
|
|
8166
8329
|
});
|
|
8167
8330
|
|
|
8331
|
+
// ../api/src/bookingRecords.ts
|
|
8332
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPES = {
|
|
8333
|
+
site: "site",
|
|
8334
|
+
appointments: "appointments",
|
|
8335
|
+
eventSeries: "event_series",
|
|
8336
|
+
course: "course"
|
|
8337
|
+
};
|
|
8338
|
+
var BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES = [
|
|
8339
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.site,
|
|
8340
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.appointments,
|
|
8341
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.eventSeries,
|
|
8342
|
+
BOOKING_QUESTION_ANSWER_EXPORT_SCOPES.course
|
|
8343
|
+
];
|
|
8344
|
+
|
|
8168
8345
|
// ../api/src/common/cancellation.ts
|
|
8169
8346
|
var STAFF_CANCELLATION_CONTEXT_UI_CATEGORIES = [
|
|
8170
8347
|
"customer_requested",
|
|
@@ -9192,6 +9369,24 @@ function resolveVariantKey(manifest, content) {
|
|
|
9192
9369
|
return null;
|
|
9193
9370
|
}
|
|
9194
9371
|
|
|
9372
|
+
// ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
9373
|
+
function assertValidOptionGroups(preset2) {
|
|
9374
|
+
preset2.optionGroups?.forEach((group) => {
|
|
9375
|
+
const selectedOption = group.options.find(
|
|
9376
|
+
(option) => option.id === group.selectedOptionId
|
|
9377
|
+
);
|
|
9378
|
+
if (!selectedOption) {
|
|
9379
|
+
throw new Error(
|
|
9380
|
+
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
9381
|
+
);
|
|
9382
|
+
}
|
|
9383
|
+
});
|
|
9384
|
+
}
|
|
9385
|
+
function defineBlockAppearancePreset(preset2) {
|
|
9386
|
+
assertValidOptionGroups(preset2);
|
|
9387
|
+
return preset2;
|
|
9388
|
+
}
|
|
9389
|
+
|
|
9195
9390
|
// ../theme-core/src/site-styles/types.ts
|
|
9196
9391
|
function asDesignBlockId(value) {
|
|
9197
9392
|
return brandNonEmptyString(value, "DesignBlockId");
|
|
@@ -9273,6 +9468,11 @@ function flushPanelFrame(options) {
|
|
|
9273
9468
|
function defineFrameCapability(capability) {
|
|
9274
9469
|
return capability;
|
|
9275
9470
|
}
|
|
9471
|
+
var tileTreatmentValues = [
|
|
9472
|
+
"default",
|
|
9473
|
+
"quiet",
|
|
9474
|
+
"brand-depth"
|
|
9475
|
+
];
|
|
9276
9476
|
var eyebrowTreatmentValues = [
|
|
9277
9477
|
"plain",
|
|
9278
9478
|
"pill",
|
|
@@ -9288,31 +9488,13 @@ function defineBlockDesignCapability(capability) {
|
|
|
9288
9488
|
imageSurfaceTreatments: capability.imageSurfaceTreatments ?? ["none"],
|
|
9289
9489
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
9290
9490
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
9491
|
+
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
9291
9492
|
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
9292
9493
|
};
|
|
9293
9494
|
}
|
|
9294
9495
|
|
|
9295
|
-
// ../theme-core/src/site-styles/
|
|
9296
|
-
|
|
9297
|
-
preset2.optionGroups?.forEach((group) => {
|
|
9298
|
-
const selectedOption = group.options.find(
|
|
9299
|
-
(option) => option.id === group.selectedOptionId
|
|
9300
|
-
);
|
|
9301
|
-
if (!selectedOption) {
|
|
9302
|
-
throw new Error(
|
|
9303
|
-
`Appearance preset "${preset2.id}" option group "${group.id}" selects missing option "${group.selectedOptionId}".`
|
|
9304
|
-
);
|
|
9305
|
-
}
|
|
9306
|
-
});
|
|
9307
|
-
}
|
|
9308
|
-
function defineBlockAppearancePreset(preset2) {
|
|
9309
|
-
assertValidOptionGroups(preset2);
|
|
9310
|
-
return preset2;
|
|
9311
|
-
}
|
|
9312
|
-
function defineSiteChromeAppearancePreset(preset2) {
|
|
9313
|
-
return preset2;
|
|
9314
|
-
}
|
|
9315
|
-
var appearancePresets = [
|
|
9496
|
+
// ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
9497
|
+
var blockAppearancePresets = [
|
|
9316
9498
|
defineBlockAppearancePreset({
|
|
9317
9499
|
kind: "block-design",
|
|
9318
9500
|
id: "hero-immersive-image",
|
|
@@ -9438,6 +9620,24 @@ var appearancePresets = [
|
|
|
9438
9620
|
eyebrowTreatment: "accent-pill-bounce"
|
|
9439
9621
|
}
|
|
9440
9622
|
}),
|
|
9623
|
+
defineBlockAppearancePreset({
|
|
9624
|
+
kind: "block-design",
|
|
9625
|
+
id: "hero-brand-depth-expressive",
|
|
9626
|
+
target: "hero",
|
|
9627
|
+
label: "Expressive brand-depth hero",
|
|
9628
|
+
blockKinds: ["block.hero"],
|
|
9629
|
+
constraints: {
|
|
9630
|
+
layoutFamilies: ["centered", "compact"]
|
|
9631
|
+
},
|
|
9632
|
+
design: {
|
|
9633
|
+
sectionSurface: "brand-depth-band",
|
|
9634
|
+
contentFrame: plainFrame,
|
|
9635
|
+
itemSurface: "none",
|
|
9636
|
+
transitionAfter: "soft-fade-short",
|
|
9637
|
+
emphasis: "high",
|
|
9638
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
9639
|
+
}
|
|
9640
|
+
}),
|
|
9441
9641
|
defineBlockAppearancePreset({
|
|
9442
9642
|
kind: "block-design",
|
|
9443
9643
|
id: "hero-contained-intro",
|
|
@@ -9466,6 +9666,20 @@ var appearancePresets = [
|
|
|
9466
9666
|
emphasis: "high"
|
|
9467
9667
|
}
|
|
9468
9668
|
}),
|
|
9669
|
+
defineBlockAppearancePreset({
|
|
9670
|
+
kind: "block-design",
|
|
9671
|
+
id: "body-text-brand-depth-intro",
|
|
9672
|
+
target: "body-text",
|
|
9673
|
+
label: "Brand-depth intro copy",
|
|
9674
|
+
blockKinds: ["block.body-text"],
|
|
9675
|
+
design: {
|
|
9676
|
+
sectionSurface: "brand-depth-band",
|
|
9677
|
+
contentFrame: plainFrame,
|
|
9678
|
+
itemSurface: "none",
|
|
9679
|
+
transitionAfter: "soft-fade-short",
|
|
9680
|
+
emphasis: "high"
|
|
9681
|
+
}
|
|
9682
|
+
}),
|
|
9469
9683
|
defineBlockAppearancePreset({
|
|
9470
9684
|
kind: "block-design",
|
|
9471
9685
|
id: "offerings-calm-list",
|
|
@@ -9508,6 +9722,21 @@ var appearancePresets = [
|
|
|
9508
9722
|
emphasis: "medium"
|
|
9509
9723
|
}
|
|
9510
9724
|
}),
|
|
9725
|
+
defineBlockAppearancePreset({
|
|
9726
|
+
kind: "block-design",
|
|
9727
|
+
id: "schedule-details-brand-depth",
|
|
9728
|
+
target: "events",
|
|
9729
|
+
label: "Brand-depth schedule details",
|
|
9730
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
9731
|
+
design: {
|
|
9732
|
+
sectionSurface: "brand-depth-band",
|
|
9733
|
+
contentFrame: plainFrame,
|
|
9734
|
+
itemSurface: "none",
|
|
9735
|
+
transitionAfter: "none",
|
|
9736
|
+
emphasis: "medium",
|
|
9737
|
+
tileTreatment: "brand-depth"
|
|
9738
|
+
}
|
|
9739
|
+
}),
|
|
9511
9740
|
defineBlockAppearancePreset({
|
|
9512
9741
|
kind: "block-design",
|
|
9513
9742
|
id: "media-text-flush-feature",
|
|
@@ -9593,6 +9822,20 @@ var appearancePresets = [
|
|
|
9593
9822
|
testimonialCardTreatment: "accent-quote"
|
|
9594
9823
|
}
|
|
9595
9824
|
}),
|
|
9825
|
+
defineBlockAppearancePreset({
|
|
9826
|
+
kind: "block-design",
|
|
9827
|
+
id: "faq-base-accordion",
|
|
9828
|
+
target: "faq",
|
|
9829
|
+
label: "Base accordion FAQ",
|
|
9830
|
+
blockKinds: ["block.faq"],
|
|
9831
|
+
design: {
|
|
9832
|
+
sectionSurface: "base",
|
|
9833
|
+
contentFrame: plainFrame,
|
|
9834
|
+
itemSurface: "default",
|
|
9835
|
+
transitionAfter: "none",
|
|
9836
|
+
emphasis: "medium"
|
|
9837
|
+
}
|
|
9838
|
+
}),
|
|
9596
9839
|
defineBlockAppearancePreset({
|
|
9597
9840
|
kind: "block-design",
|
|
9598
9841
|
id: "faq-contained-help",
|
|
@@ -9635,6 +9878,20 @@ var appearancePresets = [
|
|
|
9635
9878
|
emphasis: "high"
|
|
9636
9879
|
}
|
|
9637
9880
|
}),
|
|
9881
|
+
defineBlockAppearancePreset({
|
|
9882
|
+
kind: "block-design",
|
|
9883
|
+
id: "contact-form-brand-depth-card",
|
|
9884
|
+
target: "contact-form",
|
|
9885
|
+
label: "Brand-depth form card",
|
|
9886
|
+
blockKinds: ["block.form"],
|
|
9887
|
+
design: {
|
|
9888
|
+
sectionSurface: "brand-depth-band",
|
|
9889
|
+
contentFrame: panelFrame("raised"),
|
|
9890
|
+
itemSurface: "none",
|
|
9891
|
+
transitionAfter: "none",
|
|
9892
|
+
emphasis: "high"
|
|
9893
|
+
}
|
|
9894
|
+
}),
|
|
9638
9895
|
defineBlockAppearancePreset({
|
|
9639
9896
|
kind: "block-design",
|
|
9640
9897
|
id: "cta-accent-band",
|
|
@@ -9648,7 +9905,14 @@ var appearancePresets = [
|
|
|
9648
9905
|
transitionAfter: "none",
|
|
9649
9906
|
emphasis: "high"
|
|
9650
9907
|
}
|
|
9651
|
-
})
|
|
9908
|
+
})
|
|
9909
|
+
];
|
|
9910
|
+
|
|
9911
|
+
// ../theme-core/src/site-styles/siteChromeAppearancePresets.ts
|
|
9912
|
+
function defineSiteChromeAppearancePreset(preset2) {
|
|
9913
|
+
return preset2;
|
|
9914
|
+
}
|
|
9915
|
+
var siteChromeAppearancePresets = [
|
|
9652
9916
|
defineSiteChromeAppearancePreset({
|
|
9653
9917
|
kind: "site-chrome",
|
|
9654
9918
|
id: "header-clean-base",
|
|
@@ -9716,6 +9980,12 @@ var appearancePresets = [
|
|
|
9716
9980
|
})
|
|
9717
9981
|
];
|
|
9718
9982
|
|
|
9983
|
+
// ../theme-core/src/site-styles/appearancePresetCatalog.ts
|
|
9984
|
+
var appearancePresets = [
|
|
9985
|
+
...blockAppearancePresets,
|
|
9986
|
+
...siteChromeAppearancePresets
|
|
9987
|
+
];
|
|
9988
|
+
|
|
9719
9989
|
// ../theme-core/src/site-styles/blockFlow.ts
|
|
9720
9990
|
function defineBlockDesignMetadata(input) {
|
|
9721
9991
|
const layoutProfiles = (input.layoutProfiles ?? []).map((profile) => ({
|
|
@@ -13258,6 +13528,7 @@ var sectionStylesOverrideSchema = z25.object({
|
|
|
13258
13528
|
background: boxBackgroundSchema.nullable().optional(),
|
|
13259
13529
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
13260
13530
|
minHeight: z25.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
13531
|
+
tileTreatment: z25.enum(tileTreatmentValues).nullable().optional(),
|
|
13261
13532
|
eyebrowTreatment: z25.enum(eyebrowTreatmentValues).nullable().optional()
|
|
13262
13533
|
});
|
|
13263
13534
|
var containerStylesOverrideSchema = z25.object({
|
|
@@ -14051,7 +14322,7 @@ var userContentFrames = [
|
|
|
14051
14322
|
];
|
|
14052
14323
|
var generatedDesignOptionCatalog = {
|
|
14053
14324
|
source: "generated",
|
|
14054
|
-
sectionSurfaces: ["base", "muted-band", "accent-band", "hero-image"],
|
|
14325
|
+
sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
|
|
14055
14326
|
contentFrames: generatedContentFrames,
|
|
14056
14327
|
itemSurfaces: ["none", "default", "flat", "outlined", "raised"],
|
|
14057
14328
|
transitions: ["none", "soft-fade-short", "soft-fade-long"],
|
|
@@ -14121,6 +14392,43 @@ var expressiveBudget = {
|
|
|
14121
14392
|
mediaDensity: "high",
|
|
14122
14393
|
decorativeRepetition: "medium"
|
|
14123
14394
|
};
|
|
14395
|
+
var expressiveUnderlineInputs = {
|
|
14396
|
+
base: {
|
|
14397
|
+
background: { type: "transparent" },
|
|
14398
|
+
textColorToken: "text",
|
|
14399
|
+
border: {
|
|
14400
|
+
widthClass: "border-2",
|
|
14401
|
+
colorToken: "border",
|
|
14402
|
+
style: "underline"
|
|
14403
|
+
},
|
|
14404
|
+
corners: "square",
|
|
14405
|
+
shadow: null,
|
|
14406
|
+
spacing: "compact",
|
|
14407
|
+
fontSize: "base"
|
|
14408
|
+
},
|
|
14409
|
+
label: {
|
|
14410
|
+
textColorToken: "primary",
|
|
14411
|
+
fontWeight: "black",
|
|
14412
|
+
fontSize: "xs",
|
|
14413
|
+
textTransform: "uppercase",
|
|
14414
|
+
letterSpacing: "widest",
|
|
14415
|
+
opacity: 1
|
|
14416
|
+
},
|
|
14417
|
+
focus: {
|
|
14418
|
+
ringColorToken: "secondary",
|
|
14419
|
+
ringWidth: "0",
|
|
14420
|
+
borderColorToken: "secondary"
|
|
14421
|
+
},
|
|
14422
|
+
error: {
|
|
14423
|
+
borderColorToken: "destructive",
|
|
14424
|
+
textColorToken: "destructive"
|
|
14425
|
+
},
|
|
14426
|
+
disabled: {
|
|
14427
|
+
backgroundColorToken: "surface",
|
|
14428
|
+
textColorToken: "text",
|
|
14429
|
+
opacity: 0.6
|
|
14430
|
+
}
|
|
14431
|
+
};
|
|
14124
14432
|
function uniqueContentFrameKinds() {
|
|
14125
14433
|
const kinds = [...new Set(
|
|
14126
14434
|
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
@@ -14471,15 +14779,17 @@ var curatedSiteStyles = [
|
|
|
14471
14779
|
paragraphSize: "editorial",
|
|
14472
14780
|
headingSize: "editorial"
|
|
14473
14781
|
}
|
|
14474
|
-
}
|
|
14782
|
+
},
|
|
14783
|
+
inputs: expressiveUnderlineInputs
|
|
14475
14784
|
},
|
|
14476
14785
|
recommendedAppearancePresetIds: [
|
|
14477
14786
|
"site-header-brand-solid-inverted-cta",
|
|
14478
14787
|
"site-footer-brand-two-band",
|
|
14479
14788
|
"hero-brand-scrim-fixed-frame",
|
|
14480
14789
|
"body-text-editorial-intro",
|
|
14790
|
+
"schedule-details-brand-depth",
|
|
14481
14791
|
"testimonials-accent-quote-proof",
|
|
14482
|
-
"contact-form-
|
|
14792
|
+
"contact-form-brand-depth-card"
|
|
14483
14793
|
],
|
|
14484
14794
|
buttonPersonalityChoices: [
|
|
14485
14795
|
buttonChoice("showtime-pill"),
|
|
@@ -14717,6 +15027,7 @@ var imageSurfaceTreatmentSchema = z27.discriminatedUnion("kind", [
|
|
|
14717
15027
|
}).strict()
|
|
14718
15028
|
]);
|
|
14719
15029
|
var testimonialCardTreatmentSchema = z27.enum(["default", "accent-quote"]);
|
|
15030
|
+
var tileTreatmentSchema = z27.enum(tileTreatmentValues);
|
|
14720
15031
|
var eyebrowTreatmentSchema = z27.enum(eyebrowTreatmentValues);
|
|
14721
15032
|
function uniqueNonEmpty(values) {
|
|
14722
15033
|
const uniqueValues = [...new Set(values)];
|
|
@@ -14761,6 +15072,7 @@ var blockDesignPlanSchema = z27.object({
|
|
|
14761
15072
|
imageSurfaceTreatment: imageSurfaceTreatmentSchema.optional(),
|
|
14762
15073
|
imageSurfaceMotion: imageSurfaceMotionSchema.optional(),
|
|
14763
15074
|
testimonialCardTreatment: testimonialCardTreatmentSchema.optional(),
|
|
15075
|
+
tileTreatment: tileTreatmentSchema.optional(),
|
|
14764
15076
|
eyebrowTreatment: eyebrowTreatmentSchema.optional()
|
|
14765
15077
|
}).strict();
|
|
14766
15078
|
var styleAuthoritySchema = z27.discriminatedUnion("kind", [
|
|
@@ -14824,6 +15136,14 @@ var defaultDesignRuntimeRules = defineDesignRuntimeRules({
|
|
|
14824
15136
|
headingColor: "primaryForeground"
|
|
14825
15137
|
}
|
|
14826
15138
|
},
|
|
15139
|
+
"brand-depth-band": {
|
|
15140
|
+
background: {
|
|
15141
|
+
type: "color",
|
|
15142
|
+
color: "primary-800",
|
|
15143
|
+
textColor: "primaryForeground",
|
|
15144
|
+
headingColor: "primaryForeground"
|
|
15145
|
+
}
|
|
15146
|
+
},
|
|
14827
15147
|
"hero-image": {
|
|
14828
15148
|
background: {
|
|
14829
15149
|
type: "image",
|
|
@@ -16713,6 +17033,21 @@ function createTransformRegistry(definitions) {
|
|
|
16713
17033
|
}
|
|
16714
17034
|
|
|
16715
17035
|
// ../blocks/src/system/transforms/registry/_utils/colorResolution.ts
|
|
17036
|
+
var CSS_COLOR_FUNCTION_PATTERN = /^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix|light-dark)\(/i;
|
|
17037
|
+
var CSS_HEX_COLOR_PATTERN = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
|
|
17038
|
+
var THEME_COLOR_TOKEN_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*(?:-[a-zA-Z0-9]+)*(?:\/(?:100|[1-9]?\d|0))?$/;
|
|
17039
|
+
var CSS_COLOR_KEYWORDS = /* @__PURE__ */ new Set([
|
|
17040
|
+
"transparent",
|
|
17041
|
+
"currentColor",
|
|
17042
|
+
"inherit",
|
|
17043
|
+
"initial",
|
|
17044
|
+
"revert",
|
|
17045
|
+
"revert-layer",
|
|
17046
|
+
"unset"
|
|
17047
|
+
]);
|
|
17048
|
+
function isLiteralCssColorValue(value) {
|
|
17049
|
+
return CSS_HEX_COLOR_PATTERN.test(value) || CSS_COLOR_FUNCTION_PATTERN.test(value) || value.startsWith("var(") || CSS_COLOR_KEYWORDS.has(value);
|
|
17050
|
+
}
|
|
16716
17051
|
function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
16717
17052
|
const trimmed = tokenOrCssValue.trim();
|
|
16718
17053
|
if (!trimmed) return "";
|
|
@@ -16729,8 +17064,11 @@ function resolveBackgroundColorValue(tokenOrCssValue, context) {
|
|
|
16729
17064
|
return rgbColorValue(trimmed);
|
|
16730
17065
|
}
|
|
16731
17066
|
}
|
|
16732
|
-
if (trimmed
|
|
16733
|
-
return
|
|
17067
|
+
if (isLiteralCssColorValue(trimmed)) {
|
|
17068
|
+
return trimmed;
|
|
17069
|
+
}
|
|
17070
|
+
if (THEME_COLOR_TOKEN_PATTERN.test(trimmed)) {
|
|
17071
|
+
return rgbColorValue(trimmed);
|
|
16734
17072
|
}
|
|
16735
17073
|
return trimmed;
|
|
16736
17074
|
}
|
|
@@ -16986,6 +17324,15 @@ function hasFixedFrameBackgroundMotion(value) {
|
|
|
16986
17324
|
const background = asPartialObject(input?.background);
|
|
16987
17325
|
return background?.motion === "fixed-frame";
|
|
16988
17326
|
}
|
|
17327
|
+
var tileTreatmentClassMap = {
|
|
17328
|
+
default: "",
|
|
17329
|
+
quiet: "rb-tile-treatment-quiet",
|
|
17330
|
+
"brand-depth": "rb-tile-treatment-brand-depth"
|
|
17331
|
+
};
|
|
17332
|
+
var tileTreatmentSet = new Set(tileTreatmentValues);
|
|
17333
|
+
function isTileTreatment(value) {
|
|
17334
|
+
return typeof value === "string" && tileTreatmentSet.has(value);
|
|
17335
|
+
}
|
|
16989
17336
|
var sectionClassNameTransform = {
|
|
16990
17337
|
id: "sectionStyles.resolveClassName",
|
|
16991
17338
|
kind: "string",
|
|
@@ -17042,6 +17389,17 @@ var sectionClassNameTransform = {
|
|
|
17042
17389
|
classes.push(minHeightClass);
|
|
17043
17390
|
}
|
|
17044
17391
|
}
|
|
17392
|
+
const tileTreatment = input?.tileTreatment;
|
|
17393
|
+
if (isTileTreatment(tileTreatment)) {
|
|
17394
|
+
const tileTreatmentClass = tileTreatmentClassMap[tileTreatment];
|
|
17395
|
+
if (tileTreatmentClass) {
|
|
17396
|
+
classes.push(tileTreatmentClass);
|
|
17397
|
+
}
|
|
17398
|
+
} else if (typeof tileTreatment === "string" && process.env.NODE_ENV !== "production") {
|
|
17399
|
+
console.warn(
|
|
17400
|
+
`[sectionStyles] Invalid tileTreatment value in _sectionStyles: "${tileTreatment}". Expected one of: ${tileTreatmentValues.join(", ")}.`
|
|
17401
|
+
);
|
|
17402
|
+
}
|
|
17045
17403
|
if (hasFixedFrameBackgroundMotion(input)) {
|
|
17046
17404
|
classes.push(fixedFrameScopeClass);
|
|
17047
17405
|
}
|
|
@@ -20008,6 +20366,9 @@ function createBlockManifest(config) {
|
|
|
20008
20366
|
};
|
|
20009
20367
|
return augmentManifest(manifest);
|
|
20010
20368
|
}
|
|
20369
|
+
function createBlockManifestWithContentShape(config, _contentShape) {
|
|
20370
|
+
return createBlockManifest(config);
|
|
20371
|
+
}
|
|
20011
20372
|
function normalizeBlockLayout(layout) {
|
|
20012
20373
|
return Array.isArray(layout) ? [...layout] : layout;
|
|
20013
20374
|
}
|
|
@@ -20640,7 +21001,7 @@ var ctaComposition = composeFragments([
|
|
|
20640
21001
|
{ fragment: ctaCopyFragment },
|
|
20641
21002
|
{ fragment: ctaRowFragment }
|
|
20642
21003
|
]);
|
|
20643
|
-
var
|
|
21004
|
+
var ctaFullConfig = {
|
|
20644
21005
|
id: "block.cta-full",
|
|
20645
21006
|
title: "Full-width CTA",
|
|
20646
21007
|
category: "marketing",
|
|
@@ -20658,7 +21019,8 @@ var ctaFullManifest = createBlockManifest({
|
|
|
20658
21019
|
description: "Centered call to action with optional background image.",
|
|
20659
21020
|
tags: ["cta", "call-to-action", "button", "conversion", "action", "sign-up", "get-started"],
|
|
20660
21021
|
icon: "Target"
|
|
20661
|
-
}
|
|
21022
|
+
};
|
|
21023
|
+
var ctaFullManifest = createBlockManifest(ctaFullConfig);
|
|
20662
21024
|
var ctaFullBlockDefinition = {
|
|
20663
21025
|
manifest: ctaFullManifest
|
|
20664
21026
|
};
|
|
@@ -23839,9 +24201,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
23839
24201
|
{
|
|
23840
24202
|
id: "images",
|
|
23841
24203
|
type: "repeater",
|
|
23842
|
-
label: "
|
|
24204
|
+
label: "Media",
|
|
23843
24205
|
required: false,
|
|
23844
|
-
itemLabel: "
|
|
24206
|
+
itemLabel: "Media",
|
|
23845
24207
|
minItems: 0,
|
|
23846
24208
|
maxItems: 6,
|
|
23847
24209
|
allowConversion: true,
|
|
@@ -23855,9 +24217,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
23855
24217
|
{
|
|
23856
24218
|
id: "image",
|
|
23857
24219
|
type: "media",
|
|
23858
|
-
label: "
|
|
24220
|
+
label: "Media",
|
|
23859
24221
|
required: true,
|
|
23860
|
-
mediaKinds: ["image"]
|
|
24222
|
+
mediaKinds: ["image", "video"]
|
|
23861
24223
|
}
|
|
23862
24224
|
]
|
|
23863
24225
|
}
|
|
@@ -23935,8 +24297,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
23935
24297
|
{
|
|
23936
24298
|
id: "aspectRatio",
|
|
23937
24299
|
type: "select",
|
|
23938
|
-
label: "
|
|
23939
|
-
description: "Crop
|
|
24300
|
+
label: "Media aspect ratio",
|
|
24301
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
23940
24302
|
required: false,
|
|
23941
24303
|
defaultValue: "auto",
|
|
23942
24304
|
multiple: false,
|
|
@@ -24123,8 +24485,8 @@ var mediaTextManifest = createBlockManifest({
|
|
|
24123
24485
|
}
|
|
24124
24486
|
};
|
|
24125
24487
|
})(),
|
|
24126
|
-
description: "Two columns:
|
|
24127
|
-
tags: ["media", "image", "carousel", "text", "two-column", "layout"],
|
|
24488
|
+
description: "Two columns: media/carousel + rich text (with optional section title).",
|
|
24489
|
+
tags: ["media", "image", "video", "carousel", "text", "two-column", "layout"],
|
|
24128
24490
|
icon: "Columns"
|
|
24129
24491
|
});
|
|
24130
24492
|
var mediaTextBlockDefinition = {
|
|
@@ -24275,6 +24637,19 @@ var transformSchema2 = z42.object({
|
|
|
24275
24637
|
hotspot: hotspotSchema2.optional(),
|
|
24276
24638
|
rotation: rotationSchema2.optional()
|
|
24277
24639
|
});
|
|
24640
|
+
var mediaPosterSchema = z42.discriminatedUnion("tag", [
|
|
24641
|
+
z42.object({
|
|
24642
|
+
tag: z42.literal("storage"),
|
|
24643
|
+
assetId: z42.string().optional(),
|
|
24644
|
+
storageBucket: z42.string().min(1),
|
|
24645
|
+
storagePath: z42.string().min(1)
|
|
24646
|
+
}),
|
|
24647
|
+
z42.object({
|
|
24648
|
+
tag: z42.literal("external-src"),
|
|
24649
|
+
assetId: z42.string().optional(),
|
|
24650
|
+
src: z42.string().url()
|
|
24651
|
+
})
|
|
24652
|
+
]);
|
|
24278
24653
|
var mediaBaseSchema = z42.object({
|
|
24279
24654
|
purpose: z42.string().optional(),
|
|
24280
24655
|
placeholder: z42.boolean().default(true).optional(),
|
|
@@ -24288,6 +24663,7 @@ var mediaBaseSchema = z42.object({
|
|
|
24288
24663
|
height: z42.number().optional(),
|
|
24289
24664
|
storageBucket: z42.string().optional(),
|
|
24290
24665
|
storagePath: z42.string().optional(),
|
|
24666
|
+
poster: mediaPosterSchema.optional(),
|
|
24291
24667
|
transform: transformSchema2.optional()
|
|
24292
24668
|
});
|
|
24293
24669
|
var imageMediaSchema = mediaBaseSchema.extend({ type: z42.literal("image") });
|
|
@@ -24771,10 +25147,28 @@ import { z as z48 } from "zod";
|
|
|
24771
25147
|
|
|
24772
25148
|
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
24773
25149
|
import { z as z47 } from "zod";
|
|
25150
|
+
|
|
25151
|
+
// ../blocks/src/system/constants/events.ts
|
|
25152
|
+
var eventCalendarDisplayModeValues = ["combined", "month", "week", "list", "timetable"];
|
|
25153
|
+
var eventCalendarListLayoutValues = ["stack", "grid", "compact"];
|
|
25154
|
+
var eventCalendarListLayoutOptions = [
|
|
25155
|
+
{ id: "stack", label: "Stack" },
|
|
25156
|
+
{ id: "grid", label: "Grid" },
|
|
25157
|
+
{ id: "compact", label: "Compact" }
|
|
25158
|
+
];
|
|
25159
|
+
function isEventCalendarDisplayMode(value) {
|
|
25160
|
+
return typeof value === "string" && eventCalendarDisplayModeValues.includes(value);
|
|
25161
|
+
}
|
|
25162
|
+
function isEventCalendarListLayout(value) {
|
|
25163
|
+
return typeof value === "string" && eventCalendarListLayoutValues.includes(value);
|
|
25164
|
+
}
|
|
25165
|
+
|
|
25166
|
+
// ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
24774
25167
|
var previewStageSchema = z47.enum(["preview", "published"]);
|
|
24775
25168
|
var registrationButtonVariantSchema = z47.enum(["primary", "secondary", "outline"]);
|
|
24776
25169
|
var eventButtonVariantSchema = z47.enum(["primary", "secondary", "outline", "link"]);
|
|
24777
|
-
var eventLayoutSchema = z47.enum(
|
|
25170
|
+
var eventLayoutSchema = z47.enum(eventCalendarListLayoutValues);
|
|
25171
|
+
var eventCalendarDisplayModeSchema = z47.enum(eventCalendarDisplayModeValues);
|
|
24778
25172
|
var columnOptionSchema = z47.enum(["2", "3", "4"]);
|
|
24779
25173
|
var weekStartSchema = z47.enum(["sunday", "monday"]);
|
|
24780
25174
|
var filterAutoShowSchema = z47.enum(["auto", "always", "never"]);
|
|
@@ -27554,6 +27948,22 @@ function resolveMediaWithCanonicalAsset(value, context) {
|
|
|
27554
27948
|
height: asset.height ?? value.height
|
|
27555
27949
|
};
|
|
27556
27950
|
}
|
|
27951
|
+
function resolveVideoPosterUrl(value, context) {
|
|
27952
|
+
if (value.type !== "video") return void 0;
|
|
27953
|
+
const poster = value.poster;
|
|
27954
|
+
if (!poster) return void 0;
|
|
27955
|
+
switch (poster.tag) {
|
|
27956
|
+
case "external-src":
|
|
27957
|
+
return poster.src;
|
|
27958
|
+
case "storage":
|
|
27959
|
+
return resolveMediaStorageUrl({
|
|
27960
|
+
type: "image",
|
|
27961
|
+
assetId: poster.assetId,
|
|
27962
|
+
storageBucket: poster.storageBucket,
|
|
27963
|
+
storagePath: poster.storagePath
|
|
27964
|
+
}, context);
|
|
27965
|
+
}
|
|
27966
|
+
}
|
|
27557
27967
|
var debugMediaNodeLog = (...args) => {
|
|
27558
27968
|
if (typeof window === "undefined") return;
|
|
27559
27969
|
const debugFlag = Reflect.get(window, "__DEBUG_MEDIA_NODE__");
|
|
@@ -27605,12 +28015,14 @@ function renderVideo(value, className, style, context, options = {}) {
|
|
|
27605
28015
|
const src = resolvePublicMediaUrl(value, context);
|
|
27606
28016
|
if (!src) return null;
|
|
27607
28017
|
if (options.playback === "background") {
|
|
28018
|
+
const poster2 = resolveVideoPosterUrl(value, context);
|
|
27608
28019
|
return /* @__PURE__ */ jsx(
|
|
27609
28020
|
"video",
|
|
27610
28021
|
{
|
|
27611
28022
|
className,
|
|
27612
28023
|
style,
|
|
27613
28024
|
src,
|
|
28025
|
+
...poster2 ? { poster: poster2 } : {},
|
|
27614
28026
|
autoPlay: true,
|
|
27615
28027
|
muted: true,
|
|
27616
28028
|
loop: true,
|
|
@@ -27621,12 +28033,14 @@ function renderVideo(value, className, style, context, options = {}) {
|
|
|
27621
28033
|
}
|
|
27622
28034
|
);
|
|
27623
28035
|
}
|
|
28036
|
+
const poster = resolveVideoPosterUrl(value, context);
|
|
27624
28037
|
return /* @__PURE__ */ jsx(
|
|
27625
28038
|
"video",
|
|
27626
28039
|
{
|
|
27627
28040
|
className,
|
|
27628
28041
|
style,
|
|
27629
28042
|
src,
|
|
28043
|
+
...poster ? { poster } : {},
|
|
27630
28044
|
controls: true,
|
|
27631
28045
|
controlsList: "nodownload",
|
|
27632
28046
|
preload: "metadata",
|
|
@@ -28374,7 +28788,232 @@ function buildEventListingInteractiveIslandProps(props2) {
|
|
|
28374
28788
|
}
|
|
28375
28789
|
|
|
28376
28790
|
// ../blocks/src/system/blocks/events/event-listing.ts
|
|
28377
|
-
var
|
|
28791
|
+
var eventListingAdditionalFields = [
|
|
28792
|
+
...sectionHeaderFields("All Events"),
|
|
28793
|
+
...(() => {
|
|
28794
|
+
const columns = columnsField(["2", "3", "4"]);
|
|
28795
|
+
return [
|
|
28796
|
+
{
|
|
28797
|
+
...layoutField,
|
|
28798
|
+
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
28799
|
+
},
|
|
28800
|
+
{
|
|
28801
|
+
...columns,
|
|
28802
|
+
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
28803
|
+
}
|
|
28804
|
+
];
|
|
28805
|
+
})(),
|
|
28806
|
+
{
|
|
28807
|
+
id: "eventsPerPage",
|
|
28808
|
+
type: "select",
|
|
28809
|
+
label: "Events per page",
|
|
28810
|
+
description: "Number of events to load at a time",
|
|
28811
|
+
required: false,
|
|
28812
|
+
multiple: false,
|
|
28813
|
+
defaultValue: "12",
|
|
28814
|
+
options: [
|
|
28815
|
+
{ value: "3", label: "3 events" },
|
|
28816
|
+
{ value: "6", label: "6 events" },
|
|
28817
|
+
{ value: "12", label: "12 events" },
|
|
28818
|
+
{ value: "24", label: "24 events" }
|
|
28819
|
+
],
|
|
28820
|
+
ui: { intent: "display" }
|
|
28821
|
+
},
|
|
28822
|
+
{
|
|
28823
|
+
id: "paginationMode",
|
|
28824
|
+
type: "select",
|
|
28825
|
+
label: "More events",
|
|
28826
|
+
description: "How to access events beyond the initial list",
|
|
28827
|
+
required: false,
|
|
28828
|
+
multiple: false,
|
|
28829
|
+
defaultValue: "loadMore",
|
|
28830
|
+
options: [
|
|
28831
|
+
{ value: "loadMore", label: "Load more button" },
|
|
28832
|
+
{ value: "seeAllLink", label: "Link to another page" }
|
|
28833
|
+
],
|
|
28834
|
+
ui: { intent: "display" }
|
|
28835
|
+
},
|
|
28836
|
+
{
|
|
28837
|
+
id: "seeAllUrl",
|
|
28838
|
+
type: "link",
|
|
28839
|
+
label: "See all destination",
|
|
28840
|
+
required: false,
|
|
28841
|
+
ui: {
|
|
28842
|
+
intent: "display",
|
|
28843
|
+
visibleWhen: {
|
|
28844
|
+
field: "paginationMode",
|
|
28845
|
+
equals: "seeAllLink"
|
|
28846
|
+
}
|
|
28847
|
+
}
|
|
28848
|
+
},
|
|
28849
|
+
{
|
|
28850
|
+
id: "loadMoreText",
|
|
28851
|
+
type: "text",
|
|
28852
|
+
label: "Button text",
|
|
28853
|
+
description: "Text for the pagination button or link",
|
|
28854
|
+
required: false,
|
|
28855
|
+
multiline: false,
|
|
28856
|
+
defaultValue: "Load more events",
|
|
28857
|
+
maxLength: 40
|
|
28858
|
+
},
|
|
28859
|
+
...cardStylingFields.map((field) => ({
|
|
28860
|
+
...field,
|
|
28861
|
+
ui: { ...field.ui ?? {}, intent: "style" }
|
|
28862
|
+
})),
|
|
28863
|
+
...eventDisplayFields.map((field) => ({
|
|
28864
|
+
...field,
|
|
28865
|
+
ui: { ...field.ui ?? {}, intent: "display" }
|
|
28866
|
+
})),
|
|
28867
|
+
{
|
|
28868
|
+
id: "kind",
|
|
28869
|
+
type: "select",
|
|
28870
|
+
label: "Show",
|
|
28871
|
+
description: "Choose whether this list shows courses, events, or both",
|
|
28872
|
+
required: false,
|
|
28873
|
+
multiple: false,
|
|
28874
|
+
defaultValue: "all",
|
|
28875
|
+
options: [
|
|
28876
|
+
{ value: "all", label: "Courses and events" },
|
|
28877
|
+
{ value: "courses", label: "Courses only" },
|
|
28878
|
+
{ value: "events", label: "Events only" }
|
|
28879
|
+
],
|
|
28880
|
+
ui: { intent: "behavior" }
|
|
28881
|
+
},
|
|
28882
|
+
{
|
|
28883
|
+
id: "eventSurface",
|
|
28884
|
+
type: "select",
|
|
28885
|
+
label: "Event surface",
|
|
28886
|
+
description: "Choose a semantic event scope",
|
|
28887
|
+
required: false,
|
|
28888
|
+
multiple: false,
|
|
28889
|
+
defaultValue: "all",
|
|
28890
|
+
options: [
|
|
28891
|
+
{ value: "all", label: "All events" },
|
|
28892
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
28893
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
28894
|
+
{ value: "custom", label: "Custom" }
|
|
28895
|
+
],
|
|
28896
|
+
ui: { intent: "behavior" }
|
|
28897
|
+
},
|
|
28898
|
+
{
|
|
28899
|
+
id: "filterEventPresets",
|
|
28900
|
+
type: "select",
|
|
28901
|
+
label: "Pre-filter by event type",
|
|
28902
|
+
description: "Restrict this block to specific event types",
|
|
28903
|
+
required: false,
|
|
28904
|
+
multiple: true,
|
|
28905
|
+
defaultValue: [],
|
|
28906
|
+
options: [
|
|
28907
|
+
{ value: "class", label: "Classes" },
|
|
28908
|
+
{ value: "workshop", label: "Workshops" },
|
|
28909
|
+
{ value: "retreat", label: "Retreats" },
|
|
28910
|
+
{ value: "performance", label: "Performances" }
|
|
28911
|
+
],
|
|
28912
|
+
ui: {
|
|
28913
|
+
intent: "behavior",
|
|
28914
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
28915
|
+
}
|
|
28916
|
+
},
|
|
28917
|
+
{
|
|
28918
|
+
id: "scheduleScope",
|
|
28919
|
+
type: "select",
|
|
28920
|
+
label: "Schedule cadence",
|
|
28921
|
+
description: "Restrict this block by recurrence",
|
|
28922
|
+
required: false,
|
|
28923
|
+
multiple: false,
|
|
28924
|
+
defaultValue: "any",
|
|
28925
|
+
options: [
|
|
28926
|
+
{ value: "any", label: "Any cadence" },
|
|
28927
|
+
{ value: "recurring", label: "Recurring only" },
|
|
28928
|
+
{ value: "oneOff", label: "One-off only" }
|
|
28929
|
+
],
|
|
28930
|
+
ui: {
|
|
28931
|
+
intent: "behavior",
|
|
28932
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
28933
|
+
}
|
|
28934
|
+
},
|
|
28935
|
+
{
|
|
28936
|
+
...emptyStateField,
|
|
28937
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
28938
|
+
},
|
|
28939
|
+
sectionStylesField({
|
|
28940
|
+
id: "_sectionStyles",
|
|
28941
|
+
label: "Section styles",
|
|
28942
|
+
renderInHeader: false
|
|
28943
|
+
})
|
|
28944
|
+
];
|
|
28945
|
+
var eventListingLayout = [
|
|
28946
|
+
styledSection({
|
|
28947
|
+
children: sectionContainer([
|
|
28948
|
+
// Optional heading
|
|
28949
|
+
text(
|
|
28950
|
+
{ as: "h2" },
|
|
28951
|
+
bind("content.heading"),
|
|
28952
|
+
when("content.heading")
|
|
28953
|
+
),
|
|
28954
|
+
// Optional description
|
|
28955
|
+
richText(
|
|
28956
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
28957
|
+
bind("content.description"),
|
|
28958
|
+
when("content.description")
|
|
28959
|
+
),
|
|
28960
|
+
// Event listing component with pagination
|
|
28961
|
+
el("event-listing", withApiBindings({
|
|
28962
|
+
events: { $bind: { from: "data.events" } },
|
|
28963
|
+
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
28964
|
+
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
28965
|
+
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
28966
|
+
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
28967
|
+
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
28968
|
+
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
28969
|
+
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
28970
|
+
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
28971
|
+
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
28972
|
+
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
28973
|
+
showVenue: { $bind: { from: "content.showVenue" } },
|
|
28974
|
+
showMap: { $bind: { from: "content.showMap" } },
|
|
28975
|
+
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
28976
|
+
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
28977
|
+
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
28978
|
+
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
28979
|
+
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
28980
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
28981
|
+
}))
|
|
28982
|
+
], {
|
|
28983
|
+
gap: "lg"
|
|
28984
|
+
}),
|
|
28985
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
28986
|
+
baseClass: "",
|
|
28987
|
+
spacing: "comfortable"
|
|
28988
|
+
})
|
|
28989
|
+
];
|
|
28990
|
+
var eventListingDerivedFields = [
|
|
28991
|
+
{
|
|
28992
|
+
id: "layout",
|
|
28993
|
+
type: "select",
|
|
28994
|
+
required: false,
|
|
28995
|
+
multiple: false,
|
|
28996
|
+
options: [
|
|
28997
|
+
{ value: "grid" },
|
|
28998
|
+
{ value: "stack" }
|
|
28999
|
+
]
|
|
29000
|
+
},
|
|
29001
|
+
{
|
|
29002
|
+
id: "paginationMode",
|
|
29003
|
+
type: "select",
|
|
29004
|
+
required: false,
|
|
29005
|
+
multiple: false,
|
|
29006
|
+
options: [
|
|
29007
|
+
{ value: "loadMore" },
|
|
29008
|
+
{ value: "seeAllLink" }
|
|
29009
|
+
]
|
|
29010
|
+
}
|
|
29011
|
+
];
|
|
29012
|
+
var eventListingContentShape = {
|
|
29013
|
+
additionalFields: eventListingDerivedFields,
|
|
29014
|
+
skipSectionStyles: true
|
|
29015
|
+
};
|
|
29016
|
+
var eventListingConfig = {
|
|
28378
29017
|
id: "block.event-listing",
|
|
28379
29018
|
version: "1.1.0",
|
|
28380
29019
|
title: "Event Listing",
|
|
@@ -28382,211 +29021,18 @@ var eventListingManifest = createBlockManifest({
|
|
|
28382
29021
|
description: "Paginated list of all upcoming events",
|
|
28383
29022
|
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
28384
29023
|
skipSectionStyles: true,
|
|
28385
|
-
additionalFields:
|
|
28386
|
-
...sectionHeaderFields("All Events"),
|
|
28387
|
-
...(() => {
|
|
28388
|
-
const columns = columnsField(["2", "3", "4"]);
|
|
28389
|
-
return [
|
|
28390
|
-
{
|
|
28391
|
-
...layoutField,
|
|
28392
|
-
ui: { ...layoutField.ui ?? {}, intent: "display" }
|
|
28393
|
-
},
|
|
28394
|
-
{
|
|
28395
|
-
...columns,
|
|
28396
|
-
ui: { ...columns.ui ?? {}, intent: "display" }
|
|
28397
|
-
}
|
|
28398
|
-
];
|
|
28399
|
-
})(),
|
|
28400
|
-
{
|
|
28401
|
-
id: "eventsPerPage",
|
|
28402
|
-
type: "select",
|
|
28403
|
-
label: "Events per page",
|
|
28404
|
-
description: "Number of events to load at a time",
|
|
28405
|
-
required: false,
|
|
28406
|
-
multiple: false,
|
|
28407
|
-
defaultValue: "12",
|
|
28408
|
-
options: [
|
|
28409
|
-
{ value: "3", label: "3 events" },
|
|
28410
|
-
{ value: "6", label: "6 events" },
|
|
28411
|
-
{ value: "12", label: "12 events" },
|
|
28412
|
-
{ value: "24", label: "24 events" }
|
|
28413
|
-
],
|
|
28414
|
-
ui: { intent: "display" }
|
|
28415
|
-
},
|
|
28416
|
-
{
|
|
28417
|
-
id: "paginationMode",
|
|
28418
|
-
type: "select",
|
|
28419
|
-
label: "More events",
|
|
28420
|
-
description: "How to access events beyond the initial list",
|
|
28421
|
-
required: false,
|
|
28422
|
-
multiple: false,
|
|
28423
|
-
defaultValue: "loadMore",
|
|
28424
|
-
options: [
|
|
28425
|
-
{ value: "loadMore", label: "Load more button" },
|
|
28426
|
-
{ value: "seeAllLink", label: "Link to another page" }
|
|
28427
|
-
],
|
|
28428
|
-
ui: { intent: "display" }
|
|
28429
|
-
},
|
|
28430
|
-
{
|
|
28431
|
-
id: "seeAllUrl",
|
|
28432
|
-
type: "link",
|
|
28433
|
-
label: "See all destination",
|
|
28434
|
-
required: false,
|
|
28435
|
-
ui: {
|
|
28436
|
-
intent: "display",
|
|
28437
|
-
visibleWhen: {
|
|
28438
|
-
field: "paginationMode",
|
|
28439
|
-
equals: "seeAllLink"
|
|
28440
|
-
}
|
|
28441
|
-
}
|
|
28442
|
-
},
|
|
28443
|
-
{
|
|
28444
|
-
id: "loadMoreText",
|
|
28445
|
-
type: "text",
|
|
28446
|
-
label: "Button text",
|
|
28447
|
-
description: "Text for the pagination button or link",
|
|
28448
|
-
required: false,
|
|
28449
|
-
multiline: false,
|
|
28450
|
-
defaultValue: "Load more events",
|
|
28451
|
-
maxLength: 40
|
|
28452
|
-
},
|
|
28453
|
-
...cardStylingFields.map((field) => ({
|
|
28454
|
-
...field,
|
|
28455
|
-
ui: { ...field.ui ?? {}, intent: "style" }
|
|
28456
|
-
})),
|
|
28457
|
-
...eventDisplayFields.map((field) => ({
|
|
28458
|
-
...field,
|
|
28459
|
-
ui: { ...field.ui ?? {}, intent: "display" }
|
|
28460
|
-
})),
|
|
28461
|
-
{
|
|
28462
|
-
id: "kind",
|
|
28463
|
-
type: "select",
|
|
28464
|
-
label: "Show",
|
|
28465
|
-
description: "Choose whether this list shows courses, events, or both",
|
|
28466
|
-
required: false,
|
|
28467
|
-
multiple: false,
|
|
28468
|
-
defaultValue: "all",
|
|
28469
|
-
options: [
|
|
28470
|
-
{ value: "all", label: "Courses and events" },
|
|
28471
|
-
{ value: "courses", label: "Courses only" },
|
|
28472
|
-
{ value: "events", label: "Events only" }
|
|
28473
|
-
],
|
|
28474
|
-
ui: { intent: "behavior" }
|
|
28475
|
-
},
|
|
28476
|
-
{
|
|
28477
|
-
id: "eventSurface",
|
|
28478
|
-
type: "select",
|
|
28479
|
-
label: "Event surface",
|
|
28480
|
-
description: "Choose a semantic event scope",
|
|
28481
|
-
required: false,
|
|
28482
|
-
multiple: false,
|
|
28483
|
-
defaultValue: "all",
|
|
28484
|
-
options: [
|
|
28485
|
-
{ value: "all", label: "All events" },
|
|
28486
|
-
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
28487
|
-
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
28488
|
-
{ value: "custom", label: "Custom" }
|
|
28489
|
-
],
|
|
28490
|
-
ui: { intent: "behavior" }
|
|
28491
|
-
},
|
|
28492
|
-
{
|
|
28493
|
-
id: "filterEventPresets",
|
|
28494
|
-
type: "select",
|
|
28495
|
-
label: "Pre-filter by event type",
|
|
28496
|
-
description: "Restrict this block to specific event types",
|
|
28497
|
-
required: false,
|
|
28498
|
-
multiple: true,
|
|
28499
|
-
defaultValue: [],
|
|
28500
|
-
options: [
|
|
28501
|
-
{ value: "class", label: "Classes" },
|
|
28502
|
-
{ value: "workshop", label: "Workshops" },
|
|
28503
|
-
{ value: "retreat", label: "Retreats" },
|
|
28504
|
-
{ value: "performance", label: "Performances" }
|
|
28505
|
-
],
|
|
28506
|
-
ui: {
|
|
28507
|
-
intent: "behavior",
|
|
28508
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
28509
|
-
}
|
|
28510
|
-
},
|
|
28511
|
-
{
|
|
28512
|
-
id: "scheduleScope",
|
|
28513
|
-
type: "select",
|
|
28514
|
-
label: "Schedule cadence",
|
|
28515
|
-
description: "Restrict this block by recurrence",
|
|
28516
|
-
required: false,
|
|
28517
|
-
multiple: false,
|
|
28518
|
-
defaultValue: "any",
|
|
28519
|
-
options: [
|
|
28520
|
-
{ value: "any", label: "Any cadence" },
|
|
28521
|
-
{ value: "recurring", label: "Recurring only" },
|
|
28522
|
-
{ value: "oneOff", label: "One-off only" }
|
|
28523
|
-
],
|
|
28524
|
-
ui: {
|
|
28525
|
-
intent: "behavior",
|
|
28526
|
-
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
28527
|
-
}
|
|
28528
|
-
},
|
|
28529
|
-
{
|
|
28530
|
-
...emptyStateField,
|
|
28531
|
-
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
28532
|
-
},
|
|
28533
|
-
sectionStylesField({
|
|
28534
|
-
id: "_sectionStyles",
|
|
28535
|
-
label: "Section styles",
|
|
28536
|
-
renderInHeader: false
|
|
28537
|
-
})
|
|
28538
|
-
],
|
|
29024
|
+
additionalFields: eventListingAdditionalFields,
|
|
28539
29025
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
28540
29026
|
behaviours: { supportsThemeSwitching: true, inlineEditing: false, animation: false, paletteHidden: true },
|
|
28541
29027
|
category: "interactive",
|
|
28542
29028
|
tags: ["events", "listing", "paginated", "archive", "all-events"],
|
|
28543
29029
|
icon: "List",
|
|
28544
|
-
layout:
|
|
28545
|
-
|
|
28546
|
-
|
|
28547
|
-
|
|
28548
|
-
|
|
28549
|
-
|
|
28550
|
-
bind("content.heading"),
|
|
28551
|
-
when("content.heading")
|
|
28552
|
-
),
|
|
28553
|
-
// Optional description
|
|
28554
|
-
richText(
|
|
28555
|
-
{ className: "rb-prose rb-max-w-none" },
|
|
28556
|
-
bind("content.description"),
|
|
28557
|
-
when("content.description")
|
|
28558
|
-
),
|
|
28559
|
-
// Event listing component with pagination
|
|
28560
|
-
el("event-listing", withApiBindings({
|
|
28561
|
-
events: { $bind: { from: "data.events" } },
|
|
28562
|
-
stage: { $bind: { from: "$root.previewStage", fallback: "published" } },
|
|
28563
|
-
layout: { $bind: { from: "content.layout", fallback: "grid" } },
|
|
28564
|
-
columns: { $bind: { from: "content.columns", fallback: "3" } },
|
|
28565
|
-
eventsPerPage: { $bind: { from: "content.eventsPerPage", fallback: "12" } },
|
|
28566
|
-
paginationMode: { $bind: { from: "content.paginationMode", fallback: "loadMore" } },
|
|
28567
|
-
seeAllUrl: { $bind: { from: "content.seeAllUrl", transforms: [{ id: "links.resolve" }] } },
|
|
28568
|
-
loadMoreText: { $bind: { from: "content.loadMoreText", fallback: "Load more events" } },
|
|
28569
|
-
cardVariant: { $bind: { from: "content.cardVariant", fallback: "default" } },
|
|
28570
|
-
buttonVariant: { $bind: { from: "content.buttonVariant", fallback: "primary" } },
|
|
28571
|
-
buttonText: { $bind: { from: "content.buttonText", fallback: "View event" } },
|
|
28572
|
-
showVenue: { $bind: { from: "content.showVenue" } },
|
|
28573
|
-
showMap: { $bind: { from: "content.showMap" } },
|
|
28574
|
-
showCapacity: { $bind: { from: "content.showCapacity" } },
|
|
28575
|
-
eventKind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
28576
|
-
eventSurface: { $bind: { from: "content.eventSurface", fallback: "all" } },
|
|
28577
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
28578
|
-
scheduleScope: { $bind: { from: "content.scheduleScope", fallback: "any" } },
|
|
28579
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
28580
|
-
}))
|
|
28581
|
-
], {
|
|
28582
|
-
gap: "lg"
|
|
28583
|
-
}),
|
|
28584
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
28585
|
-
baseClass: "",
|
|
28586
|
-
spacing: "comfortable"
|
|
28587
|
-
})
|
|
28588
|
-
]
|
|
28589
|
-
});
|
|
29030
|
+
layout: eventListingLayout
|
|
29031
|
+
};
|
|
29032
|
+
var eventListingManifest = createBlockManifestWithContentShape(
|
|
29033
|
+
eventListingConfig,
|
|
29034
|
+
eventListingContentShape
|
|
29035
|
+
);
|
|
28590
29036
|
var eventListingBlockDefinition = {
|
|
28591
29037
|
manifest: eventListingManifest,
|
|
28592
29038
|
runtime: eventListingBlockRuntime,
|
|
@@ -28613,7 +29059,6 @@ var eventListingBlockDefinition = {
|
|
|
28613
29059
|
|
|
28614
29060
|
// ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
28615
29061
|
import { z as z54 } from "zod";
|
|
28616
|
-
var displayModeSchema = z54.enum(["combined", "month", "week", "list", "timetable"]);
|
|
28617
29062
|
var eventBlockKindSchema2 = z54.enum(eventBlockKindValues);
|
|
28618
29063
|
var eventSurfaceScopeSchema2 = z54.enum(eventSurfaceScopeValues);
|
|
28619
29064
|
var eventScheduleScopeSchema3 = z54.enum(eventScheduleScopeValues);
|
|
@@ -28623,7 +29068,8 @@ var eventCalendarSourceSchema = z54.object(
|
|
|
28623
29068
|
siteId: z54.string(),
|
|
28624
29069
|
apiBaseUrl: z54.string().optional(),
|
|
28625
29070
|
stage: previewStageSchema.optional(),
|
|
28626
|
-
|
|
29071
|
+
variant: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
29072
|
+
displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
|
|
28627
29073
|
listLayout: eventLayoutSchema.optional(),
|
|
28628
29074
|
listColumns: columnOptionSchema.optional(),
|
|
28629
29075
|
layout: eventLayoutSchema.optional(),
|
|
@@ -28655,7 +29101,7 @@ var eventCalendarSourceSchema = z54.object(
|
|
|
28655
29101
|
);
|
|
28656
29102
|
var eventCalendarDisplaySchema = z54.object({
|
|
28657
29103
|
kind: z54.literal("event-calendar"),
|
|
28658
|
-
displayMode:
|
|
29104
|
+
displayMode: eventCalendarDisplayModeSchema,
|
|
28659
29105
|
className: z54.string().nullable(),
|
|
28660
29106
|
events: z54.array(publicEventSchema),
|
|
28661
29107
|
listLayout: eventLayoutSchema,
|
|
@@ -28710,7 +29156,7 @@ var eventCalendarIslandMetaKeys = defineInteractiveIslandMetaKeys(
|
|
|
28710
29156
|
function buildEventCalendarDisplay(source) {
|
|
28711
29157
|
return {
|
|
28712
29158
|
kind: "event-calendar",
|
|
28713
|
-
displayMode: source.displayMode ?? "combined",
|
|
29159
|
+
displayMode: source.variant ?? source.displayMode ?? "combined",
|
|
28714
29160
|
className: source.className ?? null,
|
|
28715
29161
|
events: (source.events ?? []).slice().sort(
|
|
28716
29162
|
(left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()
|
|
@@ -28810,8 +29256,12 @@ function buildEventCalendarInteractiveIslandProps(props2) {
|
|
|
28810
29256
|
function normalizeEventCalendarContent(content) {
|
|
28811
29257
|
const record = typeof content === "object" && content !== null ? content : {};
|
|
28812
29258
|
const kind = normalizeEventBlockKind(record.kind);
|
|
29259
|
+
const variant = normalizeEventCalendarDisplayMode(record.variant) ?? normalizeEventCalendarDisplayMode(record.displayMode);
|
|
28813
29260
|
return {
|
|
28814
29261
|
...record,
|
|
29262
|
+
...variant ? { variant } : {},
|
|
29263
|
+
displayMode: normalizeEventCalendarDisplayMode(record.displayMode),
|
|
29264
|
+
listLayout: normalizeEventCalendarListLayout(record.listLayout),
|
|
28815
29265
|
kind,
|
|
28816
29266
|
eventSurface: normalizeEventSurfaceScope(record.eventSurface),
|
|
28817
29267
|
filterEventPresets: normalizeEventSurfacePresets(record.filterEventPresets),
|
|
@@ -28823,355 +29273,515 @@ function normalizeEventCalendarContent(content) {
|
|
|
28823
29273
|
filterVenueId: normalizeEventVenueId(record.filterVenueId)
|
|
28824
29274
|
};
|
|
28825
29275
|
}
|
|
28826
|
-
|
|
28827
|
-
|
|
28828
|
-
|
|
28829
|
-
|
|
28830
|
-
|
|
28831
|
-
|
|
28832
|
-
|
|
28833
|
-
|
|
28834
|
-
|
|
28835
|
-
|
|
28836
|
-
|
|
28837
|
-
|
|
28838
|
-
|
|
28839
|
-
|
|
28840
|
-
|
|
28841
|
-
|
|
28842
|
-
|
|
28843
|
-
|
|
28844
|
-
|
|
28845
|
-
|
|
28846
|
-
|
|
28847
|
-
|
|
28848
|
-
|
|
28849
|
-
|
|
28850
|
-
|
|
28851
|
-
|
|
28852
|
-
|
|
28853
|
-
|
|
28854
|
-
|
|
28855
|
-
|
|
28856
|
-
|
|
28857
|
-
|
|
28858
|
-
|
|
28859
|
-
|
|
28860
|
-
|
|
28861
|
-
|
|
28862
|
-
|
|
28863
|
-
|
|
28864
|
-
|
|
28865
|
-
|
|
28866
|
-
|
|
28867
|
-
|
|
28868
|
-
|
|
28869
|
-
|
|
28870
|
-
|
|
28871
|
-
|
|
28872
|
-
|
|
28873
|
-
|
|
28874
|
-
|
|
28875
|
-
|
|
28876
|
-
|
|
28877
|
-
|
|
28878
|
-
|
|
28879
|
-
|
|
28880
|
-
|
|
28881
|
-
|
|
28882
|
-
|
|
28883
|
-
|
|
28884
|
-
|
|
28885
|
-
|
|
28886
|
-
|
|
28887
|
-
|
|
28888
|
-
|
|
28889
|
-
|
|
28890
|
-
|
|
28891
|
-
|
|
28892
|
-
|
|
28893
|
-
|
|
28894
|
-
|
|
28895
|
-
|
|
28896
|
-
|
|
28897
|
-
|
|
28898
|
-
|
|
28899
|
-
|
|
28900
|
-
|
|
28901
|
-
|
|
28902
|
-
|
|
28903
|
-
|
|
28904
|
-
|
|
28905
|
-
|
|
28906
|
-
|
|
28907
|
-
|
|
28908
|
-
|
|
28909
|
-
|
|
28910
|
-
|
|
28911
|
-
|
|
28912
|
-
|
|
28913
|
-
|
|
28914
|
-
|
|
28915
|
-
|
|
28916
|
-
|
|
28917
|
-
|
|
28918
|
-
|
|
28919
|
-
|
|
28920
|
-
|
|
28921
|
-
|
|
28922
|
-
|
|
28923
|
-
|
|
28924
|
-
|
|
28925
|
-
|
|
28926
|
-
|
|
28927
|
-
|
|
28928
|
-
id: "loadMoreText",
|
|
28929
|
-
type: "text",
|
|
28930
|
-
label: "Load more button text",
|
|
28931
|
-
description: "Text for the load more button",
|
|
28932
|
-
required: false,
|
|
28933
|
-
multiline: false,
|
|
28934
|
-
defaultValue: "Load more events",
|
|
28935
|
-
ui: {
|
|
28936
|
-
intent: "content",
|
|
28937
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list"] }
|
|
28938
|
-
}
|
|
28939
|
-
},
|
|
28940
|
-
// Calendar options
|
|
28941
|
-
{
|
|
28942
|
-
id: "startOfWeek",
|
|
28943
|
-
type: "select",
|
|
28944
|
-
label: "Week starts on",
|
|
28945
|
-
description: "First day of the week",
|
|
28946
|
-
required: false,
|
|
28947
|
-
multiple: false,
|
|
28948
|
-
defaultValue: "monday",
|
|
28949
|
-
options: [
|
|
28950
|
-
{ value: "sunday", label: "Sunday" },
|
|
28951
|
-
{ value: "monday", label: "Monday" }
|
|
28952
|
-
],
|
|
28953
|
-
ui: {
|
|
28954
|
-
intent: "display",
|
|
28955
|
-
visibleWhen: {
|
|
28956
|
-
field: "displayMode",
|
|
28957
|
-
oneOf: ["combined", "month", "week"]
|
|
28958
|
-
}
|
|
28959
|
-
}
|
|
28960
|
-
},
|
|
28961
|
-
// Combined mode options
|
|
28962
|
-
{
|
|
28963
|
-
id: "calendarTabViews",
|
|
28964
|
-
type: "select",
|
|
28965
|
-
label: "Calendar tab views",
|
|
28966
|
-
description: "Which calendar views to show in the Calendar tab",
|
|
28967
|
-
required: false,
|
|
28968
|
-
multiple: false,
|
|
28969
|
-
defaultValue: "both",
|
|
28970
|
-
options: [
|
|
28971
|
-
{ value: "both", label: "Month + Week toggle" },
|
|
28972
|
-
{ value: "month", label: "Month only" },
|
|
28973
|
-
{ value: "week", label: "Week only" }
|
|
28974
|
-
],
|
|
28975
|
-
ui: {
|
|
28976
|
-
intent: "display",
|
|
28977
|
-
visibleWhen: { field: "displayMode", equals: "combined" }
|
|
28978
|
-
}
|
|
28979
|
-
},
|
|
28980
|
-
// Filtering options
|
|
28981
|
-
{
|
|
28982
|
-
id: "kind",
|
|
28983
|
-
type: "select",
|
|
28984
|
-
label: "Show",
|
|
28985
|
-
description: "Restrict this block to all offerings, courses, or events",
|
|
28986
|
-
required: false,
|
|
28987
|
-
multiple: false,
|
|
28988
|
-
defaultValue: "all",
|
|
28989
|
-
options: [
|
|
28990
|
-
{ value: "all", label: "All offerings" },
|
|
28991
|
-
{ value: "courses", label: "Courses only" },
|
|
28992
|
-
{ value: "events", label: "Events only" }
|
|
28993
|
-
],
|
|
28994
|
-
ui: { intent: "behavior" }
|
|
28995
|
-
},
|
|
28996
|
-
{
|
|
28997
|
-
id: "showFilters",
|
|
28998
|
-
type: "boolean",
|
|
28999
|
-
label: "Show filters",
|
|
29000
|
-
description: "Show category, staff, and venue filters",
|
|
29001
|
-
required: false,
|
|
29002
|
-
defaultValue: true,
|
|
29003
|
-
ui: {
|
|
29004
|
-
intent: "display",
|
|
29005
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
29006
|
-
}
|
|
29007
|
-
},
|
|
29008
|
-
{
|
|
29009
|
-
id: "showCategoryFilter",
|
|
29010
|
-
type: "select",
|
|
29011
|
-
label: "Show category filter",
|
|
29012
|
-
description: "When to show the category filter dropdown",
|
|
29013
|
-
required: false,
|
|
29014
|
-
multiple: false,
|
|
29015
|
-
defaultValue: "auto",
|
|
29016
|
-
options: [
|
|
29017
|
-
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
29018
|
-
{ value: "always", label: "Always" },
|
|
29019
|
-
{ value: "never", label: "Never" }
|
|
29276
|
+
function normalizeEventCalendarDisplayMode(value) {
|
|
29277
|
+
return isEventCalendarDisplayMode(value) ? value : void 0;
|
|
29278
|
+
}
|
|
29279
|
+
function normalizeEventCalendarListLayout(value) {
|
|
29280
|
+
return isEventCalendarListLayout(value) ? value : void 0;
|
|
29281
|
+
}
|
|
29282
|
+
var eventCalendarLayout = [
|
|
29283
|
+
styledSection({
|
|
29284
|
+
children: sectionContainer(
|
|
29285
|
+
[
|
|
29286
|
+
// Optional heading
|
|
29287
|
+
text({ as: "h2" }, bind("content.heading"), when("content.heading")),
|
|
29288
|
+
// Optional description
|
|
29289
|
+
richText(
|
|
29290
|
+
{ className: "rb-prose rb-max-w-none" },
|
|
29291
|
+
bind("content.description"),
|
|
29292
|
+
when("content.description")
|
|
29293
|
+
),
|
|
29294
|
+
// Event calendar component (handles all display modes)
|
|
29295
|
+
el(
|
|
29296
|
+
"event-calendar",
|
|
29297
|
+
withApiBindings({
|
|
29298
|
+
events: { $bind: { from: "data.events" } },
|
|
29299
|
+
stage: {
|
|
29300
|
+
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
29301
|
+
},
|
|
29302
|
+
// Variant is the new Theme V2-facing display mode. displayMode is
|
|
29303
|
+
// retained as a legacy fallback for existing content.
|
|
29304
|
+
variant: {
|
|
29305
|
+
$bind: { from: "content.variant" }
|
|
29306
|
+
},
|
|
29307
|
+
displayMode: {
|
|
29308
|
+
$bind: { from: "content.displayMode" }
|
|
29309
|
+
},
|
|
29310
|
+
// List options
|
|
29311
|
+
listLayout: { $bind: { from: "content.listLayout" } },
|
|
29312
|
+
listColumns: { $bind: { from: "content.listColumns" } },
|
|
29313
|
+
// Legacy compatibility: older event-calendar content used layout/columns
|
|
29314
|
+
layout: { $bind: { from: "content.layout" } },
|
|
29315
|
+
columns: { $bind: { from: "content.columns" } },
|
|
29316
|
+
eventsPerPage: {
|
|
29317
|
+
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
29318
|
+
},
|
|
29319
|
+
compactEventsPerPage: {
|
|
29320
|
+
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
29321
|
+
},
|
|
29322
|
+
loadMoreText: {
|
|
29323
|
+
$bind: {
|
|
29324
|
+
from: "content.loadMoreText",
|
|
29325
|
+
fallback: "Load more events"
|
|
29326
|
+
}
|
|
29327
|
+
},
|
|
29328
|
+
// Calendar options
|
|
29329
|
+
startOfWeek: {
|
|
29330
|
+
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
29331
|
+
},
|
|
29332
|
+
calendarTabViews: {
|
|
29333
|
+
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
29334
|
+
},
|
|
29335
|
+
// Filtering options
|
|
29336
|
+
showFilters: {
|
|
29337
|
+
$bind: { from: "content.showFilters", fallback: true }
|
|
29338
|
+
},
|
|
29339
|
+
showCategoryFilter: {
|
|
29340
|
+
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
29341
|
+
},
|
|
29342
|
+
showVenueFilter: {
|
|
29343
|
+
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
29344
|
+
},
|
|
29345
|
+
showStaffFilter: {
|
|
29346
|
+
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
29347
|
+
},
|
|
29348
|
+
showCapacity: {
|
|
29349
|
+
$bind: { from: "content.showCapacity", fallback: true }
|
|
29350
|
+
},
|
|
29351
|
+
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
29352
|
+
eventSurface: {
|
|
29353
|
+
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
29354
|
+
},
|
|
29355
|
+
filterEventPresets: {
|
|
29356
|
+
$bind: { from: "content.filterEventPresets" }
|
|
29357
|
+
},
|
|
29358
|
+
scheduleScope: {
|
|
29359
|
+
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
29360
|
+
},
|
|
29361
|
+
filterCategoryIds: {
|
|
29362
|
+
$bind: { from: "content.filterCategoryIds" }
|
|
29363
|
+
},
|
|
29364
|
+
filterStaffMemberId: {
|
|
29365
|
+
$bind: { from: "content.filterStaffMemberId" }
|
|
29366
|
+
},
|
|
29367
|
+
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
29368
|
+
// Styling
|
|
29369
|
+
buttonVariant: {
|
|
29370
|
+
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
29371
|
+
},
|
|
29372
|
+
buttonText: {
|
|
29373
|
+
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
29374
|
+
},
|
|
29375
|
+
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
29376
|
+
})
|
|
29377
|
+
)
|
|
29020
29378
|
],
|
|
29021
|
-
|
|
29022
|
-
|
|
29023
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
29024
|
-
}
|
|
29025
|
-
},
|
|
29026
|
-
{
|
|
29027
|
-
id: "showVenueFilter",
|
|
29028
|
-
type: "boolean",
|
|
29029
|
-
label: "Show venue filter",
|
|
29030
|
-
description: "Show venue filter dropdown",
|
|
29031
|
-
required: false,
|
|
29032
|
-
defaultValue: false,
|
|
29033
|
-
ui: {
|
|
29034
|
-
intent: "display",
|
|
29035
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
29036
|
-
}
|
|
29037
|
-
},
|
|
29038
|
-
{
|
|
29039
|
-
id: "showStaffFilter",
|
|
29040
|
-
type: "boolean",
|
|
29041
|
-
label: "Show staff filter",
|
|
29042
|
-
description: "Show staff filter dropdown",
|
|
29043
|
-
required: false,
|
|
29044
|
-
defaultValue: true,
|
|
29045
|
-
ui: {
|
|
29046
|
-
intent: "display",
|
|
29047
|
-
visibleWhen: { field: "displayMode", oneOf: ["combined", "list", "timetable"] }
|
|
29048
|
-
}
|
|
29049
|
-
},
|
|
29050
|
-
{
|
|
29051
|
-
id: "showCapacity",
|
|
29052
|
-
type: "boolean",
|
|
29053
|
-
label: "Show available spots",
|
|
29054
|
-
description: "Display remaining capacity on event cards and timetable cells",
|
|
29055
|
-
required: false,
|
|
29056
|
-
defaultValue: true,
|
|
29057
|
-
ui: {
|
|
29058
|
-
intent: "display",
|
|
29059
|
-
visibleWhen: {
|
|
29060
|
-
field: "displayMode",
|
|
29061
|
-
oneOf: ["combined", "list", "week", "timetable"]
|
|
29062
|
-
}
|
|
29379
|
+
{
|
|
29380
|
+
gap: "lg"
|
|
29063
29381
|
}
|
|
29064
|
-
|
|
29065
|
-
//
|
|
29066
|
-
|
|
29067
|
-
|
|
29068
|
-
|
|
29069
|
-
|
|
29070
|
-
|
|
29071
|
-
|
|
29072
|
-
|
|
29073
|
-
|
|
29074
|
-
|
|
29075
|
-
|
|
29076
|
-
|
|
29077
|
-
|
|
29078
|
-
|
|
29079
|
-
|
|
29080
|
-
|
|
29081
|
-
|
|
29082
|
-
|
|
29083
|
-
|
|
29084
|
-
|
|
29085
|
-
|
|
29086
|
-
|
|
29087
|
-
|
|
29088
|
-
|
|
29089
|
-
|
|
29090
|
-
|
|
29091
|
-
|
|
29092
|
-
|
|
29093
|
-
|
|
29094
|
-
|
|
29095
|
-
|
|
29096
|
-
|
|
29097
|
-
|
|
29098
|
-
|
|
29382
|
+
),
|
|
29383
|
+
// sectionContainer (rb-container) already provides horizontal padding
|
|
29384
|
+
baseClass: "",
|
|
29385
|
+
spacing: "comfortable"
|
|
29386
|
+
})
|
|
29387
|
+
];
|
|
29388
|
+
var eventCalendarAdditionalFields = [
|
|
29389
|
+
...sectionHeaderFields("Event Calendar"),
|
|
29390
|
+
// Display Mode (replaces calendarView)
|
|
29391
|
+
{
|
|
29392
|
+
id: "displayMode",
|
|
29393
|
+
type: "select",
|
|
29394
|
+
label: "Display mode",
|
|
29395
|
+
description: "How events are displayed",
|
|
29396
|
+
required: false,
|
|
29397
|
+
multiple: false,
|
|
29398
|
+
defaultValue: "combined",
|
|
29399
|
+
options: [
|
|
29400
|
+
{ value: "combined", label: "Combined (List + Calendar tabs)" },
|
|
29401
|
+
{ value: "month", label: "Month calendar" },
|
|
29402
|
+
{ value: "week", label: "Week agenda" },
|
|
29403
|
+
{ value: "timetable", label: "Timetable" },
|
|
29404
|
+
{ value: "list", label: "List" }
|
|
29405
|
+
],
|
|
29406
|
+
ui: { intent: "display", hidden: true }
|
|
29407
|
+
},
|
|
29408
|
+
// List options (visible when displayMode is list or combined)
|
|
29409
|
+
{
|
|
29410
|
+
id: "listLayout",
|
|
29411
|
+
type: "select",
|
|
29412
|
+
label: "List layout",
|
|
29413
|
+
description: "Layout style for list view",
|
|
29414
|
+
required: false,
|
|
29415
|
+
multiple: false,
|
|
29416
|
+
defaultValue: "stack",
|
|
29417
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
29418
|
+
value: option.id,
|
|
29419
|
+
label: option.label
|
|
29420
|
+
})),
|
|
29421
|
+
ui: {
|
|
29422
|
+
intent: "display",
|
|
29423
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
29424
|
+
}
|
|
29425
|
+
},
|
|
29426
|
+
{
|
|
29427
|
+
id: "listColumns",
|
|
29428
|
+
type: "select",
|
|
29429
|
+
label: "Grid columns",
|
|
29430
|
+
description: "Number of columns in grid layout",
|
|
29431
|
+
required: false,
|
|
29432
|
+
multiple: false,
|
|
29433
|
+
defaultValue: "3",
|
|
29434
|
+
options: [
|
|
29435
|
+
{ value: "2", label: "2 columns" },
|
|
29436
|
+
{ value: "3", label: "3 columns" },
|
|
29437
|
+
{ value: "4", label: "4 columns" }
|
|
29438
|
+
],
|
|
29439
|
+
ui: {
|
|
29440
|
+
intent: "display",
|
|
29441
|
+
visibleWhen: { field: "listLayout", equals: "grid" }
|
|
29442
|
+
}
|
|
29443
|
+
},
|
|
29444
|
+
{
|
|
29445
|
+
id: "eventsPerPage",
|
|
29446
|
+
type: "select",
|
|
29447
|
+
label: "Events per page (cards)",
|
|
29448
|
+
description: "Number of events to load initially in card layouts",
|
|
29449
|
+
required: false,
|
|
29450
|
+
multiple: false,
|
|
29451
|
+
defaultValue: "12",
|
|
29452
|
+
options: [
|
|
29453
|
+
{ value: "6", label: "6" },
|
|
29454
|
+
{ value: "12", label: "12" },
|
|
29455
|
+
{ value: "24", label: "24" }
|
|
29456
|
+
],
|
|
29457
|
+
ui: {
|
|
29458
|
+
intent: "display",
|
|
29459
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
29460
|
+
}
|
|
29461
|
+
},
|
|
29462
|
+
{
|
|
29463
|
+
id: "compactEventsPerPage",
|
|
29464
|
+
type: "select",
|
|
29465
|
+
label: "Events per page (compact)",
|
|
29466
|
+
description: "Number of events to show per page in compact layout",
|
|
29467
|
+
required: false,
|
|
29468
|
+
multiple: false,
|
|
29469
|
+
defaultValue: "10",
|
|
29470
|
+
options: [
|
|
29471
|
+
{ value: "10", label: "10" },
|
|
29472
|
+
{ value: "20", label: "20" },
|
|
29473
|
+
{ value: "30", label: "30" }
|
|
29474
|
+
],
|
|
29475
|
+
ui: {
|
|
29476
|
+
intent: "display",
|
|
29477
|
+
visibleWhen: { field: "listLayout", equals: "compact" }
|
|
29478
|
+
}
|
|
29479
|
+
},
|
|
29480
|
+
{
|
|
29481
|
+
id: "loadMoreText",
|
|
29482
|
+
type: "text",
|
|
29483
|
+
label: "Load more button text",
|
|
29484
|
+
description: "Text for the load more button",
|
|
29485
|
+
required: false,
|
|
29486
|
+
multiline: false,
|
|
29487
|
+
defaultValue: "Load more events",
|
|
29488
|
+
ui: {
|
|
29489
|
+
intent: "content",
|
|
29490
|
+
visibleWhen: { field: "variant", oneOf: ["combined", "list"] }
|
|
29491
|
+
}
|
|
29492
|
+
},
|
|
29493
|
+
// Calendar options
|
|
29494
|
+
{
|
|
29495
|
+
id: "startOfWeek",
|
|
29496
|
+
type: "select",
|
|
29497
|
+
label: "Week starts on",
|
|
29498
|
+
description: "First day of the week",
|
|
29499
|
+
required: false,
|
|
29500
|
+
multiple: false,
|
|
29501
|
+
defaultValue: "monday",
|
|
29502
|
+
options: [
|
|
29503
|
+
{ value: "sunday", label: "Sunday" },
|
|
29504
|
+
{ value: "monday", label: "Monday" }
|
|
29505
|
+
],
|
|
29506
|
+
ui: {
|
|
29507
|
+
intent: "display",
|
|
29508
|
+
visibleWhen: {
|
|
29509
|
+
field: "variant",
|
|
29510
|
+
oneOf: ["combined", "month", "week"]
|
|
29099
29511
|
}
|
|
29100
|
-
}
|
|
29101
|
-
|
|
29102
|
-
|
|
29103
|
-
|
|
29104
|
-
|
|
29105
|
-
|
|
29106
|
-
|
|
29107
|
-
|
|
29108
|
-
|
|
29109
|
-
|
|
29110
|
-
|
|
29111
|
-
|
|
29112
|
-
|
|
29113
|
-
|
|
29114
|
-
|
|
29115
|
-
|
|
29116
|
-
|
|
29512
|
+
}
|
|
29513
|
+
},
|
|
29514
|
+
// Combined mode options
|
|
29515
|
+
{
|
|
29516
|
+
id: "calendarTabViews",
|
|
29517
|
+
type: "select",
|
|
29518
|
+
label: "Calendar tab views",
|
|
29519
|
+
description: "Which calendar views to show in the Calendar tab",
|
|
29520
|
+
required: false,
|
|
29521
|
+
multiple: false,
|
|
29522
|
+
defaultValue: "both",
|
|
29523
|
+
options: [
|
|
29524
|
+
{ value: "both", label: "Month + Week toggle" },
|
|
29525
|
+
{ value: "month", label: "Month only" },
|
|
29526
|
+
{ value: "week", label: "Week only" }
|
|
29527
|
+
],
|
|
29528
|
+
ui: {
|
|
29529
|
+
intent: "display",
|
|
29530
|
+
visibleWhen: { field: "variant", equals: "combined" }
|
|
29531
|
+
}
|
|
29532
|
+
},
|
|
29533
|
+
// Filtering options
|
|
29534
|
+
{
|
|
29535
|
+
id: "kind",
|
|
29536
|
+
type: "select",
|
|
29537
|
+
label: "Show",
|
|
29538
|
+
description: "Restrict this block to all offerings, courses, or events",
|
|
29539
|
+
required: false,
|
|
29540
|
+
multiple: false,
|
|
29541
|
+
defaultValue: "all",
|
|
29542
|
+
options: [
|
|
29543
|
+
{ value: "all", label: "All offerings" },
|
|
29544
|
+
{ value: "courses", label: "Courses only" },
|
|
29545
|
+
{ value: "events", label: "Events only" }
|
|
29546
|
+
],
|
|
29547
|
+
ui: { intent: "behavior" }
|
|
29548
|
+
},
|
|
29549
|
+
{
|
|
29550
|
+
id: "showFilters",
|
|
29551
|
+
type: "boolean",
|
|
29552
|
+
label: "Show filters",
|
|
29553
|
+
description: "Show category, staff, and venue filters",
|
|
29554
|
+
required: false,
|
|
29555
|
+
defaultValue: true,
|
|
29556
|
+
ui: {
|
|
29557
|
+
intent: "display",
|
|
29558
|
+
visibleWhen: {
|
|
29559
|
+
field: "variant",
|
|
29560
|
+
oneOf: ["combined", "list", "timetable"]
|
|
29117
29561
|
}
|
|
29118
|
-
}
|
|
29119
|
-
|
|
29120
|
-
|
|
29121
|
-
|
|
29122
|
-
|
|
29123
|
-
|
|
29124
|
-
|
|
29125
|
-
|
|
29126
|
-
|
|
29127
|
-
|
|
29128
|
-
|
|
29129
|
-
|
|
29130
|
-
|
|
29562
|
+
}
|
|
29563
|
+
},
|
|
29564
|
+
{
|
|
29565
|
+
id: "showCategoryFilter",
|
|
29566
|
+
type: "select",
|
|
29567
|
+
label: "Show category filter",
|
|
29568
|
+
description: "When to show the category filter dropdown",
|
|
29569
|
+
required: false,
|
|
29570
|
+
multiple: false,
|
|
29571
|
+
defaultValue: "auto",
|
|
29572
|
+
options: [
|
|
29573
|
+
{ value: "auto", label: "Auto (when >1 category has events)" },
|
|
29574
|
+
{ value: "always", label: "Always" },
|
|
29575
|
+
{ value: "never", label: "Never" }
|
|
29576
|
+
],
|
|
29577
|
+
ui: {
|
|
29578
|
+
intent: "display",
|
|
29579
|
+
visibleWhen: {
|
|
29580
|
+
field: "variant",
|
|
29581
|
+
oneOf: ["combined", "list", "timetable"]
|
|
29131
29582
|
}
|
|
29132
|
-
}
|
|
29133
|
-
|
|
29134
|
-
|
|
29135
|
-
|
|
29136
|
-
|
|
29137
|
-
|
|
29138
|
-
|
|
29139
|
-
|
|
29140
|
-
|
|
29141
|
-
|
|
29142
|
-
|
|
29583
|
+
}
|
|
29584
|
+
},
|
|
29585
|
+
{
|
|
29586
|
+
id: "showVenueFilter",
|
|
29587
|
+
type: "boolean",
|
|
29588
|
+
label: "Show venue filter",
|
|
29589
|
+
description: "Show venue filter dropdown",
|
|
29590
|
+
required: false,
|
|
29591
|
+
defaultValue: false,
|
|
29592
|
+
ui: {
|
|
29593
|
+
intent: "display",
|
|
29594
|
+
visibleWhen: {
|
|
29595
|
+
field: "variant",
|
|
29596
|
+
oneOf: ["combined", "list", "timetable"]
|
|
29143
29597
|
}
|
|
29144
|
-
}
|
|
29145
|
-
|
|
29146
|
-
|
|
29147
|
-
|
|
29148
|
-
|
|
29149
|
-
|
|
29150
|
-
|
|
29151
|
-
|
|
29152
|
-
|
|
29153
|
-
|
|
29154
|
-
|
|
29598
|
+
}
|
|
29599
|
+
},
|
|
29600
|
+
{
|
|
29601
|
+
id: "showStaffFilter",
|
|
29602
|
+
type: "boolean",
|
|
29603
|
+
label: "Show staff filter",
|
|
29604
|
+
description: "Show staff filter dropdown",
|
|
29605
|
+
required: false,
|
|
29606
|
+
defaultValue: true,
|
|
29607
|
+
ui: {
|
|
29608
|
+
intent: "display",
|
|
29609
|
+
visibleWhen: {
|
|
29610
|
+
field: "variant",
|
|
29611
|
+
oneOf: ["combined", "list", "timetable"]
|
|
29155
29612
|
}
|
|
29156
|
-
}
|
|
29157
|
-
|
|
29158
|
-
|
|
29159
|
-
|
|
29160
|
-
|
|
29161
|
-
|
|
29162
|
-
|
|
29613
|
+
}
|
|
29614
|
+
},
|
|
29615
|
+
{
|
|
29616
|
+
id: "showCapacity",
|
|
29617
|
+
type: "boolean",
|
|
29618
|
+
label: "Show available spots",
|
|
29619
|
+
description: "Display remaining capacity on event cards and timetable cells",
|
|
29620
|
+
required: false,
|
|
29621
|
+
defaultValue: true,
|
|
29622
|
+
ui: {
|
|
29623
|
+
intent: "display",
|
|
29624
|
+
visibleWhen: {
|
|
29625
|
+
field: "variant",
|
|
29626
|
+
oneOf: ["combined", "list", "week", "timetable"]
|
|
29163
29627
|
}
|
|
29164
|
-
}
|
|
29165
|
-
|
|
29166
|
-
|
|
29167
|
-
|
|
29168
|
-
|
|
29169
|
-
|
|
29170
|
-
|
|
29171
|
-
|
|
29172
|
-
|
|
29173
|
-
|
|
29174
|
-
|
|
29628
|
+
}
|
|
29629
|
+
},
|
|
29630
|
+
// Block-level pre-filtering
|
|
29631
|
+
{
|
|
29632
|
+
id: "eventSurface",
|
|
29633
|
+
type: "select",
|
|
29634
|
+
label: "Event surface",
|
|
29635
|
+
description: "Choose a semantic event scope",
|
|
29636
|
+
required: false,
|
|
29637
|
+
multiple: false,
|
|
29638
|
+
defaultValue: "all",
|
|
29639
|
+
options: [
|
|
29640
|
+
{ value: "all", label: "All events" },
|
|
29641
|
+
{ value: "regularClassSchedule", label: "Regular class schedule" },
|
|
29642
|
+
{ value: "specialDatedEvents", label: "Workshops and special events" },
|
|
29643
|
+
{ value: "custom", label: "Custom" }
|
|
29644
|
+
],
|
|
29645
|
+
ui: { intent: "behavior" }
|
|
29646
|
+
},
|
|
29647
|
+
{
|
|
29648
|
+
id: "filterEventPresets",
|
|
29649
|
+
type: "select",
|
|
29650
|
+
label: "Pre-filter by event type",
|
|
29651
|
+
description: "Restrict this block to specific event types",
|
|
29652
|
+
required: false,
|
|
29653
|
+
multiple: true,
|
|
29654
|
+
defaultValue: [],
|
|
29655
|
+
options: [
|
|
29656
|
+
{ value: "class", label: "Classes" },
|
|
29657
|
+
{ value: "workshop", label: "Workshops" },
|
|
29658
|
+
{ value: "retreat", label: "Retreats" },
|
|
29659
|
+
{ value: "performance", label: "Performances" }
|
|
29660
|
+
],
|
|
29661
|
+
ui: {
|
|
29662
|
+
intent: "behavior",
|
|
29663
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
29664
|
+
}
|
|
29665
|
+
},
|
|
29666
|
+
{
|
|
29667
|
+
id: "scheduleScope",
|
|
29668
|
+
type: "select",
|
|
29669
|
+
label: "Schedule cadence",
|
|
29670
|
+
description: "Restrict this block by recurrence",
|
|
29671
|
+
required: false,
|
|
29672
|
+
multiple: false,
|
|
29673
|
+
defaultValue: "any",
|
|
29674
|
+
options: [
|
|
29675
|
+
{ value: "any", label: "Any cadence" },
|
|
29676
|
+
{ value: "recurring", label: "Recurring only" },
|
|
29677
|
+
{ value: "oneOff", label: "One-off only" }
|
|
29678
|
+
],
|
|
29679
|
+
ui: {
|
|
29680
|
+
intent: "behavior",
|
|
29681
|
+
visibleWhen: { field: "eventSurface", equals: "custom" }
|
|
29682
|
+
}
|
|
29683
|
+
},
|
|
29684
|
+
createSiteOptionSelectField({
|
|
29685
|
+
id: "filterCategoryIds",
|
|
29686
|
+
label: "Pre-filter by categories",
|
|
29687
|
+
description: "Restrict this block to specific event categories",
|
|
29688
|
+
required: false,
|
|
29689
|
+
multiple: true,
|
|
29690
|
+
defaultValue: [],
|
|
29691
|
+
optionSource: "eventCategories",
|
|
29692
|
+
ui: {
|
|
29693
|
+
intent: "behavior",
|
|
29694
|
+
searchThreshold: 8,
|
|
29695
|
+
visibleWhen: { field: "kind", notEquals: "courses" }
|
|
29696
|
+
}
|
|
29697
|
+
}),
|
|
29698
|
+
createSiteOptionSelectField({
|
|
29699
|
+
id: "filterStaffMemberId",
|
|
29700
|
+
label: "Pre-filter by staff member",
|
|
29701
|
+
description: "Restrict this block to a single staff member",
|
|
29702
|
+
required: false,
|
|
29703
|
+
multiple: false,
|
|
29704
|
+
optionSource: "staffMembers",
|
|
29705
|
+
ui: {
|
|
29706
|
+
intent: "behavior",
|
|
29707
|
+
searchThreshold: 8
|
|
29708
|
+
}
|
|
29709
|
+
}),
|
|
29710
|
+
createSiteOptionSelectField({
|
|
29711
|
+
id: "filterVenueId",
|
|
29712
|
+
label: "Pre-filter by venue",
|
|
29713
|
+
description: "Restrict this block to a single venue",
|
|
29714
|
+
required: false,
|
|
29715
|
+
multiple: false,
|
|
29716
|
+
optionSource: "venues",
|
|
29717
|
+
ui: {
|
|
29718
|
+
intent: "behavior",
|
|
29719
|
+
searchThreshold: 8
|
|
29720
|
+
}
|
|
29721
|
+
}),
|
|
29722
|
+
// Card styling
|
|
29723
|
+
...cardStylingFields.filter((f) => f.id === "buttonVariant" || f.id === "buttonText").map((field) => ({
|
|
29724
|
+
...field,
|
|
29725
|
+
ui: {
|
|
29726
|
+
...field.ui ?? {},
|
|
29727
|
+
intent: field.id === "buttonVariant" ? "style" : "content"
|
|
29728
|
+
}
|
|
29729
|
+
})),
|
|
29730
|
+
{
|
|
29731
|
+
...emptyStateField,
|
|
29732
|
+
ui: { ...emptyStateField.ui ?? {}, intent: "display" }
|
|
29733
|
+
},
|
|
29734
|
+
sectionStylesField({
|
|
29735
|
+
id: "_sectionStyles",
|
|
29736
|
+
label: "Section styles",
|
|
29737
|
+
renderInHeader: false
|
|
29738
|
+
})
|
|
29739
|
+
];
|
|
29740
|
+
var eventCalendarVariants = {
|
|
29741
|
+
combined: eventCalendarLayout[0],
|
|
29742
|
+
month: eventCalendarLayout[0],
|
|
29743
|
+
week: eventCalendarLayout[0],
|
|
29744
|
+
timetable: eventCalendarLayout[0],
|
|
29745
|
+
list: eventCalendarLayout[0]
|
|
29746
|
+
};
|
|
29747
|
+
var eventCalendarDerivedFields = [
|
|
29748
|
+
{
|
|
29749
|
+
id: "displayMode",
|
|
29750
|
+
type: "select",
|
|
29751
|
+
required: false,
|
|
29752
|
+
multiple: false,
|
|
29753
|
+
options: [
|
|
29754
|
+
{ value: "combined" },
|
|
29755
|
+
{ value: "month" },
|
|
29756
|
+
{ value: "week" },
|
|
29757
|
+
{ value: "timetable" },
|
|
29758
|
+
{ value: "list" }
|
|
29759
|
+
]
|
|
29760
|
+
},
|
|
29761
|
+
{
|
|
29762
|
+
id: "listLayout",
|
|
29763
|
+
type: "select",
|
|
29764
|
+
required: false,
|
|
29765
|
+
multiple: false,
|
|
29766
|
+
options: eventCalendarListLayoutOptions.map((option) => ({
|
|
29767
|
+
value: option.id
|
|
29768
|
+
}))
|
|
29769
|
+
}
|
|
29770
|
+
];
|
|
29771
|
+
var eventCalendarContentShape = {
|
|
29772
|
+
additionalFields: eventCalendarDerivedFields,
|
|
29773
|
+
variants: eventCalendarVariants,
|
|
29774
|
+
skipSectionStyles: true
|
|
29775
|
+
};
|
|
29776
|
+
var eventCalendarConfig = {
|
|
29777
|
+
id: "block.event-calendar",
|
|
29778
|
+
version: "3.6.0",
|
|
29779
|
+
title: "Event Calendar",
|
|
29780
|
+
titleSource: "heading",
|
|
29781
|
+
description: "Display events with calendar, list, or combined views with filtering",
|
|
29782
|
+
// Preserve legacy section styles field configuration (renderInHeader: false).
|
|
29783
|
+
skipSectionStyles: true,
|
|
29784
|
+
additionalFields: eventCalendarAdditionalFields,
|
|
29175
29785
|
styleTokens: { background: "surface", typography: "body", spacing: "md" },
|
|
29176
29786
|
behaviours: {
|
|
29177
29787
|
supportsThemeSwitching: true,
|
|
@@ -29191,109 +29801,21 @@ var eventCalendarManifest = createBlockManifest({
|
|
|
29191
29801
|
"filter"
|
|
29192
29802
|
],
|
|
29193
29803
|
icon: "CalendarDays",
|
|
29194
|
-
layout:
|
|
29195
|
-
|
|
29196
|
-
|
|
29197
|
-
|
|
29198
|
-
|
|
29199
|
-
|
|
29200
|
-
|
|
29201
|
-
|
|
29202
|
-
|
|
29203
|
-
|
|
29204
|
-
|
|
29205
|
-
|
|
29206
|
-
|
|
29207
|
-
|
|
29208
|
-
|
|
29209
|
-
withApiBindings({
|
|
29210
|
-
events: { $bind: { from: "data.events" } },
|
|
29211
|
-
stage: {
|
|
29212
|
-
$bind: { from: "$root.previewStage", fallback: "published" }
|
|
29213
|
-
},
|
|
29214
|
-
// Display mode
|
|
29215
|
-
displayMode: {
|
|
29216
|
-
$bind: { from: "content.displayMode", fallback: "combined" }
|
|
29217
|
-
},
|
|
29218
|
-
// List options
|
|
29219
|
-
listLayout: { $bind: { from: "content.listLayout" } },
|
|
29220
|
-
listColumns: { $bind: { from: "content.listColumns" } },
|
|
29221
|
-
// Legacy compatibility: older event-calendar content used layout/columns
|
|
29222
|
-
layout: { $bind: { from: "content.layout" } },
|
|
29223
|
-
columns: { $bind: { from: "content.columns" } },
|
|
29224
|
-
eventsPerPage: {
|
|
29225
|
-
$bind: { from: "content.eventsPerPage", fallback: "12" }
|
|
29226
|
-
},
|
|
29227
|
-
compactEventsPerPage: {
|
|
29228
|
-
$bind: { from: "content.compactEventsPerPage", fallback: "10" }
|
|
29229
|
-
},
|
|
29230
|
-
loadMoreText: {
|
|
29231
|
-
$bind: {
|
|
29232
|
-
from: "content.loadMoreText",
|
|
29233
|
-
fallback: "Load more events"
|
|
29234
|
-
}
|
|
29235
|
-
},
|
|
29236
|
-
// Calendar options
|
|
29237
|
-
startOfWeek: {
|
|
29238
|
-
$bind: { from: "content.startOfWeek", fallback: "monday" }
|
|
29239
|
-
},
|
|
29240
|
-
calendarTabViews: {
|
|
29241
|
-
$bind: { from: "content.calendarTabViews", fallback: "both" }
|
|
29242
|
-
},
|
|
29243
|
-
// Filtering options
|
|
29244
|
-
showFilters: {
|
|
29245
|
-
$bind: { from: "content.showFilters", fallback: true }
|
|
29246
|
-
},
|
|
29247
|
-
showCategoryFilter: {
|
|
29248
|
-
$bind: { from: "content.showCategoryFilter", fallback: "auto" }
|
|
29249
|
-
},
|
|
29250
|
-
showVenueFilter: {
|
|
29251
|
-
$bind: { from: "content.showVenueFilter", fallback: false }
|
|
29252
|
-
},
|
|
29253
|
-
showStaffFilter: {
|
|
29254
|
-
$bind: { from: "content.showStaffFilter", fallback: true }
|
|
29255
|
-
},
|
|
29256
|
-
showCapacity: {
|
|
29257
|
-
$bind: { from: "content.showCapacity", fallback: true }
|
|
29258
|
-
},
|
|
29259
|
-
kind: { $bind: { from: "content.kind", fallback: "all" } },
|
|
29260
|
-
eventSurface: {
|
|
29261
|
-
$bind: { from: "content.eventSurface", fallback: "all" }
|
|
29262
|
-
},
|
|
29263
|
-
filterEventPresets: {
|
|
29264
|
-
$bind: { from: "content.filterEventPresets" }
|
|
29265
|
-
},
|
|
29266
|
-
scheduleScope: {
|
|
29267
|
-
$bind: { from: "content.scheduleScope", fallback: "any" }
|
|
29268
|
-
},
|
|
29269
|
-
filterCategoryIds: {
|
|
29270
|
-
$bind: { from: "content.filterCategoryIds" }
|
|
29271
|
-
},
|
|
29272
|
-
filterStaffMemberId: {
|
|
29273
|
-
$bind: { from: "content.filterStaffMemberId" }
|
|
29274
|
-
},
|
|
29275
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
29276
|
-
// Styling
|
|
29277
|
-
buttonVariant: {
|
|
29278
|
-
$bind: { from: "content.buttonVariant", fallback: "primary" }
|
|
29279
|
-
},
|
|
29280
|
-
buttonText: {
|
|
29281
|
-
$bind: { from: "content.buttonText", fallback: "View event" }
|
|
29282
|
-
},
|
|
29283
|
-
emptyMessage: { $bind: { from: "content.emptyMessage" } }
|
|
29284
|
-
})
|
|
29285
|
-
)
|
|
29286
|
-
],
|
|
29287
|
-
{
|
|
29288
|
-
gap: "lg"
|
|
29289
|
-
}
|
|
29290
|
-
),
|
|
29291
|
-
// sectionContainer (rb-container) already provides horizontal padding
|
|
29292
|
-
baseClass: "",
|
|
29293
|
-
spacing: "comfortable"
|
|
29294
|
-
})
|
|
29295
|
-
]
|
|
29296
|
-
});
|
|
29804
|
+
layout: eventCalendarLayout,
|
|
29805
|
+
variants: eventCalendarVariants,
|
|
29806
|
+
defaultVariant: "combined",
|
|
29807
|
+
variantOptions: {
|
|
29808
|
+
combined: { label: "Combined" },
|
|
29809
|
+
month: { label: "Month" },
|
|
29810
|
+
week: { label: "Week" },
|
|
29811
|
+
timetable: { label: "Timetable" },
|
|
29812
|
+
list: { label: "List" }
|
|
29813
|
+
}
|
|
29814
|
+
};
|
|
29815
|
+
var eventCalendarManifest = createBlockManifestWithContentShape(
|
|
29816
|
+
eventCalendarConfig,
|
|
29817
|
+
eventCalendarContentShape
|
|
29818
|
+
);
|
|
29297
29819
|
var eventCalendarBlockDefinition = {
|
|
29298
29820
|
manifest: eventCalendarManifest,
|
|
29299
29821
|
normalizeContent: normalizeEventCalendarContent,
|
|
@@ -33465,14 +33987,29 @@ function mediaPanelCapable() {
|
|
|
33465
33987
|
var allSectionSurfaces = [
|
|
33466
33988
|
"base",
|
|
33467
33989
|
"muted-band",
|
|
33468
|
-
"accent-band"
|
|
33990
|
+
"accent-band",
|
|
33991
|
+
"brand-depth-band"
|
|
33469
33992
|
];
|
|
33470
33993
|
var heroSectionSurfaces = [
|
|
33471
33994
|
"base",
|
|
33472
33995
|
"muted-band",
|
|
33473
33996
|
"accent-band",
|
|
33997
|
+
"brand-depth-band",
|
|
33474
33998
|
"hero-image"
|
|
33475
33999
|
];
|
|
34000
|
+
var scheduleTileTreatments = [
|
|
34001
|
+
"default",
|
|
34002
|
+
"quiet",
|
|
34003
|
+
"brand-depth"
|
|
34004
|
+
];
|
|
34005
|
+
function scheduleDetailsCapable() {
|
|
34006
|
+
return declareBlockDesignCapability({
|
|
34007
|
+
sectionSurfaces: "supported",
|
|
34008
|
+
contentFrames: ["plain"],
|
|
34009
|
+
itemSurfaces: "unsupported",
|
|
34010
|
+
tileTreatments: scheduleTileTreatments
|
|
34011
|
+
});
|
|
34012
|
+
}
|
|
33476
34013
|
function defaultBoundaryBias(visualWeight) {
|
|
33477
34014
|
return visualWeight === "featured" || visualWeight === "immersive" ? "clear" : "soft";
|
|
33478
34015
|
}
|
|
@@ -33710,7 +34247,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
33710
34247
|
flow: conversionFlow,
|
|
33711
34248
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
33712
34249
|
})),
|
|
33713
|
-
withDesignCapability("block.event-details", eventDetailsBlockDefinition,
|
|
34250
|
+
withDesignCapability("block.event-details", eventDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
33714
34251
|
flow: offeringsFlow,
|
|
33715
34252
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
33716
34253
|
})),
|
|
@@ -33718,7 +34255,7 @@ var systemBlockDefinitionsRaw = [
|
|
|
33718
34255
|
flow: conversionFlow,
|
|
33719
34256
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
33720
34257
|
})),
|
|
33721
|
-
withDesignCapability("block.course-details", courseDetailsBlockDefinition,
|
|
34258
|
+
withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
|
|
33722
34259
|
flow: offeringsFlow,
|
|
33723
34260
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "stack", weight: "standard" })]
|
|
33724
34261
|
})),
|
|
@@ -33733,7 +34270,13 @@ var systemBlockDefinitionsRaw = [
|
|
|
33733
34270
|
})),
|
|
33734
34271
|
withDesignCapability("block.event-calendar", eventCalendarBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
33735
34272
|
flow: offeringsFlow,
|
|
33736
|
-
layoutProfiles: [
|
|
34273
|
+
layoutProfiles: [
|
|
34274
|
+
layoutProfile({ variantKey: "combined", family: "grid", weight: "standard" }),
|
|
34275
|
+
layoutProfile({ variantKey: "list", family: "stack", weight: "standard" }),
|
|
34276
|
+
layoutProfile({ variantKey: "month", family: "grid", weight: "standard" }),
|
|
34277
|
+
layoutProfile({ variantKey: "week", family: "stack", weight: "standard" }),
|
|
34278
|
+
layoutProfile({ variantKey: "timetable", family: "stack", weight: "standard" })
|
|
34279
|
+
]
|
|
33737
34280
|
})),
|
|
33738
34281
|
// Friendly wrapper blocks
|
|
33739
34282
|
withDesignCapability("block.team-members", teamMembersBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
@@ -36535,7 +37078,7 @@ function CoursePricingDisplay({
|
|
|
36535
37078
|
] }),
|
|
36536
37079
|
option.description ? /* @__PURE__ */ jsx25("p", { className: "rb-caption status-muted", children: option.description }) : null
|
|
36537
37080
|
] }, option.id)) }) : /* @__PURE__ */ jsx25("p", { children: /* @__PURE__ */ jsx25("strong", { children: formatCoursePriceDisplay(pricing.display) }) }),
|
|
36538
|
-
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs12("p", { className: "rb-caption
|
|
37081
|
+
acceptedItems.length > 0 ? /* @__PURE__ */ jsxs12("p", { className: "rb-caption rb-mt-1", children: [
|
|
36539
37082
|
"You can also attend with: ",
|
|
36540
37083
|
acceptedItems.join(", ")
|
|
36541
37084
|
] }) : null
|
|
@@ -36635,11 +37178,11 @@ function EventDetailsView({
|
|
|
36635
37178
|
) : shouldShowEventCost ? /* @__PURE__ */ jsxs13("div", { className: "rb-mt-6", children: [
|
|
36636
37179
|
/* @__PURE__ */ jsx26("div", { className: "rb-label rb-mb-2", children: "Cost" }),
|
|
36637
37180
|
eventPrice !== null ? /* @__PURE__ */ jsx26("p", { children: /* @__PURE__ */ jsx26("strong", { children: formatCoursePriceAmount(eventPrice, selected.currency ?? "USD") }) }) : /* @__PURE__ */ jsx26("p", { className: "rb-caption status-muted", children: "See checkout for details" }),
|
|
36638
|
-
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption
|
|
37181
|
+
hasAcceptedItems ? /* @__PURE__ */ jsxs13("p", { className: "rb-caption rb-mt-1", children: [
|
|
36639
37182
|
"You can also attend with: ",
|
|
36640
37183
|
acceptedItems.join(", ")
|
|
36641
37184
|
] }) : null
|
|
36642
|
-
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs13("p", { className: "rb-caption
|
|
37185
|
+
] }) : hasAcceptedItems ? /* @__PURE__ */ jsx26("div", { className: "rb-mt-6", children: /* @__PURE__ */ jsxs13("p", { className: "rb-caption", children: [
|
|
36643
37186
|
"You can also attend with: ",
|
|
36644
37187
|
acceptedItems.join(", ")
|
|
36645
37188
|
] }) }) : null
|
|
@@ -41452,16 +41995,16 @@ function generateSiteStyleTransitionCss(themeId) {
|
|
|
41452
41995
|
--site-style-transition-to: rgb(var(--tb-background));
|
|
41453
41996
|
}
|
|
41454
41997
|
|
|
41455
|
-
${selector} [data-style-group^='site-style-transition-wave-edge-']
|
|
41456
|
-
${selector} [data-style-group^='site-style-transition-angle-edge-']
|
|
41457
|
-
${selector} [data-style-group^='site-style-transition-soft-fade']
|
|
41998
|
+
${selector} [data-style-group^='site-style-transition-wave-edge-']::after,
|
|
41999
|
+
${selector} [data-style-group^='site-style-transition-angle-edge-']::after,
|
|
42000
|
+
${selector} [data-style-group^='site-style-transition-soft-fade']::after {
|
|
41458
42001
|
content: '';
|
|
41459
42002
|
position: absolute;
|
|
41460
42003
|
left: 0;
|
|
41461
42004
|
right: 0;
|
|
41462
|
-
bottom:
|
|
41463
|
-
z-index:
|
|
41464
|
-
height: 4rem;
|
|
42005
|
+
bottom: -2px;
|
|
42006
|
+
z-index: 1;
|
|
42007
|
+
height: calc(4rem + 2px);
|
|
41465
42008
|
pointer-events: none;
|
|
41466
42009
|
}
|
|
41467
42010
|
|
|
@@ -41478,6 +42021,10 @@ ${selector} [data-style-group*='-from-accent-band-'] {
|
|
|
41478
42021
|
--site-style-transition-from: rgb(var(--tb-primary));
|
|
41479
42022
|
}
|
|
41480
42023
|
|
|
42024
|
+
${selector} [data-style-group*='-from-brand-depth-band-'] {
|
|
42025
|
+
--site-style-transition-from: rgb(var(--tb-primary-800));
|
|
42026
|
+
}
|
|
42027
|
+
|
|
41481
42028
|
${selector} [data-style-group$='-to-base'],
|
|
41482
42029
|
${selector} [data-style-group$='-to-hero-image'] {
|
|
41483
42030
|
--site-style-transition-to: rgb(var(--tb-background));
|
|
@@ -41491,7 +42038,11 @@ ${selector} [data-style-group$='-to-accent-band'] {
|
|
|
41491
42038
|
--site-style-transition-to: rgb(var(--tb-primary));
|
|
41492
42039
|
}
|
|
41493
42040
|
|
|
41494
|
-
${selector} [data-style-group
|
|
42041
|
+
${selector} [data-style-group$='-to-brand-depth-band'] {
|
|
42042
|
+
--site-style-transition-to: rgb(var(--tb-primary-800));
|
|
42043
|
+
}
|
|
42044
|
+
|
|
42045
|
+
${selector} [data-style-group^='site-style-transition-soft-fade']::after {
|
|
41495
42046
|
background: linear-gradient(
|
|
41496
42047
|
to bottom,
|
|
41497
42048
|
transparent 0%,
|
|
@@ -41499,16 +42050,16 @@ ${selector} [data-style-group^='site-style-transition-soft-fade'] > [data-slot='
|
|
|
41499
42050
|
);
|
|
41500
42051
|
}
|
|
41501
42052
|
|
|
41502
|
-
${selector} [data-style-group^='site-style-transition-soft-fade-long-']
|
|
42053
|
+
${selector} [data-style-group^='site-style-transition-soft-fade-long-']::after {
|
|
41503
42054
|
height: 6rem;
|
|
41504
42055
|
}
|
|
41505
42056
|
|
|
41506
|
-
${selector} [data-style-group^='site-style-transition-angle-edge-']
|
|
42057
|
+
${selector} [data-style-group^='site-style-transition-angle-edge-']::after {
|
|
41507
42058
|
background: var(--site-style-transition-to);
|
|
41508
42059
|
clip-path: polygon(0 42%, 100% 8%, 100% 100%, 0 100%);
|
|
41509
42060
|
}
|
|
41510
42061
|
|
|
41511
|
-
${selector} [data-style-group^='site-style-transition-wave-edge-']
|
|
42062
|
+
${selector} [data-style-group^='site-style-transition-wave-edge-']::after {
|
|
41512
42063
|
background: var(--site-style-transition-to);
|
|
41513
42064
|
mask-image: url("${waveTransitionMask}");
|
|
41514
42065
|
mask-repeat: no-repeat;
|
|
@@ -42691,7 +43242,7 @@ function buildThemeRuntime(theme, options) {
|
|
|
42691
43242
|
theme,
|
|
42692
43243
|
accordionSystem
|
|
42693
43244
|
});
|
|
42694
|
-
const inputSystem =
|
|
43245
|
+
const inputSystem = resolveThemeInputSystem(theme);
|
|
42695
43246
|
const inputCss = generateInputCss({
|
|
42696
43247
|
themeId,
|
|
42697
43248
|
theme,
|
|
@@ -42756,6 +43307,9 @@ function hydrateTheme(theme) {
|
|
|
42756
43307
|
palette: expandPalette(theme.palette)
|
|
42757
43308
|
};
|
|
42758
43309
|
}
|
|
43310
|
+
function resolveThemeInputSystem(theme) {
|
|
43311
|
+
return theme.inputs ?? generateDefaultInputSystem(theme);
|
|
43312
|
+
}
|
|
42759
43313
|
function buildThemeCssVars(theme) {
|
|
42760
43314
|
const { typography, space, shadow: shadow2, motion: motion2, border: border2 } = theme;
|
|
42761
43315
|
const baseSizes = computeTypeScale(typography.scale, typography.body.size);
|
|
@@ -42840,7 +43394,7 @@ function buildThemeCssVars(theme) {
|
|
|
42840
43394
|
// Tier 2: Input styling primitives
|
|
42841
43395
|
// These expose inputStyle/InputSystem values for blocks that can't use .form-* classes
|
|
42842
43396
|
...(() => {
|
|
42843
|
-
const inputSystem =
|
|
43397
|
+
const inputSystem = resolveThemeInputSystem(theme);
|
|
42844
43398
|
return {
|
|
42845
43399
|
["--rb-input-radius"]: mapInputRadius(inputSystem.base.corners, theme.corners),
|
|
42846
43400
|
["--rb-input-focus-width"]: `${inputSystem.focus.ringWidth}px`,
|
|
@@ -51203,15 +51757,15 @@ var containerResponsiveThemeCss = `/*
|
|
|
51203
51757
|
text-align: left;
|
|
51204
51758
|
padding: 1rem;
|
|
51205
51759
|
border-radius: var(--rb-event-tile-radius, calc(var(--rb-block-radius) * 0.75));
|
|
51206
|
-
border-style: var(--rb-event-tile-border-style, var(--rb-border-style, solid));
|
|
51207
|
-
border-width: var(--rb-event-tile-border-width, var(--rb-border-width, 1px));
|
|
51208
|
-
border-color: var(--rb-event-tile-border, rgb(var(--tb-border)));
|
|
51209
|
-
background: var(--rb-event-tile-bg, transparent);
|
|
51760
|
+
border-style: var(--rb-tile-border-style, var(--rb-event-tile-border-style, var(--rb-border-style, solid)));
|
|
51761
|
+
border-width: var(--rb-tile-border-width, var(--rb-event-tile-border-width, var(--rb-border-width, 1px)));
|
|
51762
|
+
border-color: var(--rb-tile-border, var(--rb-event-tile-border, rgb(var(--tb-border))));
|
|
51763
|
+
background: var(--rb-tile-bg, var(--rb-event-tile-bg, transparent));
|
|
51210
51764
|
transition: border-color var(--rb-block-transition) ease,
|
|
51211
51765
|
background-color var(--rb-block-transition) ease,
|
|
51212
51766
|
opacity var(--rb-block-transition) ease;
|
|
51213
51767
|
display: block;
|
|
51214
|
-
opacity: var(--rb-event-tile-opacity, 1);
|
|
51768
|
+
opacity: var(--rb-tile-opacity, var(--rb-event-tile-opacity, 1));
|
|
51215
51769
|
color: inherit;
|
|
51216
51770
|
text-decoration: none;
|
|
51217
51771
|
}
|
|
@@ -51222,6 +51776,25 @@ var containerResponsiveThemeCss = `/*
|
|
|
51222
51776
|
gap: var(--rb-event-tiles-grid-gap, 0.5rem);
|
|
51223
51777
|
}
|
|
51224
51778
|
|
|
51779
|
+
:where(.theme-scope) .rb-tile-treatment-quiet {
|
|
51780
|
+
--rb-tile-bg: color-mix(in oklab, rgb(var(--tb-surface)), rgb(var(--tb-muted)) 48%);
|
|
51781
|
+
--rb-tile-border: color-mix(in oklab, rgb(var(--tb-border)), transparent 35%);
|
|
51782
|
+
--rb-tile-border-hover: color-mix(in oklab, rgb(var(--tb-primary)), transparent 40%);
|
|
51783
|
+
}
|
|
51784
|
+
|
|
51785
|
+
:where(.theme-scope) .rb-tile-treatment-brand-depth {
|
|
51786
|
+
--rb-brand-depth-surface: rgb(var(--tb-primary-800));
|
|
51787
|
+
--rb-brand-depth-tile-surface: rgb(var(--tb-primary-900));
|
|
51788
|
+
--rb-brand-depth-tile-surface-selected: rgb(var(--tb-primary-950));
|
|
51789
|
+
--rb-tile-bg: var(--rb-brand-depth-tile-surface);
|
|
51790
|
+
--rb-tile-bg-selected: var(--rb-brand-depth-tile-surface-selected);
|
|
51791
|
+
--rb-tile-border: transparent;
|
|
51792
|
+
--rb-tile-border-hover: transparent;
|
|
51793
|
+
--rb-tile-border-selected: transparent;
|
|
51794
|
+
--rb-tile-border-width: 0;
|
|
51795
|
+
--rb-event-tile-radius: var(--rb-block-radius);
|
|
51796
|
+
}
|
|
51797
|
+
|
|
51225
51798
|
@container rb-site (min-width: 768px) {
|
|
51226
51799
|
@scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
|
|
51227
51800
|
:where(.theme-scope) .rb-tiles-grid {
|
|
@@ -51240,13 +51813,13 @@ var containerResponsiveThemeCss = `/*
|
|
|
51240
51813
|
}
|
|
51241
51814
|
|
|
51242
51815
|
:where(.theme-scope) :where(.rb-tile--interactive, .er-event-card):hover:not(:disabled) {
|
|
51243
|
-
border-color: var(--rb-event-tile-border-hover, rgba(var(--tb-primary), 0.5));
|
|
51244
|
-
opacity: var(--rb-event-tile-hover-opacity, var(--rb-event-tile-opacity, 1));
|
|
51816
|
+
border-color: var(--rb-tile-border-hover, var(--rb-event-tile-border-hover, rgba(var(--tb-primary), 0.5)));
|
|
51817
|
+
opacity: var(--rb-tile-hover-opacity, var(--rb-event-tile-hover-opacity, var(--rb-tile-opacity, var(--rb-event-tile-opacity, 1))));
|
|
51245
51818
|
}
|
|
51246
51819
|
|
|
51247
51820
|
:where(.theme-scope) :where(.rb-tile--selected, .er-event-card--selected) {
|
|
51248
|
-
border-color: var(--rb-event-tile-border-selected, rgb(var(--tb-primary)));
|
|
51249
|
-
background: var(--rb-event-tile-bg-selected, rgba(var(--tb-primary), 0.1));
|
|
51821
|
+
border-color: var(--rb-tile-border-selected, var(--rb-event-tile-border-selected, rgb(var(--tb-primary))));
|
|
51822
|
+
background: var(--rb-tile-bg-selected, var(--rb-event-tile-bg-selected, rgba(var(--tb-primary), 0.1)));
|
|
51250
51823
|
}
|
|
51251
51824
|
|
|
51252
51825
|
:where(.theme-scope) :where(.rb-tile--disabled, .er-event-card--disabled) {
|
|
@@ -52858,6 +53431,9 @@ function ThemeScope({
|
|
|
52858
53431
|
import * as React7 from "react";
|
|
52859
53432
|
import { Fragment as Fragment7, jsx as jsx55, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
52860
53433
|
|
|
53434
|
+
// ../theme-core/src/siteChrome.tsx
|
|
53435
|
+
import { Fragment as Fragment8, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
53436
|
+
|
|
52861
53437
|
// ../blocks/src/system/runtime/bindings.ts
|
|
52862
53438
|
var shouldLogWarnings = isNonProductionEnv();
|
|
52863
53439
|
function isPlainObject5(value) {
|
|
@@ -53550,6 +54126,9 @@ function applyBindings(bindings, context) {
|
|
|
53550
54126
|
}
|
|
53551
54127
|
return result;
|
|
53552
54128
|
}
|
|
54129
|
+
function applyBindingsToContent(baseContent, bindings, context) {
|
|
54130
|
+
return { ...baseContent, ...applyBindings(bindings, context) };
|
|
54131
|
+
}
|
|
53553
54132
|
function setBindingValue(target, path, value) {
|
|
53554
54133
|
const segments = path.split(".").map((segment) => segment.trim()).filter(Boolean);
|
|
53555
54134
|
if (segments.length === 0) return;
|
|
@@ -53729,7 +54308,7 @@ function isDocWrapper(value) {
|
|
|
53729
54308
|
|
|
53730
54309
|
// src/rendering/helpers/bindings.ts
|
|
53731
54310
|
var normalizeBindingOutput2 = normalizeBindingOutput;
|
|
53732
|
-
var
|
|
54311
|
+
var applyBindingsToContent2 = applyBindingsToContent;
|
|
53733
54312
|
|
|
53734
54313
|
// src/rendering/helpers/siteCustomBlocks.ts
|
|
53735
54314
|
function resolveSiteCustomBlocks(site) {
|
|
@@ -53949,7 +54528,7 @@ function resolveTemplateBlock(block, bindingContext) {
|
|
|
53949
54528
|
}
|
|
53950
54529
|
const bindings = block.bindings ?? {};
|
|
53951
54530
|
const hasBindings = typeof bindings === "object" && Object.keys(bindings).length > 0;
|
|
53952
|
-
const resolvedContent = hasBindings ? normalizeBindingOutput2(
|
|
54531
|
+
const resolvedContent = hasBindings ? normalizeBindingOutput2(applyBindingsToContent2(baseContent, bindings, bindingContext)) : baseContent;
|
|
53953
54532
|
return {
|
|
53954
54533
|
id: block.id,
|
|
53955
54534
|
kind: block.blockKind,
|
|
@@ -54741,7 +55320,7 @@ function getEntrySubrouteMetadataOverrides(args) {
|
|
|
54741
55320
|
}
|
|
54742
55321
|
|
|
54743
55322
|
// src/next/catch-all.tsx
|
|
54744
|
-
import { jsx as jsx58, jsxs as
|
|
55323
|
+
import { jsx as jsx58, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
54745
55324
|
function isExpectedNotFoundError(error) {
|
|
54746
55325
|
return typeof error === "object" && error !== null && "status" in error && Reflect.get(error, "status") === 404;
|
|
54747
55326
|
}
|
|
@@ -54920,7 +55499,7 @@ function createCatchAllPage(options) {
|
|
|
54920
55499
|
}
|
|
54921
55500
|
)
|
|
54922
55501
|
);
|
|
54923
|
-
const pageWithLayout = /* @__PURE__ */
|
|
55502
|
+
const pageWithLayout = /* @__PURE__ */ jsxs41("main", { children: [
|
|
54924
55503
|
hydrationBootstrap,
|
|
54925
55504
|
rendered
|
|
54926
55505
|
] });
|
|
@@ -55102,7 +55681,7 @@ var SimpleCache = class {
|
|
|
55102
55681
|
};
|
|
55103
55682
|
|
|
55104
55683
|
// src/version.ts
|
|
55105
|
-
var SDK_VERSION = "0.
|
|
55684
|
+
var SDK_VERSION = "0.62.2";
|
|
55106
55685
|
|
|
55107
55686
|
// src/client/error.ts
|
|
55108
55687
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|