@riverbankcms/sdk 0.140.0 → 0.141.0
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/{PreviewEditorSidebar-CUyTzd5z.mjs → PreviewEditorSidebar-Q-fy9GYw.mjs} +3 -3
- package/dist/{PreviewEditorUI-Agkw4v5i.mjs → PreviewEditorUI-LYGzgk85.mjs} +2 -2
- package/dist/{SdkPreviewModeRuntime-DdbeAdS8.mjs → SdkPreviewModeRuntime-CoPYI5Jq.mjs} +72 -46
- package/dist/{SiteChromeCustomizeContext-CqGOz-Kv.mjs → SiteChromeCustomizeContext-D8LePX8x.mjs} +681 -196
- package/dist/_dts/api/src/contentRuntime.d.ts +12 -31
- package/dist/_dts/api/src/domainConnection.d.ts +4 -0
- package/dist/_dts/api/src/footerCompositionContracts.d.ts +25 -0
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/launchReadiness.d.ts +1 -0
- package/dist/_dts/api/src/navigation/dashboardSiteNav.d.ts +2 -1
- package/dist/_dts/api/src/siteManagementEndpoints.d.ts +3 -26
- package/dist/_dts/api/src/siteOnboarding.d.ts +7 -0
- package/dist/_dts/billing/src/site-arrangements.d.ts +12 -3
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +4 -0
- package/dist/_dts/blocks/src/pageRendererContracts.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/events/eventSelectionFields.d.ts +122 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +2 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/eventSelection.d.ts +11 -0
- package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +47 -47
- package/dist/_dts/blocks/src/system/data/prefetchBlockData.d.ts +5 -0
- package/dist/_dts/blocks/src/system/data/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/manifest/schema.d.ts +27 -1
- package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -180
- package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -90
- package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/appointment-services.d.ts +5 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.state.d.ts +5 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useDiscountCodeUi.state.d.ts +10 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventCheckoutHandoffRestore.d.ts +9 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useSettledCommerceView.d.ts +37 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +4 -3
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +11 -101
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +7 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +2 -0
- package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +12 -0
- package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +4 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +3 -0
- package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +27 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/ThemeFontLoader.d.ts +17 -1
- package/dist/_dts/theme-core/src/buttons/affordanceSuppression.d.ts +17 -0
- package/dist/_dts/theme-core/src/buttons/buttonColourContract.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/classNames.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/generateButtonCss.d.ts +0 -6
- package/dist/_dts/theme-core/src/buttons/resolvedButtonCss.d.ts +4 -4
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/hosted-booking-appearance.d.ts +54 -12
- package/dist/_dts/theme-core/src/index.d.ts +1 -1
- package/dist/client/{BookingConsentAgreement-CuKa82V4.mjs → BookingConsentAgreement-xJeYNdnb.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-BbYieKWB.mjs → DiscountCodeDisclosure-DdT6uzl9.mjs} +1 -1
- package/dist/client/{EventCombined.client-LTfR1Aby.mjs → EventCombined.client-Cp28uYuM.mjs} +11 -15
- package/dist/client/{EventListing.client-DUHpYSuo.mjs → EventListing.client-CD6AJsMr.mjs} +4 -17
- package/dist/client/{LeafletStaticMap-CHRupL6m.mjs → LeafletStaticMap-DBsAi9-e.mjs} +1 -1
- package/dist/client/{accordion-6HiIFxNL.mjs → accordion-6dwbOKYR.mjs} +1 -1
- package/dist/client/{bookingForm-Dlmid43H.mjs → bookingForm-CZE9_qPQ.mjs} +5 -5
- package/dist/client/bookings.mjs +175 -93
- package/dist/client/{carousel-DmkZRRq_.mjs → carousel-7VHGQARz.mjs} +1 -1
- package/dist/client/{cart-CIC24330.mjs → cart-Qg_mvQhh.mjs} +3 -3
- package/dist/client/{checkout-D1Zw9imo.mjs → checkout-D84rpgdr.mjs} +3 -3
- package/dist/client/client.mjs +602 -139
- package/dist/client/{context-Cy1OayHx.mjs → context-Ctp3T0Wr.mjs} +1 -1
- package/dist/client/{dates-aDcfoLHr.mjs → dates-DJKFcI_N.mjs} +2 -2
- package/dist/client/{eventCalendar-FQxMPAjf.mjs → eventCalendar-CK31z3vs.mjs} +11 -7
- package/dist/client/{eventCombined-Dr3ac6Hb.mjs → eventCombined-DiXd-ewn.mjs} +3 -3
- package/dist/client/{eventDetails-D-AzUHFQ.mjs → eventDetails-CTRgt2DK.mjs} +4 -4
- package/dist/client/{eventListing-B3XxBf3i.mjs → eventListing-Dy9vi_j_.mjs} +3 -3
- package/dist/client/{eventRegistration-I6EaokFD.mjs → eventRegistration-CnalYMr2.mjs} +124 -31
- package/dist/client/{form-BbWckVWY.mjs → form-eUiMveTT.mjs} +2 -2
- package/dist/client/{headerSection-C9qU4Y7x.mjs → headerSection-Dy9kQpB1.mjs} +2 -2
- package/dist/client/hooks.mjs +247 -32
- package/dist/client/{locationMap-CLCShvlG.mjs → locationMap-DalCmWU0.mjs} +2 -2
- package/dist/client/{newsletterForm-Briukxzi.mjs → newsletterForm-SDDPvhS0.mjs} +23 -10
- package/dist/client/{pricing-Copadu-2.mjs → pricing-OcMz4SnX.mjs} +1 -1
- package/dist/client/{productDetail-oujlRd-r.mjs → productDetail-BQrgHElM.mjs} +3 -3
- package/dist/client/{productList-BRiIRUcd.mjs → productList-OnPn_UJj.mjs} +3 -3
- package/dist/client/{propsDecoder-CB2KS_ko.mjs → propsDecoder-zBdsnS-N.mjs} +38 -8
- package/dist/client/rendering/client.mjs +446 -121
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +601 -138
- package/dist/client/{scrollToBlock-B1IS1_ua.mjs → scrollToBlock-BNM4Ob2Y.mjs} +28 -11
- package/dist/client/{shop-Vn6yNFED.mjs → shop-Bv1fPTwQ.mjs} +6 -6
- package/dist/client/{shop-commerce-BVTqipYp.mjs → shop-commerce-D4KNGaW8.mjs} +5 -5
- package/dist/client/{shop-commerce-store-BVnJVy7v.mjs → shop-commerce-store-2N5EV0Rc.mjs} +1 -1
- package/dist/client/{shopShared-COIeK77T.mjs → shopShared-DvJGdHTV.mjs} +3 -3
- package/dist/client/{useEventFilters-DzIUcS9n.mjs → useEventFilters-BBBvGDHQ.mjs} +17 -11
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/preview-next/editor-chrome.css +4 -8
- package/dist/{sdk-runtime-CnCLvZRv.mjs → sdk-runtime-Defnbfzw.mjs} +1 -1
- package/dist/{separator-DKDRJ1oH.mjs → separator-CZXO3Sb0.mjs} +1 -1
- package/dist/server/components.mjs +384 -62
- package/dist/server/config-validation.mjs +232 -26
- package/dist/server/config.mjs +232 -26
- package/dist/server/data.mjs +247 -32
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +400 -69
- package/dist/server/page-converter.mjs +189 -25
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +399 -68
- package/dist/server/rendering.mjs +399 -68
- package/dist/server/routing.mjs +261 -33
- package/dist/server/server.mjs +248 -33
- package/dist/server/theme-bridge.mjs +47 -15
- package/dist/server/theme.mjs +1 -1
- package/dist/styles/index.css +28 -2
- package/package.json +1 -1
|
@@ -5997,7 +5997,7 @@ const BUTTON_CONTRAST_POLICY = {
|
|
|
5997
5997
|
nonTextMinimumRatio: 3,
|
|
5998
5998
|
gradientSamplesPerSegment: 20,
|
|
5999
5999
|
alphaBackgrounds: "reject-without-known-surface",
|
|
6000
|
-
disabled: "
|
|
6000
|
+
disabled: "validated-colour-pair-with-muted-control-opacity"
|
|
6001
6001
|
};
|
|
6002
6002
|
function validateButtonSurfaceContrast(input) {
|
|
6003
6003
|
const ratio = contrastRatio(input.buttonPaint, input.surfaceHex);
|
|
@@ -16339,6 +16339,7 @@ function isDisplayMediaKind(kind) {
|
|
|
16339
16339
|
}
|
|
16340
16340
|
const siteOptionSources = [
|
|
16341
16341
|
"eventCategories",
|
|
16342
|
+
"eventSeries",
|
|
16342
16343
|
"venues",
|
|
16343
16344
|
"staffMembers"
|
|
16344
16345
|
];
|
|
@@ -27209,7 +27210,8 @@ const appointmentServicesBlockDefinition = {
|
|
|
27209
27210
|
el("appointment-services", {
|
|
27210
27211
|
sectionHeading: { $bind: { from: "content.heading" } },
|
|
27211
27212
|
services: { $bind: { from: "data.services" } },
|
|
27212
|
-
pathname: { $bind: { from: "$root.pathname" } }
|
|
27213
|
+
pathname: { $bind: { from: "$root.pathname" } },
|
|
27214
|
+
servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
|
|
27213
27215
|
})
|
|
27214
27216
|
], { gap: "lg" })
|
|
27215
27217
|
})]
|
|
@@ -29298,6 +29300,35 @@ const eventSpotlightBlockDefinition = {
|
|
|
29298
29300
|
} }
|
|
29299
29301
|
};
|
|
29300
29302
|
//#endregion
|
|
29303
|
+
//#region ../blocks/src/system/blocks/events/shared/eventSelection.ts
|
|
29304
|
+
/** Invalid saved selections fail closed rather than widening discovery. */
|
|
29305
|
+
function resolveEventSelection(mode, value) {
|
|
29306
|
+
if (mode !== "selected") return { kind: "matching" };
|
|
29307
|
+
const candidates = Array.isArray(value) ? value : typeof value === "string" ? value.split(",").filter(Boolean) : [];
|
|
29308
|
+
const ids = [];
|
|
29309
|
+
for (const candidate of candidates) {
|
|
29310
|
+
if (typeof candidate !== "string") return {
|
|
29311
|
+
kind: "selected",
|
|
29312
|
+
seriesIds: []
|
|
29313
|
+
};
|
|
29314
|
+
const parsed = parseEventSeriesId(candidate.trim());
|
|
29315
|
+
if (!parsed.ok) return {
|
|
29316
|
+
kind: "selected",
|
|
29317
|
+
seriesIds: []
|
|
29318
|
+
};
|
|
29319
|
+
ids.push(parsed.value);
|
|
29320
|
+
}
|
|
29321
|
+
return {
|
|
29322
|
+
kind: "selected",
|
|
29323
|
+
seriesIds: [...new Set(ids)].sort()
|
|
29324
|
+
};
|
|
29325
|
+
}
|
|
29326
|
+
/** Undefined means discovery; an empty string is an explicitly empty selection. */
|
|
29327
|
+
function eventSeriesScopeCsv(value) {
|
|
29328
|
+
if (value == null) return void 0;
|
|
29329
|
+
return typeof value === "string" ? value : value.join(",");
|
|
29330
|
+
}
|
|
29331
|
+
//#endregion
|
|
29301
29332
|
//#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
|
|
29302
29333
|
/**
|
|
29303
29334
|
* Layout classes for event listing containers and cards. Presentation
|
|
@@ -29426,6 +29457,7 @@ z.object({
|
|
|
29426
29457
|
eventSurface: z.enum(eventSurfaceScopeValues).optional(),
|
|
29427
29458
|
eventPresets: z.string().optional(),
|
|
29428
29459
|
scheduleScope: z.enum(eventScheduleScopeValues).optional(),
|
|
29460
|
+
seriesIds: z.string().optional(),
|
|
29429
29461
|
categoryIds: z.string().optional(),
|
|
29430
29462
|
venueId: z.string().transform(normalizeCalendarFilterId).optional(),
|
|
29431
29463
|
staffMemberId: z.string().transform(normalizeCalendarFilterId).optional()
|
|
@@ -29488,6 +29520,7 @@ const eventCollectionFilterSourceSchemaShape = {
|
|
|
29488
29520
|
eventSurface: eventSurfaceScopeSchema$1.nullable().optional(),
|
|
29489
29521
|
filterEventPresets: z.union([z.string(), z.array(z.string())]).nullable().optional(),
|
|
29490
29522
|
scheduleScope: eventScheduleScopeSchema$1.nullable().optional(),
|
|
29523
|
+
seriesIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
|
|
29491
29524
|
filterCategoryIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
|
|
29492
29525
|
filterStaffMemberId: z.string().nullable().optional(),
|
|
29493
29526
|
filterVenueId: z.string().nullable().optional()
|
|
@@ -29534,6 +29567,7 @@ const eventCollectionDisplaySchemaShape = {
|
|
|
29534
29567
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
29535
29568
|
filterEventPresets: z.string().nullable(),
|
|
29536
29569
|
scheduleScope: eventScheduleScopeSchema$1,
|
|
29570
|
+
seriesIds: z.string().nullable().optional(),
|
|
29537
29571
|
filterCategoryIds: z.string().nullable(),
|
|
29538
29572
|
filterStaffMemberId: z.string().nullable(),
|
|
29539
29573
|
filterVenueId: z.string().nullable(),
|
|
@@ -29581,11 +29615,15 @@ function buildEventCollectionDisplay(source) {
|
|
|
29581
29615
|
};
|
|
29582
29616
|
}
|
|
29583
29617
|
function buildEventCollectionFilterDisplay(source) {
|
|
29584
|
-
|
|
29585
|
-
|
|
29586
|
-
|
|
29587
|
-
|
|
29588
|
-
|
|
29618
|
+
const selected = source.seriesIds != null;
|
|
29619
|
+
const matchingFilters = selected ? {
|
|
29620
|
+
eventSurface: "all",
|
|
29621
|
+
filterEventPresets: null,
|
|
29622
|
+
scheduleScope: "any",
|
|
29623
|
+
filterCategoryIds: null,
|
|
29624
|
+
filterStaffMemberId: null,
|
|
29625
|
+
filterVenueId: null
|
|
29626
|
+
} : {
|
|
29589
29627
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
29590
29628
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29591
29629
|
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
@@ -29593,6 +29631,14 @@ function buildEventCollectionFilterDisplay(source) {
|
|
|
29593
29631
|
filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
|
|
29594
29632
|
filterVenueId: normalizeEventVenueId(source.filterVenueId)
|
|
29595
29633
|
};
|
|
29634
|
+
return {
|
|
29635
|
+
seriesIds: eventSeriesScopeCsv(source.seriesIds),
|
|
29636
|
+
showFilters: selected ? false : source.showFilters ?? true,
|
|
29637
|
+
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
29638
|
+
showVenueFilter: source.showVenueFilter ?? false,
|
|
29639
|
+
showStaffFilter: source.showStaffFilter ?? true,
|
|
29640
|
+
...matchingFilters
|
|
29641
|
+
};
|
|
29596
29642
|
}
|
|
29597
29643
|
function buildEventCollectionPresentationDisplay(source) {
|
|
29598
29644
|
return {
|
|
@@ -29607,14 +29653,15 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
29607
29653
|
}
|
|
29608
29654
|
function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
|
|
29609
29655
|
const timeZone = source.calendarWindow?.scope.timeZone ?? toBookingTimeZone(source.bookingTimeZone);
|
|
29656
|
+
const selected = source.seriesIds != null;
|
|
29610
29657
|
return {
|
|
29611
29658
|
calendarWindow: source.calendarWindow ?? void 0,
|
|
29612
29659
|
siteId: source.siteId,
|
|
29613
29660
|
stage: source.stage,
|
|
29614
29661
|
prefetchedEvents: source.events != null,
|
|
29615
|
-
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
29616
|
-
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29617
|
-
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
29662
|
+
eventSurface: selected ? "all" : normalizeEventSurfaceScope(source.eventSurface),
|
|
29663
|
+
filterEventPresets: selected ? null : normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29664
|
+
scheduleScope: selected ? "any" : normalizeEventScheduleScope(source.scheduleScope),
|
|
29618
29665
|
calendarContext: {
|
|
29619
29666
|
timeZone,
|
|
29620
29667
|
initialToday: source.calendarWindow?.initialToday ?? getLocalScheduleDate(now, timeZone)
|
|
@@ -29680,6 +29727,7 @@ const eventListingHydrationSchema = z.object({
|
|
|
29680
29727
|
eventSurface: eventSurfaceScopeSchema,
|
|
29681
29728
|
filterEventPresets: z.string().nullable(),
|
|
29682
29729
|
scheduleScope: eventScheduleScopeSchema,
|
|
29730
|
+
seriesIds: z.string().nullable().optional(),
|
|
29683
29731
|
filterCategoryIds: z.string().nullable().optional(),
|
|
29684
29732
|
filterStaffMemberId: z.string().nullable().optional(),
|
|
29685
29733
|
filterVenueId: z.string().nullable().optional(),
|
|
@@ -29740,6 +29788,7 @@ const eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
29740
29788
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
29741
29789
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29742
29790
|
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
29791
|
+
seriesIds: eventSeriesScopeCsv(source.seriesIds),
|
|
29743
29792
|
filterCategoryIds: normalizeEventCategoryIdsCsv(source.filterCategoryIds),
|
|
29744
29793
|
filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
|
|
29745
29794
|
filterVenueId: normalizeEventVenueId(source.filterVenueId),
|
|
@@ -30113,6 +30162,65 @@ const eventListingBlockDefinition = {
|
|
|
30113
30162
|
} }
|
|
30114
30163
|
};
|
|
30115
30164
|
//#endregion
|
|
30165
|
+
//#region ../blocks/src/system/blocks/events/eventSelectionFields.ts
|
|
30166
|
+
const eventSelectionFields = [{
|
|
30167
|
+
id: "eventSelection",
|
|
30168
|
+
type: "select",
|
|
30169
|
+
label: "Events to show",
|
|
30170
|
+
required: false,
|
|
30171
|
+
multiple: false,
|
|
30172
|
+
defaultValue: "matching",
|
|
30173
|
+
options: [{
|
|
30174
|
+
value: "matching",
|
|
30175
|
+
label: "All matching events"
|
|
30176
|
+
}, {
|
|
30177
|
+
value: "selected",
|
|
30178
|
+
label: "Selected events"
|
|
30179
|
+
}],
|
|
30180
|
+
ui: { intent: "behavior" }
|
|
30181
|
+
}, createSiteOptionSelectField({
|
|
30182
|
+
id: "selectedEventSeriesIds",
|
|
30183
|
+
label: "Selected events",
|
|
30184
|
+
description: "Show upcoming dates for these events. Other event filters do not apply.",
|
|
30185
|
+
required: false,
|
|
30186
|
+
multiple: true,
|
|
30187
|
+
defaultValue: [],
|
|
30188
|
+
optionSource: "eventSeries",
|
|
30189
|
+
ui: {
|
|
30190
|
+
intent: "behavior",
|
|
30191
|
+
searchThreshold: 1,
|
|
30192
|
+
visibleWhen: {
|
|
30193
|
+
field: "eventSelection",
|
|
30194
|
+
equals: "selected"
|
|
30195
|
+
}
|
|
30196
|
+
}
|
|
30197
|
+
})];
|
|
30198
|
+
function withEventSelectionVisibility(field) {
|
|
30199
|
+
if (![
|
|
30200
|
+
"eventSurface",
|
|
30201
|
+
"filterEventPresets",
|
|
30202
|
+
"scheduleScope",
|
|
30203
|
+
"filterCategoryIds",
|
|
30204
|
+
"filterStaffMemberId",
|
|
30205
|
+
"filterVenueId",
|
|
30206
|
+
"showFilters",
|
|
30207
|
+
"showCategoryFilter",
|
|
30208
|
+
"showVenueFilter",
|
|
30209
|
+
"showStaffFilter"
|
|
30210
|
+
].includes(field.id)) return field;
|
|
30211
|
+
const visibleWhen = field.ui?.visibleWhen;
|
|
30212
|
+
return {
|
|
30213
|
+
...field,
|
|
30214
|
+
ui: {
|
|
30215
|
+
...field.ui,
|
|
30216
|
+
visibleWhen: { allOf: [{
|
|
30217
|
+
field: "eventSelection",
|
|
30218
|
+
notEquals: "selected"
|
|
30219
|
+
}, ...visibleWhen ? [visibleWhen] : []] }
|
|
30220
|
+
}
|
|
30221
|
+
};
|
|
30222
|
+
}
|
|
30223
|
+
//#endregion
|
|
30116
30224
|
//#region ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30117
30225
|
const eventCalendarSourceSchema = z.object({
|
|
30118
30226
|
...eventCollectionSourceSchemaShape,
|
|
@@ -30195,19 +30303,59 @@ const eventCalendarBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
30195
30303
|
//#region ../blocks/src/system/blocks/events/eventCalendarDataLoaders.ts
|
|
30196
30304
|
const scopeParams = {
|
|
30197
30305
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
30306
|
+
seriesIds: { $bind: {
|
|
30307
|
+
from: "content",
|
|
30308
|
+
transforms: [{
|
|
30309
|
+
id: "events.calendarSelectionParam",
|
|
30310
|
+
options: { key: "seriesIds" }
|
|
30311
|
+
}]
|
|
30312
|
+
} },
|
|
30198
30313
|
stage: { $bind: {
|
|
30199
30314
|
from: "$root.previewStage",
|
|
30200
30315
|
fallback: "published"
|
|
30201
30316
|
} },
|
|
30202
|
-
eventSurface: { $bind: {
|
|
30317
|
+
eventSurface: { $bind: {
|
|
30318
|
+
from: "content",
|
|
30319
|
+
transforms: [{
|
|
30320
|
+
id: "events.calendarSelectionParam",
|
|
30321
|
+
options: { key: "eventSurface" }
|
|
30322
|
+
}, { id: "value.csv" }]
|
|
30323
|
+
} },
|
|
30203
30324
|
eventPresets: { $bind: {
|
|
30204
|
-
from: "content
|
|
30205
|
-
transforms: [{
|
|
30325
|
+
from: "content",
|
|
30326
|
+
transforms: [{
|
|
30327
|
+
id: "events.calendarSelectionParam",
|
|
30328
|
+
options: { key: "filterEventPresets" }
|
|
30329
|
+
}, { id: "value.csv" }]
|
|
30330
|
+
} },
|
|
30331
|
+
scheduleScope: { $bind: {
|
|
30332
|
+
from: "content",
|
|
30333
|
+
transforms: [{
|
|
30334
|
+
id: "events.calendarSelectionParam",
|
|
30335
|
+
options: { key: "scheduleScope" }
|
|
30336
|
+
}, { id: "value.csv" }]
|
|
30206
30337
|
} },
|
|
30207
|
-
|
|
30208
|
-
|
|
30209
|
-
|
|
30210
|
-
|
|
30338
|
+
categoryIds: { $bind: {
|
|
30339
|
+
from: "content",
|
|
30340
|
+
transforms: [{
|
|
30341
|
+
id: "events.calendarSelectionParam",
|
|
30342
|
+
options: { key: "filterCategoryIds" }
|
|
30343
|
+
}, { id: "value.csv" }]
|
|
30344
|
+
} },
|
|
30345
|
+
staffMemberId: { $bind: {
|
|
30346
|
+
from: "content",
|
|
30347
|
+
transforms: [{
|
|
30348
|
+
id: "events.calendarSelectionParam",
|
|
30349
|
+
options: { key: "filterStaffMemberId" }
|
|
30350
|
+
}, { id: "value.csv" }]
|
|
30351
|
+
} },
|
|
30352
|
+
venueId: { $bind: {
|
|
30353
|
+
from: "content",
|
|
30354
|
+
transforms: [{
|
|
30355
|
+
id: "events.calendarSelectionParam",
|
|
30356
|
+
options: { key: "filterVenueId" }
|
|
30357
|
+
}, { id: "value.csv" }]
|
|
30358
|
+
} }
|
|
30211
30359
|
};
|
|
30212
30360
|
/** Combined renders two jobs; calendar-only variants never pay for the list seed. */
|
|
30213
30361
|
const eventCalendarDataLoaders = {
|
|
@@ -30337,6 +30485,13 @@ const eventCalendarLayout = [styledSection({
|
|
|
30337
30485
|
from: "content.defaultCalendarView",
|
|
30338
30486
|
fallback: "month"
|
|
30339
30487
|
} },
|
|
30488
|
+
seriesIds: { $bind: {
|
|
30489
|
+
from: "content",
|
|
30490
|
+
transforms: [{
|
|
30491
|
+
id: "events.calendarSelectionParam",
|
|
30492
|
+
options: { key: "seriesIds" }
|
|
30493
|
+
}]
|
|
30494
|
+
} },
|
|
30340
30495
|
showFilters: { $bind: {
|
|
30341
30496
|
from: "content.showFilters",
|
|
30342
30497
|
fallback: true
|
|
@@ -30358,17 +30513,47 @@ const eventCalendarLayout = [styledSection({
|
|
|
30358
30513
|
fallback: true
|
|
30359
30514
|
} },
|
|
30360
30515
|
eventSurface: { $bind: {
|
|
30361
|
-
from: "content
|
|
30362
|
-
|
|
30516
|
+
from: "content",
|
|
30517
|
+
transforms: [{
|
|
30518
|
+
id: "events.calendarSelectionParam",
|
|
30519
|
+
options: { key: "eventSurface" }
|
|
30520
|
+
}]
|
|
30521
|
+
} },
|
|
30522
|
+
filterEventPresets: { $bind: {
|
|
30523
|
+
from: "content",
|
|
30524
|
+
transforms: [{
|
|
30525
|
+
id: "events.calendarSelectionParam",
|
|
30526
|
+
options: { key: "filterEventPresets" }
|
|
30527
|
+
}]
|
|
30363
30528
|
} },
|
|
30364
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
30365
30529
|
scheduleScope: { $bind: {
|
|
30366
|
-
from: "content
|
|
30367
|
-
|
|
30530
|
+
from: "content",
|
|
30531
|
+
transforms: [{
|
|
30532
|
+
id: "events.calendarSelectionParam",
|
|
30533
|
+
options: { key: "scheduleScope" }
|
|
30534
|
+
}]
|
|
30535
|
+
} },
|
|
30536
|
+
filterCategoryIds: { $bind: {
|
|
30537
|
+
from: "content",
|
|
30538
|
+
transforms: [{
|
|
30539
|
+
id: "events.calendarSelectionParam",
|
|
30540
|
+
options: { key: "filterCategoryIds" }
|
|
30541
|
+
}]
|
|
30542
|
+
} },
|
|
30543
|
+
filterStaffMemberId: { $bind: {
|
|
30544
|
+
from: "content",
|
|
30545
|
+
transforms: [{
|
|
30546
|
+
id: "events.calendarSelectionParam",
|
|
30547
|
+
options: { key: "filterStaffMemberId" }
|
|
30548
|
+
}]
|
|
30549
|
+
} },
|
|
30550
|
+
filterVenueId: { $bind: {
|
|
30551
|
+
from: "content",
|
|
30552
|
+
transforms: [{
|
|
30553
|
+
id: "events.calendarSelectionParam",
|
|
30554
|
+
options: { key: "filterVenueId" }
|
|
30555
|
+
}]
|
|
30368
30556
|
} },
|
|
30369
|
-
filterCategoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
30370
|
-
filterStaffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
30371
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
30372
30557
|
cardRole: { $bind: {
|
|
30373
30558
|
from: "content._cardStyles.role",
|
|
30374
30559
|
fallback: "default"
|
|
@@ -30872,6 +31057,7 @@ const eventCalendarAdditionalFields = [
|
|
|
30872
31057
|
}
|
|
30873
31058
|
}
|
|
30874
31059
|
},
|
|
31060
|
+
...eventSelectionFields,
|
|
30875
31061
|
{
|
|
30876
31062
|
id: "eventSurface",
|
|
30877
31063
|
type: "select",
|
|
@@ -31081,7 +31267,7 @@ const eventCalendarBlockDefinition = {
|
|
|
31081
31267
|
titleSource: "heading",
|
|
31082
31268
|
description: "Display events with calendar, list, or combined views with filtering",
|
|
31083
31269
|
skipSectionStyles: true,
|
|
31084
|
-
additionalFields: eventCalendarAdditionalFields,
|
|
31270
|
+
additionalFields: eventCalendarAdditionalFields.map(withEventSelectionVisibility),
|
|
31085
31271
|
styleTokens: {
|
|
31086
31272
|
background: "surface",
|
|
31087
31273
|
typography: "body",
|
|
@@ -37504,6 +37690,26 @@ const linksTransforms = [{
|
|
|
37504
37690
|
//#endregion
|
|
37505
37691
|
//#region ../blocks/src/system/transforms/registry/index.ts
|
|
37506
37692
|
const builtinTransformDefinitions = [
|
|
37693
|
+
{
|
|
37694
|
+
id: "events.calendarSelectionParam",
|
|
37695
|
+
kind: "formatter",
|
|
37696
|
+
summary: "Resolve selected events instead of discovery filters",
|
|
37697
|
+
schema: z.object({ key: z.enum([
|
|
37698
|
+
"seriesIds",
|
|
37699
|
+
"eventSurface",
|
|
37700
|
+
"filterEventPresets",
|
|
37701
|
+
"scheduleScope",
|
|
37702
|
+
"filterCategoryIds",
|
|
37703
|
+
"filterStaffMemberId",
|
|
37704
|
+
"filterVenueId"
|
|
37705
|
+
]) }),
|
|
37706
|
+
run(value, { key }) {
|
|
37707
|
+
const content = asPartialObject(value) ?? {};
|
|
37708
|
+
const selection = resolveEventSelection(content.eventSelection, content.selectedEventSeriesIds);
|
|
37709
|
+
if (selection.kind === "selected") return key === "seriesIds" ? selection.seriesIds : void 0;
|
|
37710
|
+
return key === "seriesIds" ? void 0 : content[key];
|
|
37711
|
+
}
|
|
37712
|
+
},
|
|
37507
37713
|
{
|
|
37508
37714
|
id: "events.calendarReadEnabled",
|
|
37509
37715
|
kind: "formatter",
|