@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
package/dist/server/config.mjs
CHANGED
|
@@ -6074,7 +6074,7 @@ const BUTTON_CONTRAST_POLICY = {
|
|
|
6074
6074
|
nonTextMinimumRatio: 3,
|
|
6075
6075
|
gradientSamplesPerSegment: 20,
|
|
6076
6076
|
alphaBackgrounds: "reject-without-known-surface",
|
|
6077
|
-
disabled: "
|
|
6077
|
+
disabled: "validated-colour-pair-with-muted-control-opacity"
|
|
6078
6078
|
};
|
|
6079
6079
|
function validateButtonSurfaceContrast(input) {
|
|
6080
6080
|
const ratio = contrastRatio(input.buttonPaint, input.surfaceHex);
|
|
@@ -16416,6 +16416,7 @@ function isDisplayMediaKind(kind) {
|
|
|
16416
16416
|
}
|
|
16417
16417
|
const siteOptionSources = [
|
|
16418
16418
|
"eventCategories",
|
|
16419
|
+
"eventSeries",
|
|
16419
16420
|
"venues",
|
|
16420
16421
|
"staffMembers"
|
|
16421
16422
|
];
|
|
@@ -27286,7 +27287,8 @@ const appointmentServicesBlockDefinition = {
|
|
|
27286
27287
|
el("appointment-services", {
|
|
27287
27288
|
sectionHeading: { $bind: { from: "content.heading" } },
|
|
27288
27289
|
services: { $bind: { from: "data.services" } },
|
|
27289
|
-
pathname: { $bind: { from: "$root.pathname" } }
|
|
27290
|
+
pathname: { $bind: { from: "$root.pathname" } },
|
|
27291
|
+
servicePathPrefix: { $bind: { from: "$root.appointmentServicePathPrefix" } }
|
|
27290
27292
|
})
|
|
27291
27293
|
], { gap: "lg" })
|
|
27292
27294
|
})]
|
|
@@ -29375,6 +29377,35 @@ const eventSpotlightBlockDefinition = {
|
|
|
29375
29377
|
} }
|
|
29376
29378
|
};
|
|
29377
29379
|
//#endregion
|
|
29380
|
+
//#region ../blocks/src/system/blocks/events/shared/eventSelection.ts
|
|
29381
|
+
/** Invalid saved selections fail closed rather than widening discovery. */
|
|
29382
|
+
function resolveEventSelection(mode, value) {
|
|
29383
|
+
if (mode !== "selected") return { kind: "matching" };
|
|
29384
|
+
const candidates = Array.isArray(value) ? value : typeof value === "string" ? value.split(",").filter(Boolean) : [];
|
|
29385
|
+
const ids = [];
|
|
29386
|
+
for (const candidate of candidates) {
|
|
29387
|
+
if (typeof candidate !== "string") return {
|
|
29388
|
+
kind: "selected",
|
|
29389
|
+
seriesIds: []
|
|
29390
|
+
};
|
|
29391
|
+
const parsed = parseEventSeriesId(candidate.trim());
|
|
29392
|
+
if (!parsed.ok) return {
|
|
29393
|
+
kind: "selected",
|
|
29394
|
+
seriesIds: []
|
|
29395
|
+
};
|
|
29396
|
+
ids.push(parsed.value);
|
|
29397
|
+
}
|
|
29398
|
+
return {
|
|
29399
|
+
kind: "selected",
|
|
29400
|
+
seriesIds: [...new Set(ids)].sort()
|
|
29401
|
+
};
|
|
29402
|
+
}
|
|
29403
|
+
/** Undefined means discovery; an empty string is an explicitly empty selection. */
|
|
29404
|
+
function eventSeriesScopeCsv(value) {
|
|
29405
|
+
if (value == null) return void 0;
|
|
29406
|
+
return typeof value === "string" ? value : value.join(",");
|
|
29407
|
+
}
|
|
29408
|
+
//#endregion
|
|
29378
29409
|
//#region ../blocks/src/system/runtime/nodes/events/shared/listingLayout.ts
|
|
29379
29410
|
/**
|
|
29380
29411
|
* Layout classes for event listing containers and cards. Presentation
|
|
@@ -29503,6 +29534,7 @@ z.object({
|
|
|
29503
29534
|
eventSurface: z.enum(eventSurfaceScopeValues).optional(),
|
|
29504
29535
|
eventPresets: z.string().optional(),
|
|
29505
29536
|
scheduleScope: z.enum(eventScheduleScopeValues).optional(),
|
|
29537
|
+
seriesIds: z.string().optional(),
|
|
29506
29538
|
categoryIds: z.string().optional(),
|
|
29507
29539
|
venueId: z.string().transform(normalizeCalendarFilterId).optional(),
|
|
29508
29540
|
staffMemberId: z.string().transform(normalizeCalendarFilterId).optional()
|
|
@@ -29565,6 +29597,7 @@ const eventCollectionFilterSourceSchemaShape = {
|
|
|
29565
29597
|
eventSurface: eventSurfaceScopeSchema$1.nullable().optional(),
|
|
29566
29598
|
filterEventPresets: z.union([z.string(), z.array(z.string())]).nullable().optional(),
|
|
29567
29599
|
scheduleScope: eventScheduleScopeSchema$1.nullable().optional(),
|
|
29600
|
+
seriesIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
|
|
29568
29601
|
filterCategoryIds: z.union([z.string(), z.array(z.string())]).nullable().optional(),
|
|
29569
29602
|
filterStaffMemberId: z.string().nullable().optional(),
|
|
29570
29603
|
filterVenueId: z.string().nullable().optional()
|
|
@@ -29611,6 +29644,7 @@ const eventCollectionDisplaySchemaShape = {
|
|
|
29611
29644
|
eventSurface: eventSurfaceScopeSchema$1,
|
|
29612
29645
|
filterEventPresets: z.string().nullable(),
|
|
29613
29646
|
scheduleScope: eventScheduleScopeSchema$1,
|
|
29647
|
+
seriesIds: z.string().nullable().optional(),
|
|
29614
29648
|
filterCategoryIds: z.string().nullable(),
|
|
29615
29649
|
filterStaffMemberId: z.string().nullable(),
|
|
29616
29650
|
filterVenueId: z.string().nullable(),
|
|
@@ -29658,11 +29692,15 @@ function buildEventCollectionDisplay(source) {
|
|
|
29658
29692
|
};
|
|
29659
29693
|
}
|
|
29660
29694
|
function buildEventCollectionFilterDisplay(source) {
|
|
29661
|
-
|
|
29662
|
-
|
|
29663
|
-
|
|
29664
|
-
|
|
29665
|
-
|
|
29695
|
+
const selected = source.seriesIds != null;
|
|
29696
|
+
const matchingFilters = selected ? {
|
|
29697
|
+
eventSurface: "all",
|
|
29698
|
+
filterEventPresets: null,
|
|
29699
|
+
scheduleScope: "any",
|
|
29700
|
+
filterCategoryIds: null,
|
|
29701
|
+
filterStaffMemberId: null,
|
|
29702
|
+
filterVenueId: null
|
|
29703
|
+
} : {
|
|
29666
29704
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
29667
29705
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29668
29706
|
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
@@ -29670,6 +29708,14 @@ function buildEventCollectionFilterDisplay(source) {
|
|
|
29670
29708
|
filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
|
|
29671
29709
|
filterVenueId: normalizeEventVenueId(source.filterVenueId)
|
|
29672
29710
|
};
|
|
29711
|
+
return {
|
|
29712
|
+
seriesIds: eventSeriesScopeCsv(source.seriesIds),
|
|
29713
|
+
showFilters: selected ? false : source.showFilters ?? true,
|
|
29714
|
+
showCategoryFilter: source.showCategoryFilter ?? "auto",
|
|
29715
|
+
showVenueFilter: source.showVenueFilter ?? false,
|
|
29716
|
+
showStaffFilter: source.showStaffFilter ?? true,
|
|
29717
|
+
...matchingFilters
|
|
29718
|
+
};
|
|
29673
29719
|
}
|
|
29674
29720
|
function buildEventCollectionPresentationDisplay(source) {
|
|
29675
29721
|
return {
|
|
@@ -29684,14 +29730,15 @@ function buildEventCollectionPresentationDisplay(source) {
|
|
|
29684
29730
|
}
|
|
29685
29731
|
function buildEventCollectionHydration(source, now = /* @__PURE__ */ new Date()) {
|
|
29686
29732
|
const timeZone = source.calendarWindow?.scope.timeZone ?? toBookingTimeZone(source.bookingTimeZone);
|
|
29733
|
+
const selected = source.seriesIds != null;
|
|
29687
29734
|
return {
|
|
29688
29735
|
calendarWindow: source.calendarWindow ?? void 0,
|
|
29689
29736
|
siteId: source.siteId,
|
|
29690
29737
|
stage: source.stage,
|
|
29691
29738
|
prefetchedEvents: source.events != null,
|
|
29692
|
-
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
29693
|
-
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29694
|
-
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
29739
|
+
eventSurface: selected ? "all" : normalizeEventSurfaceScope(source.eventSurface),
|
|
29740
|
+
filterEventPresets: selected ? null : normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29741
|
+
scheduleScope: selected ? "any" : normalizeEventScheduleScope(source.scheduleScope),
|
|
29695
29742
|
calendarContext: {
|
|
29696
29743
|
timeZone,
|
|
29697
29744
|
initialToday: source.calendarWindow?.initialToday ?? getLocalScheduleDate(now, timeZone)
|
|
@@ -29757,6 +29804,7 @@ const eventListingHydrationSchema = z.object({
|
|
|
29757
29804
|
eventSurface: eventSurfaceScopeSchema,
|
|
29758
29805
|
filterEventPresets: z.string().nullable(),
|
|
29759
29806
|
scheduleScope: eventScheduleScopeSchema,
|
|
29807
|
+
seriesIds: z.string().nullable().optional(),
|
|
29760
29808
|
filterCategoryIds: z.string().nullable().optional(),
|
|
29761
29809
|
filterStaffMemberId: z.string().nullable().optional(),
|
|
29762
29810
|
filterVenueId: z.string().nullable().optional(),
|
|
@@ -29817,6 +29865,7 @@ const eventListingBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
29817
29865
|
eventSurface: normalizeEventSurfaceScope(source.eventSurface),
|
|
29818
29866
|
filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
|
|
29819
29867
|
scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
|
|
29868
|
+
seriesIds: eventSeriesScopeCsv(source.seriesIds),
|
|
29820
29869
|
filterCategoryIds: normalizeEventCategoryIdsCsv(source.filterCategoryIds),
|
|
29821
29870
|
filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
|
|
29822
29871
|
filterVenueId: normalizeEventVenueId(source.filterVenueId),
|
|
@@ -30190,6 +30239,65 @@ const eventListingBlockDefinition = {
|
|
|
30190
30239
|
} }
|
|
30191
30240
|
};
|
|
30192
30241
|
//#endregion
|
|
30242
|
+
//#region ../blocks/src/system/blocks/events/eventSelectionFields.ts
|
|
30243
|
+
const eventSelectionFields = [{
|
|
30244
|
+
id: "eventSelection",
|
|
30245
|
+
type: "select",
|
|
30246
|
+
label: "Events to show",
|
|
30247
|
+
required: false,
|
|
30248
|
+
multiple: false,
|
|
30249
|
+
defaultValue: "matching",
|
|
30250
|
+
options: [{
|
|
30251
|
+
value: "matching",
|
|
30252
|
+
label: "All matching events"
|
|
30253
|
+
}, {
|
|
30254
|
+
value: "selected",
|
|
30255
|
+
label: "Selected events"
|
|
30256
|
+
}],
|
|
30257
|
+
ui: { intent: "behavior" }
|
|
30258
|
+
}, createSiteOptionSelectField({
|
|
30259
|
+
id: "selectedEventSeriesIds",
|
|
30260
|
+
label: "Selected events",
|
|
30261
|
+
description: "Show upcoming dates for these events. Other event filters do not apply.",
|
|
30262
|
+
required: false,
|
|
30263
|
+
multiple: true,
|
|
30264
|
+
defaultValue: [],
|
|
30265
|
+
optionSource: "eventSeries",
|
|
30266
|
+
ui: {
|
|
30267
|
+
intent: "behavior",
|
|
30268
|
+
searchThreshold: 1,
|
|
30269
|
+
visibleWhen: {
|
|
30270
|
+
field: "eventSelection",
|
|
30271
|
+
equals: "selected"
|
|
30272
|
+
}
|
|
30273
|
+
}
|
|
30274
|
+
})];
|
|
30275
|
+
function withEventSelectionVisibility(field) {
|
|
30276
|
+
if (![
|
|
30277
|
+
"eventSurface",
|
|
30278
|
+
"filterEventPresets",
|
|
30279
|
+
"scheduleScope",
|
|
30280
|
+
"filterCategoryIds",
|
|
30281
|
+
"filterStaffMemberId",
|
|
30282
|
+
"filterVenueId",
|
|
30283
|
+
"showFilters",
|
|
30284
|
+
"showCategoryFilter",
|
|
30285
|
+
"showVenueFilter",
|
|
30286
|
+
"showStaffFilter"
|
|
30287
|
+
].includes(field.id)) return field;
|
|
30288
|
+
const visibleWhen = field.ui?.visibleWhen;
|
|
30289
|
+
return {
|
|
30290
|
+
...field,
|
|
30291
|
+
ui: {
|
|
30292
|
+
...field.ui,
|
|
30293
|
+
visibleWhen: { allOf: [{
|
|
30294
|
+
field: "eventSelection",
|
|
30295
|
+
notEquals: "selected"
|
|
30296
|
+
}, ...visibleWhen ? [visibleWhen] : []] }
|
|
30297
|
+
}
|
|
30298
|
+
};
|
|
30299
|
+
}
|
|
30300
|
+
//#endregion
|
|
30193
30301
|
//#region ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
|
|
30194
30302
|
const eventCalendarSourceSchema = z.object({
|
|
30195
30303
|
...eventCollectionSourceSchemaShape,
|
|
@@ -30272,19 +30380,59 @@ const eventCalendarBlockRuntime = defineProgressiveBlockRuntime({
|
|
|
30272
30380
|
//#region ../blocks/src/system/blocks/events/eventCalendarDataLoaders.ts
|
|
30273
30381
|
const scopeParams = {
|
|
30274
30382
|
siteId: { $bind: { from: "$root.siteId" } },
|
|
30383
|
+
seriesIds: { $bind: {
|
|
30384
|
+
from: "content",
|
|
30385
|
+
transforms: [{
|
|
30386
|
+
id: "events.calendarSelectionParam",
|
|
30387
|
+
options: { key: "seriesIds" }
|
|
30388
|
+
}]
|
|
30389
|
+
} },
|
|
30275
30390
|
stage: { $bind: {
|
|
30276
30391
|
from: "$root.previewStage",
|
|
30277
30392
|
fallback: "published"
|
|
30278
30393
|
} },
|
|
30279
|
-
eventSurface: { $bind: {
|
|
30394
|
+
eventSurface: { $bind: {
|
|
30395
|
+
from: "content",
|
|
30396
|
+
transforms: [{
|
|
30397
|
+
id: "events.calendarSelectionParam",
|
|
30398
|
+
options: { key: "eventSurface" }
|
|
30399
|
+
}, { id: "value.csv" }]
|
|
30400
|
+
} },
|
|
30280
30401
|
eventPresets: { $bind: {
|
|
30281
|
-
from: "content
|
|
30282
|
-
transforms: [{
|
|
30402
|
+
from: "content",
|
|
30403
|
+
transforms: [{
|
|
30404
|
+
id: "events.calendarSelectionParam",
|
|
30405
|
+
options: { key: "filterEventPresets" }
|
|
30406
|
+
}, { id: "value.csv" }]
|
|
30407
|
+
} },
|
|
30408
|
+
scheduleScope: { $bind: {
|
|
30409
|
+
from: "content",
|
|
30410
|
+
transforms: [{
|
|
30411
|
+
id: "events.calendarSelectionParam",
|
|
30412
|
+
options: { key: "scheduleScope" }
|
|
30413
|
+
}, { id: "value.csv" }]
|
|
30283
30414
|
} },
|
|
30284
|
-
|
|
30285
|
-
|
|
30286
|
-
|
|
30287
|
-
|
|
30415
|
+
categoryIds: { $bind: {
|
|
30416
|
+
from: "content",
|
|
30417
|
+
transforms: [{
|
|
30418
|
+
id: "events.calendarSelectionParam",
|
|
30419
|
+
options: { key: "filterCategoryIds" }
|
|
30420
|
+
}, { id: "value.csv" }]
|
|
30421
|
+
} },
|
|
30422
|
+
staffMemberId: { $bind: {
|
|
30423
|
+
from: "content",
|
|
30424
|
+
transforms: [{
|
|
30425
|
+
id: "events.calendarSelectionParam",
|
|
30426
|
+
options: { key: "filterStaffMemberId" }
|
|
30427
|
+
}, { id: "value.csv" }]
|
|
30428
|
+
} },
|
|
30429
|
+
venueId: { $bind: {
|
|
30430
|
+
from: "content",
|
|
30431
|
+
transforms: [{
|
|
30432
|
+
id: "events.calendarSelectionParam",
|
|
30433
|
+
options: { key: "filterVenueId" }
|
|
30434
|
+
}, { id: "value.csv" }]
|
|
30435
|
+
} }
|
|
30288
30436
|
};
|
|
30289
30437
|
/** Combined renders two jobs; calendar-only variants never pay for the list seed. */
|
|
30290
30438
|
const eventCalendarDataLoaders = {
|
|
@@ -30414,6 +30562,13 @@ const eventCalendarLayout = [styledSection({
|
|
|
30414
30562
|
from: "content.defaultCalendarView",
|
|
30415
30563
|
fallback: "month"
|
|
30416
30564
|
} },
|
|
30565
|
+
seriesIds: { $bind: {
|
|
30566
|
+
from: "content",
|
|
30567
|
+
transforms: [{
|
|
30568
|
+
id: "events.calendarSelectionParam",
|
|
30569
|
+
options: { key: "seriesIds" }
|
|
30570
|
+
}]
|
|
30571
|
+
} },
|
|
30417
30572
|
showFilters: { $bind: {
|
|
30418
30573
|
from: "content.showFilters",
|
|
30419
30574
|
fallback: true
|
|
@@ -30435,17 +30590,47 @@ const eventCalendarLayout = [styledSection({
|
|
|
30435
30590
|
fallback: true
|
|
30436
30591
|
} },
|
|
30437
30592
|
eventSurface: { $bind: {
|
|
30438
|
-
from: "content
|
|
30439
|
-
|
|
30593
|
+
from: "content",
|
|
30594
|
+
transforms: [{
|
|
30595
|
+
id: "events.calendarSelectionParam",
|
|
30596
|
+
options: { key: "eventSurface" }
|
|
30597
|
+
}]
|
|
30598
|
+
} },
|
|
30599
|
+
filterEventPresets: { $bind: {
|
|
30600
|
+
from: "content",
|
|
30601
|
+
transforms: [{
|
|
30602
|
+
id: "events.calendarSelectionParam",
|
|
30603
|
+
options: { key: "filterEventPresets" }
|
|
30604
|
+
}]
|
|
30440
30605
|
} },
|
|
30441
|
-
filterEventPresets: { $bind: { from: "content.filterEventPresets" } },
|
|
30442
30606
|
scheduleScope: { $bind: {
|
|
30443
|
-
from: "content
|
|
30444
|
-
|
|
30607
|
+
from: "content",
|
|
30608
|
+
transforms: [{
|
|
30609
|
+
id: "events.calendarSelectionParam",
|
|
30610
|
+
options: { key: "scheduleScope" }
|
|
30611
|
+
}]
|
|
30612
|
+
} },
|
|
30613
|
+
filterCategoryIds: { $bind: {
|
|
30614
|
+
from: "content",
|
|
30615
|
+
transforms: [{
|
|
30616
|
+
id: "events.calendarSelectionParam",
|
|
30617
|
+
options: { key: "filterCategoryIds" }
|
|
30618
|
+
}]
|
|
30619
|
+
} },
|
|
30620
|
+
filterStaffMemberId: { $bind: {
|
|
30621
|
+
from: "content",
|
|
30622
|
+
transforms: [{
|
|
30623
|
+
id: "events.calendarSelectionParam",
|
|
30624
|
+
options: { key: "filterStaffMemberId" }
|
|
30625
|
+
}]
|
|
30626
|
+
} },
|
|
30627
|
+
filterVenueId: { $bind: {
|
|
30628
|
+
from: "content",
|
|
30629
|
+
transforms: [{
|
|
30630
|
+
id: "events.calendarSelectionParam",
|
|
30631
|
+
options: { key: "filterVenueId" }
|
|
30632
|
+
}]
|
|
30445
30633
|
} },
|
|
30446
|
-
filterCategoryIds: { $bind: { from: "content.filterCategoryIds" } },
|
|
30447
|
-
filterStaffMemberId: { $bind: { from: "content.filterStaffMemberId" } },
|
|
30448
|
-
filterVenueId: { $bind: { from: "content.filterVenueId" } },
|
|
30449
30634
|
cardRole: { $bind: {
|
|
30450
30635
|
from: "content._cardStyles.role",
|
|
30451
30636
|
fallback: "default"
|
|
@@ -30949,6 +31134,7 @@ const eventCalendarAdditionalFields = [
|
|
|
30949
31134
|
}
|
|
30950
31135
|
}
|
|
30951
31136
|
},
|
|
31137
|
+
...eventSelectionFields,
|
|
30952
31138
|
{
|
|
30953
31139
|
id: "eventSurface",
|
|
30954
31140
|
type: "select",
|
|
@@ -31158,7 +31344,7 @@ const eventCalendarBlockDefinition = {
|
|
|
31158
31344
|
titleSource: "heading",
|
|
31159
31345
|
description: "Display events with calendar, list, or combined views with filtering",
|
|
31160
31346
|
skipSectionStyles: true,
|
|
31161
|
-
additionalFields: eventCalendarAdditionalFields,
|
|
31347
|
+
additionalFields: eventCalendarAdditionalFields.map(withEventSelectionVisibility),
|
|
31162
31348
|
styleTokens: {
|
|
31163
31349
|
background: "surface",
|
|
31164
31350
|
typography: "body",
|
|
@@ -37581,6 +37767,26 @@ const linksTransforms = [{
|
|
|
37581
37767
|
//#endregion
|
|
37582
37768
|
//#region ../blocks/src/system/transforms/registry/index.ts
|
|
37583
37769
|
const builtinTransformDefinitions = [
|
|
37770
|
+
{
|
|
37771
|
+
id: "events.calendarSelectionParam",
|
|
37772
|
+
kind: "formatter",
|
|
37773
|
+
summary: "Resolve selected events instead of discovery filters",
|
|
37774
|
+
schema: z.object({ key: z.enum([
|
|
37775
|
+
"seriesIds",
|
|
37776
|
+
"eventSurface",
|
|
37777
|
+
"filterEventPresets",
|
|
37778
|
+
"scheduleScope",
|
|
37779
|
+
"filterCategoryIds",
|
|
37780
|
+
"filterStaffMemberId",
|
|
37781
|
+
"filterVenueId"
|
|
37782
|
+
]) }),
|
|
37783
|
+
run(value, { key }) {
|
|
37784
|
+
const content = asPartialObject(value) ?? {};
|
|
37785
|
+
const selection = resolveEventSelection(content.eventSelection, content.selectedEventSeriesIds);
|
|
37786
|
+
if (selection.kind === "selected") return key === "seriesIds" ? selection.seriesIds : void 0;
|
|
37787
|
+
return key === "seriesIds" ? void 0 : content[key];
|
|
37788
|
+
}
|
|
37789
|
+
},
|
|
37584
37790
|
{
|
|
37585
37791
|
id: "events.calendarReadEnabled",
|
|
37586
37792
|
kind: "formatter",
|