@riverbankcms/sdk 0.126.0 → 0.127.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-DcYJxTgc.mjs → PreviewEditorSidebar-BXtfF7tp.mjs} +58 -38
- package/dist/{PreviewEditorUI-Ctt1yTJr.mjs → PreviewEditorUI-Dou73Q0K.mjs} +2 -2
- package/dist/{SdkPreviewModeRuntime-CvW1vdQ4.mjs → SdkPreviewModeRuntime-B0HPXr-l.mjs} +119 -41
- package/dist/{SiteChromeCustomizeContext-C87qlKWw.mjs → SiteChromeCustomizeContext-DZiDBAYu.mjs} +9961 -9583
- package/dist/_dts/ai/src/contracts/proposals.d.ts +198 -0
- package/dist/_dts/api/src/contentRuntime.d.ts +1 -5
- package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +1 -0
- package/dist/_dts/blocks/src/index.d.ts +3 -2
- package/dist/_dts/blocks/src/lib/media.d.ts +267 -0
- package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +0 -13
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +4 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/mergeResolveImageUrlContexts.d.ts +7 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +2 -2
- package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +17 -0
- package/dist/_dts/content-editor/src/ui/blockValidationView.d.ts +1 -1
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +143 -155
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +4 -0
- package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +26 -0
- package/dist/_dts/editor-blocks/src/widgets/rich-text/imageInsert.d.ts +3 -3
- package/dist/_dts/media-editor/src/MediaEditor.d.ts +2 -2
- package/dist/_dts/media-editor/src/context.d.ts +1 -2
- package/dist/_dts/media-editor/src/index.d.ts +3 -1
- package/dist/_dts/media-editor/src/mediaSelection.d.ts +32 -0
- package/dist/_dts/media-editor/src/types.d.ts +3 -1
- package/dist/_dts/media-editor/src/useMediaSelection.d.ts +26 -0
- package/dist/_dts/preview-next/src/client/index.d.ts +2 -0
- package/dist/_dts/preview-next/src/client/preview/HeaderMenuControls.d.ts +12 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +12 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -1
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +4 -49
- package/dist/_dts/preview-next/src/client/preview/headerInteractionPaletteSurfaceState.d.ts +8 -0
- package/dist/_dts/preview-next/src/client/preview/previewThemeRoles.d.ts +15 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeCustomizeTypes.d.ts +54 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +13 -3
- package/dist/_dts/preview-next/src/client/preview/siteChromeNavQuickControlHistory.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +6 -3
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -2
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/effects/presets/background.d.ts +1 -1
- package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +0 -18
- package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -3
- package/dist/_dts/theme-core/src/header/containerSchema.d.ts +20 -0
- package/dist/_dts/theme-core/src/header/generateHeaderCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +14 -0
- package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +3 -0
- package/dist/_dts/theme-core/src/header/paintTargets.d.ts +25 -0
- package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +11 -0
- package/dist/_dts/theme-core/src/header/surfaceRules.d.ts +9 -0
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
- package/dist/_dts/theme-core/src/schema.d.ts +67 -19
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -51
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -11
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +3 -51
- package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +32 -0
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +19 -106
- package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +22 -0
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +4 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
- package/dist/_dts/theme-core/src/site-styles/lookOptionGroups.d.ts +24 -0
- package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +1 -2
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +4 -22
- package/dist/_dts/theme-core/src/site-styles/pageDesignEditorOptions.d.ts +21 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
- package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +4 -1
- package/dist/cli/index.mjs +973 -1081
- package/dist/client/{DiscountCodeDisclosure-DS0AuFWW.mjs → DiscountCodeDisclosure-BDFRp8Y7.mjs} +1 -1
- package/dist/client/{EventCombined.client-DtMxLr7q.mjs → EventCombined.client-DJgF1_lf.mjs} +2 -2
- package/dist/client/{EventListing.client-BdLSRNg1.mjs → EventListing.client-CnWGNjOr.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-BrpC6vsT.mjs → LeafletStaticMap-BISs9Bl7.mjs} +1 -1
- package/dist/client/{MagicLinkForm-Bt3IuLMy.mjs → MagicLinkForm-b5E_HoG9.mjs} +1 -1
- package/dist/client/{StepIndicator-CBYPFVoy.mjs → StepIndicator-D8gVYkK-.mjs} +2 -2
- package/dist/client/{accordion-BqqwPJWM.mjs → accordion-DFDajgDz.mjs} +1 -1
- package/dist/client/{bookingForm-SneP3yxC.mjs → bookingForm-Bdqj9-52.mjs} +5 -5
- package/dist/client/bookings.mjs +126 -23
- package/dist/client/{carousel-BTIR9L3I.mjs → carousel-Cvqf-kN8.mjs} +1 -1
- package/dist/client/{cart-bqiqd8SX.mjs → cart-CuH2TJXP.mjs} +3 -3
- package/dist/client/{checkout-WbTFV5v4.mjs → checkout-CMNPpejZ.mjs} +3 -3
- package/dist/client/client.mjs +1227 -1209
- package/dist/client/{courseRegistration-BcemLAdN.mjs → courseRegistration-DTEYWL6Z.mjs} +6 -6
- package/dist/client/{eventCalendar-CsxIw0V_.mjs → eventCalendar-BW-XoxZ0.mjs} +4 -4
- package/dist/client/{eventCombined-B6XMoHfa.mjs → eventCombined-Bpn7s0y9.mjs} +2 -2
- package/dist/client/{eventDetails-BJaoPPfo.mjs → eventDetails-D2uUSTMH.mjs} +3 -3
- package/dist/client/{eventListing-DgwdYHRT.mjs → eventListing-CVr1c094.mjs} +2 -2
- package/dist/client/{eventRegistration-C0O3folu.mjs → eventRegistration-Dv4AvkMw.mjs} +6 -6
- package/dist/client/{form-Bk9txGFt.mjs → form-DxdKf9fs.mjs} +1 -1
- package/dist/client/{headerSection-yIBt0yTv.mjs → headerSection-BaXI5Sro.mjs} +2 -2
- package/dist/client/hooks.mjs +801 -874
- package/dist/client/{locationMap-C-3KIpv-.mjs → locationMap-BEtW2fKz.mjs} +2 -2
- package/dist/client/{newsletterForm-CzB8g8h2.mjs → newsletterForm-BKKs0S4R.mjs} +1 -1
- package/dist/client/{pricing-C1QeDes_.mjs → pricing-ClkqcElA.mjs} +1 -1
- package/dist/client/{productDetail-w7SBp5uc.mjs → productDetail-H-ru8dyy.mjs} +3 -3
- package/dist/client/{productList-D0tGKHGf.mjs → productList-Buyi5c0C.mjs} +3 -3
- package/dist/client/{propsDecoder-Bcin2DB3.mjs → propsDecoder-BF7i6Ijg.mjs} +127 -55
- package/dist/client/rendering/client.mjs +928 -916
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +1130 -1114
- package/dist/client/{scrollToBlock-h-o_STf_.mjs → scrollToBlock-D_7t8yWb.mjs} +1 -1
- package/dist/client/{shop-BGzmL8O_.mjs → shop-CF7SZQNX.mjs} +5 -5
- package/dist/client/{shop-commerce-lX8QxjX-.mjs → shop-commerce-DA7_Rq5p.mjs} +4 -4
- package/dist/client/{shop-commerce-store-CEurARtu.mjs → shop-commerce-store-BmLqW7Gh.mjs} +1 -1
- package/dist/client/{shopShared-DXxH8xxw.mjs → shopShared-WL-E1znM.mjs} +2 -2
- package/dist/client/{useEventFilters-B591g9vd.mjs → useEventFilters-rc8VLeLV.mjs} +2 -2
- package/dist/client/{usePolling-BvnChV4m.mjs → usePolling-1ncrfd4S.mjs} +2 -2
- package/dist/preview-next/client/runtime.mjs +3 -3
- package/dist/{sdk-runtime-M__i3Jce.mjs → sdk-runtime-BnrCCFJq.mjs} +1 -1
- package/dist/{separator-VSlnI9bc.mjs → separator-CFvBx2yl.mjs} +1 -1
- package/dist/server/components.mjs +1302 -1350
- package/dist/server/config-validation.mjs +801 -874
- package/dist/server/config.mjs +801 -874
- package/dist/server/data.mjs +801 -874
- package/dist/server/index.mjs +1 -1
- package/dist/server/next.mjs +1303 -1351
- package/dist/server/page-converter.mjs +801 -874
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +1296 -1344
- package/dist/server/rendering.mjs +1302 -1350
- package/dist/server/routing.mjs +869 -895
- package/dist/server/server.mjs +802 -875
- package/dist/server/theme-bridge.mjs +151 -118
- package/dist/server/theme.mjs +111 -23
- package/package.json +1 -1
- package/dist/_dts/editor-blocks/src/widgets/rich-text/ensureRichTextImageAssetIdentifier.d.ts +0 -8
package/dist/server/next.mjs
CHANGED
|
@@ -11774,6 +11774,99 @@ function createRichTextDoc(paragraphs) {
|
|
|
11774
11774
|
} : { type: "paragraph" })
|
|
11775
11775
|
};
|
|
11776
11776
|
}
|
|
11777
|
+
const PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
11778
|
+
"document",
|
|
11779
|
+
"spreadsheet",
|
|
11780
|
+
"archive",
|
|
11781
|
+
"audio"
|
|
11782
|
+
];
|
|
11783
|
+
const hotspotSchema$1 = z.object({
|
|
11784
|
+
x: z.number().min(0).max(1),
|
|
11785
|
+
y: z.number().min(0).max(1),
|
|
11786
|
+
radius: z.number().optional()
|
|
11787
|
+
});
|
|
11788
|
+
const rotationSchema$1 = z.union([
|
|
11789
|
+
z.literal(0),
|
|
11790
|
+
z.literal(90),
|
|
11791
|
+
z.literal(180),
|
|
11792
|
+
z.literal(270)
|
|
11793
|
+
]);
|
|
11794
|
+
const rectSchema$1 = z.tuple([
|
|
11795
|
+
z.number(),
|
|
11796
|
+
z.number(),
|
|
11797
|
+
z.number(),
|
|
11798
|
+
z.number()
|
|
11799
|
+
]);
|
|
11800
|
+
const aspectCropSchema$1 = z.object({
|
|
11801
|
+
aspect: z.preprocess((value) => value == null ? void 0 : value, z.string().optional()),
|
|
11802
|
+
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema$1.optional()),
|
|
11803
|
+
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema$1.optional()),
|
|
11804
|
+
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema$1.optional())
|
|
11805
|
+
});
|
|
11806
|
+
const transformSchema$1 = z.object({
|
|
11807
|
+
aspectCrops: z.preprocess((value) => {
|
|
11808
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
11809
|
+
return value;
|
|
11810
|
+
}, z.record(z.string(), aspectCropSchema$1.catch({}))).optional(),
|
|
11811
|
+
rect: rectSchema$1.optional(),
|
|
11812
|
+
hotspot: hotspotSchema$1.optional(),
|
|
11813
|
+
rotation: rotationSchema$1.optional()
|
|
11814
|
+
});
|
|
11815
|
+
const mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
11816
|
+
tag: z.literal("storage"),
|
|
11817
|
+
assetId: z.string().optional(),
|
|
11818
|
+
storageBucket: z.string().min(1),
|
|
11819
|
+
storagePath: z.string().min(1)
|
|
11820
|
+
}), z.object({
|
|
11821
|
+
tag: z.literal("external-src"),
|
|
11822
|
+
assetId: z.string().optional(),
|
|
11823
|
+
src: z.string().url()
|
|
11824
|
+
})]);
|
|
11825
|
+
const mediaBaseSchema = z.object({
|
|
11826
|
+
purpose: z.string().optional(),
|
|
11827
|
+
placeholder: z.boolean().default(true).optional(),
|
|
11828
|
+
assetId: z.string().optional(),
|
|
11829
|
+
identifier: z.string().optional(),
|
|
11830
|
+
src: z.string().optional(),
|
|
11831
|
+
alt: z.string().optional(),
|
|
11832
|
+
filename: z.string().optional(),
|
|
11833
|
+
mimeType: z.string().optional(),
|
|
11834
|
+
width: z.number().optional(),
|
|
11835
|
+
height: z.number().optional(),
|
|
11836
|
+
storageBucket: z.string().optional(),
|
|
11837
|
+
storagePath: z.string().optional(),
|
|
11838
|
+
poster: mediaPosterSchema.optional(),
|
|
11839
|
+
transform: transformSchema$1.optional()
|
|
11840
|
+
});
|
|
11841
|
+
/**
|
|
11842
|
+
* Canonical identifier carried by media values that are safe to persist.
|
|
11843
|
+
* Parsing trims boundary input so downstream writers cannot retain whitespace-only
|
|
11844
|
+
* identifiers or independently disagree about normalization.
|
|
11845
|
+
*/
|
|
11846
|
+
const mediaIdentifierSchema = z.string().trim().min(1).brand();
|
|
11847
|
+
const imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
11848
|
+
const videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
11849
|
+
const audioMediaSchema = mediaBaseSchema.extend({ type: z.literal("audio") });
|
|
11850
|
+
const documentMediaSchema = mediaBaseSchema.extend({ type: z.literal("document") });
|
|
11851
|
+
const spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z.literal("spreadsheet") });
|
|
11852
|
+
const archiveMediaSchema = mediaBaseSchema.extend({ type: z.literal("archive") });
|
|
11853
|
+
const mediaSchema$1 = z.discriminatedUnion("type", [
|
|
11854
|
+
imageMediaSchema,
|
|
11855
|
+
videoMediaSchema,
|
|
11856
|
+
audioMediaSchema,
|
|
11857
|
+
documentMediaSchema,
|
|
11858
|
+
spreadsheetMediaSchema,
|
|
11859
|
+
archiveMediaSchema
|
|
11860
|
+
]);
|
|
11861
|
+
const persistableMediaBaseSchema = mediaBaseSchema.extend({ identifier: mediaIdentifierSchema });
|
|
11862
|
+
z.discriminatedUnion("type", [
|
|
11863
|
+
persistableMediaBaseSchema.extend({ type: z.literal("image") }),
|
|
11864
|
+
persistableMediaBaseSchema.extend({ type: z.literal("video") }),
|
|
11865
|
+
persistableMediaBaseSchema.extend({ type: z.literal("audio") }),
|
|
11866
|
+
persistableMediaBaseSchema.extend({ type: z.literal("document") }),
|
|
11867
|
+
persistableMediaBaseSchema.extend({ type: z.literal("spreadsheet") }),
|
|
11868
|
+
persistableMediaBaseSchema.extend({ type: z.literal("archive") })
|
|
11869
|
+
]);
|
|
11777
11870
|
//#endregion
|
|
11778
11871
|
//#region ../blocks/src/system/manifest/fieldValidation/index.ts
|
|
11779
11872
|
const TEL_RE = /^[+()0-9\s-]{3,}$/;
|
|
@@ -12063,7 +12156,7 @@ function canonicalizeFieldValueForWrite(plan, value) {
|
|
|
12063
12156
|
case "media": {
|
|
12064
12157
|
if (!isPlainObject$5(value)) return value;
|
|
12065
12158
|
const canonical = { ...value };
|
|
12066
|
-
if (
|
|
12159
|
+
if (mediaIdentifierSchema.safeParse(canonical.identifier).success) deleteEnvSpecificKeys(canonical);
|
|
12067
12160
|
return canonical;
|
|
12068
12161
|
}
|
|
12069
12162
|
case "group": return canonicalizeObjectForWrite(selectedGroupChildPlans(plan, value), value);
|
|
@@ -12158,7 +12251,7 @@ function normalizeObjectChildren(children, value, ctx) {
|
|
|
12158
12251
|
function normalizeInlineTextFallbacks(plans, values, ctx) {
|
|
12159
12252
|
for (const plan of plans) {
|
|
12160
12253
|
if (plan.kind !== "inlineText" || !plan.plainTextFallbackPath) continue;
|
|
12161
|
-
if (!isMissingForPlan(plan, values[plan.fieldId])) continue;
|
|
12254
|
+
if (!isMissingForPlan(plan, values[plan.fieldId]) && !(ctx.allowIncomplete && !parseInlineTextFromUnknown(values[plan.fieldId]).ok)) continue;
|
|
12162
12255
|
const fallback = getAtFieldPath(values, plan.plainTextFallbackPath);
|
|
12163
12256
|
if (typeof fallback !== "string" || fallback.trim().length === 0) continue;
|
|
12164
12257
|
values[plan.fieldId] = normalizeFieldValue(plan, plainTextToInlineText(fallback), ctx);
|
|
@@ -12199,7 +12292,7 @@ function validateNormalizedFieldValue(plan, value, ctx) {
|
|
|
12199
12292
|
case "select": return validateSelectPlan(plan, value);
|
|
12200
12293
|
case "richText": return isValidRichTextDoc(value) ? [] : [issue(plan, "invalidRichText")];
|
|
12201
12294
|
case "inlineText": return validateInlineTextPlan(plan, value);
|
|
12202
|
-
case "media": return isPlainObject$5(value) &&
|
|
12295
|
+
case "media": return isPlainObject$5(value) && mediaIdentifierSchema.safeParse(value.identifier).success && (value.type === void 0 || typeof value.type === "string" && plan.allowedMediaTypes.includes(value.type)) ? [] : [issue(plan, "invalidMedia")];
|
|
12203
12296
|
case "link": return linkSchema.safeParse(value).success ? [] : [issue(plan, "invalidLink")];
|
|
12204
12297
|
case "repeater": return validateRepeaterPlan(plan, value, ctx);
|
|
12205
12298
|
case "group": return validateGroupPlan(plan, value, ctx);
|
|
@@ -12918,6 +13011,17 @@ function asAccessibleSurfaceToken(token) {
|
|
|
12918
13011
|
return token;
|
|
12919
13012
|
}
|
|
12920
13013
|
//#endregion
|
|
13014
|
+
//#region ../theme-core/src/site-styles/lookOptionGroups.ts
|
|
13015
|
+
function defineLookOptionGroup(group) {
|
|
13016
|
+
defaultOption(group);
|
|
13017
|
+
return group;
|
|
13018
|
+
}
|
|
13019
|
+
function defaultOption(group) {
|
|
13020
|
+
const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
|
|
13021
|
+
if (option) return option;
|
|
13022
|
+
throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
|
|
13023
|
+
}
|
|
13024
|
+
//#endregion
|
|
12921
13025
|
//#region ../theme-core/src/site-styles/types.ts
|
|
12922
13026
|
/**
|
|
12923
13027
|
* Defines a literal-preserving catalog while rejecting top-level extra keys on
|
|
@@ -13063,767 +13167,655 @@ function defineBlockDesignCapability(capability) {
|
|
|
13063
13167
|
//#region ../theme-core/src/site-styles/appearancePresetResolution.ts
|
|
13064
13168
|
function assertValidOptionGroups(preset) {
|
|
13065
13169
|
preset.optionGroups?.forEach((group) => {
|
|
13066
|
-
|
|
13170
|
+
defineLookOptionGroup(group);
|
|
13067
13171
|
});
|
|
13068
13172
|
}
|
|
13069
13173
|
function defineBlockAppearancePreset(preset) {
|
|
13070
13174
|
assertValidOptionGroups(preset);
|
|
13071
13175
|
return preset;
|
|
13072
13176
|
}
|
|
13073
|
-
|
|
13074
|
-
|
|
13075
|
-
|
|
13076
|
-
|
|
13077
|
-
|
|
13078
|
-
|
|
13079
|
-
|
|
13080
|
-
|
|
13081
|
-
|
|
13082
|
-
|
|
13083
|
-
|
|
13084
|
-
|
|
13085
|
-
|
|
13086
|
-
|
|
13087
|
-
|
|
13088
|
-
|
|
13089
|
-
|
|
13090
|
-
|
|
13091
|
-
|
|
13092
|
-
|
|
13093
|
-
|
|
13094
|
-
|
|
13095
|
-
|
|
13177
|
+
//#endregion
|
|
13178
|
+
//#region ../theme-core/src/site-styles/blockAppearancePresets.ts
|
|
13179
|
+
const brandScrimOptionGroups = [{
|
|
13180
|
+
id: "image-surface-treatment",
|
|
13181
|
+
label: "Treatment",
|
|
13182
|
+
defaultOptionId: "brand-scrim-primary",
|
|
13183
|
+
options: [{
|
|
13184
|
+
id: "brand-scrim-primary",
|
|
13185
|
+
label: "Brand scrim",
|
|
13186
|
+
designPatch: { imageSurfaceTreatment: {
|
|
13187
|
+
kind: "brand-scrim",
|
|
13188
|
+
token: "primary"
|
|
13189
|
+
} }
|
|
13190
|
+
}, {
|
|
13191
|
+
id: "neutral-scrim",
|
|
13192
|
+
label: "Neutral scrim",
|
|
13193
|
+
designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
|
|
13194
|
+
}]
|
|
13195
|
+
}];
|
|
13196
|
+
const microBannerLayoutPatches = [{
|
|
13197
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
13198
|
+
designPatch: { sectionHeight: "banner" }
|
|
13199
|
+
}];
|
|
13200
|
+
defineBlockAppearancePreset({
|
|
13201
|
+
id: "hero-immersive-image",
|
|
13202
|
+
target: "hero",
|
|
13203
|
+
label: "Immersive image hero",
|
|
13204
|
+
blockKinds: ["block.hero"],
|
|
13205
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13206
|
+
layoutPatches: [{
|
|
13207
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
13208
|
+
designPatch: {
|
|
13209
|
+
sectionHeight: "banner",
|
|
13210
|
+
heroTypographyScale: "display"
|
|
13096
13211
|
}
|
|
13097
|
-
}
|
|
13098
|
-
|
|
13099
|
-
|
|
13100
|
-
|
|
13101
|
-
|
|
13102
|
-
|
|
13103
|
-
|
|
13104
|
-
|
|
13105
|
-
|
|
13106
|
-
|
|
13107
|
-
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
|
|
13111
|
-
|
|
13112
|
-
|
|
13113
|
-
|
|
13114
|
-
|
|
13115
|
-
|
|
13116
|
-
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
|
|
13120
|
-
|
|
13121
|
-
token: "primary",
|
|
13122
|
-
intensity: "balanced"
|
|
13123
|
-
} }
|
|
13124
|
-
}]
|
|
13125
|
-
}],
|
|
13126
|
-
layoutPatches: [{
|
|
13127
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
13128
|
-
designPatch: {
|
|
13129
|
-
sectionHeight: "banner",
|
|
13130
|
-
heroTypographyScale: "editorial"
|
|
13131
|
-
}
|
|
13132
|
-
}],
|
|
13133
|
-
design: {
|
|
13134
|
-
sectionSurface: "hero-image",
|
|
13135
|
-
contentFrame: panelFrame("raised"),
|
|
13136
|
-
itemSurface: "none",
|
|
13137
|
-
sectionHeight: "immersive",
|
|
13138
|
-
heroComposition: "bottom-left",
|
|
13139
|
-
heroTypographyScale: "display",
|
|
13140
|
-
imageSurfaceTreatment: {
|
|
13212
|
+
}],
|
|
13213
|
+
design: {
|
|
13214
|
+
sectionSurface: "hero-image",
|
|
13215
|
+
contentFrame: plainFrame,
|
|
13216
|
+
itemSurface: "none",
|
|
13217
|
+
sectionHeight: "hero",
|
|
13218
|
+
heroComposition: "center",
|
|
13219
|
+
heroTypographyScale: "display",
|
|
13220
|
+
imageSurfaceTreatment: { kind: "neutral-wash" }
|
|
13221
|
+
}
|
|
13222
|
+
}), defineBlockAppearancePreset({
|
|
13223
|
+
id: "hero-bottom-left-panel",
|
|
13224
|
+
target: "hero",
|
|
13225
|
+
label: "Bottom-left panel hero",
|
|
13226
|
+
blockKinds: ["block.hero"],
|
|
13227
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13228
|
+
optionGroups: [{
|
|
13229
|
+
id: "image-surface-treatment",
|
|
13230
|
+
label: "Treatment",
|
|
13231
|
+
defaultOptionId: "neutral-scrim",
|
|
13232
|
+
options: [{
|
|
13233
|
+
id: "neutral-scrim",
|
|
13234
|
+
label: "Neutral scrim",
|
|
13235
|
+
designPatch: { imageSurfaceTreatment: {
|
|
13141
13236
|
kind: "neutral-scrim",
|
|
13142
13237
|
intensity: "balanced"
|
|
13143
|
-
}
|
|
13144
|
-
}
|
|
13145
|
-
|
|
13146
|
-
|
|
13147
|
-
|
|
13148
|
-
id: "hero-poster-image",
|
|
13149
|
-
target: "hero",
|
|
13150
|
-
label: "Poster image hero",
|
|
13151
|
-
blockKinds: ["block.hero"],
|
|
13152
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13153
|
-
layoutPatches: [{
|
|
13154
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
13155
|
-
designPatch: {
|
|
13156
|
-
sectionHeight: "banner",
|
|
13157
|
-
heroTypographyScale: "display"
|
|
13158
|
-
}
|
|
13159
|
-
}],
|
|
13160
|
-
design: {
|
|
13161
|
-
sectionSurface: "hero-image",
|
|
13162
|
-
contentFrame: plainFrame,
|
|
13163
|
-
itemSurface: "none",
|
|
13164
|
-
sectionHeight: "immersive",
|
|
13165
|
-
heroComposition: "center",
|
|
13166
|
-
heroTypographyScale: "poster",
|
|
13167
|
-
imageSurfaceTreatment: {
|
|
13238
|
+
} }
|
|
13239
|
+
}, {
|
|
13240
|
+
id: "brand-scrim-primary",
|
|
13241
|
+
label: "Brand scrim",
|
|
13242
|
+
designPatch: { imageSurfaceTreatment: {
|
|
13168
13243
|
kind: "brand-scrim",
|
|
13169
13244
|
token: "primary",
|
|
13170
|
-
intensity: "
|
|
13171
|
-
}
|
|
13172
|
-
}
|
|
13173
|
-
}
|
|
13174
|
-
|
|
13175
|
-
|
|
13176
|
-
|
|
13177
|
-
|
|
13178
|
-
label: "Brand scrim image hero",
|
|
13179
|
-
blockKinds: ["block.hero"],
|
|
13180
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13181
|
-
optionGroups: [{
|
|
13182
|
-
id: "image-surface-treatment",
|
|
13183
|
-
label: "Treatment",
|
|
13184
|
-
selectedOptionId: "brand-scrim-primary",
|
|
13185
|
-
options: [{
|
|
13186
|
-
id: "brand-scrim-primary",
|
|
13187
|
-
label: "Brand scrim",
|
|
13188
|
-
designPatch: { imageSurfaceTreatment: {
|
|
13189
|
-
kind: "brand-scrim",
|
|
13190
|
-
token: "primary"
|
|
13191
|
-
} }
|
|
13192
|
-
}, {
|
|
13193
|
-
id: "neutral-scrim",
|
|
13194
|
-
label: "Neutral scrim",
|
|
13195
|
-
designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
|
|
13196
|
-
}]
|
|
13197
|
-
}],
|
|
13198
|
-
layoutPatches: [{
|
|
13199
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
13200
|
-
designPatch: { sectionHeight: "banner" }
|
|
13201
|
-
}],
|
|
13202
|
-
design: {
|
|
13203
|
-
sectionSurface: "hero-image",
|
|
13204
|
-
contentFrame: plainFrame,
|
|
13205
|
-
itemSurface: "none",
|
|
13206
|
-
sectionHeight: "immersive",
|
|
13207
|
-
heroComposition: "center",
|
|
13208
|
-
heroTypographyScale: "display",
|
|
13209
|
-
imageSurfaceTreatment: {
|
|
13210
|
-
kind: "brand-scrim",
|
|
13211
|
-
token: "primary"
|
|
13212
|
-
}
|
|
13213
|
-
}
|
|
13214
|
-
}),
|
|
13215
|
-
defineBlockAppearancePreset({
|
|
13216
|
-
kind: "block-design",
|
|
13217
|
-
id: "hero-brand-scrim-fixed-frame",
|
|
13218
|
-
target: "hero",
|
|
13219
|
-
label: "Fixed-frame brand scrim hero",
|
|
13220
|
-
blockKinds: ["block.hero"],
|
|
13221
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13222
|
-
optionGroups: [{
|
|
13223
|
-
id: "image-surface-treatment",
|
|
13224
|
-
label: "Treatment",
|
|
13225
|
-
selectedOptionId: "brand-scrim-primary",
|
|
13226
|
-
options: [{
|
|
13227
|
-
id: "brand-scrim-primary",
|
|
13228
|
-
label: "Brand scrim",
|
|
13229
|
-
designPatch: { imageSurfaceTreatment: {
|
|
13230
|
-
kind: "brand-scrim",
|
|
13231
|
-
token: "primary"
|
|
13232
|
-
} }
|
|
13233
|
-
}, {
|
|
13234
|
-
id: "neutral-scrim",
|
|
13235
|
-
label: "Neutral scrim",
|
|
13236
|
-
designPatch: { imageSurfaceTreatment: { kind: "neutral-scrim" } }
|
|
13237
|
-
}]
|
|
13238
|
-
}],
|
|
13239
|
-
layoutPatches: [{
|
|
13240
|
-
constraints: { layoutVariantKeys: ["micro"] },
|
|
13241
|
-
designPatch: { sectionHeight: "banner" }
|
|
13242
|
-
}],
|
|
13243
|
-
design: {
|
|
13244
|
-
sectionSurface: "hero-image",
|
|
13245
|
-
contentFrame: plainFrame,
|
|
13246
|
-
itemSurface: "none",
|
|
13247
|
-
sectionHeight: "immersive",
|
|
13248
|
-
heroComposition: "center",
|
|
13249
|
-
heroTypographyScale: "display",
|
|
13250
|
-
imageSurfaceTreatment: {
|
|
13251
|
-
kind: "brand-scrim",
|
|
13252
|
-
token: "primary"
|
|
13253
|
-
},
|
|
13254
|
-
imageSurfaceMotion: "fixed-frame",
|
|
13255
|
-
eyebrowTreatment: "accent-pill-bounce"
|
|
13256
|
-
}
|
|
13257
|
-
}),
|
|
13258
|
-
defineBlockAppearancePreset({
|
|
13259
|
-
kind: "block-design",
|
|
13260
|
-
id: "hero-brand-depth-expressive",
|
|
13261
|
-
target: "hero",
|
|
13262
|
-
label: "Expressive brand-depth hero",
|
|
13263
|
-
blockKinds: ["block.hero"],
|
|
13264
|
-
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13265
|
-
design: {
|
|
13266
|
-
sectionSurface: "brand-depth-band",
|
|
13267
|
-
contentFrame: plainFrame,
|
|
13268
|
-
itemSurface: "none",
|
|
13269
|
-
heroComposition: "center",
|
|
13270
|
-
heroTypographyScale: "editorial",
|
|
13271
|
-
eyebrowTreatment: "accent-pill-bounce"
|
|
13272
|
-
}
|
|
13273
|
-
}),
|
|
13274
|
-
defineBlockAppearancePreset({
|
|
13275
|
-
kind: "block-design",
|
|
13276
|
-
id: "hero-contained-intro",
|
|
13277
|
-
target: "hero",
|
|
13278
|
-
label: "Contained intro hero",
|
|
13279
|
-
blockKinds: ["block.hero"],
|
|
13280
|
-
design: {
|
|
13281
|
-
sectionSurface: "muted-band",
|
|
13282
|
-
contentFrame: panelFrame("inset"),
|
|
13283
|
-
itemSurface: "none",
|
|
13284
|
-
heroComposition: "center",
|
|
13285
|
-
heroTypographyScale: "editorial"
|
|
13286
|
-
}
|
|
13287
|
-
}),
|
|
13288
|
-
defineBlockAppearancePreset({
|
|
13289
|
-
kind: "block-design",
|
|
13290
|
-
id: "hero-split-editorial",
|
|
13291
|
-
target: "hero",
|
|
13292
|
-
label: "Editorial split hero",
|
|
13293
|
-
blockKinds: ["block.hero"],
|
|
13294
|
-
constraints: { layoutFamilies: ["split"] },
|
|
13295
|
-
design: {
|
|
13296
|
-
sectionSurface: "base",
|
|
13297
|
-
contentFrame: plainFrame,
|
|
13298
|
-
itemSurface: "none",
|
|
13299
|
-
heroTypographyScale: "editorial"
|
|
13300
|
-
}
|
|
13301
|
-
}),
|
|
13302
|
-
defineBlockAppearancePreset({
|
|
13303
|
-
kind: "block-design",
|
|
13304
|
-
id: "hero-split-brand",
|
|
13305
|
-
target: "hero",
|
|
13306
|
-
label: "Brand split hero",
|
|
13307
|
-
blockKinds: ["block.hero"],
|
|
13308
|
-
constraints: { layoutFamilies: ["split"] },
|
|
13309
|
-
design: {
|
|
13310
|
-
sectionSurface: "brand-depth-band",
|
|
13311
|
-
contentFrame: plainFrame,
|
|
13312
|
-
itemSurface: "none",
|
|
13313
|
-
heroTypographyScale: "display",
|
|
13314
|
-
eyebrowTreatment: "accent-pill-bounce"
|
|
13315
|
-
}
|
|
13316
|
-
}),
|
|
13317
|
-
defineBlockAppearancePreset({
|
|
13318
|
-
kind: "block-design",
|
|
13319
|
-
id: "hero-split-soft-panel",
|
|
13320
|
-
target: "hero",
|
|
13321
|
-
label: "Soft panel split hero",
|
|
13322
|
-
blockKinds: ["block.hero"],
|
|
13323
|
-
constraints: { layoutFamilies: ["split"] },
|
|
13324
|
-
design: {
|
|
13325
|
-
sectionSurface: "muted-band",
|
|
13326
|
-
contentFrame: panelFrame("raised"),
|
|
13327
|
-
itemSurface: "none",
|
|
13245
|
+
intensity: "balanced"
|
|
13246
|
+
} }
|
|
13247
|
+
}]
|
|
13248
|
+
}],
|
|
13249
|
+
layoutPatches: [{
|
|
13250
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
13251
|
+
designPatch: {
|
|
13252
|
+
sectionHeight: "banner",
|
|
13328
13253
|
heroTypographyScale: "editorial"
|
|
13329
13254
|
}
|
|
13330
|
-
}
|
|
13331
|
-
|
|
13332
|
-
|
|
13333
|
-
|
|
13334
|
-
|
|
13335
|
-
|
|
13336
|
-
|
|
13337
|
-
|
|
13338
|
-
|
|
13339
|
-
|
|
13340
|
-
|
|
13341
|
-
|
|
13255
|
+
}],
|
|
13256
|
+
design: {
|
|
13257
|
+
sectionSurface: "hero-image",
|
|
13258
|
+
contentFrame: panelFrame("raised"),
|
|
13259
|
+
itemSurface: "none",
|
|
13260
|
+
sectionHeight: "immersive",
|
|
13261
|
+
heroComposition: "bottom-left",
|
|
13262
|
+
heroTypographyScale: "display",
|
|
13263
|
+
imageSurfaceTreatment: {
|
|
13264
|
+
kind: "neutral-scrim",
|
|
13265
|
+
intensity: "balanced"
|
|
13266
|
+
}
|
|
13267
|
+
}
|
|
13268
|
+
}), defineBlockAppearancePreset({
|
|
13269
|
+
id: "hero-poster-image",
|
|
13270
|
+
target: "hero",
|
|
13271
|
+
label: "Poster image hero",
|
|
13272
|
+
blockKinds: ["block.hero"],
|
|
13273
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13274
|
+
layoutPatches: [{
|
|
13275
|
+
constraints: { layoutVariantKeys: ["micro"] },
|
|
13276
|
+
designPatch: {
|
|
13277
|
+
sectionHeight: "banner",
|
|
13342
13278
|
heroTypographyScale: "display"
|
|
13343
13279
|
}
|
|
13344
|
-
}
|
|
13345
|
-
|
|
13346
|
-
|
|
13347
|
-
|
|
13348
|
-
|
|
13349
|
-
|
|
13350
|
-
|
|
13351
|
-
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
|
|
13356
|
-
|
|
13357
|
-
|
|
13358
|
-
|
|
13359
|
-
|
|
13360
|
-
|
|
13361
|
-
|
|
13362
|
-
|
|
13363
|
-
|
|
13364
|
-
|
|
13365
|
-
|
|
13366
|
-
|
|
13367
|
-
|
|
13368
|
-
|
|
13369
|
-
|
|
13370
|
-
|
|
13371
|
-
|
|
13372
|
-
|
|
13373
|
-
|
|
13374
|
-
|
|
13375
|
-
|
|
13376
|
-
|
|
13377
|
-
|
|
13378
|
-
|
|
13379
|
-
|
|
13380
|
-
|
|
13381
|
-
|
|
13382
|
-
|
|
13383
|
-
|
|
13384
|
-
|
|
13385
|
-
|
|
13386
|
-
|
|
13387
|
-
|
|
13388
|
-
|
|
13389
|
-
|
|
13390
|
-
|
|
13391
|
-
|
|
13392
|
-
|
|
13393
|
-
|
|
13394
|
-
|
|
13395
|
-
|
|
13396
|
-
|
|
13397
|
-
|
|
13398
|
-
|
|
13399
|
-
|
|
13400
|
-
|
|
13401
|
-
|
|
13402
|
-
|
|
13403
|
-
|
|
13404
|
-
|
|
13405
|
-
|
|
13406
|
-
|
|
13407
|
-
|
|
13408
|
-
|
|
13409
|
-
|
|
13410
|
-
|
|
13411
|
-
|
|
13412
|
-
|
|
13413
|
-
|
|
13414
|
-
|
|
13415
|
-
|
|
13416
|
-
|
|
13417
|
-
|
|
13418
|
-
|
|
13419
|
-
|
|
13420
|
-
|
|
13421
|
-
|
|
13422
|
-
|
|
13423
|
-
|
|
13424
|
-
|
|
13425
|
-
|
|
13426
|
-
|
|
13427
|
-
|
|
13428
|
-
|
|
13429
|
-
|
|
13430
|
-
|
|
13431
|
-
|
|
13432
|
-
|
|
13433
|
-
|
|
13434
|
-
|
|
13435
|
-
|
|
13436
|
-
|
|
13437
|
-
|
|
13438
|
-
|
|
13439
|
-
|
|
13440
|
-
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
|
|
13445
|
-
|
|
13446
|
-
|
|
13447
|
-
|
|
13448
|
-
|
|
13449
|
-
|
|
13450
|
-
|
|
13451
|
-
|
|
13452
|
-
|
|
13453
|
-
|
|
13454
|
-
|
|
13455
|
-
|
|
13456
|
-
|
|
13457
|
-
|
|
13458
|
-
|
|
13459
|
-
|
|
13460
|
-
|
|
13461
|
-
|
|
13462
|
-
|
|
13463
|
-
|
|
13464
|
-
|
|
13465
|
-
|
|
13466
|
-
|
|
13467
|
-
|
|
13468
|
-
|
|
13469
|
-
|
|
13470
|
-
|
|
13471
|
-
|
|
13472
|
-
|
|
13473
|
-
|
|
13474
|
-
|
|
13475
|
-
|
|
13476
|
-
|
|
13477
|
-
|
|
13478
|
-
|
|
13479
|
-
|
|
13480
|
-
|
|
13481
|
-
|
|
13482
|
-
|
|
13483
|
-
|
|
13484
|
-
|
|
13485
|
-
|
|
13486
|
-
|
|
13487
|
-
|
|
13488
|
-
}
|
|
13489
|
-
}
|
|
13490
|
-
|
|
13491
|
-
|
|
13492
|
-
|
|
13493
|
-
|
|
13494
|
-
|
|
13495
|
-
|
|
13496
|
-
|
|
13497
|
-
|
|
13498
|
-
|
|
13499
|
-
|
|
13500
|
-
|
|
13501
|
-
|
|
13502
|
-
|
|
13503
|
-
|
|
13504
|
-
|
|
13505
|
-
|
|
13506
|
-
|
|
13507
|
-
|
|
13508
|
-
|
|
13509
|
-
|
|
13510
|
-
|
|
13511
|
-
|
|
13512
|
-
|
|
13513
|
-
|
|
13514
|
-
|
|
13515
|
-
|
|
13516
|
-
|
|
13517
|
-
|
|
13518
|
-
|
|
13519
|
-
|
|
13520
|
-
|
|
13521
|
-
|
|
13522
|
-
|
|
13523
|
-
|
|
13524
|
-
|
|
13525
|
-
|
|
13526
|
-
|
|
13527
|
-
|
|
13528
|
-
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
|
|
13532
|
-
|
|
13533
|
-
|
|
13534
|
-
|
|
13535
|
-
|
|
13536
|
-
|
|
13537
|
-
|
|
13538
|
-
|
|
13539
|
-
|
|
13540
|
-
|
|
13541
|
-
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
|
|
13548
|
-
|
|
13549
|
-
|
|
13550
|
-
|
|
13551
|
-
|
|
13552
|
-
|
|
13553
|
-
|
|
13554
|
-
|
|
13555
|
-
|
|
13556
|
-
|
|
13557
|
-
|
|
13558
|
-
|
|
13559
|
-
|
|
13560
|
-
|
|
13561
|
-
|
|
13562
|
-
|
|
13563
|
-
|
|
13564
|
-
|
|
13565
|
-
|
|
13566
|
-
|
|
13567
|
-
|
|
13568
|
-
|
|
13569
|
-
|
|
13570
|
-
|
|
13571
|
-
|
|
13572
|
-
|
|
13573
|
-
|
|
13574
|
-
|
|
13575
|
-
|
|
13576
|
-
|
|
13577
|
-
|
|
13578
|
-
|
|
13579
|
-
|
|
13580
|
-
|
|
13581
|
-
|
|
13582
|
-
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
13587
|
-
|
|
13588
|
-
|
|
13589
|
-
|
|
13590
|
-
|
|
13591
|
-
|
|
13592
|
-
|
|
13593
|
-
|
|
13594
|
-
|
|
13595
|
-
|
|
13596
|
-
|
|
13597
|
-
|
|
13598
|
-
|
|
13599
|
-
|
|
13600
|
-
|
|
13601
|
-
|
|
13602
|
-
|
|
13603
|
-
|
|
13604
|
-
|
|
13605
|
-
|
|
13606
|
-
|
|
13607
|
-
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
|
|
13627
|
-
|
|
13628
|
-
|
|
13629
|
-
|
|
13630
|
-
|
|
13631
|
-
|
|
13632
|
-
|
|
13633
|
-
|
|
13634
|
-
|
|
13635
|
-
|
|
13636
|
-
|
|
13637
|
-
}
|
|
13638
|
-
|
|
13639
|
-
|
|
13640
|
-
|
|
13641
|
-
|
|
13642
|
-
|
|
13643
|
-
|
|
13644
|
-
|
|
13645
|
-
|
|
13646
|
-
|
|
13647
|
-
|
|
13648
|
-
|
|
13649
|
-
|
|
13650
|
-
|
|
13651
|
-
|
|
13652
|
-
|
|
13653
|
-
|
|
13654
|
-
|
|
13655
|
-
|
|
13656
|
-
|
|
13657
|
-
|
|
13658
|
-
|
|
13659
|
-
|
|
13660
|
-
|
|
13661
|
-
|
|
13662
|
-
|
|
13663
|
-
|
|
13664
|
-
|
|
13665
|
-
|
|
13666
|
-
|
|
13667
|
-
|
|
13668
|
-
|
|
13669
|
-
|
|
13670
|
-
|
|
13671
|
-
|
|
13672
|
-
|
|
13673
|
-
|
|
13674
|
-
|
|
13675
|
-
|
|
13676
|
-
|
|
13677
|
-
|
|
13678
|
-
|
|
13679
|
-
|
|
13680
|
-
|
|
13681
|
-
|
|
13682
|
-
|
|
13683
|
-
|
|
13684
|
-
|
|
13685
|
-
|
|
13686
|
-
|
|
13687
|
-
|
|
13688
|
-
|
|
13689
|
-
|
|
13690
|
-
|
|
13691
|
-
|
|
13692
|
-
|
|
13693
|
-
|
|
13694
|
-
|
|
13695
|
-
|
|
13696
|
-
|
|
13697
|
-
|
|
13698
|
-
|
|
13699
|
-
|
|
13700
|
-
|
|
13701
|
-
|
|
13702
|
-
|
|
13703
|
-
|
|
13704
|
-
|
|
13705
|
-
|
|
13706
|
-
|
|
13707
|
-
|
|
13708
|
-
|
|
13709
|
-
|
|
13710
|
-
|
|
13711
|
-
|
|
13712
|
-
|
|
13713
|
-
|
|
13714
|
-
|
|
13715
|
-
|
|
13716
|
-
|
|
13717
|
-
|
|
13718
|
-
|
|
13719
|
-
|
|
13720
|
-
|
|
13721
|
-
|
|
13722
|
-
|
|
13723
|
-
|
|
13724
|
-
|
|
13725
|
-
|
|
13726
|
-
|
|
13727
|
-
|
|
13728
|
-
|
|
13729
|
-
|
|
13730
|
-
|
|
13731
|
-
|
|
13732
|
-
|
|
13733
|
-
|
|
13734
|
-
|
|
13735
|
-
|
|
13736
|
-
|
|
13737
|
-
|
|
13738
|
-
|
|
13739
|
-
|
|
13740
|
-
|
|
13741
|
-
|
|
13742
|
-
|
|
13743
|
-
|
|
13744
|
-
|
|
13745
|
-
|
|
13746
|
-
|
|
13747
|
-
|
|
13748
|
-
|
|
13749
|
-
|
|
13750
|
-
|
|
13751
|
-
|
|
13752
|
-
|
|
13753
|
-
|
|
13754
|
-
|
|
13755
|
-
|
|
13756
|
-
|
|
13757
|
-
|
|
13758
|
-
|
|
13759
|
-
|
|
13760
|
-
|
|
13761
|
-
|
|
13762
|
-
|
|
13763
|
-
}
|
|
13764
|
-
|
|
13765
|
-
|
|
13766
|
-
|
|
13767
|
-
|
|
13768
|
-
|
|
13769
|
-
|
|
13770
|
-
|
|
13771
|
-
|
|
13772
|
-
|
|
13773
|
-
|
|
13774
|
-
|
|
13775
|
-
|
|
13776
|
-
|
|
13777
|
-
|
|
13778
|
-
|
|
13779
|
-
|
|
13780
|
-
|
|
13781
|
-
|
|
13782
|
-
|
|
13783
|
-
|
|
13784
|
-
|
|
13785
|
-
|
|
13786
|
-
|
|
13787
|
-
|
|
13788
|
-
|
|
13789
|
-
|
|
13790
|
-
|
|
13791
|
-
|
|
13792
|
-
|
|
13793
|
-
|
|
13794
|
-
|
|
13795
|
-
|
|
13796
|
-
|
|
13797
|
-
|
|
13798
|
-
|
|
13799
|
-
|
|
13800
|
-
|
|
13801
|
-
|
|
13802
|
-
|
|
13803
|
-
|
|
13804
|
-
|
|
13805
|
-
|
|
13806
|
-
|
|
13807
|
-
|
|
13808
|
-
|
|
13809
|
-
|
|
13810
|
-
|
|
13811
|
-
|
|
13812
|
-
|
|
13813
|
-
|
|
13814
|
-
|
|
13815
|
-
|
|
13816
|
-
|
|
13817
|
-
|
|
13818
|
-
|
|
13819
|
-
|
|
13820
|
-
|
|
13821
|
-
|
|
13822
|
-
|
|
13823
|
-
|
|
13824
|
-
|
|
13825
|
-
|
|
13826
|
-
|
|
13280
|
+
}],
|
|
13281
|
+
design: {
|
|
13282
|
+
sectionSurface: "hero-image",
|
|
13283
|
+
contentFrame: plainFrame,
|
|
13284
|
+
itemSurface: "none",
|
|
13285
|
+
sectionHeight: "immersive",
|
|
13286
|
+
heroComposition: "center",
|
|
13287
|
+
heroTypographyScale: "poster",
|
|
13288
|
+
imageSurfaceTreatment: {
|
|
13289
|
+
kind: "brand-scrim",
|
|
13290
|
+
token: "primary",
|
|
13291
|
+
intensity: "strong"
|
|
13292
|
+
}
|
|
13293
|
+
}
|
|
13294
|
+
}), defineBlockAppearancePreset({
|
|
13295
|
+
id: "hero-brand-scrim",
|
|
13296
|
+
target: "hero",
|
|
13297
|
+
label: "Brand scrim image hero",
|
|
13298
|
+
blockKinds: ["block.hero"],
|
|
13299
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13300
|
+
optionGroups: brandScrimOptionGroups,
|
|
13301
|
+
layoutPatches: microBannerLayoutPatches,
|
|
13302
|
+
design: {
|
|
13303
|
+
sectionSurface: "hero-image",
|
|
13304
|
+
contentFrame: plainFrame,
|
|
13305
|
+
itemSurface: "none",
|
|
13306
|
+
sectionHeight: "immersive",
|
|
13307
|
+
heroComposition: "center",
|
|
13308
|
+
heroTypographyScale: "display",
|
|
13309
|
+
imageSurfaceTreatment: {
|
|
13310
|
+
kind: "brand-scrim",
|
|
13311
|
+
token: "primary"
|
|
13312
|
+
}
|
|
13313
|
+
}
|
|
13314
|
+
}), defineBlockAppearancePreset({
|
|
13315
|
+
id: "hero-brand-scrim-fixed-frame",
|
|
13316
|
+
target: "hero",
|
|
13317
|
+
label: "Fixed-frame brand scrim hero",
|
|
13318
|
+
blockKinds: ["block.hero"],
|
|
13319
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13320
|
+
optionGroups: brandScrimOptionGroups,
|
|
13321
|
+
layoutPatches: microBannerLayoutPatches,
|
|
13322
|
+
design: {
|
|
13323
|
+
sectionSurface: "hero-image",
|
|
13324
|
+
contentFrame: plainFrame,
|
|
13325
|
+
itemSurface: "none",
|
|
13326
|
+
sectionHeight: "immersive",
|
|
13327
|
+
heroComposition: "center",
|
|
13328
|
+
heroTypographyScale: "display",
|
|
13329
|
+
imageSurfaceTreatment: {
|
|
13330
|
+
kind: "brand-scrim",
|
|
13331
|
+
token: "primary"
|
|
13332
|
+
},
|
|
13333
|
+
imageSurfaceMotion: "fixed-frame",
|
|
13334
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
13335
|
+
}
|
|
13336
|
+
}), defineBlockAppearancePreset({
|
|
13337
|
+
id: "hero-brand-depth-expressive",
|
|
13338
|
+
target: "hero",
|
|
13339
|
+
label: "Expressive brand-depth hero",
|
|
13340
|
+
blockKinds: ["block.hero"],
|
|
13341
|
+
constraints: { layoutFamilies: ["centered", "compact"] },
|
|
13342
|
+
design: {
|
|
13343
|
+
sectionSurface: "brand-depth-band",
|
|
13344
|
+
contentFrame: plainFrame,
|
|
13345
|
+
itemSurface: "none",
|
|
13346
|
+
heroComposition: "center",
|
|
13347
|
+
heroTypographyScale: "editorial",
|
|
13348
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
13349
|
+
}
|
|
13350
|
+
}), defineBlockAppearancePreset({
|
|
13351
|
+
id: "hero-contained-intro",
|
|
13352
|
+
target: "hero",
|
|
13353
|
+
label: "Contained intro hero",
|
|
13354
|
+
blockKinds: ["block.hero"],
|
|
13355
|
+
design: {
|
|
13356
|
+
sectionSurface: "muted-band",
|
|
13357
|
+
contentFrame: panelFrame("inset"),
|
|
13358
|
+
itemSurface: "none",
|
|
13359
|
+
heroComposition: "center",
|
|
13360
|
+
heroTypographyScale: "editorial"
|
|
13361
|
+
}
|
|
13362
|
+
}), defineBlockAppearancePreset({
|
|
13363
|
+
id: "hero-split-editorial",
|
|
13364
|
+
target: "hero",
|
|
13365
|
+
label: "Editorial split hero",
|
|
13366
|
+
blockKinds: ["block.hero"],
|
|
13367
|
+
constraints: { layoutFamilies: ["split"] },
|
|
13368
|
+
design: {
|
|
13369
|
+
sectionSurface: "base",
|
|
13370
|
+
contentFrame: plainFrame,
|
|
13371
|
+
itemSurface: "none",
|
|
13372
|
+
heroTypographyScale: "editorial"
|
|
13373
|
+
}
|
|
13374
|
+
}), defineBlockAppearancePreset({
|
|
13375
|
+
id: "hero-split-brand",
|
|
13376
|
+
target: "hero",
|
|
13377
|
+
label: "Brand split hero",
|
|
13378
|
+
blockKinds: ["block.hero"],
|
|
13379
|
+
constraints: { layoutFamilies: ["split"] },
|
|
13380
|
+
design: {
|
|
13381
|
+
sectionSurface: "brand-depth-band",
|
|
13382
|
+
contentFrame: plainFrame,
|
|
13383
|
+
itemSurface: "none",
|
|
13384
|
+
heroTypographyScale: "display",
|
|
13385
|
+
eyebrowTreatment: "accent-pill-bounce"
|
|
13386
|
+
}
|
|
13387
|
+
}), defineBlockAppearancePreset({
|
|
13388
|
+
id: "hero-split-soft-panel",
|
|
13389
|
+
target: "hero",
|
|
13390
|
+
label: "Soft panel split hero",
|
|
13391
|
+
blockKinds: ["block.hero"],
|
|
13392
|
+
constraints: { layoutFamilies: ["split"] },
|
|
13393
|
+
design: {
|
|
13394
|
+
sectionSurface: "muted-band",
|
|
13395
|
+
contentFrame: panelFrame("raised"),
|
|
13396
|
+
itemSurface: "none",
|
|
13397
|
+
heroTypographyScale: "editorial"
|
|
13398
|
+
}
|
|
13399
|
+
}), defineBlockAppearancePreset({
|
|
13400
|
+
id: "hero-split-accent",
|
|
13401
|
+
target: "hero",
|
|
13402
|
+
label: "Accent split hero",
|
|
13403
|
+
blockKinds: ["block.hero"],
|
|
13404
|
+
constraints: { layoutFamilies: ["split"] },
|
|
13405
|
+
design: {
|
|
13406
|
+
sectionSurface: "accent-band",
|
|
13407
|
+
contentFrame: panelFrame("raised"),
|
|
13408
|
+
itemSurface: "none",
|
|
13409
|
+
heroTypographyScale: "display"
|
|
13410
|
+
}
|
|
13411
|
+
}), defineBlockAppearancePreset({
|
|
13412
|
+
id: "intro-editorial-statement",
|
|
13413
|
+
target: "intro",
|
|
13414
|
+
label: "Editorial intro statement",
|
|
13415
|
+
blockKinds: ["block.intro"],
|
|
13416
|
+
constraints: { layoutVariantKeys: ["centered-copy", "statement-copy"] },
|
|
13417
|
+
design: {
|
|
13418
|
+
sectionSurface: "base",
|
|
13419
|
+
contentFrame: plainFrame,
|
|
13420
|
+
itemSurface: "none",
|
|
13421
|
+
composition: {
|
|
13422
|
+
kind: "intro",
|
|
13423
|
+
treatment: "editorial-statement"
|
|
13424
|
+
}
|
|
13425
|
+
}
|
|
13426
|
+
}), defineBlockAppearancePreset({
|
|
13427
|
+
id: "intro-portrait-bio",
|
|
13428
|
+
target: "intro",
|
|
13429
|
+
label: "Portrait and bio",
|
|
13430
|
+
blockKinds: ["block.intro"],
|
|
13431
|
+
constraints: { layoutVariantKeys: ["media-copy"] },
|
|
13432
|
+
design: {
|
|
13433
|
+
sectionSurface: "base",
|
|
13434
|
+
contentFrame: plainFrame,
|
|
13435
|
+
itemSurface: "none",
|
|
13436
|
+
composition: {
|
|
13437
|
+
kind: "intro",
|
|
13438
|
+
treatment: "portrait-bio"
|
|
13439
|
+
}
|
|
13440
|
+
}
|
|
13441
|
+
}), defineBlockAppearancePreset({
|
|
13442
|
+
id: "offerings-preview-default-cards",
|
|
13443
|
+
target: "offerings",
|
|
13444
|
+
label: "Default offering cards",
|
|
13445
|
+
blockKinds: ["block.offerings-preview"],
|
|
13446
|
+
design: {
|
|
13447
|
+
sectionSurface: "base",
|
|
13448
|
+
contentFrame: plainFrame,
|
|
13449
|
+
itemSurface: "default"
|
|
13450
|
+
}
|
|
13451
|
+
}), defineBlockAppearancePreset({
|
|
13452
|
+
id: "offerings-preview-secondary-cards",
|
|
13453
|
+
target: "offerings",
|
|
13454
|
+
label: "Secondary offering cards",
|
|
13455
|
+
blockKinds: ["block.offerings-preview"],
|
|
13456
|
+
design: {
|
|
13457
|
+
sectionSurface: "muted-band",
|
|
13458
|
+
contentFrame: plainFrame,
|
|
13459
|
+
itemSurface: "inset"
|
|
13460
|
+
}
|
|
13461
|
+
}), defineBlockAppearancePreset({
|
|
13462
|
+
id: "offerings-preview-non-carded",
|
|
13463
|
+
target: "offerings",
|
|
13464
|
+
label: "Non-carded offerings",
|
|
13465
|
+
blockKinds: ["block.offerings-preview"],
|
|
13466
|
+
design: {
|
|
13467
|
+
sectionSurface: "muted-band",
|
|
13468
|
+
contentFrame: plainFrame,
|
|
13469
|
+
itemSurface: "editorial"
|
|
13470
|
+
}
|
|
13471
|
+
}), defineBlockAppearancePreset({
|
|
13472
|
+
id: "offerings-preview-paired-feature-cards",
|
|
13473
|
+
target: "offerings",
|
|
13474
|
+
label: "Paired feature cards",
|
|
13475
|
+
blockKinds: ["block.offerings-preview"],
|
|
13476
|
+
constraints: { layoutVariantKeys: ["cards"] },
|
|
13477
|
+
design: {
|
|
13478
|
+
sectionSurface: "base",
|
|
13479
|
+
contentFrame: plainFrame,
|
|
13480
|
+
itemSurface: "none"
|
|
13481
|
+
}
|
|
13482
|
+
}), defineBlockAppearancePreset({
|
|
13483
|
+
id: "offerings-preview-open-editorial-columns",
|
|
13484
|
+
target: "offerings",
|
|
13485
|
+
label: "Open editorial columns",
|
|
13486
|
+
blockKinds: ["block.offerings-preview"],
|
|
13487
|
+
constraints: { layoutVariantKeys: ["cards"] },
|
|
13488
|
+
design: {
|
|
13489
|
+
sectionSurface: "base",
|
|
13490
|
+
contentFrame: plainFrame,
|
|
13491
|
+
itemSurface: "none"
|
|
13492
|
+
}
|
|
13493
|
+
}), defineBlockAppearancePreset({
|
|
13494
|
+
id: "offerings-preview-joined-programme-panel",
|
|
13495
|
+
target: "offerings",
|
|
13496
|
+
label: "Joined programme panel",
|
|
13497
|
+
blockKinds: ["block.offerings-preview"],
|
|
13498
|
+
constraints: { layoutVariantKeys: ["cards"] },
|
|
13499
|
+
design: {
|
|
13500
|
+
sectionSurface: "base",
|
|
13501
|
+
contentFrame: plainFrame,
|
|
13502
|
+
itemSurface: "none"
|
|
13503
|
+
}
|
|
13504
|
+
}), defineBlockAppearancePreset({
|
|
13505
|
+
id: "feature-cards-raised-rule",
|
|
13506
|
+
target: "feature-cards",
|
|
13507
|
+
label: "Raised cards with rule",
|
|
13508
|
+
blockKinds: ["block.feature-cards"],
|
|
13509
|
+
design: {
|
|
13510
|
+
sectionSurface: "base",
|
|
13511
|
+
contentFrame: plainFrame,
|
|
13512
|
+
itemSurface: "raised"
|
|
13513
|
+
}
|
|
13514
|
+
}), defineBlockAppearancePreset({
|
|
13515
|
+
id: "feature-cards-bold-colors",
|
|
13516
|
+
target: "feature-cards",
|
|
13517
|
+
label: "Bold colour-blocked cards",
|
|
13518
|
+
blockKinds: ["block.feature-cards"],
|
|
13519
|
+
design: {
|
|
13520
|
+
sectionSurface: "base",
|
|
13521
|
+
contentFrame: plainFrame,
|
|
13522
|
+
itemSurface: "color-blocked"
|
|
13523
|
+
}
|
|
13524
|
+
}), defineBlockAppearancePreset({
|
|
13525
|
+
id: "feature-cards-editorial-columns",
|
|
13526
|
+
target: "feature-cards",
|
|
13527
|
+
label: "Editorial open columns",
|
|
13528
|
+
blockKinds: ["block.feature-cards"],
|
|
13529
|
+
design: {
|
|
13530
|
+
sectionSurface: "base",
|
|
13531
|
+
contentFrame: plainFrame,
|
|
13532
|
+
itemSurface: "editorial"
|
|
13533
|
+
}
|
|
13534
|
+
}), defineBlockAppearancePreset({
|
|
13535
|
+
id: "feature-cards-asymmetric-emphasis",
|
|
13536
|
+
target: "feature-cards",
|
|
13537
|
+
label: "Asymmetric emphasis pair",
|
|
13538
|
+
blockKinds: ["block.feature-cards"],
|
|
13539
|
+
constraints: { layoutFamilies: ["grid"] },
|
|
13540
|
+
design: {
|
|
13541
|
+
sectionSurface: "base",
|
|
13542
|
+
contentFrame: plainFrame,
|
|
13543
|
+
itemSurface: "none",
|
|
13544
|
+
composition: {
|
|
13545
|
+
kind: "feature-cards",
|
|
13546
|
+
treatment: "asymmetric-emphasis"
|
|
13547
|
+
}
|
|
13548
|
+
}
|
|
13549
|
+
}), defineBlockAppearancePreset({
|
|
13550
|
+
id: "feature-cards-framed-programme",
|
|
13551
|
+
target: "feature-cards",
|
|
13552
|
+
label: "Framed programme cards",
|
|
13553
|
+
blockKinds: ["block.feature-cards"],
|
|
13554
|
+
constraints: { layoutFamilies: ["grid"] },
|
|
13555
|
+
design: {
|
|
13556
|
+
sectionSurface: "brand-depth-band",
|
|
13557
|
+
contentFrame: plainFrame,
|
|
13558
|
+
itemSurface: "inset",
|
|
13559
|
+
composition: {
|
|
13560
|
+
kind: "feature-cards",
|
|
13561
|
+
treatment: "framed-programme"
|
|
13562
|
+
}
|
|
13563
|
+
}
|
|
13564
|
+
}), defineBlockAppearancePreset({
|
|
13565
|
+
id: "feature-cards-soft-panels",
|
|
13566
|
+
target: "feature-cards",
|
|
13567
|
+
label: "Soft tinted panels",
|
|
13568
|
+
blockKinds: ["block.feature-cards"],
|
|
13569
|
+
design: {
|
|
13570
|
+
sectionSurface: "base",
|
|
13571
|
+
contentFrame: plainFrame,
|
|
13572
|
+
itemSurface: "inset"
|
|
13573
|
+
}
|
|
13574
|
+
}), defineBlockAppearancePreset({
|
|
13575
|
+
id: "feature-cards-editorial-diptych",
|
|
13576
|
+
target: "feature-cards",
|
|
13577
|
+
label: "Editorial diptych",
|
|
13578
|
+
blockKinds: ["block.feature-cards"],
|
|
13579
|
+
constraints: { layoutVariantKeys: ["editorial-diptych"] },
|
|
13580
|
+
design: {
|
|
13581
|
+
sectionSurface: "base",
|
|
13582
|
+
contentFrame: plainFrame,
|
|
13583
|
+
itemSurface: "flat"
|
|
13584
|
+
}
|
|
13585
|
+
}), defineBlockAppearancePreset({
|
|
13586
|
+
id: "feature-cards-editorial-pathways",
|
|
13587
|
+
target: "feature-cards",
|
|
13588
|
+
label: "Editorial pathways",
|
|
13589
|
+
blockKinds: ["block.feature-cards"],
|
|
13590
|
+
constraints: { layoutVariantKeys: ["editorial-pathways"] },
|
|
13591
|
+
design: {
|
|
13592
|
+
sectionSurface: "base",
|
|
13593
|
+
contentFrame: plainFrame,
|
|
13594
|
+
itemSurface: "flat"
|
|
13595
|
+
}
|
|
13596
|
+
}), defineBlockAppearancePreset({
|
|
13597
|
+
id: "feature-cards-photo-tiles",
|
|
13598
|
+
target: "feature-cards",
|
|
13599
|
+
label: "Photo tiles",
|
|
13600
|
+
blockKinds: ["block.feature-cards"],
|
|
13601
|
+
design: {
|
|
13602
|
+
sectionSurface: "base",
|
|
13603
|
+
contentFrame: plainFrame,
|
|
13604
|
+
itemSurface: "raised"
|
|
13605
|
+
}
|
|
13606
|
+
}), defineBlockAppearancePreset({
|
|
13607
|
+
id: "events-lined-panel",
|
|
13608
|
+
target: "events",
|
|
13609
|
+
label: "Raised event panel",
|
|
13610
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
13611
|
+
design: {
|
|
13612
|
+
sectionSurface: "base",
|
|
13613
|
+
contentFrame: panelFrame("raised"),
|
|
13614
|
+
itemSurface: "none"
|
|
13615
|
+
}
|
|
13616
|
+
}), defineBlockAppearancePreset({
|
|
13617
|
+
id: "events-ruled-register",
|
|
13618
|
+
target: "events",
|
|
13619
|
+
label: "Ruled event register",
|
|
13620
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
13621
|
+
design: {
|
|
13622
|
+
sectionSurface: "brand-depth-band",
|
|
13623
|
+
contentFrame: plainFrame,
|
|
13624
|
+
itemSurface: "none",
|
|
13625
|
+
eventListTreatment: "ruled-register"
|
|
13626
|
+
}
|
|
13627
|
+
}), defineBlockAppearancePreset({
|
|
13628
|
+
id: "events-editorial-register",
|
|
13629
|
+
target: "events",
|
|
13630
|
+
label: "Editorial event register",
|
|
13631
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
13632
|
+
design: {
|
|
13633
|
+
sectionSurface: "base",
|
|
13634
|
+
contentFrame: plainFrame,
|
|
13635
|
+
itemSurface: "none",
|
|
13636
|
+
eventListTreatment: "editorial-register"
|
|
13637
|
+
}
|
|
13638
|
+
}), defineBlockAppearancePreset({
|
|
13639
|
+
id: "events-dense-index",
|
|
13640
|
+
target: "events",
|
|
13641
|
+
label: "Dense event index",
|
|
13642
|
+
blockKinds: ["block.event-calendar", "block.event-listing"],
|
|
13643
|
+
design: {
|
|
13644
|
+
sectionSurface: "accent-band",
|
|
13645
|
+
contentFrame: plainFrame,
|
|
13646
|
+
itemSurface: "none",
|
|
13647
|
+
eventListTreatment: "dense-index"
|
|
13648
|
+
}
|
|
13649
|
+
}), defineBlockAppearancePreset({
|
|
13650
|
+
id: "schedule-details-brand-depth",
|
|
13651
|
+
target: "events",
|
|
13652
|
+
label: "Brand-depth schedule details",
|
|
13653
|
+
blockKinds: ["block.event-details", "block.course-details"],
|
|
13654
|
+
design: {
|
|
13655
|
+
sectionSurface: "brand-depth-band",
|
|
13656
|
+
contentFrame: plainFrame,
|
|
13657
|
+
itemSurface: "none",
|
|
13658
|
+
tileTreatment: "brand-depth"
|
|
13659
|
+
}
|
|
13660
|
+
}), defineBlockAppearancePreset({
|
|
13661
|
+
id: "media-text-flush-feature",
|
|
13662
|
+
target: "media-text",
|
|
13663
|
+
label: "Flush media feature",
|
|
13664
|
+
blockKinds: ["block.media-text"],
|
|
13665
|
+
design: {
|
|
13666
|
+
sectionSurface: "muted-band",
|
|
13667
|
+
contentFrame: flushPanelFrame({ bleed: "start" }),
|
|
13668
|
+
itemSurface: "none"
|
|
13669
|
+
}
|
|
13670
|
+
}), defineBlockAppearancePreset({
|
|
13671
|
+
id: "testimonials-simple-cards",
|
|
13672
|
+
target: "testimonials",
|
|
13673
|
+
label: "Simple testimonial cards",
|
|
13674
|
+
blockKinds: ["block.testimonials"],
|
|
13675
|
+
design: {
|
|
13676
|
+
sectionSurface: "base",
|
|
13677
|
+
contentFrame: plainFrame,
|
|
13678
|
+
itemSurface: "default"
|
|
13679
|
+
}
|
|
13680
|
+
}), defineBlockAppearancePreset({
|
|
13681
|
+
id: "testimonials-raised-panel",
|
|
13682
|
+
target: "testimonials",
|
|
13683
|
+
label: "Raised testimonial panel",
|
|
13684
|
+
blockKinds: ["block.testimonials"],
|
|
13685
|
+
design: {
|
|
13686
|
+
sectionSurface: "muted-band",
|
|
13687
|
+
contentFrame: panelFrame("raised"),
|
|
13688
|
+
itemSurface: "raised"
|
|
13689
|
+
}
|
|
13690
|
+
}), defineBlockAppearancePreset({
|
|
13691
|
+
id: "testimonials-accent-panel",
|
|
13692
|
+
target: "testimonials",
|
|
13693
|
+
label: "Accent testimonial panel",
|
|
13694
|
+
blockKinds: ["block.testimonials"],
|
|
13695
|
+
design: {
|
|
13696
|
+
sectionSurface: "accent-band",
|
|
13697
|
+
contentFrame: panelFrame("raised"),
|
|
13698
|
+
itemSurface: "raised"
|
|
13699
|
+
}
|
|
13700
|
+
}), defineBlockAppearancePreset({
|
|
13701
|
+
id: "testimonials-default-cards",
|
|
13702
|
+
target: "testimonials",
|
|
13703
|
+
label: "Default cards",
|
|
13704
|
+
blockKinds: ["block.testimonials"],
|
|
13705
|
+
design: {
|
|
13706
|
+
sectionSurface: "base",
|
|
13707
|
+
contentFrame: plainFrame,
|
|
13708
|
+
itemSurface: "none",
|
|
13709
|
+
testimonialCardTreatment: "default"
|
|
13710
|
+
}
|
|
13711
|
+
}), defineBlockAppearancePreset({
|
|
13712
|
+
id: "testimonials-statement-cards",
|
|
13713
|
+
target: "testimonials",
|
|
13714
|
+
label: "Statement cards",
|
|
13715
|
+
blockKinds: ["block.testimonials"],
|
|
13716
|
+
design: {
|
|
13717
|
+
sectionSurface: "accent-band",
|
|
13718
|
+
contentFrame: plainFrame,
|
|
13719
|
+
itemSurface: "raised",
|
|
13720
|
+
testimonialCardTreatment: "statement"
|
|
13721
|
+
}
|
|
13722
|
+
}), defineBlockAppearancePreset({
|
|
13723
|
+
id: "testimonials-brand-statement-cards",
|
|
13724
|
+
target: "testimonials",
|
|
13725
|
+
label: "Brand statement cards",
|
|
13726
|
+
blockKinds: ["block.testimonials"],
|
|
13727
|
+
design: {
|
|
13728
|
+
sectionSurface: "brand-depth-band",
|
|
13729
|
+
contentFrame: plainFrame,
|
|
13730
|
+
itemSurface: "raised",
|
|
13731
|
+
testimonialCardTreatment: "statement"
|
|
13732
|
+
}
|
|
13733
|
+
}), defineBlockAppearancePreset({
|
|
13734
|
+
id: "testimonials-non-carded",
|
|
13735
|
+
target: "testimonials",
|
|
13736
|
+
label: "Non-carded",
|
|
13737
|
+
blockKinds: ["block.testimonials"],
|
|
13738
|
+
design: {
|
|
13739
|
+
sectionSurface: "muted-band",
|
|
13740
|
+
contentFrame: plainFrame,
|
|
13741
|
+
itemSurface: "none",
|
|
13742
|
+
testimonialCardTreatment: "non-carded"
|
|
13743
|
+
}
|
|
13744
|
+
}), defineBlockAppearancePreset({
|
|
13745
|
+
id: "testimonials-evergreen-lead",
|
|
13746
|
+
target: "testimonials",
|
|
13747
|
+
label: "Evergreen lead",
|
|
13748
|
+
blockKinds: ["block.testimonials"],
|
|
13749
|
+
constraints: { layoutVariantKeys: ["featured-editorial"] },
|
|
13750
|
+
design: {
|
|
13751
|
+
sectionSurface: "base",
|
|
13752
|
+
contentFrame: plainFrame,
|
|
13753
|
+
itemSurface: "none"
|
|
13754
|
+
}
|
|
13755
|
+
}), defineBlockAppearancePreset({
|
|
13756
|
+
id: "testimonials-room-and-response",
|
|
13757
|
+
target: "testimonials",
|
|
13758
|
+
label: "Room and response",
|
|
13759
|
+
blockKinds: ["block.testimonials"],
|
|
13760
|
+
constraints: { layoutVariantKeys: ["featured-editorial"] },
|
|
13761
|
+
design: {
|
|
13762
|
+
sectionSurface: "base",
|
|
13763
|
+
contentFrame: plainFrame,
|
|
13764
|
+
itemSurface: "none"
|
|
13765
|
+
}
|
|
13766
|
+
}), defineBlockAppearancePreset({
|
|
13767
|
+
id: "testimonials-open-floor",
|
|
13768
|
+
target: "testimonials",
|
|
13769
|
+
label: "Open floor",
|
|
13770
|
+
blockKinds: ["block.testimonials"],
|
|
13771
|
+
constraints: { layoutVariantKeys: ["featured-editorial"] },
|
|
13772
|
+
design: {
|
|
13773
|
+
sectionSurface: "base",
|
|
13774
|
+
contentFrame: plainFrame,
|
|
13775
|
+
itemSurface: "none"
|
|
13776
|
+
}
|
|
13777
|
+
}), defineBlockAppearancePreset({
|
|
13778
|
+
id: "faq-base-accordion",
|
|
13779
|
+
target: "faq",
|
|
13780
|
+
label: "Base accordion FAQ",
|
|
13781
|
+
blockKinds: ["block.faq"],
|
|
13782
|
+
design: {
|
|
13783
|
+
sectionSurface: "base",
|
|
13784
|
+
contentFrame: plainFrame,
|
|
13785
|
+
itemSurface: "default"
|
|
13786
|
+
}
|
|
13787
|
+
}), defineBlockAppearancePreset({
|
|
13788
|
+
id: "faq-contained-help",
|
|
13789
|
+
target: "faq",
|
|
13790
|
+
label: "Contained help panel",
|
|
13791
|
+
blockKinds: ["block.faq"],
|
|
13792
|
+
design: {
|
|
13793
|
+
sectionSurface: "muted-band",
|
|
13794
|
+
contentFrame: panelFrame("inset"),
|
|
13795
|
+
itemSurface: "default"
|
|
13796
|
+
}
|
|
13797
|
+
}), defineBlockAppearancePreset({
|
|
13798
|
+
id: "contact-form-panel",
|
|
13799
|
+
target: "contact-form",
|
|
13800
|
+
label: "Raised form panel",
|
|
13801
|
+
blockKinds: ["block.form"],
|
|
13802
|
+
design: {
|
|
13803
|
+
sectionSurface: "muted-band",
|
|
13804
|
+
contentFrame: panelFrame("raised"),
|
|
13805
|
+
itemSurface: "none"
|
|
13806
|
+
}
|
|
13807
|
+
}), defineBlockAppearancePreset({
|
|
13808
|
+
id: "cta-accent-band",
|
|
13809
|
+
target: "cta",
|
|
13810
|
+
label: "Accent CTA band",
|
|
13811
|
+
blockKinds: ["block.cta-full"],
|
|
13812
|
+
design: {
|
|
13813
|
+
sectionSurface: "accent-band",
|
|
13814
|
+
contentFrame: plainFrame,
|
|
13815
|
+
itemSurface: "none",
|
|
13816
|
+
eyebrowTreatment: "accent"
|
|
13817
|
+
}
|
|
13818
|
+
});
|
|
13827
13819
|
//#endregion
|
|
13828
13820
|
//#region ../theme-core/src/site-styles/headerCtaVariants.ts
|
|
13829
13821
|
function hasButtonVariant(theme, variantId) {
|
|
@@ -15337,7 +15329,7 @@ function canonicalPaletteHashInput(colors, mode) {
|
|
|
15337
15329
|
return `${mode}|${paletteColorFingerprint(colors)}`;
|
|
15338
15330
|
}
|
|
15339
15331
|
/**
|
|
15340
|
-
*
|
|
15332
|
+
* Stable curated-catalogue identity. Do not reorder roles: the order comes
|
|
15341
15333
|
* from PALETTE_TOKEN_NAMES through canonicalPaletteHashInput.
|
|
15342
15334
|
*/
|
|
15343
15335
|
function paletteValueKey(colors, mode) {
|
|
@@ -16907,6 +16899,32 @@ function parseBackgroundAppearanceColorToken(value) {
|
|
|
16907
16899
|
function uniqueStrings(values) {
|
|
16908
16900
|
return Array.from(new Set(values));
|
|
16909
16901
|
}
|
|
16902
|
+
const headerInteractionPaletteSchema = z$1.enum([
|
|
16903
|
+
"primary",
|
|
16904
|
+
"secondary",
|
|
16905
|
+
"accent"
|
|
16906
|
+
]);
|
|
16907
|
+
//#endregion
|
|
16908
|
+
//#region ../theme-core/src/site-styles/headerInteractionPalette.ts
|
|
16909
|
+
const clearSplitInteractionPalette = defineLookOptionGroup({
|
|
16910
|
+
id: "interaction-palette",
|
|
16911
|
+
label: "Hover colour",
|
|
16912
|
+
defaultOptionId: "accent",
|
|
16913
|
+
options: [
|
|
16914
|
+
{
|
|
16915
|
+
id: "accent",
|
|
16916
|
+
label: "Accent"
|
|
16917
|
+
},
|
|
16918
|
+
{
|
|
16919
|
+
id: "primary",
|
|
16920
|
+
label: "Primary"
|
|
16921
|
+
},
|
|
16922
|
+
{
|
|
16923
|
+
id: "secondary",
|
|
16924
|
+
label: "Secondary"
|
|
16925
|
+
}
|
|
16926
|
+
]
|
|
16927
|
+
});
|
|
16910
16928
|
//#endregion
|
|
16911
16929
|
//#region ../theme-core/src/site-styles/logoBranding.ts
|
|
16912
16930
|
const logoTextConfidenceValues = [
|
|
@@ -17129,7 +17147,7 @@ const overlayLogoAccommodations = [
|
|
|
17129
17147
|
* optional nested styling fields that would otherwise leak from another Look.
|
|
17130
17148
|
*/
|
|
17131
17149
|
function baseHeader(theme) {
|
|
17132
|
-
const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
17150
|
+
const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
|
|
17133
17151
|
return {
|
|
17134
17152
|
...header,
|
|
17135
17153
|
navContainer: {
|
|
@@ -17144,7 +17162,6 @@ const headerLayoutCatalog = defineExactCatalog()([
|
|
|
17144
17162
|
id: asHeaderLayoutId("classic"),
|
|
17145
17163
|
label: "Classic",
|
|
17146
17164
|
description: "Logo and navigation in one practical horizontal row.",
|
|
17147
|
-
structure: "inline-classic",
|
|
17148
17165
|
variant: "classic",
|
|
17149
17166
|
defaultPositioning: "sticky",
|
|
17150
17167
|
shrinkOnScroll: false
|
|
@@ -17153,7 +17170,6 @@ const headerLayoutCatalog = defineExactCatalog()([
|
|
|
17153
17170
|
id: asHeaderLayoutId("centered"),
|
|
17154
17171
|
label: "Centered",
|
|
17155
17172
|
description: "Logo centered above a balanced navigation row.",
|
|
17156
|
-
structure: "centered-stack",
|
|
17157
17173
|
variant: "centered",
|
|
17158
17174
|
defaultPositioning: "static",
|
|
17159
17175
|
shrinkOnScroll: false,
|
|
@@ -17169,7 +17185,6 @@ const headerLayoutCatalog = defineExactCatalog()([
|
|
|
17169
17185
|
id: asHeaderLayoutId("floating"),
|
|
17170
17186
|
label: "Floating",
|
|
17171
17187
|
description: "Detached header chrome that sits over the opening section.",
|
|
17172
|
-
structure: "floating-shell",
|
|
17173
17188
|
variant: "floating",
|
|
17174
17189
|
defaultPositioning: "sticky",
|
|
17175
17190
|
shrinkOnScroll: true,
|
|
@@ -17331,10 +17346,13 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
17331
17346
|
label: "Clear Split",
|
|
17332
17347
|
description: "Floating logo with transparent navigation and no shared shell.",
|
|
17333
17348
|
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
17334
|
-
navInteraction: "
|
|
17349
|
+
navInteraction: "pill-background",
|
|
17335
17350
|
surface: "floating",
|
|
17336
|
-
defaultDepth: "
|
|
17351
|
+
defaultDepth: "line",
|
|
17337
17352
|
navTypography: "plain",
|
|
17353
|
+
openingForegroundTarget: "all",
|
|
17354
|
+
scrollTreatment: "contrast-glass",
|
|
17355
|
+
interactionPalette: clearSplitInteractionPalette,
|
|
17338
17356
|
moods: ["editorial", "calm"]
|
|
17339
17357
|
},
|
|
17340
17358
|
{
|
|
@@ -17357,6 +17375,7 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
17357
17375
|
surface: "floating",
|
|
17358
17376
|
defaultDepth: "shadow",
|
|
17359
17377
|
navTypography: "quiet-caps",
|
|
17378
|
+
openingForegroundTarget: "brand-only",
|
|
17360
17379
|
moods: ["expressive"]
|
|
17361
17380
|
},
|
|
17362
17381
|
{
|
|
@@ -17368,6 +17387,7 @@ const headerStyleCatalog = defineExactCatalog()([
|
|
|
17368
17387
|
surface: "floating",
|
|
17369
17388
|
defaultDepth: "shadow",
|
|
17370
17389
|
navTypography: "heading",
|
|
17390
|
+
openingForegroundTarget: "brand-only",
|
|
17371
17391
|
moods: ["calm", "editorial"]
|
|
17372
17392
|
}
|
|
17373
17393
|
]);
|
|
@@ -17869,13 +17889,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17869
17889
|
{
|
|
17870
17890
|
id: asHeaderLookId("clean-base"),
|
|
17871
17891
|
label: "Clean base",
|
|
17872
|
-
visualTreatment: "solid-neutral",
|
|
17873
|
-
layoutBehavior: "sticky",
|
|
17874
|
-
configuration: {
|
|
17875
|
-
structure: "inline-classic",
|
|
17876
|
-
treatment: "solid-neutral",
|
|
17877
|
-
behavior: "sticky"
|
|
17878
|
-
},
|
|
17879
17892
|
openingRequirement: "none",
|
|
17880
17893
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
17881
17894
|
compile: cleanBaseHeader
|
|
@@ -17883,13 +17896,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17883
17896
|
{
|
|
17884
17897
|
id: asHeaderLookId("classic-centered-nav"),
|
|
17885
17898
|
label: "Centered nav",
|
|
17886
|
-
visualTreatment: "solid-neutral",
|
|
17887
|
-
layoutBehavior: "sticky",
|
|
17888
|
-
configuration: {
|
|
17889
|
-
structure: "inline-classic",
|
|
17890
|
-
treatment: "solid-neutral",
|
|
17891
|
-
behavior: "sticky"
|
|
17892
|
-
},
|
|
17893
17899
|
openingRequirement: "none",
|
|
17894
17900
|
maxRecommendedNavItems: 6,
|
|
17895
17901
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
@@ -17898,13 +17904,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17898
17904
|
{
|
|
17899
17905
|
id: asHeaderLookId("brand-solid"),
|
|
17900
17906
|
label: "Brand solid",
|
|
17901
|
-
visualTreatment: "solid-brand",
|
|
17902
|
-
layoutBehavior: "sticky-shrink",
|
|
17903
|
-
configuration: {
|
|
17904
|
-
structure: "inline-classic",
|
|
17905
|
-
treatment: "solid-brand",
|
|
17906
|
-
behavior: "sticky-shrink"
|
|
17907
|
-
},
|
|
17908
17907
|
openingRequirement: "none",
|
|
17909
17908
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
17910
17909
|
compile: solidBrandHeader
|
|
@@ -17912,13 +17911,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17912
17911
|
{
|
|
17913
17912
|
id: asHeaderLookId("serif-line"),
|
|
17914
17913
|
label: "Serif line",
|
|
17915
|
-
visualTreatment: "light-serif",
|
|
17916
|
-
layoutBehavior: "sticky",
|
|
17917
|
-
configuration: {
|
|
17918
|
-
structure: "centered-stack",
|
|
17919
|
-
treatment: "light-serif",
|
|
17920
|
-
behavior: "sticky"
|
|
17921
|
-
},
|
|
17922
17914
|
openingRequirement: "none",
|
|
17923
17915
|
maxRecommendedNavItems: 6,
|
|
17924
17916
|
logoAccommodations: centeredLogoAccommodations,
|
|
@@ -17927,13 +17919,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17927
17919
|
{
|
|
17928
17920
|
id: asHeaderLookId("centered-calm"),
|
|
17929
17921
|
label: "Centered calm",
|
|
17930
|
-
visualTreatment: "light-serif",
|
|
17931
|
-
layoutBehavior: "normal-flow",
|
|
17932
|
-
configuration: {
|
|
17933
|
-
structure: "centered-stack",
|
|
17934
|
-
treatment: "light-serif",
|
|
17935
|
-
behavior: "normal-flow"
|
|
17936
|
-
},
|
|
17937
17922
|
openingRequirement: "none",
|
|
17938
17923
|
maxRecommendedNavItems: 5,
|
|
17939
17924
|
logoAccommodations: centeredLogoAccommodations,
|
|
@@ -17942,13 +17927,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17942
17927
|
{
|
|
17943
17928
|
id: asHeaderLookId("practical-utility"),
|
|
17944
17929
|
label: "Practical utility",
|
|
17945
|
-
visualTreatment: "solid-neutral",
|
|
17946
|
-
layoutBehavior: "sticky-shrink",
|
|
17947
|
-
configuration: {
|
|
17948
|
-
structure: "inline-classic",
|
|
17949
|
-
treatment: "solid-neutral",
|
|
17950
|
-
behavior: "sticky-shrink"
|
|
17951
|
-
},
|
|
17952
17930
|
openingRequirement: "none",
|
|
17953
17931
|
requiresProminentCta: true,
|
|
17954
17932
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
@@ -17957,13 +17935,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17957
17935
|
{
|
|
17958
17936
|
id: asHeaderLookId("minimal-transparent"),
|
|
17959
17937
|
label: "Minimal transparent",
|
|
17960
|
-
visualTreatment: "minimal-transparent",
|
|
17961
|
-
layoutBehavior: "normal-flow",
|
|
17962
|
-
configuration: {
|
|
17963
|
-
structure: "inline-classic",
|
|
17964
|
-
treatment: "minimal-transparent",
|
|
17965
|
-
behavior: "normal-flow"
|
|
17966
|
-
},
|
|
17967
17938
|
openingRequirement: "reserved-space-ok",
|
|
17968
17939
|
logoAccommodations: inlineClassicLogoAccommodations,
|
|
17969
17940
|
compile: minimalTransparentHeader
|
|
@@ -17971,13 +17942,6 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17971
17942
|
{
|
|
17972
17943
|
id: asHeaderLookId("transparent-overlay"),
|
|
17973
17944
|
label: "Transparent overlay",
|
|
17974
|
-
visualTreatment: "transparent-overlay",
|
|
17975
|
-
layoutBehavior: "fixed-overlay",
|
|
17976
|
-
configuration: {
|
|
17977
|
-
structure: "inline-classic",
|
|
17978
|
-
treatment: "transparent-overlay",
|
|
17979
|
-
behavior: "fixed-overlay"
|
|
17980
|
-
},
|
|
17981
17945
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
17982
17946
|
maxRecommendedNavItems: 5,
|
|
17983
17947
|
logoAccommodations: overlayLogoAccommodations,
|
|
@@ -17986,24 +17950,13 @@ const headerLookCatalog = defineExactCatalog()([
|
|
|
17986
17950
|
{
|
|
17987
17951
|
id: asHeaderLookId("floating-glass"),
|
|
17988
17952
|
label: "Floating glass",
|
|
17989
|
-
visualTreatment: "floating-glass",
|
|
17990
|
-
layoutBehavior: "fixed-floating",
|
|
17991
|
-
configuration: {
|
|
17992
|
-
structure: "floating-shell",
|
|
17993
|
-
treatment: "floating-glass",
|
|
17994
|
-
behavior: "fixed-floating"
|
|
17995
|
-
},
|
|
17996
17953
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
17997
17954
|
maxRecommendedNavItems: 5,
|
|
17998
17955
|
logoAccommodations: overlayLogoAccommodations,
|
|
17999
17956
|
compile: floatingGlassHeader
|
|
18000
17957
|
}
|
|
18001
17958
|
]);
|
|
18002
|
-
new Set(headerLookCatalog.map((look) => headerConfigurationKey(look.configuration)));
|
|
18003
17959
|
new Map(headerLookCatalog.map((look) => [look.id, look]));
|
|
18004
|
-
function headerConfigurationKey(configuration) {
|
|
18005
|
-
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
18006
|
-
}
|
|
18007
17960
|
//#endregion
|
|
18008
17961
|
//#region ../theme-core/src/site-styles/sectionTransitions.ts
|
|
18009
17962
|
function boundaryRuntimeMetrics(family, size, heightExpression) {
|
|
@@ -18207,8 +18160,6 @@ const VARIANT_ROLES = [
|
|
|
18207
18160
|
"secondary",
|
|
18208
18161
|
"outline",
|
|
18209
18162
|
"ghost",
|
|
18210
|
-
"link",
|
|
18211
|
-
"tertiary",
|
|
18212
18163
|
"accent"
|
|
18213
18164
|
];
|
|
18214
18165
|
function isVariantRole(value) {
|
|
@@ -18220,7 +18171,7 @@ function isVariantRole(value) {
|
|
|
18220
18171
|
* IDs become class selectors, so keep the contract deliberately narrower than
|
|
18221
18172
|
* an arbitrary string and shared with every authoring/runtime boundary.
|
|
18222
18173
|
*/
|
|
18223
|
-
const buttonVariantIdSchema = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/, "Button variant IDs may contain lowercase letters, numbers, and hyphens only");
|
|
18174
|
+
const buttonVariantIdSchema = z$1.string().min(1).max(50).regex(/^[a-z0-9-]+$/, "Button variant IDs may contain lowercase letters, numbers, and hyphens only").refine((value) => value !== "link" && value !== "tertiary", { message: "Retired button role IDs are not valid variant IDs" });
|
|
18224
18175
|
function asSpecialVariantId(value) {
|
|
18225
18176
|
const parsed = buttonVariantIdSchema.safeParse(value);
|
|
18226
18177
|
if (!parsed.success) throw new Error("SpecialVariantId must be a CSS-safe button variant ID");
|
|
@@ -21411,39 +21362,39 @@ function defaultTypographyForRecipe(recipe) {
|
|
|
21411
21362
|
}
|
|
21412
21363
|
//#endregion
|
|
21413
21364
|
//#region ../theme-core/src/lib/media.ts
|
|
21414
|
-
const hotspotSchema
|
|
21365
|
+
const hotspotSchema = z.object({
|
|
21415
21366
|
x: z.number().min(0).max(1),
|
|
21416
21367
|
y: z.number().min(0).max(1),
|
|
21417
21368
|
radius: z.number().optional()
|
|
21418
21369
|
});
|
|
21419
|
-
const rotationSchema
|
|
21370
|
+
const rotationSchema = z.union([
|
|
21420
21371
|
z.literal(0),
|
|
21421
21372
|
z.literal(90),
|
|
21422
21373
|
z.literal(180),
|
|
21423
21374
|
z.literal(270)
|
|
21424
21375
|
]);
|
|
21425
|
-
const rectSchema
|
|
21376
|
+
const rectSchema = z.tuple([
|
|
21426
21377
|
z.number(),
|
|
21427
21378
|
z.number(),
|
|
21428
21379
|
z.number(),
|
|
21429
21380
|
z.number()
|
|
21430
21381
|
]);
|
|
21431
|
-
const aspectCropSchema
|
|
21382
|
+
const aspectCropSchema = z.object({
|
|
21432
21383
|
aspect: z.preprocess((value) => value == null ? void 0 : value, z.string().optional()),
|
|
21433
|
-
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema
|
|
21434
|
-
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema
|
|
21435
|
-
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema
|
|
21384
|
+
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
21385
|
+
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
21386
|
+
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
21436
21387
|
});
|
|
21437
|
-
const transformSchema
|
|
21388
|
+
const transformSchema = z.object({
|
|
21438
21389
|
aspectCrops: z.preprocess((value) => {
|
|
21439
21390
|
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
21440
21391
|
return value;
|
|
21441
|
-
}, z.record(z.string(), aspectCropSchema
|
|
21442
|
-
rect: rectSchema
|
|
21443
|
-
hotspot: hotspotSchema
|
|
21444
|
-
rotation: rotationSchema
|
|
21392
|
+
}, z.record(z.string(), aspectCropSchema.catch({}))).optional(),
|
|
21393
|
+
rect: rectSchema.optional(),
|
|
21394
|
+
hotspot: hotspotSchema.optional(),
|
|
21395
|
+
rotation: rotationSchema.optional()
|
|
21445
21396
|
});
|
|
21446
|
-
const mediaSchema
|
|
21397
|
+
const mediaSchema = z.object({
|
|
21447
21398
|
type: z.enum([
|
|
21448
21399
|
"image",
|
|
21449
21400
|
"video",
|
|
@@ -21464,7 +21415,7 @@ const mediaSchema$1 = z.object({
|
|
|
21464
21415
|
height: z.number().optional(),
|
|
21465
21416
|
storageBucket: z.string().optional(),
|
|
21466
21417
|
storagePath: z.string().optional(),
|
|
21467
|
-
transform: transformSchema
|
|
21418
|
+
transform: transformSchema.optional()
|
|
21468
21419
|
});
|
|
21469
21420
|
//#endregion
|
|
21470
21421
|
//#region ../theme-core/src/palette/schema.ts
|
|
@@ -22297,264 +22248,6 @@ function generateInteractiveChildInheritanceCSS(selector) {
|
|
|
22297
22248
|
return `\n${selector} * {\n font-family: inherit;\n font-weight: inherit;\n font-style: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n color: inherit;\n}\n`;
|
|
22298
22249
|
}
|
|
22299
22250
|
//#endregion
|
|
22300
|
-
//#region ../theme-core/src/buttons/effects/presets/background.ts
|
|
22301
|
-
/**
|
|
22302
|
-
* Darken background on hover
|
|
22303
|
-
*
|
|
22304
|
-
* Works with solid backgrounds only. Darkens the background color by adjusting the shade.
|
|
22305
|
-
*/
|
|
22306
|
-
const darkenBackgroundEffect = {
|
|
22307
|
-
id: "darken-background",
|
|
22308
|
-
name: "Darken on Hover",
|
|
22309
|
-
description: "Darkens the background color on hover",
|
|
22310
|
-
category: "background",
|
|
22311
|
-
pseudoElement: "none",
|
|
22312
|
-
applicableTo: ["button"],
|
|
22313
|
-
customizableOption: {
|
|
22314
|
-
name: "amount",
|
|
22315
|
-
type: "select",
|
|
22316
|
-
label: "Darken Amount (shade step)",
|
|
22317
|
-
default: 100,
|
|
22318
|
-
options: [
|
|
22319
|
-
0,
|
|
22320
|
-
100,
|
|
22321
|
-
200,
|
|
22322
|
-
300,
|
|
22323
|
-
400,
|
|
22324
|
-
500,
|
|
22325
|
-
600,
|
|
22326
|
-
700,
|
|
22327
|
-
800,
|
|
22328
|
-
900
|
|
22329
|
-
]
|
|
22330
|
-
},
|
|
22331
|
-
isApplicable: (buttonConfig) => {
|
|
22332
|
-
return buttonConfig.background.type === "solid";
|
|
22333
|
-
},
|
|
22334
|
-
generateCSS: (ctx) => {
|
|
22335
|
-
const { themeId, variantId, options, tokens, buttonConfig } = ctx;
|
|
22336
|
-
if (buttonConfig.background.type !== "solid") return "";
|
|
22337
|
-
const amount = options.amount || 100;
|
|
22338
|
-
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
22339
|
-
const darkerToken = tokens.adjustShade(baseToken, amount);
|
|
22340
|
-
return `
|
|
22341
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22342
|
-
background-color: ${tokens.getColor(darkerToken)};
|
|
22343
|
-
}
|
|
22344
|
-
`;
|
|
22345
|
-
}
|
|
22346
|
-
};
|
|
22347
|
-
/**
|
|
22348
|
-
* Lighten background on hover
|
|
22349
|
-
*
|
|
22350
|
-
* Works with solid backgrounds only. Lightens the background color by adjusting the shade.
|
|
22351
|
-
*/
|
|
22352
|
-
const lightenBackgroundEffect = {
|
|
22353
|
-
id: "lighten-background",
|
|
22354
|
-
name: "Lighten on Hover",
|
|
22355
|
-
description: "Lightens the background color on hover",
|
|
22356
|
-
category: "background",
|
|
22357
|
-
pseudoElement: "none",
|
|
22358
|
-
applicableTo: ["button"],
|
|
22359
|
-
customizableOption: {
|
|
22360
|
-
name: "amount",
|
|
22361
|
-
type: "select",
|
|
22362
|
-
label: "Lighten Amount (shade step)",
|
|
22363
|
-
default: 100,
|
|
22364
|
-
options: [
|
|
22365
|
-
0,
|
|
22366
|
-
100,
|
|
22367
|
-
200,
|
|
22368
|
-
300,
|
|
22369
|
-
400,
|
|
22370
|
-
500,
|
|
22371
|
-
600,
|
|
22372
|
-
700,
|
|
22373
|
-
800,
|
|
22374
|
-
900
|
|
22375
|
-
]
|
|
22376
|
-
},
|
|
22377
|
-
isApplicable: (buttonConfig) => {
|
|
22378
|
-
return buttonConfig.background.type === "solid";
|
|
22379
|
-
},
|
|
22380
|
-
generateCSS: (ctx) => {
|
|
22381
|
-
const { themeId, variantId, options, tokens, buttonConfig } = ctx;
|
|
22382
|
-
if (buttonConfig.background.type !== "solid") return "";
|
|
22383
|
-
const amount = options.amount || 100;
|
|
22384
|
-
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
22385
|
-
const lighterToken = tokens.adjustShade(baseToken, -amount);
|
|
22386
|
-
return `
|
|
22387
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22388
|
-
background-color: ${tokens.getColor(lighterToken)};
|
|
22389
|
-
}
|
|
22390
|
-
`;
|
|
22391
|
-
}
|
|
22392
|
-
};
|
|
22393
|
-
/**
|
|
22394
|
-
* Fade background on hover (reduce opacity)
|
|
22395
|
-
*
|
|
22396
|
-
* Works with all background types.
|
|
22397
|
-
*/
|
|
22398
|
-
const fadeBackgroundEffect = {
|
|
22399
|
-
id: "fade-background",
|
|
22400
|
-
name: "Fade on Hover",
|
|
22401
|
-
description: "Reduces background opacity on hover",
|
|
22402
|
-
category: "background",
|
|
22403
|
-
pseudoElement: "none",
|
|
22404
|
-
applicableTo: ["nav-link"],
|
|
22405
|
-
customizableOption: {
|
|
22406
|
-
name: "opacity",
|
|
22407
|
-
type: "percentage",
|
|
22408
|
-
label: "Hover Opacity",
|
|
22409
|
-
default: 80
|
|
22410
|
-
},
|
|
22411
|
-
generateCSS: (ctx) => {
|
|
22412
|
-
const { themeId, variantId, options } = ctx;
|
|
22413
|
-
return `
|
|
22414
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22415
|
-
opacity: ${(options.opacity || 80) / 100};
|
|
22416
|
-
}
|
|
22417
|
-
`;
|
|
22418
|
-
}
|
|
22419
|
-
};
|
|
22420
|
-
/**
|
|
22421
|
-
* Reduce opacity on hover (simple opacity reduction)
|
|
22422
|
-
*
|
|
22423
|
-
* Navigation-link effect that reduces opacity by a percentage (default 15%).
|
|
22424
|
-
*/
|
|
22425
|
-
const opacityReduceEffect = {
|
|
22426
|
-
id: "opacity-reduce",
|
|
22427
|
-
name: "Reduce Opacity",
|
|
22428
|
-
description: "Reduces navigation-link opacity on hover by a percentage",
|
|
22429
|
-
category: "background",
|
|
22430
|
-
pseudoElement: "none",
|
|
22431
|
-
applicableTo: ["nav-link"],
|
|
22432
|
-
customizableOption: {
|
|
22433
|
-
name: "reduction",
|
|
22434
|
-
type: "percentage",
|
|
22435
|
-
label: "Opacity Reduction",
|
|
22436
|
-
default: 15
|
|
22437
|
-
},
|
|
22438
|
-
generateCSS: (ctx) => {
|
|
22439
|
-
const { themeId, variantId, options } = ctx;
|
|
22440
|
-
return `
|
|
22441
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22442
|
-
opacity: ${1 - (options.reduction || 15) / 100};
|
|
22443
|
-
}
|
|
22444
|
-
`;
|
|
22445
|
-
}
|
|
22446
|
-
};
|
|
22447
|
-
/**
|
|
22448
|
-
* Animated gradient background
|
|
22449
|
-
*
|
|
22450
|
-
* Animates a gradient background by shifting its position on hover.
|
|
22451
|
-
* Works with gradient backgrounds only.
|
|
22452
|
-
*
|
|
22453
|
-
* Sets background-size to 200% and animates background-position from left to right.
|
|
22454
|
-
*/
|
|
22455
|
-
const animatedGradientEffect = {
|
|
22456
|
-
id: "animated-gradient",
|
|
22457
|
-
name: "Animated Gradient",
|
|
22458
|
-
description: "Animates gradient position on hover",
|
|
22459
|
-
category: "background",
|
|
22460
|
-
pseudoElement: "none",
|
|
22461
|
-
applicableTo: ["button"],
|
|
22462
|
-
customizableOption: {
|
|
22463
|
-
name: "direction",
|
|
22464
|
-
type: "select",
|
|
22465
|
-
label: "Animation Direction",
|
|
22466
|
-
default: "horizontal",
|
|
22467
|
-
options: ["horizontal", "vertical"]
|
|
22468
|
-
},
|
|
22469
|
-
isApplicable: (buttonConfig) => {
|
|
22470
|
-
return buttonConfig.background.type === "gradient";
|
|
22471
|
-
},
|
|
22472
|
-
generateCSS: (ctx) => {
|
|
22473
|
-
const { themeId, variantId, options, buttonConfig } = ctx;
|
|
22474
|
-
if (buttonConfig.background.type !== "gradient") return "";
|
|
22475
|
-
const direction = options.direction || "horizontal";
|
|
22476
|
-
return `
|
|
22477
|
-
/* Setup animated gradient */
|
|
22478
|
-
:where([data-theme-scope="${themeId}"]) .${variantId} {
|
|
22479
|
-
background-size: ${direction === "horizontal" ? "200% auto" : "auto 200%"};
|
|
22480
|
-
background-position: left center;
|
|
22481
|
-
transition: background-position 0.3s ease;
|
|
22482
|
-
}
|
|
22483
|
-
|
|
22484
|
-
/* Animate gradient on hover */
|
|
22485
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22486
|
-
background-position: ${direction === "horizontal" ? "right center" : "center bottom"};
|
|
22487
|
-
}
|
|
22488
|
-
`;
|
|
22489
|
-
}
|
|
22490
|
-
};
|
|
22491
|
-
/**
|
|
22492
|
-
* Add background color on hover
|
|
22493
|
-
*
|
|
22494
|
-
* Works best with transparent backgrounds. Adds a solid background color on hover.
|
|
22495
|
-
*/
|
|
22496
|
-
const backgroundOnHoverEffect = {
|
|
22497
|
-
id: "background-on-hover",
|
|
22498
|
-
name: "Background on Hover",
|
|
22499
|
-
description: "Adds background color on hover",
|
|
22500
|
-
category: "background",
|
|
22501
|
-
pseudoElement: "none",
|
|
22502
|
-
applicableTo: ["button", "nav-link"],
|
|
22503
|
-
customizableOption: {
|
|
22504
|
-
name: "colorToken",
|
|
22505
|
-
type: "select",
|
|
22506
|
-
label: "Background Color",
|
|
22507
|
-
default: "neutral-800",
|
|
22508
|
-
options: [
|
|
22509
|
-
"neutral-700",
|
|
22510
|
-
"neutral-800",
|
|
22511
|
-
"neutral-900",
|
|
22512
|
-
"primary"
|
|
22513
|
-
]
|
|
22514
|
-
},
|
|
22515
|
-
generateCSS: (ctx) => {
|
|
22516
|
-
const { themeId, variantId, options, tokens, buttonConfig } = ctx;
|
|
22517
|
-
const colorToken = options.colorToken || "neutral-800";
|
|
22518
|
-
return `
|
|
22519
|
-
/* Add background on hover */
|
|
22520
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22521
|
-
background-color: ${tokens.getColor(colorToken)};${"textColorToken" in buttonConfig && typeof options.textColorToken === "string" ? `\n color: ${tokens.getColor(options.textColorToken)};` : ""}
|
|
22522
|
-
}
|
|
22523
|
-
`;
|
|
22524
|
-
}
|
|
22525
|
-
};
|
|
22526
|
-
/**
|
|
22527
|
-
* Add semi-transparent background color on hover
|
|
22528
|
-
*
|
|
22529
|
-
* Adds a background with opacity/alpha channel. Perfect for retro/arcade styles.
|
|
22530
|
-
*/
|
|
22531
|
-
const backgroundOnHoverAlphaEffect = {
|
|
22532
|
-
id: "background-on-hover-alpha",
|
|
22533
|
-
name: "Background on Hover (Transparent)",
|
|
22534
|
-
description: "Adds semi-transparent background on hover",
|
|
22535
|
-
category: "background",
|
|
22536
|
-
pseudoElement: "none",
|
|
22537
|
-
applicableTo: ["nav-link"],
|
|
22538
|
-
customizableOption: {
|
|
22539
|
-
name: "opacity",
|
|
22540
|
-
type: "percentage",
|
|
22541
|
-
label: "Opacity",
|
|
22542
|
-
default: 50
|
|
22543
|
-
},
|
|
22544
|
-
generateCSS: (ctx) => {
|
|
22545
|
-
const { themeId, variantId, stateGroup, options } = ctx;
|
|
22546
|
-
const rawOpacity = options.opacity;
|
|
22547
|
-
const clampedOpacity = Math.max(0, Math.min(100, typeof rawOpacity === "number" && !Number.isNaN(rawOpacity) ? rawOpacity : 50));
|
|
22548
|
-
const cssVar = `var(--tb-${options.colorToken || "neutral-800"})`;
|
|
22549
|
-
return `
|
|
22550
|
-
/* Add semi-transparent background (${stateGroup}) */
|
|
22551
|
-
:where([data-theme-scope="${themeId}"]) .${variantId}${stateGroup === "base" ? "" : `:${stateGroup}`} {
|
|
22552
|
-
background-color: rgb(${cssVar} / ${clampedOpacity}%);
|
|
22553
|
-
}
|
|
22554
|
-
`;
|
|
22555
|
-
}
|
|
22556
|
-
};
|
|
22557
|
-
//#endregion
|
|
22558
22251
|
//#region ../theme-core/src/buttons/effects/cssUtils.ts
|
|
22559
22252
|
/**
|
|
22560
22253
|
* CSS Utilities for Effect Presets
|
|
@@ -22606,6 +22299,71 @@ function generateStateCSS(themeId, variantId, state, cssProperties) {
|
|
|
22606
22299
|
`;
|
|
22607
22300
|
}
|
|
22608
22301
|
//#endregion
|
|
22302
|
+
//#region ../theme-core/src/buttons/effects/presets/background.ts
|
|
22303
|
+
/**
|
|
22304
|
+
* Darken background on hover
|
|
22305
|
+
*
|
|
22306
|
+
* Works with solid backgrounds only. Darkens the background color by adjusting the shade.
|
|
22307
|
+
*/
|
|
22308
|
+
const darkenBackgroundEffect = shadeBackgroundEffect({
|
|
22309
|
+
id: "darken-background",
|
|
22310
|
+
name: "Darken on Hover",
|
|
22311
|
+
description: "Darkens the background color on hover",
|
|
22312
|
+
label: "Darken Amount (shade step)",
|
|
22313
|
+
shadeDirection: 1
|
|
22314
|
+
});
|
|
22315
|
+
/**
|
|
22316
|
+
* Lighten background on hover
|
|
22317
|
+
*
|
|
22318
|
+
* Works with solid backgrounds only. Lightens the background color by adjusting the shade.
|
|
22319
|
+
*/
|
|
22320
|
+
const lightenBackgroundEffect = shadeBackgroundEffect({
|
|
22321
|
+
id: "lighten-background",
|
|
22322
|
+
name: "Lighten on Hover",
|
|
22323
|
+
description: "Lightens the background color on hover",
|
|
22324
|
+
label: "Lighten Amount (shade step)",
|
|
22325
|
+
shadeDirection: -1
|
|
22326
|
+
});
|
|
22327
|
+
function shadeBackgroundEffect(config) {
|
|
22328
|
+
return {
|
|
22329
|
+
id: config.id,
|
|
22330
|
+
name: config.name,
|
|
22331
|
+
description: config.description,
|
|
22332
|
+
category: "background",
|
|
22333
|
+
pseudoElement: "none",
|
|
22334
|
+
applicableTo: ["button"],
|
|
22335
|
+
customizableOption: {
|
|
22336
|
+
name: "amount",
|
|
22337
|
+
type: "select",
|
|
22338
|
+
label: config.label,
|
|
22339
|
+
default: 100,
|
|
22340
|
+
options: [
|
|
22341
|
+
0,
|
|
22342
|
+
100,
|
|
22343
|
+
200,
|
|
22344
|
+
300,
|
|
22345
|
+
400,
|
|
22346
|
+
500,
|
|
22347
|
+
600,
|
|
22348
|
+
700,
|
|
22349
|
+
800,
|
|
22350
|
+
900
|
|
22351
|
+
]
|
|
22352
|
+
},
|
|
22353
|
+
isApplicable: (buttonConfig) => buttonConfig.background.type === "solid",
|
|
22354
|
+
generateCSS: ({ themeId, variantId, options, tokens, buttonConfig }) => {
|
|
22355
|
+
if (buttonConfig.background.type !== "solid") return "";
|
|
22356
|
+
const amount = (options.amount || 100) * config.shadeDirection;
|
|
22357
|
+
const baseToken = buttonConfig.background.colorToken ?? "primary-500";
|
|
22358
|
+
return `
|
|
22359
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22360
|
+
background-color: ${tokens.getColor(tokens.adjustShade(baseToken, amount))};
|
|
22361
|
+
}
|
|
22362
|
+
`;
|
|
22363
|
+
}
|
|
22364
|
+
};
|
|
22365
|
+
}
|
|
22366
|
+
//#endregion
|
|
22609
22367
|
//#region ../theme-core/src/buttons/effects/registry.ts
|
|
22610
22368
|
/**
|
|
22611
22369
|
* Registry of all available effect presets
|
|
@@ -22613,11 +22371,144 @@ function generateStateCSS(themeId, variantId, state, cssProperties) {
|
|
|
22613
22371
|
const EFFECT_PRESETS = [
|
|
22614
22372
|
darkenBackgroundEffect,
|
|
22615
22373
|
lightenBackgroundEffect,
|
|
22616
|
-
|
|
22617
|
-
|
|
22618
|
-
|
|
22619
|
-
|
|
22620
|
-
|
|
22374
|
+
{
|
|
22375
|
+
id: "fade-background",
|
|
22376
|
+
name: "Fade on Hover",
|
|
22377
|
+
description: "Reduces background opacity on hover",
|
|
22378
|
+
category: "background",
|
|
22379
|
+
pseudoElement: "none",
|
|
22380
|
+
applicableTo: ["nav-link"],
|
|
22381
|
+
customizableOption: {
|
|
22382
|
+
name: "opacity",
|
|
22383
|
+
type: "percentage",
|
|
22384
|
+
label: "Hover Opacity",
|
|
22385
|
+
default: 80
|
|
22386
|
+
},
|
|
22387
|
+
generateCSS: (ctx) => {
|
|
22388
|
+
const { themeId, variantId, options } = ctx;
|
|
22389
|
+
return `
|
|
22390
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22391
|
+
opacity: ${(options.opacity || 80) / 100};
|
|
22392
|
+
}
|
|
22393
|
+
`;
|
|
22394
|
+
}
|
|
22395
|
+
},
|
|
22396
|
+
{
|
|
22397
|
+
id: "opacity-reduce",
|
|
22398
|
+
name: "Reduce Opacity",
|
|
22399
|
+
description: "Reduces navigation-link opacity on hover by a percentage",
|
|
22400
|
+
category: "background",
|
|
22401
|
+
pseudoElement: "none",
|
|
22402
|
+
applicableTo: ["nav-link"],
|
|
22403
|
+
customizableOption: {
|
|
22404
|
+
name: "reduction",
|
|
22405
|
+
type: "percentage",
|
|
22406
|
+
label: "Opacity Reduction",
|
|
22407
|
+
default: 15
|
|
22408
|
+
},
|
|
22409
|
+
generateCSS: (ctx) => {
|
|
22410
|
+
const { themeId, variantId, options } = ctx;
|
|
22411
|
+
return `
|
|
22412
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22413
|
+
opacity: ${1 - (options.reduction || 15) / 100};
|
|
22414
|
+
}
|
|
22415
|
+
`;
|
|
22416
|
+
}
|
|
22417
|
+
},
|
|
22418
|
+
{
|
|
22419
|
+
id: "animated-gradient",
|
|
22420
|
+
name: "Animated Gradient",
|
|
22421
|
+
description: "Animates gradient position on hover",
|
|
22422
|
+
category: "background",
|
|
22423
|
+
pseudoElement: "none",
|
|
22424
|
+
applicableTo: ["button"],
|
|
22425
|
+
customizableOption: {
|
|
22426
|
+
name: "direction",
|
|
22427
|
+
type: "select",
|
|
22428
|
+
label: "Animation Direction",
|
|
22429
|
+
default: "horizontal",
|
|
22430
|
+
options: ["horizontal", "vertical"]
|
|
22431
|
+
},
|
|
22432
|
+
isApplicable: (buttonConfig) => {
|
|
22433
|
+
return buttonConfig.background.type === "gradient";
|
|
22434
|
+
},
|
|
22435
|
+
generateCSS: (ctx) => {
|
|
22436
|
+
const { themeId, variantId, options, buttonConfig } = ctx;
|
|
22437
|
+
if (buttonConfig.background.type !== "gradient") return "";
|
|
22438
|
+
const direction = options.direction || "horizontal";
|
|
22439
|
+
return `
|
|
22440
|
+
/* Setup animated gradient */
|
|
22441
|
+
:where([data-theme-scope="${themeId}"]) .${variantId} {
|
|
22442
|
+
background-size: ${direction === "horizontal" ? "200% auto" : "auto 200%"};
|
|
22443
|
+
background-position: left center;
|
|
22444
|
+
transition: background-position 0.3s ease;
|
|
22445
|
+
}
|
|
22446
|
+
|
|
22447
|
+
/* Animate gradient on hover */
|
|
22448
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}:hover {
|
|
22449
|
+
background-position: ${direction === "horizontal" ? "right center" : "center bottom"};
|
|
22450
|
+
}
|
|
22451
|
+
`;
|
|
22452
|
+
}
|
|
22453
|
+
},
|
|
22454
|
+
{
|
|
22455
|
+
id: "background-on-hover",
|
|
22456
|
+
name: "Background on Hover",
|
|
22457
|
+
description: "Adds background color on hover",
|
|
22458
|
+
category: "background",
|
|
22459
|
+
pseudoElement: "none",
|
|
22460
|
+
applicableTo: ["button", "nav-link"],
|
|
22461
|
+
customizableOption: {
|
|
22462
|
+
name: "colorToken",
|
|
22463
|
+
type: "select",
|
|
22464
|
+
label: "Background Color",
|
|
22465
|
+
default: "neutral-800",
|
|
22466
|
+
options: [
|
|
22467
|
+
"neutral-700",
|
|
22468
|
+
"neutral-800",
|
|
22469
|
+
"neutral-900",
|
|
22470
|
+
"primary"
|
|
22471
|
+
]
|
|
22472
|
+
},
|
|
22473
|
+
generateCSS: (ctx) => {
|
|
22474
|
+
const { themeId, variantId, stateGroup, options, tokens, buttonConfig } = ctx;
|
|
22475
|
+
const colorToken = options.colorToken || "neutral-800";
|
|
22476
|
+
const color = tokens.getColor(colorToken);
|
|
22477
|
+
const navForeground = "textColorToken" in buttonConfig && typeof options.textColorToken === "string" ? `\n color: ${tokens.getColor(options.textColorToken)};` : "";
|
|
22478
|
+
return `
|
|
22479
|
+
/* Add background on hover */
|
|
22480
|
+
${getStateSelector(themeId, variantId, stateGroup)} {
|
|
22481
|
+
background-color: ${color};${navForeground}
|
|
22482
|
+
}
|
|
22483
|
+
`;
|
|
22484
|
+
}
|
|
22485
|
+
},
|
|
22486
|
+
{
|
|
22487
|
+
id: "background-on-hover-alpha",
|
|
22488
|
+
name: "Background on Hover (Transparent)",
|
|
22489
|
+
description: "Adds semi-transparent background on hover",
|
|
22490
|
+
category: "background",
|
|
22491
|
+
pseudoElement: "none",
|
|
22492
|
+
applicableTo: ["nav-link"],
|
|
22493
|
+
customizableOption: {
|
|
22494
|
+
name: "opacity",
|
|
22495
|
+
type: "percentage",
|
|
22496
|
+
label: "Opacity",
|
|
22497
|
+
default: 50
|
|
22498
|
+
},
|
|
22499
|
+
generateCSS: (ctx) => {
|
|
22500
|
+
const { themeId, variantId, stateGroup, options } = ctx;
|
|
22501
|
+
const rawOpacity = options.opacity;
|
|
22502
|
+
const clampedOpacity = Math.max(0, Math.min(100, typeof rawOpacity === "number" && !Number.isNaN(rawOpacity) ? rawOpacity : 50));
|
|
22503
|
+
const cssVar = `var(--tb-${options.colorToken || "neutral-800"})`;
|
|
22504
|
+
return `
|
|
22505
|
+
/* Add semi-transparent background (${stateGroup}) */
|
|
22506
|
+
:where([data-theme-scope="${themeId}"]) .${variantId}${stateGroup === "base" ? "" : `:${stateGroup}`} {
|
|
22507
|
+
background-color: rgb(${cssVar} / ${clampedOpacity}%);
|
|
22508
|
+
}
|
|
22509
|
+
`;
|
|
22510
|
+
}
|
|
22511
|
+
},
|
|
22621
22512
|
{
|
|
22622
22513
|
id: "border-glow",
|
|
22623
22514
|
name: "Border Glow",
|
|
@@ -25556,6 +25447,147 @@ function resolveOnColorForThemeToken(token) {
|
|
|
25556
25447
|
return shade <= 400 ? "#000000" : "#FFFFFF";
|
|
25557
25448
|
}
|
|
25558
25449
|
//#endregion
|
|
25450
|
+
//#region ../theme-core/src/header/paintTargets.ts
|
|
25451
|
+
/** Resolve the element that owns the visible header surface for each layout. */
|
|
25452
|
+
function getHeaderPaintTargets(variant, themeId, state = "base") {
|
|
25453
|
+
const scope = `:where([data-theme-scope="${themeId}"])`;
|
|
25454
|
+
const scrolledRoot = state === "scrolled" ? ".header-root.header-scrolled " : "";
|
|
25455
|
+
if (variant === "floating") {
|
|
25456
|
+
if (state === "scrolled") {
|
|
25457
|
+
const desktopOwner = `${scope} ${scrolledRoot}.header-floating-container`;
|
|
25458
|
+
const mobileOwner = `${scope} ${scrolledRoot}.header-mobile-bar`;
|
|
25459
|
+
return [{
|
|
25460
|
+
kind: "viewport-band",
|
|
25461
|
+
clipSelector: `${scope}:has(.header-root.header-scrolled)`,
|
|
25462
|
+
ownerSelector: desktopOwner,
|
|
25463
|
+
selector: `${desktopOwner}::before`,
|
|
25464
|
+
mediaQuery: MQ_MD_UP,
|
|
25465
|
+
topExtension: {
|
|
25466
|
+
customProperty: "--rb-header-floating-top-gap",
|
|
25467
|
+
value: "1rem",
|
|
25468
|
+
ownerProperty: "top"
|
|
25469
|
+
},
|
|
25470
|
+
ownerNeedsPositioning: false
|
|
25471
|
+
}, {
|
|
25472
|
+
kind: "viewport-band",
|
|
25473
|
+
clipSelector: `${scope}:has(.header-root.header-scrolled)`,
|
|
25474
|
+
ownerSelector: mobileOwner,
|
|
25475
|
+
selector: `${mobileOwner}::before`,
|
|
25476
|
+
mediaQuery: MQ_MD_DOWN,
|
|
25477
|
+
topExtension: {
|
|
25478
|
+
customProperty: "--rb-header-floating-top-gap",
|
|
25479
|
+
value: "0.75rem",
|
|
25480
|
+
ownerProperty: "margin-top"
|
|
25481
|
+
},
|
|
25482
|
+
ownerNeedsPositioning: true
|
|
25483
|
+
}];
|
|
25484
|
+
}
|
|
25485
|
+
return [{
|
|
25486
|
+
kind: "element-box",
|
|
25487
|
+
selector: `${scope} ${scrolledRoot}.header-floating-container`,
|
|
25488
|
+
mediaQuery: MQ_MD_UP
|
|
25489
|
+
}, {
|
|
25490
|
+
kind: "element-box",
|
|
25491
|
+
selector: `${scope} ${scrolledRoot}.header-mobile-bar`,
|
|
25492
|
+
mediaQuery: MQ_MD_DOWN
|
|
25493
|
+
}];
|
|
25494
|
+
}
|
|
25495
|
+
return [{
|
|
25496
|
+
kind: "element-box",
|
|
25497
|
+
selector: `${scope} .header-root${state === "scrolled" ? ".header-scrolled" : ""}::before`,
|
|
25498
|
+
pseudoElement: "inset"
|
|
25499
|
+
}];
|
|
25500
|
+
}
|
|
25501
|
+
function renderHeaderPaintTargetRules(targets, rules) {
|
|
25502
|
+
return targets.map((target) => {
|
|
25503
|
+
const block = renderHeaderPaintTargetRule(target, rules);
|
|
25504
|
+
return target.mediaQuery ? `@media ${target.mediaQuery} {\n${block}\n}` : block;
|
|
25505
|
+
}).join("\n");
|
|
25506
|
+
}
|
|
25507
|
+
function renderHeaderPaintTargetRule(target, rules) {
|
|
25508
|
+
switch (target.kind) {
|
|
25509
|
+
case "element-box": {
|
|
25510
|
+
const pseudoElementSetup = target.pseudoElement === "inset" ? [
|
|
25511
|
+
"content: \"\";",
|
|
25512
|
+
"position: absolute;",
|
|
25513
|
+
"inset: 0;",
|
|
25514
|
+
"pointer-events: none;",
|
|
25515
|
+
"border-radius: inherit;",
|
|
25516
|
+
"z-index: -1;"
|
|
25517
|
+
] : [];
|
|
25518
|
+
return `${target.selector} {\n ${[...pseudoElementSetup, ...rules].join("\n ")}\n}`;
|
|
25519
|
+
}
|
|
25520
|
+
case "viewport-band": {
|
|
25521
|
+
const gap = target.topExtension;
|
|
25522
|
+
const ownerRules = [
|
|
25523
|
+
`${gap.customProperty}: ${gap.value};`,
|
|
25524
|
+
`${gap.ownerProperty}: var(${gap.customProperty});`,
|
|
25525
|
+
...target.ownerNeedsPositioning ? ["position: relative;"] : [],
|
|
25526
|
+
"isolation: isolate;",
|
|
25527
|
+
"background: none;",
|
|
25528
|
+
"backdrop-filter: none;",
|
|
25529
|
+
"-webkit-backdrop-filter: none;",
|
|
25530
|
+
"border: 0;",
|
|
25531
|
+
"box-shadow: none;"
|
|
25532
|
+
];
|
|
25533
|
+
const bandRules = [
|
|
25534
|
+
"content: \"\";",
|
|
25535
|
+
"position: absolute;",
|
|
25536
|
+
`top: calc(-1 * var(${gap.customProperty}));`,
|
|
25537
|
+
"bottom: 0;",
|
|
25538
|
+
"left: 50%;",
|
|
25539
|
+
"width: 100vw;",
|
|
25540
|
+
"transform: translateX(-50%);",
|
|
25541
|
+
"pointer-events: none;",
|
|
25542
|
+
"border-radius: 0;",
|
|
25543
|
+
"z-index: -1;",
|
|
25544
|
+
...rules
|
|
25545
|
+
];
|
|
25546
|
+
return `${target.clipSelector} {\n overflow-x: clip;\n}\n${target.ownerSelector} {\n ${ownerRules.join("\n ")}\n}\n${target.selector} {\n ${bandRules.join("\n ")}\n}`;
|
|
25547
|
+
}
|
|
25548
|
+
}
|
|
25549
|
+
}
|
|
25550
|
+
//#endregion
|
|
25551
|
+
//#region ../theme-core/src/header/scrollTreatment.ts
|
|
25552
|
+
const headerScrollTreatmentSchema = z$1.discriminatedUnion("kind", [z$1.object({
|
|
25553
|
+
kind: z$1.literal("contrast-glass"),
|
|
25554
|
+
backgroundTone: z$1.enum(["light", "dark"])
|
|
25555
|
+
})]).optional();
|
|
25556
|
+
function generateMobileOverlayBackdropFilterFix(themeId, variant) {
|
|
25557
|
+
const root = `:where([data-theme-scope="${themeId}"]) .header-root:has([data-nav-mobile-overlay][aria-hidden="false"])`;
|
|
25558
|
+
return `\n${(variant === "floating" ? [`${root} .header-mobile-bar`, `${root} .header-mobile-bar::before`] : [`${root}::before`]).join(",\n")} {\n backdrop-filter: none !important;\n -webkit-backdrop-filter: none !important;\n}\n`;
|
|
25559
|
+
}
|
|
25560
|
+
function generateHeaderScrollTreatmentStyles(treatment, themeId, variant, surfaceRules = []) {
|
|
25561
|
+
if (!treatment) return "";
|
|
25562
|
+
switch (treatment.kind) {
|
|
25563
|
+
case "contrast-glass": {
|
|
25564
|
+
const backgroundChannels = treatment.backgroundTone === "dark" ? "0 0 0" : "255 255 255";
|
|
25565
|
+
return renderHeaderPaintTargetRules(getHeaderPaintTargets(variant, themeId, "scrolled"), [`background-color: rgb(${backgroundChannels} / 0.60);`, ...surfaceRules]);
|
|
25566
|
+
}
|
|
25567
|
+
}
|
|
25568
|
+
}
|
|
25569
|
+
//#endregion
|
|
25570
|
+
//#region ../theme-core/src/header/containerSchema.ts
|
|
25571
|
+
const headerContainerSchema = z$1.object({
|
|
25572
|
+
rounded: z$1.enum([
|
|
25573
|
+
"none",
|
|
25574
|
+
"sm",
|
|
25575
|
+
"md",
|
|
25576
|
+
"lg",
|
|
25577
|
+
"xl",
|
|
25578
|
+
"2xl"
|
|
25579
|
+
]).default("xl"),
|
|
25580
|
+
border: z$1.boolean().default(true),
|
|
25581
|
+
shadow: z$1.boolean().default(true),
|
|
25582
|
+
padding: z$1.enum([
|
|
25583
|
+
"sm",
|
|
25584
|
+
"md",
|
|
25585
|
+
"lg"
|
|
25586
|
+
]).default("md"),
|
|
25587
|
+
tint: z$1.string().nullable().optional(),
|
|
25588
|
+
opacity: z$1.number().min(0).max(1).default(.12)
|
|
25589
|
+
}).optional();
|
|
25590
|
+
//#endregion
|
|
25559
25591
|
//#region ../theme-core/src/schema.ts
|
|
25560
25592
|
const axesSchema = z$1.object({
|
|
25561
25593
|
tone: z$1.enum([
|
|
@@ -25716,7 +25748,7 @@ const boxBackgroundSchema = z$1.object({
|
|
|
25716
25748
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
25717
25749
|
gradient: z$1.string().nullable().optional(),
|
|
25718
25750
|
gradientPresetId: z$1.string().min(1).nullable().optional(),
|
|
25719
|
-
image: mediaSchema
|
|
25751
|
+
image: mediaSchema.nullable().optional(),
|
|
25720
25752
|
objectFit: z$1.enum([
|
|
25721
25753
|
"fill",
|
|
25722
25754
|
"fit",
|
|
@@ -25964,25 +25996,6 @@ const navFontWeight = z$1.enum([
|
|
|
25964
25996
|
]);
|
|
25965
25997
|
const headerMaxWidth = z$1.enum(["container", "full"]);
|
|
25966
25998
|
const headerBarFrame = z$1.enum(["full-bleed", "inset-shell"]);
|
|
25967
|
-
const headerContainerSchema = z$1.object({
|
|
25968
|
-
rounded: z$1.enum([
|
|
25969
|
-
"none",
|
|
25970
|
-
"sm",
|
|
25971
|
-
"md",
|
|
25972
|
-
"lg",
|
|
25973
|
-
"xl",
|
|
25974
|
-
"2xl"
|
|
25975
|
-
]).default("xl"),
|
|
25976
|
-
border: z$1.boolean().default(true),
|
|
25977
|
-
shadow: z$1.boolean().default(true),
|
|
25978
|
-
padding: z$1.enum([
|
|
25979
|
-
"sm",
|
|
25980
|
-
"md",
|
|
25981
|
-
"lg"
|
|
25982
|
-
]).default("md"),
|
|
25983
|
-
tint: z$1.string().nullable().optional(),
|
|
25984
|
-
opacity: z$1.number().min(0).max(1).default(.12)
|
|
25985
|
-
}).optional();
|
|
25986
25999
|
const headerBorderSchema = componentBorderSchema.extend({ position: z$1.enum([
|
|
25987
26000
|
"bottom",
|
|
25988
26001
|
"top",
|
|
@@ -26100,7 +26113,7 @@ const headerBackgroundSchema = z$1.object({
|
|
|
26100
26113
|
contentOwner: z$1.literal(siteChromeBackgroundOverrideOwner).optional(),
|
|
26101
26114
|
color: tokenOrCssColorValueSchema.nullable().optional(),
|
|
26102
26115
|
gradient: gradientConfigSchema.nullable().optional(),
|
|
26103
|
-
image: mediaSchema
|
|
26116
|
+
image: mediaSchema.nullable().optional(),
|
|
26104
26117
|
textColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
26105
26118
|
});
|
|
26106
26119
|
const headerSchema = z$1.object({
|
|
@@ -26109,7 +26122,8 @@ const headerSchema = z$1.object({
|
|
|
26109
26122
|
shrinkOnScroll: z$1.boolean(),
|
|
26110
26123
|
maxWidth: headerMaxWidth,
|
|
26111
26124
|
barFrame: headerBarFrame.optional(),
|
|
26112
|
-
|
|
26125
|
+
scrollTreatment: headerScrollTreatmentSchema,
|
|
26126
|
+
logoOverride: mediaSchema.nullable().optional(),
|
|
26113
26127
|
background: headerBackgroundSchema.default({
|
|
26114
26128
|
type: "color",
|
|
26115
26129
|
color: "surface"
|
|
@@ -26121,6 +26135,7 @@ const headerSchema = z$1.object({
|
|
|
26121
26135
|
navFontRole: z$1.enum(["body", "heading"]).optional(),
|
|
26122
26136
|
navTypography: z$1.enum(["body", "heading"]).optional(),
|
|
26123
26137
|
navTextSize: navLinkStyleSchema.shape.textSize,
|
|
26138
|
+
interactionPalette: headerInteractionPaletteSchema.optional(),
|
|
26124
26139
|
navPlacement: z$1.enum(["end", "center"]).optional(),
|
|
26125
26140
|
container: headerContainerSchema,
|
|
26126
26141
|
border: headerBorderSchema,
|
|
@@ -31597,15 +31612,6 @@ const heroCopyFragment = defineFragment({
|
|
|
31597
31612
|
*/
|
|
31598
31613
|
const BLOCK_BUTTON_ROLES = PUBLIC_BUTTON_ROLES;
|
|
31599
31614
|
const blockButtonRoleSchema = z$1.enum(BLOCK_BUTTON_ROLES);
|
|
31600
|
-
/**
|
|
31601
|
-
* Temporary rollout boundary for persisted content written before issue #1220.
|
|
31602
|
-
* Authoring remains strict through `blockButtonRoleSchema`; this parser exists
|
|
31603
|
-
* only until the post-deploy role rewrite has been audited in production.
|
|
31604
|
-
*/
|
|
31605
|
-
function canonicalizePersistedBlockButtonRole(value) {
|
|
31606
|
-
return value === "link" || value === "tertiary" ? "ghost" : value;
|
|
31607
|
-
}
|
|
31608
|
-
const persistedBlockButtonRoleSchema = z$1.preprocess((value) => typeof value === "string" ? canonicalizePersistedBlockButtonRole(value) : value, blockButtonRoleSchema);
|
|
31609
31615
|
const BLOCK_BUTTON_ROLE_LABELS = {
|
|
31610
31616
|
primary: "Primary",
|
|
31611
31617
|
secondary: "Secondary",
|
|
@@ -39377,84 +39383,6 @@ const weeklySlotAvailabilityBlockDefinition = {
|
|
|
39377
39383
|
mode: "server"
|
|
39378
39384
|
} }
|
|
39379
39385
|
};
|
|
39380
|
-
const PUBLIC_DOWNLOAD_MEDIA_TYPES = [
|
|
39381
|
-
"document",
|
|
39382
|
-
"spreadsheet",
|
|
39383
|
-
"archive",
|
|
39384
|
-
"audio"
|
|
39385
|
-
];
|
|
39386
|
-
const hotspotSchema = z.object({
|
|
39387
|
-
x: z.number().min(0).max(1),
|
|
39388
|
-
y: z.number().min(0).max(1),
|
|
39389
|
-
radius: z.number().optional()
|
|
39390
|
-
});
|
|
39391
|
-
const rotationSchema = z.union([
|
|
39392
|
-
z.literal(0),
|
|
39393
|
-
z.literal(90),
|
|
39394
|
-
z.literal(180),
|
|
39395
|
-
z.literal(270)
|
|
39396
|
-
]);
|
|
39397
|
-
const rectSchema = z.tuple([
|
|
39398
|
-
z.number(),
|
|
39399
|
-
z.number(),
|
|
39400
|
-
z.number(),
|
|
39401
|
-
z.number()
|
|
39402
|
-
]);
|
|
39403
|
-
const aspectCropSchema = z.object({
|
|
39404
|
-
aspect: z.preprocess((value) => value == null ? void 0 : value, z.string().optional()),
|
|
39405
|
-
rect: z.preprocess((value) => value == null ? void 0 : value, rectSchema.optional()),
|
|
39406
|
-
hotspot: z.preprocess((value) => value == null ? void 0 : value, hotspotSchema.optional()),
|
|
39407
|
-
rotation: z.preprocess((value) => value == null ? void 0 : value, rotationSchema.optional())
|
|
39408
|
-
});
|
|
39409
|
-
const transformSchema = z.object({
|
|
39410
|
-
aspectCrops: z.preprocess((value) => {
|
|
39411
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) return;
|
|
39412
|
-
return value;
|
|
39413
|
-
}, z.record(z.string(), aspectCropSchema.catch({}))).optional(),
|
|
39414
|
-
rect: rectSchema.optional(),
|
|
39415
|
-
hotspot: hotspotSchema.optional(),
|
|
39416
|
-
rotation: rotationSchema.optional()
|
|
39417
|
-
});
|
|
39418
|
-
const mediaPosterSchema = z.discriminatedUnion("tag", [z.object({
|
|
39419
|
-
tag: z.literal("storage"),
|
|
39420
|
-
assetId: z.string().optional(),
|
|
39421
|
-
storageBucket: z.string().min(1),
|
|
39422
|
-
storagePath: z.string().min(1)
|
|
39423
|
-
}), z.object({
|
|
39424
|
-
tag: z.literal("external-src"),
|
|
39425
|
-
assetId: z.string().optional(),
|
|
39426
|
-
src: z.string().url()
|
|
39427
|
-
})]);
|
|
39428
|
-
const mediaBaseSchema = z.object({
|
|
39429
|
-
purpose: z.string().optional(),
|
|
39430
|
-
placeholder: z.boolean().default(true).optional(),
|
|
39431
|
-
assetId: z.string().optional(),
|
|
39432
|
-
identifier: z.string().optional(),
|
|
39433
|
-
src: z.string().optional(),
|
|
39434
|
-
alt: z.string().optional(),
|
|
39435
|
-
filename: z.string().optional(),
|
|
39436
|
-
mimeType: z.string().optional(),
|
|
39437
|
-
width: z.number().optional(),
|
|
39438
|
-
height: z.number().optional(),
|
|
39439
|
-
storageBucket: z.string().optional(),
|
|
39440
|
-
storagePath: z.string().optional(),
|
|
39441
|
-
poster: mediaPosterSchema.optional(),
|
|
39442
|
-
transform: transformSchema.optional()
|
|
39443
|
-
});
|
|
39444
|
-
const imageMediaSchema = mediaBaseSchema.extend({ type: z.literal("image") });
|
|
39445
|
-
const videoMediaSchema = mediaBaseSchema.extend({ type: z.literal("video") });
|
|
39446
|
-
const audioMediaSchema = mediaBaseSchema.extend({ type: z.literal("audio") });
|
|
39447
|
-
const documentMediaSchema = mediaBaseSchema.extend({ type: z.literal("document") });
|
|
39448
|
-
const spreadsheetMediaSchema = mediaBaseSchema.extend({ type: z.literal("spreadsheet") });
|
|
39449
|
-
const archiveMediaSchema = mediaBaseSchema.extend({ type: z.literal("archive") });
|
|
39450
|
-
const mediaSchema = z.discriminatedUnion("type", [
|
|
39451
|
-
imageMediaSchema,
|
|
39452
|
-
videoMediaSchema,
|
|
39453
|
-
audioMediaSchema,
|
|
39454
|
-
documentMediaSchema,
|
|
39455
|
-
spreadsheetMediaSchema,
|
|
39456
|
-
archiveMediaSchema
|
|
39457
|
-
]);
|
|
39458
39386
|
//#endregion
|
|
39459
39387
|
//#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
|
|
39460
39388
|
const bookingDepositRefundPolicySchema = z$1.enum(["refundable", "non_refundable"]);
|
|
@@ -39894,7 +39822,7 @@ const publicEventSchema = z$1.object({
|
|
|
39894
39822
|
presentation: z$1.object({
|
|
39895
39823
|
cardTitleOverride: z$1.string().nullable().optional(),
|
|
39896
39824
|
summary: z$1.string().nullable().optional(),
|
|
39897
|
-
image: mediaSchema.nullable().optional()
|
|
39825
|
+
image: mediaSchema$1.nullable().optional()
|
|
39898
39826
|
}).optional(),
|
|
39899
39827
|
slug: z$1.string(),
|
|
39900
39828
|
path: z$1.string().nullable(),
|
|
@@ -40520,7 +40448,7 @@ function isEventCalendarListLayout(value) {
|
|
|
40520
40448
|
//#region ../blocks/src/system/runtime/nodes/shared/contract-schemas.ts
|
|
40521
40449
|
const previewStageSchema = z$1.enum(["preview", "published"]);
|
|
40522
40450
|
const registrationButtonVariantSchema = blockButtonRoleSchema;
|
|
40523
|
-
const eventButtonVariantSchema =
|
|
40451
|
+
const eventButtonVariantSchema = blockButtonRoleSchema;
|
|
40524
40452
|
const eventLayoutSchema = z$1.enum(eventCalendarListLayoutValues);
|
|
40525
40453
|
const eventCalendarDisplayModeSchema = z$1.enum(eventCalendarDisplayModeValues);
|
|
40526
40454
|
const eventCalendarDefaultViewSchema = z$1.enum(eventCalendarDefaultViewValues);
|
|
@@ -50732,7 +50660,7 @@ const newsletterSignupBlockDefinition = {
|
|
|
50732
50660
|
//#endregion
|
|
50733
50661
|
//#region ../blocks/src/system/blocks/team-members.ts
|
|
50734
50662
|
const ITEM_NAME = "member";
|
|
50735
|
-
const teamMemberPhotoSchema = mediaSchema.refine((media) => media.type === "image", { message: "Team member photos must be image media" }).nullable();
|
|
50663
|
+
const teamMemberPhotoSchema = mediaSchema$1.refine((media) => media.type === "image", { message: "Team member photos must be image media" }).nullable();
|
|
50736
50664
|
const teamMemberDataSchema = z$1.object({
|
|
50737
50665
|
_type: z$1.literal("teamMember"),
|
|
50738
50666
|
id: z$1.string(),
|
|
@@ -52307,7 +52235,7 @@ function getBlockDefinition(name) {
|
|
|
52307
52235
|
//#endregion
|
|
52308
52236
|
//#region ../blocks/src/system/helpers/backgroundMedia.ts
|
|
52309
52237
|
function resolveBackgroundMedia(input) {
|
|
52310
|
-
const parsedMedia = mediaSchema.safeParse(input.image);
|
|
52238
|
+
const parsedMedia = mediaSchema$1.safeParse(input.image);
|
|
52311
52239
|
if (!parsedMedia.success) return null;
|
|
52312
52240
|
switch (parsedMedia.data.type) {
|
|
52313
52241
|
case "image":
|
|
@@ -53602,6 +53530,9 @@ function renderTrailingAffordanceIcon(affordance) {
|
|
|
53602
53530
|
className: "rb-ml-2 rb-h-4 rb-w-4 rb-inline-block"
|
|
53603
53531
|
});
|
|
53604
53532
|
}
|
|
53533
|
+
function isMissingRequiredLink(linkRequired, resolvedHref) {
|
|
53534
|
+
return linkRequired && resolvedHref.length === 0;
|
|
53535
|
+
}
|
|
53605
53536
|
const ButtonNode = ({ value, children, href, variantId = "primary", size = "md", disabled, type = "button", target, rel, linkRequired = false, trailingIcon, blockId: _blockId, blockKind: _blockKind, blockContent: _blockContent, fragmentRegistry: _fragmentRegistry, pathBase: _pathBase, className, ...rest }) => {
|
|
53606
53537
|
const content = value ?? children;
|
|
53607
53538
|
if (!content) {
|
|
@@ -53610,12 +53541,16 @@ const ButtonNode = ({ value, children, href, variantId = "primary", size = "md",
|
|
|
53610
53541
|
}
|
|
53611
53542
|
const affordanceIcon = renderTrailingAffordanceIcon(resolveButtonAffordance({ trailingIcon }));
|
|
53612
53543
|
const resolvedHref = typeof href === "string" ? href.trim() : "";
|
|
53613
|
-
if (linkRequired
|
|
53544
|
+
if (isMissingRequiredLink(linkRequired, resolvedHref)) {
|
|
53614
53545
|
if (process.env.NODE_ENV === "development") console.warn("[ButtonNode] Missing href for link-required button");
|
|
53615
53546
|
return null;
|
|
53616
53547
|
}
|
|
53617
53548
|
const extraClassName = affordanceIcon ? [className, AFFORDANCE_SUPPRESS_CLASS].filter(Boolean).join(" ") : className;
|
|
53618
|
-
const resolvedVariantId = parseThemeButtonVariantId(
|
|
53549
|
+
const resolvedVariantId = parseThemeButtonVariantId(variantId);
|
|
53550
|
+
if (variantId && !resolvedVariantId) {
|
|
53551
|
+
console.error("[ButtonNode] Invalid button variant", { variantId });
|
|
53552
|
+
return null;
|
|
53553
|
+
}
|
|
53619
53554
|
const combinedClassName = resolvedVariantId ? themeButtonClassName({
|
|
53620
53555
|
variant: resolvedVariantId,
|
|
53621
53556
|
size,
|
|
@@ -53744,8 +53679,9 @@ function iconForMediaType(type) {
|
|
|
53744
53679
|
});
|
|
53745
53680
|
}
|
|
53746
53681
|
}
|
|
53747
|
-
function
|
|
53748
|
-
|
|
53682
|
+
function parseButtonVariant(value) {
|
|
53683
|
+
if (value === null || value === void 0) return "primary";
|
|
53684
|
+
return isBlockButtonRole(value) ? value : null;
|
|
53749
53685
|
}
|
|
53750
53686
|
function FileDownloadNode({ value, title, description, buttonLabel, buttonVariant, className }) {
|
|
53751
53687
|
if (!value || !isDownloadableMediaType(value.type)) return null;
|
|
@@ -53755,7 +53691,11 @@ function FileDownloadNode({ value, title, description, buttonLabel, buttonVarian
|
|
|
53755
53691
|
const heading = title?.trim() || filename;
|
|
53756
53692
|
const body = description?.trim();
|
|
53757
53693
|
const label = buttonLabel?.trim() || "Download";
|
|
53758
|
-
const variant =
|
|
53694
|
+
const variant = parseButtonVariant(buttonVariant);
|
|
53695
|
+
if (!variant) {
|
|
53696
|
+
console.error("[FileDownloadNode] Invalid button variant", { buttonVariant });
|
|
53697
|
+
return null;
|
|
53698
|
+
}
|
|
53759
53699
|
return /* @__PURE__ */ jsx("div", {
|
|
53760
53700
|
className,
|
|
53761
53701
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -60637,6 +60577,41 @@ function resolveColorTokenHex(theme, colorToken) {
|
|
|
60637
60577
|
if (colorToken === "transparent") return null;
|
|
60638
60578
|
return expandPalette(theme.palette)[colorToken] ?? null;
|
|
60639
60579
|
}
|
|
60580
|
+
const NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES = [
|
|
60581
|
+
`min-width: 12rem;`,
|
|
60582
|
+
`width: max-content;`,
|
|
60583
|
+
`max-width: min(22rem, calc(100vw - 2rem));`,
|
|
60584
|
+
`transform: translateX(var(--nav-dropdown-shift-x, 0px));`
|
|
60585
|
+
];
|
|
60586
|
+
//#endregion
|
|
60587
|
+
//#region ../theme-core/src/header/surfaceRules.ts
|
|
60588
|
+
/** Compile the visual surface declarations independently of paint geometry. */
|
|
60589
|
+
function buildHeaderSurfaceRules(header, tokens, blur) {
|
|
60590
|
+
const base = [];
|
|
60591
|
+
const scrolled = [];
|
|
60592
|
+
const background = header.background;
|
|
60593
|
+
if (background.type === "color") base.push(`background-color: ${tokens.getColor(background.color || "surface")};`);
|
|
60594
|
+
else if (background.type === "gradient" && background.gradient) {
|
|
60595
|
+
const stops = background.gradient.stops.map((stop) => tokens.getColor(stop.color)).join(", ");
|
|
60596
|
+
base.push(`background-image: linear-gradient(${background.gradient.angle ?? 180}deg, ${stops});`);
|
|
60597
|
+
}
|
|
60598
|
+
const blurRules = [`backdrop-filter: ${blur};`, `-webkit-backdrop-filter: ${blur};`];
|
|
60599
|
+
base.push(...blurRules);
|
|
60600
|
+
scrolled.push(...blurRules);
|
|
60601
|
+
const borderWidth = getComponentBorderWidthPx(header.border?.width ?? "none");
|
|
60602
|
+
if (!header.border || borderWidth === "0") return {
|
|
60603
|
+
base,
|
|
60604
|
+
scrolled,
|
|
60605
|
+
border: []
|
|
60606
|
+
};
|
|
60607
|
+
const color = rgbColorValue(header.border.colorToken?.trim() || "border");
|
|
60608
|
+
const style = header.border.style === "dashed" ? "dashed" : "solid";
|
|
60609
|
+
return {
|
|
60610
|
+
base,
|
|
60611
|
+
scrolled,
|
|
60612
|
+
border: header.border.position === "both" ? [`border-top: ${borderWidth} ${style} ${color};`, `border-bottom: ${borderWidth} ${style} ${color};`] : [`border-${header.border.position}: ${borderWidth} ${style} ${color};`]
|
|
60613
|
+
};
|
|
60614
|
+
}
|
|
60640
60615
|
//#endregion
|
|
60641
60616
|
//#region ../theme-core/src/navigation/presets.ts
|
|
60642
60617
|
/**
|
|
@@ -60798,12 +60773,71 @@ function getNavLinkPreset(presetId) {
|
|
|
60798
60773
|
return NAV_LINK_PRESETS[presetId];
|
|
60799
60774
|
}
|
|
60800
60775
|
Object.keys(NAV_LINK_PRESETS);
|
|
60801
|
-
|
|
60802
|
-
|
|
60803
|
-
|
|
60804
|
-
|
|
60805
|
-
|
|
60806
|
-
|
|
60776
|
+
//#endregion
|
|
60777
|
+
//#region ../theme-core/src/header/legacyNavLinkStyle.ts
|
|
60778
|
+
function buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize) {
|
|
60779
|
+
const navStyle = header.navStyle ?? "minimal";
|
|
60780
|
+
const basePreset = getNavLinkPreset(navStyle);
|
|
60781
|
+
if (!basePreset) return null;
|
|
60782
|
+
const style = {
|
|
60783
|
+
...basePreset,
|
|
60784
|
+
fontWeight: header.navWeight ?? basePreset.fontWeight,
|
|
60785
|
+
colorToken: (header.navColor ?? header.textColor)?.trim() || basePreset.colorToken,
|
|
60786
|
+
...contrastTreatment ? { contrastTreatment } : {},
|
|
60787
|
+
...navTextSize ? { textSize: navTextSize } : {}
|
|
60788
|
+
};
|
|
60789
|
+
if (header.navWeight === "bold" && navStyle === "solid") style.textTransform = "uppercase";
|
|
60790
|
+
applyLegacyNavEffects(style, header);
|
|
60791
|
+
applyLegacyGlassTreatment(style, header, navStyle);
|
|
60792
|
+
return style;
|
|
60793
|
+
}
|
|
60794
|
+
function applyLegacyNavEffects(style, header) {
|
|
60795
|
+
if (!header.navEffects) return;
|
|
60796
|
+
const effects = style.effects = {
|
|
60797
|
+
...style.effects,
|
|
60798
|
+
hover: [...style.effects?.hover ?? []],
|
|
60799
|
+
active: [...style.effects?.active ?? []]
|
|
60800
|
+
};
|
|
60801
|
+
if (header.navEffects.glow) effects.hover.push({
|
|
60802
|
+
effectId: "outer-glow",
|
|
60803
|
+
options: { spread: 5 }
|
|
60804
|
+
});
|
|
60805
|
+
if (header.navEffects.neumorphic) {
|
|
60806
|
+
effects.hover.push({
|
|
60807
|
+
effectId: "neumorphic-shadow",
|
|
60808
|
+
options: { mode: "pressed" }
|
|
60809
|
+
});
|
|
60810
|
+
effects.hover.push({
|
|
60811
|
+
effectId: "text-color-change",
|
|
60812
|
+
options: { hoverColorToken: "primary" }
|
|
60813
|
+
});
|
|
60814
|
+
}
|
|
60815
|
+
if (header.navEffects.underlineGradient) effects.hover.push({
|
|
60816
|
+
effectId: "border-bottom-grow",
|
|
60817
|
+
options: { origin: "center" }
|
|
60818
|
+
});
|
|
60819
|
+
}
|
|
60820
|
+
function applyLegacyGlassTreatment(style, header, navStyle) {
|
|
60821
|
+
if (header.navContainer?.type !== "glass" || navStyle !== "minimal") return;
|
|
60822
|
+
style.borderRadius = "full";
|
|
60823
|
+
style.effects = {
|
|
60824
|
+
...style.effects,
|
|
60825
|
+
hover: glassStateEffects(10),
|
|
60826
|
+
active: glassStateEffects(18)
|
|
60827
|
+
};
|
|
60828
|
+
}
|
|
60829
|
+
function glassStateEffects(opacity) {
|
|
60830
|
+
return [{
|
|
60831
|
+
effectId: "background-on-hover-alpha",
|
|
60832
|
+
options: {
|
|
60833
|
+
colorToken: "neutral-50",
|
|
60834
|
+
opacity
|
|
60835
|
+
}
|
|
60836
|
+
}, {
|
|
60837
|
+
effectId: "text-color-change",
|
|
60838
|
+
options: { hoverColorToken: "neutral-50" }
|
|
60839
|
+
}];
|
|
60840
|
+
}
|
|
60807
60841
|
//#endregion
|
|
60808
60842
|
//#region ../theme-core/src/header/generateHeaderCss.ts
|
|
60809
60843
|
const HEADER_BLUR = "blur(12px)";
|
|
@@ -60833,8 +60867,8 @@ function generateHeaderCss(options) {
|
|
|
60833
60867
|
const cssChunks = [];
|
|
60834
60868
|
const headerContrastTreatment = resolveHeaderContrastTreatment(header);
|
|
60835
60869
|
const headerNavTextSize = resolveHeaderNavTextSize(header);
|
|
60836
|
-
cssChunks.push(generateHeaderRootStyles(header, themeId, tokens
|
|
60837
|
-
cssChunks.push(generateMobileOverlayBackdropFilterFix(themeId));
|
|
60870
|
+
cssChunks.push(generateHeaderRootStyles(header, themeId, tokens));
|
|
60871
|
+
cssChunks.push(generateMobileOverlayBackdropFilterFix(themeId, header.variant));
|
|
60838
60872
|
cssChunks.push(generateLogoStyles({
|
|
60839
60873
|
logo: header.logo,
|
|
60840
60874
|
themeId,
|
|
@@ -60872,56 +60906,34 @@ function isClearSplitHeaderShape(header) {
|
|
|
60872
60906
|
function isDetachedFloatingHeaderShape(header) {
|
|
60873
60907
|
return header.variant === "floating" && !header.container;
|
|
60874
60908
|
}
|
|
60875
|
-
function generateMobileOverlayBackdropFilterFix(themeId) {
|
|
60876
|
-
return `\n${`:where([data-theme-scope="${themeId}"]) .header-root:has([data-nav-mobile-overlay][aria-hidden="false"])::before`} {\n backdrop-filter: none !important;\n -webkit-backdrop-filter: none !important;\n}\n`;
|
|
60877
|
-
}
|
|
60878
60909
|
/**
|
|
60879
60910
|
* Generate root header container styles
|
|
60880
60911
|
*/
|
|
60881
|
-
function generateHeaderRootStyles(header, themeId, tokens
|
|
60912
|
+
function generateHeaderRootStyles(header, themeId, tokens) {
|
|
60882
60913
|
const selector = `:where([data-theme-scope="${themeId}"]) .header-root`;
|
|
60883
|
-
const backgroundSelector = `:where([data-theme-scope="${themeId}"]) .header-root::before`;
|
|
60884
60914
|
const rules = [];
|
|
60885
|
-
const backgroundRules = [];
|
|
60886
60915
|
const navContainerType = header.navContainer?.type ?? "none";
|
|
60887
60916
|
const isContainedNav = navContainerType === "pill" || navContainerType === "glass";
|
|
60888
60917
|
rules.push("position: relative;");
|
|
60889
60918
|
rules.push("isolation: isolate;");
|
|
60890
|
-
|
|
60891
|
-
|
|
60892
|
-
|
|
60893
|
-
|
|
60894
|
-
|
|
60895
|
-
|
|
60896
|
-
|
|
60897
|
-
|
|
60898
|
-
|
|
60899
|
-
}
|
|
60900
|
-
backgroundRules.push(`backdrop-filter: ${HEADER_BLUR};`);
|
|
60901
|
-
backgroundRules.push(`-webkit-backdrop-filter: ${HEADER_BLUR};`);
|
|
60902
|
-
if (header.border) {
|
|
60903
|
-
const borderWidth = getComponentBorderWidthPx(header.border.width);
|
|
60904
|
-
if (borderWidth !== "0") {
|
|
60905
|
-
const borderToken = header.border?.colorToken?.trim() || "border";
|
|
60906
|
-
const borderColor = tokens.getColor(borderToken);
|
|
60907
|
-
const borderStyle = header.border.style === "dashed" ? "dashed" : "solid";
|
|
60908
|
-
if (header.border.position === "bottom") rules.push(`border-bottom: ${borderWidth} ${borderStyle} ${borderColor};`);
|
|
60909
|
-
else if (header.border.position === "top") rules.push(`border-top: ${borderWidth} ${borderStyle} ${borderColor};`);
|
|
60910
|
-
else if (header.border.position === "both") {
|
|
60911
|
-
rules.push(`border-top: ${borderWidth} ${borderStyle} ${borderColor};`);
|
|
60912
|
-
rules.push(`border-bottom: ${borderWidth} ${borderStyle} ${borderColor};`);
|
|
60913
|
-
}
|
|
60914
|
-
}
|
|
60915
|
-
}
|
|
60916
|
-
}
|
|
60919
|
+
const surfaceRules = isContainedNav ? {
|
|
60920
|
+
base: [],
|
|
60921
|
+
scrolled: [],
|
|
60922
|
+
border: []
|
|
60923
|
+
} : buildHeaderSurfaceRules(header, tokens, HEADER_BLUR);
|
|
60924
|
+
const floatingSurfaceBorder = header.variant === "floating";
|
|
60925
|
+
if (!floatingSurfaceBorder) rules.push(...surfaceRules.border);
|
|
60926
|
+
const basePaintRules = floatingSurfaceBorder ? [...surfaceRules.base, ...surfaceRules.border] : surfaceRules.base;
|
|
60927
|
+
const scrolledPaintRules = floatingSurfaceBorder ? [...surfaceRules.scrolled, ...surfaceRules.border] : surfaceRules.scrolled;
|
|
60917
60928
|
if (header.positioning === "sticky" || header.positioning === "fixed") {
|
|
60918
60929
|
const shadowVar = getComponentShadowVar(header.shadow?.elevation ?? "none");
|
|
60919
60930
|
if (shadowVar) rules.push(`box-shadow: ${shadowVar};`);
|
|
60920
60931
|
}
|
|
60921
60932
|
const baseBlock = `\n${selector} {\n ${rules.join("\n ")}\n}\n`;
|
|
60922
60933
|
const overlayFix = `\n${`${selector}:has([data-nav-mobile-overlay][aria-hidden="false"])`} {\n backdrop-filter: none !important;\n -webkit-backdrop-filter: none !important;\n}\n`;
|
|
60923
|
-
|
|
60924
|
-
|
|
60934
|
+
const scrollTreatmentStyles = generateHeaderScrollTreatmentStyles(header.scrollTreatment, themeId, header.variant, scrolledPaintRules);
|
|
60935
|
+
if (isContainedNav || basePaintRules.length === 0) return `${baseBlock}\n${overlayFix}${scrollTreatmentStyles}`;
|
|
60936
|
+
return `${baseBlock}\n${renderHeaderPaintTargetRules(getHeaderPaintTargets(header.variant, themeId), basePaintRules)}\n${overlayFix}${usesInsetShell(header) ? generateInsetShellStyles(header, themeId) : ""}${scrollTreatmentStyles}`;
|
|
60925
60937
|
}
|
|
60926
60938
|
/**
|
|
60927
60939
|
* Reshapes the full-bleed header paint layer into a contained brand capsule at
|
|
@@ -60966,10 +60978,10 @@ function generateLogoStyles(input) {
|
|
|
60966
60978
|
else rules.push(`font-family: var(--font-heading);`);
|
|
60967
60979
|
if (logo) {
|
|
60968
60980
|
if (logo.letterSpacing && logo.letterSpacing !== "normal") rules.push(`letter-spacing: ${{
|
|
60969
|
-
|
|
60970
|
-
|
|
60971
|
-
|
|
60972
|
-
|
|
60981
|
+
normal: "0em",
|
|
60982
|
+
wide: "0.05em",
|
|
60983
|
+
wider: "0.1em",
|
|
60984
|
+
widest: "0.15em"
|
|
60973
60985
|
}[logo.letterSpacing]};`);
|
|
60974
60986
|
if (logo.gradient) {
|
|
60975
60987
|
rules.push(`background: linear-gradient(to right, ${primaryColor}, ${accentColor});`);
|
|
@@ -61042,71 +61054,11 @@ function generateNavLinkStyles(header, themeId, tokens, theme, contrastTreatment
|
|
|
61042
61054
|
} : header.navLinkStyle, navPreferences),
|
|
61043
61055
|
className: "header-nav-link"
|
|
61044
61056
|
});
|
|
61045
|
-
const
|
|
61046
|
-
|
|
61047
|
-
|
|
61048
|
-
console.warn(`[generateHeaderCss] Nav link preset not found: ${navStyle}`);
|
|
61057
|
+
const mergedStyle = buildLegacyHeaderNavLinkStyle(header, contrastTreatment, navTextSize);
|
|
61058
|
+
if (!mergedStyle) {
|
|
61059
|
+
console.warn(`[generateHeaderCss] Nav link preset not found: ${header.navStyle}`);
|
|
61049
61060
|
return "";
|
|
61050
61061
|
}
|
|
61051
|
-
const mergedStyle = {
|
|
61052
|
-
...basePreset,
|
|
61053
|
-
fontWeight: header.navWeight ?? basePreset.fontWeight,
|
|
61054
|
-
colorToken: (header.navColor ?? header.textColor)?.trim() || basePreset.colorToken,
|
|
61055
|
-
...contrastTreatment ? { contrastTreatment } : {},
|
|
61056
|
-
...navTextSize ? { textSize: navTextSize } : {}
|
|
61057
|
-
};
|
|
61058
|
-
if (header.navWeight === "bold" && navStyle === "solid") mergedStyle.textTransform = "uppercase";
|
|
61059
|
-
if (header.navEffects) {
|
|
61060
|
-
const effects = mergedStyle.effects = {
|
|
61061
|
-
...mergedStyle.effects,
|
|
61062
|
-
hover: [...mergedStyle.effects?.hover || []],
|
|
61063
|
-
active: [...mergedStyle.effects?.active || []]
|
|
61064
|
-
};
|
|
61065
|
-
if (header.navEffects.glow) effects.hover.push({
|
|
61066
|
-
effectId: "outer-glow",
|
|
61067
|
-
options: { spread: 5 }
|
|
61068
|
-
});
|
|
61069
|
-
if (header.navEffects.neumorphic) {
|
|
61070
|
-
effects.hover.push({
|
|
61071
|
-
effectId: "neumorphic-shadow",
|
|
61072
|
-
options: { mode: "pressed" }
|
|
61073
|
-
});
|
|
61074
|
-
effects.hover.push({
|
|
61075
|
-
effectId: "text-color-change",
|
|
61076
|
-
options: { hoverColorToken: "primary" }
|
|
61077
|
-
});
|
|
61078
|
-
}
|
|
61079
|
-
if (header.navEffects.underlineGradient) effects.hover.push({
|
|
61080
|
-
effectId: "border-bottom-grow",
|
|
61081
|
-
options: { origin: "center" }
|
|
61082
|
-
});
|
|
61083
|
-
}
|
|
61084
|
-
if ((header.navContainer?.type ?? "none") === "glass" && navStyle === "minimal") {
|
|
61085
|
-
mergedStyle.borderRadius = "full";
|
|
61086
|
-
mergedStyle.effects = {
|
|
61087
|
-
...mergedStyle.effects,
|
|
61088
|
-
hover: [{
|
|
61089
|
-
effectId: "background-on-hover-alpha",
|
|
61090
|
-
options: {
|
|
61091
|
-
colorToken: "neutral-50",
|
|
61092
|
-
opacity: 10
|
|
61093
|
-
}
|
|
61094
|
-
}, {
|
|
61095
|
-
effectId: "text-color-change",
|
|
61096
|
-
options: { hoverColorToken: "neutral-50" }
|
|
61097
|
-
}],
|
|
61098
|
-
active: [{
|
|
61099
|
-
effectId: "background-on-hover-alpha",
|
|
61100
|
-
options: {
|
|
61101
|
-
colorToken: "neutral-50",
|
|
61102
|
-
opacity: 18
|
|
61103
|
-
}
|
|
61104
|
-
}, {
|
|
61105
|
-
effectId: "text-color-change",
|
|
61106
|
-
options: { hoverColorToken: "neutral-50" }
|
|
61107
|
-
}]
|
|
61108
|
-
};
|
|
61109
|
-
}
|
|
61110
61062
|
return generateNavLinkCSS({
|
|
61111
61063
|
themeId,
|
|
61112
61064
|
tokens,
|
|
@@ -61134,10 +61086,10 @@ function generateDropdownContainerStyles(header, themeId, tokens) {
|
|
|
61134
61086
|
if (shadowVar) rules.push(`box-shadow: ${shadowVar};`);
|
|
61135
61087
|
const borderRadius = dropdownStyle?.borderRadius ?? "md";
|
|
61136
61088
|
rules.push(`border-radius: ${{
|
|
61137
|
-
|
|
61138
|
-
|
|
61139
|
-
|
|
61140
|
-
|
|
61089
|
+
none: "0",
|
|
61090
|
+
sm: "0.25rem",
|
|
61091
|
+
md: "0.5rem",
|
|
61092
|
+
lg: "0.75rem"
|
|
61141
61093
|
}[borderRadius]};`);
|
|
61142
61094
|
rules.push(`padding: 0.5rem 0;`);
|
|
61143
61095
|
return `\n${selector} {\n ${rules.join("\n ")}\n}\n`;
|
|
@@ -61192,16 +61144,16 @@ function generateDropdownLinkStyles(header, themeId, tokens, theme) {
|
|
|
61192
61144
|
const additionalRules = [];
|
|
61193
61145
|
const letterSpacing = configuredDropdownStyle?.letterSpacing ?? "normal";
|
|
61194
61146
|
if (letterSpacing !== "normal") additionalRules.push(`letter-spacing: ${{
|
|
61195
|
-
|
|
61196
|
-
|
|
61197
|
-
|
|
61147
|
+
normal: "0em",
|
|
61148
|
+
wide: "0.05em",
|
|
61149
|
+
wider: "0.1em"
|
|
61198
61150
|
}[letterSpacing]};`);
|
|
61199
61151
|
const textSize = configuredDropdownStyle?.textSize ?? "sm";
|
|
61200
61152
|
additionalRules.push(`font-size: ${{
|
|
61201
|
-
|
|
61202
|
-
|
|
61203
|
-
|
|
61204
|
-
|
|
61153
|
+
xs: "0.75rem",
|
|
61154
|
+
sm: "0.875rem",
|
|
61155
|
+
base: "1rem",
|
|
61156
|
+
lg: "1.125rem"
|
|
61205
61157
|
}[textSize]};`);
|
|
61206
61158
|
if (additionalRules.length > 0) return baseCSS + `\n${`:where([data-theme-scope="${themeId}"]) .nav-dropdown-link`} {\n ${additionalRules.join("\n ")}\n}\n`;
|
|
61207
61159
|
return baseCSS;
|
|
@@ -61297,18 +61249,18 @@ function generateFloatingContainerStyles(header, themeId, tokens) {
|
|
|
61297
61249
|
rules.push(`-webkit-backdrop-filter: ${FLOATING_BLUR};`);
|
|
61298
61250
|
if (container.border) rules.push(`border: 1px solid rgb(255 255 255 / 0.2);`);
|
|
61299
61251
|
rules.push(`border-radius: ${{
|
|
61300
|
-
|
|
61301
|
-
|
|
61302
|
-
|
|
61303
|
-
|
|
61304
|
-
|
|
61252
|
+
none: "0",
|
|
61253
|
+
sm: "0.375rem",
|
|
61254
|
+
md: "0.5rem",
|
|
61255
|
+
lg: "0.75rem",
|
|
61256
|
+
xl: "1rem",
|
|
61305
61257
|
"2xl": "1.5rem"
|
|
61306
61258
|
}[container.rounded]};`);
|
|
61307
61259
|
if (container.shadow) rules.push(`box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);`);
|
|
61308
61260
|
rules.push(`padding: ${{
|
|
61309
|
-
|
|
61310
|
-
|
|
61311
|
-
|
|
61261
|
+
sm: "1rem 1.5rem",
|
|
61262
|
+
md: "1.5rem 2rem",
|
|
61263
|
+
lg: "2rem 2.5rem"
|
|
61312
61264
|
}[container.padding]};`);
|
|
61313
61265
|
return `\n${selector} {\n ${rules.join("\n ")}\n}\n`;
|
|
61314
61266
|
}
|
|
@@ -84172,7 +84124,7 @@ var CircuitOpenError = class extends Error {
|
|
|
84172
84124
|
* 1. This constant
|
|
84173
84125
|
* 2. The "version" field in package.json
|
|
84174
84126
|
*/
|
|
84175
|
-
const SDK_VERSION = "0.
|
|
84127
|
+
const SDK_VERSION = "0.127.0";
|
|
84176
84128
|
//#endregion
|
|
84177
84129
|
//#region src/next/content-load-failure.ts
|
|
84178
84130
|
const SdkContentLoadError = RiverbankContentLoadError;
|