riverbankcms 0.22.0 → 0.22.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/acceptance/matrix.mjs +3 -3
- package/dist/cli/index.mjs +1518 -842
- package/dist/{entryCommands-CoGu0G2R.mjs → entryCommands-BGVgMNMw.mjs} +187 -80
- package/dist/{eventUpsertInputSchema-B0ubhUu5.mjs → eventUpsertInputSchema-CdX--hHz.mjs} +2 -2
- package/dist/{load-config-j58KSqxl.mjs → load-config-BV9Ig2CH.mjs} +2 -2
- package/dist/load-config-JWz__Dkx.mjs +4 -0
- package/dist/{plan-C4IphkPc.mjs → plan-CFMj_Hee.mjs} +1 -1
- package/dist/scaffold/index.mjs +2 -2
- package/dist/{sdk-event-upsert-BqjzK2zT.mjs → sdk-event-upsert-zWw5VolM.mjs} +351 -133
- package/dist/{src-zzwJUef5.mjs → src-ZACBG29u.mjs} +143 -85
- package/dist/testing.mjs +4 -4
- package/package.json +1 -1
- package/dist/load-config-Kg45qY-N.mjs +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { $t as assertNever, An as unsafeAsPositiveSeconds, B as parseWeeklyOpeningHours, Bn as unsafeAsUploadSessionId, C as stableJsonStringify, Dn as unsafeAsOriginalFilename, Fn as unsafeAsSiteId, H as isPresent, Hn as err, Ht as mapNonEmptyArray, In as unsafeAsSiteScopedStoragePath, L as isCanonicalRichTextDoc, M as parseFooterCompositionV1, Mn as unsafeAsProductId, N as footerNavigationLayouts, Nn as unsafeAsSafeDownloadFilename, Pn as unsafeAsSiteFontId, Rn as unsafeAsStorageBucketName, Tn as unsafeAsMediaAssetId, Un as ok, Ut as mapReadonlyNonEmptyArray, Vn as unsafeAsUserId, Vt as fromArray, _n as unsafeAsDeclaredMimeType, _t as validateBookingPaymentOptionKinds, bn as unsafeAsEntitlementId, c as resolveSiteVerticalBookingConfig, d as ORDINARY_EVENT_PRESET_VALUES, gt as parseBookingTimeZone, hn as unsafeAsBookingSessionId, kn as unsafeAsPositiveByteCount, mn as unsafeAsBookingRequirementId, on as parseMediaAssetId, r as NAVIGATION_LOCATIONS, st as localScheduleTimePattern, u as EVENT_PRESET_VALUES, un as parseSiteId, ut as parseUtcIsoDateTimeString, wn as unsafeAsFileChecksumSha256, yn as unsafeAsDetectedMimeType, z as parsePublicContactDetails, zn as unsafeAsStoragePath } from "./src-ZACBG29u.mjs";
|
|
3
3
|
import "node:module";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
|
|
@@ -6197,9 +6197,18 @@ const blockAppearancePresets = [
|
|
|
6197
6197
|
defineArrangementLook("faq-questions-under-title", "faq", "Questions under the title", "default", []),
|
|
6198
6198
|
defineArrangementLook("faq-title-beside-questions", "faq", "Title beside the questions", "two-column", [], { styleFallback: [id$1("faq-questions-under-title")] }),
|
|
6199
6199
|
defineArrangementLook("faq-questions-two-columns", "faq", "Questions in two columns", "question-columns", [], { styleFallback: [id$1("faq-questions-under-title")] }),
|
|
6200
|
+
defineArrangementLook("faq-all-answers-showing", "faq", "All answers showing", "open", [], { styleFallback: [id$1("faq-questions-two-columns")] }),
|
|
6200
6201
|
defineArrangementLook("image-gallery-lead-photo", "image-gallery", "One large photo, then smaller ones", "tiles", [], { styleFallback: [id$1("image-gallery-square-tiles")] }),
|
|
6201
6202
|
defineArrangementLook("image-gallery-captions-under", "image-gallery", "Photos with captions underneath", "tiles", [], { styleFallback: [id$1("image-gallery-arched-captions"), id$1("image-gallery-square-tiles")] }),
|
|
6202
6203
|
defineArrangementLook("cta-centred", "cta-full", "Centred, buttons below", "default", []),
|
|
6204
|
+
defineArrangementLook("cta-title-beside-buttons", "cta-full", "Title beside the buttons", "default", [], { styleFallback: [id$1("cta-centred")] }),
|
|
6205
|
+
defineArrangementLook("cta-figure-beside-offer", "cta-full", "Big figure beside the offer", "figure", [], {
|
|
6206
|
+
whenMissing: [{
|
|
6207
|
+
fact: "figure",
|
|
6208
|
+
look: id$1("cta-centred")
|
|
6209
|
+
}],
|
|
6210
|
+
styleFallback: [id$1("cta-centred")]
|
|
6211
|
+
}),
|
|
6203
6212
|
{
|
|
6204
6213
|
...defineCardListLook("team-members-tall-portraits", "Tall portraits in a row", "cards", [
|
|
6205
6214
|
"media",
|
|
@@ -6283,7 +6292,23 @@ const blockAppearancePresets = [
|
|
|
6283
6292
|
forcedKnobs: { cardMarker: "none" },
|
|
6284
6293
|
knobDefaults: { actionStyle: "link" },
|
|
6285
6294
|
styleFallback: [id$1("feature-cards-index")]
|
|
6286
|
-
})
|
|
6295
|
+
}),
|
|
6296
|
+
{
|
|
6297
|
+
...defineCardListLook("card-list-photos-on-top", "Photos on top, three across", "cards", [
|
|
6298
|
+
"media",
|
|
6299
|
+
"title",
|
|
6300
|
+
"text",
|
|
6301
|
+
"facts",
|
|
6302
|
+
"action"
|
|
6303
|
+
], ["showPhotos"], {
|
|
6304
|
+
knobDefaults: {
|
|
6305
|
+
actionStyle: "link",
|
|
6306
|
+
dates: "summary"
|
|
6307
|
+
},
|
|
6308
|
+
styleFallback: [id$1("feature-cards-cards")]
|
|
6309
|
+
}),
|
|
6310
|
+
blockKinds: ["block.offerings-preview", "block.appointment-services"]
|
|
6311
|
+
}
|
|
6287
6312
|
];
|
|
6288
6313
|
|
|
6289
6314
|
//#endregion
|
|
@@ -10157,7 +10182,7 @@ function planFileUploadFinalization(input) {
|
|
|
10157
10182
|
const declaredMimeType = input.declaredMimeType;
|
|
10158
10183
|
const declaredKind = classifyOptionalDeclaredMimeType(declaredMimeType);
|
|
10159
10184
|
if (!declaredKind.ok) return declaredKind;
|
|
10160
|
-
if (declaredMimeType !== undefined && declaredKind.value !== undefined && !
|
|
10185
|
+
if (declaredMimeType !== undefined && declaredKind.value !== undefined && !areUploadFormatsInterchangeable(declaredKind.value, detectedKind.value)) {
|
|
10161
10186
|
return err({
|
|
10162
10187
|
tag: "declared-detected-mime-mismatch",
|
|
10163
10188
|
declaredMimeType,
|
|
@@ -10308,6 +10333,18 @@ function accessPolicyForFinalizedUpload(uploadSession) {
|
|
|
10308
10333
|
};
|
|
10309
10334
|
}
|
|
10310
10335
|
}
|
|
10336
|
+
function areUploadFormatsInterchangeable(declared, detected) {
|
|
10337
|
+
if (areFileKindsEqual(declared, detected)) return true;
|
|
10338
|
+
switch (declared.tag) {
|
|
10339
|
+
case "image": return detected.tag === "image" && declared.format !== "svg" && detected.format !== "svg";
|
|
10340
|
+
case "audio":
|
|
10341
|
+
case "video": return detected.tag === declared.tag;
|
|
10342
|
+
case "document":
|
|
10343
|
+
case "spreadsheet":
|
|
10344
|
+
case "font":
|
|
10345
|
+
case "archive": return false;
|
|
10346
|
+
}
|
|
10347
|
+
}
|
|
10311
10348
|
|
|
10312
10349
|
//#endregion
|
|
10313
10350
|
//#region ../media-core/src/fileUploadSessionCreation.ts
|
|
@@ -10370,6 +10407,63 @@ function planFileUploadSessionCreation(input) {
|
|
|
10370
10407
|
});
|
|
10371
10408
|
}
|
|
10372
10409
|
|
|
10410
|
+
//#endregion
|
|
10411
|
+
//#region ../media-core/src/mimeType.ts
|
|
10412
|
+
const MIME_TYPES_BY_EXTENSION = {
|
|
10413
|
+
".jpg": "image/jpeg",
|
|
10414
|
+
".jpeg": "image/jpeg",
|
|
10415
|
+
".png": "image/png",
|
|
10416
|
+
".gif": "image/gif",
|
|
10417
|
+
".webp": "image/webp",
|
|
10418
|
+
".svg": "image/svg+xml",
|
|
10419
|
+
".avif": "image/avif",
|
|
10420
|
+
".heic": "image/heic",
|
|
10421
|
+
".heif": "image/heif",
|
|
10422
|
+
".mp4": "video/mp4",
|
|
10423
|
+
".webm": "video/webm",
|
|
10424
|
+
".mov": "video/quicktime",
|
|
10425
|
+
".mp3": "audio/mpeg",
|
|
10426
|
+
".m4a": "audio/mp4",
|
|
10427
|
+
".wav": "audio/wav",
|
|
10428
|
+
".ogg": "audio/ogg",
|
|
10429
|
+
".flac": "audio/flac",
|
|
10430
|
+
".pdf": "application/pdf"
|
|
10431
|
+
};
|
|
10432
|
+
const EXTENSIONS_BY_MIME_TYPE = {
|
|
10433
|
+
"image/jpeg": ".jpg",
|
|
10434
|
+
"image/png": ".png",
|
|
10435
|
+
"image/gif": ".gif",
|
|
10436
|
+
"image/webp": ".webp",
|
|
10437
|
+
"image/svg+xml": ".svg",
|
|
10438
|
+
"image/avif": ".avif",
|
|
10439
|
+
"image/heic": ".heic",
|
|
10440
|
+
"image/heif": ".heif",
|
|
10441
|
+
"video/mp4": ".mp4",
|
|
10442
|
+
"video/webm": ".webm",
|
|
10443
|
+
"video/quicktime": ".mov",
|
|
10444
|
+
"audio/mpeg": ".mp3",
|
|
10445
|
+
"audio/mp4": ".m4a",
|
|
10446
|
+
"audio/wav": ".wav",
|
|
10447
|
+
"audio/x-wav": ".wav",
|
|
10448
|
+
"audio/ogg": ".ogg",
|
|
10449
|
+
"audio/webm": ".webm",
|
|
10450
|
+
"audio/flac": ".flac",
|
|
10451
|
+
"application/pdf": ".pdf"
|
|
10452
|
+
};
|
|
10453
|
+
function fileExtension(filename) {
|
|
10454
|
+
const pathSegments = filename.replace(/\\/g, "/").split("/");
|
|
10455
|
+
const basename = pathSegments[pathSegments.length - 1] ?? filename;
|
|
10456
|
+
const dotIndex = basename.lastIndexOf(".");
|
|
10457
|
+
return dotIndex <= 0 ? "" : basename.slice(dotIndex).toLowerCase();
|
|
10458
|
+
}
|
|
10459
|
+
function getMimeType(filename) {
|
|
10460
|
+
return MIME_TYPES_BY_EXTENSION[fileExtension(filename)] ?? "application/octet-stream";
|
|
10461
|
+
}
|
|
10462
|
+
function getExtensionForMimeType(mimeType) {
|
|
10463
|
+
if (!mimeType) return null;
|
|
10464
|
+
return EXTENSIONS_BY_MIME_TYPE[mimeType.toLowerCase()] ?? null;
|
|
10465
|
+
}
|
|
10466
|
+
|
|
10373
10467
|
//#endregion
|
|
10374
10468
|
//#region ../media-core/src/fileUploadAssetBuilder.ts
|
|
10375
10469
|
/**
|
|
@@ -10395,38 +10489,41 @@ function toDurableFinalizeUploadAssetPlan(plan) {
|
|
|
10395
10489
|
});
|
|
10396
10490
|
}
|
|
10397
10491
|
function expectedDurableUploadStoragePath(finalizationPlan, assetId) {
|
|
10398
|
-
|
|
10492
|
+
const storage = finalizedUploadStorage(finalizationPlan, assetId);
|
|
10493
|
+
return storage.ok ? ok(storage.value.storagePath) : storage;
|
|
10494
|
+
}
|
|
10495
|
+
function finalizedUploadStorage(plan, assetId) {
|
|
10496
|
+
if (plan.uploadSession.safeDownloadFilename === undefined) {
|
|
10399
10497
|
return err({ tag: "safe-download-filename-required" });
|
|
10400
10498
|
}
|
|
10401
|
-
const
|
|
10402
|
-
|
|
10499
|
+
const safe = asSafeDownloadFilename(finalizedUploadFilename(plan.uploadSession.safeDownloadFilename, plan.detectedMimeType));
|
|
10500
|
+
if (!safe.ok) return err({ tag: "safe-download-filename-required" });
|
|
10501
|
+
const path = buildDurableFileStoragePath({
|
|
10502
|
+
siteId: plan.uploadSession.siteId,
|
|
10403
10503
|
fileAssetId: assetId,
|
|
10404
|
-
safeDownloadFilename:
|
|
10504
|
+
safeDownloadFilename: safe.value
|
|
10505
|
+
});
|
|
10506
|
+
return path.ok ? ok({
|
|
10507
|
+
storagePath: path.value,
|
|
10508
|
+
filename: unsafeAsOriginalFilename(finalizedUploadFilename(plan.uploadSession.originalFilename, plan.detectedMimeType)),
|
|
10509
|
+
safeDownloadFilename: safe.value
|
|
10510
|
+
}) : err({
|
|
10511
|
+
tag: "invalid-storage-path",
|
|
10512
|
+
error: path.error
|
|
10405
10513
|
});
|
|
10406
|
-
if (!targetStoragePath.ok) {
|
|
10407
|
-
return err({
|
|
10408
|
-
tag: "invalid-storage-path",
|
|
10409
|
-
error: targetStoragePath.error
|
|
10410
|
-
});
|
|
10411
|
-
}
|
|
10412
|
-
return ok(targetStoragePath.value);
|
|
10413
10514
|
}
|
|
10414
10515
|
/**
|
|
10415
10516
|
* Builds a validated active durable file asset from a policy-checked upload finalization plan.
|
|
10416
10517
|
*/
|
|
10417
10518
|
function buildFinalizedUploadFileAsset(input) {
|
|
10418
10519
|
const { finalizationPlan } = input;
|
|
10419
|
-
const
|
|
10420
|
-
if (!
|
|
10421
|
-
return targetStoragePath;
|
|
10422
|
-
}
|
|
10520
|
+
const storage = finalizedUploadStorage(finalizationPlan, input.assetId);
|
|
10521
|
+
if (!storage.ok) return storage;
|
|
10423
10522
|
const asset = {
|
|
10424
10523
|
id: input.assetId,
|
|
10425
10524
|
siteId: finalizationPlan.uploadSession.siteId,
|
|
10426
10525
|
storageBucket: finalizationPlan.targetStorageBucket,
|
|
10427
|
-
|
|
10428
|
-
filename: finalizationPlan.uploadSession.originalFilename,
|
|
10429
|
-
safeDownloadFilename: finalizationPlan.uploadSession.safeDownloadFilename,
|
|
10526
|
+
...storage.value,
|
|
10430
10527
|
mimeType: unsafeAsDeclaredMimeType(finalizationPlan.detectedMimeType),
|
|
10431
10528
|
kind: finalizationPlan.detectedKind,
|
|
10432
10529
|
uses: finalizationPlan.fileUses,
|
|
@@ -10459,6 +10556,11 @@ function defaultMetadataForKind(kind) {
|
|
|
10459
10556
|
case "archive": return { tag: "file-metadata" };
|
|
10460
10557
|
}
|
|
10461
10558
|
}
|
|
10559
|
+
function finalizedUploadFilename(filename, detectedMimeType) {
|
|
10560
|
+
const extension = getExtensionForMimeType(detectedMimeType);
|
|
10561
|
+
if (extension === null || getMimeType(filename) === detectedMimeType) return filename;
|
|
10562
|
+
return `${filename.replace(/\.[^.\/\\]+$/u, "")}${extension}`;
|
|
10563
|
+
}
|
|
10462
10564
|
|
|
10463
10565
|
//#endregion
|
|
10464
10566
|
//#region ../media-core/src/fileUploadCompletion.ts
|
|
@@ -10485,7 +10587,8 @@ function planDurableFileUploadCompletion(input) {
|
|
|
10485
10587
|
const promoteStep = {
|
|
10486
10588
|
tag: "promote-staged-object",
|
|
10487
10589
|
sourceObject,
|
|
10488
|
-
targetObject
|
|
10590
|
+
targetObject,
|
|
10591
|
+
...input.finalizationPlan.uploadSession.declaredMimeType !== String(input.finalizationPlan.detectedMimeType) ? { correctedContentType: input.finalizationPlan.detectedMimeType } : {}
|
|
10489
10592
|
};
|
|
10490
10593
|
const insertStep = {
|
|
10491
10594
|
tag: "insert-file-asset",
|
|
@@ -11302,61 +11405,6 @@ function startsWithIgnoreCase(text, token, index) {
|
|
|
11302
11405
|
return text.slice(index, index + token.length).toLowerCase() === token;
|
|
11303
11406
|
}
|
|
11304
11407
|
|
|
11305
|
-
//#endregion
|
|
11306
|
-
//#region ../media-core/src/mimeType.ts
|
|
11307
|
-
const MIME_TYPES_BY_EXTENSION = {
|
|
11308
|
-
".jpg": "image/jpeg",
|
|
11309
|
-
".jpeg": "image/jpeg",
|
|
11310
|
-
".png": "image/png",
|
|
11311
|
-
".gif": "image/gif",
|
|
11312
|
-
".webp": "image/webp",
|
|
11313
|
-
".svg": "image/svg+xml",
|
|
11314
|
-
".avif": "image/avif",
|
|
11315
|
-
".heic": "image/heic",
|
|
11316
|
-
".mp4": "video/mp4",
|
|
11317
|
-
".webm": "video/webm",
|
|
11318
|
-
".mov": "video/quicktime",
|
|
11319
|
-
".mp3": "audio/mpeg",
|
|
11320
|
-
".m4a": "audio/mp4",
|
|
11321
|
-
".wav": "audio/wav",
|
|
11322
|
-
".ogg": "audio/ogg",
|
|
11323
|
-
".flac": "audio/flac",
|
|
11324
|
-
".pdf": "application/pdf"
|
|
11325
|
-
};
|
|
11326
|
-
const EXTENSIONS_BY_MIME_TYPE = {
|
|
11327
|
-
"image/jpeg": ".jpg",
|
|
11328
|
-
"image/png": ".png",
|
|
11329
|
-
"image/gif": ".gif",
|
|
11330
|
-
"image/webp": ".webp",
|
|
11331
|
-
"image/svg+xml": ".svg",
|
|
11332
|
-
"image/avif": ".avif",
|
|
11333
|
-
"image/heic": ".heic",
|
|
11334
|
-
"video/mp4": ".mp4",
|
|
11335
|
-
"video/webm": ".webm",
|
|
11336
|
-
"video/quicktime": ".mov",
|
|
11337
|
-
"audio/mpeg": ".mp3",
|
|
11338
|
-
"audio/mp4": ".m4a",
|
|
11339
|
-
"audio/wav": ".wav",
|
|
11340
|
-
"audio/x-wav": ".wav",
|
|
11341
|
-
"audio/ogg": ".ogg",
|
|
11342
|
-
"audio/webm": ".webm",
|
|
11343
|
-
"audio/flac": ".flac",
|
|
11344
|
-
"application/pdf": ".pdf"
|
|
11345
|
-
};
|
|
11346
|
-
function fileExtension(filename) {
|
|
11347
|
-
const pathSegments = filename.replace(/\\/g, "/").split("/");
|
|
11348
|
-
const basename = pathSegments[pathSegments.length - 1] ?? filename;
|
|
11349
|
-
const dotIndex = basename.lastIndexOf(".");
|
|
11350
|
-
return dotIndex <= 0 ? "" : basename.slice(dotIndex).toLowerCase();
|
|
11351
|
-
}
|
|
11352
|
-
function getMimeType(filename) {
|
|
11353
|
-
return MIME_TYPES_BY_EXTENSION[fileExtension(filename)] ?? "application/octet-stream";
|
|
11354
|
-
}
|
|
11355
|
-
function getExtensionForMimeType(mimeType) {
|
|
11356
|
-
if (!mimeType) return null;
|
|
11357
|
-
return EXTENSIONS_BY_MIME_TYPE[mimeType.toLowerCase()] ?? null;
|
|
11358
|
-
}
|
|
11359
|
-
|
|
11360
11408
|
//#endregion
|
|
11361
11409
|
//#region ../media-core/src/filename.ts
|
|
11362
11410
|
function filenameExtension(filename) {
|
|
@@ -11913,6 +11961,7 @@ function mediaUsageLocationLabel(location) {
|
|
|
11913
11961
|
}
|
|
11914
11962
|
case "newsletterTemplate": return `Newsletter template: ${location.templateName}`;
|
|
11915
11963
|
case "newsletterCampaign": return `Newsletter campaign: ${location.campaignName}`;
|
|
11964
|
+
case "appointmentService": return `Appointment service: ${location.serviceTitle}`;
|
|
11916
11965
|
case "productFileDownload": return `${location.productTitle} — Product download`;
|
|
11917
11966
|
default: return assertNever$2(location);
|
|
11918
11967
|
}
|
|
@@ -13897,7 +13946,21 @@ function parseCanonicalRuntimeBackground(content) {
|
|
|
13897
13946
|
};
|
|
13898
13947
|
}
|
|
13899
13948
|
function resolveSectionBackground(source, lookDefault, rhythm, arrangementHeroPhoto) {
|
|
13900
|
-
if (heroPhotoIsContent(source, arrangementHeroPhoto))
|
|
13949
|
+
if (heroPhotoIsContent(source, arrangementHeroPhoto, rhythm !== undefined)) {
|
|
13950
|
+
if (rhythm !== undefined) return rhythmBackground(rhythm);
|
|
13951
|
+
return {
|
|
13952
|
+
kind: "content-media",
|
|
13953
|
+
background: source.background,
|
|
13954
|
+
ground: {
|
|
13955
|
+
type: "color",
|
|
13956
|
+
color: arrangementHeroPhoto?.fallbackToken ?? "background",
|
|
13957
|
+
textColor: source.background.textColor,
|
|
13958
|
+
headingColor: source.background.headingColor,
|
|
13959
|
+
linkColor: source.background.linkColor,
|
|
13960
|
+
supportingColor: source.background.supportingColor
|
|
13961
|
+
}
|
|
13962
|
+
};
|
|
13963
|
+
}
|
|
13901
13964
|
if (source.kind === "page-design-override") {
|
|
13902
13965
|
return {
|
|
13903
13966
|
kind: "override",
|
|
@@ -13927,7 +13990,7 @@ function resolveSectionPhotoPlacement(background, heroPhoto) {
|
|
|
13927
13990
|
return background.kind !== "base" && background.background.type === "image" && background.background.image !== undefined ? "behind-text" : "none";
|
|
13928
13991
|
}
|
|
13929
13992
|
function resolveSectionForeground(background, palette) {
|
|
13930
|
-
return resolveSurfaceForeground(background
|
|
13993
|
+
return resolveSurfaceForeground(sectionForegroundBackground(background, palette), palette, {}, { compositeBase: "background" });
|
|
13931
13994
|
}
|
|
13932
13995
|
/**
|
|
13933
13996
|
* Read foreground authority from post-compiler block content. The preview
|
|
@@ -13935,9 +13998,40 @@ function resolveSectionForeground(background, palette) {
|
|
|
13935
13998
|
* `_sectionStyles`; raw authored content must be composed with its Look through
|
|
13936
13999
|
* `resolveSectionBackground` instead.
|
|
13937
14000
|
*/
|
|
13938
|
-
function resolveCompiledSectionForegroundFromContent(content, palette) {
|
|
14001
|
+
function resolveCompiledSectionForegroundFromContent(content, palette, photo) {
|
|
13939
14002
|
if (!content) return resolveSurfaceForeground(null, palette);
|
|
13940
|
-
return resolveSectionForeground(resolveSectionBackground(parseCanonicalRuntimeBackground(content), null), palette);
|
|
14003
|
+
return resolveSectionForeground(resolveSectionBackground(parseCanonicalRuntimeBackground(content), null, compiledOpeningRhythm(content), photo), palette);
|
|
14004
|
+
}
|
|
14005
|
+
/** Legacy detached photos keep already-legible authored ink and its exact CSS treatment. */
|
|
14006
|
+
function sectionForegroundBackground(resolved, palette) {
|
|
14007
|
+
if (resolved.kind === "base") return null;
|
|
14008
|
+
if (resolved.kind !== "content-media") return resolved.background;
|
|
14009
|
+
const original = resolveSurfaceForeground(resolved.background, palette);
|
|
14010
|
+
const measured = resolveSurfaceForeground(resolved.ground, palette);
|
|
14011
|
+
if (original.kind === "unknown" || measured.kind === "unknown") return resolved.background;
|
|
14012
|
+
const roles = [
|
|
14013
|
+
"text",
|
|
14014
|
+
"heading",
|
|
14015
|
+
"link",
|
|
14016
|
+
"supporting"
|
|
14017
|
+
];
|
|
14018
|
+
return roles.every((role) => original.roles[role] === measured.roles[role]) ? resolved.background : resolved.ground;
|
|
14019
|
+
}
|
|
14020
|
+
/** One photo-placement decision for legacy and arrangement hero renderers. */
|
|
14021
|
+
function heroPhotoPaintsGround(variant) {
|
|
14022
|
+
return ![
|
|
14023
|
+
"split",
|
|
14024
|
+
"splitReverse",
|
|
14025
|
+
"headline-row",
|
|
14026
|
+
"copy-over-gallery",
|
|
14027
|
+
"page-head"
|
|
14028
|
+
].includes(variant ?? "classic");
|
|
14029
|
+
}
|
|
14030
|
+
function compiledOpeningRhythm(content) {
|
|
14031
|
+
const arrangement = readRecord(content._arrangementLooks);
|
|
14032
|
+
if (!Array.isArray(arrangement?.rhythm)) return undefined;
|
|
14033
|
+
const parsed = runtimeBoxBackgroundSchema.safeParse(arrangement.rhythm[0]);
|
|
14034
|
+
return parsed.success ? parsed.data : null;
|
|
13941
14035
|
}
|
|
13942
14036
|
function mergeLookForegroundWithAuthoredMedia(lookDefault, authored) {
|
|
13943
14037
|
const paintsBand = lookDefault.type === "color" || lookDefault.type === "gradient";
|
|
@@ -13957,8 +14051,8 @@ function mergeLookForegroundWithAuthoredMedia(lookDefault, authored) {
|
|
|
13957
14051
|
function readRecord(value) {
|
|
13958
14052
|
return typeof value === "object" && value !== null && !Array.isArray(value) ? value : null;
|
|
13959
14053
|
}
|
|
13960
|
-
function heroPhotoIsContent(source, photo) {
|
|
13961
|
-
return photo !== undefined && !photo.paintsGround && source.kind === "block-authored" && source.background.type === "image";
|
|
14054
|
+
function heroPhotoIsContent(source, photo, hasArrangementGround) {
|
|
14055
|
+
return photo !== undefined && !photo.paintsGround && source.kind === "block-authored" && source.background.type === "image" && (hasArrangementGround || !source.background.overlay);
|
|
13962
14056
|
}
|
|
13963
14057
|
function isAuthoredMedia(source) {
|
|
13964
14058
|
return source.kind === "block-authored" && (source.background.type === "image" || source.background.type === "video");
|
|
@@ -13988,9 +14082,10 @@ const solidGrounds = {
|
|
|
13988
14082
|
};
|
|
13989
14083
|
function deriveSectionGround(resolved, palette) {
|
|
13990
14084
|
if (resolved.kind === "base") return "light";
|
|
13991
|
-
const
|
|
14085
|
+
const background = resolved.kind === "content-media" ? resolved.ground : resolved.background;
|
|
14086
|
+
const solid = solidSectionGround(background);
|
|
13992
14087
|
if (solid) return solid;
|
|
13993
|
-
const tone = scrimTone(sectionScrimSamples(
|
|
14088
|
+
const tone = scrimTone(sectionScrimSamples(background, palette)) ?? sectionForegroundTone(resolved, palette);
|
|
13994
14089
|
return tone === "dark" ? "deep" : "light";
|
|
13995
14090
|
}
|
|
13996
14091
|
function solidSectionGround(background) {
|
|
@@ -34083,6 +34178,11 @@ const folioLooks = {
|
|
|
34083
34178
|
itemRoles: { items: "card" },
|
|
34084
34179
|
roleMap: folioRoles
|
|
34085
34180
|
},
|
|
34181
|
+
{
|
|
34182
|
+
id: id("faq-all-answers-showing"),
|
|
34183
|
+
treatment: "faq-open",
|
|
34184
|
+
roleMap: folioRoles
|
|
34185
|
+
},
|
|
34086
34186
|
{
|
|
34087
34187
|
id: id("image-gallery-square-tiles"),
|
|
34088
34188
|
treatment: "gallery-tiles",
|
|
@@ -34102,6 +34202,21 @@ const folioLooks = {
|
|
|
34102
34202
|
id: id("cta-centred"),
|
|
34103
34203
|
treatment: "cta-centred",
|
|
34104
34204
|
roleMap: folioRoles
|
|
34205
|
+
},
|
|
34206
|
+
{
|
|
34207
|
+
id: id("cta-title-beside-buttons"),
|
|
34208
|
+
treatment: "cta-beside",
|
|
34209
|
+
roleMap: folioRoles
|
|
34210
|
+
},
|
|
34211
|
+
{
|
|
34212
|
+
id: id("cta-figure-beside-offer"),
|
|
34213
|
+
treatment: "cta-figure",
|
|
34214
|
+
roleMap: folioRoles
|
|
34215
|
+
},
|
|
34216
|
+
{
|
|
34217
|
+
id: id("card-list-photos-on-top"),
|
|
34218
|
+
treatment: "photos-on-top",
|
|
34219
|
+
roleMap: folioRoles
|
|
34105
34220
|
}
|
|
34106
34221
|
]
|
|
34107
34222
|
};
|
|
@@ -34321,6 +34436,11 @@ const fulcrumOffers = [
|
|
|
34321
34436
|
treatment: "faq-columns",
|
|
34322
34437
|
roleMap: fulcrumRoles
|
|
34323
34438
|
},
|
|
34439
|
+
{
|
|
34440
|
+
id: id("faq-all-answers-showing"),
|
|
34441
|
+
treatment: "faq-open",
|
|
34442
|
+
roleMap: fulcrumRoles
|
|
34443
|
+
},
|
|
34324
34444
|
{
|
|
34325
34445
|
id: id("image-gallery-square-tiles"),
|
|
34326
34446
|
treatment: "gallery-tiles",
|
|
@@ -34340,6 +34460,21 @@ const fulcrumOffers = [
|
|
|
34340
34460
|
id: id("cta-centred"),
|
|
34341
34461
|
treatment: "cta-centred",
|
|
34342
34462
|
roleMap: fulcrumRoles
|
|
34463
|
+
},
|
|
34464
|
+
{
|
|
34465
|
+
id: id("cta-title-beside-buttons"),
|
|
34466
|
+
treatment: "cta-beside",
|
|
34467
|
+
roleMap: fulcrumRoles
|
|
34468
|
+
},
|
|
34469
|
+
{
|
|
34470
|
+
id: id("cta-figure-beside-offer"),
|
|
34471
|
+
treatment: "cta-figure",
|
|
34472
|
+
roleMap: fulcrumRoles
|
|
34473
|
+
},
|
|
34474
|
+
{
|
|
34475
|
+
id: id("card-list-photos-on-top"),
|
|
34476
|
+
treatment: "photos-on-top",
|
|
34477
|
+
roleMap: fulcrumRoles
|
|
34343
34478
|
}
|
|
34344
34479
|
];
|
|
34345
34480
|
const fulcrumLooks = {
|
|
@@ -34616,6 +34751,11 @@ const posterOffers = [
|
|
|
34616
34751
|
treatment: "faq-columns",
|
|
34617
34752
|
roleMap: posterRoles
|
|
34618
34753
|
},
|
|
34754
|
+
{
|
|
34755
|
+
id: id("faq-all-answers-showing"),
|
|
34756
|
+
treatment: "faq-open",
|
|
34757
|
+
roleMap: posterRoles
|
|
34758
|
+
},
|
|
34619
34759
|
{
|
|
34620
34760
|
id: id("image-gallery-square-tiles"),
|
|
34621
34761
|
treatment: "gallery-tiles",
|
|
@@ -34635,6 +34775,21 @@ const posterOffers = [
|
|
|
34635
34775
|
id: id("cta-centred"),
|
|
34636
34776
|
treatment: "cta-centred",
|
|
34637
34777
|
roleMap: posterRoles
|
|
34778
|
+
},
|
|
34779
|
+
{
|
|
34780
|
+
id: id("cta-title-beside-buttons"),
|
|
34781
|
+
treatment: "cta-beside",
|
|
34782
|
+
roleMap: posterRoles
|
|
34783
|
+
},
|
|
34784
|
+
{
|
|
34785
|
+
id: id("cta-figure-beside-offer"),
|
|
34786
|
+
treatment: "cta-figure",
|
|
34787
|
+
roleMap: posterRoles
|
|
34788
|
+
},
|
|
34789
|
+
{
|
|
34790
|
+
id: id("card-list-photos-on-top"),
|
|
34791
|
+
treatment: "photos-on-top",
|
|
34792
|
+
roleMap: posterRoles
|
|
34638
34793
|
}
|
|
34639
34794
|
];
|
|
34640
34795
|
const posterLooks = {
|
|
@@ -34983,6 +35138,11 @@ const lanternOffers = [
|
|
|
34983
35138
|
itemRoles: { items: "card" },
|
|
34984
35139
|
roleMap: lanternRoles
|
|
34985
35140
|
},
|
|
35141
|
+
{
|
|
35142
|
+
id: id("faq-all-answers-showing"),
|
|
35143
|
+
treatment: "faq-open",
|
|
35144
|
+
roleMap: lanternRoles
|
|
35145
|
+
},
|
|
34986
35146
|
{
|
|
34987
35147
|
id: id("image-gallery-lead-photo"),
|
|
34988
35148
|
treatment: "gallery-lead",
|
|
@@ -34992,6 +35152,21 @@ const lanternOffers = [
|
|
|
34992
35152
|
id: id("cta-centred"),
|
|
34993
35153
|
treatment: "cta-centred",
|
|
34994
35154
|
roleMap: lanternRoles
|
|
35155
|
+
},
|
|
35156
|
+
{
|
|
35157
|
+
id: id("cta-title-beside-buttons"),
|
|
35158
|
+
treatment: "cta-beside",
|
|
35159
|
+
roleMap: lanternRoles
|
|
35160
|
+
},
|
|
35161
|
+
{
|
|
35162
|
+
id: id("cta-figure-beside-offer"),
|
|
35163
|
+
treatment: "cta-figure",
|
|
35164
|
+
roleMap: lanternRoles
|
|
35165
|
+
},
|
|
35166
|
+
{
|
|
35167
|
+
id: id("card-list-photos-on-top"),
|
|
35168
|
+
treatment: "photos-on-top",
|
|
35169
|
+
roleMap: lanternRoles
|
|
34995
35170
|
}
|
|
34996
35171
|
];
|
|
34997
35172
|
const lanternLooks = {
|
|
@@ -35262,6 +35437,11 @@ const measureOffers = [
|
|
|
35262
35437
|
treatment: "faq-columns",
|
|
35263
35438
|
roleMap: measureRoles
|
|
35264
35439
|
},
|
|
35440
|
+
{
|
|
35441
|
+
id: id("faq-all-answers-showing"),
|
|
35442
|
+
treatment: "faq-open",
|
|
35443
|
+
roleMap: measureRoles
|
|
35444
|
+
},
|
|
35265
35445
|
{
|
|
35266
35446
|
id: id("image-gallery-square-tiles"),
|
|
35267
35447
|
treatment: "gallery-tiles",
|
|
@@ -35281,6 +35461,21 @@ const measureOffers = [
|
|
|
35281
35461
|
id: id("cta-centred"),
|
|
35282
35462
|
treatment: "cta-centred",
|
|
35283
35463
|
roleMap: measureRoles
|
|
35464
|
+
},
|
|
35465
|
+
{
|
|
35466
|
+
id: id("cta-title-beside-buttons"),
|
|
35467
|
+
treatment: "cta-beside",
|
|
35468
|
+
roleMap: measureRoles
|
|
35469
|
+
},
|
|
35470
|
+
{
|
|
35471
|
+
id: id("cta-figure-beside-offer"),
|
|
35472
|
+
treatment: "cta-figure",
|
|
35473
|
+
roleMap: measureRoles
|
|
35474
|
+
},
|
|
35475
|
+
{
|
|
35476
|
+
id: id("card-list-photos-on-top"),
|
|
35477
|
+
treatment: "photos-on-top",
|
|
35478
|
+
roleMap: measureRoles
|
|
35284
35479
|
}
|
|
35285
35480
|
];
|
|
35286
35481
|
const measureLooks = {
|
|
@@ -36397,8 +36592,10 @@ function arrangementManifestFromVariants(manifest) {
|
|
|
36397
36592
|
lookOnlyKeys: manifest.variantMeaning?.lookOnlyKeys
|
|
36398
36593
|
};
|
|
36399
36594
|
}
|
|
36595
|
+
/** A Look-only arrangement is never a default: a block whose only variants are Look-only keeps its plain layout. */
|
|
36400
36596
|
function manifestDefaultArrangement(manifest) {
|
|
36401
|
-
const
|
|
36597
|
+
const defaults = manifest.keys.filter((key$1) => !manifest.lookOnlyKeys?.includes(key$1));
|
|
36598
|
+
const key = manifest.defaultKey !== null && defaults.includes(manifest.defaultKey) ? manifest.defaultKey : defaults[0];
|
|
36402
36599
|
return key === undefined ? null : asLayoutVariantKey(key);
|
|
36403
36600
|
}
|
|
36404
36601
|
/** A declared secondary axis shares the arrangement rule, without rewriting content. */
|
|
@@ -36486,7 +36683,8 @@ function formatLayoutVariantLabel(variantKey) {
|
|
|
36486
36683
|
function editorLayoutManifest(block, first) {
|
|
36487
36684
|
return {
|
|
36488
36685
|
keys: block.layoutVariantKeys ?? block.designMetadata?.layoutProfiles.map((profile) => profile.variantKey) ?? [],
|
|
36489
|
-
defaultKey: block.defaultLayoutVariantKey ?? first?.id ?? null
|
|
36686
|
+
defaultKey: block.defaultLayoutVariantKey ?? first?.id ?? null,
|
|
36687
|
+
lookOnlyKeys: block.variantMeaning?.lookOnlyKeys
|
|
36490
36688
|
};
|
|
36491
36689
|
}
|
|
36492
36690
|
|
|
@@ -36789,62 +36987,51 @@ function layoutFamilyForEffectiveSelection(block) {
|
|
|
36789
36987
|
return block.availableLayouts.find((layout) => layout.id === effectiveLayout)?.profile.layoutFamily ?? null;
|
|
36790
36988
|
}
|
|
36791
36989
|
function planPageDesignLayoutLookCompatibility(block, layoutVariantKey) {
|
|
36792
|
-
|
|
36793
|
-
if (!layout) {
|
|
36990
|
+
if (!block.availableLayouts.some((option) => option.id === layoutVariantKey)) {
|
|
36794
36991
|
return {
|
|
36795
36992
|
kind: "layout-unavailable",
|
|
36796
36993
|
layoutVariantKey
|
|
36797
36994
|
};
|
|
36798
36995
|
}
|
|
36799
36996
|
const availableLooks = availableLooksForLayout(block.availableLooksByLayout, layoutVariantKey);
|
|
36800
|
-
const
|
|
36801
|
-
|
|
36802
|
-
kind: "
|
|
36803
|
-
|
|
36804
|
-
|
|
36805
|
-
|
|
36806
|
-
|
|
36807
|
-
|
|
36808
|
-
|
|
36809
|
-
|
|
36997
|
+
const autoLookId = block.availableLooksByLayout.find((entry) => entry.layoutVariantKey === layoutVariantKey)?.autoLookId ?? null;
|
|
36998
|
+
return {
|
|
36999
|
+
kind: "layout-supported",
|
|
37000
|
+
layout: {
|
|
37001
|
+
kind: "selected",
|
|
37002
|
+
value: layoutVariantKey,
|
|
37003
|
+
status: "supported",
|
|
37004
|
+
effectiveValue: layoutVariantKey
|
|
37005
|
+
},
|
|
37006
|
+
layoutChoice: userPinnedEditorChoice(layoutVariantKey),
|
|
37007
|
+
availableLooks,
|
|
37008
|
+
autoLookId,
|
|
37009
|
+
lookAvailability: block.lookAvailability.kind === "not-applicable" ? block.lookAvailability : availableLooks.length > 0 ? { kind: "available" } : {
|
|
37010
|
+
kind: "misconfigured",
|
|
37011
|
+
reason: "empty-look-catalog"
|
|
37012
|
+
},
|
|
37013
|
+
...compatibleLookIntent(block.look, availableLooks, autoLookId)
|
|
36810
37014
|
};
|
|
36811
|
-
|
|
37015
|
+
}
|
|
37016
|
+
/** Preserve an available pin; an incompatible pin returns to the layout's automatic Look. */
|
|
37017
|
+
function compatibleLookIntent(look, availableLooks, autoLookId) {
|
|
37018
|
+
if (look.kind === "auto") {
|
|
36812
37019
|
return {
|
|
36813
|
-
|
|
36814
|
-
layout: layoutSelection,
|
|
36815
|
-
availableLooks,
|
|
36816
|
-
autoLookId: defaultLookId,
|
|
36817
|
-
lookAvailability,
|
|
36818
|
-
look: autoEditorChoice(defaultLookId),
|
|
37020
|
+
look: autoEditorChoice(autoLookId),
|
|
36819
37021
|
lookIntentChange: { kind: "preserve-auto" }
|
|
36820
37022
|
};
|
|
36821
37023
|
}
|
|
36822
|
-
|
|
36823
|
-
|
|
36824
|
-
|
|
36825
|
-
|
|
36826
|
-
|
|
36827
|
-
|
|
36828
|
-
|
|
36829
|
-
|
|
36830
|
-
lookAvailability,
|
|
36831
|
-
look: userPinnedEditorChoice(pinnedLook.value),
|
|
36832
|
-
lookIntentChange: {
|
|
36833
|
-
kind: "preserve-supported-pin",
|
|
36834
|
-
appearancePresetId: pinnedLook.value
|
|
36835
|
-
}
|
|
36836
|
-
};
|
|
36837
|
-
}
|
|
36838
|
-
return {
|
|
36839
|
-
kind: "layout-supported",
|
|
36840
|
-
layout: layoutSelection,
|
|
36841
|
-
availableLooks,
|
|
36842
|
-
autoLookId: defaultLookId,
|
|
36843
|
-
lookAvailability,
|
|
36844
|
-
look: autoEditorChoice(defaultLookId),
|
|
37024
|
+
return availableLooks.some((option) => option.id === look.value) ? {
|
|
37025
|
+
look: userPinnedEditorChoice(look.value),
|
|
37026
|
+
lookIntentChange: {
|
|
37027
|
+
kind: "preserve-supported-pin",
|
|
37028
|
+
appearancePresetId: look.value
|
|
37029
|
+
}
|
|
37030
|
+
} : {
|
|
37031
|
+
look: autoEditorChoice(autoLookId),
|
|
36845
37032
|
lookIntentChange: {
|
|
36846
37033
|
kind: "reset-incompatible-pin",
|
|
36847
|
-
previousAppearancePresetId:
|
|
37034
|
+
previousAppearancePresetId: look.value
|
|
36848
37035
|
}
|
|
36849
37036
|
};
|
|
36850
37037
|
}
|
|
@@ -44428,6 +44615,15 @@ const siteBusinessAddressSchema = z.object({
|
|
|
44428
44615
|
lat: z.number().gte(-90).lte(90),
|
|
44429
44616
|
lng: z.number().gte(-180).lte(180)
|
|
44430
44617
|
}).strict();
|
|
44618
|
+
const openingHoursSchema = z.unknown().transform((value, ctx) => {
|
|
44619
|
+
const parsed = parseWeeklyOpeningHours(value);
|
|
44620
|
+
if (parsed.ok) return parsed.value;
|
|
44621
|
+
ctx.addIssue({
|
|
44622
|
+
code: "custom",
|
|
44623
|
+
message: parsed.error.message
|
|
44624
|
+
});
|
|
44625
|
+
return z.NEVER;
|
|
44626
|
+
});
|
|
44431
44627
|
/** Configures site-level metadata that must be available before content commands run. */
|
|
44432
44628
|
const configureSiteIdentityCommandSchema = z.object({
|
|
44433
44629
|
type: z.literal("configureSiteIdentity"),
|
|
@@ -44442,6 +44638,7 @@ const configureSiteIdentityCommandSchema = z.object({
|
|
|
44442
44638
|
"noindex_demo"
|
|
44443
44639
|
]).optional(),
|
|
44444
44640
|
contact: siteContactSchema.optional(),
|
|
44641
|
+
openingHours: openingHoursSchema.nullable().optional(),
|
|
44445
44642
|
businessAddress: siteBusinessAddressSchema.optional(),
|
|
44446
44643
|
privacyPolicy: z.literal("published").optional()
|
|
44447
44644
|
}).strict()
|
|
@@ -45030,6 +45227,7 @@ const seedPortalOrderCommandSchema = z.object({
|
|
|
45030
45227
|
}).strict().superRefine(validatePortalOrder)
|
|
45031
45228
|
}).strict();
|
|
45032
45229
|
const appointmentServiceCommonInputFields = {
|
|
45230
|
+
imageRef: resourceRefSchema("media").nullable().optional(),
|
|
45033
45231
|
title: z.string().trim().min(1),
|
|
45034
45232
|
description: z.string().nullable().optional(),
|
|
45035
45233
|
durationMinutes: z.number().int().min(5).max(24 * 60),
|
|
@@ -46586,10 +46784,13 @@ function bookingCommandRefContributions(command) {
|
|
|
46586
46784
|
case "seedBookingCustomer":
|
|
46587
46785
|
case "upsertAppointmentServiceCategory":
|
|
46588
46786
|
case "upsertBookableResource": return provided(command.ref);
|
|
46589
|
-
case "upsertAppointmentService": return providedWithRequirements(command.ref, command.input.categoryRef === undefined ? [] : [{
|
|
46787
|
+
case "upsertAppointmentService": return providedWithRequirements(command.ref, [...command.input.categoryRef === undefined ? [] : [{
|
|
46590
46788
|
ref: command.input.categoryRef,
|
|
46591
46789
|
field: "input.categoryRef"
|
|
46592
|
-
}]
|
|
46790
|
+
}], ...command.input.imageRef == null ? [] : [{
|
|
46791
|
+
ref: command.input.imageRef,
|
|
46792
|
+
field: "input.imageRef"
|
|
46793
|
+
}]]);
|
|
46593
46794
|
case "upsertBookingPassProduct": return {
|
|
46594
46795
|
...provided(command.ref),
|
|
46595
46796
|
requires: command.input.appointmentScope?.mode === "selected_services" ? command.input.appointmentScope.serviceRefs.map((ref, index) => ({
|
|
@@ -47661,6 +47862,16 @@ function venueManagementFields(command) {
|
|
|
47661
47862
|
};
|
|
47662
47863
|
}
|
|
47663
47864
|
|
|
47865
|
+
//#endregion
|
|
47866
|
+
//#region ../site-commands/src/pageSeo.ts
|
|
47867
|
+
/** Effective metadata written by a page upsert, shared with CLI previews. */
|
|
47868
|
+
function resolvePageUpsertSeo(input) {
|
|
47869
|
+
return {
|
|
47870
|
+
seoTitle: input.seoTitle ?? input.title,
|
|
47871
|
+
seoDescription: input.seoDescription ?? null
|
|
47872
|
+
};
|
|
47873
|
+
}
|
|
47874
|
+
|
|
47664
47875
|
//#endregion
|
|
47665
47876
|
//#region ../api/src/event-visibility.ts
|
|
47666
47877
|
const EVENT_VISIBILITY_VALUES = ["public", "unlisted"];
|
|
@@ -47669,6 +47880,13 @@ function isEventVisibility(value) {
|
|
|
47669
47880
|
return value === "public" || value === "unlisted";
|
|
47670
47881
|
}
|
|
47671
47882
|
const eventVisibilitySchema = z.enum(EVENT_VISIBILITY_VALUES, { error: EVENT_VISIBILITY_ERROR_MESSAGE });
|
|
47883
|
+
/** Archived runs do not advertise a page. Announced and informational runs do.
|
|
47884
|
+
* Empty pages and unavailable run facts keep their existing indexing behavior.
|
|
47885
|
+
*/
|
|
47886
|
+
function isUnlistedEventPage(linkedRuns) {
|
|
47887
|
+
const pageRuns = linkedRuns.filter((run) => run?.status !== "archived");
|
|
47888
|
+
return pageRuns.length > 0 && pageRuns.every((run) => run?.visibility === "unlisted");
|
|
47889
|
+
}
|
|
47672
47890
|
|
|
47673
47891
|
//#endregion
|
|
47674
47892
|
//#region ../blocks/src/system/types/link.ts
|
|
@@ -48268,4 +48486,4 @@ function parseSdkEventRunUpsertInput(input, runIndex, options) {
|
|
|
48268
48486
|
}
|
|
48269
48487
|
|
|
48270
48488
|
//#endregion
|
|
48271
|
-
export {
|
|
48489
|
+
export { createFormRef as $, managementMediaLibraryUploadLimitForMimeType as $n, parseThemeColorToken as $r, pageDesignIntentSchemaVersion as $t, getSiteCommandMetadata as A, mediaPosterSchema as An, surfaceDecorationColors as Ar, BREAKPOINT_MD as At, eventBookingOfferIntentSchema as B, parseMediaIdentifier as Bn, resolveOnColorForThemeToken as Br, themeButtonExtraClassesWithTrailingIcon as Bt, sortRecord as C, isExplicitRectCrop as Cn, makeBoundaryId as Cr, deriveSiteStyleBlockPolicy as Ct, mapEventCommandContent as D, getDirectImageUrlForSiteScopedPath as Dn, toNonEmptyReadonlyArray as Dr, getHeaderPaintTargets as Dt, parseAndPlanCommandBatchForTypes as E, getDirectImageUrlForRelativePath as En, tileTreatmentValues as Er, generateMobileOverlayBackdropFilterFix as Et, pageIdentifierForBlockCommand as F, resolveManagedMediaReference as Fn, mergeStyles as Fr, getComponentBorderWidthPx as Ft, ianaTimezoneSchema as G, getExtensionForMimeType as Gn, surfaceToneFromForegroundToken as Gr, footerForegroundCandidates as Gt, bookingPaymentTermsSchema as H, slugifyMediaIdentifier as Hn, resolveTokenOrCssColorValue as Hr, themeButtonVariantClassNames as Ht, pageIdentifierForCommand as I, mediaTypeDiscriminants as In, rgbColorValue as Ir, getComponentShadowVar as It, createCommandRef as J, normalizeAmbiguousStoragePathForSite as Jn, surfaceForegroundInputFromResolved as Jr, arrangementLookHooks as Jt, createBlockRef as K, getMimeType as Kn, defaultThemeTokens as Kr, buildTextContrastShadow as Kt, pagePathForCommand as L, mediaIdentifierSchema as Ln, textColorStyle as Lr, ICON_CONFIG as Lt, blockIdentifierForCommand as M, persistableMediaSchema as Mn, TokenResolver as Mr, BREAKPOINT_XL as Mt, blockOrderIdentifiersForCommand as N, runtimeMediaSchema as Nn, backgroundColorStyle as Nr, MQ_MD_DOWN as Nt, evaluateSiteCommandBatchExposure as O, getImageUrl as On, visibleHeadingDecorationFamilyValues as Or, renderHeaderPaintTargetRules as Ot, entryIdentifierForCommand as P, buildRenderableMediaAssetIndex as Pn, borderColorStyle as Pr, headerVariantValues as Pt, createFooterRef as Q, classifyKnownMimeType as Qn, getTextColorForBackground as Qr, pageDesignBoundaryTreatmentSchema as Qt, hasConfiguredBookingVertical as R, buildMediaIdentifierFromFilename as Rn, opaqueSurfaceDeclarations as Rr, generateDefaultButtonSystem as Rt, venueManagementFields as S, normalizeWidthCandidates as Sn, introCompositionTreatmentValues as Sr, parseGradientPresetId as St, createDryRunReport as T, resolveMediaTransformForAspect as Tn, testimonialsCompositionTreatmentValues as Tr, generateHeaderScrollTreatmentStyles as Tt, require_jsx_runtime as U, deriveVideoSlotPolicy as Un, PUBLIC_BUTTON_ROLES as Ur, parseThemeForPersistence as Ut, bookingPaymentCollectionOptionSchema as V, resolveMediaIdentifier as Vn, resolveThemeColorReferenceValue as Vr, themeButtonSizeClassName as Vt, require_react as W, resolveVideoSelectionIntentForMediaField as Wn, selectLogoVariant as Wr, buttonStyleSelectionSchema as Wt, createEventCategoryRef as X, FILE_SIZE_LIMITS as Xn, surfaceForegroundValue as Xr, resolveItemSurface as Xt, createContentEntryRef as Y, parseRelativeStoragePath as Yn, surfaceForegroundStyle as Yr, arrangementSlotNames as Yt, createEventSeriesRef as Z, MAX_MANAGEMENT_MEDIA_UPLOAD_BYTES as Zn, expandPalette as Zr, resolveLookSlotSurfaces as Zt, normalizeLinkValue as _, summarizePortableMediaReferences as _n, defineNoBlockDesignCapability as _r, resolvePublishedLook as _t, classifySdkEventSchedule as a, deriveSectionGround as an, defineBlockDesignMetadata as ar, slugPart as at, isEventVisibility as b, looksLikeUuid as bn, featureCardCompositionTreatmentValues as br, gradientToCss as bt, customLinkSchema as c, resolveSectionBackground as cn, cardListKnobBlocks as cr, headerLeafTextColor as ct, internalLinkSchema as d, boxBackgroundOverlaySchema as dn, asLayoutVariantKey as dr, mergeHeaderNavTypographyPreference as dt, parseBlockColorToken as ei, footerPreferencesSchema as en, parseSafeDownloadFilename as er, createNavigationRef as et, internalResolvedLinkSchema as f, boxBackgroundSchema as fn, asPageFlowPresetId as fr, readHeaderNavFontSizePreference as ft, linkSchema as g, collectPortableMediaReferencesFromContent as gn, defineFrameCapability as gr, resolveModeArrangement as gt, isResolvedInternalLinkEntityType as h, stripStaleTransitionStyleGroup as hn, defineBlockDesignCapability as hr, resolveEffectiveArrangement as ht, sdkEventUpsertOptionalFieldSchemas as i, sectionFactsForContent as in, normalizeCardRole as ir, refSlug as it, eventManagementTiming as j, mediaSchema as jn, resolveSurfaceForeground as jr, BREAKPOINT_SM as jt, evaluateSiteCommandExposure as k, isSiteScopedDirectImageStoragePath as kn, resolveSurface as kr, BREAKPOINT_LG as kt, entryLinkSchema as l, resolveSectionPhotoPlacement as ln, asAppearancePresetId as lr, transparentHeaderForegroundInput as lt, isInternalResolvedLinkValue as m, siteChromeBackgroundOverrideOwner as mn, assertNever$1 as mr, readStoredMode as mt, sdkCourseBookingSettingsSchema as n, __toESM as ni, boundaryLayout as nn, cardRoleSchema as nr, createSiteCommandSiteRef as nt, classifySdkEventBookingOffer as o, heroPhotoPaintsGround as on, resolveEffectiveKnobs as or, effectiveHeaderNavLinkStyle as ot, internalRouteOnlyLinkSchema as p, runtimeBoxBackgroundSchema as pn, asSiteStyleId as pr, arrangementManifestFromVariants as pt, createBlocksRef as q, asRecord as qn, surfaceForegroundDeclarations as qr, generateNavLinkCSS as qt, sdkEventOccurrenceInputSchema as r, composeBoundary as rn, cardVariantRoleValues as rr, createVenueRef as rt, RESOLVED_INTERNAL_LINK_ENTITY_TYPES as s, parseCanonicalRuntimeBackground as sn, cardListFamilyBlocks as sr, headerForegroundCandidates as st, classifySdkEventTiming as t, __commonJSMin as ti, headerRootPaint as tn, renderCssDeclarations as tr, createPageRef as tt, externalLinkSchema as u, sectionForegroundBackground as un, asDesignBlockId as ur, readOpeningForegroundProjection as ut, pageLinkSchema as v, walkAndCollectImageAttrs as vn, eventListTreatmentValues as vr, requireCuratedSiteStyle as vt, stableStringify as w, parseAspectRatioValue as wn, offeringsPreviewCompositionTreatmentValues as wr, themeSchema as wt, resolvePageUpsertSeo as x, rotateNormalizedPoint as xn, headingDecorationColorTokenValues as xr, getGradientPreset as xt, eventVisibilitySchema as y, deleteEnvSpecificKeys as yn, eyebrowTreatmentValues as yr, compiledRuntimeStyleFieldNames as yt, eventCommandScheduleSchema as z, parseCanonicalMediaIdentifier as zn, isCssColorLiteral as zr, parseThemeButtonVariantId as zt };
|