@riverbankcms/sdk 0.76.0 → 0.77.1
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-X2HWXFOL.mjs → PreviewEditorSidebar-DVUG7GK4.mjs} +1019 -442
- package/dist/{PreviewEditorUI-AQXIXPOH.mjs → PreviewEditorUI-P7RN4CDS.mjs} +2 -2
- package/dist/SdkPreviewModeRuntime-KLPX47SE.mjs +8 -0
- package/dist/_dts/ai/src/contracts/proposals.d.ts +538 -20
- package/dist/_dts/api/src/contentRuntime.d.ts +5 -0
- package/dist/_dts/api/src/siteAssets.d.ts +1 -0
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +26 -2
- package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +28 -0
- package/dist/_dts/block-form/src/client/index.d.ts +2 -2
- package/dist/_dts/block-form/src/index.d.ts +2 -1
- package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +1 -1
- package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +1 -1
- package/dist/_dts/blocks/src/PageRenderer.d.ts +10 -10
- package/dist/_dts/blocks/src/client/site-chrome.d.ts +22 -0
- package/dist/_dts/blocks/src/customBlockRegistry.d.ts +57 -0
- package/dist/_dts/blocks/src/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/faq.d.ts +20 -2
- package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -0
- package/dist/_dts/blocks/src/system/blocks/index.d.ts +2 -0
- package/dist/_dts/blocks/src/system/blocks/intro.d.ts +24 -0
- package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +3 -34
- package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +2 -2
- package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
- package/dist/_dts/blocks/src/system/fields/aspectRatio.d.ts +30 -0
- package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +4 -1
- package/dist/_dts/blocks/src/system/fields/ctas.d.ts +7 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +16 -2
- package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/components/multi-step/runtimeFormValidation.d.ts +28 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordion.server.d.ts +2 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/accordionIconTreatment.d.ts +5 -0
- package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +5 -4
- package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +2 -0
- package/dist/_dts/content-editor/src/hooks/blockDraftLifecycle.d.ts +48 -0
- package/dist/_dts/content-editor/src/hooks/invalidBlockSelectors.d.ts +4 -0
- package/dist/_dts/content-editor/src/hooks/publishability.d.ts +47 -0
- package/dist/_dts/content-editor/src/index.d.ts +1 -0
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +20 -0
- package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -1
- package/dist/_dts/editor-blocks/src/block-editor/customBlockRegistry.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/block-editor/sdkBlockMerger.d.ts +9 -37
- package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/index.d.ts +3 -0
- package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +5 -1
- package/dist/_dts/preview-next/src/client/preview/PreviewDesignCoordinatorContext.d.ts +20 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewThemedSiteDocument.d.ts +18 -0
- package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +20 -3
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -4
- package/dist/_dts/preview-next/src/client/preview/previewDesignCoordinator.d.ts +73 -0
- package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +12 -4
- package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +46 -0
- package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +6 -1
- package/dist/_dts/preview-next/src/client/preview/typographySelectionInput.d.ts +14 -0
- package/dist/_dts/preview-next/src/client/sdk/SdkPreviewModeRuntime.d.ts +1 -1
- package/dist/_dts/sdk/src/cli/commands/style.d.ts +8 -0
- package/dist/_dts/sdk/src/client/management/types.d.ts +6 -1
- package/dist/_dts/sdk/src/client/types.d.ts +9 -0
- package/dist/_dts/sdk/src/client.d.ts +1 -1
- package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +35 -0
- package/dist/_dts/sdk/src/contracts/theme.d.ts +1 -1
- package/dist/_dts/sdk/src/index.d.ts +2 -1
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -0
- package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +2 -2
- package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/site-commands/src/commands.d.ts +15 -0
- package/dist/_dts/theme-core/src/buttons/personalities/earth-pill.d.ts +16 -0
- package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
- package/dist/_dts/theme-core/src/fonts/types.d.ts +1 -1
- package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
- package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -27
- package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
- package/dist/_dts/theme-core/src/palette/variants/warm-neutral.d.ts +16 -0
- package/dist/_dts/theme-core/src/schema.d.ts +306 -30
- package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +81 -0
- package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +6 -4
- package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +81 -0
- package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +119 -3
- package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
- package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +13 -0
- package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
- package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +402 -13
- package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +6 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +2 -0
- package/dist/_dts/theme-core/src/site-styles/persistedIdParseResult.d.ts +9 -0
- package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +20 -4
- package/dist/_dts/theme-core/src/site-styles/types.d.ts +74 -2
- package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +189 -0
- package/dist/{chunk-Q4OLG66B.mjs → chunk-2SPENC5M.mjs} +476 -153
- package/dist/{chunk-Z7JLNTJR.mjs → chunk-6SMUFTXD.mjs} +2 -1
- package/dist/{chunk-TW2Y4RR5.mjs → chunk-IENWFSLO.mjs} +365 -52
- package/dist/{chunk-LYI7TEMH.mjs → chunk-KWJPDZH2.mjs} +4682 -1463
- package/dist/{chunk-V5VORNEJ.mjs → chunk-ZYEJLCTN.mjs} +1 -1
- package/dist/cli/index.mjs +2314 -267
- package/dist/client/{accordion-2YHIBOZH.mjs → accordion-RZMQSYLR.mjs} +1 -1
- package/dist/client/{bookingForm-35IBDWAS.mjs → bookingForm-NF4ASVNV.mjs} +2 -2
- package/dist/client/bookings.mjs +92 -0
- package/dist/client/{carousel-K6XG7NZQ.mjs → carousel-LDX47ZIK.mjs} +1 -1
- package/dist/client/{cart-HCFYUTTU.mjs → cart-RGXDS5F4.mjs} +3 -3
- package/dist/client/{checkout-J3U4XR7K.mjs → checkout-P7WWSNNY.mjs} +3 -3
- package/dist/client/{chunk-BOIHIU7E.mjs → chunk-E2TDNXCL.mjs} +1 -1
- package/dist/client/{chunk-PFBX3IQL.mjs → chunk-GMVTOKYG.mjs} +2 -2
- package/dist/client/{chunk-FGUIVT2B.mjs → chunk-JNC7CGHX.mjs} +1 -1
- package/dist/client/{chunk-SNSWVZEP.mjs → chunk-L3DNHIJX.mjs} +3 -3
- package/dist/client/{chunk-7UOSCYY4.mjs → chunk-R56FQ3RR.mjs} +92 -0
- package/dist/client/{chunk-J227A3CQ.mjs → chunk-UFSWADAO.mjs} +1 -1
- package/dist/client/client.mjs +3579 -1351
- package/dist/client/{courseRegistration-ZBXS7VGI.mjs → courseRegistration-7F65K5ZR.mjs} +2 -2
- package/dist/client/{eventCalendar-EQQZHJBA.mjs → eventCalendar-GLSC5KTL.mjs} +4 -4
- package/dist/client/{eventCombined-JCFTGBFQ.mjs → eventCombined-ZHK4WKUR.mjs} +4 -4
- package/dist/client/{eventDetails-HLUTQSYY.mjs → eventDetails-E3PJYBIN.mjs} +4 -4
- package/dist/client/{eventListing-FG4MICVB.mjs → eventListing-EMS3WC3E.mjs} +4 -4
- package/dist/client/{eventRegistration-GUEB7LBT.mjs → eventRegistration-NZOTVNPI.mjs} +4 -4
- package/dist/client/{form-YQEW4YIT.mjs → form-ETFZFATW.mjs} +1 -1
- package/dist/client/{headerSection-GTR3TTRM.mjs → headerSection-4LBP7ULT.mjs} +2 -2
- package/dist/client/hooks.mjs +2226 -402
- package/dist/client/{locationMap-SPC7VGUH.mjs → locationMap-5M655YSJ.mjs} +1 -1
- package/dist/client/{newsletterForm-4IW5BLID.mjs → newsletterForm-QOUYW44O.mjs} +1 -1
- package/dist/client/{productDetail-KP5H2WJO.mjs → productDetail-O4DOCWQG.mjs} +3 -3
- package/dist/client/{productList-3M3M72XZ.mjs → productList-A5RO5WIS.mjs} +3 -3
- package/dist/client/rendering/client.mjs +198 -32
- package/dist/client/rendering/islands.mjs +18 -18
- package/dist/client/rendering.mjs +3573 -1355
- package/dist/client/{shop-ACQKVGOM.mjs → shop-L4MZH4I2.mjs} +3 -3
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/{sdk-runtime-K7HNB4U2.mjs → sdk-runtime-6UT2S7KZ.mjs} +5 -5
- package/dist/server/components.mjs +3497 -1333
- package/dist/server/config-validation.mjs +2229 -402
- package/dist/server/config.mjs +2229 -402
- package/dist/server/data.mjs +2226 -402
- package/dist/server/index.mjs +31 -2
- package/dist/server/next.mjs +3503 -1329
- package/dist/server/page-converter.mjs +2213 -403
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +3497 -1333
- package/dist/server/rendering.mjs +3497 -1333
- package/dist/server/routing.mjs +2250 -363
- package/dist/server/server.mjs +2243 -400
- package/dist/server/theme-bridge.mjs +1313 -1035
- package/dist/server/theme.mjs +237 -12
- package/dist/styles/index.css +1081 -1028
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-ZQNDCASH.mjs +0 -8
package/dist/server/server.mjs
CHANGED
|
@@ -6842,7 +6842,7 @@ var SimpleCache = class {
|
|
|
6842
6842
|
};
|
|
6843
6843
|
|
|
6844
6844
|
// src/version.ts
|
|
6845
|
-
var SDK_VERSION = "0.
|
|
6845
|
+
var SDK_VERSION = "0.77.1";
|
|
6846
6846
|
|
|
6847
6847
|
// src/client/error.ts
|
|
6848
6848
|
var RiverbankApiError = class _RiverbankApiError extends Error {
|
|
@@ -7270,6 +7270,24 @@ function getPrebuildModule() {
|
|
|
7270
7270
|
return null;
|
|
7271
7271
|
}
|
|
7272
7272
|
}
|
|
7273
|
+
function mergeDefaultHeaders(defaultHeaders, options) {
|
|
7274
|
+
if (!defaultHeaders || Object.keys(defaultHeaders).length === 0) {
|
|
7275
|
+
return options;
|
|
7276
|
+
}
|
|
7277
|
+
return {
|
|
7278
|
+
...options,
|
|
7279
|
+
headers: {
|
|
7280
|
+
...defaultHeaders,
|
|
7281
|
+
...Object.fromEntries(new Headers(options?.headers).entries())
|
|
7282
|
+
}
|
|
7283
|
+
};
|
|
7284
|
+
}
|
|
7285
|
+
function withDefaultHeaders(apiClient, defaultHeaders) {
|
|
7286
|
+
return async (params) => apiClient({
|
|
7287
|
+
...params,
|
|
7288
|
+
options: mergeDefaultHeaders(defaultHeaders, params.options)
|
|
7289
|
+
});
|
|
7290
|
+
}
|
|
7273
7291
|
setSdkVersion(SDK_VERSION);
|
|
7274
7292
|
var DEFAULT_BROWSER_TIMEOUT_MS = 5e3;
|
|
7275
7293
|
var DEFAULT_SERVER_TIMEOUT_MS = 8e3;
|
|
@@ -7469,7 +7487,8 @@ function createRiverbankClient(config) {
|
|
|
7469
7487
|
keyType = "preview";
|
|
7470
7488
|
break;
|
|
7471
7489
|
}
|
|
7472
|
-
const
|
|
7490
|
+
const baseApiClient = authConfig.type === "none" ? createInternalAPIClient(config.baseUrl) : authConfig.type === "api-key" ? createBearerAPIClient(authConfig.key, config.baseUrl) : createBearerAPIClient(authConfig.token, config.baseUrl);
|
|
7491
|
+
const apiClient = withDefaultHeaders(baseApiClient, config.defaultHeaders);
|
|
7473
7492
|
const cache = new SimpleCache({
|
|
7474
7493
|
maxSize: cacheMaxSize,
|
|
7475
7494
|
ttl: cacheTTL,
|
|
@@ -9251,6 +9270,47 @@ var eyebrowTreatmentValues = [
|
|
|
9251
9270
|
"pill-bounce",
|
|
9252
9271
|
"accent-pill-bounce"
|
|
9253
9272
|
];
|
|
9273
|
+
var visibleHeadingDecorationFamilyValues = [
|
|
9274
|
+
"organic-squiggle",
|
|
9275
|
+
"short-center-rule"
|
|
9276
|
+
];
|
|
9277
|
+
var visibleHeadingDecorationPlacementValues = [
|
|
9278
|
+
"after-heading",
|
|
9279
|
+
"between-heading-and-body",
|
|
9280
|
+
"under-centered-heading"
|
|
9281
|
+
];
|
|
9282
|
+
var headingDecorationOverrideValues = [
|
|
9283
|
+
"site-default",
|
|
9284
|
+
"on",
|
|
9285
|
+
"off"
|
|
9286
|
+
];
|
|
9287
|
+
var headingDecorationColorTokenValues = [
|
|
9288
|
+
"text",
|
|
9289
|
+
"primary",
|
|
9290
|
+
"secondary",
|
|
9291
|
+
"accent",
|
|
9292
|
+
"border",
|
|
9293
|
+
"muted"
|
|
9294
|
+
];
|
|
9295
|
+
var accordionIconSetValues = [
|
|
9296
|
+
"plus",
|
|
9297
|
+
"chevron",
|
|
9298
|
+
"caret",
|
|
9299
|
+
"minimal-cross"
|
|
9300
|
+
];
|
|
9301
|
+
var accordionIconColorTokenValues = [
|
|
9302
|
+
"text",
|
|
9303
|
+
"muted",
|
|
9304
|
+
"primary",
|
|
9305
|
+
"secondary",
|
|
9306
|
+
"accent",
|
|
9307
|
+
"current"
|
|
9308
|
+
];
|
|
9309
|
+
var accordionIconMotionValues = [
|
|
9310
|
+
"none",
|
|
9311
|
+
"rotate",
|
|
9312
|
+
"swap"
|
|
9313
|
+
];
|
|
9254
9314
|
function defineBlockDesignCapability(capability) {
|
|
9255
9315
|
return {
|
|
9256
9316
|
...capability,
|
|
@@ -9260,7 +9320,9 @@ function defineBlockDesignCapability(capability) {
|
|
|
9260
9320
|
imageSurfaceMotions: capability.imageSurfaceMotions ?? ["static"],
|
|
9261
9321
|
testimonialCardTreatments: capability.testimonialCardTreatments ?? ["default"],
|
|
9262
9322
|
tileTreatments: capability.tileTreatments ?? ["default"],
|
|
9263
|
-
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"]
|
|
9323
|
+
eyebrowTreatments: capability.eyebrowTreatments ?? ["plain"],
|
|
9324
|
+
...capability.headingDecorations ? { headingDecorations: capability.headingDecorations } : {},
|
|
9325
|
+
...capability.accordionIconSets ? { accordionIconSets: capability.accordionIconSets } : {}
|
|
9264
9326
|
};
|
|
9265
9327
|
}
|
|
9266
9328
|
|
|
@@ -9451,6 +9513,25 @@ var blockAppearancePresets = [
|
|
|
9451
9513
|
emphasis: "high"
|
|
9452
9514
|
}
|
|
9453
9515
|
}),
|
|
9516
|
+
defineBlockAppearancePreset({
|
|
9517
|
+
kind: "block-design",
|
|
9518
|
+
id: "intro-soft-earth-statement",
|
|
9519
|
+
target: "intro",
|
|
9520
|
+
label: "Soft Earth intro statement",
|
|
9521
|
+
blockKinds: ["block.intro"],
|
|
9522
|
+
design: {
|
|
9523
|
+
sectionSurface: "base",
|
|
9524
|
+
contentFrame: plainFrame,
|
|
9525
|
+
itemSurface: "none",
|
|
9526
|
+
transitionAfter: "soft-fade-short",
|
|
9527
|
+
emphasis: "high",
|
|
9528
|
+
headingDecoration: {
|
|
9529
|
+
family: "organic-squiggle",
|
|
9530
|
+
placement: "after-heading",
|
|
9531
|
+
colorToken: "primary"
|
|
9532
|
+
}
|
|
9533
|
+
}
|
|
9534
|
+
}),
|
|
9454
9535
|
defineBlockAppearancePreset({
|
|
9455
9536
|
kind: "block-design",
|
|
9456
9537
|
id: "offerings-calm-list",
|
|
@@ -9465,6 +9546,25 @@ var blockAppearancePresets = [
|
|
|
9465
9546
|
emphasis: "medium"
|
|
9466
9547
|
}
|
|
9467
9548
|
}),
|
|
9549
|
+
defineBlockAppearancePreset({
|
|
9550
|
+
kind: "block-design",
|
|
9551
|
+
id: "feature-cards-soft-earth-offerings",
|
|
9552
|
+
target: "feature-cards",
|
|
9553
|
+
label: "Soft Earth offering cards",
|
|
9554
|
+
blockKinds: ["block.feature-cards"],
|
|
9555
|
+
design: {
|
|
9556
|
+
sectionSurface: "base",
|
|
9557
|
+
contentFrame: plainFrame,
|
|
9558
|
+
itemSurface: "raised",
|
|
9559
|
+
transitionAfter: "none",
|
|
9560
|
+
emphasis: "high",
|
|
9561
|
+
headingDecoration: {
|
|
9562
|
+
family: "short-center-rule",
|
|
9563
|
+
placement: "under-centered-heading",
|
|
9564
|
+
colorToken: "primary"
|
|
9565
|
+
}
|
|
9566
|
+
}
|
|
9567
|
+
}),
|
|
9468
9568
|
defineBlockAppearancePreset({
|
|
9469
9569
|
kind: "block-design",
|
|
9470
9570
|
id: "events-base-calendar",
|
|
@@ -9593,6 +9693,26 @@ var blockAppearancePresets = [
|
|
|
9593
9693
|
testimonialCardTreatment: "accent-quote"
|
|
9594
9694
|
}
|
|
9595
9695
|
}),
|
|
9696
|
+
defineBlockAppearancePreset({
|
|
9697
|
+
kind: "block-design",
|
|
9698
|
+
id: "testimonials-soft-earth-proof-band",
|
|
9699
|
+
target: "testimonials",
|
|
9700
|
+
label: "Soft Earth proof band",
|
|
9701
|
+
blockKinds: ["block.testimonials"],
|
|
9702
|
+
design: {
|
|
9703
|
+
sectionSurface: "brand-depth-band",
|
|
9704
|
+
contentFrame: plainFrame,
|
|
9705
|
+
itemSurface: "none",
|
|
9706
|
+
transitionAfter: "soft-fade-short",
|
|
9707
|
+
emphasis: "high",
|
|
9708
|
+
testimonialCardTreatment: "accent-quote",
|
|
9709
|
+
headingDecoration: {
|
|
9710
|
+
family: "short-center-rule",
|
|
9711
|
+
placement: "under-centered-heading",
|
|
9712
|
+
colorToken: "border"
|
|
9713
|
+
}
|
|
9714
|
+
}
|
|
9715
|
+
}),
|
|
9596
9716
|
defineBlockAppearancePreset({
|
|
9597
9717
|
kind: "block-design",
|
|
9598
9718
|
id: "faq-base-accordion",
|
|
@@ -9621,6 +9741,25 @@ var blockAppearancePresets = [
|
|
|
9621
9741
|
emphasis: "low"
|
|
9622
9742
|
}
|
|
9623
9743
|
}),
|
|
9744
|
+
defineBlockAppearancePreset({
|
|
9745
|
+
kind: "block-design",
|
|
9746
|
+
id: "faq-soft-earth-two-column",
|
|
9747
|
+
target: "faq",
|
|
9748
|
+
label: "Soft Earth two-column FAQ",
|
|
9749
|
+
blockKinds: ["block.faq"],
|
|
9750
|
+
design: {
|
|
9751
|
+
sectionSurface: "base",
|
|
9752
|
+
contentFrame: plainFrame,
|
|
9753
|
+
itemSurface: "flat",
|
|
9754
|
+
transitionAfter: "none",
|
|
9755
|
+
emphasis: "medium",
|
|
9756
|
+
accordionIconTreatment: {
|
|
9757
|
+
iconSet: "plus",
|
|
9758
|
+
colorToken: "primary",
|
|
9759
|
+
motion: "swap"
|
|
9760
|
+
}
|
|
9761
|
+
}
|
|
9762
|
+
}),
|
|
9624
9763
|
defineBlockAppearancePreset({
|
|
9625
9764
|
kind: "block-design",
|
|
9626
9765
|
id: "contact-form-panel",
|
|
@@ -10306,6 +10445,97 @@ var confidentChip = defineButtonPersonality({
|
|
|
10306
10445
|
}
|
|
10307
10446
|
});
|
|
10308
10447
|
|
|
10448
|
+
// ../theme-core/src/buttons/personalities/earth-pill.ts
|
|
10449
|
+
var earthPill = defineButtonPersonality({
|
|
10450
|
+
id: "earth-pill",
|
|
10451
|
+
name: "Earth Pill",
|
|
10452
|
+
description: "Compact terracotta pills with quiet primary-coloured ghost CTAs.",
|
|
10453
|
+
tags: { tone: "classic", energy: "calm", motion: "subtle", era: "organic" },
|
|
10454
|
+
buttonSystem: {
|
|
10455
|
+
global: {
|
|
10456
|
+
cornerStyle: "pill",
|
|
10457
|
+
shadow: "low",
|
|
10458
|
+
textTransform: "none",
|
|
10459
|
+
fontWeight: 500,
|
|
10460
|
+
borderWidth: 1,
|
|
10461
|
+
hoverTransform: "lift",
|
|
10462
|
+
hoverColor: "none",
|
|
10463
|
+
typography: "body",
|
|
10464
|
+
paddingPreset: "default"
|
|
10465
|
+
},
|
|
10466
|
+
sizes: {
|
|
10467
|
+
sm: { padding: "0.5rem 1rem", fontSize: "text-sm" },
|
|
10468
|
+
md: { padding: "0.625rem 1.35rem" },
|
|
10469
|
+
lg: { padding: "0.75rem 1.65rem", fontSize: "text-lg" },
|
|
10470
|
+
xl: { padding: "0.875rem 2rem", fontSize: "text-xl" }
|
|
10471
|
+
},
|
|
10472
|
+
variants: [
|
|
10473
|
+
{
|
|
10474
|
+
id: "primary",
|
|
10475
|
+
name: "Primary",
|
|
10476
|
+
enabled: true,
|
|
10477
|
+
priority: 1,
|
|
10478
|
+
background: { type: "solid", colorToken: "primary" },
|
|
10479
|
+
textColorToken: "primaryForeground",
|
|
10480
|
+
borderRadius: "rounded-full",
|
|
10481
|
+
shadow: { elevation: "low", softness: "soft", position: "bottom" },
|
|
10482
|
+
effects: {
|
|
10483
|
+
hover: [
|
|
10484
|
+
{ effectId: "lift", options: { translateY: "-1px" } },
|
|
10485
|
+
{ effectId: "background-on-hover", options: { colorToken: "accent" } }
|
|
10486
|
+
],
|
|
10487
|
+
active: [{ effectId: "scale-down", options: { scale: "0.98" } }]
|
|
10488
|
+
}
|
|
10489
|
+
},
|
|
10490
|
+
{
|
|
10491
|
+
id: "secondary",
|
|
10492
|
+
name: "Secondary",
|
|
10493
|
+
enabled: true,
|
|
10494
|
+
priority: 2,
|
|
10495
|
+
background: { type: "transparent" },
|
|
10496
|
+
textColorToken: "primary",
|
|
10497
|
+
borderRadius: "rounded-full",
|
|
10498
|
+
border: { widthClass: "border", colorToken: "primary" },
|
|
10499
|
+
effects: {
|
|
10500
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "muted" } }]
|
|
10501
|
+
}
|
|
10502
|
+
},
|
|
10503
|
+
{
|
|
10504
|
+
id: "outline",
|
|
10505
|
+
name: "Outline",
|
|
10506
|
+
enabled: true,
|
|
10507
|
+
priority: 3,
|
|
10508
|
+
background: { type: "transparent" },
|
|
10509
|
+
textColorToken: "text",
|
|
10510
|
+
borderRadius: "rounded-full",
|
|
10511
|
+
border: { widthClass: "border", colorToken: "border" },
|
|
10512
|
+
effects: {
|
|
10513
|
+
hover: [{ effectId: "background-on-hover", options: { colorToken: "surfaceAlt" } }]
|
|
10514
|
+
}
|
|
10515
|
+
},
|
|
10516
|
+
{
|
|
10517
|
+
id: "ghost",
|
|
10518
|
+
name: "Ghost",
|
|
10519
|
+
enabled: true,
|
|
10520
|
+
priority: 3,
|
|
10521
|
+
background: { type: "transparent" },
|
|
10522
|
+
textColorToken: "primary",
|
|
10523
|
+
borderRadius: "rounded-full",
|
|
10524
|
+
shadow: { elevation: "none", softness: null, position: "bottom" },
|
|
10525
|
+
sizes: {
|
|
10526
|
+
sm: { padding: "0.25rem 0", fontSize: "text-sm" },
|
|
10527
|
+
md: { padding: "0.375rem 0" },
|
|
10528
|
+
lg: { padding: "0.5rem 0", fontSize: "text-lg" },
|
|
10529
|
+
xl: { padding: "0.625rem 0", fontSize: "text-xl" }
|
|
10530
|
+
},
|
|
10531
|
+
effects: {
|
|
10532
|
+
hover: [{ effectId: "opacity-reduce", options: { reduction: 25 } }]
|
|
10533
|
+
}
|
|
10534
|
+
}
|
|
10535
|
+
]
|
|
10536
|
+
}
|
|
10537
|
+
});
|
|
10538
|
+
|
|
10309
10539
|
// ../theme-core/src/buttons/personalities/editorial-link.ts
|
|
10310
10540
|
var editorialLink = defineButtonPersonality({
|
|
10311
10541
|
id: "editorial-link",
|
|
@@ -10764,6 +10994,7 @@ var softPill = defineButtonPersonality({
|
|
|
10764
10994
|
// ../theme-core/src/buttons/personalities/index.ts
|
|
10765
10995
|
var buttonPersonalities = [
|
|
10766
10996
|
softPill,
|
|
10997
|
+
earthPill,
|
|
10767
10998
|
confidentChip,
|
|
10768
10999
|
editorialLink,
|
|
10769
11000
|
pebble,
|
|
@@ -11405,8 +11636,19 @@ var headingTypographyStyleSchema = typographyStyleSchema.extend({
|
|
|
11405
11636
|
colorToken: themeColorTokenSchema.nullable().optional()
|
|
11406
11637
|
});
|
|
11407
11638
|
var proseLinkUnderlineStyleSchema = z21.enum(["solid", "dotted", "dashed"]);
|
|
11408
|
-
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
11409
|
-
|
|
11639
|
+
var proseLinkUnderlineThicknessSchema = z21.enum([
|
|
11640
|
+
"auto",
|
|
11641
|
+
"fromFont",
|
|
11642
|
+
"thin",
|
|
11643
|
+
"medium",
|
|
11644
|
+
"thick"
|
|
11645
|
+
]);
|
|
11646
|
+
var proseLinkUnderlineOffsetSchema = z21.enum([
|
|
11647
|
+
"auto",
|
|
11648
|
+
"tight",
|
|
11649
|
+
"normal",
|
|
11650
|
+
"loose"
|
|
11651
|
+
]);
|
|
11410
11652
|
var proseLinkStyleSchema = z21.object({
|
|
11411
11653
|
colorToken: themeColorTokenSchema.optional(),
|
|
11412
11654
|
hoverColorToken: themeColorTokenSchema.optional(),
|
|
@@ -11417,7 +11659,14 @@ var proseLinkStyleSchema = z21.object({
|
|
|
11417
11659
|
underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
|
|
11418
11660
|
underlineOffset: proseLinkUnderlineOffsetSchema.optional()
|
|
11419
11661
|
});
|
|
11420
|
-
var semanticSpacingSchema = z21.enum([
|
|
11662
|
+
var semanticSpacingSchema = z21.enum([
|
|
11663
|
+
"none",
|
|
11664
|
+
"compact",
|
|
11665
|
+
"cozy",
|
|
11666
|
+
"medium",
|
|
11667
|
+
"comfortable",
|
|
11668
|
+
"spacious"
|
|
11669
|
+
]);
|
|
11421
11670
|
var boxRoundedSchema = z21.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
|
|
11422
11671
|
var boxBackgroundOverlaySchema = z21.object({
|
|
11423
11672
|
type: z21.enum(["none", "color", "gradient"]).nullable().optional(),
|
|
@@ -11439,12 +11688,36 @@ var boxBackgroundSchema = z21.object({
|
|
|
11439
11688
|
textColor: tokenOrCssColorValueSchema.nullable().optional(),
|
|
11440
11689
|
headingColor: tokenOrCssColorValueSchema.nullable().optional()
|
|
11441
11690
|
});
|
|
11691
|
+
var noHeadingDecorationSchema = z21.object({
|
|
11692
|
+
family: z21.literal("none"),
|
|
11693
|
+
placement: z21.literal("none")
|
|
11694
|
+
});
|
|
11695
|
+
var visibleHeadingDecorationSchema = z21.object({
|
|
11696
|
+
family: z21.enum(visibleHeadingDecorationFamilyValues),
|
|
11697
|
+
placement: z21.enum(visibleHeadingDecorationPlacementValues),
|
|
11698
|
+
colorToken: z21.enum(headingDecorationColorTokenValues).optional()
|
|
11699
|
+
});
|
|
11700
|
+
var headingDecorationSchema = z21.union([
|
|
11701
|
+
noHeadingDecorationSchema,
|
|
11702
|
+
visibleHeadingDecorationSchema
|
|
11703
|
+
]);
|
|
11704
|
+
var accordionIconTreatmentSchema = z21.object({
|
|
11705
|
+
iconSet: z21.enum(accordionIconSetValues),
|
|
11706
|
+
colorToken: z21.enum(accordionIconColorTokenValues),
|
|
11707
|
+
openColorToken: z21.enum(accordionIconColorTokenValues).optional(),
|
|
11708
|
+
motion: z21.enum(accordionIconMotionValues)
|
|
11709
|
+
});
|
|
11442
11710
|
var sectionStylesOverrideSchema = z21.object({
|
|
11443
11711
|
background: boxBackgroundSchema.nullable().optional(),
|
|
11444
11712
|
spacing: semanticSpacingSchema.nullable().optional(),
|
|
11445
11713
|
minHeight: z21.enum(["none", "banner", "hero", "immersive"]).nullable().optional(),
|
|
11446
11714
|
tileTreatment: z21.enum(tileTreatmentValues).nullable().optional(),
|
|
11447
|
-
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional()
|
|
11715
|
+
eyebrowTreatment: z21.enum(eyebrowTreatmentValues).nullable().optional(),
|
|
11716
|
+
headingDecoration: headingDecorationSchema.nullable().optional(),
|
|
11717
|
+
// Author-level override consumed by later block/editor rendering phases.
|
|
11718
|
+
// Keeping it in section styles lets existing block save APIs persist it.
|
|
11719
|
+
headingDecorationOverride: z21.enum(headingDecorationOverrideValues).nullable().optional(),
|
|
11720
|
+
accordionIconTreatment: accordionIconTreatmentSchema.nullable().optional()
|
|
11448
11721
|
});
|
|
11449
11722
|
var containerStylesOverrideSchema = z21.object({
|
|
11450
11723
|
background: boxBackgroundSchema.nullable().optional(),
|
|
@@ -11537,9 +11810,17 @@ var inputStyle = z21.object({
|
|
|
11537
11810
|
focus: z21.enum(["glow", "ring", "underline"]),
|
|
11538
11811
|
label: z21.enum(["inside", "above"])
|
|
11539
11812
|
});
|
|
11540
|
-
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"
|
|
11813
|
+
var headerVariant = z21.enum(["classic", "centered", "transparent", "floating"]);
|
|
11541
11814
|
var headerPositioning = z21.enum(["static", "sticky", "fixed"]);
|
|
11542
|
-
var headerNavStyle = z21.enum([
|
|
11815
|
+
var headerNavStyle = z21.enum([
|
|
11816
|
+
"minimal",
|
|
11817
|
+
"underline",
|
|
11818
|
+
"underline-grow",
|
|
11819
|
+
"capsule",
|
|
11820
|
+
"scale",
|
|
11821
|
+
"frosted",
|
|
11822
|
+
"solid"
|
|
11823
|
+
]);
|
|
11543
11824
|
var navFontWeight = z21.enum(["regular", "medium", "semibold", "bold"]);
|
|
11544
11825
|
var headerMaxWidth = z21.enum(["container", "full"]);
|
|
11545
11826
|
var headerContainerSchema = z21.object({
|
|
@@ -11587,8 +11868,22 @@ var dropdownStyleSchema = z21.object({
|
|
|
11587
11868
|
textSize: z21.enum(["xs", "sm", "base", "lg"]).optional()
|
|
11588
11869
|
// optional = no override (browser default)
|
|
11589
11870
|
}).optional();
|
|
11590
|
-
var headerCtaGapSchema = z21.enum([
|
|
11591
|
-
|
|
11871
|
+
var headerCtaGapSchema = z21.enum([
|
|
11872
|
+
"none",
|
|
11873
|
+
"tight",
|
|
11874
|
+
"compact",
|
|
11875
|
+
"default",
|
|
11876
|
+
"relaxed",
|
|
11877
|
+
"spacious"
|
|
11878
|
+
]);
|
|
11879
|
+
var headerCtaTreatmentSchema = z21.enum([
|
|
11880
|
+
"default",
|
|
11881
|
+
"primary",
|
|
11882
|
+
"secondary",
|
|
11883
|
+
"inverted",
|
|
11884
|
+
"outline",
|
|
11885
|
+
"ghost"
|
|
11886
|
+
]);
|
|
11592
11887
|
var navContainerSchema = z21.object({
|
|
11593
11888
|
type: z21.enum(["none", "pill", "glass"]).default("none"),
|
|
11594
11889
|
tint: z21.string().nullable().optional(),
|
|
@@ -11643,7 +11938,14 @@ var footerMaxWidth = z21.enum(["container", "full"]);
|
|
|
11643
11938
|
var footerMode = z21.enum(["default", "blocks", "default+blocks", "none"]);
|
|
11644
11939
|
var footerNavLayoutMode = z21.enum(["stack", "inline", "inline-wrap"]);
|
|
11645
11940
|
var footerNavLayoutAlign = z21.enum(["start", "center", "end", "space-between"]);
|
|
11646
|
-
var footerSpacing = z21.enum([
|
|
11941
|
+
var footerSpacing = z21.enum([
|
|
11942
|
+
"none",
|
|
11943
|
+
"tight",
|
|
11944
|
+
"compact",
|
|
11945
|
+
"default",
|
|
11946
|
+
"relaxed",
|
|
11947
|
+
"spacious"
|
|
11948
|
+
]);
|
|
11647
11949
|
var footerLogoPlacement = z21.enum(["left", "right", "above", "below"]);
|
|
11648
11950
|
var footerLogoSize = z21.enum(["sm", "md", "lg", "xl"]);
|
|
11649
11951
|
var footerLogoMaxHeight = z21.enum(["sm", "md", "lg", "xl"]);
|
|
@@ -11708,7 +12010,12 @@ var footerSchema = z21.object({
|
|
|
11708
12010
|
logo: footerLogoSchema.optional(),
|
|
11709
12011
|
bottomBar: footerBottomBarSchema.optional()
|
|
11710
12012
|
});
|
|
11711
|
-
var containerPaddingPresetSchema = z21.enum([
|
|
12013
|
+
var containerPaddingPresetSchema = z21.enum([
|
|
12014
|
+
"tight",
|
|
12015
|
+
"compact",
|
|
12016
|
+
"default",
|
|
12017
|
+
"relaxed"
|
|
12018
|
+
]);
|
|
11712
12019
|
var layoutSchema = z21.object({
|
|
11713
12020
|
containerPadding: z21.object({
|
|
11714
12021
|
mobile: containerPaddingPresetSchema.optional(),
|
|
@@ -11716,8 +12023,24 @@ var layoutSchema = z21.object({
|
|
|
11716
12023
|
desktop: containerPaddingPresetSchema.optional()
|
|
11717
12024
|
}).optional()
|
|
11718
12025
|
}).optional();
|
|
11719
|
-
var heroTypographySizeSchema = z21.enum([
|
|
11720
|
-
|
|
12026
|
+
var heroTypographySizeSchema = z21.enum([
|
|
12027
|
+
"sm",
|
|
12028
|
+
"base",
|
|
12029
|
+
"lg",
|
|
12030
|
+
"xl",
|
|
12031
|
+
"2xl",
|
|
12032
|
+
"3xl",
|
|
12033
|
+
"4xl",
|
|
12034
|
+
"5xl",
|
|
12035
|
+
"6xl",
|
|
12036
|
+
"editorial"
|
|
12037
|
+
]);
|
|
12038
|
+
var heroTypographyLineHeightSchema = z21.enum([
|
|
12039
|
+
"tight",
|
|
12040
|
+
"snug",
|
|
12041
|
+
"normal",
|
|
12042
|
+
"relaxed"
|
|
12043
|
+
]);
|
|
11721
12044
|
var heroResponsiveTypographySchema = z21.object({
|
|
11722
12045
|
headlineSize: heroTypographySizeSchema.optional(),
|
|
11723
12046
|
headlineLineHeight: heroTypographyLineHeightSchema.optional(),
|
|
@@ -12152,6 +12475,28 @@ var warmNeutralCream = definePaletteVariant({
|
|
|
12152
12475
|
{ name: "border", hex: "#e0d2b8" }
|
|
12153
12476
|
]
|
|
12154
12477
|
});
|
|
12478
|
+
var warmNeutralSoftEarth = definePaletteVariant({
|
|
12479
|
+
id: "warm-neutral-soft-earth",
|
|
12480
|
+
name: "Warm Neutral \u2014 Soft Earth",
|
|
12481
|
+
description: "Cream ground with terracotta primary, clay accents, and olive depth.",
|
|
12482
|
+
tags: { tone: "classic", energy: "calm", era: "organic" },
|
|
12483
|
+
mode: "light",
|
|
12484
|
+
colors: [
|
|
12485
|
+
{ name: "primary", hex: "#a8573d" },
|
|
12486
|
+
{ name: "secondary", hex: "#72765c" },
|
|
12487
|
+
{ name: "accent", hex: "#c87557" },
|
|
12488
|
+
{ name: "success", hex: "#687854" },
|
|
12489
|
+
{ name: "warning", hex: "#b7863e" },
|
|
12490
|
+
{ name: "destructive", hex: "#a54b3c" },
|
|
12491
|
+
{ name: "background", hex: "#fbf6eb" },
|
|
12492
|
+
{ name: "surface", hex: "#fffdf7" },
|
|
12493
|
+
{ name: "surfaceAlt", hex: "#f0e4d3" },
|
|
12494
|
+
{ name: "muted", hex: "#eadbc6" },
|
|
12495
|
+
{ name: "text", hex: "#30281f" },
|
|
12496
|
+
{ name: "primaryForeground", hex: "#fffaf3" },
|
|
12497
|
+
{ name: "border", hex: "#d9c8b2" }
|
|
12498
|
+
]
|
|
12499
|
+
});
|
|
12155
12500
|
var warmNeutralForest = definePaletteVariant({
|
|
12156
12501
|
id: "warm-neutral-forest",
|
|
12157
12502
|
name: "Warm Neutral \u2014 Forest",
|
|
@@ -12185,6 +12530,7 @@ var paletteVariants = [
|
|
|
12185
12530
|
// Warm-neutral family
|
|
12186
12531
|
warmNeutralClay,
|
|
12187
12532
|
warmNeutralCream,
|
|
12533
|
+
warmNeutralSoftEarth,
|
|
12188
12534
|
warmNeutralForest,
|
|
12189
12535
|
// High-contrast family
|
|
12190
12536
|
highContrastInk,
|
|
@@ -12203,6 +12549,12 @@ var paletteVariantsById = new Map(
|
|
|
12203
12549
|
function asHeaderLookId(value) {
|
|
12204
12550
|
return value;
|
|
12205
12551
|
}
|
|
12552
|
+
function asHeaderLayoutId(value) {
|
|
12553
|
+
return value;
|
|
12554
|
+
}
|
|
12555
|
+
function asHeaderStyleId(value) {
|
|
12556
|
+
return value;
|
|
12557
|
+
}
|
|
12206
12558
|
function baseHeader(theme) {
|
|
12207
12559
|
const {
|
|
12208
12560
|
navLinkStyle: _navLinkStyle,
|
|
@@ -12221,63 +12573,423 @@ function baseHeader(theme) {
|
|
|
12221
12573
|
navContainer: { type: "none", tint: null, opacity: 0.15 }
|
|
12222
12574
|
};
|
|
12223
12575
|
}
|
|
12224
|
-
|
|
12225
|
-
|
|
12226
|
-
|
|
12227
|
-
|
|
12576
|
+
var headerLayoutCatalog = [
|
|
12577
|
+
{
|
|
12578
|
+
id: asHeaderLayoutId("classic"),
|
|
12579
|
+
label: "Classic",
|
|
12580
|
+
description: "Logo and navigation in one practical horizontal row.",
|
|
12581
|
+
structure: "inline-classic",
|
|
12228
12582
|
variant: "classic",
|
|
12229
|
-
|
|
12583
|
+
defaultPositioning: "sticky",
|
|
12584
|
+
shrinkOnScroll: false
|
|
12585
|
+
},
|
|
12586
|
+
{
|
|
12587
|
+
id: asHeaderLayoutId("centered"),
|
|
12588
|
+
label: "Centered",
|
|
12589
|
+
description: "Logo centered above a balanced navigation row.",
|
|
12590
|
+
structure: "centered-stack",
|
|
12591
|
+
variant: "centered",
|
|
12592
|
+
defaultPositioning: "static",
|
|
12593
|
+
shrinkOnScroll: false,
|
|
12594
|
+
maxRecommendedNavItems: 5,
|
|
12595
|
+
allowedLogoShapes: ["none", "text-only", "horizontal", "square"]
|
|
12596
|
+
},
|
|
12597
|
+
{
|
|
12598
|
+
id: asHeaderLayoutId("floating"),
|
|
12599
|
+
label: "Floating",
|
|
12600
|
+
description: "Detached header chrome that sits over the opening section.",
|
|
12601
|
+
structure: "floating-shell",
|
|
12602
|
+
variant: "floating",
|
|
12603
|
+
defaultPositioning: "fixed",
|
|
12230
12604
|
shrinkOnScroll: true,
|
|
12231
|
-
|
|
12232
|
-
|
|
12233
|
-
|
|
12234
|
-
|
|
12235
|
-
|
|
12236
|
-
|
|
12237
|
-
|
|
12238
|
-
|
|
12239
|
-
|
|
12240
|
-
|
|
12241
|
-
|
|
12242
|
-
|
|
12243
|
-
|
|
12244
|
-
|
|
12245
|
-
|
|
12246
|
-
|
|
12247
|
-
|
|
12248
|
-
|
|
12249
|
-
|
|
12250
|
-
|
|
12251
|
-
|
|
12252
|
-
|
|
12253
|
-
|
|
12254
|
-
|
|
12255
|
-
|
|
12256
|
-
|
|
12257
|
-
|
|
12258
|
-
|
|
12259
|
-
|
|
12260
|
-
|
|
12261
|
-
|
|
12262
|
-
|
|
12263
|
-
|
|
12264
|
-
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12275
|
-
|
|
12276
|
-
|
|
12277
|
-
|
|
12278
|
-
|
|
12279
|
-
|
|
12280
|
-
|
|
12605
|
+
maxRecommendedNavItems: 5,
|
|
12606
|
+
allowedLogoShapes: ["none", "text-only", "horizontal"]
|
|
12607
|
+
}
|
|
12608
|
+
];
|
|
12609
|
+
function supportedLayouts(ids) {
|
|
12610
|
+
return ids.map(asHeaderLayoutId);
|
|
12611
|
+
}
|
|
12612
|
+
var headerStyleCatalog = [
|
|
12613
|
+
{
|
|
12614
|
+
id: asHeaderStyleId("minimal"),
|
|
12615
|
+
label: "Minimal",
|
|
12616
|
+
description: "Quiet surface with simple color-change navigation.",
|
|
12617
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12618
|
+
navInteraction: "color-change",
|
|
12619
|
+
surface: "neutral",
|
|
12620
|
+
navTypography: "plain"
|
|
12621
|
+
},
|
|
12622
|
+
{
|
|
12623
|
+
id: asHeaderStyleId("fine-line"),
|
|
12624
|
+
label: "Fine Line",
|
|
12625
|
+
description: "Light surface with a crisp lower rule and underline hover.",
|
|
12626
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12627
|
+
navInteraction: "underline-grow",
|
|
12628
|
+
surface: "bordered",
|
|
12629
|
+
navTypography: "plain"
|
|
12630
|
+
},
|
|
12631
|
+
{
|
|
12632
|
+
id: asHeaderStyleId("soft-bar"),
|
|
12633
|
+
label: "Soft Bar",
|
|
12634
|
+
description: "Soft tinted surface with gentle pill hover states.",
|
|
12635
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12636
|
+
navInteraction: "pill-background",
|
|
12637
|
+
surface: "soft",
|
|
12638
|
+
navTypography: "plain"
|
|
12639
|
+
},
|
|
12640
|
+
{
|
|
12641
|
+
id: asHeaderStyleId("pill-nav"),
|
|
12642
|
+
label: "Pill Nav",
|
|
12643
|
+
description: "A calm pill navigation rail over a neutral header.",
|
|
12644
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12645
|
+
navInteraction: "pill-background",
|
|
12646
|
+
surface: "soft",
|
|
12647
|
+
navTypography: "plain"
|
|
12648
|
+
},
|
|
12649
|
+
{
|
|
12650
|
+
id: asHeaderStyleId("brand-bar"),
|
|
12651
|
+
label: "Brand Bar",
|
|
12652
|
+
description: "Solid brand surface with high-contrast navigation.",
|
|
12653
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12654
|
+
navInteraction: "color-change",
|
|
12655
|
+
surface: "brand-solid",
|
|
12656
|
+
navTypography: "brand-caps"
|
|
12657
|
+
},
|
|
12658
|
+
{
|
|
12659
|
+
id: asHeaderStyleId("brand-underline"),
|
|
12660
|
+
label: "Brand Underline",
|
|
12661
|
+
description: "Brand surface with underline-grow navigation.",
|
|
12662
|
+
supportedLayoutIds: supportedLayouts(["classic"]),
|
|
12663
|
+
navInteraction: "underline-grow",
|
|
12664
|
+
surface: "brand-solid",
|
|
12665
|
+
navTypography: "brand-caps"
|
|
12666
|
+
},
|
|
12667
|
+
{
|
|
12668
|
+
id: asHeaderStyleId("brand-pill"),
|
|
12669
|
+
label: "Brand Pill",
|
|
12670
|
+
description: "Solid brand surface with rounded active and hover states.",
|
|
12671
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered", "floating"]),
|
|
12672
|
+
navInteraction: "pill-background",
|
|
12673
|
+
surface: "brand-solid",
|
|
12674
|
+
navTypography: "brand-caps"
|
|
12675
|
+
},
|
|
12676
|
+
{
|
|
12677
|
+
id: asHeaderStyleId("serif-line"),
|
|
12678
|
+
label: "Serif Line",
|
|
12679
|
+
description: "Typographic logo treatment with understated underline navigation.",
|
|
12680
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12681
|
+
navInteraction: "underline-grow",
|
|
12682
|
+
surface: "bordered",
|
|
12683
|
+
navTypography: "heading"
|
|
12684
|
+
},
|
|
12685
|
+
{
|
|
12686
|
+
id: asHeaderStyleId("flat-tabs"),
|
|
12687
|
+
label: "Flat Tabs",
|
|
12688
|
+
description: "Flat block hover and active states with a Swiss utility feel.",
|
|
12689
|
+
supportedLayoutIds: supportedLayouts(["classic", "centered"]),
|
|
12690
|
+
navInteraction: "flat-block",
|
|
12691
|
+
surface: "bordered",
|
|
12692
|
+
navTypography: "quiet-caps"
|
|
12693
|
+
},
|
|
12694
|
+
{
|
|
12695
|
+
id: asHeaderStyleId("glass"),
|
|
12696
|
+
label: "Glass",
|
|
12697
|
+
description: "Translucent chrome with frosted navigation backing.",
|
|
12698
|
+
supportedLayoutIds: supportedLayouts(["classic", "floating"]),
|
|
12699
|
+
navInteraction: "glass-backed",
|
|
12700
|
+
surface: "floating",
|
|
12701
|
+
navTypography: "plain"
|
|
12702
|
+
},
|
|
12703
|
+
{
|
|
12704
|
+
id: asHeaderStyleId("minimal-surface"),
|
|
12705
|
+
label: "Clear Split",
|
|
12706
|
+
description: "Floating logo with transparent navigation and no shared shell.",
|
|
12707
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12708
|
+
navInteraction: "color-change",
|
|
12709
|
+
surface: "floating",
|
|
12710
|
+
navTypography: "plain"
|
|
12711
|
+
},
|
|
12712
|
+
{
|
|
12713
|
+
id: asHeaderStyleId("soft-shell"),
|
|
12714
|
+
label: "Soft Shell",
|
|
12715
|
+
description: "Floating rounded shell with soft pill navigation states.",
|
|
12716
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12717
|
+
navInteraction: "pill-background",
|
|
12718
|
+
surface: "floating",
|
|
12719
|
+
navTypography: "plain"
|
|
12720
|
+
},
|
|
12721
|
+
{
|
|
12722
|
+
id: asHeaderStyleId("split-glass"),
|
|
12723
|
+
label: "Split Glass",
|
|
12724
|
+
description: "Logo floats independently while the navigation sits in a glass rail.",
|
|
12725
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12726
|
+
navInteraction: "glass-backed",
|
|
12727
|
+
surface: "floating",
|
|
12728
|
+
navTypography: "quiet-caps"
|
|
12729
|
+
},
|
|
12730
|
+
{
|
|
12731
|
+
id: asHeaderStyleId("split-pill"),
|
|
12732
|
+
label: "Split Pill",
|
|
12733
|
+
description: "Logo floats independently with a soft pill-backed navigation rail.",
|
|
12734
|
+
supportedLayoutIds: supportedLayouts(["floating"]),
|
|
12735
|
+
navInteraction: "pill-background",
|
|
12736
|
+
surface: "floating",
|
|
12737
|
+
navTypography: "heading"
|
|
12738
|
+
}
|
|
12739
|
+
];
|
|
12740
|
+
var headerLayoutsById = new Map(
|
|
12741
|
+
headerLayoutCatalog.map((layout) => [layout.id, layout])
|
|
12742
|
+
);
|
|
12743
|
+
var headerStylesById = new Map(
|
|
12744
|
+
headerStyleCatalog.map((style) => [style.id, style])
|
|
12745
|
+
);
|
|
12746
|
+
var headerStyleCompatibilityOrder = /* @__PURE__ */ new Map([
|
|
12747
|
+
[
|
|
12748
|
+
asHeaderLayoutId("classic"),
|
|
12749
|
+
headerStyleRepairChain([
|
|
12750
|
+
"minimal",
|
|
12751
|
+
"glass",
|
|
12752
|
+
"fine-line",
|
|
12753
|
+
"soft-bar",
|
|
12754
|
+
"pill-nav",
|
|
12755
|
+
"brand-bar",
|
|
12756
|
+
"brand-underline",
|
|
12757
|
+
"brand-pill",
|
|
12758
|
+
"serif-line",
|
|
12759
|
+
"flat-tabs"
|
|
12760
|
+
])
|
|
12761
|
+
],
|
|
12762
|
+
[
|
|
12763
|
+
asHeaderLayoutId("centered"),
|
|
12764
|
+
headerStyleRepairChain([
|
|
12765
|
+
"minimal",
|
|
12766
|
+
"fine-line",
|
|
12767
|
+
"soft-bar",
|
|
12768
|
+
"pill-nav",
|
|
12769
|
+
"brand-bar",
|
|
12770
|
+
"brand-pill",
|
|
12771
|
+
"serif-line",
|
|
12772
|
+
"flat-tabs"
|
|
12773
|
+
])
|
|
12774
|
+
],
|
|
12775
|
+
[
|
|
12776
|
+
asHeaderLayoutId("floating"),
|
|
12777
|
+
headerStyleRepairChain([
|
|
12778
|
+
"glass",
|
|
12779
|
+
"minimal-surface",
|
|
12780
|
+
"split-glass",
|
|
12781
|
+
"split-pill",
|
|
12782
|
+
"soft-shell",
|
|
12783
|
+
"brand-pill"
|
|
12784
|
+
])
|
|
12785
|
+
]
|
|
12786
|
+
]);
|
|
12787
|
+
function headerStyleRepairChain(values) {
|
|
12788
|
+
return values.map(asHeaderStyleId);
|
|
12789
|
+
}
|
|
12790
|
+
var headerStyleRepairOrder = /* @__PURE__ */ new Map(
|
|
12791
|
+
[
|
|
12792
|
+
[
|
|
12793
|
+
asHeaderStyleId("brand-bar"),
|
|
12794
|
+
headerStyleRepairChain(["brand-bar", "brand-pill", "minimal"])
|
|
12795
|
+
],
|
|
12796
|
+
[
|
|
12797
|
+
asHeaderStyleId("brand-underline"),
|
|
12798
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
12799
|
+
],
|
|
12800
|
+
[
|
|
12801
|
+
asHeaderStyleId("brand-pill"),
|
|
12802
|
+
headerStyleRepairChain(["brand-pill", "brand-bar", "minimal"])
|
|
12803
|
+
],
|
|
12804
|
+
[
|
|
12805
|
+
asHeaderStyleId("pill-nav"),
|
|
12806
|
+
headerStyleRepairChain(["pill-nav", "soft-bar", "minimal"])
|
|
12807
|
+
],
|
|
12808
|
+
[
|
|
12809
|
+
asHeaderStyleId("flat-tabs"),
|
|
12810
|
+
headerStyleRepairChain(["flat-tabs", "pill-nav", "minimal"])
|
|
12811
|
+
],
|
|
12812
|
+
[
|
|
12813
|
+
asHeaderStyleId("serif-line"),
|
|
12814
|
+
headerStyleRepairChain(["serif-line", "fine-line", "minimal"])
|
|
12815
|
+
],
|
|
12816
|
+
[
|
|
12817
|
+
asHeaderStyleId("glass"),
|
|
12818
|
+
headerStyleRepairChain(["glass", "minimal-surface", "minimal"])
|
|
12819
|
+
],
|
|
12820
|
+
[
|
|
12821
|
+
asHeaderStyleId("soft-shell"),
|
|
12822
|
+
headerStyleRepairChain(["soft-shell", "soft-bar", "minimal"])
|
|
12823
|
+
],
|
|
12824
|
+
[
|
|
12825
|
+
asHeaderStyleId("minimal-surface"),
|
|
12826
|
+
headerStyleRepairChain(["minimal-surface", "minimal"])
|
|
12827
|
+
],
|
|
12828
|
+
[
|
|
12829
|
+
asHeaderStyleId("split-glass"),
|
|
12830
|
+
headerStyleRepairChain(["split-glass", "glass", "minimal-surface"])
|
|
12831
|
+
],
|
|
12832
|
+
[
|
|
12833
|
+
asHeaderStyleId("split-pill"),
|
|
12834
|
+
headerStyleRepairChain(["split-pill", "soft-shell", "brand-pill"])
|
|
12835
|
+
],
|
|
12836
|
+
[
|
|
12837
|
+
asHeaderStyleId("fine-line"),
|
|
12838
|
+
headerStyleRepairChain(["fine-line", "minimal"])
|
|
12839
|
+
],
|
|
12840
|
+
[
|
|
12841
|
+
asHeaderStyleId("soft-bar"),
|
|
12842
|
+
headerStyleRepairChain(["soft-bar", "minimal"])
|
|
12843
|
+
],
|
|
12844
|
+
[asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
|
|
12845
|
+
]
|
|
12846
|
+
);
|
|
12847
|
+
var legacyHeaderLookAliases = [
|
|
12848
|
+
{
|
|
12849
|
+
lookId: asHeaderLookId("clean-base"),
|
|
12850
|
+
selection: {
|
|
12851
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
12852
|
+
styleId: asHeaderStyleId("minimal")
|
|
12853
|
+
}
|
|
12854
|
+
},
|
|
12855
|
+
{
|
|
12856
|
+
lookId: asHeaderLookId("brand-solid"),
|
|
12857
|
+
selection: {
|
|
12858
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
12859
|
+
styleId: asHeaderStyleId("brand-bar")
|
|
12860
|
+
}
|
|
12861
|
+
},
|
|
12862
|
+
{
|
|
12863
|
+
lookId: asHeaderLookId("serif-line"),
|
|
12864
|
+
selection: {
|
|
12865
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
12866
|
+
styleId: asHeaderStyleId("serif-line")
|
|
12867
|
+
}
|
|
12868
|
+
},
|
|
12869
|
+
{
|
|
12870
|
+
lookId: asHeaderLookId("centered-calm"),
|
|
12871
|
+
selection: {
|
|
12872
|
+
layoutId: asHeaderLayoutId("centered"),
|
|
12873
|
+
styleId: asHeaderStyleId("minimal")
|
|
12874
|
+
}
|
|
12875
|
+
},
|
|
12876
|
+
{
|
|
12877
|
+
lookId: asHeaderLookId("practical-utility"),
|
|
12878
|
+
selection: {
|
|
12879
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
12880
|
+
styleId: asHeaderStyleId("flat-tabs")
|
|
12881
|
+
}
|
|
12882
|
+
},
|
|
12883
|
+
{
|
|
12884
|
+
lookId: asHeaderLookId("minimal-transparent"),
|
|
12885
|
+
selection: {
|
|
12886
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
12887
|
+
styleId: asHeaderStyleId("minimal")
|
|
12888
|
+
}
|
|
12889
|
+
},
|
|
12890
|
+
{
|
|
12891
|
+
lookId: asHeaderLookId("transparent-overlay"),
|
|
12892
|
+
selection: {
|
|
12893
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
12894
|
+
styleId: asHeaderStyleId("glass")
|
|
12895
|
+
}
|
|
12896
|
+
},
|
|
12897
|
+
{
|
|
12898
|
+
lookId: asHeaderLookId("floating-glass"),
|
|
12899
|
+
selection: {
|
|
12900
|
+
layoutId: asHeaderLayoutId("floating"),
|
|
12901
|
+
styleId: asHeaderStyleId("glass")
|
|
12902
|
+
}
|
|
12903
|
+
}
|
|
12904
|
+
];
|
|
12905
|
+
var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
|
|
12906
|
+
function getHeaderStyle(id) {
|
|
12907
|
+
return headerStylesById.get(id) ?? null;
|
|
12908
|
+
}
|
|
12909
|
+
function isHeaderStyleCompatibleWithLayout(style, layoutId) {
|
|
12910
|
+
return style.supportedLayoutIds.includes(layoutId);
|
|
12911
|
+
}
|
|
12912
|
+
function getHeaderStyleOrThrow(id) {
|
|
12913
|
+
const style = getHeaderStyle(id);
|
|
12914
|
+
if (!style) {
|
|
12915
|
+
throw new Error(`Unknown Theme V2 header style: ${id}`);
|
|
12916
|
+
}
|
|
12917
|
+
return style;
|
|
12918
|
+
}
|
|
12919
|
+
function resolveLegacyHeaderLookAlias(lookId) {
|
|
12920
|
+
return legacyHeaderLookAliasesById.get(lookId)?.selection ?? null;
|
|
12921
|
+
}
|
|
12922
|
+
function getCompatibleHeaderStyleIds(layoutId) {
|
|
12923
|
+
return (headerStyleCompatibilityOrder.get(layoutId) ?? []).filter(
|
|
12924
|
+
(styleId) => {
|
|
12925
|
+
const style = getHeaderStyleOrThrow(styleId);
|
|
12926
|
+
return isHeaderStyleCompatibleWithLayout(style, layoutId);
|
|
12927
|
+
}
|
|
12928
|
+
);
|
|
12929
|
+
}
|
|
12930
|
+
function solidBrandHeader(theme) {
|
|
12931
|
+
const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
|
|
12932
|
+
return {
|
|
12933
|
+
...baseHeader(theme),
|
|
12934
|
+
variant: "classic",
|
|
12935
|
+
positioning: "sticky",
|
|
12936
|
+
shrinkOnScroll: true,
|
|
12937
|
+
background: {
|
|
12938
|
+
type: "color",
|
|
12939
|
+
color: "primary"
|
|
12940
|
+
},
|
|
12941
|
+
textColor: "primaryForeground",
|
|
12942
|
+
navColor: "primaryForeground",
|
|
12943
|
+
navStyle: "underline-grow",
|
|
12944
|
+
navWeight: "bold",
|
|
12945
|
+
navLinkStyle: {
|
|
12946
|
+
typography: "body",
|
|
12947
|
+
fontWeight: "bold",
|
|
12948
|
+
textTransform: "uppercase",
|
|
12949
|
+
italic: false,
|
|
12950
|
+
colorToken: "primaryForeground",
|
|
12951
|
+
hoverColorToken: "secondary",
|
|
12952
|
+
textSize: "sm",
|
|
12953
|
+
letterSpacing: "wider",
|
|
12954
|
+
padding: "compact",
|
|
12955
|
+
paddingX: "compact",
|
|
12956
|
+
borderRadius: "none",
|
|
12957
|
+
effects: {
|
|
12958
|
+
hover: [
|
|
12959
|
+
{
|
|
12960
|
+
effectId: "text-color-change",
|
|
12961
|
+
options: { hoverColorToken: "secondary" }
|
|
12962
|
+
},
|
|
12963
|
+
{
|
|
12964
|
+
effectId: "nav-underline",
|
|
12965
|
+
options: { style: "grow", colorToken: "secondary" }
|
|
12966
|
+
}
|
|
12967
|
+
]
|
|
12968
|
+
}
|
|
12969
|
+
},
|
|
12970
|
+
dropdownStyle: {
|
|
12971
|
+
background: "primary-700",
|
|
12972
|
+
textColor: "primaryForeground",
|
|
12973
|
+
borderColor: null,
|
|
12974
|
+
shadow: "md",
|
|
12975
|
+
borderRadius: "md",
|
|
12976
|
+
hoverBackground: "primary-900",
|
|
12977
|
+
hoverTextColor: "secondary",
|
|
12978
|
+
textTransform: "uppercase",
|
|
12979
|
+
letterSpacing: "wider",
|
|
12980
|
+
fontWeight: "bold",
|
|
12981
|
+
textSize: "sm"
|
|
12982
|
+
},
|
|
12983
|
+
border: {
|
|
12984
|
+
style: "solid",
|
|
12985
|
+
width: "none",
|
|
12986
|
+
position: "none"
|
|
12987
|
+
},
|
|
12988
|
+
logoText: {
|
|
12989
|
+
hideOnShrink: true,
|
|
12990
|
+
mobileMaxWidth: "sm",
|
|
12991
|
+
mobileWrapLines: 2
|
|
12992
|
+
},
|
|
12281
12993
|
ctaGap: "compact",
|
|
12282
12994
|
ctaTreatment: "inverted",
|
|
12283
12995
|
...ctaVariant ? { ctaVariant } : {}
|
|
@@ -12307,10 +13019,10 @@ function cleanBaseHeader(theme) {
|
|
|
12307
13019
|
ctaGap: "default"
|
|
12308
13020
|
};
|
|
12309
13021
|
}
|
|
12310
|
-
function
|
|
13022
|
+
function serifLineHeader(theme) {
|
|
12311
13023
|
return {
|
|
12312
13024
|
...baseHeader(theme),
|
|
12313
|
-
variant: "
|
|
13025
|
+
variant: "centered",
|
|
12314
13026
|
positioning: "sticky",
|
|
12315
13027
|
shrinkOnScroll: false,
|
|
12316
13028
|
background: {
|
|
@@ -12457,6 +13169,11 @@ var headerLookCatalog = [
|
|
|
12457
13169
|
label: "Clean base",
|
|
12458
13170
|
visualTreatment: "solid-neutral",
|
|
12459
13171
|
layoutBehavior: "sticky",
|
|
13172
|
+
configuration: {
|
|
13173
|
+
structure: "inline-classic",
|
|
13174
|
+
treatment: "solid-neutral",
|
|
13175
|
+
behavior: "sticky"
|
|
13176
|
+
},
|
|
12460
13177
|
openingRequirement: "none",
|
|
12461
13178
|
compile: cleanBaseHeader
|
|
12462
13179
|
},
|
|
@@ -12465,23 +13182,38 @@ var headerLookCatalog = [
|
|
|
12465
13182
|
label: "Brand solid",
|
|
12466
13183
|
visualTreatment: "solid-brand",
|
|
12467
13184
|
layoutBehavior: "sticky-shrink",
|
|
13185
|
+
configuration: {
|
|
13186
|
+
structure: "inline-classic",
|
|
13187
|
+
treatment: "solid-brand",
|
|
13188
|
+
behavior: "sticky-shrink"
|
|
13189
|
+
},
|
|
12468
13190
|
openingRequirement: "none",
|
|
12469
13191
|
compile: solidBrandHeader
|
|
12470
13192
|
},
|
|
12471
13193
|
{
|
|
12472
|
-
id: asHeaderLookId("
|
|
12473
|
-
label: "
|
|
12474
|
-
visualTreatment: "light-
|
|
13194
|
+
id: asHeaderLookId("serif-line"),
|
|
13195
|
+
label: "Serif line",
|
|
13196
|
+
visualTreatment: "light-serif",
|
|
12475
13197
|
layoutBehavior: "sticky",
|
|
13198
|
+
configuration: {
|
|
13199
|
+
structure: "centered-stack",
|
|
13200
|
+
treatment: "light-serif",
|
|
13201
|
+
behavior: "sticky"
|
|
13202
|
+
},
|
|
12476
13203
|
openingRequirement: "none",
|
|
12477
13204
|
maxRecommendedNavItems: 6,
|
|
12478
|
-
compile:
|
|
13205
|
+
compile: serifLineHeader
|
|
12479
13206
|
},
|
|
12480
13207
|
{
|
|
12481
13208
|
id: asHeaderLookId("centered-calm"),
|
|
12482
13209
|
label: "Centered calm",
|
|
12483
|
-
visualTreatment: "light-
|
|
13210
|
+
visualTreatment: "light-serif",
|
|
12484
13211
|
layoutBehavior: "normal-flow",
|
|
13212
|
+
configuration: {
|
|
13213
|
+
structure: "centered-stack",
|
|
13214
|
+
treatment: "light-serif",
|
|
13215
|
+
behavior: "normal-flow"
|
|
13216
|
+
},
|
|
12485
13217
|
openingRequirement: "none",
|
|
12486
13218
|
maxRecommendedNavItems: 5,
|
|
12487
13219
|
allowedLogoShapes: ["none", "text-only", "horizontal", "square"],
|
|
@@ -12492,6 +13224,11 @@ var headerLookCatalog = [
|
|
|
12492
13224
|
label: "Practical utility",
|
|
12493
13225
|
visualTreatment: "solid-neutral",
|
|
12494
13226
|
layoutBehavior: "sticky-shrink",
|
|
13227
|
+
configuration: {
|
|
13228
|
+
structure: "inline-classic",
|
|
13229
|
+
treatment: "solid-neutral",
|
|
13230
|
+
behavior: "sticky-shrink"
|
|
13231
|
+
},
|
|
12495
13232
|
openingRequirement: "none",
|
|
12496
13233
|
requiresProminentCta: true,
|
|
12497
13234
|
compile: practicalUtilityHeader
|
|
@@ -12501,6 +13238,11 @@ var headerLookCatalog = [
|
|
|
12501
13238
|
label: "Minimal transparent",
|
|
12502
13239
|
visualTreatment: "minimal-transparent",
|
|
12503
13240
|
layoutBehavior: "normal-flow",
|
|
13241
|
+
configuration: {
|
|
13242
|
+
structure: "inline-classic",
|
|
13243
|
+
treatment: "minimal-transparent",
|
|
13244
|
+
behavior: "normal-flow"
|
|
13245
|
+
},
|
|
12504
13246
|
openingRequirement: "reserved-space-ok",
|
|
12505
13247
|
compile: minimalTransparentHeader
|
|
12506
13248
|
},
|
|
@@ -12509,6 +13251,11 @@ var headerLookCatalog = [
|
|
|
12509
13251
|
label: "Transparent overlay",
|
|
12510
13252
|
visualTreatment: "transparent-overlay",
|
|
12511
13253
|
layoutBehavior: "fixed-overlay",
|
|
13254
|
+
configuration: {
|
|
13255
|
+
structure: "inline-classic",
|
|
13256
|
+
treatment: "transparent-overlay",
|
|
13257
|
+
behavior: "fixed-overlay"
|
|
13258
|
+
},
|
|
12512
13259
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
12513
13260
|
maxRecommendedNavItems: 5,
|
|
12514
13261
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -12519,6 +13266,11 @@ var headerLookCatalog = [
|
|
|
12519
13266
|
label: "Floating glass",
|
|
12520
13267
|
visualTreatment: "floating-glass",
|
|
12521
13268
|
layoutBehavior: "fixed-floating",
|
|
13269
|
+
configuration: {
|
|
13270
|
+
structure: "floating-shell",
|
|
13271
|
+
treatment: "floating-glass",
|
|
13272
|
+
behavior: "fixed-floating"
|
|
13273
|
+
},
|
|
12522
13274
|
openingRequirement: "requires-image-hero-with-contrast-overlay",
|
|
12523
13275
|
maxRecommendedNavItems: 5,
|
|
12524
13276
|
allowedLogoShapes: ["none", "text-only", "horizontal"],
|
|
@@ -12526,9 +13278,17 @@ var headerLookCatalog = [
|
|
|
12526
13278
|
}
|
|
12527
13279
|
];
|
|
12528
13280
|
var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
|
|
13281
|
+
var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
|
|
13282
|
+
var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
|
|
13283
|
+
var allowedHeaderConfigurationKeys = new Set(
|
|
13284
|
+
headerLookCatalog.map((look) => headerConfigurationKey(look.configuration))
|
|
13285
|
+
);
|
|
12529
13286
|
var headerLooksById = new Map(
|
|
12530
13287
|
headerLookCatalog.map((look) => [look.id, look])
|
|
12531
13288
|
);
|
|
13289
|
+
function headerConfigurationKey(configuration) {
|
|
13290
|
+
return `${configuration.structure}:${configuration.treatment}:${configuration.behavior}`;
|
|
13291
|
+
}
|
|
12532
13292
|
|
|
12533
13293
|
// ../theme-core/src/site-styles/footerLooks.ts
|
|
12534
13294
|
function asFooterLookId(value) {
|
|
@@ -12661,6 +13421,264 @@ var advancedDesignOptionCatalog = {
|
|
|
12661
13421
|
detachedCustom: true
|
|
12662
13422
|
};
|
|
12663
13423
|
|
|
13424
|
+
// ../theme-core/src/site-styles/typographyPresets.ts
|
|
13425
|
+
var bodyReadablePolicy = {
|
|
13426
|
+
recommendedCategories: ["sans-serif", "serif"],
|
|
13427
|
+
allowedCategories: ["sans-serif", "serif"],
|
|
13428
|
+
requiresItalicForBody: true,
|
|
13429
|
+
requiresBoldForBody: true
|
|
13430
|
+
};
|
|
13431
|
+
var headingFlexiblePolicy = {
|
|
13432
|
+
recommendedCategories: ["sans-serif", "serif", "display"],
|
|
13433
|
+
allowedCategories: ["sans-serif", "serif", "display"]
|
|
13434
|
+
};
|
|
13435
|
+
var displayHeadingPolicy = {
|
|
13436
|
+
recommendedCategories: ["display", "sans-serif", "serif"],
|
|
13437
|
+
allowedCategories: ["display", "sans-serif", "serif"]
|
|
13438
|
+
};
|
|
13439
|
+
function asTypographyPresetId(value) {
|
|
13440
|
+
if (!value.startsWith("typography-preset:")) {
|
|
13441
|
+
throw new Error(`TypographyPresetId must start with "typography-preset:". Received: ${value}`);
|
|
13442
|
+
}
|
|
13443
|
+
return value;
|
|
13444
|
+
}
|
|
13445
|
+
function defineTypographyPreset(preset2) {
|
|
13446
|
+
return {
|
|
13447
|
+
...preset2,
|
|
13448
|
+
id: asTypographyPresetId(preset2.id)
|
|
13449
|
+
};
|
|
13450
|
+
}
|
|
13451
|
+
var modernSansTypography = {
|
|
13452
|
+
body: {
|
|
13453
|
+
family: "Inter, system-ui, sans-serif",
|
|
13454
|
+
size: "md",
|
|
13455
|
+
weight: "regular",
|
|
13456
|
+
lineHeight: "relaxed",
|
|
13457
|
+
letterSpacing: "normal"
|
|
13458
|
+
},
|
|
13459
|
+
headings: {
|
|
13460
|
+
default: {
|
|
13461
|
+
family: "Inter, system-ui, sans-serif",
|
|
13462
|
+
weight: "semibold",
|
|
13463
|
+
lineHeight: "normal",
|
|
13464
|
+
letterSpacing: "tight",
|
|
13465
|
+
italic: null,
|
|
13466
|
+
case: null
|
|
13467
|
+
},
|
|
13468
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
13469
|
+
h2: { size: "lg", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
13470
|
+
h3: { size: "md", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
13471
|
+
},
|
|
13472
|
+
scale: "balanced"
|
|
13473
|
+
};
|
|
13474
|
+
var warmRoundedTypography = {
|
|
13475
|
+
body: {
|
|
13476
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
13477
|
+
size: "lg",
|
|
13478
|
+
weight: "regular",
|
|
13479
|
+
lineHeight: "relaxed",
|
|
13480
|
+
letterSpacing: "normal"
|
|
13481
|
+
},
|
|
13482
|
+
headings: {
|
|
13483
|
+
default: {
|
|
13484
|
+
family: "Nunito Sans, system-ui, sans-serif",
|
|
13485
|
+
weight: "bold",
|
|
13486
|
+
lineHeight: "normal",
|
|
13487
|
+
letterSpacing: "normal",
|
|
13488
|
+
italic: null,
|
|
13489
|
+
case: null
|
|
13490
|
+
},
|
|
13491
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
13492
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
13493
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
13494
|
+
},
|
|
13495
|
+
scale: "balanced"
|
|
13496
|
+
};
|
|
13497
|
+
var editorialSerifTypography = {
|
|
13498
|
+
body: {
|
|
13499
|
+
family: "Lora, Georgia, serif",
|
|
13500
|
+
size: "lg",
|
|
13501
|
+
weight: "regular",
|
|
13502
|
+
lineHeight: "loose",
|
|
13503
|
+
letterSpacing: "normal"
|
|
13504
|
+
},
|
|
13505
|
+
headings: {
|
|
13506
|
+
default: {
|
|
13507
|
+
family: "Playfair Display, Georgia, serif",
|
|
13508
|
+
weight: "semibold",
|
|
13509
|
+
lineHeight: "normal",
|
|
13510
|
+
letterSpacing: "tight",
|
|
13511
|
+
italic: null,
|
|
13512
|
+
case: null
|
|
13513
|
+
},
|
|
13514
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
13515
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
13516
|
+
h3: { size: "md", weight: "semibold", lineHeight: "relaxed", letterSpacing: "normal", italic: true }
|
|
13517
|
+
},
|
|
13518
|
+
scale: "spacious"
|
|
13519
|
+
};
|
|
13520
|
+
var classicSerifTypography = {
|
|
13521
|
+
body: {
|
|
13522
|
+
family: "Libre Baskerville, Georgia, serif",
|
|
13523
|
+
size: "md",
|
|
13524
|
+
weight: "regular",
|
|
13525
|
+
lineHeight: "relaxed",
|
|
13526
|
+
letterSpacing: "normal"
|
|
13527
|
+
},
|
|
13528
|
+
headings: {
|
|
13529
|
+
default: {
|
|
13530
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
13531
|
+
weight: "semibold",
|
|
13532
|
+
lineHeight: "normal",
|
|
13533
|
+
letterSpacing: "normal",
|
|
13534
|
+
italic: null,
|
|
13535
|
+
case: null
|
|
13536
|
+
},
|
|
13537
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
13538
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
13539
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
13540
|
+
},
|
|
13541
|
+
scale: "balanced"
|
|
13542
|
+
};
|
|
13543
|
+
var luxeContrastTypography = {
|
|
13544
|
+
body: {
|
|
13545
|
+
family: "Manrope, system-ui, sans-serif",
|
|
13546
|
+
size: "md",
|
|
13547
|
+
weight: "regular",
|
|
13548
|
+
lineHeight: "relaxed",
|
|
13549
|
+
letterSpacing: "normal"
|
|
13550
|
+
},
|
|
13551
|
+
headings: {
|
|
13552
|
+
default: {
|
|
13553
|
+
family: "Cormorant Garamond, Georgia, serif",
|
|
13554
|
+
weight: "semibold",
|
|
13555
|
+
lineHeight: "normal",
|
|
13556
|
+
letterSpacing: "tight",
|
|
13557
|
+
italic: null,
|
|
13558
|
+
case: null
|
|
13559
|
+
},
|
|
13560
|
+
h1: { size: "2xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
13561
|
+
h2: { size: "xl", weight: "semibold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
13562
|
+
h3: { size: "md", weight: "medium", lineHeight: "relaxed", letterSpacing: "normal", italic: null }
|
|
13563
|
+
},
|
|
13564
|
+
scale: "spacious"
|
|
13565
|
+
};
|
|
13566
|
+
var boldDisplayTypography = {
|
|
13567
|
+
body: {
|
|
13568
|
+
family: "Manrope, system-ui, sans-serif",
|
|
13569
|
+
size: "lg",
|
|
13570
|
+
weight: "regular",
|
|
13571
|
+
lineHeight: "relaxed",
|
|
13572
|
+
letterSpacing: "normal"
|
|
13573
|
+
},
|
|
13574
|
+
headings: {
|
|
13575
|
+
default: {
|
|
13576
|
+
family: '"TAN - PEARL", sans-serif',
|
|
13577
|
+
weight: "bold",
|
|
13578
|
+
lineHeight: "normal",
|
|
13579
|
+
letterSpacing: "tight",
|
|
13580
|
+
colorToken: "primary",
|
|
13581
|
+
italic: null,
|
|
13582
|
+
case: null
|
|
13583
|
+
},
|
|
13584
|
+
h1: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
|
|
13585
|
+
h2: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null },
|
|
13586
|
+
h3: { size: "md", weight: "bold", lineHeight: "normal", letterSpacing: "normal", italic: null }
|
|
13587
|
+
},
|
|
13588
|
+
scale: "balanced"
|
|
13589
|
+
};
|
|
13590
|
+
var typographyPresets = [
|
|
13591
|
+
defineTypographyPreset({
|
|
13592
|
+
id: "typography-preset:modern-sans",
|
|
13593
|
+
name: "Modern Sans",
|
|
13594
|
+
description: "Crisp, neutral type for clear service pages and practical editorial structure.",
|
|
13595
|
+
defaultFonts: { body: "Inter, system-ui, sans-serif", heading: "Inter, system-ui, sans-serif" },
|
|
13596
|
+
recommendedFonts: {
|
|
13597
|
+
body: ["Inter", "Source Sans 3", "IBM Plex Sans"],
|
|
13598
|
+
heading: ["Inter", "Manrope", "Source Sans 3"]
|
|
13599
|
+
},
|
|
13600
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
13601
|
+
typography: modernSansTypography
|
|
13602
|
+
}),
|
|
13603
|
+
defineTypographyPreset({
|
|
13604
|
+
id: "typography-preset:warm-rounded",
|
|
13605
|
+
name: "Warm Rounded",
|
|
13606
|
+
description: "Soft, friendly type for welcoming studios, classes, and community businesses.",
|
|
13607
|
+
defaultFonts: { body: "Nunito Sans, system-ui, sans-serif", heading: "Nunito Sans, system-ui, sans-serif" },
|
|
13608
|
+
recommendedFonts: {
|
|
13609
|
+
body: ["Nunito Sans", "Atkinson Hyperlegible", "Lato"],
|
|
13610
|
+
heading: ["Nunito Sans", "Quicksand", "Manrope"]
|
|
13611
|
+
},
|
|
13612
|
+
slotPolicies: { body: bodyReadablePolicy, heading: headingFlexiblePolicy },
|
|
13613
|
+
typography: warmRoundedTypography
|
|
13614
|
+
}),
|
|
13615
|
+
defineTypographyPreset({
|
|
13616
|
+
id: "typography-preset:editorial-serif",
|
|
13617
|
+
name: "Editorial Serif",
|
|
13618
|
+
description: "Story-led type with warm reading rhythm and expressive headings.",
|
|
13619
|
+
defaultFonts: { body: "Lora, Georgia, serif", heading: "Playfair Display, Georgia, serif" },
|
|
13620
|
+
recommendedFonts: {
|
|
13621
|
+
body: ["Lora", "Source Serif 4", "Libre Baskerville"],
|
|
13622
|
+
heading: ["Playfair Display", "Cormorant Garamond", "Fraunces"]
|
|
13623
|
+
},
|
|
13624
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
13625
|
+
typography: editorialSerifTypography
|
|
13626
|
+
}),
|
|
13627
|
+
defineTypographyPreset({
|
|
13628
|
+
id: "typography-preset:classic-serif",
|
|
13629
|
+
name: "Classic Serif",
|
|
13630
|
+
description: "Measured, polished type for premium and established offers.",
|
|
13631
|
+
defaultFonts: { body: "Libre Baskerville, Georgia, serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
13632
|
+
recommendedFonts: {
|
|
13633
|
+
body: ["Libre Baskerville", "Source Serif 4", "Lora"],
|
|
13634
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Libre Baskerville"]
|
|
13635
|
+
},
|
|
13636
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
13637
|
+
typography: classicSerifTypography
|
|
13638
|
+
}),
|
|
13639
|
+
defineTypographyPreset({
|
|
13640
|
+
id: "typography-preset:luxe-contrast",
|
|
13641
|
+
name: "Luxe Contrast",
|
|
13642
|
+
description: "A restrained sans body paired with elegant high-contrast headings.",
|
|
13643
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: "Cormorant Garamond, Georgia, serif" },
|
|
13644
|
+
recommendedFonts: {
|
|
13645
|
+
body: ["Manrope", "Inter", "Source Sans 3"],
|
|
13646
|
+
heading: ["Cormorant Garamond", "Playfair Display", "Bodoni Moda"]
|
|
13647
|
+
},
|
|
13648
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
13649
|
+
typography: luxeContrastTypography
|
|
13650
|
+
}),
|
|
13651
|
+
defineTypographyPreset({
|
|
13652
|
+
id: "typography-preset:bold-display",
|
|
13653
|
+
name: "Bold Display",
|
|
13654
|
+
description: "Punchy display headings with readable sans body copy for branded launches.",
|
|
13655
|
+
defaultFonts: { body: "Manrope, system-ui, sans-serif", heading: '"TAN - PEARL", sans-serif' },
|
|
13656
|
+
recommendedFonts: {
|
|
13657
|
+
body: ["Manrope", "Inter", "Space Grotesk"],
|
|
13658
|
+
heading: ["Anton", "Bebas Neue", "Archivo Black"]
|
|
13659
|
+
},
|
|
13660
|
+
slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
|
|
13661
|
+
typography: boldDisplayTypography,
|
|
13662
|
+
heroTypography: {
|
|
13663
|
+
headlineSize: "6xl",
|
|
13664
|
+
headlineLineHeight: "tight",
|
|
13665
|
+
subheadlineSize: "editorial",
|
|
13666
|
+
subheadlineLineHeight: "normal",
|
|
13667
|
+
microHeadlineSize: "6xl",
|
|
13668
|
+
microHeadlineLineHeight: "tight",
|
|
13669
|
+
microSubheadlineSize: "xl",
|
|
13670
|
+
microSubheadlineLineHeight: "normal",
|
|
13671
|
+
responsive: {
|
|
13672
|
+
tablet: { headlineSize: "5xl" },
|
|
13673
|
+
mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
|
|
13674
|
+
}
|
|
13675
|
+
}
|
|
13676
|
+
})
|
|
13677
|
+
];
|
|
13678
|
+
var typographyPresetsById = new Map(
|
|
13679
|
+
typographyPresets.map((preset2) => [preset2.id, preset2])
|
|
13680
|
+
);
|
|
13681
|
+
|
|
12664
13682
|
// ../theme-core/src/site-styles/curatedSiteStyles.ts
|
|
12665
13683
|
var curatedSiteStyleIdValues = [
|
|
12666
13684
|
"site-style:calm-studio",
|
|
@@ -12673,6 +13691,7 @@ var curatedSiteStyleIdValues = [
|
|
|
12673
13691
|
"site-style:personal-retreat-journal",
|
|
12674
13692
|
"site-style:tactile-workshop",
|
|
12675
13693
|
"site-style:modern-wellness",
|
|
13694
|
+
"site-style:soft-earth",
|
|
12676
13695
|
"site-style:bold-launch",
|
|
12677
13696
|
"site-style:south-west-twerk-school"
|
|
12678
13697
|
];
|
|
@@ -12738,26 +13757,45 @@ var expressiveUnderlineInputs = {
|
|
|
12738
13757
|
}
|
|
12739
13758
|
};
|
|
12740
13759
|
function uniqueContentFrameKinds() {
|
|
12741
|
-
const kinds = [
|
|
12742
|
-
|
|
12743
|
-
|
|
13760
|
+
const kinds = [
|
|
13761
|
+
...new Set(
|
|
13762
|
+
generatedDesignOptionCatalog.contentFrames.map((frame) => frame.kind)
|
|
13763
|
+
)
|
|
13764
|
+
];
|
|
12744
13765
|
const firstKind = kinds[0];
|
|
12745
13766
|
if (!firstKind) {
|
|
12746
|
-
throw new Error(
|
|
13767
|
+
throw new Error(
|
|
13768
|
+
"Expected generated design option catalog to expose at least one content frame kind."
|
|
13769
|
+
);
|
|
12747
13770
|
}
|
|
12748
13771
|
return [firstKind, ...kinds.slice(1)];
|
|
12749
13772
|
}
|
|
12750
13773
|
var generatedContentFrameKinds = uniqueContentFrameKinds();
|
|
12751
13774
|
function defineCuratedSiteStyle(input) {
|
|
13775
|
+
const legacyHeaderLookIds = input.recommendedHeaderLookIds ?? ["clean-base"];
|
|
13776
|
+
const inferredHeaderCuration = inferHeaderCurationFromLegacyLooks(legacyHeaderLookIds);
|
|
13777
|
+
const typographyPresetChoices = input.typographyPresetChoices ?? defaultTypographyPresetChoicesForRecipe(input.tokenRecipes.typography);
|
|
13778
|
+
const defaultTypographyPresetId = input.defaultTypographyPresetId ? asTypographyPresetId(input.defaultTypographyPresetId) : typographyPresetChoices[0].id;
|
|
13779
|
+
if (!typographyPresetChoices.some(
|
|
13780
|
+
(choice) => choice.id === defaultTypographyPresetId
|
|
13781
|
+
)) {
|
|
13782
|
+
throw new Error(
|
|
13783
|
+
`Default typography preset ${defaultTypographyPresetId} is not curated for site style ${input.id}.`
|
|
13784
|
+
);
|
|
13785
|
+
}
|
|
12752
13786
|
return {
|
|
12753
13787
|
id: asSiteStyleId(input.id),
|
|
12754
13788
|
name: input.name,
|
|
12755
13789
|
description: input.description,
|
|
12756
13790
|
generationBrief: input.generationBrief,
|
|
12757
13791
|
selectionKeywordRules: input.selectionKeywordRules ?? [],
|
|
12758
|
-
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
13792
|
+
siteCreatorSelection: input.siteCreatorSelection ?? {
|
|
13793
|
+
kind: "explicit_only"
|
|
13794
|
+
},
|
|
12759
13795
|
template: {
|
|
12760
|
-
id: asDesignSystemTemplateId(
|
|
13796
|
+
id: asDesignSystemTemplateId(
|
|
13797
|
+
`template:${input.id.replace("site-style:", "")}`
|
|
13798
|
+
),
|
|
12761
13799
|
name: input.name,
|
|
12762
13800
|
version: 1,
|
|
12763
13801
|
tokenRecipes: input.tokenRecipes,
|
|
@@ -12769,11 +13807,27 @@ function defineCuratedSiteStyle(input) {
|
|
|
12769
13807
|
},
|
|
12770
13808
|
...input.themeOverrides ? { themeOverrides: input.themeOverrides } : {},
|
|
12771
13809
|
recommendedAppearancePresetIds: (input.recommendedAppearancePresetIds ?? []).map(asAppearancePresetId),
|
|
12772
|
-
|
|
13810
|
+
defaultHeaderSelection: input.defaultHeaderSelection ? {
|
|
13811
|
+
layoutId: asHeaderLayoutId(input.defaultHeaderSelection.layoutId),
|
|
13812
|
+
styleId: asHeaderStyleId(input.defaultHeaderSelection.styleId)
|
|
13813
|
+
} : inferredHeaderCuration.defaultHeaderSelection,
|
|
13814
|
+
recommendedHeaderLayoutChoices: input.recommendedHeaderLayoutChoices ?? inferredHeaderCuration.recommendedHeaderLayoutChoices,
|
|
13815
|
+
recommendedHeaderStyleChoicesByLayout: input.recommendedHeaderStyleChoicesByLayout ?? inferredHeaderCuration.recommendedHeaderStyleChoicesByLayout,
|
|
13816
|
+
discouragedHeaderSelections: input.discouragedHeaderSelections?.map(
|
|
13817
|
+
(selection) => ({
|
|
13818
|
+
layoutId: asHeaderLayoutId(selection.layoutId),
|
|
13819
|
+
styleId: asHeaderStyleId(selection.styleId)
|
|
13820
|
+
})
|
|
13821
|
+
),
|
|
13822
|
+
recommendedHeaderLookIds: legacyHeaderLookIds.map(asHeaderLookId),
|
|
12773
13823
|
// Empty is intentional: resolveFooterLook always appends its guaranteed fallback.
|
|
12774
|
-
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
13824
|
+
recommendedFooterLookIds: (input.recommendedFooterLookIds ?? []).map(
|
|
13825
|
+
asFooterLookId
|
|
13826
|
+
),
|
|
12775
13827
|
buttonPersonalityChoices: input.buttonPersonalityChoices,
|
|
12776
|
-
paletteVariantChoices: input.paletteVariantChoices
|
|
13828
|
+
paletteVariantChoices: input.paletteVariantChoices,
|
|
13829
|
+
typographyPresetChoices,
|
|
13830
|
+
defaultTypographyPresetId
|
|
12777
13831
|
};
|
|
12778
13832
|
}
|
|
12779
13833
|
function buttonChoice(id, note) {
|
|
@@ -12782,6 +13836,87 @@ function buttonChoice(id, note) {
|
|
|
12782
13836
|
function paletteChoice(id, note) {
|
|
12783
13837
|
return note ? { id: asPaletteVariantId(id), note } : { id: asPaletteVariantId(id) };
|
|
12784
13838
|
}
|
|
13839
|
+
function headerLayoutChoice(id, note) {
|
|
13840
|
+
return note ? { id: asHeaderLayoutId(id), note } : { id: asHeaderLayoutId(id) };
|
|
13841
|
+
}
|
|
13842
|
+
function headerStyleChoice(id, note) {
|
|
13843
|
+
return note ? { id: asHeaderStyleId(id), note } : { id: asHeaderStyleId(id) };
|
|
13844
|
+
}
|
|
13845
|
+
function unbrandHeaderLayoutId(id) {
|
|
13846
|
+
return id;
|
|
13847
|
+
}
|
|
13848
|
+
function uniqueHeaderLayoutChoices(choices) {
|
|
13849
|
+
const seen = /* @__PURE__ */ new Set();
|
|
13850
|
+
const unique = choices.filter((choice) => {
|
|
13851
|
+
if (seen.has(choice.id)) return false;
|
|
13852
|
+
seen.add(choice.id);
|
|
13853
|
+
return true;
|
|
13854
|
+
});
|
|
13855
|
+
const first = unique[0];
|
|
13856
|
+
if (!first) {
|
|
13857
|
+
throw new Error("Expected at least one curated header layout choice.");
|
|
13858
|
+
}
|
|
13859
|
+
return [first, ...unique.slice(1)];
|
|
13860
|
+
}
|
|
13861
|
+
function nonEmptyHeaderStyleChoices(choices, fallbackLayoutId) {
|
|
13862
|
+
const first = choices[0] ?? {
|
|
13863
|
+
id: getCompatibleHeaderStyleIds(fallbackLayoutId)[0] ?? asHeaderStyleId("minimal")
|
|
13864
|
+
};
|
|
13865
|
+
return [first, ...choices.slice(1)];
|
|
13866
|
+
}
|
|
13867
|
+
function inferHeaderCurationFromLegacyLooks(lookIds) {
|
|
13868
|
+
const selections = lookIds.map((lookId) => resolveLegacyHeaderLookAlias(asHeaderLookId(lookId))).filter(
|
|
13869
|
+
(selection) => Boolean(selection)
|
|
13870
|
+
);
|
|
13871
|
+
const defaultHeaderSelection = selections[0] ?? {
|
|
13872
|
+
layoutId: asHeaderLayoutId("classic"),
|
|
13873
|
+
styleId: asHeaderStyleId("minimal")
|
|
13874
|
+
};
|
|
13875
|
+
const layoutChoices = uniqueHeaderLayoutChoices(
|
|
13876
|
+
selections.map((selection) => headerLayoutChoice(selection.layoutId))
|
|
13877
|
+
);
|
|
13878
|
+
const stylesByLayout = {};
|
|
13879
|
+
for (const layoutChoice of layoutChoices) {
|
|
13880
|
+
const styleChoices = selections.filter((selection) => selection.layoutId === layoutChoice.id).map((selection) => headerStyleChoice(selection.styleId));
|
|
13881
|
+
stylesByLayout[unbrandHeaderLayoutId(layoutChoice.id)] = nonEmptyHeaderStyleChoices(styleChoices, layoutChoice.id);
|
|
13882
|
+
}
|
|
13883
|
+
return {
|
|
13884
|
+
defaultHeaderSelection,
|
|
13885
|
+
recommendedHeaderLayoutChoices: layoutChoices,
|
|
13886
|
+
recommendedHeaderStyleChoicesByLayout: stylesByLayout
|
|
13887
|
+
};
|
|
13888
|
+
}
|
|
13889
|
+
function typographyChoice(id, note) {
|
|
13890
|
+
return note ? { id: asTypographyPresetId(id), note } : { id: asTypographyPresetId(id) };
|
|
13891
|
+
}
|
|
13892
|
+
function defaultTypographyPresetChoicesForRecipe(recipe) {
|
|
13893
|
+
switch (recipe) {
|
|
13894
|
+
case "clean-sans":
|
|
13895
|
+
return [
|
|
13896
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
13897
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
13898
|
+
typographyChoice("typography-preset:bold-display")
|
|
13899
|
+
];
|
|
13900
|
+
case "friendly-sans":
|
|
13901
|
+
return [
|
|
13902
|
+
typographyChoice("typography-preset:warm-rounded"),
|
|
13903
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
13904
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
13905
|
+
];
|
|
13906
|
+
case "serif-editorial":
|
|
13907
|
+
return [
|
|
13908
|
+
typographyChoice("typography-preset:editorial-serif"),
|
|
13909
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
13910
|
+
typographyChoice("typography-preset:warm-rounded")
|
|
13911
|
+
];
|
|
13912
|
+
case "classic-serif":
|
|
13913
|
+
return [
|
|
13914
|
+
typographyChoice("typography-preset:classic-serif"),
|
|
13915
|
+
typographyChoice("typography-preset:luxe-contrast"),
|
|
13916
|
+
typographyChoice("typography-preset:editorial-serif")
|
|
13917
|
+
];
|
|
13918
|
+
}
|
|
13919
|
+
}
|
|
12785
13920
|
var curatedSiteStyles = [
|
|
12786
13921
|
defineCuratedSiteStyle({
|
|
12787
13922
|
id: "site-style:calm-studio",
|
|
@@ -12798,7 +13933,11 @@ var curatedSiteStyles = [
|
|
|
12798
13933
|
motion: "subtle"
|
|
12799
13934
|
},
|
|
12800
13935
|
compositionBudget: quietBudget,
|
|
12801
|
-
recommendedHeaderLookIds: [
|
|
13936
|
+
recommendedHeaderLookIds: [
|
|
13937
|
+
"centered-calm",
|
|
13938
|
+
"minimal-transparent",
|
|
13939
|
+
"clean-base"
|
|
13940
|
+
],
|
|
12802
13941
|
buttonPersonalityChoices: [
|
|
12803
13942
|
buttonChoice("soft-pill"),
|
|
12804
13943
|
buttonChoice("pebble"),
|
|
@@ -12827,7 +13966,11 @@ var curatedSiteStyles = [
|
|
|
12827
13966
|
motion: "subtle"
|
|
12828
13967
|
},
|
|
12829
13968
|
compositionBudget: balancedBudget,
|
|
12830
|
-
recommendedHeaderLookIds: [
|
|
13969
|
+
recommendedHeaderLookIds: [
|
|
13970
|
+
"practical-utility",
|
|
13971
|
+
"brand-solid",
|
|
13972
|
+
"clean-base"
|
|
13973
|
+
],
|
|
12831
13974
|
buttonPersonalityChoices: [
|
|
12832
13975
|
buttonChoice("confident-chip"),
|
|
12833
13976
|
buttonChoice("soft-pill"),
|
|
@@ -12854,7 +13997,11 @@ var curatedSiteStyles = [
|
|
|
12854
13997
|
motion: "subtle"
|
|
12855
13998
|
},
|
|
12856
13999
|
compositionBudget: balancedBudget,
|
|
12857
|
-
recommendedHeaderLookIds: [
|
|
14000
|
+
recommendedHeaderLookIds: [
|
|
14001
|
+
"serif-line",
|
|
14002
|
+
"minimal-transparent",
|
|
14003
|
+
"centered-calm"
|
|
14004
|
+
],
|
|
12858
14005
|
buttonPersonalityChoices: [
|
|
12859
14006
|
buttonChoice("editorial-link"),
|
|
12860
14007
|
buttonChoice("soft-pill"),
|
|
@@ -12882,7 +14029,11 @@ var curatedSiteStyles = [
|
|
|
12882
14029
|
motion: "expressive"
|
|
12883
14030
|
},
|
|
12884
14031
|
compositionBudget: balancedBudget,
|
|
12885
|
-
recommendedHeaderLookIds: [
|
|
14032
|
+
recommendedHeaderLookIds: [
|
|
14033
|
+
"brand-solid",
|
|
14034
|
+
"practical-utility",
|
|
14035
|
+
"clean-base"
|
|
14036
|
+
],
|
|
12886
14037
|
buttonPersonalityChoices: [
|
|
12887
14038
|
buttonChoice("pebble"),
|
|
12888
14039
|
buttonChoice("brushed-wash"),
|
|
@@ -12899,7 +14050,10 @@ var curatedSiteStyles = [
|
|
|
12899
14050
|
name: "Quiet Luxury",
|
|
12900
14051
|
description: "Minimal, confident, and refined for premium experiences and private services.",
|
|
12901
14052
|
generationBrief: "Use fewer claims, more specificity, and restrained sensory detail. Favor elegant media and low repetition over dense panels.",
|
|
12902
|
-
siteCreatorSelection: {
|
|
14053
|
+
siteCreatorSelection: {
|
|
14054
|
+
kind: "site_creator_keyword_heuristic",
|
|
14055
|
+
priority: 20
|
|
14056
|
+
},
|
|
12903
14057
|
selectionKeywordRules: [
|
|
12904
14058
|
{ kind: "word", value: "luxury" },
|
|
12905
14059
|
{ kind: "word", value: "premium" },
|
|
@@ -12917,7 +14071,11 @@ var curatedSiteStyles = [
|
|
|
12917
14071
|
motion: "none"
|
|
12918
14072
|
},
|
|
12919
14073
|
compositionBudget: quietBudget,
|
|
12920
|
-
recommendedHeaderLookIds: [
|
|
14074
|
+
recommendedHeaderLookIds: [
|
|
14075
|
+
"minimal-transparent",
|
|
14076
|
+
"serif-line",
|
|
14077
|
+
"clean-base"
|
|
14078
|
+
],
|
|
12921
14079
|
buttonPersonalityChoices: [
|
|
12922
14080
|
buttonChoice("editorial-link"),
|
|
12923
14081
|
buttonChoice("confident-chip"),
|
|
@@ -12953,7 +14111,11 @@ var curatedSiteStyles = [
|
|
|
12953
14111
|
motion: "none"
|
|
12954
14112
|
},
|
|
12955
14113
|
compositionBudget: quietBudget,
|
|
12956
|
-
recommendedHeaderLookIds: [
|
|
14114
|
+
recommendedHeaderLookIds: [
|
|
14115
|
+
"practical-utility",
|
|
14116
|
+
"brand-solid",
|
|
14117
|
+
"clean-base"
|
|
14118
|
+
],
|
|
12957
14119
|
buttonPersonalityChoices: [
|
|
12958
14120
|
buttonChoice("confident-chip"),
|
|
12959
14121
|
buttonChoice("pebble"),
|
|
@@ -12980,7 +14142,11 @@ var curatedSiteStyles = [
|
|
|
12980
14142
|
motion: "subtle"
|
|
12981
14143
|
},
|
|
12982
14144
|
compositionBudget: balancedBudget,
|
|
12983
|
-
recommendedHeaderLookIds: [
|
|
14145
|
+
recommendedHeaderLookIds: [
|
|
14146
|
+
"centered-calm",
|
|
14147
|
+
"minimal-transparent",
|
|
14148
|
+
"clean-base"
|
|
14149
|
+
],
|
|
12984
14150
|
buttonPersonalityChoices: [
|
|
12985
14151
|
buttonChoice("soft-pill"),
|
|
12986
14152
|
buttonChoice("pebble"),
|
|
@@ -12997,7 +14163,10 @@ var curatedSiteStyles = [
|
|
|
12997
14163
|
name: "Quiet Practice",
|
|
12998
14164
|
description: "Grounded, calm, and practical for small appointment-first practices.",
|
|
12999
14165
|
generationBrief: "Make services, practitioner trust, preparation notes, and booking routes easy to scan. Keep the tone warm and specific, with quiet confidence rather than spa cliches or medical claims.",
|
|
13000
|
-
siteCreatorSelection: {
|
|
14166
|
+
siteCreatorSelection: {
|
|
14167
|
+
kind: "site_creator_keyword_heuristic",
|
|
14168
|
+
priority: 30
|
|
14169
|
+
},
|
|
13001
14170
|
selectionKeywordRules: [
|
|
13002
14171
|
{ kind: "substring", value: "massage" },
|
|
13003
14172
|
{ kind: "word", value: "bodywork" },
|
|
@@ -13018,7 +14187,11 @@ var curatedSiteStyles = [
|
|
|
13018
14187
|
motion: "subtle"
|
|
13019
14188
|
},
|
|
13020
14189
|
compositionBudget: quietBudget,
|
|
13021
|
-
recommendedHeaderLookIds: [
|
|
14190
|
+
recommendedHeaderLookIds: [
|
|
14191
|
+
"practical-utility",
|
|
14192
|
+
"clean-base",
|
|
14193
|
+
"centered-calm"
|
|
14194
|
+
],
|
|
13022
14195
|
buttonPersonalityChoices: [
|
|
13023
14196
|
buttonChoice("pebble"),
|
|
13024
14197
|
buttonChoice("soft-pill"),
|
|
@@ -13035,7 +14208,10 @@ var curatedSiteStyles = [
|
|
|
13035
14208
|
name: "Personal Retreat Journal",
|
|
13036
14209
|
description: "Warm, story-led, and readable for solo practitioners with mixed offers.",
|
|
13037
14210
|
generationBrief: "Center the practitioner as the guide, then make private sessions, classes, retreats, and resources feel like clear pathways. Keep retreat copy grounded and practical, with enough editorial warmth for longer reading.",
|
|
13038
|
-
siteCreatorSelection: {
|
|
14211
|
+
siteCreatorSelection: {
|
|
14212
|
+
kind: "site_creator_keyword_heuristic",
|
|
14213
|
+
priority: 40
|
|
14214
|
+
},
|
|
13039
14215
|
selectionKeywordRules: [
|
|
13040
14216
|
{ kind: "substring", value: "retreat" },
|
|
13041
14217
|
{ kind: "phrase", value: "solo practitioner" },
|
|
@@ -13055,7 +14231,11 @@ var curatedSiteStyles = [
|
|
|
13055
14231
|
motion: "subtle"
|
|
13056
14232
|
},
|
|
13057
14233
|
compositionBudget: balancedBudget,
|
|
13058
|
-
recommendedHeaderLookIds: [
|
|
14234
|
+
recommendedHeaderLookIds: [
|
|
14235
|
+
"serif-line",
|
|
14236
|
+
"centered-calm",
|
|
14237
|
+
"minimal-transparent"
|
|
14238
|
+
],
|
|
13059
14239
|
buttonPersonalityChoices: [
|
|
13060
14240
|
buttonChoice("editorial-link"),
|
|
13061
14241
|
buttonChoice("soft-pill"),
|
|
@@ -13072,7 +14252,10 @@ var curatedSiteStyles = [
|
|
|
13072
14252
|
name: "Tactile Workshop",
|
|
13073
14253
|
description: "Bright, hands-on, and image-led for maker studios, workshops, and creative classes.",
|
|
13074
14254
|
generationBrief: "Lead with objects, materials, studio process, and practical booking detail. Keep the tone warm and direct, with useful mess, clear dates, and enough gallery rhythm to feel like a real creative studio.",
|
|
13075
|
-
siteCreatorSelection: {
|
|
14255
|
+
siteCreatorSelection: {
|
|
14256
|
+
kind: "site_creator_keyword_heuristic",
|
|
14257
|
+
priority: 50
|
|
14258
|
+
},
|
|
13076
14259
|
selectionKeywordRules: [
|
|
13077
14260
|
{ kind: "substring", value: "ceramic" },
|
|
13078
14261
|
{ kind: "word", value: "pottery" },
|
|
@@ -13092,8 +14275,15 @@ var curatedSiteStyles = [
|
|
|
13092
14275
|
motion: "subtle"
|
|
13093
14276
|
},
|
|
13094
14277
|
compositionBudget: balancedBudget,
|
|
13095
|
-
recommendedHeaderLookIds: [
|
|
13096
|
-
|
|
14278
|
+
recommendedHeaderLookIds: [
|
|
14279
|
+
"brand-solid",
|
|
14280
|
+
"practical-utility",
|
|
14281
|
+
"clean-base"
|
|
14282
|
+
],
|
|
14283
|
+
recommendedFooterLookIds: [
|
|
14284
|
+
"site-footer-brand-two-band",
|
|
14285
|
+
"footer-muted-grounding"
|
|
14286
|
+
],
|
|
13097
14287
|
buttonPersonalityChoices: [
|
|
13098
14288
|
buttonChoice("pebble"),
|
|
13099
14289
|
buttonChoice("confident-chip"),
|
|
@@ -13108,101 +14298,178 @@ var curatedSiteStyles = [
|
|
|
13108
14298
|
]
|
|
13109
14299
|
}),
|
|
13110
14300
|
defineCuratedSiteStyle({
|
|
13111
|
-
id: "site-style:
|
|
13112
|
-
name: "
|
|
13113
|
-
description: "
|
|
13114
|
-
generationBrief: "Use
|
|
13115
|
-
siteCreatorSelection: {
|
|
13116
|
-
|
|
13117
|
-
|
|
13118
|
-
{ kind: "substring", value: "campaign" },
|
|
13119
|
-
{ kind: "word", value: "preorder" },
|
|
13120
|
-
{ kind: "phrase", value: "pre-order" },
|
|
13121
|
-
{ kind: "substring", value: "waitlist" },
|
|
13122
|
-
{ kind: "word", value: "drop" }
|
|
13123
|
-
],
|
|
13124
|
-
tokenRecipes: {
|
|
13125
|
-
palette: "high-contrast",
|
|
13126
|
-
contrast: "maximum",
|
|
13127
|
-
radius: "pill",
|
|
13128
|
-
shadow: "layered",
|
|
13129
|
-
typography: "clean-sans",
|
|
13130
|
-
spacing: "regular",
|
|
13131
|
-
motion: "expressive"
|
|
14301
|
+
id: "site-style:soft-earth",
|
|
14302
|
+
name: "Soft Earth",
|
|
14303
|
+
description: "Warm, grounded, and editorial for yoga studios, retreats, and wellbeing communities.",
|
|
14304
|
+
generationBrief: "Use cream space, terracotta CTAs, olive proof bands, natural imagery, generous but composed spacing, and editorial serif headings. Prefer a real intro section, image-led offering cards, warm community proof, and a simple two-column FAQ when content allows.",
|
|
14305
|
+
siteCreatorSelection: {
|
|
14306
|
+
kind: "site_creator_keyword_heuristic",
|
|
14307
|
+
priority: 45
|
|
13132
14308
|
},
|
|
13133
|
-
|
|
13134
|
-
|
|
13135
|
-
|
|
13136
|
-
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
buttonChoice("pebble")
|
|
14309
|
+
selectionKeywordRules: [
|
|
14310
|
+
{ kind: "word", value: "meditation" },
|
|
14311
|
+
{ kind: "word", value: "wellbeing" },
|
|
14312
|
+
{ kind: "substring", value: "retreat" },
|
|
14313
|
+
{ kind: "phrase", value: "yoga studio" },
|
|
14314
|
+
{ kind: "phrase", value: "mindful movement" }
|
|
13140
14315
|
],
|
|
13141
|
-
paletteVariantChoices: [
|
|
13142
|
-
paletteChoice("high-contrast-monochrome"),
|
|
13143
|
-
paletteChoice("high-contrast-ink"),
|
|
13144
|
-
paletteChoice("brand-led-jewel"),
|
|
13145
|
-
paletteChoice("brand-led-warm")
|
|
13146
|
-
]
|
|
13147
|
-
}),
|
|
13148
|
-
defineCuratedSiteStyle({
|
|
13149
|
-
id: "site-style:south-west-twerk-school",
|
|
13150
|
-
name: "South West Twerk School",
|
|
13151
|
-
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
13152
|
-
generationBrief: "Use confident rhythm, bold burgundy-and-gold accents, large editorial intro copy, strong booking routes, and dark feature sections where proof or forms need emphasis.",
|
|
13153
14316
|
tokenRecipes: {
|
|
13154
|
-
palette: "
|
|
13155
|
-
contrast: "
|
|
14317
|
+
palette: "warm-neutral",
|
|
14318
|
+
contrast: "standard",
|
|
13156
14319
|
radius: "soft",
|
|
13157
|
-
shadow: "
|
|
13158
|
-
typography: "
|
|
14320
|
+
shadow: "subtle",
|
|
14321
|
+
typography: "serif-editorial",
|
|
13159
14322
|
spacing: "airy",
|
|
13160
|
-
motion: "
|
|
14323
|
+
motion: "subtle"
|
|
13161
14324
|
},
|
|
13162
|
-
compositionBudget:
|
|
14325
|
+
compositionBudget: balancedBudget,
|
|
13163
14326
|
themeOverrides: {
|
|
13164
14327
|
typography: {
|
|
13165
14328
|
body: {
|
|
13166
|
-
family: "
|
|
13167
|
-
size: "
|
|
14329
|
+
family: "Inter, system-ui, sans-serif",
|
|
14330
|
+
size: "md",
|
|
13168
14331
|
weight: "regular",
|
|
13169
14332
|
lineHeight: "relaxed",
|
|
13170
14333
|
letterSpacing: "normal"
|
|
13171
14334
|
},
|
|
13172
14335
|
headings: {
|
|
13173
14336
|
default: {
|
|
13174
|
-
family: '"
|
|
13175
|
-
weight: "
|
|
14337
|
+
family: '"Cormorant Garamond", Georgia, serif',
|
|
14338
|
+
weight: "regular",
|
|
13176
14339
|
lineHeight: "normal",
|
|
13177
|
-
letterSpacing: "
|
|
13178
|
-
colorToken: "
|
|
14340
|
+
letterSpacing: "normal",
|
|
14341
|
+
colorToken: "text",
|
|
13179
14342
|
italic: null,
|
|
13180
14343
|
case: null
|
|
13181
14344
|
},
|
|
13182
14345
|
h1: {
|
|
13183
14346
|
size: "xl",
|
|
13184
|
-
weight: "
|
|
14347
|
+
weight: "regular",
|
|
13185
14348
|
lineHeight: "normal",
|
|
13186
|
-
letterSpacing: "
|
|
14349
|
+
letterSpacing: "normal",
|
|
13187
14350
|
italic: null
|
|
13188
14351
|
},
|
|
13189
14352
|
h2: {
|
|
13190
14353
|
size: "lg",
|
|
13191
|
-
weight: "
|
|
14354
|
+
weight: "regular",
|
|
13192
14355
|
lineHeight: "normal",
|
|
13193
14356
|
letterSpacing: "normal",
|
|
13194
14357
|
italic: null
|
|
13195
14358
|
},
|
|
13196
14359
|
h3: {
|
|
13197
14360
|
size: "md",
|
|
13198
|
-
weight: "
|
|
14361
|
+
weight: "regular",
|
|
13199
14362
|
lineHeight: "normal",
|
|
13200
14363
|
letterSpacing: "normal",
|
|
13201
14364
|
italic: null
|
|
13202
14365
|
}
|
|
13203
14366
|
},
|
|
13204
|
-
scale: "
|
|
14367
|
+
scale: "majorThird"
|
|
13205
14368
|
},
|
|
14369
|
+
bodyText: {
|
|
14370
|
+
intro: {
|
|
14371
|
+
paragraphSize: "default",
|
|
14372
|
+
headingSize: "editorial"
|
|
14373
|
+
}
|
|
14374
|
+
}
|
|
14375
|
+
},
|
|
14376
|
+
recommendedAppearancePresetIds: [
|
|
14377
|
+
"hero-brand-scrim",
|
|
14378
|
+
"intro-soft-earth-statement",
|
|
14379
|
+
"feature-cards-soft-earth-offerings",
|
|
14380
|
+
"testimonials-soft-earth-proof-band",
|
|
14381
|
+
"faq-soft-earth-two-column",
|
|
14382
|
+
"contact-form-panel"
|
|
14383
|
+
],
|
|
14384
|
+
recommendedHeaderLookIds: [
|
|
14385
|
+
"centered-calm",
|
|
14386
|
+
"minimal-transparent",
|
|
14387
|
+
"serif-line"
|
|
14388
|
+
],
|
|
14389
|
+
recommendedFooterLookIds: [
|
|
14390
|
+
"footer-muted-grounding",
|
|
14391
|
+
"site-footer-brand-two-band"
|
|
14392
|
+
],
|
|
14393
|
+
buttonPersonalityChoices: [
|
|
14394
|
+
buttonChoice("earth-pill"),
|
|
14395
|
+
buttonChoice("soft-pill"),
|
|
14396
|
+
buttonChoice("pebble"),
|
|
14397
|
+
buttonChoice("editorial-link")
|
|
14398
|
+
],
|
|
14399
|
+
paletteVariantChoices: [
|
|
14400
|
+
paletteChoice("warm-neutral-soft-earth"),
|
|
14401
|
+
paletteChoice("warm-neutral-clay"),
|
|
14402
|
+
paletteChoice("warm-neutral-forest"),
|
|
14403
|
+
paletteChoice("soft-natural-sage")
|
|
14404
|
+
]
|
|
14405
|
+
}),
|
|
14406
|
+
defineCuratedSiteStyle({
|
|
14407
|
+
id: "site-style:bold-launch",
|
|
14408
|
+
name: "Bold Launch",
|
|
14409
|
+
description: "High-energy and punchy for launches, campaigns, and creative offers.",
|
|
14410
|
+
generationBrief: "Use crisp positioning, bold hero structure, strong calls to action, and confident visual rhythm. Keep it precise, not shouty.",
|
|
14411
|
+
siteCreatorSelection: {
|
|
14412
|
+
kind: "site_creator_keyword_heuristic",
|
|
14413
|
+
priority: 10
|
|
14414
|
+
},
|
|
14415
|
+
selectionKeywordRules: [
|
|
14416
|
+
{ kind: "substring", value: "launch" },
|
|
14417
|
+
{ kind: "substring", value: "campaign" },
|
|
14418
|
+
{ kind: "word", value: "preorder" },
|
|
14419
|
+
{ kind: "phrase", value: "pre-order" },
|
|
14420
|
+
{ kind: "substring", value: "waitlist" },
|
|
14421
|
+
{ kind: "word", value: "drop" }
|
|
14422
|
+
],
|
|
14423
|
+
tokenRecipes: {
|
|
14424
|
+
palette: "high-contrast",
|
|
14425
|
+
contrast: "maximum",
|
|
14426
|
+
radius: "pill",
|
|
14427
|
+
shadow: "layered",
|
|
14428
|
+
typography: "clean-sans",
|
|
14429
|
+
spacing: "regular",
|
|
14430
|
+
motion: "expressive"
|
|
14431
|
+
},
|
|
14432
|
+
compositionBudget: expressiveBudget,
|
|
14433
|
+
recommendedHeaderLookIds: [
|
|
14434
|
+
"transparent-overlay",
|
|
14435
|
+
"floating-glass",
|
|
14436
|
+
"brand-solid"
|
|
14437
|
+
],
|
|
14438
|
+
buttonPersonalityChoices: [
|
|
14439
|
+
buttonChoice("ink-stamp"),
|
|
14440
|
+
buttonChoice("confident-chip"),
|
|
14441
|
+
buttonChoice("brushed-wash"),
|
|
14442
|
+
buttonChoice("pebble")
|
|
14443
|
+
],
|
|
14444
|
+
paletteVariantChoices: [
|
|
14445
|
+
paletteChoice("high-contrast-monochrome"),
|
|
14446
|
+
paletteChoice("high-contrast-ink"),
|
|
14447
|
+
paletteChoice("brand-led-jewel"),
|
|
14448
|
+
paletteChoice("brand-led-warm")
|
|
14449
|
+
]
|
|
14450
|
+
}),
|
|
14451
|
+
defineCuratedSiteStyle({
|
|
14452
|
+
id: "site-style:south-west-twerk-school",
|
|
14453
|
+
name: "South West Twerk School",
|
|
14454
|
+
description: "Energetic, editorial, and high-contrast for a branded dance school presence.",
|
|
14455
|
+
generationBrief: "Use confident rhythm, bold burgundy-and-gold accents, large editorial intro copy, strong booking routes, and dark feature sections where proof or forms need emphasis.",
|
|
14456
|
+
tokenRecipes: {
|
|
14457
|
+
palette: "brand-led",
|
|
14458
|
+
contrast: "maximum",
|
|
14459
|
+
radius: "soft",
|
|
14460
|
+
shadow: "layered",
|
|
14461
|
+
typography: "clean-sans",
|
|
14462
|
+
spacing: "airy",
|
|
14463
|
+
motion: "expressive"
|
|
14464
|
+
},
|
|
14465
|
+
compositionBudget: expressiveBudget,
|
|
14466
|
+
typographyPresetChoices: [
|
|
14467
|
+
typographyChoice("typography-preset:bold-display"),
|
|
14468
|
+
typographyChoice("typography-preset:modern-sans"),
|
|
14469
|
+
typographyChoice("typography-preset:luxe-contrast")
|
|
14470
|
+
],
|
|
14471
|
+
defaultTypographyPresetId: "typography-preset:bold-display",
|
|
14472
|
+
themeOverrides: {
|
|
13206
14473
|
bodyText: {
|
|
13207
14474
|
intro: {
|
|
13208
14475
|
paragraphSize: "editorial",
|
|
@@ -13218,8 +14485,15 @@ var curatedSiteStyles = [
|
|
|
13218
14485
|
"testimonials-accent-quote-proof",
|
|
13219
14486
|
"contact-form-brand-depth-card"
|
|
13220
14487
|
],
|
|
13221
|
-
recommendedHeaderLookIds: [
|
|
13222
|
-
|
|
14488
|
+
recommendedHeaderLookIds: [
|
|
14489
|
+
"brand-solid",
|
|
14490
|
+
"transparent-overlay",
|
|
14491
|
+
"practical-utility"
|
|
14492
|
+
],
|
|
14493
|
+
recommendedFooterLookIds: [
|
|
14494
|
+
"site-footer-brand-two-band",
|
|
14495
|
+
"footer-muted-grounding"
|
|
14496
|
+
],
|
|
13223
14497
|
buttonPersonalityChoices: [
|
|
13224
14498
|
buttonChoice("showtime-pill"),
|
|
13225
14499
|
buttonChoice("confident-chip"),
|
|
@@ -17545,8 +18819,9 @@ var faqAccordionFragment = defineFragment({
|
|
|
17545
18819
|
},
|
|
17546
18820
|
fallback: "rb-faq-item"
|
|
17547
18821
|
},
|
|
17548
|
-
iconStyle: { $bind: { from: "theme.accordions.icon.style" } }
|
|
17549
|
-
//
|
|
18822
|
+
iconStyle: { $bind: { from: "theme.accordions.icon.style" } },
|
|
18823
|
+
// Legacy theme accordion style
|
|
18824
|
+
iconTreatment: { $bind: { from: "content._sectionStyles.accordionIconTreatment" } }
|
|
17550
18825
|
},
|
|
17551
18826
|
triggerFrom: "faqItem.question",
|
|
17552
18827
|
contentFrom: "faqItem.answer"
|
|
@@ -18624,61 +19899,389 @@ function splitLayoutWith(children) {
|
|
|
18624
19899
|
children
|
|
18625
19900
|
}
|
|
18626
19901
|
}),
|
|
18627
|
-
// The split variants render the image as a real grid column, so suppress
|
|
18628
|
-
// the default absolute background image layer while keeping color/overlay.
|
|
18629
|
-
renderBackgroundImage: false,
|
|
18630
|
-
baseClass: ""
|
|
18631
|
-
});
|
|
18632
|
-
}
|
|
18633
|
-
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
18634
|
-
var splitImageColumn = heroSplitImagePane();
|
|
18635
|
-
var splitLayout = splitLayoutWith([
|
|
18636
|
-
splitContentColumn,
|
|
18637
|
-
splitImageColumn
|
|
18638
|
-
]);
|
|
18639
|
-
var splitReverseLayout = splitLayoutWith([
|
|
18640
|
-
splitImageColumn,
|
|
18641
|
-
splitContentColumn
|
|
18642
|
-
]);
|
|
18643
|
-
var heroConfig = {
|
|
18644
|
-
id: "block.hero",
|
|
18645
|
-
title: "Hero",
|
|
18646
|
-
titleSource: "headline",
|
|
18647
|
-
category: "layout",
|
|
18648
|
-
includeContainerStyles: true,
|
|
18649
|
-
promotedFields: ["_sectionStyles.background.image"],
|
|
18650
|
-
fragments: [
|
|
18651
|
-
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
18652
|
-
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
18653
|
-
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
18654
|
-
],
|
|
18655
|
-
additionalFields: [
|
|
18656
|
-
containerStylesField({
|
|
18657
|
-
id: "_contentCardStyles",
|
|
18658
|
-
label: "Content card",
|
|
18659
|
-
renderInHeader: true,
|
|
18660
|
-
intent: "style"
|
|
19902
|
+
// The split variants render the image as a real grid column, so suppress
|
|
19903
|
+
// the default absolute background image layer while keeping color/overlay.
|
|
19904
|
+
renderBackgroundImage: false,
|
|
19905
|
+
baseClass: ""
|
|
19906
|
+
});
|
|
19907
|
+
}
|
|
19908
|
+
var splitContentColumn = heroContentWrapper(heroContentNodes, "md", "rb-w-full rb-text-left");
|
|
19909
|
+
var splitImageColumn = heroSplitImagePane();
|
|
19910
|
+
var splitLayout = splitLayoutWith([
|
|
19911
|
+
splitContentColumn,
|
|
19912
|
+
splitImageColumn
|
|
19913
|
+
]);
|
|
19914
|
+
var splitReverseLayout = splitLayoutWith([
|
|
19915
|
+
splitImageColumn,
|
|
19916
|
+
splitContentColumn
|
|
19917
|
+
]);
|
|
19918
|
+
var heroConfig = {
|
|
19919
|
+
id: "block.hero",
|
|
19920
|
+
title: "Hero",
|
|
19921
|
+
titleSource: "headline",
|
|
19922
|
+
category: "layout",
|
|
19923
|
+
includeContainerStyles: true,
|
|
19924
|
+
promotedFields: ["_sectionStyles.background.image"],
|
|
19925
|
+
fragments: [
|
|
19926
|
+
{ fragment: heroCopyFragment, fieldPriority: 0 },
|
|
19927
|
+
{ fragment: heroLayoutControlsFragment, fieldPriority: 1 },
|
|
19928
|
+
{ fragment: heroCtaRowFragment, fieldPriority: 2 }
|
|
19929
|
+
],
|
|
19930
|
+
additionalFields: [
|
|
19931
|
+
containerStylesField({
|
|
19932
|
+
id: "_contentCardStyles",
|
|
19933
|
+
label: "Content card",
|
|
19934
|
+
renderInHeader: true,
|
|
19935
|
+
intent: "style"
|
|
19936
|
+
})
|
|
19937
|
+
],
|
|
19938
|
+
layout: classicLayout,
|
|
19939
|
+
variants: {
|
|
19940
|
+
classic: classicLayout,
|
|
19941
|
+
micro: microLayout,
|
|
19942
|
+
split: splitLayout,
|
|
19943
|
+
splitReverse: splitReverseLayout
|
|
19944
|
+
},
|
|
19945
|
+
defaultVariant: "classic",
|
|
19946
|
+
description: "Hero section with headline, subtitle, and repeatable CTAs.",
|
|
19947
|
+
tags: ["header", "banner", "landing", "introduction", "welcome", "splash", "headline"],
|
|
19948
|
+
icon: "Sparkles",
|
|
19949
|
+
styleTokens: {
|
|
19950
|
+
typography: "display",
|
|
19951
|
+
spacing: "xl"
|
|
19952
|
+
}
|
|
19953
|
+
};
|
|
19954
|
+
var heroManifest = createBlockManifest(heroConfig);
|
|
19955
|
+
var heroBlockDefinition = {
|
|
19956
|
+
manifest: heroManifest
|
|
19957
|
+
};
|
|
19958
|
+
|
|
19959
|
+
// ../blocks/src/system/fields/aspectRatio.ts
|
|
19960
|
+
var standardAspectRatioOptions = [
|
|
19961
|
+
{ value: "auto", label: "Auto (original)" },
|
|
19962
|
+
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
19963
|
+
{ value: "4/3", label: "4:3 (Standard)" },
|
|
19964
|
+
{ value: "1/1", label: "1:1 (Square)" },
|
|
19965
|
+
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
19966
|
+
];
|
|
19967
|
+
function createAspectRatioField(options = {}) {
|
|
19968
|
+
return {
|
|
19969
|
+
id: options.id ?? "aspectRatio",
|
|
19970
|
+
type: "select",
|
|
19971
|
+
label: options.label ?? "Aspect ratio",
|
|
19972
|
+
...options.description ? { description: options.description } : {},
|
|
19973
|
+
required: false,
|
|
19974
|
+
defaultValue: options.defaultValue ?? "auto",
|
|
19975
|
+
multiple: false,
|
|
19976
|
+
options: [...standardAspectRatioOptions],
|
|
19977
|
+
ui: {
|
|
19978
|
+
intent: options.uiIntent ?? "display",
|
|
19979
|
+
...options.visibleWhen ? { visibleWhen: options.visibleWhen } : {}
|
|
19980
|
+
}
|
|
19981
|
+
};
|
|
19982
|
+
}
|
|
19983
|
+
|
|
19984
|
+
// ../blocks/src/system/fields/imageLayout.ts
|
|
19985
|
+
function createImageColSizeField(options = {}) {
|
|
19986
|
+
const {
|
|
19987
|
+
id = "imageColSize",
|
|
19988
|
+
label = "Image column size",
|
|
19989
|
+
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
19990
|
+
defaultValue = "1/3",
|
|
19991
|
+
uiIntent = "display",
|
|
19992
|
+
visibleWhen
|
|
19993
|
+
} = options;
|
|
19994
|
+
return {
|
|
19995
|
+
id,
|
|
19996
|
+
type: "select",
|
|
19997
|
+
label,
|
|
19998
|
+
description,
|
|
19999
|
+
required: false,
|
|
20000
|
+
defaultValue,
|
|
20001
|
+
multiple: false,
|
|
20002
|
+
options: [
|
|
20003
|
+
{ value: "1/4", label: "Small (1/4)" },
|
|
20004
|
+
{ value: "1/3", label: "Medium (1/3)" },
|
|
20005
|
+
{ value: "2/5", label: "Large (2/5)" },
|
|
20006
|
+
{ value: "1/2", label: "Extra large (1/2)" },
|
|
20007
|
+
{ value: "2/3", label: "Huge (2/3)" }
|
|
20008
|
+
],
|
|
20009
|
+
ui: {
|
|
20010
|
+
intent: uiIntent,
|
|
20011
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
20012
|
+
}
|
|
20013
|
+
};
|
|
20014
|
+
}
|
|
20015
|
+
function createImagePositionField(options = {}) {
|
|
20016
|
+
const {
|
|
20017
|
+
id = "imagePosition",
|
|
20018
|
+
label = "Image position",
|
|
20019
|
+
description = "Choose which side the image appears on.",
|
|
20020
|
+
defaultValue = "left",
|
|
20021
|
+
includeAlternate = false,
|
|
20022
|
+
uiIntent = "display",
|
|
20023
|
+
visibleWhen
|
|
20024
|
+
} = options;
|
|
20025
|
+
const positionOptions = [
|
|
20026
|
+
{ value: "left", label: "Left" },
|
|
20027
|
+
{ value: "right", label: "Right" },
|
|
20028
|
+
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
20029
|
+
];
|
|
20030
|
+
return {
|
|
20031
|
+
id,
|
|
20032
|
+
type: "select",
|
|
20033
|
+
label,
|
|
20034
|
+
description,
|
|
20035
|
+
required: false,
|
|
20036
|
+
defaultValue,
|
|
20037
|
+
multiple: false,
|
|
20038
|
+
// Spread to get a mutable array type without unsafe casts.
|
|
20039
|
+
options: [...positionOptions],
|
|
20040
|
+
ui: {
|
|
20041
|
+
intent: uiIntent,
|
|
20042
|
+
...visibleWhen ? { visibleWhen } : {}
|
|
20043
|
+
}
|
|
20044
|
+
};
|
|
20045
|
+
}
|
|
20046
|
+
|
|
20047
|
+
// ../blocks/src/system/blocks/intro.ts
|
|
20048
|
+
function introHeading(className) {
|
|
20049
|
+
return text(
|
|
20050
|
+
{
|
|
20051
|
+
as: "h2",
|
|
20052
|
+
className
|
|
20053
|
+
},
|
|
20054
|
+
when("content.title"),
|
|
20055
|
+
bind("content.title")
|
|
20056
|
+
);
|
|
20057
|
+
}
|
|
20058
|
+
function introBody(className = "rb-prose rb-max-w-none") {
|
|
20059
|
+
return richText({ className }, bind("content.body"));
|
|
20060
|
+
}
|
|
20061
|
+
function introCtas(justify = "start") {
|
|
20062
|
+
return ctaRow({
|
|
20063
|
+
justify,
|
|
20064
|
+
gap: "md",
|
|
20065
|
+
containerClassName: "rb-mt-2"
|
|
20066
|
+
});
|
|
20067
|
+
}
|
|
20068
|
+
function introCopyStack(options = {}) {
|
|
20069
|
+
return stack(
|
|
20070
|
+
{
|
|
20071
|
+
gap: "md",
|
|
20072
|
+
className: options.className ?? "rb-intro-copy"
|
|
20073
|
+
},
|
|
20074
|
+
[
|
|
20075
|
+
introHeading(options.headingClassName ?? "rb-intro-title"),
|
|
20076
|
+
introBody(options.bodyClassName),
|
|
20077
|
+
introCtas(options.ctaJustify)
|
|
20078
|
+
]
|
|
20079
|
+
);
|
|
20080
|
+
}
|
|
20081
|
+
var introMedia = media(
|
|
20082
|
+
{
|
|
20083
|
+
className: "rb-intro-media rb-w-full rb-h-auto rb-object-cover",
|
|
20084
|
+
style: {
|
|
20085
|
+
aspectRatio: { $bind: { from: "content.aspectRatio" } }
|
|
20086
|
+
}
|
|
20087
|
+
},
|
|
20088
|
+
bind("content.media")
|
|
20089
|
+
);
|
|
20090
|
+
var centeredCopyLayout = styledSection({
|
|
20091
|
+
children: styledContainer({
|
|
20092
|
+
rootType: "stack",
|
|
20093
|
+
rootProps: { gap: "lg" },
|
|
20094
|
+
children: [
|
|
20095
|
+
introCopyStack({
|
|
20096
|
+
className: "rb-intro-copy rb-mx-auto rb-max-w-3xl rb-text-center",
|
|
20097
|
+
headingClassName: "rb-intro-title rb-text-center",
|
|
20098
|
+
bodyClassName: "rb-prose rb-mx-auto rb-max-w-none",
|
|
20099
|
+
ctaJustify: "center"
|
|
20100
|
+
})
|
|
20101
|
+
]
|
|
20102
|
+
}),
|
|
20103
|
+
baseClass: "",
|
|
20104
|
+
spacing: "medium"
|
|
20105
|
+
});
|
|
20106
|
+
var statementCopyLayout = styledSection({
|
|
20107
|
+
children: styledContainer({
|
|
20108
|
+
children: [
|
|
20109
|
+
el(
|
|
20110
|
+
"div",
|
|
20111
|
+
{
|
|
20112
|
+
className: "rb-intro rb-intro-statement rb-grid rb-grid-cols-1 rb-gap-8 rb-md-grid-cols-2 rb-md-items-start"
|
|
20113
|
+
},
|
|
20114
|
+
[
|
|
20115
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
20116
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
20117
|
+
introBody(),
|
|
20118
|
+
introCtas("start")
|
|
20119
|
+
])
|
|
20120
|
+
]
|
|
20121
|
+
)
|
|
20122
|
+
]
|
|
20123
|
+
}),
|
|
20124
|
+
baseClass: "",
|
|
20125
|
+
spacing: "medium"
|
|
20126
|
+
});
|
|
20127
|
+
var statementMediaLayout = styledSection({
|
|
20128
|
+
children: styledContainer({
|
|
20129
|
+
children: [
|
|
20130
|
+
el(
|
|
20131
|
+
"div",
|
|
20132
|
+
{
|
|
20133
|
+
className: "rb-intro rb-intro-statement-media rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-3 rb-lg-items-center"
|
|
20134
|
+
},
|
|
20135
|
+
[
|
|
20136
|
+
introHeading("rb-intro-title rb-max-w-xl"),
|
|
20137
|
+
stack({ gap: "md", className: "rb-intro-copy rb-max-w-xl" }, [
|
|
20138
|
+
introBody(),
|
|
20139
|
+
introCtas("start")
|
|
20140
|
+
]),
|
|
20141
|
+
el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia], when("content.media"))
|
|
20142
|
+
]
|
|
20143
|
+
)
|
|
20144
|
+
]
|
|
20145
|
+
}),
|
|
20146
|
+
baseClass: "",
|
|
20147
|
+
spacing: "medium"
|
|
20148
|
+
});
|
|
20149
|
+
var mediaCopyLayout = styledSection({
|
|
20150
|
+
children: styledContainer({
|
|
20151
|
+
children: [
|
|
20152
|
+
responsiveTwoColumn({
|
|
20153
|
+
image: el("div", { className: "rb-intro-media-wrap rb-w-full" }, [introMedia]),
|
|
20154
|
+
text: introCopyStack({
|
|
20155
|
+
className: "rb-intro-copy rb-max-w-xl",
|
|
20156
|
+
headingClassName: "rb-intro-title"
|
|
20157
|
+
}),
|
|
20158
|
+
ratioFrom: "content.ratio",
|
|
20159
|
+
imagePositionFrom: "content.imagePosition",
|
|
20160
|
+
gapFrom: "content.gap",
|
|
20161
|
+
gapFallback: "comfortable",
|
|
20162
|
+
imageWrapperClassName: "rb-w-full rb-shrink-0",
|
|
20163
|
+
textWrapperClassName: "rb-w-full rb-min-w-0 rb-flex-1 rb-self-center"
|
|
20164
|
+
})
|
|
20165
|
+
]
|
|
20166
|
+
}),
|
|
20167
|
+
baseClass: "",
|
|
20168
|
+
spacing: "medium"
|
|
20169
|
+
});
|
|
20170
|
+
var introConfig = {
|
|
20171
|
+
id: "block.intro",
|
|
20172
|
+
title: "Intro",
|
|
20173
|
+
category: "layout",
|
|
20174
|
+
includeContainerStyles: true,
|
|
20175
|
+
titleSource: "title",
|
|
20176
|
+
additionalFields: [
|
|
20177
|
+
{
|
|
20178
|
+
id: "title",
|
|
20179
|
+
type: "text",
|
|
20180
|
+
label: "Statement",
|
|
20181
|
+
required: false,
|
|
20182
|
+
multiline: true,
|
|
20183
|
+
maxLength: 160
|
|
20184
|
+
},
|
|
20185
|
+
{
|
|
20186
|
+
id: "body",
|
|
20187
|
+
type: "richText",
|
|
20188
|
+
label: "Text",
|
|
20189
|
+
required: true,
|
|
20190
|
+
ui: {
|
|
20191
|
+
richTextVariant: "limited"
|
|
20192
|
+
}
|
|
20193
|
+
},
|
|
20194
|
+
{
|
|
20195
|
+
id: "media",
|
|
20196
|
+
type: "media",
|
|
20197
|
+
label: "Media",
|
|
20198
|
+
required: false,
|
|
20199
|
+
mediaKinds: ["image"],
|
|
20200
|
+
ui: {
|
|
20201
|
+
intent: "content",
|
|
20202
|
+
visibleWhen: { field: "variant", notEquals: "statement-copy" }
|
|
20203
|
+
}
|
|
20204
|
+
},
|
|
20205
|
+
createImagePositionField({
|
|
20206
|
+
id: "imagePosition",
|
|
20207
|
+
label: "Image position",
|
|
20208
|
+
defaultValue: "left",
|
|
20209
|
+
uiIntent: "display",
|
|
20210
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
20211
|
+
}),
|
|
20212
|
+
{
|
|
20213
|
+
id: "gap",
|
|
20214
|
+
type: "select",
|
|
20215
|
+
label: "Gap between media and text",
|
|
20216
|
+
required: false,
|
|
20217
|
+
defaultValue: "comfortable",
|
|
20218
|
+
multiple: false,
|
|
20219
|
+
options: [
|
|
20220
|
+
{ value: "none", label: "None" },
|
|
20221
|
+
{ value: "compact", label: "Compact" },
|
|
20222
|
+
{ value: "cozy", label: "Cozy" },
|
|
20223
|
+
{ value: "medium", label: "Medium" },
|
|
20224
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
20225
|
+
{ value: "spacious", label: "Spacious" }
|
|
20226
|
+
],
|
|
20227
|
+
ui: {
|
|
20228
|
+
intent: "display",
|
|
20229
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
20230
|
+
}
|
|
20231
|
+
},
|
|
20232
|
+
createImageColSizeField({
|
|
20233
|
+
id: "ratio",
|
|
20234
|
+
label: "Media column size",
|
|
20235
|
+
defaultValue: "1/2",
|
|
20236
|
+
uiIntent: "display",
|
|
20237
|
+
visibleWhen: { field: "variant", equals: "media-copy" }
|
|
20238
|
+
}),
|
|
20239
|
+
createAspectRatioField({
|
|
20240
|
+
id: "aspectRatio",
|
|
20241
|
+
label: "Media aspect ratio",
|
|
20242
|
+
description: "Crop media to a consistent aspect ratio.",
|
|
20243
|
+
defaultValue: "auto",
|
|
20244
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
20245
|
+
}),
|
|
20246
|
+
createCtasRepeater({
|
|
20247
|
+
label: "Calls to action",
|
|
20248
|
+
itemLabel: "CTA",
|
|
20249
|
+
maxItems: 2
|
|
18661
20250
|
})
|
|
18662
20251
|
],
|
|
18663
|
-
layout:
|
|
20252
|
+
layout: centeredCopyLayout,
|
|
18664
20253
|
variants: {
|
|
18665
|
-
|
|
18666
|
-
|
|
18667
|
-
|
|
18668
|
-
|
|
20254
|
+
"centered-copy": centeredCopyLayout,
|
|
20255
|
+
"statement-copy": statementCopyLayout,
|
|
20256
|
+
"statement-media": statementMediaLayout,
|
|
20257
|
+
"media-copy": mediaCopyLayout
|
|
18669
20258
|
},
|
|
18670
|
-
defaultVariant: "
|
|
18671
|
-
|
|
18672
|
-
|
|
18673
|
-
|
|
18674
|
-
|
|
18675
|
-
|
|
18676
|
-
|
|
18677
|
-
|
|
20259
|
+
defaultVariant: "statement-copy",
|
|
20260
|
+
variantOptions: {
|
|
20261
|
+
"centered-copy": {
|
|
20262
|
+
label: "Centered copy",
|
|
20263
|
+
description: "A focused intro with centered text and optional calls to action."
|
|
20264
|
+
},
|
|
20265
|
+
"statement-copy": {
|
|
20266
|
+
label: "Statement and copy",
|
|
20267
|
+
description: "A large statement on the left with supporting copy on the right."
|
|
20268
|
+
},
|
|
20269
|
+
"statement-media": {
|
|
20270
|
+
label: "Statement, copy and media",
|
|
20271
|
+
description: "A three-part intro with statement, copy and a small image."
|
|
20272
|
+
},
|
|
20273
|
+
"media-copy": {
|
|
20274
|
+
label: "Media and copy",
|
|
20275
|
+
description: "A compact media/text intro for softer transitions after a hero."
|
|
20276
|
+
}
|
|
20277
|
+
},
|
|
20278
|
+
description: "A flexible introductory section for statement copy, supporting text, media, and CTAs.",
|
|
20279
|
+
tags: ["intro", "introduction", "about", "welcome", "statement", "media", "text"],
|
|
20280
|
+
icon: "PanelTopOpen"
|
|
18678
20281
|
};
|
|
18679
|
-
var
|
|
18680
|
-
var
|
|
18681
|
-
manifest:
|
|
20282
|
+
var introManifest = createBlockManifest(introConfig);
|
|
20283
|
+
var introBlockDefinition = {
|
|
20284
|
+
manifest: introManifest
|
|
18682
20285
|
};
|
|
18683
20286
|
|
|
18684
20287
|
// ../blocks/src/system/blocks/body-text.ts
|
|
@@ -19524,6 +21127,37 @@ var faqComposition = composeFragments([
|
|
|
19524
21127
|
{ fragment: faqHeadingFragment, fieldPriority: 0 },
|
|
19525
21128
|
{ fragment: faqAccordionFragment, fieldPriority: 1 }
|
|
19526
21129
|
]);
|
|
21130
|
+
function fragmentLayoutNode(layout) {
|
|
21131
|
+
return isNodeDefinitionArray(layout) ? el("div", {}, [...layout]) : layout;
|
|
21132
|
+
}
|
|
21133
|
+
function isNodeDefinitionArray(layout) {
|
|
21134
|
+
return Array.isArray(layout);
|
|
21135
|
+
}
|
|
21136
|
+
var headingLayout = fragmentLayoutNode(faqHeadingFragment.layout);
|
|
21137
|
+
var accordionLayout = fragmentLayoutNode(faqAccordionFragment.layout);
|
|
21138
|
+
var defaultLayout = styledSection({
|
|
21139
|
+
children: styledContainer({
|
|
21140
|
+
baseClassName: "rb-relative rb-isolate",
|
|
21141
|
+
children: stack({ gap: "xl", className: "rb-w-full rb-max-w-4xl rb-mx-auto" }, faqComposition.layout)
|
|
21142
|
+
}),
|
|
21143
|
+
baseClass: ""
|
|
21144
|
+
});
|
|
21145
|
+
var twoColumnLayout = styledSection({
|
|
21146
|
+
children: styledContainer({
|
|
21147
|
+
baseClassName: "rb-relative rb-isolate",
|
|
21148
|
+
children: el(
|
|
21149
|
+
"div",
|
|
21150
|
+
{
|
|
21151
|
+
className: "rb-faq-two-column rb-grid rb-grid-cols-1 rb-gap-8 rb-lg-grid-cols-2 rb-lg-items-start"
|
|
21152
|
+
},
|
|
21153
|
+
[
|
|
21154
|
+
el("div", { className: "rb-faq-two-column-heading" }, [headingLayout]),
|
|
21155
|
+
el("div", { className: "rb-faq-two-column-accordion" }, [accordionLayout])
|
|
21156
|
+
]
|
|
21157
|
+
)
|
|
21158
|
+
}),
|
|
21159
|
+
baseClass: ""
|
|
21160
|
+
});
|
|
19527
21161
|
var faqManifest = createBlockManifest({
|
|
19528
21162
|
id: "block.faq",
|
|
19529
21163
|
title: "FAQ",
|
|
@@ -19540,13 +21174,22 @@ var faqManifest = createBlockManifest({
|
|
|
19540
21174
|
label: "FAQ item styles"
|
|
19541
21175
|
})
|
|
19542
21176
|
],
|
|
19543
|
-
layout:
|
|
19544
|
-
|
|
19545
|
-
|
|
19546
|
-
|
|
19547
|
-
|
|
19548
|
-
|
|
19549
|
-
|
|
21177
|
+
layout: defaultLayout,
|
|
21178
|
+
variants: {
|
|
21179
|
+
default: defaultLayout,
|
|
21180
|
+
"two-column": twoColumnLayout
|
|
21181
|
+
},
|
|
21182
|
+
defaultVariant: "default",
|
|
21183
|
+
variantOptions: {
|
|
21184
|
+
default: {
|
|
21185
|
+
label: "Default",
|
|
21186
|
+
description: "A centered heading above one FAQ accordion."
|
|
21187
|
+
},
|
|
21188
|
+
"two-column": {
|
|
21189
|
+
label: "Two column",
|
|
21190
|
+
description: "A left heading column with FAQ items on the right."
|
|
21191
|
+
}
|
|
21192
|
+
},
|
|
19550
21193
|
description: "Accordion of frequently asked questions and answers.",
|
|
19551
21194
|
tags: ["faq", "questions", "answers", "help", "support", "accordion", "q&a"],
|
|
19552
21195
|
icon: "HelpCircle"
|
|
@@ -20196,7 +21839,8 @@ function resolveBackgroundVisualStyles(backgroundColor, tokens, defaultToken = "
|
|
|
20196
21839
|
function resolveHeaderVisualStyles(header, tokens) {
|
|
20197
21840
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
20198
21841
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
20199
|
-
|
|
21842
|
+
const hasTransparentVariant = header?.variant === "transparent" || header?.variant === "floating";
|
|
21843
|
+
if (hasContainedNav || hasTransparentVariant) {
|
|
20200
21844
|
return {
|
|
20201
21845
|
backgroundToken: "transparent",
|
|
20202
21846
|
paletteHex: null,
|
|
@@ -20254,10 +21898,7 @@ var headerRootClassTransform = {
|
|
|
20254
21898
|
const navContainerType = header?.navContainer?.type ?? "none";
|
|
20255
21899
|
const hasContainedNav = navContainerType === "glass" || navContainerType === "pill";
|
|
20256
21900
|
const backgroundClass = visuals.isTransparent || hasContainedNav ? "rb-bg-transparent" : null;
|
|
20257
|
-
const classes = [
|
|
20258
|
-
config.base,
|
|
20259
|
-
backgroundClass
|
|
20260
|
-
];
|
|
21901
|
+
const classes = [config.base, backgroundClass];
|
|
20261
21902
|
if (!hasContainedNav) {
|
|
20262
21903
|
if (config.blur) classes.push(config.blur);
|
|
20263
21904
|
if (config.blurSupport) classes.push(config.blurSupport);
|
|
@@ -20272,7 +21913,12 @@ var headerRootClassTransform = {
|
|
|
20272
21913
|
if (shrinkOnScroll && (positioning === "sticky" || positioning === "fixed")) {
|
|
20273
21914
|
classes.push(config.shrink);
|
|
20274
21915
|
}
|
|
20275
|
-
const VALID_VARIANTS = [
|
|
21916
|
+
const VALID_VARIANTS = [
|
|
21917
|
+
"classic",
|
|
21918
|
+
"centered",
|
|
21919
|
+
"transparent",
|
|
21920
|
+
"floating"
|
|
21921
|
+
];
|
|
20276
21922
|
const variant = header?.variant;
|
|
20277
21923
|
if (variant && VALID_VARIANTS.includes(variant)) {
|
|
20278
21924
|
classes.push(`header-variant-${variant}`);
|
|
@@ -20325,6 +21971,17 @@ var headerRootStyleTransform = {
|
|
|
20325
21971
|
return mergeStyles(...styleParts);
|
|
20326
21972
|
}
|
|
20327
21973
|
};
|
|
21974
|
+
var headerSectionBackgroundTransform = {
|
|
21975
|
+
id: "layout.headerSectionBackground",
|
|
21976
|
+
kind: "string",
|
|
21977
|
+
summary: "Resolve the inner site-header section background token",
|
|
21978
|
+
run: (value) => {
|
|
21979
|
+
const header = asPartialObject(value);
|
|
21980
|
+
const navContainerType = header?.navContainer?.type ?? "none";
|
|
21981
|
+
const usesTransparentRoot = header?.variant === "transparent" || header?.variant === "floating" || navContainerType === "glass" || navContainerType === "pill";
|
|
21982
|
+
return usesTransparentRoot ? "raw:transparent" : "background";
|
|
21983
|
+
}
|
|
21984
|
+
};
|
|
20328
21985
|
var footerRootStyleTransform = {
|
|
20329
21986
|
id: "layout.footerRootStyle",
|
|
20330
21987
|
kind: "formatter",
|
|
@@ -20583,6 +22240,7 @@ var layoutTransforms = [
|
|
|
20583
22240
|
headerRootClassTransform,
|
|
20584
22241
|
footerRootClassTransform,
|
|
20585
22242
|
headerRootStyleTransform,
|
|
22243
|
+
headerSectionBackgroundTransform,
|
|
20586
22244
|
footerRootStyleTransform,
|
|
20587
22245
|
footerBottomBarClassTransform,
|
|
20588
22246
|
footerBottomBarContainerClassTransform,
|
|
@@ -20881,15 +22539,21 @@ var mobileCta = ctaButton({
|
|
|
20881
22539
|
var mobileToggleIcon = stack({ gap: "xs", className: "nav-mobile-icon" }, [
|
|
20882
22540
|
{
|
|
20883
22541
|
type: "div",
|
|
20884
|
-
props: {
|
|
22542
|
+
props: {
|
|
22543
|
+
className: "nav-mobile-bar nav-mobile-bar-top rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
22544
|
+
}
|
|
20885
22545
|
},
|
|
20886
22546
|
{
|
|
20887
22547
|
type: "div",
|
|
20888
|
-
props: {
|
|
22548
|
+
props: {
|
|
22549
|
+
className: "nav-mobile-bar nav-mobile-bar-middle rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
22550
|
+
}
|
|
20889
22551
|
},
|
|
20890
22552
|
{
|
|
20891
22553
|
type: "div",
|
|
20892
|
-
props: {
|
|
22554
|
+
props: {
|
|
22555
|
+
className: "nav-mobile-bar nav-mobile-bar-bottom rb-h-0.5 rb-w-5 rb-rounded-full rb-bg-current"
|
|
22556
|
+
}
|
|
20893
22557
|
}
|
|
20894
22558
|
]);
|
|
20895
22559
|
var mobileToggleButton = {
|
|
@@ -21072,31 +22736,12 @@ var floatingLayout = inline(
|
|
|
21072
22736
|
],
|
|
21073
22737
|
when("$root.theme.header.variant", { equals: "floating" })
|
|
21074
22738
|
);
|
|
21075
|
-
var editorialLayout = stack(
|
|
21076
|
-
{
|
|
21077
|
-
gap: "md",
|
|
21078
|
-
align: "center",
|
|
21079
|
-
className: bindProp("$root.theme.header.maxWidth", {
|
|
21080
|
-
transforms: pipe(
|
|
21081
|
-
tx("layout.maxWidthClass", {
|
|
21082
|
-
base: `rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
21083
|
-
})
|
|
21084
|
-
),
|
|
21085
|
-
fallback: `rb-container rb-header-layout ${desktopOnlyDisplay("flex")} rb-w-full rb-flex-col rb-items-center rb-gap-6 rb-text-center`
|
|
21086
|
-
})
|
|
21087
|
-
},
|
|
21088
|
-
[
|
|
21089
|
-
centeredLogoRow,
|
|
21090
|
-
createNavRow(
|
|
21091
|
-
`${desktopOnlyDisplay("flex")} rb-flex-wrap rb-justify-center rb-gap-x-8 rb-gap-y-3`,
|
|
21092
|
-
"center"
|
|
21093
|
-
)
|
|
21094
|
-
],
|
|
21095
|
-
when("$root.theme.header.variant", { equals: "editorial" })
|
|
21096
|
-
);
|
|
21097
22739
|
var headerLayout = headerSection(
|
|
21098
22740
|
{
|
|
21099
|
-
background: "
|
|
22741
|
+
background: bindProp("$root.theme.header", {
|
|
22742
|
+
transforms: pipe(tx("layout.headerSectionBackground")),
|
|
22743
|
+
fallback: "background"
|
|
22744
|
+
}),
|
|
21100
22745
|
allowOverflow: true,
|
|
21101
22746
|
className: bindProp("$root.theme.header", {
|
|
21102
22747
|
transforms: pipe(tx("layout.headerRootClass")),
|
|
@@ -21104,10 +22749,7 @@ var headerLayout = headerSection(
|
|
|
21104
22749
|
}),
|
|
21105
22750
|
style: bindProp("$root.theme.header", {
|
|
21106
22751
|
transforms: pipe(tx("layout.headerRootStyle")),
|
|
21107
|
-
fallback: mergeStyles(
|
|
21108
|
-
textColorStyle("text"),
|
|
21109
|
-
borderColorStyle("border")
|
|
21110
|
-
)
|
|
22752
|
+
fallback: mergeStyles(textColorStyle("text"), borderColorStyle("border"))
|
|
21111
22753
|
})
|
|
21112
22754
|
},
|
|
21113
22755
|
[
|
|
@@ -21116,7 +22758,6 @@ var headerLayout = headerSection(
|
|
|
21116
22758
|
centeredLayout,
|
|
21117
22759
|
transparentLayout,
|
|
21118
22760
|
floatingLayout,
|
|
21119
|
-
editorialLayout,
|
|
21120
22761
|
mobileOverlay
|
|
21121
22762
|
],
|
|
21122
22763
|
props({
|
|
@@ -21931,79 +23572,298 @@ var collectionLayout = styledSection({
|
|
|
21931
23572
|
{ gap: "md" }
|
|
21932
23573
|
),
|
|
21933
23574
|
baseClass: "",
|
|
21934
|
-
spacing: "comfortable"
|
|
23575
|
+
spacing: "comfortable"
|
|
23576
|
+
});
|
|
23577
|
+
var collectionManifest = createBlockManifest({
|
|
23578
|
+
id: "block.collection",
|
|
23579
|
+
title: "Collection",
|
|
23580
|
+
category: "layout",
|
|
23581
|
+
additionalFields: [
|
|
23582
|
+
parseFieldDefinition({
|
|
23583
|
+
id: "layout",
|
|
23584
|
+
type: "select",
|
|
23585
|
+
label: "Layout",
|
|
23586
|
+
defaultValue: "grid",
|
|
23587
|
+
options: [
|
|
23588
|
+
{ value: "grid", label: "Grid" },
|
|
23589
|
+
{ value: "stack", label: "Stack" }
|
|
23590
|
+
],
|
|
23591
|
+
ui: { intent: "display" }
|
|
23592
|
+
}),
|
|
23593
|
+
parseFieldDefinition({
|
|
23594
|
+
id: "columns",
|
|
23595
|
+
type: "select",
|
|
23596
|
+
label: "Columns",
|
|
23597
|
+
description: "Number of columns in the grid layout.",
|
|
23598
|
+
defaultValue: "3",
|
|
23599
|
+
options: [
|
|
23600
|
+
{ value: "2", label: "2 columns" },
|
|
23601
|
+
{ value: "3", label: "3 columns" },
|
|
23602
|
+
{ value: "4", label: "4 columns" }
|
|
23603
|
+
],
|
|
23604
|
+
ui: {
|
|
23605
|
+
intent: "display",
|
|
23606
|
+
visibleWhen: { field: "layout", equals: "grid" }
|
|
23607
|
+
}
|
|
23608
|
+
}),
|
|
23609
|
+
parseFieldDefinition({
|
|
23610
|
+
id: "gap",
|
|
23611
|
+
type: "select",
|
|
23612
|
+
label: "Gap",
|
|
23613
|
+
defaultValue: "medium",
|
|
23614
|
+
options: [
|
|
23615
|
+
{ value: "none", label: "None" },
|
|
23616
|
+
{ value: "compact", label: "Compact" },
|
|
23617
|
+
{ value: "cozy", label: "Cozy" },
|
|
23618
|
+
{ value: "medium", label: "Medium" },
|
|
23619
|
+
{ value: "comfortable", label: "Comfortable" },
|
|
23620
|
+
{ value: "spacious", label: "Spacious" }
|
|
23621
|
+
],
|
|
23622
|
+
ui: { intent: "display" }
|
|
23623
|
+
}),
|
|
23624
|
+
fragmentsToRepeaterField(
|
|
23625
|
+
"items",
|
|
23626
|
+
"Items",
|
|
23627
|
+
collectionFragments,
|
|
23628
|
+
{
|
|
23629
|
+
minItems: 0,
|
|
23630
|
+
maxItems: 50,
|
|
23631
|
+
itemLabel: "Item",
|
|
23632
|
+
description: "Add items to this collection."
|
|
23633
|
+
}
|
|
23634
|
+
),
|
|
23635
|
+
cardStylesField({
|
|
23636
|
+
id: "_cardStyles",
|
|
23637
|
+
label: "Item styles"
|
|
23638
|
+
})
|
|
23639
|
+
],
|
|
23640
|
+
layout: collectionLayout,
|
|
23641
|
+
description: "Repeat items in a grid or stack layout.",
|
|
23642
|
+
tags: ["collection", "grid", "stack", "repeater"],
|
|
23643
|
+
icon: "LayoutList",
|
|
23644
|
+
styleTokens: { spacing: "lg" }
|
|
23645
|
+
});
|
|
23646
|
+
var collectionBlockDefinition = {
|
|
23647
|
+
manifest: collectionManifest
|
|
23648
|
+
};
|
|
23649
|
+
|
|
23650
|
+
// ../blocks/src/system/blocks/feature-cards.ts
|
|
23651
|
+
function grid3(props2, children) {
|
|
23652
|
+
return el("grid", props2 ?? void 0, children ?? void 0);
|
|
23653
|
+
}
|
|
23654
|
+
var sectionHeading = stack(
|
|
23655
|
+
{ gap: "sm", className: "rb-feature-cards-heading rb-mx-auto rb-max-w-3xl rb-text-center" },
|
|
23656
|
+
[
|
|
23657
|
+
text(
|
|
23658
|
+
{
|
|
23659
|
+
as: "h2",
|
|
23660
|
+
className: "rb-feature-cards-title rb-text-center"
|
|
23661
|
+
},
|
|
23662
|
+
when("content.title"),
|
|
23663
|
+
bind("content.title")
|
|
23664
|
+
),
|
|
23665
|
+
richText(
|
|
23666
|
+
{
|
|
23667
|
+
className: "rb-feature-cards-description rb-prose rb-mx-auto rb-max-w-none",
|
|
23668
|
+
style: textColorStyle("mutedText")
|
|
23669
|
+
},
|
|
23670
|
+
when("content.description"),
|
|
23671
|
+
bind("content.description")
|
|
23672
|
+
)
|
|
23673
|
+
]
|
|
23674
|
+
);
|
|
23675
|
+
var featureCard = styledCard(
|
|
23676
|
+
[
|
|
23677
|
+
media(
|
|
23678
|
+
{
|
|
23679
|
+
className: "rb-feature-card-media rb-w-full rb-h-auto rb-object-cover",
|
|
23680
|
+
style: {
|
|
23681
|
+
aspectRatio: { $bind: { from: "card.aspectRatio" } }
|
|
23682
|
+
}
|
|
23683
|
+
},
|
|
23684
|
+
when("card.media"),
|
|
23685
|
+
bind("card.media")
|
|
23686
|
+
),
|
|
23687
|
+
stack({ gap: "sm", className: "rb-feature-card-content rb-flex-1 rb-p-6" }, [
|
|
23688
|
+
text(
|
|
23689
|
+
{
|
|
23690
|
+
as: "h3",
|
|
23691
|
+
className: "rb-feature-card-title"
|
|
23692
|
+
},
|
|
23693
|
+
bind("card.title")
|
|
23694
|
+
),
|
|
23695
|
+
richText(
|
|
23696
|
+
{
|
|
23697
|
+
className: "rb-feature-card-body rb-prose rb-max-w-none",
|
|
23698
|
+
style: textColorStyle("mutedText")
|
|
23699
|
+
},
|
|
23700
|
+
when("card.body"),
|
|
23701
|
+
bind("card.body")
|
|
23702
|
+
),
|
|
23703
|
+
ctaRow({
|
|
23704
|
+
collectionPath: "ctas",
|
|
23705
|
+
itemName: "cta",
|
|
23706
|
+
gap: "sm",
|
|
23707
|
+
justify: "start",
|
|
23708
|
+
containerClassName: "rb-mt-auto"
|
|
23709
|
+
})
|
|
23710
|
+
])
|
|
23711
|
+
],
|
|
23712
|
+
{
|
|
23713
|
+
stylesFrom: "content._cardStyles",
|
|
23714
|
+
backgroundFrom: "content._cardStyles.background",
|
|
23715
|
+
baseClassName: "rb-feature-card rb-relative rb-isolate rb-overflow-hidden rb-border rb-flex rb-h-full rb-flex-col"
|
|
23716
|
+
},
|
|
23717
|
+
repeat("content.cards", "card")
|
|
23718
|
+
);
|
|
23719
|
+
var cardsLayout = styledSection({
|
|
23720
|
+
children: styledContainer({
|
|
23721
|
+
rootType: "stack",
|
|
23722
|
+
rootProps: { gap: "xl" },
|
|
23723
|
+
children: [
|
|
23724
|
+
sectionHeading,
|
|
23725
|
+
grid3(
|
|
23726
|
+
{
|
|
23727
|
+
cols: {
|
|
23728
|
+
$bind: {
|
|
23729
|
+
from: "content.columns",
|
|
23730
|
+
fallback: 3,
|
|
23731
|
+
coerce: "number"
|
|
23732
|
+
}
|
|
23733
|
+
},
|
|
23734
|
+
gap: "lg"
|
|
23735
|
+
},
|
|
23736
|
+
[featureCard]
|
|
23737
|
+
)
|
|
23738
|
+
]
|
|
23739
|
+
}),
|
|
23740
|
+
baseClass: "",
|
|
23741
|
+
spacing: "medium"
|
|
21935
23742
|
});
|
|
21936
|
-
var
|
|
21937
|
-
id: "block.
|
|
21938
|
-
title: "
|
|
23743
|
+
var featureCardsConfig = {
|
|
23744
|
+
id: "block.feature-cards",
|
|
23745
|
+
title: "Feature Cards",
|
|
21939
23746
|
category: "layout",
|
|
23747
|
+
includeContainerStyles: true,
|
|
23748
|
+
titleSource: "title",
|
|
21940
23749
|
additionalFields: [
|
|
21941
|
-
|
|
21942
|
-
id: "
|
|
21943
|
-
type: "
|
|
21944
|
-
label: "
|
|
21945
|
-
|
|
21946
|
-
|
|
21947
|
-
|
|
21948
|
-
|
|
21949
|
-
|
|
21950
|
-
|
|
21951
|
-
|
|
21952
|
-
|
|
23750
|
+
{
|
|
23751
|
+
id: "title",
|
|
23752
|
+
type: "text",
|
|
23753
|
+
label: "Title",
|
|
23754
|
+
required: false,
|
|
23755
|
+
multiline: false,
|
|
23756
|
+
maxLength: 120
|
|
23757
|
+
},
|
|
23758
|
+
{
|
|
23759
|
+
id: "description",
|
|
23760
|
+
type: "richText",
|
|
23761
|
+
label: "Description",
|
|
23762
|
+
required: false,
|
|
23763
|
+
ui: {
|
|
23764
|
+
richTextVariant: "limited"
|
|
23765
|
+
}
|
|
23766
|
+
},
|
|
23767
|
+
{
|
|
21953
23768
|
id: "columns",
|
|
21954
23769
|
type: "select",
|
|
21955
23770
|
label: "Columns",
|
|
21956
|
-
|
|
23771
|
+
required: false,
|
|
21957
23772
|
defaultValue: "3",
|
|
23773
|
+
multiple: false,
|
|
21958
23774
|
options: [
|
|
21959
23775
|
{ value: "2", label: "2 columns" },
|
|
21960
23776
|
{ value: "3", label: "3 columns" },
|
|
21961
23777
|
{ value: "4", label: "4 columns" }
|
|
21962
23778
|
],
|
|
21963
|
-
ui: {
|
|
21964
|
-
intent: "display",
|
|
21965
|
-
visibleWhen: { field: "layout", equals: "grid" }
|
|
21966
|
-
}
|
|
21967
|
-
}),
|
|
21968
|
-
parseFieldDefinition({
|
|
21969
|
-
id: "gap",
|
|
21970
|
-
type: "select",
|
|
21971
|
-
label: "Gap",
|
|
21972
|
-
defaultValue: "medium",
|
|
21973
|
-
options: [
|
|
21974
|
-
{ value: "none", label: "None" },
|
|
21975
|
-
{ value: "compact", label: "Compact" },
|
|
21976
|
-
{ value: "cozy", label: "Cozy" },
|
|
21977
|
-
{ value: "medium", label: "Medium" },
|
|
21978
|
-
{ value: "comfortable", label: "Comfortable" },
|
|
21979
|
-
{ value: "spacious", label: "Spacious" }
|
|
21980
|
-
],
|
|
21981
23779
|
ui: { intent: "display" }
|
|
21982
|
-
}
|
|
21983
|
-
|
|
21984
|
-
"
|
|
21985
|
-
"
|
|
21986
|
-
|
|
21987
|
-
|
|
21988
|
-
|
|
21989
|
-
|
|
21990
|
-
|
|
21991
|
-
|
|
23780
|
+
},
|
|
23781
|
+
{
|
|
23782
|
+
id: "cards",
|
|
23783
|
+
type: "repeater",
|
|
23784
|
+
label: "Cards",
|
|
23785
|
+
required: false,
|
|
23786
|
+
minItems: 1,
|
|
23787
|
+
maxItems: 8,
|
|
23788
|
+
itemLabel: "Card",
|
|
23789
|
+
itemLabelSource: "title",
|
|
23790
|
+
allowConversion: true,
|
|
23791
|
+
ui: {
|
|
23792
|
+
intent: "content"
|
|
23793
|
+
},
|
|
23794
|
+
schema: {
|
|
23795
|
+
fields: [
|
|
23796
|
+
{
|
|
23797
|
+
id: "media",
|
|
23798
|
+
type: "media",
|
|
23799
|
+
label: "Image",
|
|
23800
|
+
required: false,
|
|
23801
|
+
mediaKinds: ["image"]
|
|
23802
|
+
},
|
|
23803
|
+
createAspectRatioField({
|
|
23804
|
+
id: "aspectRatio",
|
|
23805
|
+
label: "Image aspect ratio",
|
|
23806
|
+
defaultValue: "4/3",
|
|
23807
|
+
visibleWhen: { field: "media", notEquals: null }
|
|
23808
|
+
}),
|
|
23809
|
+
{
|
|
23810
|
+
id: "title",
|
|
23811
|
+
type: "text",
|
|
23812
|
+
label: "Title",
|
|
23813
|
+
required: true,
|
|
23814
|
+
multiline: false,
|
|
23815
|
+
maxLength: 120
|
|
23816
|
+
},
|
|
23817
|
+
{
|
|
23818
|
+
id: "body",
|
|
23819
|
+
type: "richText",
|
|
23820
|
+
label: "Text",
|
|
23821
|
+
required: false,
|
|
23822
|
+
ui: {
|
|
23823
|
+
richTextVariant: "limited"
|
|
23824
|
+
}
|
|
23825
|
+
},
|
|
23826
|
+
createCtasRepeater({
|
|
23827
|
+
label: "Calls to action",
|
|
23828
|
+
itemLabel: "CTA",
|
|
23829
|
+
maxItems: 1,
|
|
23830
|
+
button: {
|
|
23831
|
+
variants: [
|
|
23832
|
+
{ value: "primary", label: "Primary" },
|
|
23833
|
+
{ value: "secondary", label: "Secondary" },
|
|
23834
|
+
{ value: "outline", label: "Outline" },
|
|
23835
|
+
{ value: "ghost", label: "Ghost" },
|
|
23836
|
+
{ value: "link", label: "Link" }
|
|
23837
|
+
],
|
|
23838
|
+
defaultVariant: "ghost"
|
|
23839
|
+
}
|
|
23840
|
+
})
|
|
23841
|
+
]
|
|
21992
23842
|
}
|
|
21993
|
-
|
|
23843
|
+
},
|
|
21994
23844
|
cardStylesField({
|
|
21995
23845
|
id: "_cardStyles",
|
|
21996
|
-
label: "
|
|
23846
|
+
label: "Card styles"
|
|
21997
23847
|
})
|
|
21998
23848
|
],
|
|
21999
|
-
layout:
|
|
22000
|
-
|
|
22001
|
-
|
|
22002
|
-
|
|
22003
|
-
|
|
22004
|
-
|
|
22005
|
-
|
|
22006
|
-
|
|
23849
|
+
layout: cardsLayout,
|
|
23850
|
+
variants: {
|
|
23851
|
+
cards: cardsLayout
|
|
23852
|
+
},
|
|
23853
|
+
defaultVariant: "cards",
|
|
23854
|
+
variantOptions: {
|
|
23855
|
+
cards: {
|
|
23856
|
+
label: "Cards",
|
|
23857
|
+
description: "A responsive grid of image cards with optional calls to action."
|
|
23858
|
+
}
|
|
23859
|
+
},
|
|
23860
|
+
description: "A card grid for offerings, services, classes, benefits, or featured links.",
|
|
23861
|
+
tags: ["cards", "features", "offerings", "services", "classes", "grid", "links"],
|
|
23862
|
+
icon: "PanelsTopLeft"
|
|
23863
|
+
};
|
|
23864
|
+
var featureCardsManifest = createBlockManifest(featureCardsConfig);
|
|
23865
|
+
var featureCardsBlockDefinition = {
|
|
23866
|
+
manifest: featureCardsManifest
|
|
22007
23867
|
};
|
|
22008
23868
|
|
|
22009
23869
|
// ../blocks/src/system/fields/carousel.ts
|
|
@@ -22091,69 +23951,6 @@ function createCarouselBehaviorFields(options = {}) {
|
|
|
22091
23951
|
return fields3;
|
|
22092
23952
|
}
|
|
22093
23953
|
|
|
22094
|
-
// ../blocks/src/system/fields/imageLayout.ts
|
|
22095
|
-
function createImageColSizeField(options = {}) {
|
|
22096
|
-
const {
|
|
22097
|
-
id = "imageColSize",
|
|
22098
|
-
label = "Image column size",
|
|
22099
|
-
description = "Controls how large the image/thumbnail column is at desktop breakpoints.",
|
|
22100
|
-
defaultValue = "1/3",
|
|
22101
|
-
uiIntent = "display",
|
|
22102
|
-
visibleWhen
|
|
22103
|
-
} = options;
|
|
22104
|
-
return {
|
|
22105
|
-
id,
|
|
22106
|
-
type: "select",
|
|
22107
|
-
label,
|
|
22108
|
-
description,
|
|
22109
|
-
required: false,
|
|
22110
|
-
defaultValue,
|
|
22111
|
-
multiple: false,
|
|
22112
|
-
options: [
|
|
22113
|
-
{ value: "1/4", label: "Small (1/4)" },
|
|
22114
|
-
{ value: "1/3", label: "Medium (1/3)" },
|
|
22115
|
-
{ value: "2/5", label: "Large (2/5)" },
|
|
22116
|
-
{ value: "1/2", label: "Extra large (1/2)" },
|
|
22117
|
-
{ value: "2/3", label: "Huge (2/3)" }
|
|
22118
|
-
],
|
|
22119
|
-
ui: {
|
|
22120
|
-
intent: uiIntent,
|
|
22121
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
22122
|
-
}
|
|
22123
|
-
};
|
|
22124
|
-
}
|
|
22125
|
-
function createImagePositionField(options = {}) {
|
|
22126
|
-
const {
|
|
22127
|
-
id = "imagePosition",
|
|
22128
|
-
label = "Image position",
|
|
22129
|
-
description = "Choose which side the image appears on.",
|
|
22130
|
-
defaultValue = "left",
|
|
22131
|
-
includeAlternate = false,
|
|
22132
|
-
uiIntent = "display",
|
|
22133
|
-
visibleWhen
|
|
22134
|
-
} = options;
|
|
22135
|
-
const positionOptions = [
|
|
22136
|
-
{ value: "left", label: "Left" },
|
|
22137
|
-
{ value: "right", label: "Right" },
|
|
22138
|
-
...includeAlternate ? [{ value: "alternate", label: "Alternate" }] : []
|
|
22139
|
-
];
|
|
22140
|
-
return {
|
|
22141
|
-
id,
|
|
22142
|
-
type: "select",
|
|
22143
|
-
label,
|
|
22144
|
-
description,
|
|
22145
|
-
required: false,
|
|
22146
|
-
defaultValue,
|
|
22147
|
-
multiple: false,
|
|
22148
|
-
// Spread to get a mutable array type without unsafe casts.
|
|
22149
|
-
options: [...positionOptions],
|
|
22150
|
-
ui: {
|
|
22151
|
-
intent: uiIntent,
|
|
22152
|
-
...visibleWhen ? { visibleWhen } : {}
|
|
22153
|
-
}
|
|
22154
|
-
};
|
|
22155
|
-
}
|
|
22156
|
-
|
|
22157
23954
|
// ../blocks/src/system/blocks/media-text.ts
|
|
22158
23955
|
var mediaTextFrameCapability = defineFrameCapability([
|
|
22159
23956
|
"plain",
|
|
@@ -22277,26 +24074,13 @@ var mediaTextManifest = createBlockManifest({
|
|
|
22277
24074
|
},
|
|
22278
24075
|
ui: { intent: "behavior" }
|
|
22279
24076
|
}),
|
|
22280
|
-
{
|
|
24077
|
+
createAspectRatioField({
|
|
22281
24078
|
id: "aspectRatio",
|
|
22282
|
-
type: "select",
|
|
22283
24079
|
label: "Media aspect ratio",
|
|
22284
24080
|
description: "Crop media to a consistent aspect ratio.",
|
|
22285
|
-
required: false,
|
|
22286
24081
|
defaultValue: "auto",
|
|
22287
|
-
|
|
22288
|
-
|
|
22289
|
-
{ value: "auto", label: "Auto (original)" },
|
|
22290
|
-
{ value: "16/9", label: "16:9 (Landscape)" },
|
|
22291
|
-
{ value: "4/3", label: "4:3 (Standard)" },
|
|
22292
|
-
{ value: "1/1", label: "1:1 (Square)" },
|
|
22293
|
-
{ value: "3/4", label: "3:4 (Portrait)" }
|
|
22294
|
-
],
|
|
22295
|
-
ui: {
|
|
22296
|
-
intent: "display",
|
|
22297
|
-
visibleWhen: { field: "images", notEquals: null }
|
|
22298
|
-
}
|
|
22299
|
-
},
|
|
24082
|
+
visibleWhen: { field: "images", notEquals: null }
|
|
24083
|
+
}),
|
|
22300
24084
|
{
|
|
22301
24085
|
id: "text",
|
|
22302
24086
|
type: "richText",
|
|
@@ -22426,7 +24210,7 @@ var mediaTextManifest = createBlockManifest({
|
|
|
22426
24210
|
whenImagesLength(0)
|
|
22427
24211
|
);
|
|
22428
24212
|
const defaultInner = el("div", {}, [defaultImagesLayout, defaultTextOnlyLayout]);
|
|
22429
|
-
const
|
|
24213
|
+
const defaultLayout2 = styledSection({
|
|
22430
24214
|
children: styledContainer({
|
|
22431
24215
|
rootType: "stack",
|
|
22432
24216
|
rootProps: { gap: "lg" },
|
|
@@ -22458,9 +24242,9 @@ var mediaTextManifest = createBlockManifest({
|
|
|
22458
24242
|
spacing: "medium"
|
|
22459
24243
|
});
|
|
22460
24244
|
return {
|
|
22461
|
-
layout:
|
|
24245
|
+
layout: defaultLayout2,
|
|
22462
24246
|
variants: {
|
|
22463
|
-
default:
|
|
24247
|
+
default: defaultLayout2
|
|
22464
24248
|
},
|
|
22465
24249
|
defaultVariant: "default",
|
|
22466
24250
|
variantOptions: {
|
|
@@ -25860,7 +27644,7 @@ var embedBlockDefinition = {
|
|
|
25860
27644
|
};
|
|
25861
27645
|
|
|
25862
27646
|
// ../blocks/src/system/blocks/image-gallery.ts
|
|
25863
|
-
var
|
|
27647
|
+
var grid4 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
25864
27648
|
var galleryContainer = (children, opts) => {
|
|
25865
27649
|
const gap = opts?.gap ?? "md";
|
|
25866
27650
|
const withExtraClass = (baseClass) => opts?.className ? `${baseClass} ${opts.className}` : baseClass;
|
|
@@ -25940,7 +27724,7 @@ var galleryItem = (options) => stack(
|
|
|
25940
27724
|
],
|
|
25941
27725
|
repeat("content.images", "item")
|
|
25942
27726
|
);
|
|
25943
|
-
var gridLayout3 =
|
|
27727
|
+
var gridLayout3 = grid4(
|
|
25944
27728
|
{
|
|
25945
27729
|
className: "rb-grid rb-grid-cols-1 rb-gap-4 rb-sm-grid-cols-2 rb-md-grid-cols-3"
|
|
25946
27730
|
},
|
|
@@ -26543,7 +28327,7 @@ var imageGalleryBlockDefinition = {
|
|
|
26543
28327
|
};
|
|
26544
28328
|
|
|
26545
28329
|
// ../blocks/src/system/blocks/video-grid.ts
|
|
26546
|
-
var
|
|
28330
|
+
var grid5 = (props2, children, ...mods) => el("grid", props2 ?? void 0, children ?? void 0, ...mods);
|
|
26547
28331
|
var videoItem = (options) => stack(
|
|
26548
28332
|
{ gap: "xs", className: options.containerClassName },
|
|
26549
28333
|
[
|
|
@@ -26593,7 +28377,7 @@ var gridColumnsClass = (columns) => {
|
|
|
26593
28377
|
return "rb-grid rb-grid-cols-1 rb-gap-6 rb-sm-grid-cols-2 rb-md-grid-cols-3";
|
|
26594
28378
|
}
|
|
26595
28379
|
};
|
|
26596
|
-
var createGridLayout = (columns) =>
|
|
28380
|
+
var createGridLayout = (columns) => grid5(
|
|
26597
28381
|
{
|
|
26598
28382
|
className: gridColumnsClass(columns)
|
|
26599
28383
|
},
|
|
@@ -29757,6 +31541,40 @@ var systemBlockDefinitionsRaw = [
|
|
|
29757
31541
|
})
|
|
29758
31542
|
]
|
|
29759
31543
|
})),
|
|
31544
|
+
withDesignCapability("block.intro", introBlockDefinition, declareBlockDesignCapability({
|
|
31545
|
+
sectionSurfaces: "supported",
|
|
31546
|
+
contentFrames: ["plain", "panel"],
|
|
31547
|
+
itemSurfaces: "unsupported",
|
|
31548
|
+
headingDecorations: ["organic-squiggle"]
|
|
31549
|
+
}), defineBlockDesignMetadata({
|
|
31550
|
+
flow: bodyFlow,
|
|
31551
|
+
layoutProfiles: [
|
|
31552
|
+
layoutProfile({
|
|
31553
|
+
variantKey: "centered-copy",
|
|
31554
|
+
family: "centered",
|
|
31555
|
+
weight: "featured",
|
|
31556
|
+
bias: "soft"
|
|
31557
|
+
}),
|
|
31558
|
+
layoutProfile({
|
|
31559
|
+
variantKey: "statement-copy",
|
|
31560
|
+
family: "split",
|
|
31561
|
+
weight: "featured",
|
|
31562
|
+
bias: "merge"
|
|
31563
|
+
}),
|
|
31564
|
+
layoutProfile({
|
|
31565
|
+
variantKey: "statement-media",
|
|
31566
|
+
family: "media-text",
|
|
31567
|
+
weight: "featured",
|
|
31568
|
+
bias: "soft"
|
|
31569
|
+
}),
|
|
31570
|
+
layoutProfile({
|
|
31571
|
+
variantKey: "media-copy",
|
|
31572
|
+
family: "media-text",
|
|
31573
|
+
weight: "featured",
|
|
31574
|
+
bias: "soft"
|
|
31575
|
+
})
|
|
31576
|
+
]
|
|
31577
|
+
})),
|
|
29760
31578
|
withDesignCapability("block.body-text", bodyTextBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
|
|
29761
31579
|
flow: bodyFlow,
|
|
29762
31580
|
layoutProfiles: [
|
|
@@ -29817,9 +31635,17 @@ var systemBlockDefinitionsRaw = [
|
|
|
29817
31635
|
flow: conversionFlow,
|
|
29818
31636
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "form", weight: "standard" })]
|
|
29819
31637
|
})),
|
|
29820
|
-
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(
|
|
31638
|
+
withDesignCapability("block.faq", faqBlockDefinition, withEyebrowCapability(declareBlockDesignCapability({
|
|
31639
|
+
sectionSurfaces: "supported",
|
|
31640
|
+
contentFrames: ["plain", "panel"],
|
|
31641
|
+
itemSurfaces: "supported",
|
|
31642
|
+
accordionIconSets: ["plus", "chevron", "caret", "minimal-cross"]
|
|
31643
|
+
}), standardEyebrowTreatments), defineBlockDesignMetadata({
|
|
29821
31644
|
flow: bodyFlow,
|
|
29822
|
-
layoutProfiles: [
|
|
31645
|
+
layoutProfiles: [
|
|
31646
|
+
layoutProfile({ variantKey: "default", family: "stack", weight: "standard" }),
|
|
31647
|
+
layoutProfile({ variantKey: "two-column", family: "split", weight: "standard" })
|
|
31648
|
+
]
|
|
29823
31649
|
})),
|
|
29824
31650
|
withDesignCapability("block.site-header", siteHeaderBlockDefinition, declareNoBlockDesignCapability("site-chrome"), defineBlockDesignMetadata({
|
|
29825
31651
|
flow: siteChromeFlow,
|
|
@@ -29833,7 +31659,8 @@ var systemBlockDefinitionsRaw = [
|
|
|
29833
31659
|
sectionSurfaces: "supported",
|
|
29834
31660
|
contentFrames: ["plain", "panel"],
|
|
29835
31661
|
itemSurfaces: "supported",
|
|
29836
|
-
testimonialCardTreatments: ["default", "accent-quote"]
|
|
31662
|
+
testimonialCardTreatments: ["default", "accent-quote"],
|
|
31663
|
+
headingDecorations: ["short-center-rule"]
|
|
29837
31664
|
}), defineBlockDesignMetadata({
|
|
29838
31665
|
flow: proofFlow,
|
|
29839
31666
|
layoutProfiles: [
|
|
@@ -29859,6 +31686,22 @@ var systemBlockDefinitionsRaw = [
|
|
|
29859
31686
|
flow: offeringsFlow,
|
|
29860
31687
|
layoutProfiles: [layoutProfile({ variantKey: "default", family: "grid", weight: "standard" })]
|
|
29861
31688
|
})),
|
|
31689
|
+
withDesignCapability("block.feature-cards", featureCardsBlockDefinition, declareBlockDesignCapability({
|
|
31690
|
+
sectionSurfaces: "supported",
|
|
31691
|
+
contentFrames: ["plain", "panel"],
|
|
31692
|
+
itemSurfaces: "supported",
|
|
31693
|
+
headingDecorations: ["short-center-rule"]
|
|
31694
|
+
}), defineBlockDesignMetadata({
|
|
31695
|
+
flow: offeringsFlow,
|
|
31696
|
+
layoutProfiles: [
|
|
31697
|
+
layoutProfile({
|
|
31698
|
+
variantKey: "cards",
|
|
31699
|
+
family: "grid",
|
|
31700
|
+
weight: "standard",
|
|
31701
|
+
bias: "soft"
|
|
31702
|
+
})
|
|
31703
|
+
]
|
|
31704
|
+
})),
|
|
29862
31705
|
withDesignCapability("block.media-text", mediaTextBlockDefinition, mediaPanelCapable(), defineBlockDesignMetadata({
|
|
29863
31706
|
flow: mediaFlow,
|
|
29864
31707
|
layoutProfiles: [
|