riverbankcms 0.20.0 → 0.22.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/acceptance/matrix.mjs +4 -4
- package/dist/cli/index.mjs +62948 -699
- package/dist/cli/init-docs/content/getting-started.md +43 -0
- package/dist/entryCommands-CoGu0G2R.mjs +23205 -0
- package/dist/{eventUpsertInputSchema-VVBVGA6x.mjs → eventUpsertInputSchema-B0ubhUu5.mjs} +239 -7
- package/dist/load-config-Kg45qY-N.mjs +4 -0
- package/dist/{load-config-gqUEjIyB.mjs → load-config-j58KSqxl.mjs} +3 -3
- package/dist/{plan-HAEMHc5T.mjs → plan-C4IphkPc.mjs} +41 -3
- package/dist/scaffold/index.mjs +2 -2
- package/dist/{richTextSchema-DTvrDDF5.mjs → sdk-event-upsert-BqjzK2zT.mjs} +505 -304
- package/dist/{src-Dixcv4PB.mjs → src-zzwJUef5.mjs} +175 -27
- package/dist/testing.mjs +4 -4
- package/package.json +2 -2
- package/dist/entryCommands-8kDjOex0.mjs +0 -111695
- package/dist/load-config-Cut7_6t_.mjs +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { An as
|
|
2
|
+
import { An as unsafeAsSafeDownloadFilename, B as isPresent, Bn as ok, Bt as mapReadonlyNonEmptyArray, C as stableJsonStringify, Dn as unsafeAsPositiveSeconds, En as unsafeAsPositiveByteCount, Fn as unsafeAsStorageBucketName, In as unsafeAsStoragePath, L as isCanonicalRichTextDoc, Ln as unsafeAsUploadSessionId, M as parseFooterCompositionV1, Mn as unsafeAsSiteId, N as footerNavigationLayouts, Nn as unsafeAsSiteScopedStoragePath, R as parsePublicContactDetails, Rn as unsafeAsUserId, Rt as fromArray, Sn as unsafeAsMediaAssetId, Xt as assertNever, _n as unsafeAsEntitlementId, at as localScheduleTimePattern, c as resolveSiteVerticalBookingConfig, d as ORDINARY_EVENT_PRESET_VALUES, dn as unsafeAsBookingRequirementId, fn as unsafeAsBookingSessionId, gn as unsafeAsDetectedMimeType, jn as unsafeAsSiteFontId, kn as unsafeAsProductId, mn as unsafeAsDeclaredMimeType, mt as validateBookingPaymentOptionKinds, pt as parseBookingTimeZone, r as NAVIGATION_LOCATIONS, rn as parseMediaAssetId, sn as parseSiteId, st as parseUtcIsoDateTimeString, u as EVENT_PRESET_VALUES, wn as unsafeAsOriginalFilename, xn as unsafeAsFileChecksumSha256, zn as err, zt as mapNonEmptyArray } from "./src-zzwJUef5.mjs";
|
|
3
3
|
import "node:module";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
|
|
@@ -4903,7 +4903,8 @@ const cardListItemParts = [
|
|
|
4903
4903
|
"schedule",
|
|
4904
4904
|
"dates",
|
|
4905
4905
|
"availability",
|
|
4906
|
-
"action"
|
|
4906
|
+
"action",
|
|
4907
|
+
"price"
|
|
4907
4908
|
];
|
|
4908
4909
|
/** Block supply is capability, never a second Look catalogue. */
|
|
4909
4910
|
const cardListBlockParts = {
|
|
@@ -4913,13 +4914,39 @@ const cardListBlockParts = {
|
|
|
4913
4914
|
"text",
|
|
4914
4915
|
"action"
|
|
4915
4916
|
],
|
|
4916
|
-
"block.offerings-preview":
|
|
4917
|
+
"block.offerings-preview": [
|
|
4918
|
+
"media",
|
|
4919
|
+
"title",
|
|
4920
|
+
"text",
|
|
4921
|
+
"facts",
|
|
4922
|
+
"chips",
|
|
4923
|
+
"numeral",
|
|
4924
|
+
"schedule",
|
|
4925
|
+
"dates",
|
|
4926
|
+
"availability",
|
|
4927
|
+
"action"
|
|
4928
|
+
],
|
|
4917
4929
|
"block.appointment-services": [
|
|
4918
4930
|
"media",
|
|
4919
4931
|
"title",
|
|
4920
4932
|
"text",
|
|
4921
4933
|
"facts",
|
|
4922
4934
|
"action"
|
|
4935
|
+
],
|
|
4936
|
+
"block.team-members": [
|
|
4937
|
+
"media",
|
|
4938
|
+
"title",
|
|
4939
|
+
"text",
|
|
4940
|
+
"facts",
|
|
4941
|
+
"chips",
|
|
4942
|
+
"action"
|
|
4943
|
+
],
|
|
4944
|
+
"block.shop": [
|
|
4945
|
+
"title",
|
|
4946
|
+
"text",
|
|
4947
|
+
"facts",
|
|
4948
|
+
"price",
|
|
4949
|
+
"action"
|
|
4923
4950
|
]
|
|
4924
4951
|
};
|
|
4925
4952
|
const cardListFamilyBlocks = Object.keys(cardListBlockParts);
|
|
@@ -5010,7 +5037,9 @@ const arrangementLookTargets = {
|
|
|
5010
5037
|
"image-gallery": "image-gallery",
|
|
5011
5038
|
"newsletter-signup": "newsletter",
|
|
5012
5039
|
form: "contact-form",
|
|
5013
|
-
"body-text": "body-text"
|
|
5040
|
+
"body-text": "body-text",
|
|
5041
|
+
faq: "faq",
|
|
5042
|
+
"cta-full": "cta"
|
|
5014
5043
|
};
|
|
5015
5044
|
function defineArrangementLook(id$2, block, name, arrangement, knobs, input = {}) {
|
|
5016
5045
|
const mode = block === "event-calendar" ? "list" : null;
|
|
@@ -6162,6 +6191,98 @@ const blockAppearancePresets = [
|
|
|
6162
6191
|
dates: "summary"
|
|
6163
6192
|
},
|
|
6164
6193
|
styleFallback: [id$1("feature-cards-cards")]
|
|
6194
|
+
}),
|
|
6195
|
+
defineArrangementLook("body-text-title-beside", "body-text", "Title beside the text", "prose", [], { styleFallback: [id$1("body-text-reading-column")] }),
|
|
6196
|
+
defineArrangementLook("body-text-large-opening", "body-text", "Large opening paragraph", "prose", [], { styleFallback: [id$1("body-text-reading-column")] }),
|
|
6197
|
+
defineArrangementLook("faq-questions-under-title", "faq", "Questions under the title", "default", []),
|
|
6198
|
+
defineArrangementLook("faq-title-beside-questions", "faq", "Title beside the questions", "two-column", [], { styleFallback: [id$1("faq-questions-under-title")] }),
|
|
6199
|
+
defineArrangementLook("faq-questions-two-columns", "faq", "Questions in two columns", "question-columns", [], { styleFallback: [id$1("faq-questions-under-title")] }),
|
|
6200
|
+
defineArrangementLook("image-gallery-lead-photo", "image-gallery", "One large photo, then smaller ones", "tiles", [], { styleFallback: [id$1("image-gallery-square-tiles")] }),
|
|
6201
|
+
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
|
+
defineArrangementLook("cta-centred", "cta-full", "Centred, buttons below", "default", []),
|
|
6203
|
+
{
|
|
6204
|
+
...defineCardListLook("team-members-tall-portraits", "Tall portraits in a row", "cards", [
|
|
6205
|
+
"media",
|
|
6206
|
+
"title",
|
|
6207
|
+
"text",
|
|
6208
|
+
"facts",
|
|
6209
|
+
"chips",
|
|
6210
|
+
"action"
|
|
6211
|
+
], ["showPhotos"], {
|
|
6212
|
+
knobDefaults: { actionStyle: "link" },
|
|
6213
|
+
styleFallback: [id$1("team-members-ruled-names")]
|
|
6214
|
+
}),
|
|
6215
|
+
blockKinds: ["block.team-members"]
|
|
6216
|
+
},
|
|
6217
|
+
{
|
|
6218
|
+
...defineCardListLook("team-members-portrait-bio", "Portrait beside a longer bio", "stack", [
|
|
6219
|
+
"media",
|
|
6220
|
+
"title",
|
|
6221
|
+
"text",
|
|
6222
|
+
"facts",
|
|
6223
|
+
"chips",
|
|
6224
|
+
"action"
|
|
6225
|
+
], ["showPhotos"], {
|
|
6226
|
+
teamBiography: "profile",
|
|
6227
|
+
knobDefaults: { actionStyle: "link" },
|
|
6228
|
+
styleFallback: [id$1("team-members-tall-portraits")]
|
|
6229
|
+
}),
|
|
6230
|
+
blockKinds: ["block.team-members"]
|
|
6231
|
+
},
|
|
6232
|
+
{
|
|
6233
|
+
...defineCardListLook("team-members-ruled-names", "Names in a ruled list", "index", [
|
|
6234
|
+
"title",
|
|
6235
|
+
"text",
|
|
6236
|
+
"facts",
|
|
6237
|
+
"chips",
|
|
6238
|
+
"action"
|
|
6239
|
+
], [], {
|
|
6240
|
+
forcedKnobs: {
|
|
6241
|
+
showPhotos: "false",
|
|
6242
|
+
cardMarker: "none"
|
|
6243
|
+
},
|
|
6244
|
+
knobDefaults: { actionStyle: "link" },
|
|
6245
|
+
styleFallback: [id$1("feature-cards-index")]
|
|
6246
|
+
}),
|
|
6247
|
+
blockKinds: ["block.team-members"]
|
|
6248
|
+
},
|
|
6249
|
+
defineCardListLook("shop-price-cards", "Price cards", "cards", [
|
|
6250
|
+
"title",
|
|
6251
|
+
"text",
|
|
6252
|
+
"facts",
|
|
6253
|
+
"price",
|
|
6254
|
+
"action"
|
|
6255
|
+
], [], {
|
|
6256
|
+
itemRoles: { items: "card" },
|
|
6257
|
+
styleFallback: [id$1("shop-ruled-prices")]
|
|
6258
|
+
}),
|
|
6259
|
+
defineCardListLook("shop-price-cards-featured", "Price cards, one featured", "cards", [
|
|
6260
|
+
"title",
|
|
6261
|
+
"text",
|
|
6262
|
+
"facts",
|
|
6263
|
+
"price",
|
|
6264
|
+
"action"
|
|
6265
|
+
], [], {
|
|
6266
|
+
itemRoles: {
|
|
6267
|
+
items: "card",
|
|
6268
|
+
featured: "statement"
|
|
6269
|
+
},
|
|
6270
|
+
whenMissing: [{
|
|
6271
|
+
fact: "featured",
|
|
6272
|
+
look: id$1("shop-price-cards")
|
|
6273
|
+
}],
|
|
6274
|
+
styleFallback: [id$1("shop-price-cards")]
|
|
6275
|
+
}),
|
|
6276
|
+
defineCardListLook("shop-ruled-prices", "Prices in a ruled list", "index", [
|
|
6277
|
+
"title",
|
|
6278
|
+
"text",
|
|
6279
|
+
"facts",
|
|
6280
|
+
"price",
|
|
6281
|
+
"action"
|
|
6282
|
+
], [], {
|
|
6283
|
+
forcedKnobs: { cardMarker: "none" },
|
|
6284
|
+
knobDefaults: { actionStyle: "link" },
|
|
6285
|
+
styleFallback: [id$1("feature-cards-index")]
|
|
6165
6286
|
})
|
|
6166
6287
|
];
|
|
6167
6288
|
|
|
@@ -8763,11 +8884,11 @@ function isVideoPosterFileAssetSource(source) {
|
|
|
8763
8884
|
|
|
8764
8885
|
//#endregion
|
|
8765
8886
|
//#region ../media-core/src/typeGuards.ts
|
|
8766
|
-
function isRecord$
|
|
8887
|
+
function isRecord$3(value) {
|
|
8767
8888
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
8768
8889
|
}
|
|
8769
|
-
function asRecord
|
|
8770
|
-
return isRecord$
|
|
8890
|
+
function asRecord(value) {
|
|
8891
|
+
return isRecord$3(value) ? value : undefined;
|
|
8771
8892
|
}
|
|
8772
8893
|
|
|
8773
8894
|
//#endregion
|
|
@@ -9698,7 +9819,7 @@ function parseTaggedObject(value, allowed) {
|
|
|
9698
9819
|
return parseOneOf(record.value.tag, allowed);
|
|
9699
9820
|
}
|
|
9700
9821
|
function requireRecord(value) {
|
|
9701
|
-
if (!isRecord$
|
|
9822
|
+
if (!isRecord$3(value)) return err("expected-object");
|
|
9702
9823
|
return ok(value);
|
|
9703
9824
|
}
|
|
9704
9825
|
function requireString(value) {
|
|
@@ -9909,7 +10030,7 @@ function parseOptionalRowExif(value) {
|
|
|
9909
10030
|
if (value === null || value === undefined) {
|
|
9910
10031
|
return ok(undefined);
|
|
9911
10032
|
}
|
|
9912
|
-
if (!isRecord$
|
|
10033
|
+
if (!isRecord$3(value) || !isFileJsonObject(value)) {
|
|
9913
10034
|
return err({
|
|
9914
10035
|
tag: "invalid-exif",
|
|
9915
10036
|
error: "expected-object"
|
|
@@ -9983,7 +10104,7 @@ function isFileJsonValue(value) {
|
|
|
9983
10104
|
if (Array.isArray(value)) {
|
|
9984
10105
|
return value.every(isFileJsonValue);
|
|
9985
10106
|
}
|
|
9986
|
-
return isRecord$
|
|
10107
|
+
return isRecord$3(value) && isFileJsonObject(value);
|
|
9987
10108
|
}
|
|
9988
10109
|
function emptyStatePatch(patch) {
|
|
9989
10110
|
return {
|
|
@@ -12562,7 +12683,7 @@ function isCmsMediaObjectType(value) {
|
|
|
12562
12683
|
return mediaTypeDiscriminants.some((type) => type === value);
|
|
12563
12684
|
}
|
|
12564
12685
|
function isCmsMediaObject(value) {
|
|
12565
|
-
if (!isRecord$
|
|
12686
|
+
if (!isRecord$3(value)) return false;
|
|
12566
12687
|
if (value.tag === "media") return true;
|
|
12567
12688
|
const type = value.type;
|
|
12568
12689
|
if (!isCmsMediaObjectType(type)) return false;
|
|
@@ -12581,7 +12702,7 @@ function collectMediaObjects(value, out, location = "") {
|
|
|
12581
12702
|
value.forEach((item, index) => collectMediaObjects(item, out, `${location}[${index}]`));
|
|
12582
12703
|
return;
|
|
12583
12704
|
}
|
|
12584
|
-
if (!isRecord$
|
|
12705
|
+
if (!isRecord$3(value)) return;
|
|
12585
12706
|
if (isCmsMediaObject(value)) {
|
|
12586
12707
|
out.push({
|
|
12587
12708
|
obj: value,
|
|
@@ -12641,7 +12762,7 @@ function scanForMediaAssetUsage(value, tokens) {
|
|
|
12641
12762
|
for (const item of node) visit(item);
|
|
12642
12763
|
return;
|
|
12643
12764
|
}
|
|
12644
|
-
if (!isRecord$
|
|
12765
|
+
if (!isRecord$3(node)) return;
|
|
12645
12766
|
for (const [key, child] of Object.entries(node)) {
|
|
12646
12767
|
if (typeof child === "string") {
|
|
12647
12768
|
switch (key) {
|
|
@@ -12753,8 +12874,8 @@ function walkAndCollectImageAttrs(value, out, location = "") {
|
|
|
12753
12874
|
value.forEach((item, index) => walkAndCollectImageAttrs(item, out, `${location}[${index}]`));
|
|
12754
12875
|
return;
|
|
12755
12876
|
}
|
|
12756
|
-
if (!isRecord$
|
|
12757
|
-
if (value.type === "image" && isRecord$
|
|
12877
|
+
if (!isRecord$3(value)) return;
|
|
12878
|
+
if (value.type === "image" && isRecord$3(value.attrs)) {
|
|
12758
12879
|
out.push({
|
|
12759
12880
|
attrs: value.attrs,
|
|
12760
12881
|
location: location ? `${location}.attrs` : "attrs"
|
|
@@ -12951,7 +13072,7 @@ function resolvePortableMediaReferences(references, lookup) {
|
|
|
12951
13072
|
|
|
12952
13073
|
//#endregion
|
|
12953
13074
|
//#region ../media-core/src/contentMediaAudit.ts
|
|
12954
|
-
function isRecord$
|
|
13075
|
+
function isRecord$5(value) {
|
|
12955
13076
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
12956
13077
|
}
|
|
12957
13078
|
function formatContentFieldPath(path) {
|
|
@@ -12965,11 +13086,11 @@ function summarizeContentMediaValue(value) {
|
|
|
12965
13086
|
}
|
|
12966
13087
|
if (value === null) return "null";
|
|
12967
13088
|
if (Array.isArray(value)) return `array(${value.length})`;
|
|
12968
|
-
if (isRecord$
|
|
13089
|
+
if (isRecord$5(value)) return `object(${Object.keys(value).sort().join(",")})`;
|
|
12969
13090
|
return typeof value;
|
|
12970
13091
|
}
|
|
12971
13092
|
function isPortableMediaValue(value, allowedMediaTypes$1) {
|
|
12972
|
-
if (!isRecord$
|
|
13093
|
+
if (!isRecord$5(value) || !parseCanonicalMediaIdentifier(value.identifier).ok) return false;
|
|
12973
13094
|
const type = value.type ?? allowedMediaTypes$1[0];
|
|
12974
13095
|
const validType = allowedMediaTypes$1.some((allowed) => allowed === type);
|
|
12975
13096
|
const hasEnvironmentFields = [
|
|
@@ -13020,7 +13141,7 @@ function auditMediaValue(context, path, allowedMediaTypes$1, value) {
|
|
|
13020
13141
|
}];
|
|
13021
13142
|
}
|
|
13022
13143
|
function auditFields(context, fields, value, parentPath) {
|
|
13023
|
-
if (!isRecord$
|
|
13144
|
+
if (!isRecord$5(value)) return [];
|
|
13024
13145
|
const findings = [];
|
|
13025
13146
|
for (const field of fields) {
|
|
13026
13147
|
if (!(field.id in value)) continue;
|
|
@@ -13037,7 +13158,7 @@ function auditFields(context, fields, value, parentPath) {
|
|
|
13037
13158
|
if (!Array.isArray(fieldValue)) break;
|
|
13038
13159
|
for (const [index, item] of fieldValue.entries()) {
|
|
13039
13160
|
const itemPath = [...fieldPath, index];
|
|
13040
|
-
if (!isRecord$
|
|
13161
|
+
if (!isRecord$5(item)) {
|
|
13041
13162
|
findings.push({
|
|
13042
13163
|
tag: "missing-schema",
|
|
13043
13164
|
context,
|
|
@@ -13139,7 +13260,7 @@ function resolveLegacyMediaFindings(findings, assets) {
|
|
|
13139
13260
|
//#endregion
|
|
13140
13261
|
//#region ../media-core/src/contentMediaAuditFieldAdapter.ts
|
|
13141
13262
|
const contentMediaTypes = new Set(mediaTypeDiscriminants);
|
|
13142
|
-
function isRecord$
|
|
13263
|
+
function isRecord$4(value) {
|
|
13143
13264
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
13144
13265
|
}
|
|
13145
13266
|
function unknownArray(value) {
|
|
@@ -13148,7 +13269,7 @@ function unknownArray(value) {
|
|
|
13148
13269
|
function fieldsArray(value) {
|
|
13149
13270
|
const directFields = unknownArray(value);
|
|
13150
13271
|
if (directFields) return directFields;
|
|
13151
|
-
if (!isRecord$
|
|
13272
|
+
if (!isRecord$4(value)) return null;
|
|
13152
13273
|
return unknownArray(value.fields);
|
|
13153
13274
|
}
|
|
13154
13275
|
function nestedFields(field) {
|
|
@@ -13217,7 +13338,7 @@ function mergeFields(fields) {
|
|
|
13217
13338
|
}
|
|
13218
13339
|
function adaptFields(rawFields, flattenRepeaterGroups = false, defaultFileKinds = ["document"]) {
|
|
13219
13340
|
return mergeFields(rawFields.flatMap((rawField) => {
|
|
13220
|
-
if (!isRecord$
|
|
13341
|
+
if (!isRecord$4(rawField)) return [];
|
|
13221
13342
|
const { id: id$2, type } = rawField;
|
|
13222
13343
|
if (typeof id$2 !== "string" || !id$2 || typeof type !== "string") return [];
|
|
13223
13344
|
if (type === "media" || type === "file") {
|
|
@@ -13227,7 +13348,7 @@ function adaptFields(rawFields, flattenRepeaterGroups = false, defaultFileKinds
|
|
|
13227
13348
|
allowedMediaTypes: allowedMediaTypes(rawField, type, defaultFileKinds)
|
|
13228
13349
|
}];
|
|
13229
13350
|
}
|
|
13230
|
-
if (flattenRepeaterGroups && type === "group" && isRecord$
|
|
13351
|
+
if (flattenRepeaterGroups && type === "group" && isRecord$4(rawField.ui) && rawField.ui.flattenInRepeater === true) {
|
|
13231
13352
|
return adaptFields(nestedFields(rawField), false, defaultFileKinds);
|
|
13232
13353
|
}
|
|
13233
13354
|
if (type === "group" || type === "modal") {
|
|
@@ -13242,12 +13363,12 @@ function adaptFields(rawFields, flattenRepeaterGroups = false, defaultFileKinds
|
|
|
13242
13363
|
return [{
|
|
13243
13364
|
kind: "object",
|
|
13244
13365
|
id: id$2,
|
|
13245
|
-
fields: adaptFields(tabs.flatMap((tab) => isRecord$
|
|
13366
|
+
fields: adaptFields(tabs.flatMap((tab) => isRecord$4(tab) ? unknownArray(tab.fields) ?? [] : []), false, defaultFileKinds)
|
|
13246
13367
|
}];
|
|
13247
13368
|
}
|
|
13248
13369
|
if (type !== "repeater") return [];
|
|
13249
|
-
if (isRecord$
|
|
13250
|
-
const variants = Object.entries(rawField.itemTypes).flatMap(([typeId, itemType]) => isRecord$
|
|
13370
|
+
if (isRecord$4(rawField.itemTypes)) {
|
|
13371
|
+
const variants = Object.entries(rawField.itemTypes).flatMap(([typeId, itemType]) => isRecord$4(itemType) && Array.isArray(itemType.fields) ? [{
|
|
13251
13372
|
typeId,
|
|
13252
13373
|
fields: adaptFields(itemType.fields, true, defaultFileKinds)
|
|
13253
13374
|
}] : []);
|
|
@@ -13746,7 +13867,7 @@ const runtimeBoxBackgroundSchema = z.discriminatedUnion("type", [
|
|
|
13746
13867
|
]).nullable().optional() })
|
|
13747
13868
|
]);
|
|
13748
13869
|
function normalizeAuthoringOpacity(value) {
|
|
13749
|
-
if (!isRecord$
|
|
13870
|
+
if (!isRecord$2(value)) return value;
|
|
13750
13871
|
return {
|
|
13751
13872
|
...value,
|
|
13752
13873
|
opacity: normalizeOpacity(value.opacity)
|
|
@@ -13755,7 +13876,7 @@ function normalizeAuthoringOpacity(value) {
|
|
|
13755
13876
|
function normalizeOpacity(value) {
|
|
13756
13877
|
return typeof value === "number" && value > 1 && value <= 100 ? value / 100 : value;
|
|
13757
13878
|
}
|
|
13758
|
-
function isRecord$
|
|
13879
|
+
function isRecord$2(value) {
|
|
13759
13880
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
13760
13881
|
}
|
|
13761
13882
|
|
|
@@ -14628,7 +14749,7 @@ function validateCompositionBudget(input) {
|
|
|
14628
14749
|
|
|
14629
14750
|
//#endregion
|
|
14630
14751
|
//#region ../theme-core/src/site-styles/records.ts
|
|
14631
|
-
function isRecord$
|
|
14752
|
+
function isRecord$1(value) {
|
|
14632
14753
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14633
14754
|
}
|
|
14634
14755
|
|
|
@@ -14830,15 +14951,15 @@ function parsePersistedFooterPreferences(value) {
|
|
|
14830
14951
|
}
|
|
14831
14952
|
/** One-time backfill rule, also exercised against the migration SQL. Not a runtime fallback. */
|
|
14832
14953
|
function readFooterPreferences(theme) {
|
|
14833
|
-
const footer = isRecord$
|
|
14834
|
-
const background = isRecord$
|
|
14954
|
+
const footer = isRecord$1(theme) && isRecord$1(theme.footer) ? theme.footer : {};
|
|
14955
|
+
const background = isRecord$1(footer.background) ? footer.background : {};
|
|
14835
14956
|
const token = background.type === "color" && background.contentOwner === siteChromeBackgroundOverrideOwner ? parseSiteChromeBackgroundColorToken(background.color) : null;
|
|
14836
14957
|
return {
|
|
14837
14958
|
background: token === null ? { kind: "default" } : {
|
|
14838
14959
|
kind: "color",
|
|
14839
14960
|
token
|
|
14840
14961
|
},
|
|
14841
|
-
navigationLayout: isRecord$
|
|
14962
|
+
navigationLayout: isRecord$1(footer.navLayout) && footer.navLayout.layout === "stack" ? "stack" : "inline-wrap"
|
|
14842
14963
|
};
|
|
14843
14964
|
}
|
|
14844
14965
|
function applyFooterPreferences(theme, footer, preferences) {
|
|
@@ -15774,6 +15895,9 @@ const arrangementSlotNames = [
|
|
|
15774
15895
|
"date-label",
|
|
15775
15896
|
"time",
|
|
15776
15897
|
"price",
|
|
15898
|
+
"price-amount",
|
|
15899
|
+
"price-unit",
|
|
15900
|
+
"price-note",
|
|
15777
15901
|
"mark",
|
|
15778
15902
|
"navigation",
|
|
15779
15903
|
"time-start",
|
|
@@ -15836,6 +15960,7 @@ function assignedItemRoles(look, overrides) {
|
|
|
15836
15960
|
...Object.values(look.structure.slotRoles ?? {}),
|
|
15837
15961
|
...roles.container ? [roles.container] : [],
|
|
15838
15962
|
...roles.items ? [roles.items] : [],
|
|
15963
|
+
...roles.featured ? [roles.featured] : [],
|
|
15839
15964
|
...Object.values(roles.at ?? {})
|
|
15840
15965
|
];
|
|
15841
15966
|
}
|
|
@@ -33929,6 +34054,54 @@ const folioLooks = {
|
|
|
33929
34054
|
id: id("card-list-scroll-row"),
|
|
33930
34055
|
treatment: "carousel-row-sheet",
|
|
33931
34056
|
roleMap: folioRoles
|
|
34057
|
+
},
|
|
34058
|
+
{
|
|
34059
|
+
id: id("body-text-title-beside"),
|
|
34060
|
+
treatment: "body-beside",
|
|
34061
|
+
roleMap: folioRoles
|
|
34062
|
+
},
|
|
34063
|
+
{
|
|
34064
|
+
id: id("body-text-large-opening"),
|
|
34065
|
+
treatment: "body-opening",
|
|
34066
|
+
roleMap: folioRoles
|
|
34067
|
+
},
|
|
34068
|
+
{
|
|
34069
|
+
id: id("faq-questions-under-title"),
|
|
34070
|
+
treatment: "faq-under",
|
|
34071
|
+
itemRoles: { items: "card" },
|
|
34072
|
+
roleMap: folioRoles
|
|
34073
|
+
},
|
|
34074
|
+
{
|
|
34075
|
+
id: id("faq-title-beside-questions"),
|
|
34076
|
+
treatment: "faq-beside",
|
|
34077
|
+
itemRoles: { items: "card" },
|
|
34078
|
+
roleMap: folioRoles
|
|
34079
|
+
},
|
|
34080
|
+
{
|
|
34081
|
+
id: id("faq-questions-two-columns"),
|
|
34082
|
+
treatment: "faq-columns",
|
|
34083
|
+
itemRoles: { items: "card" },
|
|
34084
|
+
roleMap: folioRoles
|
|
34085
|
+
},
|
|
34086
|
+
{
|
|
34087
|
+
id: id("image-gallery-square-tiles"),
|
|
34088
|
+
treatment: "gallery-tiles",
|
|
34089
|
+
roleMap: folioRoles
|
|
34090
|
+
},
|
|
34091
|
+
{
|
|
34092
|
+
id: id("image-gallery-lead-photo"),
|
|
34093
|
+
treatment: "gallery-lead",
|
|
34094
|
+
roleMap: folioRoles
|
|
34095
|
+
},
|
|
34096
|
+
{
|
|
34097
|
+
id: id("image-gallery-captions-under"),
|
|
34098
|
+
treatment: "gallery-captions",
|
|
34099
|
+
roleMap: folioRoles
|
|
34100
|
+
},
|
|
34101
|
+
{
|
|
34102
|
+
id: id("cta-centred"),
|
|
34103
|
+
treatment: "cta-centred",
|
|
34104
|
+
roleMap: folioRoles
|
|
33932
34105
|
}
|
|
33933
34106
|
]
|
|
33934
34107
|
};
|
|
@@ -34117,6 +34290,56 @@ const fulcrumOffers = [
|
|
|
34117
34290
|
id: id("card-list-accent-edged-cards"),
|
|
34118
34291
|
treatment: "cards-accent-edged",
|
|
34119
34292
|
roleMap: fulcrumRoles
|
|
34293
|
+
},
|
|
34294
|
+
{
|
|
34295
|
+
id: id("body-text-reading-column"),
|
|
34296
|
+
treatment: "body-column",
|
|
34297
|
+
roleMap: fulcrumRoles
|
|
34298
|
+
},
|
|
34299
|
+
{
|
|
34300
|
+
id: id("body-text-title-beside"),
|
|
34301
|
+
treatment: "body-beside",
|
|
34302
|
+
roleMap: fulcrumRoles
|
|
34303
|
+
},
|
|
34304
|
+
{
|
|
34305
|
+
id: id("body-text-large-opening"),
|
|
34306
|
+
treatment: "body-opening",
|
|
34307
|
+
roleMap: fulcrumRoles
|
|
34308
|
+
},
|
|
34309
|
+
{
|
|
34310
|
+
id: id("faq-questions-under-title"),
|
|
34311
|
+
treatment: "faq-under",
|
|
34312
|
+
roleMap: fulcrumRoles
|
|
34313
|
+
},
|
|
34314
|
+
{
|
|
34315
|
+
id: id("faq-title-beside-questions"),
|
|
34316
|
+
treatment: "faq-beside",
|
|
34317
|
+
roleMap: fulcrumRoles
|
|
34318
|
+
},
|
|
34319
|
+
{
|
|
34320
|
+
id: id("faq-questions-two-columns"),
|
|
34321
|
+
treatment: "faq-columns",
|
|
34322
|
+
roleMap: fulcrumRoles
|
|
34323
|
+
},
|
|
34324
|
+
{
|
|
34325
|
+
id: id("image-gallery-square-tiles"),
|
|
34326
|
+
treatment: "gallery-tiles",
|
|
34327
|
+
roleMap: fulcrumRoles
|
|
34328
|
+
},
|
|
34329
|
+
{
|
|
34330
|
+
id: id("image-gallery-lead-photo"),
|
|
34331
|
+
treatment: "gallery-lead",
|
|
34332
|
+
roleMap: fulcrumRoles
|
|
34333
|
+
},
|
|
34334
|
+
{
|
|
34335
|
+
id: id("image-gallery-captions-under"),
|
|
34336
|
+
treatment: "gallery-captions",
|
|
34337
|
+
roleMap: fulcrumRoles
|
|
34338
|
+
},
|
|
34339
|
+
{
|
|
34340
|
+
id: id("cta-centred"),
|
|
34341
|
+
treatment: "cta-centred",
|
|
34342
|
+
roleMap: fulcrumRoles
|
|
34120
34343
|
}
|
|
34121
34344
|
];
|
|
34122
34345
|
const fulcrumLooks = {
|
|
@@ -34362,6 +34585,56 @@ const posterOffers = [
|
|
|
34362
34585
|
id: id("card-list-scroll-row"),
|
|
34363
34586
|
treatment: "carousel-row-punchy",
|
|
34364
34587
|
roleMap: posterRoles
|
|
34588
|
+
},
|
|
34589
|
+
{
|
|
34590
|
+
id: id("body-text-reading-column"),
|
|
34591
|
+
treatment: "body-column",
|
|
34592
|
+
roleMap: posterRoles
|
|
34593
|
+
},
|
|
34594
|
+
{
|
|
34595
|
+
id: id("body-text-title-beside"),
|
|
34596
|
+
treatment: "body-beside",
|
|
34597
|
+
roleMap: posterRoles
|
|
34598
|
+
},
|
|
34599
|
+
{
|
|
34600
|
+
id: id("body-text-large-opening"),
|
|
34601
|
+
treatment: "body-opening",
|
|
34602
|
+
roleMap: posterRoles
|
|
34603
|
+
},
|
|
34604
|
+
{
|
|
34605
|
+
id: id("faq-questions-under-title"),
|
|
34606
|
+
treatment: "faq-under",
|
|
34607
|
+
roleMap: posterRoles
|
|
34608
|
+
},
|
|
34609
|
+
{
|
|
34610
|
+
id: id("faq-title-beside-questions"),
|
|
34611
|
+
treatment: "faq-beside",
|
|
34612
|
+
roleMap: posterRoles
|
|
34613
|
+
},
|
|
34614
|
+
{
|
|
34615
|
+
id: id("faq-questions-two-columns"),
|
|
34616
|
+
treatment: "faq-columns",
|
|
34617
|
+
roleMap: posterRoles
|
|
34618
|
+
},
|
|
34619
|
+
{
|
|
34620
|
+
id: id("image-gallery-square-tiles"),
|
|
34621
|
+
treatment: "gallery-tiles",
|
|
34622
|
+
roleMap: posterRoles
|
|
34623
|
+
},
|
|
34624
|
+
{
|
|
34625
|
+
id: id("image-gallery-lead-photo"),
|
|
34626
|
+
treatment: "gallery-lead",
|
|
34627
|
+
roleMap: posterRoles
|
|
34628
|
+
},
|
|
34629
|
+
{
|
|
34630
|
+
id: id("image-gallery-captions-under"),
|
|
34631
|
+
treatment: "gallery-captions",
|
|
34632
|
+
roleMap: posterRoles
|
|
34633
|
+
},
|
|
34634
|
+
{
|
|
34635
|
+
id: id("cta-centred"),
|
|
34636
|
+
treatment: "cta-centred",
|
|
34637
|
+
roleMap: posterRoles
|
|
34365
34638
|
}
|
|
34366
34639
|
];
|
|
34367
34640
|
const posterLooks = {
|
|
@@ -34408,7 +34681,8 @@ const posterLooks = {
|
|
|
34408
34681
|
},
|
|
34409
34682
|
pop: {
|
|
34410
34683
|
kind: "token",
|
|
34411
|
-
token: "accent"
|
|
34684
|
+
token: "accent",
|
|
34685
|
+
buttonContext: { primary: unsafeAsOpaqueButtonColourToken("primary") }
|
|
34412
34686
|
},
|
|
34413
34687
|
inverse: {
|
|
34414
34688
|
kind: "token",
|
|
@@ -34680,6 +34954,44 @@ const lanternOffers = [
|
|
|
34680
34954
|
id: id("card-list-scroll-row"),
|
|
34681
34955
|
treatment: "carousel-row-cards",
|
|
34682
34956
|
roleMap: lanternRoles
|
|
34957
|
+
},
|
|
34958
|
+
{
|
|
34959
|
+
id: id("body-text-title-beside"),
|
|
34960
|
+
treatment: "body-beside",
|
|
34961
|
+
roleMap: lanternRoles
|
|
34962
|
+
},
|
|
34963
|
+
{
|
|
34964
|
+
id: id("body-text-large-opening"),
|
|
34965
|
+
treatment: "body-opening",
|
|
34966
|
+
roleMap: lanternRoles
|
|
34967
|
+
},
|
|
34968
|
+
{
|
|
34969
|
+
id: id("faq-questions-under-title"),
|
|
34970
|
+
treatment: "faq-under",
|
|
34971
|
+
itemRoles: { items: "card" },
|
|
34972
|
+
roleMap: lanternRoles
|
|
34973
|
+
},
|
|
34974
|
+
{
|
|
34975
|
+
id: id("faq-title-beside-questions"),
|
|
34976
|
+
treatment: "faq-beside",
|
|
34977
|
+
itemRoles: { items: "card" },
|
|
34978
|
+
roleMap: lanternRoles
|
|
34979
|
+
},
|
|
34980
|
+
{
|
|
34981
|
+
id: id("faq-questions-two-columns"),
|
|
34982
|
+
treatment: "faq-columns",
|
|
34983
|
+
itemRoles: { items: "card" },
|
|
34984
|
+
roleMap: lanternRoles
|
|
34985
|
+
},
|
|
34986
|
+
{
|
|
34987
|
+
id: id("image-gallery-lead-photo"),
|
|
34988
|
+
treatment: "gallery-lead",
|
|
34989
|
+
roleMap: lanternRoles
|
|
34990
|
+
},
|
|
34991
|
+
{
|
|
34992
|
+
id: id("cta-centred"),
|
|
34993
|
+
treatment: "cta-centred",
|
|
34994
|
+
roleMap: lanternRoles
|
|
34683
34995
|
}
|
|
34684
34996
|
];
|
|
34685
34997
|
const lanternLooks = {
|
|
@@ -34919,6 +35231,56 @@ const measureOffers = [
|
|
|
34919
35231
|
id: id("card-list-scroll-row"),
|
|
34920
35232
|
treatment: "carousel-row-sheets",
|
|
34921
35233
|
roleMap: measureRoles
|
|
35234
|
+
},
|
|
35235
|
+
{
|
|
35236
|
+
id: id("body-text-reading-column"),
|
|
35237
|
+
treatment: "body-column",
|
|
35238
|
+
roleMap: measureRoles
|
|
35239
|
+
},
|
|
35240
|
+
{
|
|
35241
|
+
id: id("body-text-title-beside"),
|
|
35242
|
+
treatment: "body-beside",
|
|
35243
|
+
roleMap: measureRoles
|
|
35244
|
+
},
|
|
35245
|
+
{
|
|
35246
|
+
id: id("body-text-large-opening"),
|
|
35247
|
+
treatment: "body-opening",
|
|
35248
|
+
roleMap: measureRoles
|
|
35249
|
+
},
|
|
35250
|
+
{
|
|
35251
|
+
id: id("faq-title-beside-questions"),
|
|
35252
|
+
treatment: "faq-beside",
|
|
35253
|
+
roleMap: measureRoles
|
|
35254
|
+
},
|
|
35255
|
+
{
|
|
35256
|
+
id: id("faq-questions-under-title"),
|
|
35257
|
+
treatment: "faq-under",
|
|
35258
|
+
roleMap: measureRoles
|
|
35259
|
+
},
|
|
35260
|
+
{
|
|
35261
|
+
id: id("faq-questions-two-columns"),
|
|
35262
|
+
treatment: "faq-columns",
|
|
35263
|
+
roleMap: measureRoles
|
|
35264
|
+
},
|
|
35265
|
+
{
|
|
35266
|
+
id: id("image-gallery-square-tiles"),
|
|
35267
|
+
treatment: "gallery-tiles",
|
|
35268
|
+
roleMap: measureRoles
|
|
35269
|
+
},
|
|
35270
|
+
{
|
|
35271
|
+
id: id("image-gallery-lead-photo"),
|
|
35272
|
+
treatment: "gallery-lead",
|
|
35273
|
+
roleMap: measureRoles
|
|
35274
|
+
},
|
|
35275
|
+
{
|
|
35276
|
+
id: id("image-gallery-captions-under"),
|
|
35277
|
+
treatment: "gallery-captions",
|
|
35278
|
+
roleMap: measureRoles
|
|
35279
|
+
},
|
|
35280
|
+
{
|
|
35281
|
+
id: id("cta-centred"),
|
|
35282
|
+
treatment: "cta-centred",
|
|
35283
|
+
roleMap: measureRoles
|
|
34922
35284
|
}
|
|
34923
35285
|
];
|
|
34924
35286
|
const measureLooks = {
|
|
@@ -35461,7 +35823,7 @@ const curatedSiteStyles = [
|
|
|
35461
35823
|
},
|
|
35462
35824
|
compositionBudget: quietBudget,
|
|
35463
35825
|
typography: fulcrumTypography,
|
|
35464
|
-
looks: fulcrumLooks,
|
|
35826
|
+
looks: withPriceLooks(withTeamLooks(fulcrumLooks, fulcrumRoles), fulcrumRoles),
|
|
35465
35827
|
contentTemplateDefaults: { event: "event-header" },
|
|
35466
35828
|
themeOverrides: {
|
|
35467
35829
|
accordions: {
|
|
@@ -35599,7 +35961,10 @@ const curatedSiteStyles = [
|
|
|
35599
35961
|
},
|
|
35600
35962
|
compositionBudget: expressiveBudget,
|
|
35601
35963
|
typography: posterTypography,
|
|
35602
|
-
looks: posterLooks,
|
|
35964
|
+
looks: withPriceLooks(withTeamLooks(posterLooks, posterRoles), posterRoles, {
|
|
35965
|
+
...posterRoles,
|
|
35966
|
+
statement: "pop"
|
|
35967
|
+
}),
|
|
35603
35968
|
contentTemplateDefaults: { event: "event-header" },
|
|
35604
35969
|
themeOverrides: {
|
|
35605
35970
|
accordions: boldBorderedAccordionSystem,
|
|
@@ -35653,7 +36018,7 @@ const curatedSiteStyles = [
|
|
|
35653
36018
|
},
|
|
35654
36019
|
compositionBudget: quietBudget,
|
|
35655
36020
|
typography: lanternTypography,
|
|
35656
|
-
looks: lanternLooks,
|
|
36021
|
+
looks: withPriceLooks(withTeamLooks(lanternLooks, lanternRoles), lanternRoles),
|
|
35657
36022
|
contentTemplateDefaults: { event: "event-header" },
|
|
35658
36023
|
themeOverrides: {
|
|
35659
36024
|
accordions: warmInsetAccordionSystem,
|
|
@@ -35713,7 +36078,7 @@ const curatedSiteStyles = [
|
|
|
35713
36078
|
},
|
|
35714
36079
|
compositionBudget: quietBudget,
|
|
35715
36080
|
typography: measureTypography,
|
|
35716
|
-
looks: measureLooks,
|
|
36081
|
+
looks: withPriceLooks(withTeamLooks(measureLooks, measureRoles), measureRoles),
|
|
35717
36082
|
contentTemplateDefaults: { event: "event-header" },
|
|
35718
36083
|
themeOverrides: {
|
|
35719
36084
|
accordions: editorialDividedAccordionSystem,
|
|
@@ -35753,7 +36118,7 @@ const curatedSiteStyles = [
|
|
|
35753
36118
|
compositionBudget: accentLedQuietBudget,
|
|
35754
36119
|
typography: folioTypography,
|
|
35755
36120
|
heroTypography: groundedSerifHeroTypography,
|
|
35756
|
-
looks: folioLooks,
|
|
36121
|
+
looks: withPriceLooks(withTeamLooks(folioLooks, folioRoles), folioRoles),
|
|
35757
36122
|
contentTemplateDefaults: { event: "event-header" },
|
|
35758
36123
|
themeOverrides: {
|
|
35759
36124
|
accordions: editorialDividedAccordionSystem,
|
|
@@ -35897,6 +36262,52 @@ curatedSiteStyles.forEach((style) => {
|
|
|
35897
36262
|
const recipes = new Set([...Object.values(style.footerLookRecipes ?? {}), ...style.recommendedFooterLookIds.map((id$2) => resolveFooterLookRecipe(style, id$2))]);
|
|
35898
36263
|
recipes.forEach((recipe) => validateFooterRecipeSurfaces(style, recipe));
|
|
35899
36264
|
});
|
|
36265
|
+
function withTeamLooks(looks, roleMap) {
|
|
36266
|
+
return {
|
|
36267
|
+
...looks,
|
|
36268
|
+
offers: [
|
|
36269
|
+
{
|
|
36270
|
+
id: id("team-members-tall-portraits"),
|
|
36271
|
+
treatment: "team-portraits",
|
|
36272
|
+
roleMap
|
|
36273
|
+
},
|
|
36274
|
+
{
|
|
36275
|
+
id: id("team-members-portrait-bio"),
|
|
36276
|
+
treatment: "team-bio",
|
|
36277
|
+
roleMap
|
|
36278
|
+
},
|
|
36279
|
+
{
|
|
36280
|
+
id: id("team-members-ruled-names"),
|
|
36281
|
+
treatment: "team-names",
|
|
36282
|
+
roleMap
|
|
36283
|
+
},
|
|
36284
|
+
...looks.offers
|
|
36285
|
+
]
|
|
36286
|
+
};
|
|
36287
|
+
}
|
|
36288
|
+
function withPriceLooks(looks, roleMap, featuredRoleMap = roleMap) {
|
|
36289
|
+
return {
|
|
36290
|
+
...looks,
|
|
36291
|
+
offers: [
|
|
36292
|
+
{
|
|
36293
|
+
id: id("shop-price-cards"),
|
|
36294
|
+
treatment: "shop-prices",
|
|
36295
|
+
roleMap
|
|
36296
|
+
},
|
|
36297
|
+
{
|
|
36298
|
+
id: id("shop-price-cards-featured"),
|
|
36299
|
+
treatment: "shop-prices-featured",
|
|
36300
|
+
roleMap: featuredRoleMap
|
|
36301
|
+
},
|
|
36302
|
+
{
|
|
36303
|
+
id: id("shop-ruled-prices"),
|
|
36304
|
+
treatment: "shop-price-list",
|
|
36305
|
+
roleMap
|
|
36306
|
+
},
|
|
36307
|
+
...looks.offers
|
|
36308
|
+
]
|
|
36309
|
+
};
|
|
36310
|
+
}
|
|
35900
36311
|
|
|
35901
36312
|
//#endregion
|
|
35902
36313
|
//#region ../theme-core/src/site-styles/pageDesignEditorCapabilities.ts
|
|
@@ -38668,29 +39079,29 @@ function planGeneratedHeaderOpeningSection(input) {
|
|
|
38668
39079
|
}
|
|
38669
39080
|
function hasPersistedImageBackground(content) {
|
|
38670
39081
|
const sectionStyles = content._sectionStyles;
|
|
38671
|
-
if (!isRecord$
|
|
39082
|
+
if (!isRecord$1(sectionStyles)) return false;
|
|
38672
39083
|
const background = sectionStyles.background;
|
|
38673
|
-
return isRecord$
|
|
39084
|
+
return isRecord$1(background) && background.type === "image" && background.image !== undefined;
|
|
38674
39085
|
}
|
|
38675
39086
|
function openingBackground(content) {
|
|
38676
39087
|
const sectionStyles = content ? content._sectionStyles : null;
|
|
38677
|
-
if (!isRecord$
|
|
39088
|
+
if (!isRecord$1(sectionStyles)) return null;
|
|
38678
39089
|
const background = sectionStyles.background;
|
|
38679
|
-
return isRecord$
|
|
39090
|
+
return isRecord$1(background) ? background : null;
|
|
38680
39091
|
}
|
|
38681
39092
|
function contentHasContrastOverlay(content) {
|
|
38682
39093
|
if (!content) return false;
|
|
38683
39094
|
const imageSurfaceTreatment = content.imageSurfaceTreatment;
|
|
38684
|
-
const imageSurfaceTreatmentKind = isRecord$
|
|
39095
|
+
const imageSurfaceTreatmentKind = isRecord$1(imageSurfaceTreatment) ? imageSurfaceTreatment.kind : null;
|
|
38685
39096
|
const background = openingBackground(content);
|
|
38686
39097
|
const backgroundOverlay = background?.overlay;
|
|
38687
|
-
const hasBackgroundOverlay = isRecord$
|
|
39098
|
+
const hasBackgroundOverlay = isRecord$1(backgroundOverlay) && backgroundOverlay.type !== undefined && backgroundOverlay.type !== null && backgroundOverlay.type !== "none";
|
|
38688
39099
|
return content.heroLegibility === "scrim-gradient" || imageSurfaceTreatmentKind === "brand-scrim" || imageSurfaceTreatmentKind === "neutral-scrim" || hasBackgroundOverlay;
|
|
38689
39100
|
}
|
|
38690
39101
|
function contentHasOpeningTopSpacing(content) {
|
|
38691
39102
|
if (!content) return false;
|
|
38692
39103
|
const sectionStyles = content._sectionStyles;
|
|
38693
|
-
const minHeight = isRecord$
|
|
39104
|
+
const minHeight = isRecord$1(sectionStyles) ? sectionStyles.minHeight : null;
|
|
38694
39105
|
return content.sectionHeight === "hero" || content.sectionHeight === "immersive" || minHeight === "hero" || minHeight === "immersive";
|
|
38695
39106
|
}
|
|
38696
39107
|
function runtimeHasContrastOverlay(block) {
|
|
@@ -45046,6 +45457,7 @@ const upsertStaffMemberCommandSchema = z.object({
|
|
|
45046
45457
|
displayName: z.string().min(1),
|
|
45047
45458
|
roleLabel: z.string().optional(),
|
|
45048
45459
|
shortBio: z.string().optional(),
|
|
45460
|
+
avatarRef: mediaRefSchema.nullable().optional(),
|
|
45049
45461
|
timezone: z.string().min(1).optional(),
|
|
45050
45462
|
specialties: stringArraySchema.optional(),
|
|
45051
45463
|
publicVisibility: z.enum(["hidden", "visible"]).optional()
|
|
@@ -46141,7 +46553,7 @@ function planCommandOrderingDependencies(command, commands, providerByRef, requi
|
|
|
46141
46553
|
|
|
46142
46554
|
//#endregion
|
|
46143
46555
|
//#region ../site-commands/src/guards.ts
|
|
46144
|
-
function isRecord
|
|
46556
|
+
function isRecord(value) {
|
|
46145
46557
|
return typeof value === "object" && value !== null;
|
|
46146
46558
|
}
|
|
46147
46559
|
|
|
@@ -46303,6 +46715,7 @@ function commandRefContributions(command) {
|
|
|
46303
46715
|
if (isBookingRefCommand(command)) {
|
|
46304
46716
|
return bookingCommandRefContributions(command);
|
|
46305
46717
|
}
|
|
46718
|
+
if (isLifecycleRefCommand(command)) return lifecycleCommandRefContributions(command);
|
|
46306
46719
|
switch (command.type) {
|
|
46307
46720
|
case "configureSiteIdentity":
|
|
46308
46721
|
case "configureBookingSettings": return {
|
|
@@ -46320,7 +46733,6 @@ function commandRefContributions(command) {
|
|
|
46320
46733
|
case "upsertPage":
|
|
46321
46734
|
case "upsertForm":
|
|
46322
46735
|
case "upsertFooterContent":
|
|
46323
|
-
case "upsertStaffMember":
|
|
46324
46736
|
case "upsertVenue":
|
|
46325
46737
|
case "upsertEventCategory": return {
|
|
46326
46738
|
provides: [{
|
|
@@ -46329,6 +46741,7 @@ function commandRefContributions(command) {
|
|
|
46329
46741
|
}],
|
|
46330
46742
|
requires: []
|
|
46331
46743
|
};
|
|
46744
|
+
case "upsertStaffMember": return staffMemberCommandRefContributions(command);
|
|
46332
46745
|
case "upsertEventSeries": return {
|
|
46333
46746
|
provides: [{
|
|
46334
46747
|
ref: command.ref,
|
|
@@ -46430,29 +46843,6 @@ function commandRefContributions(command) {
|
|
|
46430
46843
|
}],
|
|
46431
46844
|
requires: collectNavigationRefs(command.input.items, "input.items")
|
|
46432
46845
|
};
|
|
46433
|
-
case "publishPage":
|
|
46434
|
-
case "unpublishPage": return {
|
|
46435
|
-
provides: [],
|
|
46436
|
-
requires: command.input.pageRef !== undefined ? [{
|
|
46437
|
-
ref: command.input.pageRef,
|
|
46438
|
-
field: "input.pageRef"
|
|
46439
|
-
}] : []
|
|
46440
|
-
};
|
|
46441
|
-
case "publishContentEntry": return {
|
|
46442
|
-
provides: [],
|
|
46443
|
-
requires: command.input.contentEntryRef !== undefined ? [{
|
|
46444
|
-
ref: command.input.contentEntryRef,
|
|
46445
|
-
field: "input.contentEntryRef"
|
|
46446
|
-
}] : []
|
|
46447
|
-
};
|
|
46448
|
-
case "unpublishContentEntry":
|
|
46449
|
-
case "deleteContentEntry": return {
|
|
46450
|
-
provides: [],
|
|
46451
|
-
requires: command.input.contentEntryRef !== undefined ? [{
|
|
46452
|
-
ref: command.input.contentEntryRef,
|
|
46453
|
-
field: "input.contentEntryRef"
|
|
46454
|
-
}] : []
|
|
46455
|
-
};
|
|
46456
46846
|
default: return assertNever(command);
|
|
46457
46847
|
}
|
|
46458
46848
|
}
|
|
@@ -46488,7 +46878,7 @@ function collectVenueRefsFromIntervals(intervals, path) {
|
|
|
46488
46878
|
}
|
|
46489
46879
|
function collectNavigationRefs(items, path) {
|
|
46490
46880
|
return items.flatMap((item, index) => {
|
|
46491
|
-
if (!isRecord
|
|
46881
|
+
if (!isRecord(item)) return [];
|
|
46492
46882
|
const itemPath = `${path}[${index}]`;
|
|
46493
46883
|
const refs = [];
|
|
46494
46884
|
if (typeof item.pageRef === "string") {
|
|
@@ -46511,7 +46901,7 @@ function collectNavigationRefs(items, path) {
|
|
|
46511
46901
|
}
|
|
46512
46902
|
function collectBlockRefs(blocks, path) {
|
|
46513
46903
|
return blocks.flatMap((block, index) => {
|
|
46514
|
-
if (!isRecord
|
|
46904
|
+
if (!isRecord(block)) return [];
|
|
46515
46905
|
const blockPath = `${path}[${index}]`;
|
|
46516
46906
|
return [...collectNestedRefs(block.props, `${blockPath}.props`), ...collectNestedRefs(block.children, `${blockPath}.children`)];
|
|
46517
46907
|
});
|
|
@@ -46527,9 +46917,45 @@ function collectNestedRefs(value, path) {
|
|
|
46527
46917
|
if (Array.isArray(value)) {
|
|
46528
46918
|
return value.flatMap((item, index) => collectNestedRefs(item, `${path}[${index}]`));
|
|
46529
46919
|
}
|
|
46530
|
-
if (!isRecord
|
|
46920
|
+
if (!isRecord(value)) return [];
|
|
46531
46921
|
return Object.entries(value).flatMap(([key, child]) => collectNestedRefs(child, `${path}.${key}`));
|
|
46532
46922
|
}
|
|
46923
|
+
function staffMemberCommandRefContributions(command) {
|
|
46924
|
+
return {
|
|
46925
|
+
provides: [{
|
|
46926
|
+
ref: command.ref,
|
|
46927
|
+
field: "ref"
|
|
46928
|
+
}],
|
|
46929
|
+
requires: optionalRef(command.input.avatarRef ?? undefined, "input.avatarRef")
|
|
46930
|
+
};
|
|
46931
|
+
}
|
|
46932
|
+
const lifecycleRefCommandTypes = [
|
|
46933
|
+
"publishPage",
|
|
46934
|
+
"unpublishPage",
|
|
46935
|
+
"publishContentEntry",
|
|
46936
|
+
"unpublishContentEntry",
|
|
46937
|
+
"deleteContentEntry"
|
|
46938
|
+
];
|
|
46939
|
+
const lifecycleRefCommandTypeSet = new Set(lifecycleRefCommandTypes);
|
|
46940
|
+
function isLifecycleRefCommand(command) {
|
|
46941
|
+
return lifecycleRefCommandTypeSet.has(command.type);
|
|
46942
|
+
}
|
|
46943
|
+
function lifecycleCommandRefContributions(command) {
|
|
46944
|
+
switch (command.type) {
|
|
46945
|
+
case "publishPage":
|
|
46946
|
+
case "unpublishPage": return {
|
|
46947
|
+
provides: [],
|
|
46948
|
+
requires: optionalRef(command.input.pageRef, "input.pageRef")
|
|
46949
|
+
};
|
|
46950
|
+
case "publishContentEntry":
|
|
46951
|
+
case "unpublishContentEntry":
|
|
46952
|
+
case "deleteContentEntry": return {
|
|
46953
|
+
provides: [],
|
|
46954
|
+
requires: optionalRef(command.input.contentEntryRef, "input.contentEntryRef")
|
|
46955
|
+
};
|
|
46956
|
+
default: return assertNever(command);
|
|
46957
|
+
}
|
|
46958
|
+
}
|
|
46533
46959
|
|
|
46534
46960
|
//#endregion
|
|
46535
46961
|
//#region ../site-commands/src/staticExecutionGaps.ts
|
|
@@ -46762,9 +47188,9 @@ function deriveIdempotencyKey(input) {
|
|
|
46762
47188
|
].join("|"));
|
|
46763
47189
|
}
|
|
46764
47190
|
function findUnknownCommandTypes(input) {
|
|
46765
|
-
if (!isRecord
|
|
47191
|
+
if (!isRecord(input) || !Array.isArray(input.commands)) return [];
|
|
46766
47192
|
return input.commands.flatMap((command, commandIndex) => {
|
|
46767
|
-
if (!isRecord
|
|
47193
|
+
if (!isRecord(command) || typeof command.type !== "string") return [];
|
|
46768
47194
|
if (commandTypeSet.has(command.type)) return [];
|
|
46769
47195
|
return [{
|
|
46770
47196
|
code: "unknown_command_type",
|
|
@@ -46790,9 +47216,9 @@ function commandIndexForIssuePath(path) {
|
|
|
46790
47216
|
return path[0] === "commands" && typeof path[1] === "number" ? path[1] : -1;
|
|
46791
47217
|
}
|
|
46792
47218
|
function commandTypeForIssue(input, commandIndex) {
|
|
46793
|
-
if (!isRecord
|
|
47219
|
+
if (!isRecord(input) || !isUnknownArray(input.commands)) return null;
|
|
46794
47220
|
const command = input.commands[commandIndex];
|
|
46795
|
-
return isRecord
|
|
47221
|
+
return isRecord(command) && typeof command.type === "string" ? command.type : null;
|
|
46796
47222
|
}
|
|
46797
47223
|
function isUnknownArray(value) {
|
|
46798
47224
|
return Array.isArray(value);
|
|
@@ -47842,229 +48268,4 @@ function parseSdkEventRunUpsertInput(input, runIndex, options) {
|
|
|
47842
48268
|
}
|
|
47843
48269
|
|
|
47844
48270
|
//#endregion
|
|
47845
|
-
|
|
47846
|
-
/**
|
|
47847
|
-
* Strict record guard: excludes null, primitives, and arrays.
|
|
47848
|
-
*/
|
|
47849
|
-
function isRecord(value) {
|
|
47850
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
47851
|
-
}
|
|
47852
|
-
/**
|
|
47853
|
-
* Non-null object guard: includes arrays for behavior parity with legacy helpers.
|
|
47854
|
-
*
|
|
47855
|
-
* NOTE: This intentionally narrows to UnknownRecord for compatibility with existing
|
|
47856
|
-
* callsites even though arrays pass at runtime. Follow-up cleanup should replace
|
|
47857
|
-
* this API with a more precise predicate type and migrate consumers.
|
|
47858
|
-
*/
|
|
47859
|
-
function isObjectRecord(value) {
|
|
47860
|
-
return typeof value === "object" && value !== null;
|
|
47861
|
-
}
|
|
47862
|
-
/**
|
|
47863
|
-
* Coerces unknown input into a strict record, returning an empty object fallback.
|
|
47864
|
-
*/
|
|
47865
|
-
function asRecord(value) {
|
|
47866
|
-
return isRecord(value) ? value : {};
|
|
47867
|
-
}
|
|
47868
|
-
|
|
47869
|
-
//#endregion
|
|
47870
|
-
//#region ../blocks/src/system/manifest/richTextSchema.ts
|
|
47871
|
-
/**
|
|
47872
|
-
* Shared Rich Text Schema
|
|
47873
|
-
*
|
|
47874
|
-
* This module provides a single source of truth for TipTap rich text validation
|
|
47875
|
-
* across both the block-form editor and the block rendering system.
|
|
47876
|
-
*
|
|
47877
|
-
* Rich-text fields use one canonical root shape:
|
|
47878
|
-
* `{ type: 'doc', content: [...] }`.
|
|
47879
|
-
*/
|
|
47880
|
-
/**
|
|
47881
|
-
* TipTap document node schema (recursive structure)
|
|
47882
|
-
*
|
|
47883
|
-
* Supports the full TipTap document structure including:
|
|
47884
|
-
* - type: Node type (e.g., 'doc', 'paragraph', 'text')
|
|
47885
|
-
* - content: Nested array of child nodes
|
|
47886
|
-
* - text: Text content for text nodes
|
|
47887
|
-
* - attrs: Node attributes (e.g., alignment, color)
|
|
47888
|
-
* - marks: Text formatting marks (e.g., bold, italic)
|
|
47889
|
-
*/
|
|
47890
|
-
const TipTapMarkSchema = z.object({
|
|
47891
|
-
type: z.string().min(1),
|
|
47892
|
-
attrs: z.record(z.string(), z.unknown()).optional()
|
|
47893
|
-
}).strict();
|
|
47894
|
-
const TipTapNodeSchema = z.lazy(() => z.object({
|
|
47895
|
-
type: z.string().min(1),
|
|
47896
|
-
content: z.array(TipTapNodeSchema).optional(),
|
|
47897
|
-
text: z.string().optional(),
|
|
47898
|
-
attrs: z.record(z.string(), z.unknown()).optional(),
|
|
47899
|
-
marks: z.array(TipTapMarkSchema).optional()
|
|
47900
|
-
}).strict().superRefine((node, ctx) => {
|
|
47901
|
-
if (node.type === "doc") {
|
|
47902
|
-
ctx.addIssue({
|
|
47903
|
-
code: "custom",
|
|
47904
|
-
path: ["type"],
|
|
47905
|
-
message: "Document nodes are only valid at the rich-text root"
|
|
47906
|
-
});
|
|
47907
|
-
}
|
|
47908
|
-
if (node.type === "text") {
|
|
47909
|
-
if (node.text === undefined || node.text.length === 0) {
|
|
47910
|
-
ctx.addIssue({
|
|
47911
|
-
code: "custom",
|
|
47912
|
-
path: ["text"],
|
|
47913
|
-
message: "Text nodes require a non-empty text value"
|
|
47914
|
-
});
|
|
47915
|
-
}
|
|
47916
|
-
if (node.content !== undefined) {
|
|
47917
|
-
ctx.addIssue({
|
|
47918
|
-
code: "custom",
|
|
47919
|
-
path: ["content"],
|
|
47920
|
-
message: "Text nodes cannot contain child nodes"
|
|
47921
|
-
});
|
|
47922
|
-
}
|
|
47923
|
-
return;
|
|
47924
|
-
}
|
|
47925
|
-
if (node.text !== undefined) {
|
|
47926
|
-
ctx.addIssue({
|
|
47927
|
-
code: "custom",
|
|
47928
|
-
path: ["text"],
|
|
47929
|
-
message: "Only text nodes can contain a text value"
|
|
47930
|
-
});
|
|
47931
|
-
}
|
|
47932
|
-
}));
|
|
47933
|
-
/**
|
|
47934
|
-
* Canonical schema for a TipTap rich-text document root.
|
|
47935
|
-
*
|
|
47936
|
-
* Stricter than {@link TipTapNodeSchema}: `type` is literally `'doc'` and
|
|
47937
|
-
* `content` is required (possibly empty). This is the shape every producer
|
|
47938
|
-
* (dummy content, editor output, migrations) must emit, and the shape every
|
|
47939
|
-
* non-legacy consumer can rely on.
|
|
47940
|
-
*
|
|
47941
|
-
*/
|
|
47942
|
-
const RichTextDocSchema = z.object({
|
|
47943
|
-
type: z.literal("doc"),
|
|
47944
|
-
content: z.array(TipTapNodeSchema)
|
|
47945
|
-
}).strict();
|
|
47946
|
-
/**
|
|
47947
|
-
* Type guard for {@link RichTextDoc}.
|
|
47948
|
-
*
|
|
47949
|
-
* Returns `true` only for the canonical unwrapped form. The shared structural
|
|
47950
|
-
* contract lives in `@riverbankcms/core`; parity tests keep its dependency-free
|
|
47951
|
-
* guard aligned with this detailed Zod validator.
|
|
47952
|
-
*/
|
|
47953
|
-
function isRichTextDoc(value) {
|
|
47954
|
-
return RichTextDocSchema.safeParse(value).success;
|
|
47955
|
-
}
|
|
47956
|
-
/**
|
|
47957
|
-
* Build a canonical {@link RichTextDoc} from plain-text paragraphs.
|
|
47958
|
-
*
|
|
47959
|
-
* Single source of truth for constructing a TipTap doc from strings.
|
|
47960
|
-
* Used by:
|
|
47961
|
-
* - `@riverbankcms/dummy-content` (fixture body generators)
|
|
47962
|
-
* - `@riverbankcms/content-model` (default template `cta-full` content)
|
|
47963
|
-
*
|
|
47964
|
-
* Empty strings produce a paragraph with no `content` array — matching
|
|
47965
|
-
* the TipTap convention for empty paragraphs. The shape is exactly what
|
|
47966
|
-
* {@link RichTextDocSchema} validates, so the type and runtime check
|
|
47967
|
-
* never drift from the constructor.
|
|
47968
|
-
*/
|
|
47969
|
-
function createRichTextDoc(paragraphs) {
|
|
47970
|
-
return {
|
|
47971
|
-
type: "doc",
|
|
47972
|
-
content: paragraphs.map((text) => text ? {
|
|
47973
|
-
type: "paragraph",
|
|
47974
|
-
content: [{
|
|
47975
|
-
type: "text",
|
|
47976
|
-
text
|
|
47977
|
-
}]
|
|
47978
|
-
} : { type: "paragraph" })
|
|
47979
|
-
};
|
|
47980
|
-
}
|
|
47981
|
-
function createHardBreakNode() {
|
|
47982
|
-
return { type: "hardBreak" };
|
|
47983
|
-
}
|
|
47984
|
-
/**
|
|
47985
|
-
* Parse a small markdown subset into TipTap inline nodes.
|
|
47986
|
-
*
|
|
47987
|
-
* This intentionally supports only bold (`**text**`) because the SDK/content
|
|
47988
|
-
* import paths use it for lightweight default content, not full markdown.
|
|
47989
|
-
*/
|
|
47990
|
-
function parseRichTextInlineMarkdown(text) {
|
|
47991
|
-
const out = [];
|
|
47992
|
-
const pushText = (value, marks) => {
|
|
47993
|
-
if (!value) return;
|
|
47994
|
-
out.push(marks && marks.length > 0 ? {
|
|
47995
|
-
type: "text",
|
|
47996
|
-
text: value,
|
|
47997
|
-
marks
|
|
47998
|
-
} : {
|
|
47999
|
-
type: "text",
|
|
48000
|
-
text: value
|
|
48001
|
-
});
|
|
48002
|
-
};
|
|
48003
|
-
let rest = text;
|
|
48004
|
-
while (rest.length > 0) {
|
|
48005
|
-
const start = rest.indexOf("**");
|
|
48006
|
-
if (start === -1) {
|
|
48007
|
-
pushText(rest);
|
|
48008
|
-
break;
|
|
48009
|
-
}
|
|
48010
|
-
const end = rest.indexOf("**", start + 2);
|
|
48011
|
-
if (end === -1) {
|
|
48012
|
-
pushText(rest);
|
|
48013
|
-
break;
|
|
48014
|
-
}
|
|
48015
|
-
pushText(rest.slice(0, start));
|
|
48016
|
-
pushText(rest.slice(start + 2, end), [{ type: "bold" }]);
|
|
48017
|
-
rest = rest.slice(end + 2);
|
|
48018
|
-
}
|
|
48019
|
-
return out;
|
|
48020
|
-
}
|
|
48021
|
-
function parseRichTextParagraphInlineMarkdown(text) {
|
|
48022
|
-
return text.split("\n").flatMap((line, index) => {
|
|
48023
|
-
const lineNodes = parseRichTextInlineMarkdown(line.trim());
|
|
48024
|
-
return index === 0 ? lineNodes : [createHardBreakNode(), ...lineNodes];
|
|
48025
|
-
});
|
|
48026
|
-
}
|
|
48027
|
-
/**
|
|
48028
|
-
* Convert a plain string with a tiny markdown subset to canonical TipTap JSON.
|
|
48029
|
-
*
|
|
48030
|
-
* Double newlines create semantic paragraphs. Single newlines remain inside the
|
|
48031
|
-
* current paragraph as TipTap `hardBreak` nodes for line-oriented content such
|
|
48032
|
-
* as addresses, opening hours, and contact details.
|
|
48033
|
-
*/
|
|
48034
|
-
function createRichTextDocFromMarkdown(markdown) {
|
|
48035
|
-
const normalized = markdown.replace(/\r\n/g, "\n").trim();
|
|
48036
|
-
if (!normalized) return {
|
|
48037
|
-
type: "doc",
|
|
48038
|
-
content: []
|
|
48039
|
-
};
|
|
48040
|
-
const paragraphs = normalized.split(/\n{2,}/).map((paragraph) => paragraph.trim()).filter(Boolean);
|
|
48041
|
-
return {
|
|
48042
|
-
type: "doc",
|
|
48043
|
-
content: paragraphs.map((paragraph) => {
|
|
48044
|
-
const inline = parseRichTextParagraphInlineMarkdown(paragraph);
|
|
48045
|
-
return inline.length > 0 ? {
|
|
48046
|
-
type: "paragraph",
|
|
48047
|
-
content: inline
|
|
48048
|
-
} : { type: "paragraph" };
|
|
48049
|
-
})
|
|
48050
|
-
};
|
|
48051
|
-
}
|
|
48052
|
-
function buildRichTextSchema(options) {
|
|
48053
|
-
let schema = RichTextDocSchema;
|
|
48054
|
-
if (options?.required) {
|
|
48055
|
-
const label = options.label ?? "This field";
|
|
48056
|
-
schema = schema.refine((val) => {
|
|
48057
|
-
const content = val.content;
|
|
48058
|
-
if (!Array.isArray(content) || content.length === 0) return false;
|
|
48059
|
-
const first = content[0];
|
|
48060
|
-
if (content.length === 1 && isRecord(first) && first.type === "paragraph" && (!("content" in first) || first.content == null)) {
|
|
48061
|
-
return false;
|
|
48062
|
-
}
|
|
48063
|
-
return true;
|
|
48064
|
-
}, { message: `${label} is required` });
|
|
48065
|
-
}
|
|
48066
|
-
return schema;
|
|
48067
|
-
}
|
|
48068
|
-
|
|
48069
|
-
//#endregion
|
|
48070
|
-
export { createBlocksRef as $, isOnColorBackgroundCandidateToken as $i, looksLikeUuid as $n, asLayoutVariantKey as $r, ACCORDION_OPEN_ACCENT_THICKNESS as $t, parseAndPlanCommandBatchForTypes as A, opaqueSurfaceDeclarations as Ai, pageDesignIntentSchemaVersion as An, parseRelativeStoragePath as Ar, themeSchema as At, pageIdentifierForCommand as B, unsafeAsOpaqueButtonColourToken as Bi, parseCanonicalRuntimeBackground as Bn, generateShadowValue as Br, MQ_MD_DOWN as Bt, pageLinkSchema as C, borderColorStyle as Ci, buildTextContrastShadow as Cn, slugifyMediaIdentifier as Cr, resolvePublishedLook as Ct, sortRecord as D, textColorStyle as Di, resolveItemSurface as Dn, getMimeType as Dr, getGradientPreset as Dt, venueManagementFields as E, rgbColorValue as Ei, arrangementSlotNames as En, getExtensionForMimeType as Er, GRADIENT_PRESET_IDS as Et, eventManagementTiming as F, resolveThemeColorReferenceValue as Fi, sectionFactsForContent as Fn, parseSafeDownloadFilename as Fr, BREAKPOINT_LG as Ft, bookingPaymentCollectionOptionSchema as G, DEFAULT_SURFACE_TEXT_COLOR as Gi, runtimeBoxBackgroundSchema as Gn, backgroundAppearanceQuickColorTokenNames as Gr, getComponentBorderWidthPx as Gt, hasConfiguredBookingVertical as H, surfaceToneFromForegroundToken as Hi, resolveSectionPhotoPlacement as Hn, cardVariantRoleValues as Hr, MQ_SM_UP as Ht, blockIdentifierForCommand as I, resolveTokenOrCssColorValue as Ii, boundaryRuntimeMetricsForDecorativeTransition as In, generateCardCoreCss as Ir, BREAKPOINT_MD as It, require_react as J, surfaceForegroundInputFromResolved as Ji, stripStaleTransitionStyleGroup as Jn, resolveEffectiveKnobs as Jr, parseCustomCssRules as Jt, bookingPaymentTermsSchema as K, SURFACE_FOREGROUND_CSS_VARS as Ki, pageDesignEditorBackgroundOverrideOwner as Kn, parseBackgroundAppearanceColorToken as Kr, getComponentShadowVar as Kt, blockOrderIdentifiersForCommand as L, generateShadowValue$1 as Li, anglePolygonCss as Ln, getDefaultCardVariants as Lr, BREAKPOINT_SM as Lt, evaluateSiteCommandBatchExposure as M, formatButtonColourContractError as Mi, headerRootPaint as Mn, MAX_MANAGEMENT_MEDIA_UPLOAD_BYTES as Mr, generateMobileOverlayBackdropFilterFix as Mt, evaluateSiteCommandExposure as N, isCssColorLiteral as Ni, boundaryLayout as Nn, classifyKnownMimeType as Nr, getHeaderPaintTargets as Nt, stableStringify as O, textColorValue as Oi, resolveLookSlotSurfaces as On, asRecord$1 as Or, parseGradientPresetId as Ot, getSiteCommandMetadata as P, resolveOnColorForThemeToken as Pi, composeBoundary as Pn, managementMediaLibraryUploadLimitForMimeType as Pr, renderHeaderPaintTargetRules as Pt, createBlockRef as Q, expandPalette as Qi, deleteEnvSpecificKeys as Qn, asDesignBlockId as Qr, LABEL_FONT_SIZE_MAP as Qt, entryIdentifierForCommand as R, PUBLIC_BUTTON_ROLES as Ri, transitionCatalogueEntries as Rn, generateCardCss as Rr, BREAKPOINT_XL as Rt, normalizeLinkValue as S, backgroundColorStyle as Si, footerForegroundCandidates as Sn, resolveMediaIdentifier as Sr, resolveModeArrangement as St, isEventVisibility as T, mergeStyles as Ti, arrangementLookHooks as Tn, resolveVideoSelectionIntentForMediaField as Tr, gradientToCss as Tt, eventCommandScheduleSchema as U, buildThemeTokens as Ui, boxBackgroundOverlaySchema as Un, normalizeCardRole as Ur, MQ_TABLET_ONLY as Ut, pagePathForCommand as V, selectLogoVariant as Vi, resolveSectionBackground as Vn, cardRoleSchema as Vr, MQ_SM_DOWN as Vt, eventBookingOfferIntentSchema as W, defaultThemeTokens as Wi, boxBackgroundSchema as Wn, backgroundAppearanceColorTokenNames as Wr, headerVariantValues as Wt, generateCssVars as X, surfaceForegroundValue as Xi, summarizePortableMediaReferences as Xn, cardListKnobBlocks as Xr, INPUT_FONT_SIZE_MAP as Xt, pickShadeTowardBackground as Y, surfaceForegroundStyle as Yi, collectPortableMediaReferencesFromContent as Yn, cardListFamilyBlocks as Yr, FONT_WEIGHT_MAP as Yt, ianaTimezoneSchema as Z, surfaceForegroundValueWithOpacity as Zi, walkAndCollectImageAttrs as Zn, asAppearancePresetId as Zr, INPUT_SPACING_MAP as Zt, internalResolvedLinkSchema as _, resolveSurface as _i, buildGoogleFontFamilyQuery as _n, mediaTypeDiscriminants as _r, mergeHeaderNavTypographyPreference as _t, isRecord as a, parseThemeColorToken as aa, defineNoBlockDesignCapability as ai, generateButtonActionLayoutCss as an, getDirectImageUrlForRelativePath as ar, createFormRef as at, isResolvedInternalLinkEntityType as b, safeTokenOr as bi, buttonStyleSelectionSchema as bn, parseCanonicalMediaIdentifier as br, readStoredMode as bt, sdkEventOccurrenceInputSchema as c, featuresFromHex as ca, featureCardCompositionTreatmentValues as ci, resolvedButtonColourDeclarations as cn, isSiteScopedDirectImageStoragePath as cr, createSiteCommandSiteRef as ct, classifySdkEventBookingOffer as d, __commonJSMin as da, makeBoundaryId as di, parseThemeButtonVariantId as dn, mediaSchema as dr, slugPart as dt, onColorTokenName as ea, asPageFlowPresetId as ei, ACCORDION_SPACING_MAP as en, rotateNormalizedPoint as er, createCommandRef as et, RESOLVED_INTERNAL_LINK_ENTITY_TYPES as f, __toESM as fa, offeringsPreviewCompositionTreatmentValues as fi, themeButtonExtraClassesWithTrailingIcon as fn, persistableMediaSchema as fr, effectiveHeaderNavLinkStyle as ft, internalLinkSchema as g, visibleHeadingDecorationFamilyValues as gi, skinTokenCssVars as gn, resolveManagedMediaReference as gr, readOpeningForegroundProjection as gt, externalLinkSchema as h, toNonEmptyReadonlyArray as hi, parseThemeForPersistence as hn, indexRenderableMediaAssets as hr, transparentHeaderForegroundInput as ht, isObjectRecord as i, resolveOpaqueSurfaceHex as ia, defineFrameCapability as ii, ICON_SIZE_PX as in, resolveMediaTransformForAspect as ir, createFooterRef as it, mapEventCommandContent as j, compileButtonColourStates as ji, footerPreferencesSchema as jn, FILE_SIZE_LIMITS as jr, generateHeaderScrollTreatmentStyles as jt, createDryRunReport as k, opaqueSurfaceContextFromTheme as ki, pageDesignBoundaryTreatmentSchema as kn, normalizeAmbiguousStoragePathForSite as kr, deriveSiteStyleBlockPolicy as kt, sdkEventUpsertOptionalFieldSchemas as l, hexToRgb as la, headingDecorationColorTokenValues as li, resolvedButtonFocusDeclarations as ln, imageMediaSchema as lr, createVenueRef as lt, entryLinkSchema as m, tileTreatmentValues as mi, themeButtonVariantClassNames as mn, buildRenderableMediaAssetIndex as mr, headerLeafTextColor as mt, createRichTextDoc as n, ORDINARY_TEXT_MIN_CONTRAST_RATIO as na, assertNever$1 as ni, ACCORDION_TRIGGER_LETTER_SPACING as nn, isExplicitRectCrop as nr, createEventCategoryRef as nt, classifySdkEventTiming as o, parseBlockColorToken as oa, eventListTreatmentValues as oi, generateButtonCss as on, getDirectImageUrlForSiteScopedPath as or, createNavigationRef as ot, customLinkSchema as p, testimonialsCompositionTreatmentValues as pi, themeButtonSizeClassName as pn, runtimeMediaSchema as pr, headerForegroundCandidates as pt, require_jsx_runtime as q, surfaceForegroundDeclarations as qi, siteChromeBackgroundOverrideOwner as qn, defineBlockDesignMetadata as qr, parseBlockCustomCssRules as qt, isRichTextDoc as r, contrastRatio as ra, defineBlockDesignCapability as ri, ICON_CONFIG as rn, parseAspectRatioValue as rr, createEventSeriesRef as rt, sdkCourseBookingSettingsSchema as s, parseColorTokenParts as sa, eyebrowTreatmentValues as si, RESOLVED_BUTTON_DISABLED_DECLARATIONS as sn, getImageUrl as sr, createPageRef as st, RichTextDocSchema as t, getTextColorForBackground as ta, asSiteStyleId as ti, ACCORDION_TRIGGER_FONT_SCALE as tn, normalizeWidthCandidates as tr, createContentEntryRef as tt, classifySdkEventSchedule as u, oklchToHexGamut as ua, introCompositionTreatmentValues as ui, generateDefaultButtonSystem as un, mediaPosterSchema as ur, refSlug as ut, internalRouteOnlyLinkSchema as v, surfaceDecorationColors as vi, generateFontFaceCss as vn, mediaIdentifierSchema as vr, readHeaderNavFontSizePreference as vt, eventVisibilitySchema as w, cssVarValue as wi, generateNavLinkCSS as wn, deriveVideoSlotPolicy as wr, requireCuratedSiteStyle as wt, linkSchema as x, TokenResolver as xi, generateFooterCss as xn, parseMediaIdentifier as xr, resolveEffectiveArrangement as xt, isInternalResolvedLinkValue as y, resolveSurfaceForeground as yi, getFontWidthRange as yn, buildMediaIdentifierFromFilename as yr, arrangementManifestFromVariants as yt, pageIdentifierForBlockCommand as z, buttonVariantIdSchema as zi, deriveSectionGround as zn, renderCssDeclarations as zr, MQ_LG_UP as zt };
|
|
48271
|
+
export { createNavigationRef as $, cardRoleSchema as $n, __toESM as $r, footerPreferencesSchema as $t, eventManagementTiming as A, runtimeMediaSchema as An, backgroundColorStyle as Ar, BREAKPOINT_SM as At, bookingPaymentCollectionOptionSchema as B, deriveVideoSlotPolicy as Bn, PUBLIC_BUTTON_ROLES as Br, themeButtonSizeClassName as Bt, stableStringify as C, getDirectImageUrlForRelativePath as Cn, tileTreatmentValues as Cr, themeSchema as Ct, evaluateSiteCommandBatchExposure as D, mediaPosterSchema as Dn, surfaceDecorationColors as Dr, renderHeaderPaintTargetRules as Dt, mapEventCommandContent as E, isSiteScopedDirectImageStoragePath as En, resolveSurface as Er, getHeaderPaintTargets as Et, pageIdentifierForCommand as F, buildMediaIdentifierFromFilename as Fn, opaqueSurfaceDeclarations as Fr, getComponentShadowVar as Ft, createBlockRef as G, normalizeAmbiguousStoragePathForSite as Gn, surfaceForegroundInputFromResolved as Gr, buildTextContrastShadow as Gt, require_jsx_runtime as H, getExtensionForMimeType as Hn, surfaceToneFromForegroundToken as Hr, parseThemeForPersistence as Ht, pagePathForCommand as I, parseCanonicalMediaIdentifier as In, isCssColorLiteral as Ir, ICON_CONFIG as It, createContentEntryRef as J, MAX_MANAGEMENT_MEDIA_UPLOAD_BYTES as Jn, expandPalette as Jr, arrangementSlotNames as Jt, createBlocksRef as K, parseRelativeStoragePath as Kn, surfaceForegroundStyle as Kr, generateNavLinkCSS as Kt, hasConfiguredBookingVertical as L, parseMediaIdentifier as Ln, resolveOnColorForThemeToken as Lr, generateDefaultButtonSystem as Lt, blockOrderIdentifiersForCommand as M, resolveManagedMediaReference as Mn, mergeStyles as Mr, MQ_MD_DOWN as Mt, entryIdentifierForCommand as N, mediaTypeDiscriminants as Nn, rgbColorValue as Nr, headerVariantValues as Nt, evaluateSiteCommandExposure as O, mediaSchema as On, resolveSurfaceForeground as Or, BREAKPOINT_LG as Ot, pageIdentifierForBlockCommand as P, mediaIdentifierSchema as Pn, textColorStyle as Pr, getComponentBorderWidthPx as Pt, createFormRef as Q, renderCssDeclarations as Qn, __commonJSMin as Qr, pageDesignIntentSchemaVersion as Qt, eventCommandScheduleSchema as R, resolveMediaIdentifier as Rn, resolveThemeColorReferenceValue as Rr, parseThemeButtonVariantId as Rt, sortRecord as S, resolveMediaTransformForAspect as Sn, testimonialsCompositionTreatmentValues as Sr, deriveSiteStyleBlockPolicy as St, parseAndPlanCommandBatchForTypes as T, getImageUrl as Tn, visibleHeadingDecorationFamilyValues as Tr, generateMobileOverlayBackdropFilterFix as Tt, require_react as U, getMimeType as Un, defaultThemeTokens as Ur, buttonStyleSelectionSchema as Ut, bookingPaymentTermsSchema as V, resolveVideoSelectionIntentForMediaField as Vn, selectLogoVariant as Vr, themeButtonVariantClassNames as Vt, ianaTimezoneSchema as W, asRecord as Wn, surfaceForegroundDeclarations as Wr, footerForegroundCandidates as Wt, createEventSeriesRef as X, managementMediaLibraryUploadLimitForMimeType as Xn, parseThemeColorToken as Xr, resolveLookSlotSurfaces as Xt, createEventCategoryRef as Y, classifyKnownMimeType as Yn, getTextColorForBackground as Yr, resolveItemSurface as Yt, createFooterRef as Z, parseSafeDownloadFilename as Zn, parseBlockColorToken as Zr, pageDesignBoundaryTreatmentSchema as Zt, normalizeLinkValue as _, looksLikeUuid as _n, featureCardCompositionTreatmentValues as _r, requireCuratedSiteStyle as _t, classifySdkEventSchedule as a, parseCanonicalRuntimeBackground as an, cardListKnobBlocks as ar, effectiveHeaderNavLinkStyle as at, isEventVisibility as b, isExplicitRectCrop as bn, makeBoundaryId as br, getGradientPreset as bt, customLinkSchema as c, boxBackgroundOverlaySchema as cn, asLayoutVariantKey as cr, transparentHeaderForegroundInput as ct, internalLinkSchema as d, siteChromeBackgroundOverrideOwner as dn, assertNever$1 as dr, readHeaderNavFontSizePreference as dt, headerRootPaint as en, cardVariantRoleValues as er, createPageRef as et, internalResolvedLinkSchema as f, stripStaleTransitionStyleGroup as fn, defineBlockDesignCapability as fr, arrangementManifestFromVariants as ft, linkSchema as g, deleteEnvSpecificKeys as gn, eyebrowTreatmentValues as gr, resolvePublishedLook as gt, isResolvedInternalLinkEntityType as h, walkAndCollectImageAttrs as hn, eventListTreatmentValues as hr, resolveModeArrangement as ht, sdkEventUpsertOptionalFieldSchemas as i, deriveSectionGround as in, cardListFamilyBlocks as ir, slugPart as it, blockIdentifierForCommand as j, buildRenderableMediaAssetIndex as jn, borderColorStyle as jr, BREAKPOINT_XL as jt, getSiteCommandMetadata as k, persistableMediaSchema as kn, TokenResolver as kr, BREAKPOINT_MD as kt, entryLinkSchema as l, boxBackgroundSchema as ln, asPageFlowPresetId as lr, readOpeningForegroundProjection as lt, isInternalResolvedLinkValue as m, summarizePortableMediaReferences as mn, defineNoBlockDesignCapability as mr, resolveEffectiveArrangement as mt, sdkCourseBookingSettingsSchema as n, composeBoundary as nn, defineBlockDesignMetadata as nr, createVenueRef as nt, classifySdkEventBookingOffer as o, resolveSectionBackground as on, asAppearancePresetId as or, headerForegroundCandidates as ot, internalRouteOnlyLinkSchema as p, collectPortableMediaReferencesFromContent as pn, defineFrameCapability as pr, readStoredMode as pt, createCommandRef as q, FILE_SIZE_LIMITS as qn, surfaceForegroundValue as qr, arrangementLookHooks as qt, sdkEventOccurrenceInputSchema as r, sectionFactsForContent as rn, resolveEffectiveKnobs as rr, refSlug as rt, RESOLVED_INTERNAL_LINK_ENTITY_TYPES as s, resolveSectionPhotoPlacement as sn, asDesignBlockId as sr, headerLeafTextColor as st, classifySdkEventTiming as t, boundaryLayout as tn, normalizeCardRole as tr, createSiteCommandSiteRef as tt, externalLinkSchema as u, runtimeBoxBackgroundSchema as un, asSiteStyleId as ur, mergeHeaderNavTypographyPreference as ut, pageLinkSchema as v, rotateNormalizedPoint as vn, headingDecorationColorTokenValues as vr, compiledRuntimeStyleFieldNames as vt, createDryRunReport as w, getDirectImageUrlForSiteScopedPath as wn, toNonEmptyReadonlyArray as wr, generateHeaderScrollTreatmentStyles as wt, venueManagementFields as x, parseAspectRatioValue as xn, offeringsPreviewCompositionTreatmentValues as xr, parseGradientPresetId as xt, eventVisibilitySchema as y, normalizeWidthCandidates as yn, introCompositionTreatmentValues as yr, gradientToCss as yt, eventBookingOfferIntentSchema as z, slugifyMediaIdentifier as zn, resolveTokenOrCssColorValue as zr, themeButtonExtraClassesWithTrailingIcon as zt };
|